(57)【特許請求の範囲】
【請求項１】
複数の情報処理機器がネットワークを介して接続された情報処理システムにおいて、
一連の処理の処理毎に自機又は他機が処理の担当機器として登録された処理実行情報を、処理実行情報記憶手段又は可搬型の記憶メディアから読み出す処理実行情報読み出し手段と、
第１の情報処理機器の機器機能構成情報が記憶された機器機能構成情報記憶手段と、
処理実行情報に含まれる前記処理に必要な機能が、前記機器機能構成情報に登録されているか否かに応じて前記処理毎に実行の可否を判定する機能構成判定手段と、
第２の情報処理機器をネットワーク内から検索する検索手段と、
前記機能構成判定手段が実行できないと判定した前記処理に必要な機能を有しているか否かを前記第２の情報処理機器に問い合わせる問い合わせ手段と、
前記第１の情報処理機器が実行できる前記処理の担当機器を前記第１の情報処理機器に、前記第１の情報処理機器が実行できない前記処理の担当機器を、該処理に必要な機能を有する前記第２の情報処理機器に変更する処理実行情報変更手段と、
を有することを特徴とする情報処理システム。
【請求項２】
前記処理実行情報読み出し手段が、第３の情報処理機器の前記処理実行情報記憶手段に記憶されている処理実行情報又は第３の情報処理機器から前記記憶メディアに記憶された処理実行情報を読み出した場合であって、
前記第１の情報処理機器が実行できない前記処理であって、前記処理実行情報変更手段が変更する前の担当機器が、前記第３の情報処理機器でない処理の場合、
前記第１の情報処理機器が実行できない前記処理の担当機器を変更しないと判断する判断手段を有する、ことを特徴とする請求項1記載の情報処理システム。
【請求項３】
前記処理実行情報読み出し手段が、第３の情報処理機器の前記処理実行情報記憶手段に記憶されている処理実行情報又は第３の情報処理機器から前記記憶メディアに記憶された処理実行情報を読み出した場合であって、
前記第１の情報処理機器が実行できない前記処理であって、前記処理実行情報変更手段が変更する前の担当機器が、前記第３の情報処理機器であった処理の場合、
前記第１の情報処理機器が実行できない前記処理の担当機器を前記第３の情報処理機器に変更すると判断する判断手段を有する、ことを特徴とする請求項1記載の情報処理システム。
【請求項４】
前記問い合わせ手段が、問い合わせに対し複数の前記第２の情報処理機器から、前記処理に必要な機能を有しているという問い合わせ結果情報を取得した場合、
処理実行情報の担当機器に登録される前記第１の情報処理機器以外の機器の種類の数が最も小さくなるように、前記第１の情報処理機器が実行できない前記処理の担当機器を決定する単体実行可否判断手段、
を有することを特徴とする請求項１〜３いずれか1項記載の情報処理システム。
【請求項５】
前記問い合わせ手段が、問い合わせに対し複数の前記第２の情報処理機器から、前記処理に必要な機能を有しているという問い合わせ結果情報を取得した場合、
前記処理実行情報変更手段は、前記第１の情報処理機器が実行できない前記処理の担当機器に複数の前記第２の情報処理機器を登録し、
処理実行情報の１つの前記処理に複数の担当機器が登録されている場合、処理毎に複数の担当機器から取得した負荷情報に基づき該処理の実行を要求する前記第２の情報処理機器を決定する連携機器決定手段、を有する、
ことを特徴とする請求項１〜３いずれか1項記載の情報処理システム。
【請求項６】
前記問い合わせ手段が、問い合わせに対し複数の前記第２の情報処理機器から、前記処理に必要な機能を有しているという問い合わせ結果情報を取得した場合、
前記処理毎に複数の前記第２の情報処理機器を表示手段に表示し、前記処理毎に１つの前記第２の情報処理機器の選択を受け付ける連携機器選択受付手段、を有する、
ことを特徴とする請求項１〜３いずれか1項記載の情報処理システム。
【請求項７】
前記問い合わせ手段が、問い合わせに対し前記第２の情報処理機器から前記処理に必要な機能を有しているという問い合わせ結果情報を取得した場合でも、前記一連の処理のうちの所定の処理に必要なハードウェアが搭載されているか否かを判定する操作実行可否判定手段と、
前記機能構成判定手段、前記検索手段、前記問い合わせ手段、前記判断手段及び前記操作実行可否判定手段を備えた１つ以上の前記第２の情報処理機器に、処理実行情報の前記一連の処理を、前記第２の情報処理機器が単独で又は他の機器の機能を利用して実行可能か否かを問い合わせる操作実行機器決定手段と、を有し、
前記操作実行機器決定手段は、問い合わせに対し処理実行情報の前記一連の処理を実行可能であると通知した前記第２の情報処理機器に処理実行情報の登録を要求する、
ことを特徴とする請求項２又は３に記載の情報処理システム。
【請求項８】
前記操作実行機器決定手段は、問い合わせに対し処理実行情報の前記一連の処理を実行可能であると通知した複数の前記第２の情報処理機器を表示手段に表示し、１つの前記第２の情報処理機器の選択を受け付ける、ことを特徴とする請求項７記載の情報処理システム。
【請求項９】
前記操作実行機器決定手段は、問い合わせに対し処理実行情報の前記一連の処理を実行可能であると通知した複数の前記第２の情報処理機器から、所定の基準に従い１つの前記第２の情報処理機器を処理実行情報の登録先に決定する、
ことを特徴とする請求項７記載の情報処理システム。
【請求項１０】
複数の前記第２の情報処理機器は、他の機器からの依頼を受けて前記処理を実行した回数をカウントしており、
前記操作実行機器決定手段は、複数の前記第２の情報処理機器から取得した前記回数が最も多い前記第２の情報処理機器を処理実行情報の登録先に決定する、
ことを特徴とする請求項９記載の情報処理システム。
【請求項１１】
前記操作実行機器決定手段は、処理実行情報に含まれる、該処理実行情報が登録されていた情報処理機器の識別情報を参照して、処理実行情報が登録されていた情報処理機器以外を処理実行情報の登録先に決定する、
ことを特徴とする請求項９又は１０記載の情報処理システム。
【請求項１２】
前記記憶メディアに処理実行情報を書き出すエクスポート手段と、
前記記憶メディアから処理実行情報を読み出すインポート手段と、
を有することを特徴とする請求項１〜９いずれか1項記載の情報処理システム。
【請求項１３】
他の情報処理機器とネットワークを介して接続された情報処理機器において、
一連の処理の処理毎に自機又は他機が処理の担当機器として登録された処理実行情報を、処理実行情報記憶手段又は可搬型の記憶メディアから読み出す処理実行情報読み出し手段と、
機器機能構成情報が記憶された機器機能構成情報記憶手段と、
処理実行情報に含まれる前記処理が、前記機器機能構成情報に登録されているか否かに応じて前記処理毎に実行の可否を判定する機能構成判定手段と、
第２の情報処理機器をネットワーク内から検索する検索手段と、
前記機能構成判定手段が実行できないと判定した前記処理に必要な機能を有しているか否かを前記第２の情報処理機器に問い合わせる問い合わせ手段と、
自機としての情報処理機器が実行できる前記処理の担当機器を自機としての情報処理機器に、自機としての情報処理機器が実行できない前記処理の担当機器を、該処理に必要な機能を有する前記第２の情報処理機器に変更する処理実行情報変更手段と、
を有することを特徴とする情報処理機器。
【請求項１４】
他の情報処理機器とネットワークを介して接続された情報処理機器に、
一連の処理の処理毎に自機又は他機が処理の担当機器として登録された処理実行情報を、処理実行情報記憶手段又は可搬型の記憶メディアから読み出す処理実行情報読み出しステップと、
処理実行情報に含まれる前記処理が、機器機能構成情報記憶手段に記憶されている機器機能構成情報に登録されているか否かに応じて前記処理毎に実行の可否を判定する機能構成判定ステップと、
第２の情報処理機器をネットワーク内から検索する検索ステップと、
前記機能構成判定ステップにより実行できないと判定された前記処理に必要な機能を有しているか否かを前記第２の情報処理機器に問い合わせる問い合わせステップと、
自機としての情報処理機器が実行できる前記処理の担当機器を自機としての情報処理機器に、自機としての情報処理機器が実行できない前記処理の担当機器を、該処理に必要な機能を有する前記第２の情報処理機器に変更する処理実行情報変更ステップと、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理実行情報を利用可能な情報処理システムに関し、特に、機器同士が連携可能な情報処理システムに関する。
【背景技術】
【０００２】
ユーザがアプリケーションソフトを操作して所望の処理を行う場合、いくつかの手順を経る必要があることが多い。そこで、アプリケーションソフトにはマクロ機能が搭載されることが多く、ユーザが所定の記述形式でよく用いる手順（以下、マクロ情報という）を記述して登録しておくことで、操作量を減らしたり誤操作を少なくすることができるようになっている。
【０００３】
さらに、オフィス機器のようにハードウェアが動作して各種の機能を実現する情報処理装置においては、機能毎の動作手順及び動作に必要な（又は設定可能な）設定パラメータがマクロ情報となる。したがって、ユーザはオフィス機器を操作する際、マクロ情報を呼び出すだけで、機能に対応する数多くの設定値を毎回設定することなく、所望の処理や結果物が得られる。
【０００４】
マクロ機能を発展させ、ある機器で登録されたマクロ情報を別の機器においても利用可能とする技術が知られている。これにより、ユーザがマクロ情報を登録した機器とは別の機器を操作する際も、一からマクロ情報を登録する作業が必要なくなり、他の機器にマクロ情報を登録すれば、所望の処理や結果物が得られる。
【０００５】
しかし、各種の機能を有する機器では、機器によって搭載されている機能が異なる場合がある。このため、ある機器で登録されているマクロ情報をユーザが別の機器に登録する場合、そのマクロ情報が使用する機能が登録先の機器に含まれていない場合が生じうる。
【０００６】
このような場合、新たな登録先の機器がマクロ情報に設定された機能を自機（登録先の機器）が有するか否かをチェックして、自機が有していない場合にはマクロ情報を無効扱いするだけでは、ユーザは再度、新たな登録先の機器でマクロ情報を登録するなどの作業が必要になってしまう。そこで、新たな登録先の機器においてもマクロ情報を有効に活用する技術が考案されている（例えば、特許文献１参照。）。特許文献１には、マクロ情報に含まれる機能を登録先の機器が有さない場合、マクロ情報から該当機能に関する記述や設定を削除し、機能の設定値を変更して登録する画像処理装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された画像処理装置は、マクロ情報からその該当機能に関する情報を削除し、機能の設定値を変更するため、画像処理装置がマクロ情報に従い処理を実行できても、ユーザが期待する処理結果や結果物が得られるとは限らないという問題がある。例えば、カラーコピー機能を有する機器で設定されたマクロ情報が、カラーコピー機能を持たない機器に登録された場合、特許文献１に記載の画像処理装置はマクロ情報のカラーコピー機能に関する記述を白黒コピーに変更するため、ユーザが期待するカラーの印刷物は得られない。また、例えば、ＦＡＸ送信機能を有する機器で設定されたマクロ情報が、ＦＡＸ機能を有さない機器に登録された場合、特許文献１に記載の画像処理装置はマクロ情報をどのように変更してもＦＡＸ送信できない。このように、画像処理装置が削除又は変更したマクロ情報が使用する機能が重要な機能の場合、マクロ情報に設定されているはずの処理そのものが実行できなくなるという問題がある。
【０００８】
本発明は、上記課題に鑑み、マクロ情報に設定された機能を登録先の機器が有していない場合でも、ユーザが期待する処理結果が得られる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、複数の情報処理機器がネットワークを介して接続された情報処理システムにおいて、一連の処理の処理毎に自機又は他機が処理の担当機器として登録された処理実行情報を、処理実行情報記憶手段又は可搬型の記憶メディアから読み出す処理実行情報読み出し手段と、第１の情報処理機器の機器機能構成情報が記憶された機器機能構成情報記憶手段と、処理実行情報に含まれる前記処理に必要な機能が、前記機器機能構成情報に登録されているか否かに応じて前記処理毎に実行の可否を判定する機能構成判定手段と、第２の情報処理機器をネットワーク内から検索する検索手段と、前記機能構成判定手段が実行できないと判定した前記処理に必要な機能を有しているか否かを前記第２の情報処理機器に問い合わせる問い合わせ手段と、前記第１の情報処理機器が実行できる前記処理の担当機器を前記第１の情報処理機器に、前記第１の情報処理機器が実行できない前記処理の担当機器を、該処理に必要な機能を有する前記第２の情報処理機器に変更する処理実行情報変更手段と、を有することを特徴とする。
【発明の効果】
【００１０】
処理実行情報に設定された機能を登録先の機器が有していない場合でも、ユーザが期待する処理結果が得られる情報処理システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置（ＭＦＰ）の概略を説明する図の一例である。
【図２】ＭＦＰの概略の別の一例を説明する図の一例である。
【図３】ＭＦＰのハードウェア構成図の一例である。
【図４】ＭＦＰ２の機能ブロック図の一例、及びＭＦＰ３の機能ブロック図の一例である。
【図５】マクロ情報のデータ構造の一例を示す図である。
【図６】機器機能構成情報の一例を示す図である。
【図７】機能構成判定部による判定結果を模式的に示す図の一例である。
【図８】問い合わせ情報の一例を示す図である。
【図９】問い合わせ結果情報の一例を示す図である。
【図１０】マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。
【図１１】マクロ情報の各機能を自機で実行可能か否かの判定を説明する図の一例である。
【図１２】機能構成判定部による判定を説明する図の一例である。
【図１３】マクロ情報の取り込み方法を説明するシーケンス図の一例である。
【図１４】マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。
【図１５】連携が必要な機能が、変更前のマクロ情報でも連携により実行が可能であったか否かの判定を説明するための図である。
【図１６】マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。
【図１７】ＭＦＰ２の機能ブロック図の一例である（実施例４）。
【図１８】取り込み対象のマクロ情報（変更前のマクロ情報）の一例を示す図である。
【図１９】ＭＦＰ３とＭＦＰ４から取得した問い合わせ結果情報の一例を示す図である。
【図２０】マクロ情報の取り込み方法を説明するシーケンス図の一例である。
【図２１】ＭＦＰ２の機能ブロック図の一例である（実施例５）。
【図２２】マクロ情報の変更を説明する図の一例である。
【図２３】マクロ復元部が、マクロ情報に設定された機能の実行時に連携機器を決定する手順を示すアクティビティ図の一例である。
【図２４】ＭＦＰ２の機能ブロック図の一例である（実施例６）。
【図２５】マクロ復元部が、マクロ情報に設定された機能の実行時に連携機器を決定する手順を示すアクティビティ図の一例である。
【図２６】操作部に表示される選択画面の一例を示す図である。
【図２７】ＭＦＰ２の機能ブロック図の一例である（実施例７）。
【図２８】ＭＦＰ２が自機にマクロ情報を登録する手順を示すフローチャート図の一例である。
【図２９】操作部に表示される選択画面の一例を示す図である。
【図３０】ＭＦＰ１〜４の機能ブロック図の一例である（実施例８）。
【図３１】連携ジョブ実行回数のデータ構造の一例を示す図である。
【図３２】マクロ情報に設定された生成元の機器の識別子を示す図の一例である。
【図３３】ＭＦＰ２が自機にマクロ情報を登録する手順を示すフローチャート図の一例である。
【図３４】ＭＦＰ２の機能ブロック図の一例である（実施例９）。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図１は、本実施形態の画像形成装置（ＭＦＰ：Multifunction Peripheral）の概略を説明する図の一例である。
ＭＦＰ１  マクロ情報（登録済み）：機能Ａ，Ｂ  
ＭＦＰ２  マクロ情報（登録先） ：機能Ａ      
ＭＦＰ３  連携機器             ：機能Ｂ      
ユーザがＭＦＰ１に登録したマクロ情報（特許請求の範囲の処理実行情報に相当）には、機能Ｂを使用する処理（機能Ｂの実行）が設定されている。次に、ユーザがマクロ情報を登録しようとしたＭＦＰ２は機能Ｂを有していない。しかし、他のＭＦＰ１、３が機能Ｂを有しているので、ＭＦＰ２は他の機器と連携すれば機能Ｂを実行することができる。
【００１３】
そこで、本実施例のＭＦＰ２は、マクロ情報の設定を、機能Ｂを機器連携により実行するという設定に変更してＭＦＰ２にマクロ情報を登録する。こうすることで、ＭＦＰ２がマクロ情報に設定された機能Ｂを有していない場合でも、ユーザはＭＦＰ２を操作して期待する処理結果又は印刷物などの結果物（以下、単に処理結果という）を得ることができる。
【００１４】
ある機器が「他機器と連携して実行する」とは、ある機器とネットワークで互いに通信可能に繋がった一台以上の他の機器が、１つのジョブ（入力から出力までの一連の処理）に必要な機能を分担（または分散）して行うことをいう。例えば、複数の機器が連携してＦＡＸ送信する場合、ＦＡＸ送信機能を持たない機器が原稿を読み取り画像データを作成し、ＦＡＸ送信機能を持つ別の機器へ送信して、その機器がＦＡＸ送信することで、機器同士が連携して処理を実現する。
【００１５】
また、ＭＦＰ２は、マクロ情報に連携処理が含まれている場合、ユーザがマクロ情報をＭＦＰ２に登録する際に、連携処理を自機（ＭＦＰ２）による処理に変更することもできる。
【００１６】
図２は、本実施形態の画像形成装置（ＭＦＰ）の概略の別の一例を説明する図の一例である。
ＭＦＰ１  マクロ情報  機能Ｃ（他の機器を利用）：機能Ａ，Ｂ  
ＭＦＰ２  マクロ情報（登録先）               ：機能Ｃ      
ＭＦＰ３  連携機器                           ：機能Ｂ、Ｃ      
ＭＦＰ１に登録されているマクロ情報には、ＭＦＰ１にはない機能Ｃを他の機器と連携して実行すると設定されている。ユーザがマクロ情報を登録するＭＦＰ２は機能Ｃを有しているので、ＭＦＰ２はマクロ情報の実行のためにＭＦＰ１と連携する必要はない。このため、ＭＦＰ２は、マクロ情報の設定を、他の機器と連携するのでなく自機の機能Ｃを用いて実行するという設定に変更してＭＦＰ２にマクロ情報を登録する。こうすることで、ＭＦＰ２は他の機器（ＭＦＰ１）と通信等することなく短時間で機能Ｃを実行することができる。
【００１７】
以上のように本実施形態のＭＦＰは、マクロ情報に設定された機能の実行を登録先の機器が有しているか否かに応じて、連携処理により実行するとマクロ情報を変更したり、自機により実行するとマクロ情報を変更するので、ユーザがマクロ情報を操作対象のＭＦＰに登録すれば期待する処理結果を得ることができる。
【実施例１】
【００１８】
〔構成〕
図３は、ＭＦＰ１００のハードウェア構成図の一例を示す。本実施形態においては、各ＭＦＰ１００が、それぞれマクロ情報を取り出す機器（以下、ＭＦＰ１という）、他の機器（ここではＭＦＰ１）のマクロ情報を取り入れる機器（以下、ＭＦＰ２という）、及び、ＭＦＰ１又は２から見た連携機器又は連携候補の機器（以下、ＭＦＰ３という）に該当する。
【００１９】
なお、本実施形態ではＭＦＰ１００を例にして説明するが、アプリケーションソフトが稼働する機器や情報処理装置であればＭＦＰである必要はない。また、ＭＦＰ１で登録されたマクロ情報を、ＭＦＰ２でも登録可能とするため各機器や情報処理装置は同種であることが好ましいが、ＭＦＰ１００とパーソナルコンピュータのように異なる機器や情報処理装置が機能連携することを否定するものではない。
【００２０】
各ＭＦＰ１〜３は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ＨＤＤ１４、ネットワーク通信制御部１６、操作部１７及びメディア装着部１５を有する。ＣＰＵ１１は、ＲＡＭ１２に記憶されたプログラム２１を実行し、ＭＦＰ内の各部の制御やデータの演算・加工を行う。ＲＡＭ１２は、ＣＰＵ１１が実行するプログラム２１やデータを一時的に記憶する作業メモリである。ＲＯＭ１３には、ＭＦＰの初期設定など各種の設定値が記憶されている。ＨＤＤ１４にはＭＦＰ全体を制御するプログラム２１や、ＭＦＰ１〜３が有する機能を実現するアプリケーションプログラムなどが、関連データとともに記憶されている。
【００２１】
ネットワーク通信制御部１６は、有線又は／及び無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネットなどのネットワークを介して他の機器と通信する通信装置である。
【００２２】
操作部１７は、キースイッチ（ハードキーとＧＵＩ（Graphical User Interface）のソフトウェアキーを含む）とタッチパネル機能を備えたＬＣＤ（Liquid Crystal Display）とを有し、ユーザが、ＭＦＰ１〜３が有する機能を利用する際のＵＩ（User Interface）となる。
【００２３】
メディア装着部１５は、ＵＳＢメモリなどの記憶媒体を装着するための外部Ｉ／Ｆである。記憶媒体は脱着可能な可搬型の不揮発メモリであり、各種のプログラムを記憶した状態でメディア装着部１５に装着されることで、ユーザがＨＤＤ１４にプログラム２１をインストールするために使用される。プログラム２１は、また、ネットワーク通信制御部１６を介して配布されることもできる。
【００２４】
なお、ＭＦＰ１（マクロ情報が取り出される機器）は、ＭＦＰ３（連携機器又は連携候補の機器）とネットワークを介して接続されていなくてもよいが、本実施形態では、マクロ情報が取り出されるＭＦＰ１が有しているマクロ情報が、ＭＦＰ２，３と連携するものであった場合に（図２の場合）、特徴の１つを有することがあるため、図３ではＭＦＰ１もネットワークにつながっているものとしている。また、ＭＦＰ３（連携候補の機器）は操作部１７を有していなくてもかまわないケースもあるが、ここでは便宜上、操作部１７が搭載された状態を図示している。
【００２５】
また、図示する以外にＭＦＰ１〜３は、印刷部（プロッタ）や原稿読み取り部（スキャナ）を有する。印刷部は、レーザービームを用いた電子写真プロセス（露光、潜像、現像、及び転写のプロセス）やインクの液滴を吐出するプロセスにより、画像データを転写紙（印刷用紙）に出力（印刷）する。原稿読み取り部は、ＣＣＤ（Charge Coupled Devices）やＣＭＯＳなどの光電変換素子からなるラインセンサと、Ａ／Ｄコンバータと、これらを駆動する駆動回路とを備え、原稿読み取り面（コンタクトガラス上）にセットされた原稿をスキャンすることでＲＧＢ各８ビットのデジタル画像データを生成する。
【００２６】
図４（ａ）はＭＦＰ２の機能ブロック図の一例を、図４（ｂ）はＭＦＰ３の機能ブロック図の一例を、それぞれ示す。このような機能ブロックは、ＣＰＵ１１がＨＤＤ１４に記憶されたプログラム２１を実行することや、ＬＳＩや基板などのハード的手段とが一部又は全体にわたって協働して実現される。
【００２７】
マクロ情報が新たに登録されるＭＦＰ３の機能ブロックは２つしかないが、これは主に必要な機能を図示したためで、ＭＦＰ３もＭＦＰ２と同様の機能を有している。ＭＦＰ１については機能ブロック図を省略したが、ＭＦＰ１も図４（ａ）と同様の機能ブロックを有している。
【００２８】
マクロ登録部３１は、マクロ情報を永続化領域（マクロ情報ＤＢ３７）に記憶する。マクロ情報ＤＢ３７はＨＤＤ１４に実装されることが多いが、ＭＦＰ２が読み出し可能な記憶媒体であればよい。マクロ情報は後述するマクロ復元部により復元され、実行可能な態様に変換され、アプリケーションプログラムにより実行される。以下、マクロ情報に設定された機能の実行や一連の処理の実行を、「マクロの実行」「マクロを実行する」などという場合がある。マクロの実行に機器連携が必要となる場合があるが、マクロの実行の主体はマクロ情報が登録されているＭＦＰ１００である（マクロの実行主体がＭＦＰ２でも、機能の実行主体はＭＦＰ１，３となる場合がある）。
【００２９】
通信部３２は、ネットワークを介して他のＭＦＰ（ＭＦＰ２の通信部３２はＭＦＰ３と、ＭＦＰ３の通信部３２はＭＦＰ１）と種々の情報の送受信を行う。
【００３０】
検索部３３は、自機（＝ＭＦＰ２）と連携して動作可能な機器（＝ＭＦＰ１，３）をネットワーク内から検索する。この機器を連携候補機器という。
【００３１】
機能構成判定部３４は、マクロ情報に設定された機能と設定値が、自機であるＭＦＰ２において実行可能か否かを判定する。
【００３２】
判断部３５は、マクロ情報に含まれる一連の処理で必要な各機能について、機能毎にどの機器（自機であるＭＦＰ２又はどれかの連携候補機器）で行うのかを判断する。
【００３３】
マクロ変更部３６は、マクロ情報の設定を変更する。
【００３４】
＜マクロ情報＞
図５は、マクロ情報のデータ構造の一例を示す図である。マクロ情報は「機能」毎に「設定値」と、実行する機器である「担当機器」と、「連携」可能か否か、が登録された情報である。
【００３５】
「機能」は、ユーザが要求するジョブに含まれる一連の処理に必要な機能である。「機能」は入力、編集（加工）、及び、出力の３つの段階に区分することで取り扱いに汎用性をもたらすことが容易になる。入力の「機能」としては、例えば、不図示の原稿読み取り部による原稿読み取り機能（画像データの生成）、ネットワークを介してパーソナルコンピュータなどから送信されＨＤＤ１４に記憶されている文書データを読み出す機能、ＵＳＢメモリから文書を読み出す機能、又は、ＦＡＸにより受信したデータを入力とする機能、等が挙げられる。
【００３６】
編集の「機能」としては、入力されたデータに対する各種の画像変換機能（例えば、「集約」、「拡大」又は「縮小」）、又は、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する機能（レンダリング）等、が挙げられる。
【００３７】
出力の「機能」としては、編集（加工）されたデータを不図示の印刷部に出力（印刷）させる機能、編集（加工）されたデータをＨＤＤ１４に保管する機能、編集（加工）されたデータを電子メールに添付して送信する機能、編集（加工）されたデータをＦＡＸ送信する機能、編集（加工）されたデータをパーソナルコンピュータに送信する機能、又は、編集（加工）されたデータを操作部１７にプレビュー表示する機能、等が挙げられる。
【００３８】
図示する例えば、「両面読み取り」という項目は、「連携」が"×"なので、マクロ情報が登録されていたＭＦＰ１に「両面読み取り機能」が存在しているということを示す。「集約」「宛先入力」「直接送信」という項目は、「連携」が"○"なので、マクロ情報が登録されていたＭＦＰ１にこれらの「機能」が搭載されていなかったことを示す。
【００３９】
「設定値」は、入力、編集、出力の各「機能」を実行する際に必要な又は設定可能であるために設定されていた具体的な値（パラメータ）を示す。例えば、「両面読み取り」の取りうる「設定値」は"する／しない"であり、図のジョブの例ではユーザは"する"という値を設定しているということを示す。また、「集約」の取り得る「設定値」は例えば「２ｉｎ１／４ｉｎ１／８ｉｎ１」であり、図のジョブの例ではユーザは"２ｉｎ１"という値を設定しているということを示す。また、「宛先入力」の取り得る「設定値」は例えば"ユーザ名／ＦＡＸ番号"であり、図のジョブの例ではユーザは"xx-xx-xxxx"というＦＡＸ番号を設定しているということを示す。また、「直接送信」の取り得る「設定値」は例えば"する／しない"であり、図のジョブの例ではユーザは"しない"という値を設定しているということを示す。なお、「直接送信」の"する"とは、ＦＡＸ送信の前に蓄積しておき夜間などの指定された時刻に送信を開始するのでなく、原稿読み取り部が読み取った画像データを速やかに送信することをいう。
【００４０】
「担当機器」は、その「機能」の実行をどの機器が担当しているかを表す。図では「両面読み取り」の「担当機器」は「ＭＦＰ１」となっており、「集約」「宛先入力」「直接送信」の「担当機器」は「ＭＦＰ２」になっている。これは、「両面読み取り」機能はＭＦＰ１が行い、宛先入力（FAX送信）はＭＦＰ２が行うということを示している。よって、このマクロ情報は、機器連携により処理される機能を含むことになる。
【００４１】
「連携」は、マクロ情報が登録されているＭＦＰ１から見て、その「機能」が機器連携により処理される「機能」か否かを示す。例えば、両面読み取り（スキャン）は自機であるＭＦＰ１が行うので、「連携」に"×"が設定されている。「集約」「宛先入力」「直接送信」はＭＦＰ２が行うため、「連携」には"○"が設定されている。
【００４２】
＜機器機能構成情報＞
図６は、機器機能構成情報３４１の一例を示す図である。機器機能構成情報３４１は、各ＭＦＰが有する機能及び機能毎に設定可能な「設定値」である。ＭＦＰ２が「機能」を自機と他の機器とに振り分けるためには、ＭＦＰ２が自機及び他のＭＦＰ１，３の「機能」と設定可能な「設定値」を取得していることが好ましい。このため、各ＭＦＰ１〜３は図示するような機器機能構成情報３４１をＲＯＭ１３やＨＤＤ１４に記憶している。なお、「集約」のように「機能」によっては複数の設定可能値が存在する。
【００４３】
例えば、ユーザがＭＦＰ１に登録されていたマクロ情報をＭＦＰ２に登録する場合、ＭＦＰ２の機能構成判定部３４は、マクロ情報と自機の機器機能構成情報を比較して、機能毎に自機で実行可能な否かを判定する。
【００４４】
図７は、機能構成判定部３４による判定結果（機能構成判定結果情報）を模式的に示す図の一例である。機能構成判定結果情報は、マクロ情報に「実行可否」が追加されたデータ構造になっている。「実行可否」は、マクロ情報を取り入れるＭＦＰ２が、マクロ情報に設定された各「機能」を自機で実行可能かどうかを示し、"○"（実行できる）又は"×"（実行できない）により示されている。
【００４５】
ここでマクロ変更部３６は、「実行可否」が"○"の機能の「担当機器」を自機（すなわちＭＦＰ２）に変更する。これにより、自機で実行可能な機能は自機を「担当機器」にすることができる。
【００４６】
図の機器構成判定結果情報は、ＭＦＰ２が自機では「集約」「宛先入力」「直接送信」を実行できないと判定したことを示している。この場合、判断部３５は、自機では実行できない「機能」をどのＭＦＰなら実行できるかを判断する必要があるため、他のＭＦＰ１，３に自機が実行できない「機能」が実行可能かどうかを問い合わせる。
【００４７】
＜問い合わせ情報、問い合わせ結果情報＞
図８は、問い合わせ情報の一例を示す図である。問い合わせ情報は、連携候補機器（検索部３３により検索された他のＭＦＰ１，３）に問い合わせる際にＭＦＰ２が送信する情報である。マクロ情報を取り入れるＭＦＰ２の判断部３５は、自機では実行できない「機能」を実行できるか否かを問い合わせるため、連携候補機に対して問い合わせ情報を送信する。図示するように、ＭＦＰ２が実行できない「機能」のみを送信することで、通信時間を短縮できるが、図７の機能構成判定部３４による機器構成判定結果情報の全てを送信してもよい。
【００４８】
連携候補機器であるＭＦＰ１、３の機能構成判定部３４は、問い合わせ情報を受信すると、問い合わせを受けた「機能」を自機で実行可能か否かを判定し、問い合わせ結果情報を、問い合わせ情報を送信したＭＦＰ２に送信する。
【００４９】
図９は、問い合わせ結果情報の一例を示す図である。問い合わせ結果情報は、問い合わせ情報に「実行可否」が追加されたデータ構造となる。「実行可否」は、機能毎に連携候補機器が該機能を実行できるか（機能構成を持っているか）否かを示す。実行できる場合は"○"となり、できない場合は"×"が設定される。
【００５０】
ＭＦＰ１，３の機能構成判定部３４は、自機の機器機能構成情報３４１を読み出し、問い合わせ情報にて問い合わせを受けた「機能」を有しているか否かを判定し、問い合わせ結果情報を生成する。図では連携候補機器（ＭＦＰ１，３のどちら又は両方でもよい）は"２ｉｎ１"の「集約」、「宛先入力」「直接送信」が可能であることが示されている。
【００５１】
マクロ情報を取り込むＭＦＰ２は、問い合わせ結果情報に基づきマクロ情報を変更してマクロ情報ＤＢ３７に登録する。
【００５２】
〔マクロ情報の変更〕
図１０は、マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。
【００５３】
まず、マクロ登録部３１は、ＭＦＰ１に登録されていたマクロ情報をＭＦＰ１のマクロ情報ＤＢ３７又は記憶媒体１８から読み出して、マクロ登録処理を開始する（Ｓ１０）。開始のトリガは、ユーザがＭＦＰ２の操作部１７を操作してＭＦＰ１のマクロ情報を呼び出す操作を入力したことや、ユーザが記憶媒体１８にＭＦＰ１のマクロ情報を複写してＭＦＰ２のメディア装着部１５に装着しＭＦＰ２の操作部１７を操作してマクロ情報を登録する操作を入力することである。
【００５４】
次に、ＭＦＰ２の機能構成判定部３４は、取り込む対象のマクロ情報の各機能を自機で実行可能か否かを判定する（Ｓ２０）。この判定のアルゴリズムについて、データフローを用いて説明する。
【００５５】
図１１は、マクロ情報の各機能を自機で実行可能か否かの判定を説明する図の一例である。図１１（ａ）はマクロ情報を、図１１（ｂ）は機器機能構成情報をそれぞれ示す。ＭＦＰ２の機能構成判定部３４は、マクロ情報の各機能毎に、機器機能構成情報と比較して、各機能を自機で実行できるか否かを判定する。具体的には、機能構成判定部３４は、マクロ情報にある「機能」と「設定値」の組み合わせが、マクロ情報を取り入れるＭＦＰ２の機器機能構成情報の「機能」と「設定可能値」に含まれるか否かにより、実行可否を判定する。マクロ情報にある「機能」と「設定値」の組み合わせが機器機能構成情報に含まれていれば実行可能と判定し、含まれていなければ実行不可と判定する。
【００５６】
判定の結果、実行可能となった「機能」について、マクロ変更部３６はマクロ情報の「機能担当」の項目に「マクロ情報を取り入れる機器（＝ＭＦＰ２）」を、また、「連携」の項目に"×"を設定することで、マクロ情報を変更する。図１１（ｃ）は、変更されたマクロ情報の一例を示す。図１１（ａ）と（ｃ）を比較すると明らかなように、「集約」機能の「担当機器」がＭＦＰ１からＭＦＰ２に、「連携」が"○"から"×'"に、それぞれ変更されている。
【００５７】
図１０に戻り、判断部３５は、自機でマクロ情報に設定された「機能」を実行可能か否かを判断する（Ｓ３０）。判断部３５が、すべての「機能」が自機で実行可能と判断すると、マクロ登録部３１はそのままマクロ情報を自機に登録する（Ｓ４０）。
【００５８】
判断部３５が一連の処理に必要なすべての「機能」を自機で実行することができないと判断すると、マクロ登録失敗となる。これは、入力、編集、加工に１つも実行できる「機能」がないことになるので、マクロ情報を取り入れる機器（＝ＭＦＰ２）がマクロを全く実行できないためそのように判断することとした。この場合でも機器連携を使用すればＭＦＰ２がマクロを実行することは可能であるが、本実施形態ではマクロ登録失敗と判定することとする。
【００５９】
判断部３５が、一部の「機能」が自機で実行不可と判断すると（他のＭＦＰ１，３と連携が必要な場合）、図１１（ｃ）に示したように、マクロ変更部３６は自機で実行可能な「機能」についてはマクロ情報を変更する（Ｓ５０）。
そして、自機で実行できない「機能」を実行できる連携候補機器を探すため、検索部３３が連携候補機器を検索する（Ｓ６０）。この検索は、検索部３３がネットワークに接続された全てのＭＦＰに対し通信を開始し、応答のあった連携候補機を検出することで行われる。予め、連携候補機器の候補をリストにして記憶しておき、選択的に通信してもよい。
【００６０】
そして、判断部３５は、自機で実行できない「機能」を集めて、問い合わせ情報を作成し、「機能」を実行する連携機器を決定するために、各連携候補機器に問い合わせ情報を送信する（Ｓ７０）。
【００６１】
図１１（ｄ）は問い合わせ情報の一例を示す。図１１（ｂ）の機器機能構成情報によればＭＦＰ２は「変倍率」の「設定可能値」として"２５％〜２００％"であるのに対し、マクロ情報の「変倍率」は"４００％"になっている。このため、機能構成判定部３４は、"４００％"の「変倍率」は実行不可と判定し、「機能」を「変倍率」、「設定値」を"４００％"とする問い合わせ情報を連携候補機器に送信する。
【００６２】
連携候補機器は問い合わせ情報を受信し、連携候補機器の機能構成判定部３４は問い合わせされた各機能と「設定値」が実行可能か否かを判定する（Ｓ８０）。
図１２は機能構成判定部３４による判定を説明する図の一例である。図１２（ａ）は問い合わせ情報を、図１２（ｂ）は機器機能構成情報をそれぞれ示す。連携候補機器の機能構成判定部３４は、ＭＦＰ２から連携候補機器へ送信された問い合わせ情報と、機能構成情報を比較して、各機能項目を実行できるかどうかを判定する。上述したように、問い合わせ情報に記述されている「機能」と「設定値」の組み合わせが、連携候補機器の機能構成情報の「機能」と「設定可能値」に含まれているか否かに応じて実行可否を判定する。
【００６３】
問い合わせ情報の「機能」が「変倍率」で「設定値」が"４００％"であるのに対し、機器機能構成情報の「機能」には「変倍率」が含まれ、設定可能値は"２５〜４００％"となっている。このため、連携候補機器の機能構成判定部３４は、実行可能と判定し、実行可否情報を足した問い合わせ結果情報をＭＦＰ２（外部機器のマクロを取り入れる機器）へ送り返す。図１２（ｃ）は問い合わせ結果情報の一例を示す。「実行可否」には実行可能を意味する"○"が設定されている。
【００６４】
図１０に戻り、ＭＦＰ２の判断部３５は、問い合わせ結果情報に基づき、問い合わせ先のＭＦＰ１、３がＭＦＰ２が実行できない「機能」を実行可能か否かを判定する（Ｓ９０）。問い合わせ結果情報を受信したＭＦＰ２の判断部３５は、「実行可否」が"○"となっている「機能」について、連携候補機器で実行可能と判定できるので、マクロ変更部３６は「実行可否」が"○"となっている「機能」の「機能担当」を、連携候補機器の識別情報へ書き換える（Ｓ１００）。連携候補機器をＭＦＰ３とすれば、「機能担当」にはＭＦＰ３が設定される。これにより、マクロ情報が変更される。
【００６５】
図１２（ｄ）は変更後のマクロ情報の一例を示す。図１１（ｄ）では「集約」という「機能」について、「担当機器」がＭＦＰ２に変更されていたが、図１２（ｄ）ではさらに、「変倍率」という「機能」について、「担当機器」がＭＦＰ３に変更されている。なお、"４００％"に変倍する処理を実行する機器はＭＦＰ３となるので、「変倍率」という「機能」の「連携」には"○"が設定される。
【００６６】
判断部３５は、問い合わせと実行可能か否かの判定をマクロ情報に含まれるすべての「機能」の「機能担当」が決定されるまで繰り返す。判断部３５は、問い合わせ情報で問い合わせた全ての「機能」について、「機能担当」が決定されたか否かを判定する（Ｓ１１０）。
【００６７】
全ての連携候補機器から問い合わせ結果情報を受信すると、判断部３５は全ての連携候補機器について判断したと判定し、問い合わせ情報で問い合わせた「機能」の「機能担当」が決まっていない「機能」が残っているか否かを判定する（Ｓ１２０）。
【００６８】
「機能担当」が決まっていない「機能」が残っていた場合、判断部３５はマクロ情報を実行不可と判定する。この場合は、マクロ登録が失敗したことになる。
【００６９】
「機能担当」がすべて決まった場合、判断部３５は実行可と判断して、そのマクロ情報をマクロ情報ＤＢ３７に登録する。
【００７０】
以上のようにして、図１０のアクティビティ図が終了し、マクロ情報を取り入れるＭＦＰ２は必要であればマクロ情報を機器連携により実行されるように変更してマクロ情報ＤＢ３７に登録することができる。
【００７１】
〔詳細シーケンス図〕
以上のように、ＭＦＰ２（マクロ情報を取り入れる機器）がマクロ情報を取り入れる際、取り入れたものの取り入れたマクロを実行できないことがないことを保証する。また、マクロがどのＭＦＰで実行されても、マクロの実行により得られる処理結果が同じになることを保証する。
【００７２】
図１３のシーケンス図は、このようなマクロ情報の取り込み方法を詳細に説明する図の一例である。
（１）マクロ情報を取り入れるＭＦＰ２がマクロ情報を読み出してから、マクロを実行するにあたり、必要な「機能」を有しているか否かを判断するまで
ユーザがＭＦＰ２（マクロ情報を取り入れる機器）にマクロ情報を取り入れる操作を行うと、取り入れたマクロ情報はマクロ登録部３１の処理対象となる。
S1：マクロ登録部３１はマクロ情報に設定された「機能」を実行するにあたり必要な「機能」が、マクロ情報を取り入れた機器に存在するか否かを判定するため、機能構成判定部３４にマクロ情報を送出し、機能構成の判定を指示する。
S2：機能構成判定部３４はマクロ情報と自機（マクロを取り入れる機器）の機器機能構成情報を比較することで、マクロ情報で必要な「機能」を自機が有しているか否かを判定する。S3：機能構成判定部３４はその判定結果である機能構成判定結果情報をマクロ登録部３１に送出する。
Ｓ3.1：マクロ登録部３１は判断部３５に対して、機能構成判定結果情報とマクロ情報を送出し、マクロ情報を自機で実行できるか連携が必要かの判断を要求する。
S3.3：判断部３５はマクロ情報と機能構成判定結果情報とを比較して、機能毎に自機で実行可能か否かの判断結果情報を生成する。
S3.4：判断部３５は、判断結果情報をマクロ登録部３１に送出する。
【００７３】
（２） マクロ情報変更処理
S4：自機（マクロを取り入れる機器）において、マクロ情報に設定された「機能」のうち実行可能な「機能」があった場合、マクロ登録部３１は判断結果情報とマクロ情報をマクロ変更部３６に送出する。
S5：マクロ変更部３６は、自機で実行可能な「機能」の「担当機器」に自機の識別情報を設定し、「連携」に"×"を設定することで、マクロ情報を変更する。また、自機で実行不可な「機能」の「連携」に"○"を設定する。
S6：マクロ変更部３６は変更したマクロ情報をマクロ登録部３１に送出するので、マクロ登録部３１は変更されたマクロ情報をマクロ情報ＤＢ３７に登録する。
【００７４】
（３）連携候補機器の検索
S7：マクロを実行するにあたり、他の機器との連携が必要な場合（自機だけではマクロを実行できない場合）、マクロ登録部３１は、検索部３３に連携候補機器の検索を指示する。
S8：検索部３３は通信部３２を用いて自機と連携可能な機器を検索する。連携可能な機器は、ネットワークに接続された全てのＭＦＰ、ネットワークに接続された全てのＭＦＰのうち応答があった機器、又は、予め自機に登録されたＭＦＰのいずれもでもよい。
S9〜S12：検索の結果、検索部３３は検索により応答のあった連携候補機器の識別情報をマクロ登録部３１に送出する。
【００７５】
（４）自機で行えない「機能」について、連携候補機器が行うようにマクロ情報を変更
マクロ登録部３１は、検索の結果見つかった連携候補機器すべてに対して下記処理を順に実施する。なお、複数の連携候補機器から連携機器をどのように選択するかによって、必ずしも連携候補機器すべてに対して下記処理が実行されないこともある。
S13：マクロ登録部３１は判断部３５に連携候補機器の識別情報、問い合わせ情報、及び、マクロ情報を送出する。
S14〜S15：判断部３５は、通信部３２を介して、連携候補機器に問い合わせ情報を送信する。
S16〜S17：問い合わせ情報を受信した連行候補機器の機能構成判定部３４は、自機の機器機能構成情報と問い合わせ情報を比較し、問い合わせを受けた「機能」と「設定値」を自身が実行可能か否かを示す問い合わせ結果情報を生成し、通信部３２を介してＭＦＰ２に送信する。
S18〜S19：判断部３５は通信部３２を介して問い合わせ結果情報を受信する。
S20〜S21：判断部３５は問い合わせ結果情報に基づき、マクロ情報の「担当機器」や「連携」を変更する必要があるか否かを判断し、その判断結果である判断結果情報をマクロ登録部３１に渡す。
S22：マクロ登録部３１は判断結果情報からマクロ情報の変更が必要であると判定した場合（連携により機能を実行できる場合）、マクロ変更部３６に判断結果情報とマクロ情報を送出してマクロ情報の変更を指示する。
S23〜S24：マクロ変更部３６は、「担当機器」を連携候補機器に変更して、変更したマクロ情報をマクロ登録部３１に送出する。
S25：マクロ登録部３１は変更されたマクロ情報を判断部３５へ送出し、ＭＦＰ２がマクロを実行可能か否かの判断、すなわち全ての「機能」について「担当機器」が決まったか否かの判定を要求する。
S26：判断部３５は、マクロ情報に基づく「機能」を実行可能か否かを判断する。判断部３５は、マクロ情報の「機能」のうち連携しても実行できない「機能」が１つでもある場合、マクロを実行できないと判断し、それ以外の場合、マクロを実行できると判断する。
S27：判断部３５は判断した結果であるマクロ実行可否判断結果通知をマクロ登録部３１に渡す。マクロ登録部３１はマクロ実行可否判断結果通知を受けて、マクロの実行が不可の場合、マクロ登録情報を削除する。すなわち、実行不可であれば、マクロ情報ＤＢ３７に登録されたマクロ情報を削除することで実行のできないマクロ情報が登録されたままとなることを防止する。これによりＨＤＤ１４などのリソースの圧迫を回避できる。
【００７６】
また、マクロが実行不可と判定された場合、マクロ登録部３１はエラーメッセージを操作部１７に表示するなどしてユーザにマクロ情報を登録できない旨を通知する。ユーザはこのメッセージを目視して後述の実施例で説明する適切な処置が可能になる。
【００７７】
なお、マクロが実行可能な場合、マクロ情報はマクロ情報ＤＢ３７に登録されたままである。
【００７８】
以上、説明したように本実施形態のＭＦＰは、マクロ情報に設定された「機能」を登録先の機器（ＭＦＰ２）が有していない場合でも、マクロ情報に他の機器（ＭＦＰ３）と連携して「機能」を実行すると設定することで、ユーザはマクロ情報を機器（ＭＦＰ２）に登録して期待する処理結果を得ることができる。
【実施例２】
【００７９】
ＭＦＰ２(マクロ情報を取り入れる機器)が取り込むマクロ情報に、すでに機器連携による「機能」の実行が設定されている場合、マクロ情報を変更する必要がない場合がある。例えば、ＭＦＰ１のマクロ情報において、ある「機能」をＭＦＰ１がＭＦＰ３と連携して実行すると設定されている場合である。この場合、ＭＦＰ２はマクロ情報を変更しなくても、ＭＦＰ３と連携して該機能を実行できる。
【００８０】
そこで、本実施例では、「自機と連携可能な連携候補機器の中に、マクロ情報の中で連携先になっている連携機器がある」場合、「その機器をそのまま連携機器とする」ＭＦＰ２について説明する。こうすることで、ＭＦＰ２は連携機器を早く見つけることができ、連携機器に依存したデータ（例：アドレス帳など）をそのまま利用することができる。
【００８１】
概略を説明すると、ＭＦＰ２の機能構成判定部３４がマクロ情報について「連携候補機器と連携実行が必要」と判定した場合、その「機能」について、判断部３５が「変更前のマクロ情報」でも連携実行が必要であったかどうかを判定することにする。
【００８２】
具体的には、ＭＦＰ２の判断部３５は、「変更前のマクロ情報」と「連携の必要・不必要に応じて「連携」の設定が変更されたマクロ情報（各機能について自機で実行可能か否かを判定済みのマクロ情報）」を比較し、後者のマクロ情報で連携実行が必要な機能について、前者のマクロ情報では連携実行が必要であったかを調べる。
【００８３】
図１４は、マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。図１４において図１０と同一ステップの説明は一部省略する。図１４では、ステップＳ５０〜Ｓ６０の間にステップＳ５２、５４が含まれる。
【００８４】
Ｓ５２：判断部３５は、連携が必要な「機能」が、変更前のマクロ情報でも連携により実行が可能であったか否かを判定する。
図１５はＳ５２の判定を説明する図の一例である。図１５（ａ）は変更前のマクロ情報を、図１５（ｂ）は自機で実行可能かどうかを判定済みのマクロ情報をそれぞれ示す。図１５（ｂ）に示す、「機能」について自機で実行可能かどうかを判定済みのマクロ情報において、「連携」が"○"になっている「機能」が、連携が必要な機能である。
【００８５】
連携実行が必要と判断された「機能」と「設定値」の組は、「集約」"２ｉｎ１"、「宛先入力」「××―××―×××（ＦＡＸ番号）」、及び、「直接送信」"しない"である。
【００８６】
これと変更前のマクロ情報を比較すると、「集約」"２ｉｎ１"について、変更前から実行のために連携が必要であったことが分かる。つまり、ＭＦＰ１は「集約」"２ｉｎ１"という「機能」を他の機器（ＭＦＰ３）と連携して実行していた。
【００８７】
Ｓ５４：連携が必要な「機能」のうち、変更前から連携により実行されていた「機能」があった場合、判断部３５は連携により実行されていなかった「機能」のみを検索の対象にする。すなわち、変更前から連携により実行されていた「機能」について、判断部３５は変更前のマクロ情報の「担当機器」の設定をそのまま引き継ぐ。したがって、この「機能」については「担当機器」の変更が不要になる。図１５（ａ）では「集約」の「担当機器」はＭＦＰ３のままとすればよい。
【００８８】
こうすることで、連携機器に依存したデータ（例：アドレス帳など）をそのまま利用することができる。例えば、変更前のマクロ情報において、「宛先入力」で機器に固有のアドレス帳のユーザ名が登録されていた場合、「担当機器」が変更されるとアドレス帳から該ユーザのＦＡＸ番号等を読み出す必要が生じる。マクロ情報の取込先の機器には同じユーザのアドレス帳が登録されているとは限らないためである。しかし、本実施例のように変更前のマクロ情報の「担当機器」の設定をそのまま引き継ぐことで、アドレス帳のユーザ名を参照可能になるので、マクロ情報の変更処理時間を短縮できる。
【００８９】
また、連携が必要な「機能」の全てが、変更前から連携により実行されていた「機能」の場合、マクロ情報の変更はこれで終了である。
【００９０】
連携が必要な「機能」のうち、変更前から連携により実行されていた「機能」でない「機能」については、ステップＳ６０にて検索部３３が連携候補機器を検索し、判断部３５が連携候補機器に問い合わせ情報を送信するなど、実施例１と同様の処理が実行される。
【００９１】
以上説明したように、本実施例によれば、マクロ情報の変更を最小限にして、連携の必要な「機能」の連携機器を短時間に見つけることができる。
【実施例３】
【００９２】
本実施例では、連携が必要な「機能」のうち、変更前から連携により実行されていなかった「機能」について、「担当機器」をマクロ情報が登録されていた機器とすることで、連携候補機器の検索を省略可能なＭＦＰ２について説明する。すなわち、変更前から連携により実行されていなかった「機能」はＭＦＰ１が自機で実行した「機能」なので、その「機能」の「担当機器」を「マクロ情報を取り出したＭＦＰ１」とすればよいので、「担当機器」を容易に決定できる。
【００９３】
図１６は、マクロ情報を取り入れるＭＦＰ２と連携候補機器の処理の流れを示すアクティビティ図の一例である。図１６において図１４と同一ステップの説明は一部省略する。  判断部３５は、連携が必要な「機能」が、変更前のマクロ情報でも連携による実行が可能であったか否かを判定する。この判定は実施例２で説明した図１５と同様である（Ｓ５２）。
(i) 連携が必要な「機能」のうち全ての「機能」が「連携実行であった機能」の場合（図１５（ａ）で「連携」が全て"○"だった場合）は、ＭＦＰ２は連携機器を探すため、それらの「機能」について、実施例１と同じく検索部３３が連携候補機器を検索し、それ以降は請求項１と同じ処理を実施する。この場合、実施例２と同様に、全ての「機能」の「担当機器」をそのまま（例えばＭＦＰ３）とすることもできる。
(ii) 連携が必要な「機能」のうち「連携実行でなかった機能」が１つでもある場合は、マクロ情報を持っていたＭＦＰ１がその「機能」を実行可能であったということになる。このため「連携実行でなかった機能」について、マクロ変更部３６は変更前のマクロ情報を元々持っていたＭＦＰ１を連携先の機器とするように「担当機器」を変更する。また、連携が必要な「機能」のうち、変更前から連携により実行されていた「機能」に対し、判断部３５は連携実行でなかった「機能」のみを検索の対象にする（Ｓ５４）。この場合、実施例２と同様に、変更前から連携により実行されていた「機能」について、「担当機器」をそのまま（例えばＭＦＰ３）とすることもできる。
(iii) 連携が必要な「機能」のうち全ての「機能」が「連携実行でなかった機能」の場合（図１５（ａ）で「連携」が全て"×"だった場合）は、マクロ情報を持っていたＭＦＰ１が全ての機能を実行可能であったということになるので、マクロ変更部３６は変更前のマクロ情報の「担当機器」をそのままにして、マクロ情報を取り出したＭＦＰ１を連携先にするようにマクロ情報を変更する。この場合は図１６の処理が終了する。
【００９４】
以上説明したように、本実施例によれば、実施例２と同様に、マクロ情報の変更を最小限にして、連携の必要な機能の連携機器を短時間に見つけることができる。
【実施例４】
【００９５】
実施例１で説明したように検索部３３は複数の連携候補機器を検索する可能性がある。この場合、判断部３５は複数の連携候補機器から問い合わせ結果情報を取得することになるが、複数の連携候補機器が同じ「機能」について「実行可否」を"○"に設定している場合がある。本実施例は、このような場合にＭＦＰ２が複数の連携候補機器から１つに連携機器を決定する手法を説明する。
【００９６】
本実施例では、マクロ情報を取り込む機器であるＭＦＰ２が取り込んだマクロ情報が、複数の機器と連携する連携マクロであった場合（例えば、ＭＦＰ１がＭＦＰ３及び不図示のＭＦＰ４と連携してマクロを実行する場合）、ＭＦＰ２はマクロ情報を取り込む際に連携機器が１つで済むように連携機器を選択する。例えば、ＭＦＰ３とＭＦＰ４のうち連携機器を１つに絞り込む。
【００９７】
図１７は、本実施例のＭＦＰ２の機能ブロック図の一例である。図１７において図４と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ１〜４は新たに単体実行可否判定部４１を有する。単体実行可否判定部４１は複数の問い合わせ結果情報を参照して、連携機器が１つになるように「担当機器」に設定する連携機器を決定する。
【００９８】
図１８（ａ）は、取り込み対象のマクロ情報（変更前のマクロ情報）の一例を示す図である。「担当機器」から明らかなようにＭＦＰ１はＭＦＰ３，４と連携してこのマクロ情報に設定された「機能」を実行している。
【００９９】
このマクロ情報を取り込むＭＦＰ２の機器構成判定部３４は、マクロ情報の「入力」について自機で実行可能であるが、「編集」機能について「設定値」が"２ｉｎ１"の「集約」、「出力」機能について「設定値」が"xx-xx-xxxx"の「宛先入力」、及び、「出力」機能について「設定値」が"しない"の「直接送信」を自機では実行できないと判断したものとする。
【０１００】
図１９（ａ）はＭＦＰ３から取得した問い合わせ結果情報の一例を、図１９（ｂ）はＭＦＰ４から取得した問い合わせ結果情報の一例を、それぞれ示す。ＭＦＰ３は「宛先入力」「直接送信」の「実行可否」が"×"であるが、ＭＦＰ４は問い合わせされた「機能」の全てにおいて「実行可否」が"○"である。
【０１０１】
このため、ＭＦＰ２の単体実行可否判定部４１は、連携先の機器として、連携機器の数が１つになるようにＭＦＰ４を選択し、マクロ情報の「担当機器」を変更する。図１８（ｂ）は、マクロ変更部３６が変更したマクロ情報の一例を示す。図１８（ａ）と比較すると、ＭＦＰ３が「担当機器」であった欄に「ＭＦＰ４」と設定されている。こうすることで、ＭＦＰ２が検索した２つ以上の連携候補機器が分担していたマクロ情報に設定された「機能」を、１つの連携機器で実行できるので、ジョブ実行時のネットワーク負荷を軽減させることができる。
【０１０２】
図２０は、マクロ情報の取り込み方法を説明するシーケンス図の一例である。図２０において図１３と同一ステップの説明は省略する。
S19-1：判断部３５が問い合わせ結果情報を取得すると、判断部３５は単体連携可否判定部４１に全ての問い合わせ結果情報を送出する。すなわち、単体連携可否判定部４１は問い合わせ結果情報のリストを取得できる。
S19-2：単体連携可否判定部４１は、複数の問い合わせ結果情報を参照して、連携機器が１つになるように「担当機器」に設定する連携機器を決定する。決定した連携機器を単体実行可否問い合わせ結果情報という。なお、連携機器の数が必ずしも１つにならない場合、単体連携可否判定部４１は連携機器の数が最も少なくなるように「担当機器」に設定する連携機器を決定する。
S19-3:単体連携可否判定部４１は、単体実行可否問い合わせ結果情報を判断部３５に送出する。
【０１０３】
以降の処理は実施例１と同様である。すなわち、判断部３５は単体実行可否問い合わせ結果情報に基づき、マクロ情報を変更する必要があるか否かを判断し、その判断結果である判断結果情報をマクロ登録部３１に渡す。マクロ登録部３１は連携により「機能」を実行できる場合、マクロ変更部３６に判断結果情報とマクロ情報を送出してマクロ情報の変更を指示する。これによりマクロ変更部３６はマクロ情報の「担当機器」を図１８（ｂ）のように変更できる。
【０１０４】
以上説明したように、本実施例によれば、連携機器の数を1つ又は最小にすることで、マクロ実行時のネットワーク負荷やマクロの実行時間を低減させることができる。
【実施例５】
【０１０５】
実施例４では連携機器を１つに決定したが、本実施例では複数の連携機器をマクロ情報に登録しておき、マクロの実行時に１つの連携機器を決定するＭＦＰ２について説明する。
【０１０６】
図２１は、本実施例のＭＦＰ２の機能ブロック図の一例である。図２１において図４と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ２は新たにマクロ復元部４２及び連携機器決定部４３を有する。マクロ復元部４２はマクロ情報をＭＦＰ２が実行可能なコマンドとパラメータに変換する。ＭＦＰ２がコマンドとパラメータを実行することでマクロが実行される。連携機器決定部４３はマクロ情報において１つの「機能」に設定されている「担当機器」が複数ある場合に、１つの機器を動的に連携機器に決定する。決定方法は種々あるが、
(i)マクロを実行するＭＦＰ２が、対象機能がすぐに実行できるかどうかという機器の使用状況を問い合わせ、すぐに「機能」を実行できるＭＦＰをその「機能」の連携機器に決定する。
(ii)入力に関する「機能」はなるべくＭＦＰ２（マクロ情報を取り込む機器）が実行するようにして、ＭＦＰ２に担当させ、それ以外の編集や出力に関する「機能」は連携機器の数を少なくするという方針で「担当機器」を決定する。
【０１０７】
また、マクロ変更部３６は実施例１でも存在したが、本実施例のマクロ変更部３６はマクロ情報の「担当機器」に複数の連携機器を設定するという「機能」を有する。
図２２は本実施例のマクロ情報の変更を説明する図の一例である。図２２（ａ）は判断結果情報を、図２２（ｂ）はマクロ変更部３６が変更したマクロ情報の一例を示す。図示するように、「両面読み取り」の「実行可否」は"○"、「集約」の「実行可否」は"×"、
「宛先入力」の「実行可否」は"×"、「直接送信」の「実行可否」は"×"、である。この場合、実施例１では判断部３５が自機では実行できない「機能」について問い合わせ情報を連携候補機器に送信したが、本実施例では、判断部３５がマクロ情報の全ての「機能」について問い合わせ情報を連携候補機器に送信する。これにより、マクロ情報を取り込む機器（ＭＦＰ２）が「機能」を使用中でも、機器連携によりマクロを実行できる。
【０１０８】
例えば、「両面読み取り」はＭＦＰ１が（ＭＦＰ２も可能）、「集約」はＭＦＰ１，３，４が、「宛先入力」はＭＦＰ１，３が、「直接送信」はＭＦＰ１が、それぞれ実行可能であるとの問い合わせ結果情報を、ＭＦＰ２が受信した場合、ＭＦＰ２のマクロ変更部３６は図２２（ｂ）のようにマクロ情報を変更する。１つの「機能」に複数の連携機器の識別情報が対応づけられているので、連携機器決定部４３はこの中から１つの連携機器を決定できる。
【０１０９】
例えば、(ii)の決定方法を採用した場合、連携機器決定部４３は、入力機能（両面読み取り）はＭＦＰ２で、編集、出力機能は連携機器の数が最も少なくなるようにＭＦＰ１で実行すると決定する。このように、実行時に複数の「担当機器」から動的に連携機器を割り当てることが可能となる。
【０１１０】
図２３は、マクロ復元部４２が、マクロ情報に設定された「機能」の実行時に連携機器を決定する手順を示すアクティビティ図の一例である。図２３の手順は例えばユーザが操作部１７を操作してマクロ情報を指定しその実行操作を入力すると開始される。
【０１１１】
まず、マクロ復元部４２は、マクロ情報ＤＢ３７から復元する対象のマクロ情報を読み出す（Ｓ２１０）。
【０１１２】
マクロ復元部４２は、マクロ情報に複数の「担当機器」が登録されているか否かを判定し、複数の機器が登録されていない場合、そのままそのマクロ情報の各機能をコマンドとパラメータに変換し、マクロ復元処理を完了する（Ｓ２２０）。
【０１１３】
マクロ情報に複数の「担当機器」が登録されている場合、マクロ復元部４２は連携機器決定部４３に連携機器を決定するよう要求するので、連携機器決定部４３は機能毎に「担当機器」の使用状況を取得する（Ｓ２３０）。
【０１１４】
使用状況の問い合わせを受けた「担当機器」の機器構成判定部３４は、機能毎に使用状況を回答する（Ｓ２４０）。使用状況は、例えば使用中か否かであるが、これに加えてジョブ実行の残り時間や進捗状況（ジョブ全体のうち現在の進捗がどのくらいか）を含めてもよい。
【０１１５】
連携機器決定部４３は、ある「機能」について複数登録されている全ての「担当機器」について使用状況を取得する。全ての「担当機器」について使用状況を取得すると、連携機器決定部４３は機能毎に「機能」を使用していない「担当機器」を優先的に連携機器に決定する（Ｓ２５０）。複数の「担当機器」がある「機能」を使用していない場合、マクロ情報への登録が早い順、又は、応答の早い順に連携機器を決定する。
【０１１６】
連携機器決定部４３は機能毎に決定した連携機器をマクロ復元部４２に通知する。これにより、マクロ復元部４２は連携機器を決定し、「機能」の実行に必要なコマンドとパラメータを生成してマクロを実行できる。
【０１１７】
本実施例によれば、「機能」の「担当機器」として複数の機器をマクロ情報に登録することで、実行時に「担当機器」の使用状況等に応じて連携機器を決定することができる。そのため、マクロ情報に登録されている「担当機器」が１つ以上使用可能であれば、マクロ情報に設定された「機能」を実行することができ、「担当機器」が使用不可などの理由によりマクロ情報に設定された「機能」を実行できないという状況を減らすことができる。
【実施例６】
【０１１８】
実施例５では連携機器決定部４３が複数の「担当機器」から連携機器を決定したが、本実施例ではユーザが複数の「担当機器」から連携機器を選択するＭＦＰ２について説明する。
【０１１９】
図２４は、本実施例のＭＦＰ２の機能ブロック図の一例である。図２４において図２１と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ２は新たに連携機器選択受付部４４を有する。
【０１２０】
連携機器選択受付部４４は、ＭＦＰ２がマクロを実行する際に、ユーザにどの「担当機器」を利用するかを選択させ、その選択を受け付ける。マクロの実行時でなく、マクロの実行前（例えば登録時）に、ユーザに選択させることもできる。
【０１２１】
図２５は、マクロ復元部４２が、マクロ情報に設定された「機能」の実行時に連携機器を決定する手順を示すアクティビティ図の一例である。図２５において図２３と同一ステップの説明は省略する。
【０１２２】
マクロ情報に複数の「担当機器」が登録されている場合、連携機器選択受付部４４はユーザに連携機器を選択させる（Ｓ３１０）。
図２６は操作部１７に表示される選択画面の一例を示す図である。連携機器選択受付部４４は、マクロ情報に複数の「担当機器」が登録されている機能毎に、図２６（ａ）のような選択画面を表示する。すなわち、「機能ｘｘ  操作実行可能な機器の一覧を提示します」というメッセージ２０１と全ての「担当機器」の識別情報（図の機器名）２０３やアイコン２０２を操作部１７に表示させる。ユーザは「担当機器」の識別情報により現実世界のどの機器かを判別できるので、「機能」を実行させるＭＦＰを選択することができる。一番近い機器や、処理速度が一番速い機器（最近導入された機器）を選択する
ユーザが１つの「担当機器」を選択すると（操作部１７に接触すると）、連携機器選択受付部４４は選択された「担当機器」の識別情報を受け付ける。そして、図２６（ｂ）のような選択画面を表示する。図２６（ｂ）では「機能××は次の機器で実行します」というメッセージ３０１とユーザが選択した「担当機器」の識別情報３０３とアイコン３０２が表示されている。ユーザがＯＫボタン３０４を押下すると１つの「機能」について連携機器が決定される。連携機器選択受付部４４はすべての「機能」について一意に連携機器が決定されるまで、図２６（ａ）（ｂ）の選択画面を繰り返し表示する。
【０１２３】
連携機器選択受付部４４は全ての「担当機器」について選択を受け付けると機能毎に選択された連携機器をマクロ復元部４２に通知する。これにより、マクロ復元部４２は連携機器を決定し、「機能」の実行に必要なコマンドとパラメータを生成してマクロ情報を実行できる（Ｓ２６０）。
【０１２４】
本実施例によれば、マクロ情報に設定された「機能」の実行時、ユーザが連携機器を任意に選択することができるので、ユーザの希望により、例えばユーザの位置に一番近い機器や、処理速度が一番速い機器を選択することが可能となり、利便性が向上する。
【実施例７】
【０１２５】
実施例１では判断部３５がマクロ情報を取り入れるＭＦＰ２が、自機又は連携によりマクロを実行可能か否かを判断した。しかし、例えば図１０で「マクロ情報の取り入れ失敗」と判断された場合、ＭＦＰ２はマクロ情報を取り込むことができない。この場合、ユーザが別のＭＦＰ３や４に移動して、マクロ情報の取り込みを再度行ってもよいが、操作が面倒である。
【０１２６】
そこで本実施例では、何らかの理由でＭＦＰ２がマクロ情報を取り込むことができない場合、別の機器にマクロ情報の登録を要求するＭＦＰ２について説明する。
【０１２７】
図２７は、本実施例のＭＦＰ２の機能ブロック図の一例である。図２７において図４と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ２は新たに操作実行可否判定部４５及び操作実行機器選択受付部４６を有する。操作実行可否判定部４５は、マクロ情報を取り込めるか否かを判定する。マクロ情報を取り込めない場合とは、主に、図１０で「マクロ情報の取り入れ失敗」と判断された場合である。
【０１２８】
また、判断部３５が連携によりマクロ情報に設定された「機能」が実行可能と判定しても、実質的にＭＦＰ２がマクロを実行できない場合がある。例えば、マクロ情報に登録されている入力機能がUSBメモリやSDカードなど脱着可能な外部メディアである場合（外部メディアに文書が記憶されている場合）が挙げられる。ＭＦＰ２に外部メディアのホストが存在しない場合、連携により「担当機器」が外部メディアのホストを有していれば、判断部３５はマクロ情報に設定された入力を実行できると判定するが、実際にはユーザがＵＳＢメモリなどと共に移動しないと文書を入力できない。このため、操作実行可否判定部４５は、例えば、入力について自機で実行できない「機能」がある場合、マクロを実行できない、すなわちマクロ情報を取り込めないと判定する。
【０１２９】
操作実行機器選択受付部４６は、マクロ情報を登録可能なＭＦＰ３が複数存在する場合に、複数のＭＦＰ３を操作部１７に表示して、ユーザから登録先のＭＦＰ３の選択を受け付ける。こうすることで、ユーザが移動しなくても互いに連携するＭＦＰのいずれかにマクロ情報を登録することができる。
【０１３０】
図２８は、ＭＦＰ２が自機にマクロ情報を登録する手順を示すフローチャート図の一例である。
【０１３１】
まず、マクロ登録部３１は、マクロ情報をＭＦＰ２に取り入れ、マクロ登録処理を開始する（Ｓ１０）。
【０１３２】
次に、ＭＦＰ２の機能構成判定部３４は、取り込む対象のマクロ情報の各機能を自機で実行可能か否かを判定する（Ｓ２０）。この判定のアルゴリズムは実施例１ですでに説明したとおりである。
【０１３３】
次に、操作実行可否判定部４５は、機能構成判定部３４が行った自機でマクロ情報に含まれる「機能」を実行できるか否かの判定結果に基づき、該ＭＦＰ２がマクロを実行が可能か否かを判定する（Ｓ４１０）。ここでは、「入力」の「機能」を全て自機であるＭＦＰ２が実行可能か否かに基づき判定するものとする。
【０１３４】
操作実行可否判定部４５がマクロ情報に含まれる「機能」を実行可能であると判定した場合、図１０のステップＳ３０「判断部が自機で実行可能かどうかを判断する」以降の手順が実行される。
【０１３５】
一方、操作実行可否判定部４５がマクロ情報に含まれる「機能」を実行可能でないと判定した場合、検索部３３が操作実行可能な機器を検索する（Ｓ４２０）。すなわち、１つの「機能」でなくマクロ情報の全体を実行可能な機器を検索することになる。このため、検索部３３は、通信可能な全ての機器に対してマクロ情報を送信し、そのマクロ情報を該機器が実行可能か否かを問い合わせる。
【０１３６】
マクロ情報を受信した他の機器は、ステップＳ２０、Ｓ４１０及び図１０のＳ３０以降の処理を実行して、マクロを実行可能か否か判断する（Ｓ４３０）。当然ながら、各機器は他の機器と連携してマクロ情報を実行することもある。マクロ情報を受信した各機器は判断結果をＭＦＰ２に送信する。
【０１３７】
操作実行可否判定部４５は検索された全てのＭＦＰから判断結果を受信する。そして、全てのＭＦＰから判断結果を受信すると、操作実行機器選択受付部４７がマクロ情報に含まれる「機能」を実行可能な機器の一覧を操作部１７に表示する（Ｓ４４０）。
【０１３８】
図２９は操作部１７に表示される選択画面の一例を示す図である。操作実行機器選択受付部４７は、マクロ情報に含まれる全ての「機能」を自機又は連携して実行可能な「担当機器」の識別情報（図の機器名）４０２やアイコン４０３及び「実行可能な機器の一覧を提示します」というメッセージ４０１を操作部１７に表示させる。ユーザはマクロ情報を登録する機器を選択することができる（Ｓ４５０）。
【０１３９】
ユーザが１つのＭＦＰを選択すると（操作部１７に接触すると）、操作実行機器選択受付部４６は選択されたＭＦＰの識別情報を受け付ける。そして、図２９（ｂ）のような選択画面を表示する。図２９（ｂ）では「次の機器に対してマクロ登録を行いますか？」というメッセージ５０１とユーザが選択した機器の識別情報５０２とアイコン５０３が表示されている。
【０１４０】
ユーザがＯＫボタン５０４を押下すると、操作実行機器選択受付部４６はユーザが選択した機器にマクロ情報を送信する（Ｓ４６０）。
【０１４１】
これにより、マクロ情報に含まれる全ての「機能」を実行できるＭＦＰがマクロ情報を受信したことになるので、このＭＦＰはマクロ情報をマクロ情報ＤＢ３７に登録する（Ｓ４７０）。
【０１４２】
本実施例によれば、マクロ情報を取り込むＭＦＰ２がマクロを実行できない場合、実行が可能なＭＦＰを検索し、ユーザに提示するので、ユーザがマクロ情報を実行できるＭＦＰを新たに探して、その機器へ移動する手間を省くことができる。
【実施例８】
【０１４３】
実施例７ではユーザがマクロ情報の登録先を選択したが、本実施例ではマクロ情報の登録先を自動的に決定するＭＦＰ２について説明する。
【０１４４】
図３０は、本実施例のＭＦＰ１〜４の機能ブロック図の一例である。図３０において図２７と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ２は新たに操作実行機器決定部４７を有する。操作実行機器決定部４７は、マクロを実行可能なＭＦＰが複数存在する場合に、ＭＦＰ２がマクロ情報を登録させる１つの機器を決定する。
【０１４５】
登録先のＭＦＰを選択する基準として、以下のような基準がある。
(i)機器の利用回数が多いものを優先的に決定する。機器の利用回数とは、連携して実行されるジョブの実行回数（以下、連携ジョブ実行回数という）とする。
【０１４６】
図３１は連携ジョブ実行回数のデータ構造の一例を示す。各ＭＦＰは、他のＭＦＰが機器連携してジョブを実行する際に、何らかの「機能」を提供する毎に連携ジョブ実行回数をカウントアップする。したがって、機器連携で「機能」を提供する機器ほど連携ジョブ実行回数が大きくなる。操作実行機器決定部４７は、連携ジョブの実行回数を他の機器から取得して、この回数が大きい機器を優先的に選択する。
(ii)マクロ情報の取込先の機器（ＭＦＰ２）と物理的距離が小さい機器を優先的に決定する。なお、物理的距離を比較するため、各ＭＦＰは他のＭＦＰとの距離情報を予めＨＤＤ１４に記憶しておく。またはＭＦＰにＧＰＳ受信機を搭載しておき、ＧＰＳ受信機が検出した位置情報を利用してもよい。
(iii)応答が最も速い機器を優先的に決定する。
【０１４７】
なお、(i)〜(iii)のいずれの場合も、操作実行機器決定部４７は元々、マクロ情報が登録されていた機器を選択対象から除外する。このため、操作実行機器決定部４７は、マクロ情報に設定されたマクロ情報の生成元の機器の識別子を参照し、該当する機器をマクロ情報の登録先から除外し選択する。
【０１４８】
図３２はマクロ情報に設定された生成元の機器の識別子を示す図の一例である。ここでは、生成元と登録元を同様の意味で使っている。図３２ではマクロ情報を生成した機器ID＝ＭＦＰ１となっている。操作実行機器決定部４７がＭＦＰ１をマクロ情報の登録先から除外することで、元の機器にマクロ情報を戻して登録すること、例えば、２重に登録することを防止できる。
【０１４９】
図３３は、ＭＦＰ２が自機にマクロ情報を登録する手順を示すフローチャート図の一例である。図３３において図２８と同一ステップの説明は省略する。図３３では、ステップＳ４３０で、操作実行機器決定部４７が検索された全てのＭＦＰから判断結果を受信する。この時、操作実行機器決定部４７は連携ジョブ実行回数も受信する。
【０１５０】
そして、操作実行機器決定部４７は連携ジョブ実行回数が最も大きいＭＦＰをマクロ情報の登録対象に決定する（Ｓ５１０）。以降の処理は実施例７と同様である。
【０１５１】
本実施例によれば、マクロ情報を新たなＭＦＰ２に登録する際に、そのＭＦＰ２がマクロを実行できない場合、該マクロを実行可能なＭＦＰを自動的に検索、決定して該ＭＦＰにマクロ情報を登録するので、ユーザがマクロ情報を実行できるＭＦＰを新たに探して、そのＭＦＰへマクロ情報を登録するという手間を省くことができる。
【実施例９】
【０１５２】
ＭＦＰ２が外部記憶手段を介してマクロ情報を登録する手順について説明する。ここで外部記憶手段とは、可搬型の外部記憶メディアであってもよいし、外部記憶サーバでもよい。
【０１５３】
図３４は、本実施例のＭＦＰ２の機能ブロック図の一例である。図３４において図４と同一部には同一の符号を付しその説明は省略する。本実施例のＭＦＰ１〜４は新たにマクロインポート部４８とマクロエクスポート部４９を有する。マクロエクスポート部４９は、マクロ情報が登録されている機器（例えばＭＦＰ１）からマクロデータを外部記憶手段へ書き出す。マクロインポート部４８は、マクロ情報を取り込む機器（例えばＭＦＰ２）が使用する手段であり、外部記憶手段からマクロ情報を読み出し、マクロ登録部３１に送出する。これにより、マクロ登録部３１がマクロ情報を取得できたので、以降の処理は実施例１等と同様になる。
【０１５４】
本実施例によれば、マクロ情報が登録されていた機器が外部記憶手段にマクロ情報をエクスポートし、マクロ情報の取込先の機器が外部記憶手段からマクロ情報をインポートできるので、同一ネットワークに繋がっていない機器間でもマクロ情報の取り出し・取り込みが可能になる。
【符号の説明】
【０１５５】
３１      マクロ登録部
３２      通信部
３３      検索部
３４      機能構成判定部
３５      判断部
３６      マクロ変更部
３７      マクロ情報ＤＢ
４１      単体連携可否判定部
４２      マクロ復元部
４３      連携機器決定部
４４      連携機器選択受付部
４５      操作実行可否判定部
４６      操作実行機器選択受付部
４７      操作実行機器決定部
４８      マクロインポート部
４９      マクロエクスポート部
１００    ＭＦＰ
２００    情報処理システム
【先行技術文献】
【特許文献】
【０１５６】
【特許文献１】特開２０１０‐０２６６５５号公報
【図１】
0005708017.tif 000002
【図２】
0005708017.tif 000003
【図３】
0005708017.tif 000004
【図４】
0005708017.tif 000005
【図５】
0005708017.tif 000006
【図６】
0005708017.tif 000007
【図７】
0005708017.tif 000008
【図８】
0005708017.tif 000009
【図９】
0005708017.tif 000010
【図１０】
0005708017.tif 000011
【図１１】
0005708017.tif 000012
【図１２】
0005708017.tif 000013
【図１３】
0005708017.tif 000014
【図１４】
0005708017.tif 000015
【図１５】
0005708017.tif 000016
【図１６】
0005708017.tif 000017
【図１７】
0005708017.tif 000018
【図１８】
0005708017.tif 000019
【図１９】
0005708017.tif 000020
【図２０】
0005708017.tif 000021
【図２１】
0005708017.tif 000022
【図２２】
0005708017.tif 000023
【図２３】
0005708017.tif 000024
【図２４】
0005708017.tif 000025
【図２５】
0005708017.tif 000026
【図２６】
0005708017.tif 000027
【図２７】
0005708017.tif 000028
【図２８】
0005708017.tif 000029
【図２９】
0005708017.tif 000030
【図３０】
0005708017.tif 000031
【図３１】
0005708017.tif 000032
【図３２】
0005708017.tif 000033
【図３３】
0005708017.tif 000034
【図３４】
0005708017.tif 000035