(57)【要約】【課題】  同一のデータを複数の送信先に送信するサーバーの負荷を低減する。【解決手段】  サーバーは、対象データを複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補候補装置決定部２５５と、配信処理の実行可否を１以上の候補装置に問合せる問合せ部２５７と、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定部２５９と、代理装置に配信処理の実行を依頼する依頼部２６１と、を備え、複数の情報処理装置それぞれは、サーバーからの実行可否の問合せに応じて、ハードウェア資源の余力に基づいて、実行可否を判断し、実行可と判断される場合に、実行可否の問合せに応答する。【選択図】        図５
2018081441.tif 000002
【特許請求の範囲】
【請求項１】
サーバーと、前記サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムであって、
前記サーバーは、
対象データを前記複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定手段と、
前記配信処理の実行可否を前記１以上の候補装置に問合せる問合せ手段と、
前記１以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、
前記代理装置に前記配信処理の実行を依頼する依頼手段と、を備え、
前記複数の情報処理装置それぞれは、前記サーバーからの前記実行可否の問合せに応じて、前記ハードウェア資源の余力に基づいて、前記実行可否を判断する判断手段と、
前記判断手段により実行可と判断される場合に、前記実行可否の問合せに応答する応答手段と、を備えた情報処理システム。
【請求項２】
前記サーバーは、さらに、前記配信処理を実行するために要求される前記ハードウェア資源の負荷の下限を示す要件情報を前記複数の情報処理装置に送信する要件情報送信手段を、備え、
前記複数の情報処理装置それぞれが備える前記判断手段は、前記ハードウェア資源の余力が前記要件情報で示される負荷の下限以上の場合に実行可と判断する、請求項１に記載の情報処理システム。
【請求項３】
前記サーバーは、前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、
前記候補装置決定手段は、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記１以上の候補装置を決定する、請求項１または２に記載の情報処理システム。
【請求項４】
前記サーバーは、前記複数の情報処理装置から発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、
前記候補装置決定手段は、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記１以上の候補装置に決定しない、請求項１〜３のいずれかに記載の情報処理システム。
【請求項５】
前記複数の情報処理装置それぞれは、前記代理装置として機能する場合、さらに、エラーの発生を検出するエラー検出手段と、
前記エラー検出手段により前記配信処理の実行が依頼された後に検出されたエラーに基づいて、前記配信処理を継続するか否かを判断する継続判断手段と、を備え、
前記サーバーは、さらに、前記代理装置から継続しないことが通知されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定手段を備えた、請求項１〜４のいずれかに記載の情報処理システム。
【請求項６】
前記複数の情報処理装置それぞれは、さらに、前記ハードウェア資源を用いてジョブを実行するジョブ実行手段を、さらに備え、
前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼された後に、前記対象データを送信している間は、予め定められた種類のジョブの実行を禁止するジョブ禁止手段を備える、請求項１〜５のいずれかに記載の情報処理システム。
【請求項７】
前記複数の情報処理装置それぞれは、さらに、前記ハードウェア資源を制御するために用いられる設定値を設定する設定値設定手段を備え、
前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼された後に、前記設定値設定手段による前記対象データを送信不可能になる設定値への変更を禁止する変更禁止手段を、備える請求項１〜５のいずれかに記載の情報処理システム。
【請求項８】
前記複数の情報処理装置それぞれは、第１のネットワークに接続され、前記第１のネットワークを介して前記複数の情報処理装置のうち他の情報処理装置と通信可能であり、
前記サーバーは、前記第１のネットワークとは別の第２のネットワークに接続され、前記第１のネットワークおよび前記第２のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項１〜７のいずれかに記載の情報処理システム。
【請求項９】
前記サーバーは、前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、
前記位置情報を前記１以上の送信先装置それぞれに通知する位置通知手段と、を備え、
前記複数の情報処理装置それぞれは、前記送信先装置として機能する場合、前記位置情報で特定される前記対象データを前記代理装置からダウンロードするダウンロード手段を、さらに備えた、請求項１〜８のいずれかに記載の情報処理システム。
【請求項１０】
前記複数の情報処理装置それぞれは、前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼される場合、前記サーバーから送信される前記対象データを外部からアクセス可能な領域に記憶する記憶制御手段と、
前記対象データが記憶された位置を示す位置情報を前記サーバーに送信する位置情報送信手段と、
前記位置情報を含むダウンロード要求を前記１以上の送信先装置のいずれかから受信することに応じて、前記対象データを送信する送信手段と、を備える請求項９に記載の情報処理システム。
【請求項１１】
前記複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている、請求項１〜１０のいずれかに記載の情報処理システム。
【請求項１２】
前記余力は各情報処理装置のジョブの実行状況に対応する、請求項１〜１１のいずれかに記載の情報処理システム。
【請求項１３】
前記余力は前記ハードウェア資源の空き状況に対応する、請求項１〜１２のいずれかに記載の情報処理システム。
【請求項１４】
複数の情報処理装置と通信可能に接続されたサーバーであって、
対象データを前記複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定手段と、
前記配信処理の実行可否を、前記１以上の候補装置に問合せ、前記１以上の候補装置それぞれに前記配信処理を実行するために用いられるハードウェア資源の余力に基づいて、前記実行可否を判断させる問合せ手段と、
前記１以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、
前記代理装置に前記配信処理の実行を依頼する依頼手段と、を備えたサーバー。
【請求項１５】
前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、
前記候補装置決定手段は、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記１以上の候補装置を決定する、請求項１４に記載のサーバー。
【請求項１６】
前記複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、
前記候補装置決定手段は、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記１以上の候補装置に決定しない、請求項１４または１５に記載のサーバー。
【請求項１７】
前記代理装置により前記配信処理の実行を継続しないと判断されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定手段をさらに備えた、請求項１４〜１６のいずれかに記載のサーバー。
【請求項１８】
前記サーバーは、前記複数の情報処理装置それぞれが接続される第１のネットワークとは別の第２のネットワークに接続され、前記第１のネットワークおよび前記第２のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項１４〜１７のいずれかに記載のサーバー。
【請求項１９】
前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、
前記１以上の送信先装置それぞれに前記位置情報を通知し、前記１以上の送信先装置それぞれに前記位置情報で特定される前記対象データを前記代理装置からダウンロードさせるダウンロード指示手段と、をさらに備えた、請求項１４〜１８のいずれかに記載のサーバー。
【請求項２０】
前記複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている、請求項１４〜１９のいずれかに記載のサーバー。
【請求項２１】
前記余力は各情報処理装置のジョブの実行状況に対応する、請求項１４〜２０のいずれかに記載のサーバー。
【請求項２２】
前記余力は前記ハードウェア資源の空き状況に対応する、請求項１４〜２１のいずれかに記載のサーバー。
【請求項２３】
サーバーと、前記サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムで実行されるデータ配信方法であって、
前記サーバーに、
対象データを前記複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定ステップと、
前記配信処理の実行可否を前記１以上の候補装置に問合せる問合せステップと、
前記１以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、
前記代理装置に前記配信処理の実行を依頼する依頼ステップと、を実行させ、
前記複数の情報処理装置それぞれに、前記サーバーからの前記実行可否の問合せに応じて、前記対象データを送信する処理を実行するために用いられるハードウェア資源の余力に基づいて、前記実行可否を判断する判断ステップと、
前記判断ステップにおいて実行可と判断される場合に、前記実行可否の問合せに応答する応答ステップと、を実行させるデータ配信方法。
【請求項２４】
複数の情報処理装置と通信可能に接続されたサーバーを制御するコンピューターで実行されるデータ配信プログラムであって、
対象データを前記複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定ステップと、
前記配信処理の実行可否を、前記１以上の候補装置に問合せ、前記１以上の候補装置それぞれに前記配信処理を実行するために用いられるハードウェア資源の余力に基づいて、前記実行可否を判断させる問合せステップと、
前記１以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、
前記代理装置に前記配信処理の実行を依頼する依頼ステップと、を前記コンピューターに実行させるデータ配信プログラム。
【請求項２５】
前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得ステップを、さらに前記コンピューターに実行させ、
前記候補装置決定ステップは、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記１以上の候補装置を決定するステップを含む、請求項２４に記載のデータ配信プログラム。
【請求項２６】
前記複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得ステップを、さらに前記コンピューターに実行させ、
前記候補装置決定ステップは、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記１以上の候補装置に決定しないステップを含む、請求項２４または２５に記載のデータ配信プログラム。
【請求項２７】
前記代理装置により前記配信処理の実行を継続しないと判断されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定ステップをさらに前記コンピューターに実行させる、請求項２４〜２６のいずれかに記載のデータ配信プログラム。
【請求項２８】
前記サーバーは、前記複数の情報処理装置それぞれが接続される第１のネットワークとは別の第２のネットワークに接続され、前記第１のネットワークおよび前記第２のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項２４〜２７のいずれかに記載のデータ配信プログラム。
【請求項２９】
前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得ステップと、
前記１以上の送信先装置それぞれに前記位置情報を通知し、前記１以上の送信先装置それぞれに前記位置情報で特定される前記対象データを前記代理装置からダウンロードさせるダウンロード指示ステップと、をさらに前記コンピューターに実行させる、請求項２４〜２８のいずれかに記載のデータ配信プログラム。
【請求項３０】
前記複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている、請求項２４〜２９のいずれかに記載のデータ配信プログラム。
【請求項３１】
前記余力は各情報処理装置のジョブの実行状況に対応する、請求項２４〜３０のいずれかに記載のデータ配信プログラム。
【請求項３２】
前記余力は前記ハードウェア資源の空き状況に対応する、請求項２４〜３１のいずれかに記載のデータ配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理システム、サーバー、データ配信方法およびデータ配信プログラムに関し、特に、１つのサーバーから複数の情報処理装置に同一のデータを配信する情報処理システム、そのサーバー、その情報処理システムで実行されるデータ配信方法およびサーバーを制御するコンピューターで実行されるデータ配信プログラムに関する。
【０００２】
近年、画像形成装置で代表される複合機（以下「ＭＦＰ」という）は、ＬＡＮ（ローカルエリアネットワーク）に接続される場合が多い。複数のＭＦＰをＬＡＮに接続する場合に複数のＭＦＰを効率的に使用する技術が知られている。例えば、特開２０１４−１０６７２７号公報には、複数の画像形成装置と、情報処理装置と通信するサーバー装置において、情報処理装置よりいずれかの画像形成装置で処理すべきジョブの構成情報を取得し、当該取得した構成情報に従い、前記ジョブの各ページに対するデータ処理中に、各ページを印刷する電力負荷で消費される待機電力量と、各ページの印刷処理で消費される消費電力量とを各画像形成装置について積算し、積算した消費電力量が少ない画像形成装置を特定する装置情報を前記情報処理装置に通知することが記載されている。
【０００３】
しかしながら、複数の画像形成装置の中には、別のジョブを実行中の状態の装置もあれば、誰にも使用されずに電力消費の少ない状態の装置もあり、複数の画像形成装置それぞれの状態に対応した電力量を複数の画像形成装置のすべてから取得しなければならず、サーバー装置の負荷およびネットワークの負荷が増大するといった問題がある。
【特許文献１】特開２０１４−１０６７２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減した情報処理システムを提供することである。
【０００５】
この発明の他の目的は、同一のデータを複数の送信先に送信する処理の負荷を低減したサーバーを提供することである。
【０００６】
この発明のさらに他の目的は、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減したデータ配信方法を提供することである。
【０００７】
この発明のさらに他の目的は、同一のデータを複数の送信先に送信する処理の負荷を低減したデータ配信プログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、サーバーと、サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムであって、サーバーは、対象データを複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定手段と、配信処理の実行可否を１以上の候補装置に問合せる問合せ手段と、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、代理装置に配信処理の実行を依頼する依頼手段と、を備え、複数の情報処理装置それぞれは、サーバーからの実行可否の問合せに応じて、ハードウェア資源の余力に基づいて、実行可否を判断する判断手段と、判断手段により実行可と判断される場合に、実行可否の問合せに応答する応答手段と、を備える。
【０００９】
この局面に従えば、サーバーが、配信処理の実行可否を１以上の候補装置に問合せ、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定し、代理装置に配信処理の実行を依頼する。このため、サーバーは、配信処理の実行を代理装置に依頼するので、サーバーの負荷を低減することができる。複数の情報処理装置それぞれは、サーバーからの実行可否の問合せに応じて、ハードウェア資源の余力に基づいて、実行可否を判断し、実行可と判断される場合に、実行可否の問合せに応答する。このため、複数の情報処理装置それぞれが、ハードウェア資源の余力に基づいて配信処理の実行可否を判断するので、サーバーの負荷を低減することができる。その結果、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減した情報処理システムを提供することができる。
【００１０】
好ましくは、サーバーは、さらに、配信処理を実行するために要求されるハードウェア資源の負荷の下限を示す要件情報を複数の情報処理装置に送信する要件情報送信手段を、備え、複数の情報処理装置それぞれが備える判断手段は、ハードウェア資源の余力が要件情報で示される負荷の下限以上の場合に実行可と判断する。
【００１１】
この局面に従えば、複数の情報処理装置それぞれは、ハードウェア資源の余力が、対象データを送信する処理を実行するために要求されるハードウェア資源の負荷の下限以上の場合に実行可と判断するので、複数の情報処理装置それぞれにおいて、ハードウェア資源の余力の変動に対応して配信処理の実行可否を判断することができる。また、サーバーにおいて、複数の情報処理装置それぞれのハードウェア資源の余力を取得する必要がないので、ネットワーク資源を有効に利用することができるとともに、サーバーの負荷を低減することができる。
【００１２】
好ましくは、サーバーは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、候補装置決定手段は、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから１以上の候補装置を決定する。
【００１３】
この局面に従えば、サーバーは、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから１以上の候補装置を決定するので、配信処理を実行するのに適した性能のハードウェア資源を有する情報処理装置を候補装置に決定することができる。
【００１４】
好ましくは、サーバーは、複数の情報処理装置から発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、候補装置決定手段は、複数の情報処理装置のうち回復不可能なエラーが発生している装置を１以上の候補装置に決定しない。
【００１５】
この局面に従えば、サーバーは、回復不可能なエラーが発生している情報処理装置を候補装置に決定しないので、配信処理を実行可能と判断する確率の高い情報処理装置に配信処理の実行可否を問合せることができる。
【００１６】
好ましくは、複数の情報処理装置それぞれは、代理装置として機能する場合、さらに、エラーの発生を検出するエラー検出手段と、エラー検出手段により配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断する継続判断手段と、を備え、サーバーは、さらに、代理装置から継続しないことが通知されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定手段を備える。
【００１７】
この局面に従えば、代理装置は、配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断し、サーバーは、さらに、代理装置から継続しないことが通知されることに応じて、新たな代理装置を決定する。このため、１以上の送信先装置の全てに対象データを送信することができる。
【００１８】
好ましくは、複数の情報処理装置それぞれは、さらに、ハードウェア資源を用いてジョブを実行するジョブ実行手段を、さらに備え、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼された後に、対象データを送信している間は、予め定められた種類のジョブの実行を禁止するジョブ禁止手段を備える。
【００１９】
この局面に従えば、代理装置は、サーバーにより配信処理の実行が依頼された後に対象データを送信している間は、予め定められた種類のジョブの実行を禁止するので、対象データの送信をジョブの実行より優先して、対象データをできるだけ早く送信することができる。
【００２０】
好ましくは、複数の情報処理装置それぞれは、さらに、ハードウェア資源を制御するために用いられる設定値を設定する設定値設定手段を備え、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼された後に、設定値設定手段による対象データを送信不可能になる設定値への変更を禁止する変更禁止手段を、備える。
【００２１】
この局面に従えば、代理装置は、配信処理の実行が依頼された後は、対象データを送信不可能になる設定値への変更を禁止するので、対象データを送信可能な状態を維持することができる。
【００２２】
好ましくは、複数の情報処理装置それぞれは、第１のネットワークに接続され、第１のネットワークを介して複数の情報処理装置のうち他の情報処理装置と通信可能であり、サーバーは、第１のネットワークとは別の第２のネットワークに接続され、第１のネットワークおよび第２のネットワークを介して複数の情報処理装置それぞれと通信可能である。
【００２３】
この局面に従えば、対象データが第１のネットワークを介して代理装置から送信先装置に送信されるので、第２のネットワークを用いないので、第２のネットワークを有効に利用することができる。
【００２４】
好ましくは、サーバーは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、位置情報を１以上の送信先装置それぞれに通知する位置通知手段と、を備え、複数の情報処理装置それぞれは、送信先装置として機能する場合、位置情報で特定される対象データを代理装置からダウンロードするダウンロード手段を、さらに備える。
【００２５】
この局面に従えば、送信先装置は、サーバーから位置情報が通知され、位置情報で特定される対象データを代理装置からダウンロードするので、サーバーは送信先装置に対象データを送信する必要がないので、サーバーの負荷を低減することができる。
【００２６】
好ましくは、複数の情報処理装置それぞれは、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼される場合、サーバーから送信される対象データを外部からアクセス可能な領域に記憶する記憶制御手段と、対象データが記憶された位置を示す位置情報をサーバーに送信する位置情報送信手段と、位置情報を含むダウンロード要求を１以上の送信先装置のいずれかから受信することに応じて、対象データを送信する送信手段と、を備える。
【００２７】
この局面に従えば、代理装置は、対象データの送信先である１以上の送信先装置を知る必要がないので、代理装置における処理を簡略にすることができる。
【００２８】
好ましくは、複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている。
【００２９】
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
【００３０】
好ましくは、余力はハードウェア資源の空き状況に対応する。
【００３１】
この発明の他の局面によれば、サーバーは、複数の情報処理装置と通信可能に接続されたサーバーであって、対象データを複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定手段と、配信処理の実行可否を、１以上の候補装置に問合せ、１以上の候補装置それぞれに配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断させる問合せ手段と、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、代理装置に配信処理の実行を依頼する依頼手段と、を備える。
【００３２】
この局面に従えば、同一のデータを複数の送信先に送信する処理の負荷を低減したサーバーを提供することができる。
【００３３】
好ましくは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、候補装置決定手段は、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから１以上の候補装置を決定する。
【００３４】
この局面に従えば、配信処理を実行するのに適した性能のハードウェア資源を有する情報処理装置を候補装置に決定することができる。
【００３５】
好ましくは、複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、候補装置決定手段は、複数の情報処理装置のうち回復不可能なエラーが発生している装置を１以上の候補装置に決定しない。
【００３６】
この局面に従えば、問合せに応答する確率の高い情報処理装置に配信処理の実行可否を問合せることができる。
【００３７】
好ましくは、代理装置により配信処理の実行を継続しないと判断されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定手段をさらに備える。
【００３８】
この局面に従えば、１以上の送信先装置の全てに対象データを送信することができる。
【００３９】
好ましくは、サーバーは、複数の情報処理装置それぞれが接続される第１のネットワークとは別の第２のネットワークに接続され、第１のネットワークおよび第２のネットワークを介して複数の情報処理装置それぞれと通信可能である。
【００４０】
この局面に従えば、第２のネットワークを有効に利用することができる。
【００４１】
好ましくは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、１以上の送信先装置それぞれに位置情報を通知し、１以上の送信先装置それぞれに位置情報で特定される対象データを代理装置からダウンロードさせるダウンロード指示手段と、をさらに備える。
【００４２】
この局面に従えば、サーバーは送信先装置に対象データを送信する必要がないので、サーバーの負荷を低減することができる。
【００４３】
好ましくは、複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている。
【００４４】
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
【００４５】
好ましくは、余力はハードウェア資源の空き状況に対応する。
【００４６】
この発明のさらに他の局面によれば、データ配信方法は、サーバーと、サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムで実行されるデータ配信方法であって、サーバーに、対象データを複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定ステップと、配信処理の実行可否を１以上の候補装置に問合せる問合せステップと、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、代理装置に配信処理の実行を依頼する依頼ステップと、を実行させ、複数の情報処理装置それぞれに、サーバーからの実行可否の問合せに応じて、対象データを送信する処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断する判断ステップと、判断ステップにおいて実行可と判断される場合に、実行可否の問合せに応答する応答ステップと、を実行させる。
【００４７】
この局面に従えば、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減したデータ配信方法を提供することができる。
【００４８】
この発明のさらに他の局面によれば、データ配信プログラムは、複数の情報処理装置と通信可能に接続されたサーバーを制御するコンピューターで実行されるデータ配信プログラムであって、対象データを複数の情報処理装置のうち１以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる１以上の候補装置を決定する候補装置決定ステップと、配信処理の実行可否を、１以上の候補装置に問合せ、１以上の候補装置それぞれに配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断させる問合せステップと、１以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、代理装置に配信処理の実行を依頼する依頼ステップと、をコンピューターに実行させる。
【００４９】
この局面に従えば、同一のデータを複数の送信先に送信する処理の負荷を低減したデータ配信プログラムを提供することができる。
【００５０】
好ましくは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得ステップを、さらにコンピューターに実行させ、候補装置決定ステップは、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから１以上の候補装置を決定するステップを含む。
【００５１】
好ましくは、複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得ステップを、さらにコンピューターに実行させ、候補装置決定ステップは、複数の情報処理装置のうち回復不可能なエラーが発生している装置を１以上の候補装置に決定しないステップを含む。
【００５２】
好ましくは、代理装置により配信処理の実行を継続しないと判断されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定ステップをさらにコンピューターに実行させる。
【００５３】
好ましくは、サーバーは、複数の情報処理装置それぞれが接続される第１のネットワークとは別の第２のネットワークに接続され、第１のネットワークおよび第２のネットワークを介して複数の情報処理装置それぞれと通信可能である。
【００５４】
好ましくは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得ステップと、１以上の送信先装置それぞれに位置情報を通知し、１以上の送信先装置それぞれに位置情報で特定される対象データを代理装置からダウンロードさせるダウンロード指示ステップと、をさらにコンピューターに実行させる。
【００５５】
好ましくは、複数の情報処理装置は、所定のネットワークを介して互いに通知可能に接続されている。
【００５６】
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
【００５７】
好ましくは、余力はハードウェア資源の空き状況に対応する。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態の１つにおける情報処理システムの全体概要の一例を示す図である。
【図２】本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。
【図３】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】配信システムにおけるデータの流れの概要を示す図である。
【図５】サーバーが備えるＣＰＵの機能の一例を示すブロック図である。
【図６】本実施の形態におけるＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図７】継続判断で参照する回復不可能なエラーを定めた第１のエラーテーブルの一例を示す図である。
【図８】継続判断で参照する回復可能なエラーを定めた第２のエラーテーブルの一例を示す図である。
【図９】データ配信処理の流れの一例を示すフローチャートである。
【図１０】候補装置決定処理の流れの一例を示すフローチャートである。
【図１１】受信指示処理の流れの一例を示す図である。
【図１２】代理配信処理の流れの一例を示すフローチャートである。
【図１３】問合せ応答処理の流れの一例を示すフローチャートである。
【図１４】依頼受付処理の流れの一例を示すフローチャートである。
【図１５】ジョブ制御処理の流れの一例を示すフローチャートである。
【図１６】ダウンロード処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００５９】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００６０】
図１は、本発明の実施の形態の１つにおける情報処理システムの全体概要の一例を示す図である。図１を参照して、情報処理システム１は、サーバー２００と、複合機であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ〜１００Ｄと、を含む。サーバー２００は、インターネット５に接続されており、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれはローカルエリアネットワーク（ＬＡＮ）３と接続されている、インターネット５とＬＡＮ３とは、ゲートウェイ（Ｇ／Ｗ）３００で接続されている。このため、ＭＦＰ１００，１００Ａ〜１００ＤはＬＡＮ３を介して互いに通信可能である。また、サーバー２００は、インターネット５およびＬＡＮ３を介して、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれと通信可能である。
【００６１】
ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれの基本的なハードウェア構成および機能は同じなので、ここでは特に言及しない限りＭＦＰ１００を例に説明する。
【００６２】
図２は、本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、サーバー２００は、サーバー２００の全体を制御するための中央演算装置（ＣＰＵ）２０１と、ＣＰＵ２０１が実行するためのプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として使用されるＲＡＭ２０３と、データを不揮発的に記憶するハードディスクドライブ（ＨＤＤ）２０４と、ＣＰＵ２０１をインターネット５に接続する通信部２０５と、情報を表示する表示部２０６と、ユーザーの操作の入力を受け付ける操作部２０７と、外部記憶装置２０８と、を含む。
【００６３】
ＲＯＭ２０２は、ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１がプログラムを実行する際の作業領域として用いられる。
【００６４】
表示部２０６は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部２０７は、複数のキーからなるハードキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部２０７は、表示部２０６上に設けられたタッチパネルを含んでもよい。
【００６５】
通信部２０５は、ＣＰＵ２０１をインターネット５に接続するためのインターフェースである。ＣＰＵ２０１は、通信部２０５を介して、インターネット５に接続されたコンピューターとの間で通信し、データを送受信する。さらに、通信部２０５は、ゲートウェイ装置３００を介して、ＬＡＮ３に接続されたＭＦＰ１００，１００Ａ〜１００Ｄと通信が可能である。
【００６６】
外部記憶装置２０８は、ＣＤ−ＲＯＭ２０９が装着される。ＣＰＵ２０１は、外部記憶装置２０８を介してＣＤ−ＲＯＭ２０９にアクセス可能である。ＣＰＵ２０１は、外部記憶装置２０８に装着されたＣＤ−ＲＯＭ２０９に記録されたプログラムをＲＡＭ２０３にロードして実行する。なお、ＣＰＵ２０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ２０９に限られず、光ディスク、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリであってもよい。
【００６７】
また、ＣＰＵ２０１が実行するプログラムは、ＣＤ−ＲＯＭ２０９に記録されたプログラムに限られず、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、インターネット５に接続された他のコンピューターが、サーバー２００のＨＤＤ２０４に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー２００が、インターネット５に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ２０４に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００６８】
図３は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、画像が形成された用紙を処理する後処理部１５５と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００６９】
後処理部１５５は、画像形成部１４０により画像が形成された１以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステップル針を打ち込むステップル処理を実行する。
【００７０】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＣＤ−ＲＯＭ１１８が装着される外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、後処理部１５５および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００７１】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００７２】
操作パネル１６０は、ＭＦＰ１００の上面に設けられ、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、複数のキーからなるハードキー部１６７を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部１６３は、表示部１６１上に設けられたタッチパネル１６５をさらに含む。
【００７３】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をＬＡＮ３に接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、ＬＡＮ３に接続された装置との間で通信し、データを送受信する。さらに、通信Ｉ／Ｆ部１１２は、ゲートウェイ装置３００を介して、インターネット５に接続されたコンピューター、例えば、サーバー２００と通信が可能である。
【００７４】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００７５】
外部記憶装置１１７は、ＣＤ−ＲＯＭ１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８にアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装着されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ／ＭＤ／ＤＶＤ）、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリであってもよい。
【００７６】
また、ＣＰＵ１１１は、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ＬＡＮ３またはインターネット５に接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ＬＡＮ３またはインターネット５に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００７７】
本実施の形態におけるデータ配信システムにおいては、サーバー２００に、管理対象としてＭＦＰ１００，１００Ａ〜１００Ｄが予め登録されている。例えば、サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれにインストールされているプログラムを管理する。サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに新規なプログラムをインストールさせたり、新バージョンのプログラムに更新させたりするために、インストールまたは更新の対象となるプログラムと、インストールするためのインストールコマンドまたは更新するための更新コマンドと、を含むデータをＭＦＰ１００，１００Ａ〜１００Ｄに送信する。
【００７８】
また、サーバー２００は、管理対象となるＭＦＰ１００，１００Ａ〜１００Ｄで共通で記憶される共通データを管理する。共通データは、例えば、データを送信する宛先の情報のリストであるアドレス帳を含む。サーバー２００は、新たな宛先の情報の追加、既存の宛先の情報の変更または削除などが発生する場合、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに記憶されるアドレス帳を更新させるために、宛先の情報と、追加、変更または削除を指示するコマンドとを含むデータを、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに送信する。
【００７９】
また、共通のデータは、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれで設定される設定値を含む。共通データに含まれる設定値は、限定するものではないが、例えば、データを送受信するプロトコルを定める設定値、送受信されるデータのデータ形式を定める設定値、所定のサービスを提供するサービス提供サーバーにログインするためのアカウントおよびパスワードを含む。本実施の形態におけるサーバーは、共通データに含まれる設定値が変更される場合、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに設定値を変更させるために、変更後の設定値と設定値の変更を指示するコマンドとを含むデータを、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに送信する。
【００８０】
本実施の形態におけるデータ配信システムにおいては、サーバー２００からＭＦＰ１００，１００Ａ〜１００Ｄにデータを送信する処理を、ＭＦＰ１００，１００Ａ〜１００Ｄが接続されるＬＡＮに接続された装置、例えば、ＭＦＰ１００，１００Ａ〜１００Ｄのいずれかに依頼する。以下、サーバー２００からＭＦＰ１００，１００Ａ〜１００Ｄにデータを送信する処理を「配信処理」といい、送信の対象となるデータを「対象データ」という。
【００８１】
図４は、配信システムにおけるデータの流れの概要を示す図である。図４では、上から下に向かって時間の経過を示す直線で、サーバー２００、ＭＦＰ１００、ＭＦＰ１００Ａ〜ＭＦＰ１００Ｄそれぞれがデータを送受信するタイミングを示し、送受信されるデータを、データを送信する装置からデータを受信する装置に向かう矢印で示している。
【００８２】
サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄに性能情報を要求し、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれから性能情報を受信する。なお、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれが、サーバー２００からの要求を受信することなく、性能情報をサーバー２００に送信するようにしてもよい。また、ＭＦＰ１００，１００Ａ〜１００Ｄが性能情報を送信する順番は図に示した順番に限られない。
【００８３】
サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれの性能情報に基づいて、候補装置を決定し、候補装置に配信処理が可能か否かを問合わせる。問合わせは、対象データを送信するための要件を示す要件情報を含む。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄすべてを候補装置に決定する場合を示している。このため、サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに問合せをする。要件情報は、ＨＤＤ１１５に新たに記憶可能なデータのデータ量の下限値、ＲＡＭ１１４の未使用領域の下限値、単位時間当たりのＣＰＵの空き時間の割合の下限値を含む。したがって、要件情報は、対象データのサイズによって異なる。
【００８４】
問合せを受ける候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、自装置の状態が要件情報で定められる要件を満たす場合に応答するが、要件を満たさない場合に応答しない。ここでは、ＭＦＰ１００が応答し、ＭＦＰ１００Ａ〜１００Ｄ，１００Ａが応答しない場合を示している。
【００８５】
サーバー２００は、問合せに対して応答するＭＦＰ１００を代理装置に決定し、配信処理の実行を依頼する。サーバー２００は、配信処理の実行を依頼する際に、対象データを送信する。代理装置であるＭＦＰ１００は、サーバー２００から送信される対象データをＨＤＤ１１５に記憶し、ＨＤＤ１１５に記憶された対象データのネットワークアドレスを位置情報としてサーバー２００に送信する。ネットワークアドレスは、例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。
【００８６】
サーバー２００は、位置情報を、対象データの送信先である送信先装置に送信する。ここでは、送信先装置を、ＭＦＰ１００，１００Ａ〜１００Ｄとしている。ＭＦＰ１００，１００Ａ〜１００Ｄは、サーバー２００から送信される位置情報を一時記憶する。
【００８７】
サーバー２００は、ダウンロード指示を送信先装置に送信する。送信先装置であるＭＦＰ１００は、ダウンロード指示を受信する場合、先に一時記憶された位置情報で特定される対象データが自装置に記憶されているので、対象データをＨＤＤ１１５から読み出して、ＨＤＤ１１５の所定の位置に記憶する。送信先装置であるＭＦＰ１００Ａ〜１００Ｄそれぞれは、サーバー２００からダウンロード指示を受信すると、先に一時記憶された位置情報を含む送信要求をＭＦＰ１００に送信し、位置情報で特定される対象データをＭＦＰ１００からダウンロードし、ＨＤＤ１１５の所定の位置に記憶する。
【００８８】
ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、対象データがコマンドを含んでいる場合は、そのコマンドに従って対象データを処理する。例えば、対象データが、インストールを指示するコマンドとプログラムとを含んでいる場合、プログラムをインストールする。対象データが共通データを更新するコマンドと、共通データとを含む場合、コマンドを実行して共通データを更新する。共通データが、宛先の情報の場合は、アドレス帳を更新し、共通データが設定値の場合、設定値を更新する。
【００８９】
図５は、サーバーが備えるＣＰＵの機能の一例を示すブロック図である。図５に示す機能は、サーバー２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９に記憶されたデータ配信プログラムを実行することにより、ＣＰＵ２０１に形成される機能である。図５を参照して、サーバー２００が備えるＣＰＵ２０１は、性能情報取得部２５１と、エラー発生情報取得部２５３と、候補装置決定部２５５と、問合せ部２５７と、代理装置決定部２５９と、依頼部２６１と、送信先決定部２６３と、受信指示部２６５と、を含む。
【００９０】
性能情報取得部２５１は、管理対象として登録されたＭＦＰ１００，１００Ａ〜１００Ｄそれぞれから性能情報を取得する。具体的には、性能情報取得部２５１は、通信部２０５を制御して、ＭＦＰ１００，１００Ａ〜１００Ｄに性能情報を要求し、通信部２０５がＭＦＰ１００，１００Ａ〜１００Ｄそれぞれから受信する性能情報を取得する。性能情報は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれについて、その装置が有するハードウェア資源の性能を示す。性能情報は、例えば、ＣＰＵ１１１の処理速度、ＲＡＭ１１４のサイズを含む。性能情報取得部２５１は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれの性能情報を取得する場合、性能情報を送信してきた装置の装置識別情報と性能情報との組を候補装置決定部２５５に出力する。
【００９１】
エラー発生情報取得部２５３は、管理対象として登録されたＭＦＰ１００，１００Ａ〜１００Ｄそれぞれからエラー発生情報を取得する。具体的には、エラー発生情報取得部２５３は、通信部２０５を制御して、ＭＦＰ１００，１００Ａ〜１００Ｄにエラー発生情報を要求し、通信部２０５がＭＦＰ１００，１００Ａ〜１００Ｄいずれかから受信するエラー発生情報を取得する。ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、エラー発生情報の要求を受信する場合、その時点で発生しているエラーを識別するためのエラー識別情報を含むエラー発生情報を返信する。エラー発生情報取得部２５３は、エラー発生情報を取得する場合、エラー発生情報を送信してきた装置の装置識別情報と、エラー発生情報との組を候補装置決定部２５５に出力する。
【００９２】
候補装置決定部２５５は、管理対象として登録されたＭＦＰ１００，１００Ａ〜１００Ｄのうちから候補装置を決定する。候補装置決定部２５５は、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれについて、性能情報を、配信処理を実行するために要求されるハードウェア資源要件と比較し、装置の性能が、ハードウェア資源要件を満たしている場合に候補装置に決定する。ハードウェア資源要件は、ハードウェア資源の性能の下限値を定める。例えば、ハードウェア資源要件は、ＣＰＵの処理速度の下限値、ＣＰＵが作業領域として用いるメモリのサイズの下限値である。ハードウェア資源要件は、対象データのサイズによって異なるのが好ましい。このため、候補装置決定部２５５は、対象データのサイズに応じて、ハードウェア資源要件を定める。複数のデータサイズごとに、ハードウェア資源要件を定めたテーブルを準備しておき、そのテーブルを参照してハードウェア資源要件を決定するようにすればよい。候補装置決定部２５５は、ＭＦＰ１００，１００Ａ〜１００Ｄごとに、性能情報をハードウェア資源要件と比較し、性能情報に含まれるＣＰＵ１１１の処理速度およびＲＡＭ１１４のサイズが、ハードウェア資源要件でそれぞれ定める下限値以上ならば候補装置に決定する。候補装置決定部２５５は、候補装置を決定する場合、候補装置を識別するための装置識別情報を問合せ部２５７に出力する。
【００９３】
また、候補装置決定部２５５は、ＭＦＰ１００，１００Ａ〜１００Ｄのうちで、性能情報がハードウェア資源要件を満たしている装置であっても、回復不可能なエラーが発生している装置は候補装置に決定しない。回復不可能なエラーが発生している装置は、配信処理を実行できない可能性が高いからである。エラーには、ソフトウェアの動作に起因するソフトウェエラーと、ハードウェア資源の動作に起因するハードウェアエラーと、がある。回復不可能なエラーは、ソフトウェアエラーの場合、オペレーティングシステムの不具合により継続した動作が不可能なエラーであり、例えば、ＬＡＮ３を介したデータの送受信が継続して動作できないエラーを含む。回復不可能なエラーは、ハードウェアエラーの場合、ユーザーによる回復作業が困難なエラーであり、例えば、ハードウェア資源の交換が必要なエラーを含み、具体的には、センサー故障、電源の異常、感光体ドラムの故障、定着ローラーの故障、現像器の故障を含む。回復不可能なエラーの場合、ハードウェア資源を動作させることができず、メインスイッチがＯＦＦにされる場合があるからである。なお、回復不可能なエラーは、これらに限定されるものではない。回復不可能なエラーは、サーバー２００の管理者が決定するようにしてもよい。例えば、候補装置決定部２５５は、回復不可能なエラーを定めたテーブルを予め準備しておき、そのテーブルを参照して、装置から受信されるエラー識別情報で特定されるエラーが回復不可能なエラーか否かを判断する。
【００９４】
候補装置決定部２５５は、ＭＦＰ１００，１００Ａ〜１００Ｄのうち回復可能なエラーが発生している装置を候補装置に決定する場合がある。回復可能なエラーが発生している装置は、配信処理の実行時にはそのエラーが回復している可能性が大きいからである。回復可能なエラーは、例えば、ソフトウェアエラーの場合、例えば、ユーザーによる設定ミスによるエラーであり、ハードウェアエラーの場合、例えば、用紙の詰まり、消耗品の寿命、本体のカバーが開くことによるエラーである。
【００９５】
以下の説明では、ＭＦＰ１００，１００Ａ〜１００Ｄの全てを候補装置に決定する場合を例に説明する。問合せ部２５７は、候補装置に配信処理の実行可否を問合せる。具体的には、問合せ部２５７は、通信部２０５を制御して、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに、配信処理の実行可否を問合せる信号を送信する。問合せ部２５７は、問合せをした候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれの装置識別情報を代理装置決定部２５９に出力する。
【００９６】
問合せ部２５７は、要件情報送信部２７１と、時間帯情報送信部２７３と、を含む。要件情報送信部２７１は、通信部２０５を制御して、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに、要件情報を送信する。要件情報は、配信処理を実行するために必要な負荷を示す。要件情報は、固定的に記憶可能なデータ量の下限値、ＣＰＵが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのＣＰＵの空き時間の割合の下限値を含む。固定的に記憶可能なデータ量の下限値は、対象データのサイズと同じである。ＣＰＵが作業領域として用いるメモリの空き容量の下限値は、ここでは、単位時間当たりのメモリの空き容量の下限値としている。単位時間当たりのＣＰＵの空き時間の割合の下限値は、単位時間当たりにジョブが実行されていない時間の割合である。要件情報は、対象データのサイズによって定まる。このため、複数のデータのサイズそれぞれに対応する要件情報を定めたテーブルを準備しておき、問合せ部２５７は、対象データのサイズに対応する要件情報を決定する。
【００９７】
時間帯情報送信部２７３は、通信部２０５を制御して、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに、時間帯情報を送信する。時間帯情報は、対象データを配信する期間としてユーザーにより定められた配信時間帯を示し、開始日時と終了日時とを含む。
【００９８】
代理装置決定部２５９は、通信部２０５を制御して、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄのいずれかから応答を受信する。問合せを受ける候補装置の詳細は後述するが、配信処理を実行可能な場合に応答信号を返信し、配信処理を実行不可能な場合に応答信号を返信しない。代理装置決定部２５９は、問合せ部２５７が１以上の候補装置に問合せしてから所定時間以内に、少なくとも１つの候補装置から応答信号を受信する場合、応答信号を送信してきた１以上の候補装置のいずれかを代理装置に決定する。具体的には、代理装置決定部２５９は、問合せ部２５７から装置識別情報が入力されてから所定時間以内に通信部２０５がその装置識別情報で特定される候補装置から応答信号を受信する場合、その候補装置を代理装置に決定する。代理装置決定部２５９は、代理装置に決定した装置の装置識別情報を依頼部２６１に出力する。
【００９９】
代理装置決定部２５９は、複数の候補装置から応答信号を受信する場合、応答信号を送信してきた複数の候補装置のうち１つを代理装置に決定する。複数の候補装置の任意の１つを代理装置に決定するようにしてもよいし、ハードウェア資源の性能が最高の候補装置を代理装置に決定するようにしてもよい。代理装置決定部２５９は、問合せ部２５７が問合せをした１以上の候補装置のいずれからも応答信号を受信しない場合、代理装置を決定しない。この場合は、代理装置決定部２５９は、エラーとして処理する。例えば、表示部２０６に代理装置を決定できないことを示すエラーメッセージを表示する。
【０１００】
依頼部２６１は、代理装置決定部２５９から代理装置の装置識別情報が入力される。依頼部２６１は、代理装置に対象データの配信処理の実行を依頼する。依頼部２６１は、中止検出部２７５と、データ送信部２７７と、位置情報受信部２７９と、を含む。以下の説明では、代理装置決定部２５９がＭＦＰ１００を代理装置に決定する場合を例に説明する。
【０１０１】
データ送信部２７７は、通信部２０５を制御して、代理装置であるＭＦＰ１００に対象データを送信する。代理装置であるＭＦＰ１００の詳細は後述するが、対象データを受信することに応じて、対象データのネットワークアドレスを示す位置情報を返信する。また、代理装置は、対象データの配信処理の実行を継続できなくなると中止信号をサーバー２００に送信する。
【０１０２】
位置情報受信部２７９は、通信部２０５を制御して、代理装置であるＭＦＰ１００から位置情報を受信する。位置情報受信部２７９は、位置情報を受信指示部２６５に出力する。
【０１０３】
中止検出部２７５は、通信部２０５を制御して代理装置であるＭＦＰ１００から中止信号を受信する場合、候補装置決定部２５５に再決定指示を出力する。代理装置であるＭＦＰ１００から中止信号を受信する場合におけるＣＰＵ２０１の動作については、後で詳細に説明するが、中止信号を送信しきたＭＦＰ１００とは別の装置を新たな代理装置に決定し、新たな代理装置に対象データの配信処理を実行させるとともに、送信先装置に新たな代理装置から対象データをダウンロードさせる。
【０１０４】
送信先決定部２６３は、対象データの送信先となる送信先装置を決定する。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄを送信先装置に決定する場合を例に説明する。送信先決定部２６３は、サーバー２００が管理対象とするＭＦＰ１００，１００Ａ〜１００Ｄの全てを送信先装置に決定する。なお、ユーザーが送信先装置を決定するようにしてもよいし、対象データの種類ごとに、送信先装置が定められていてもよい。例えば、対象データが更新プログラムを含む場合、プログラムの更新が必要な装置を送信先装置に決定する。また、対象データが、サービス提供サーバーにログインするための新たなパスワードを含む場合、そのサービス提供サーバーにログインするためのアカウントおよびパスワードを記憶する装置を送信先装置に決定する。送信先決定部２６３は、送信先装置の装置識別情報を、受信指示部２６５に出力する。
【０１０５】
受信指示部２６５は、位置通知部２８１と、ダウンロード指示部２８３と、を含む。位置通知部２８１は、通信部２０５を制御して、位置情報受信部２７９から入力される位置情報を、送信先装置に送信する。送信先装置が複数の場合は、複数の送信先装置の全てに位置情報を送信する。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに、位置情報を送信する。位置情報を受信する送信先装置の詳細は後述するが、位置情報をＨＤＤ１１５に一時記憶し、ダウンロード指示を受信することに応じて、位置情報で特定される対象データをダウンロードする。
【０１０６】
ダウンロード指示部２８３は、現在時刻が対象データを配信するために定められた配信時間帯になると、通信部２０５を制御して、ダウンロード指示を送信装置に送信する。送信先装置が複数の場合は、複数の送信先装置の全てに位置情報を送信する。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに、ダウンロード指示を送信する。これにより、送信先装置が対象データを代理装置からダウンロードするので、サーバー２００は、複数の送信先装置が対象データをダウンロードするタイミングを同期させることができる。また、ダウンロード指示を、所定の時間間隔で複数の送信先装置に順に送信するようにしてもよい。これにより、代理装置が、対象データを複数の送信先装置に同時に送信する必要がないので、代理装置の負荷が一時的に増加しないようにして平準化することができる。また、ダウンロード指示を、所定の時間間隔で複数の送信先装置に順に送信するようにすれば、ＬＡＮ３を通るデータ量が一時的に増加しないようにしてパケット衝突を低減することがき、データを効率的に送信することができる。対象データのサイズが大きい場合に有効である。
【０１０７】
図６は、本実施の形態におけるＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。図６に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された代理配信プログラムおよびダウンロードプログラムを実行することにより、ＣＰＵ１１１に形成される機能である。代理配信プログラムおよびダウンロードプログラムは、データ配信プログラムの一部である。図６を参照して、ＣＰＵ１１１は、候補装置の機能２０と、代理装置の機能５０と、送信先装置の機能８０と、モード切換部９１と、エラー検出部９３と、エラー発生情報送信部９５と、ジョブ実行部９７と、設定値設定部９９と、を含む。
【０１０８】
モード切換部９１は、ＭＦＰ１００の動作モードを、通常モードと、通常モードより消費電力の低い省電力モードとのいずれかに切り換え、動作モードを出力する。モード切換部９１は、予め定められたスケジュールに従って動作モードを切り換える。スケジュールは、省電力モードの期間と、通常モードの期間とを定める。例えば、予め定められた夜の期間に省電力モードを割り当て、夜の期間以外の期間に通常モードを割り当てたスケジュールが定められている場合、モード切換部９１は、夜の期間に省電力モードに切り換え、夜の期間以外の期間を通常モードに切り換える。また、モード切換部９１は、夜の期間以外の期間は、通常モードの場合に省電力移行条件が成立すると動作モードを省電力モードに切り換え、省電力モードで復帰条件が成立すると動作モードを通常モードに切り換える。省電力移行条件は、限定するものではないが、操作パネル１６０がユーザーによる操作を受け付けることなく、かつ、通信Ｉ／Ｆ部１１２がジョブを受信しない期間が所定時間を超える成立する。復帰条件は、限定するものではないが、操作パネル１６０がユーザーによる操作を受け付ける場合、または、通信Ｉ／Ｆ部１１２がジョブを受信する場合に成立する。
【０１０９】
エラー検出部９３は、ＭＦＰ１００で発生するエラーを検出し、検出されたエラーを識別するためのエラー識別情報をエラー発生情報送信部９５および後述する継続判断部７５に出力する。
【０１１０】
エラー発生情報送信部９５は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００からの要求を受信した時点で、エラー検出部９３からエラー識別情報が入力されている場合、エラー識別情報をサーバー２００に送信する。
【０１１１】
ジョブ実行部９７は、ハードウェア資源を制御するために設定された設定値を用いてハードウェア資源を制御して、ジョブを実行する。ジョブは、ＭＦＰ１００が実行可能な処理である。ジョブは、限定するものではないが、データの画像を用紙に形成するプリントジョブ、原稿を読み取るスキャンジョブ、スキャンジョブとプリントジョブとを組み合わせたコピージョブ、データを送受信するデータ送受信ジョブを含む。ジョブ実行部９６は、ジョブを実行するごとに、稼働実績情報をＨＤＤ１１５に記憶する。稼働実績情報は、ジョブの実行を開始した日時および終了した日時を含む。
【０１１２】
設定値設定部９９は、ジョブ実行部９７がジョブを実行する場合に用いる設定値を設定する。設定値設定部９９は、ユーザーが操作部１６３に入力する操作に基づいて設定値を設定する。
【０１１３】
候補装置の機能２０は、問合せ受付部２１と、判断部２３と、応答部２５と、実績取得部２７と、を含む。問合せ受付部２１は、通信Ｉ／Ｆ部１１２を制御して、対象データを配信する配信処理の実行可否を問合せる信号をサーバー２００から受信する。問合せ受付部２１は、要件情報受信部３１と、時間帯情報受信部３３と、を含む。要件情報受信部３１は、通信Ｉ／Ｆ部１１２を制御して、要件情報をサーバー２００から受信し、受信された要件情報を判断部２３に出力する。時間帯情報受信部３３は、通信Ｉ／Ｆ部１１２を制御して、時間帯情報をサーバー２００から受信し、受信された時間帯情報を判断部２３に出力する。
【０１１４】
実績取得部２７は、ＭＦＰ１００の過去の稼働状況を示す稼働実績情報を取得する。稼働実績情報は、例えば、過去に実行されたジョブごとに、そのジョブが実行された日時を示す情報であり、ジョブ実行部９６がジョブを実行するごとにＨＤＤ１１５に記憶する情報である。実績取得部２７は、ＨＤＤ１１５から稼働実績情報を読出し、判断部２３に出力する。
【０１１５】
判断部２３は、配信処理の実行が可能か否かを判断する。判断部２３は、負荷比較部４１と、予測部４３と、モード判断部４５と、を含む。予測部４３は、実績取得部２７から稼働実績情報が入力される。予測部４３は、稼働実績情報に基づいて、時間帯情報受信部３３から入力される時間帯情報で定められる配信時間帯における余力を予測する。余力は、ジョブの実行状況に対応する。例えば、ＣＰＵ１１１が過去の配信時間帯に対応する時間帯におけるジョブを実行していない時間の占める割合を余力とすることができる。具体的には、予測部４３は、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯に実行されたジョブを特定し、その時間帯においてジョブが実行されていない時間の占める割合を、ＣＰＵ１１１の空き時間を示す余力として算出する。また、余力はハードウェア資源の空き状況に対応する。例えば、過去の配信時間帯に対応する時間帯におけるハードウェア資源であるＲＡＭ１１４の空き容量を余力とすることができる。具体的には、予測部４３は、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯におけるＲＡＭ１１４の空き領域のサイズの平均をＲＡＭ１１４の空き容量を示す余力として予測する。予測部４３は、ＣＰＵ１１１の空き時間を示す余力とＲＡＭ１１４の空き容量を示す余力を負荷比較部４１に出力する。
【０１１６】
負荷比較部４１は、要件情報受信部３１から入力される要件情報で定められる配信処理を実行するために必要な負荷を、余力と比較する。要件情報は、固定的に記憶可能なデータ量の下限値、ＣＰＵが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのＣＰＵの空き時間の割合の下限値を含む。具体的には、負荷比較部４１は、予測部４３により予測されたＣＰＵ１１１の空き時間の割合が、要件情報に含まれるＣＰＵの空き時間の下限値以上であれば余力が負荷以上と判断し、予測部４３により予測されたＣＰＵ１１１の空き時間の割合が、要件情報に含まれる単位時間当たりのＣＰＵの空き時間の割合の下限値より小さければ余力が負荷より小さいと判断する。また、負荷比較部４１は、予測されたＲＡＭ１１４の空き容量が、要件情報に含まれるメモリの空き容量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれるメモリの空き容量の下限値より小さければ余力が負荷より小さいと判断する。さらに、負荷比較部４１は、ＨＤＤ１１５でデータを記憶可能な空き領域の容量が、要件情報に含まれる固定的に記憶可能なデータ量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれる固定的に記憶可能なデータ量の下限値より小さければ余力が負荷より小さいと判断する。
【０１１７】
モード判断部４５は、モード切換部９１に設定されたスケジュールを参照して、時間帯情報受信部３３から入力される時間帯情報で示される配信時間帯における動作モードを判断する。
【０１１８】
判断部２３は、負荷比較部４１において余力が負荷より小さいと判断されることなく、かつ、モード判断部４５において判断された動作モードが通常モードの場合に、配信処理を実行可能と判断する。判断部２３は、負荷比較部４１において余力が負荷より小さいと判断される場合、または、モード判断部４５において判断された動作モードが省電力モードの場合に、配信処理を実行不可能と判断する。判断部２３は、配信処理を実行可能と判断する場合、応答部２５に応答指示を出力する。応答部２５は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００に、配信処理を実行可能であることを示す応答信号を送信する。
【０１１９】
代理装置の機能５０は、依頼受付部５１と、配信処理実行部５３と、ジョブ禁止部５５と、変更禁止部５７と、を含む。依頼受付部５１は、サーバー２００から配信処理の実行の依頼を受け付ける。依頼受付部５１は、位置情報送信部６１と、データ記憶制御部６３と、を含む。データ記憶制御部６３は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００が送信する対象データを受信し、受信された対象データをＨＤＤ１１５に記憶する。データ記憶制御部６３は、対象データを、他のコンピューターがアクセス可能なように公開された領域に記憶する。データを公開するプロトコルは、限定するものではないが、ＳＭＢ（Ｓｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ）、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、ＷｅｂＤＡＶ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｕｔｈｏｒｉｎｇ  ａｎｄ  Ｖｅｒｓｉｏｎｉｎｇ  ｐｒｏｔｏｃｏｌ  ｆｏｒ  ｔｈｅ  ＷＷＷ）等を用いることができる。データ記憶制御部６３は、対象データのファイル名を位置情報送信部６１および配信処理実行部５３に出力する。
【０１２０】
位置情報送信部６１は、データ記憶制御部６３から入力されるファイル名を用いて、対象データのネットワークアドレスを位置情報として生成する。位置情報送信部６１は、通信Ｉ／Ｆ部１１２を制御して、位置情報をサーバー２００に送信する。
【０１２１】
配信処理実行部５３は、外部からのダウンロード要求に応じて、データ記憶制御部６３から入力されるファイル名で特定される対象データを送信する。サーバー２００は、ＭＦＰ１００，１００Ａ〜１００Ｄにダウンロード指示を送信するので、ＭＦＰ１００Ａ〜１００Ｄがダウンロード要求を送信する。配信処理実行部５３は、継続判断部７５と、中止通知部７７と、要求受信部７１と、データ送信部７３と、を含む。
【０１２２】
要求受信部７１は、通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００Ａ〜１００Ｄのいずれかが送信するダウンロード要求を受信する。ダウンロード要求は、位置情報送信部６１が送信した位置情報を含む。要求受信部７１は、ダウンロード要求を受信すると、ダウンロード要求に含まれる位置情報と、ダウンロード要求を送信してきた装置の装置識別情報とを、データ送信部７３に出力する。
【０１２３】
データ送信部７３は、要求受信部７１から位置情報と装置識別情報とが入力されることに応じて、位置情報で特定される対象データをＨＤＤ１１５から読み出し、通信Ｉ／Ｆ部１１２を制御して、読み出した対象データを装置識別情報で特定される装置に送信する。このため、ＭＦＰ１００Ａ〜１００Ｄがダウンロード要求を送信する場合、ＭＦＰ１００Ａ〜１００Ｄそれぞれに対象データが送信される。
【０１２４】
継続判断部７５は、時間帯情報で示される配信時間帯に、エラー検出部９３からエラー識別情報が入力されることに応じて、配信処理を継続するか否かを判断する。継続判断部７５は、エラー識別情報で特定されるエラーが回復不可能なエラーの場合、中止指示を中止通知部７７に出力する。回復不可能なエラーが発生する場合、ＭＦＰ１００の電源がＯＦＦに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。回復不可能なエラーを定めたテーブルを予め準備するようにすればよい。また、発生する回復不可能なエラーがデータ通信に関するエラーの場合は、対象データを送信できなくなるからである。
【０１２５】
継続判断部７５は、エラー識別情報で特定されるエラーが回復可能なエラーの場合、そのエラーの発生からそのエラーに対して予め定められた猶予時間が経過してもエラーが回復しない場合、中止指示を中止通知部７７に出力する。猶予時間は、エラーを回復するために必要な時間として予め定められた時間である。回復可能なエラーが回復しない場合、ＭＦＰ１００の電源がＯＦＦに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。
【０１２６】
図７は、回復不可能なエラーを定めた第１のエラーテーブルの一例を示す図である。図７を参照して、要因がＣＰＵ異常、転写ベルト異常、定着装置異常のエラーが回復不可能なエラーとして定められる。
【０１２７】
図８は、回復可能なエラーを定めた第２のエラーテーブルの一例を示す図である。図８を参照して、回復可能なエラーとして、要因がサーバー２００と通信不可であるエラーに猶予時間６０秒が定められ、要因がパケット欠損のエラーに猶予時間２００秒が定められ、要因がプロトコル異常のエラーに猶予時間１５秒が定められ、要因がループ接続異常のエラーに猶予時間１０秒が定められ、要因が異常送信のエラーに猶予時間３００秒が定められる。
【０１２８】
図６に戻って、中止通知部７７は、継続判断部７５から中止指示が入力されることに応じて、通信Ｉ／Ｆ部１１２を制御して、中止信号をサーバー２００に送信する。サーバー２００は、上述したように、依頼装置であるＭＦＰ１００から中止信号を受信すると、ＭＦＰ１００とは別のＭＦＰ１００Ａ〜１００Ｄのうちから新たな代理装置を決定し、新たな代理装置に配信処理の実行を依頼する。このため、新たな代理装置で配信処理が実行可能になると、その後に送信されるダウンロード要求は、新たな代理装置に記憶された対象データの位置情報を含むので、ＭＦＰ１００でダウンロード要求を受信することがなくなる。
【０１２９】
ジョブ禁止部５５は、データ送信部７３が対象データを送信中の間に、ジョブ実行部９７によるジョブの実行を中止する。ジョブ実行部９７がジョブを実行することにより、ＣＰＵ１１１の余力が低下し、ＲＡＭ１１４の作業領域が小さくなるため、データ送信部７３が対象データを送信できなくなる場合があるからである。
【０１３０】
変更禁止部５７は、依頼受付部５１が配信処理の実行の依頼を受け付けた後、配信処理が実行される配信時間帯が終了するまでは、設定値設定部９９が設定値を変更すると、変更後の設定値は、対象データを送信する処理を実行できなくなる場合、設定値設定部９９による設定値の変更を禁止する。データ送信部７３が対象データを送信できなくなり、配信処理を実行できなくなるからである。
【０１３１】
送信先装置の機能８０については、ＭＦＰ１００Ａの機能として説明する。送信先装置の機能８０は、ダウンロード指示受信部８１と、ダウンロード部８３と、位置情報受信部８５と、位置情報記憶部８７と、を含む。位置情報受信部８５は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００が送信する位置情報を受信し、受信された位置情報を位置情報記憶部８７に出力する。位置情報記憶部８７は、位置情報受信部８５から入力される位置情報をＨＤＤ１１５に記憶する。
【０１３２】
ダウンロード指示受信部８１は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００が送信するダウンロード指示を受信する。ダウンロード指示受信部８１は、ダウンロード指示を受信することに応じて、ダウンロード指示をダウンロード部８３に出力する。ダウンロード部８３は、ダウンロード指示が入力されることに応じて、位置情報記憶部８７により記憶された位置情報を読み出し、位置情報で特定される対象データをダウンロードする。具体的には、ダウンロード部８３は、通信Ｉ／Ｆ部１１２を制御して、位置情報で特定されるＭＦＰ１００に位置情報を含むダウンロード要求を送信する。上述したようにＭＦＰ１００は対象データを送信するので、ダウンロード部８３は、通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００が送信する対象データを受信する。
【０１３３】
ダウンロード部８３は、対象データがコマンドを含む場合、対象データをジョブ実行部９７および設定値設定部９９に出力する。
【０１３４】
ジョブ実行部９７は、対象データがコマンドを含む場合、コマンドを実行する。例えば、対象データがプログラムと、そのプログラムをインストールするコマンドとを含む場合、ジョブ実行部９７は、プログラムをインストールするジョブを実行する。
【０１３５】
また、設定値設定部９９は、対象データが設定値と設定値を設定するコマンドを含む場合、対象データに含まれる設定値を設定する。これにより、設定値が更新される。
【０１３６】
ＭＦＰ１００が代理装置と送信先装置とを兼ねる場合がある。ここで、ＭＦＰ１００が代理装置かつ送信先装置の場合における送信先装置の機能について説明する。ダウンロード部８３は、ダウンロード指示受信部８１から入力される位置情報で特定される対象データはＨＤＤ１１５に記憶されているので、ＨＤＤ１１５から対象データを読み出す。また、ダウンロード部８３は、対象データがコマンドを含む場合に、対象データをジョブ実行部９７または設定値設定部９９に出力する。
【０１３７】
この場合に、ジョブ実行部９７は、対象データがプログラムと、そのプログラムをインストールするコマンドとを含む場合、プログラムをインストールするジョブを実行することになるが、データ送信部７３が対象データを他の送信先装置に送信中の間は、ジョブの実行がジョブ禁止部５５によって禁止される。
【０１３８】
また、設定値設定部９９は、対象データが設定値と、設定値を設定するコマンドを含む場合、対象データに含まれる設定値を設定するが、対象データに含まれる設定値ではデータ送信部７３が対象データを送信できなくなる場合には、変更禁止部５７によってその設定値の設定が禁止される。
【０１３９】
図９は、データ配信処理の流れの一例を示すフローチャートである。データ配信処理は、サーバー２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９に記憶されたデータ配信プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図９を参照して、ＣＰＵ２０１は、対象データを特定する（ステップＳ０１）。そして、対象データのサイズに対応する要件情報を決定する（ステップＳ０２）。次のステップＳ０３においては、対象データを配信する配信時間帯を決定する（ステップＳ０３）。
【０１４０】
次のステップＳ０４においては、候補装置決定処理を実行し、処理をステップＳ０５に進める。候補装置決定処理の詳細は後述するが、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄのうちから配信処理を依頼する候補となる装置を決定する処理である。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄが候補装置として決定される場合を例に説明する。
【０１４１】
ステップＳ０５においては、候補装置決定処理により決定された１以上の候補装置のうちから処理対象となる１つの候補装置を選択し、処理をステップＳ０６に進める。ステップＳ０６においては、処理対象に選択された候補装置に配信処理の実行可否を問合せる。具体的には、通信Ｉ／Ｆ部１１２を制御して、ステップＳ０２において決定された要件情報を候補装置に送信する。次のステップＳ０７においては、候補装置、ここではＭＦＰ１００，１００Ａ〜１００Ｄのうちに、処理対象に選択されていない装置が存在するか否かを判断する。ステップＳ０５において、処理対象に選択されていない候補装置が存在すれば処理をステップＳ０５に戻すが、そのような候補装置が存在しなければ処理をステップＳ０８に進める。
【０１４２】
ステップＳ０８においては、配信処理の実行を問合せた候補装置のいずれかから応答があったか否かを判断する。通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００，１００Ａ〜１００Ｄのいずれかから応答があれば、処理をステップＳ０９に進めるが、そうでなければ処理をステップＳ１０に進める。ステップＳ０９においては、応答した候補装置を代理装置に設定し、処理をステップＳ１０に進める。ステップＳ１０においては、ステップＳ０６における問合せの後、所定時間が経過したか否かを判断する。所定時間が経過したならば処理をステップＳ１１に進めるが、そうでなければ処理をステップＳ０８に戻す。
【０１４３】
ステップＳ１１においては、代理装置が存在するか否かを判断する。ステップＳ０９において代理装置に設定された候補装置が存在するならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ１９に進める。ステップＳ１９においては、エラー表示し、処理を終了する。例えば、配信処理を実行する代理装置が存在しないことを示すメッセージを、表示部２０６に表示する。
【０１４４】
ステップＳ１２においては、代理装置が複数か否かを判断する。ステップＳ０９において代理装置に設定された候補装置が複数ならば処理をステップＳ１３に進めるが、１つならば処理をステップＳ１４に進める。ステップＳ１３においては、代理装置に設定された複数の候補装置のうちから任意の１つを代理装置として選択し、処理をステップＳ１４に進める。なお、ハードウェア資源が最高の候補装置を代理装置として選択するようにしてもよい。また、最初に応答してきた候補装置を代理装置に設定するようにしてもよい。以下、ＭＦＰ１００を代理装置に設定する場合を例に説明する。
【０１４５】
ステップＳ１４においては、代理装置であるＭＦＰ１００に配信処理の実行を依頼する。具体的には、通信Ｉ／Ｆ部１１２を制御して、ステップＳ０１において特定された対象データを、ＭＦＰ１００に送信する。次のステップＳ１５においては、位置情報を受信したか否かを判断する。通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００から位置情報を受信したか否かを判断する。位置情報を受信するまで待機状態となり（ステップＳ１５でＮＯ）、位置情報を受信したならば（ステップＳ１５でＹＥＳ）、処理をステップＳ１６に進める。
【０１４６】
ステップＳ１６においては、位置情報をＨＤＤ２０４に記憶し、処理をステップＳ１７に進める。位置情報は、対象データと関連付けてＨＤＤ２０４に記憶する。そして、受信指示処理を実行し、処理をステップＳ１８に進める。受信指示処理の詳細は後述するが、対象データの送信先である送信先装置に対象データを受信させる処理である。
【０１４７】
ステップＳ１８においては、受信指示処理を実行した結果、中止設定されたか否かを反する。中止設定されている場合には、処理をステップＳ０５に戻すが、そうでなければ処理を終了する。後述するように、受信指示処理を実行した結果、中止設定される場合は、代理装置であるＭＦＰ１００が配信処理を継続できないと判断した場合であり、この場合には、ＭＦＰ１００以外のＭＦＰ１００Ａ〜１００Ｄのうちから新たな代理装置を決定し、対象データの配信処理を依頼する。
【０１４８】
図１０は、候補装置決定処理の流れの一例を示すフローチャートである。候補装置決定処理は、図９のステップＳ０４において実行される処理である。図１０を参照して、ＣＰＵ２０１は、ハードウェア資源要件を決定する（ステップＳ２１）。複数のデータサイズごとに、ハードウェア資源要件を定めたテーブルを参照して、対象データに対応するハードウェア資源要件を決定する。次のステップＳ２２においては、管理対象となるＭＦＰ１００，１００Ａ〜１００Ｄのうちから処理対象とする１つを選択する。ここでは、ＭＦＰ１００を処理対象に選択した場合を例に説明する。次のステップＳ２３においては、ＭＦＰ１００の性能情報を取得する。ＭＦＰ１００に性能情報の送信を要求し、ＭＦＰ１００から性能情報を受信する。なお、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれの性能情報を定めたテーブルを準備しておき、そのテーブルを参照して性能情報を取得するようにしてもよい。
【０１４９】
次のステップＳ２４においては、性能情報で定めるＭＦＰ１００のハードウェア資源の性能が、ハードウェア資源要件を満たしているか否かを判断する。ＭＦＰ１００のハードウェア資源の性能が、ハードウェア資源要件で定められる下限値上ならばハードウェア要件を満たしていると判断する。ＭＦＰ１００がハードウェア資源要件を見たいしているならば処理をステップＳ２５に進めるが、そうでなければ処理をステップＳ２８に進める。
【０１５０】
ステップＳ２５においては、ＭＦＰ１００からエラー発生情報を取得する。ＭＦＰ１００にエラー発生情報の送信を要求し、ＭＦＰ１００からエラー発生情報を取得する。そして、エラー発生情報で特定されるエラーが回復可能なエラーか否かを判断する（ステップＳ２６）。回復可能なエラーならば処理をステップＳ２７に進めるが、そうでなければ処理をステップＳ２８に進める。
【０１５１】
ステップＳ２７においては、ＭＦＰ１００を候補装置に設定し、処理をステップＳ２８に進める。ステップＳ２８においては、管理対象となるＭＦＰ１００，１００Ａ〜１００Ｄのうちに処理対象に選択されていない装置が存在するか否かを判断する。処理対象に選択されていない装置が存在するならば処理をステップＳ２２に戻すが、そうでなければ処理をデータ配信処理に戻す。処理がステップＳ２２に戻る場合、管理対象となるＭＦＰ１００Ａ〜１００Ｄのうちからいずれかが選択され、ステップＳ２３〜ステップＳ２７の処理が実行される。これにより、管理対象となるＭＦＰ１００，１００Ａ〜１００Ｄのうちから、ハードウェア資源要件を満たし、回復不可能なエラーが発生していない装置のすべてが候補装置に設定される。
【０１５２】
図１１は、受信指示処理の流れの一例を示す図である。受信指示処理は、図９のステップＳ１７において実行される処理である。図１１を参照して、ＣＰＵ２０１は、管理対象となるＭＦＰ１００，１００Ａ〜１００Ｄのうちから送信先装置を決定する（ステップＳ３１）。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄを送信先装置に決定する場合を例に説明する。送信先装置は、対象データを送信する先の装置であり、対象データによって定まる。対象データと、対象データを送信する先の装置とを関連付けたテーブルを準備して置き、そのテーブルを参照して、送信先装置を決定する。次のステップＳ３２においては、処理対象とする送信先装置を選択する。ここでは、ＭＦＰ１００Ａを処理対象に選択する場合を例に説明する。
【０１５３】
次のステップＳ３３においては、通信部２０５を制御して、ＭＦＰ１００Ａに位置情報を送信する。そして、ステップＳ３２において処理対象に選択されていない送信先装置が存在するか否かを判断する（ステップＳ３４）。処理対象に選択されていない送信先装置が存在するならば処理をステップＳ３１に戻すが、存在しないならば処理をステップＳ３５に進める。処理がステップＳ３５に進む段階で、送信先装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに位置情報が送信される。
【０１５４】
ステップＳ３５においては、現在時刻が配信時間帯になるまで待機し（ステップＳ３５でＮＯ）、現在時刻が配信時間帯になると（ステップＳ３５でＹＥＳ）、処理をステップＳ３６に進める。ステップＳ３６においては、処理対象とする送信先装置を選択する。ここでは、送信先装置であるＭＦＰ１００Ａを処理対象に選択する場合を例に説明する。
【０１５５】
次のステップＳ３７においては、通信部２０５を制御して、ＭＦＰ１００Ａにダウンロード指示を送信する。そして、処理対象に選択されていない送信先装置が存在するか否かを判断する（ステップＳ３８）。処理対象に選択されていない送信先装置が存在するならば処理をステップＳ３９に進めるが、存在しないならば処理をデータ配信処理に戻す。
【０１５６】
ステップＳ３９においては、依頼装置から中止依頼があったか否かを判断する。ここでは、ＭＦＰ１００を依頼装置としているので、通信部２０５を制御して、ＭＦＰ１００から中止信号を受信したか否かを判断する。中止信号を受信したならば処理をステップＳ４０に進めるが、そうでなければ処理をステップＳ４１に進める。ステップＳ４１においては、ダウンロード指示を送信してから所定時間が経過したか否かを判断する。ダウンロード指示を送信してから所定時間が経過したならば処理をステップＳ３６に戻すが、そうでなければ処理をステップＳ３８に戻す。ステップＳ３６からステップＳ４１が実行される間に、送信先装置であるＭＦＰ１００，１００Ａ〜１００Ｄに、ダウンロード指示が所定時間間隔で順に送信される。このため、対象データのダウンロードが同時に実行されるのを回避して依頼装置の負荷が増大するのを防止することができるとともに、パケット衝突を回避してＬＡＮ３を効率的に利用できる。また、受信指示処理の途中で、依頼装置であるＭＦＰ１００から中止信号が受信される場合には、ダウンロード指示の送信を中止して受信指示処理を中止するので、データ配信処理が継続できなくなったことを検出できる。
【０１５７】
図１２は、代理配信処理の流れの一例を示すフローチャートである。代理配信処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された代理配信プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１２を参照して、ＭＦＰ１００が備えるＣＰＵ１１１は、問合せ応答処理を実行し（ステップＳ４５）、依頼受付処理を実行する（ステップＳ４６）。
【０１５８】
図１３は、問合せ応答処理の流れの一例を示すフローチャートである。問合せ応答処理は、図１２のステップＳ４５において実行される処理である。図１３を参照して、ＣＰＵ１１１は、サーバー２００から問合せを受けたか否かを判断する（ステップＳ５１）。具体的には、通信Ｉ／Ｆ部１１２を制御して、サーバー２００から要件情報を受信する場合に、問合せを受けたと判断する。要件情報を受信するまで待機状態となり（ステップＳ５１でＮＯ）、要件情報を受信したならば（ステップＳ５１でＹＥＳ）、処理をステップＳ５２に進める。要件情報は、要件情報で定められる対象データの配信処理を実行するために必要な負荷を定める。具体的には、要件情報は、固定的に記憶可能なデータ量の下限値、ＣＰＵが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのＣＰＵの空き時間の割合の下限値を含む。
【０１５９】
ステップＳ５２においては、配信時間帯を決定する。通信Ｉ／Ｆ部１１２を制御して、サーバー２００から時間帯情報を受信し、時間帯情報で示される配信時間帯を決定する。そして、稼働実績情報を取得する（ステップＳ５３）。ＨＤＤ１１５に記憶されている稼働実績情報を読み出す。そして、配信時間帯の余力を予測する（ステップＳ５４）。具体的には、稼働実績情報を参照して、配信時間帯と日付が異なるが時間が同じ時間帯に実行されたジョブを特定し、その時間帯においてジョブが実行されていない時間の占める割合を、ＣＰＵの空き時間を示す余力として算出する。また、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯におけるＲＡＭ１１４の空き領域のサイズの平均をＲＡＭ１１４の空き容量を示す余力として予測する。
【０１６０】
ステップＳ５５においては、ステップＳ５４において予測された余力とステップＳ５１において受信された要件情報で定まる負荷とを比較する。余力が負荷以上ならば処理をステップＳ５６に進めるが、そうでなければ処理をステップＳ６０に進める。具体的には、負荷比較部４１は、余力として予測されたＣＰＵの空き時間の割合が、要件情報に含まれるＣＰＵの空き時間の下限値以上であれば余力が負荷以上と判断し、余力として予測されたＣＰＵの空き時間が、要件情報に含まれる単位時間当たりのＣＰＵの空き時間の割合の下限値より小さければ余力が負荷より小さいと判断する。また、余力として予測されたＲＡＭ１１４の空き容量が、要件情報に含まれるメモリの空き容量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれるメモリの空き容量の下限値より小さければ余力が負荷より小さいと判断する。余力として予測されたＣＰＵの空き時間の割合および余力として予測されたＲＡＭ１１４の空き容量のいずれもが、要件情報で定められた負荷の下限値以上ならば余力が負荷以上と判断する。
【０１６１】
ステップＳ５６においては、ＨＤＤ１１５の残量を負荷の容量と比較する。具体的には、ＨＤＤ１１５でデータを記憶可能な空き領域の容量が、要件情報に含まれる固定的に記憶可能なデータ量の下限値以上ならば余力が負荷以上と判断し、処理をステップＳ５７に進めるが、そうでなければ処理をステップＳ６０に進める。
【０１６２】
ステップＳ５７においては、省電力モードの期間と、通常モードの期間とを定めるスケジュールを参照して、配信時間帯における動作モードを決定する。そして、決定された動作モードによって処理を分岐する（ステップＳ５８）。配信時間帯における動作モードが通常モードならば処理をステップＳ５９に進めるが、そうでなく省電力モードならば処理をステップＳ６０に進める。ステップＳ５９においては、サーバー２００に配信処理を実行可能であることを示す応答をし、処理を代理配信処理に戻す。ステップＳ６０においては、配信処理を実行不可に設定し、処理を代理配信処理に戻す。
【０１６３】
図１４は、依頼受付処理の流れの一例を示すフローチャートである。依頼受付処理は、図１２のステップＳ４２において実行される処理である。図１２を参照して、ＣＰＵ１１１は、配信処理の実行依頼を受け付けたか否かを判断する（ステップＳ７１）。通信Ｉ／Ｆ部１１２が、サーバー２００から対象データを受信すると、配信処理の実行依頼を受け付けたと判断する。対象データを受信したならば処理をステップＳ７２に進めるが、そうでなければ処理を代理配信処理に戻す。
【０１６４】
ステップＳ７２においては、対象データをＨＤＤ１１５に記憶し、処理をステップＳ７３に進める。ステップＳ７３においては、サーバー２００に、対象データのネットワークアドレスを示す位置情報を返信し、処理をステップＳ７４に進める。
【０１６５】
ステップＳ７４においては、現在日時が配信時間帯になるまで待機状態となり（ステップＳ７４でＮＯ）、現在日時が配信時間帯の開始日時より後ならば（ステップＳ７４でＹＥＳ）、処理をステップＳ７５に進める。ステップＳ７５においては、送信要求を受信したか否かを判断する。通信Ｉ／Ｆ部１１２が、送信先装置であるＭＦＰ１００Ａ〜１００Ｄのいずれかから送信要求を受信したならば処理をステップＳ７６に進めるが、そうでなければ処理をステップＳ７７に進める。ステップＳ７６においては、送信要求に含まれる位置情報で特定される対象データを、送信要求を送信してきた送信先装置に送信し、処理をステップＳ７７に進める。
【０１６６】
ステップＳ７７においては、配信時間帯が終了したか否かを判断する。現在日時が配信時間帯の終了日時より後ならば処理を代理配信処理に戻すが、そうでなければ処理をステップＳ７８に進める。ステップＳ７８においては、エラーが発生したか否かを判断する。エラーが発生したならば処理をステップＳ７９に進めるが、そうでなければ処理をステップＳ８４に進める。ステップＳ８４においては、ジョブ制御処理を実行し、処理をステップＳ７５に戻す。ジョブ制御処理の詳細は後述する。
【０１６７】
ステップＳ７９においては、発生したエラーが回復不可能なエラーか否かを判断する。回復不可能なエラーならば処理をステップＳ８０に進めるが、回復可能なエラーならば処理をステップＳ８１に進める。ステップＳ８０においては、サーバー２００に配信処理の中止を依頼し、処理を代理配信処理に戻す。具体的には、通信Ｉ／Ｆ部１１２を制御して、サーバー２００に中止信号を送信する。
【０１６８】
ステップＳ８１においては、発生したエラーに対して予め定められた猶予時間Ｔを決定する。次のステップＳ８２においては、エラーが発生してからの経過時間が猶予時間Ｔ以上か否かを判断する。経過時間が猶予時間Ｔ以上ならば処理をステップＳ８０に進めるが、そうでなければ処理をステップＳ８３に進める。ステップＳ８３においては、エラーが回復したか否かを判断する。エラーが回復したならば処理をステップＳ７５に戻すが、そうでなければ処理をステップＳ８２に戻す。猶予時間Ｔ以上経過してもエラーが回復しなければ処理がステップＳ８０に進む。ステップＳ８０においては、サーバー２００に配信処理の中止を依頼するので、回復可能なエラーが猶予時間を経過しても回復しない場合、ＭＦＰ１００の電源がＯＦＦに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。
【０１６９】
図１５は、ジョブ制御処理の流れの一例を示すフローチャートである。ジョブ制御処は、図１４のステップＳ８４において実行される処理である。図１５を参照して、ＣＰＵ１１１は、ジョブを受け付けたか否かを判断する（ステップＳ９１）。ジョブを受け付けたならば処理をステップＳ９２に進めるが、そうでなければ処理を依頼受付処理に戻す。ステップＳ９２においては、設定値が変更される事象が発生したか否かを判断する。設定値が変更される事象は、設定値を変更するコマンドを含む対象データを受信する場合、ユーザーが操作部１６３に入力する操作が設定値を変更する操作の場合を含む。設定値が変更される事象が発生したならば処理をステップＳ９３に進めるが、そうでなければ処理をステップＳ９６に進める。
【０１７０】
ステップＳ９３においては、変更後の設定値で、配信処理の実行が可能か否かを判断する。配信処理を実行可能ならば処理をステップＳ９４に進めるが、配信処理を実行不可能ならば処理をステップＳ９５に進める。ステップＳ９４においては、設定値を変更し、処理を依頼受付処理に戻す。ステップＳ９５においては、設定値の変更を禁止し、処理を依頼受付処理に戻す。
【０１７１】
ステップＳ９６においては、対象データを送信中か否かを判断する。対象データを送信中ならば処理をステップＳ９７に進めるが、そうでなければ処理をステップＳ９８に進める。ステップＳ９７においては、ジョブの実行を禁止し、処理を依頼受付処理に戻す。ステップＳ９８においては、ジョブを実行し、処理を依頼受付処理に戻す。
【０１７２】
図１６は、ダウンロード処理の流れの一例を示すフローチャートである。ダウンロード処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたダウンロードプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。ダウンロードプログラムは、データ配信プログラムの一部である。図１６を参照して、ＣＰＵ１１１は、サーバー２００から位置情報を受信したか否かを判断する（ステップＳ１０１）。通信Ｉ／Ｆ部１１２が、サーバー２００から位置情報を受信するまで待機状態となり（ステップＳ１０１でＮＯ）、位置情報を受信したならば（ステップＳ１０１でＹＥＳ）、処理をステップＳ１０２に進める。
【０１７３】
ステップＳ１０２においては、位置情報をＨＤＤ１１５に記憶し、処理をステップＳ１０３に進める。ステップＳ１０３においては、ダウンロード指示を受信したか否かを判断する。通信Ｉ／Ｆ部１１２が、サーバー２００からダウンロード指示を受信するまで待機状態となり（ステップＳ１０３でＮＯ）、位置情報を受信したならば（ステップＳ１０３でＹＥＳ）、処理をステップＳ１０４に進める。
【０１７４】
ステップＳ１０４においては、ダウンロード要求を送信し、処理をステップＳ１０５に進める。位置情報で定まる代理装置、ここではＭＦＰ１００に、通信Ｉ／Ｆ部１１２を制御して、位置情報を含むダウンロード要求を送信する。依頼装置であるＭＦＰ１００が、ダウンロード要求を受信することに応じて対象データを送信するので、ステップＳ１０５においては、通信Ｉ／Ｆ部１１２を制御して、依頼装置であるＭＦＰ１００から対象データを受信する。そして、対象データをＨＤＤ１１５に記憶し（ステップＳ１０６）、処理をステップＳ１０７に進める。
【０１７５】
ステップＳ１０７においては、対象データがコマンドを含むか否かを判断する。対象データがコマンドを含むならばジョブを生成して処理をステップＳ１８に進めるが、そうでなければ処理を終了する。対象データがコマンドを含む場合、コマンドに従って対象データを処理するジョブを生成する。ステップＳ１０８においては、図１５に示したジョブ制御処理を実行し、処理を終了する。
【０１７６】
以上説明したように、本実施の形態における情報処理システム１は、サーバー２００は、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄのうち１以上の送信先装置それぞれに対象データを送信する配信処理の実行可否を、ＭＦＰ１００，１００Ａ〜１００Ｄのうち１以上の候補装置、例えば、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに問合せ、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄのうち実行可否の問合せに応答する装置を代理装置に決定し、代理装置に配信処理の実行を依頼する。このため、サーバー２００は、配信処理の実行を代理装置に依頼するので、サーバー２００の負荷を低減することができる。
【０１７７】
候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、サーバー２００からの実行可否の問合せに応じて、配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断し、実行可と判断される場合に、実行可否の問合せに応答する。このため、ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれが、配信処理を実行するために用いられるハードウェア資源の余力に基づいて配信処理の実行可否を判断するので、サーバー２００の負荷を低減することができる。
【０１７８】
また、サーバー２００は、配信処理を実行するために要求されるハードウェア資源の負荷の下限を示す要件情報を複数の情報処理装置に送信し、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、ハードウェア資源の余力が、要件情報で定められる対象データを送信する処理を実行するために要求されるハードウェア資源の負荷の下限以上の場合に実行可と判断する。このため、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれにおいて、ハードウェア資源の余力の変動に対応して配信処理の実行可否を判断することができる。また、サーバー２００において、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれのハードウェア資源の余力を取得する必要がないので、インターネット５に流れるデータ量を少なくすることができるとともに、サーバー２００の負荷を低減することができる。
【０１７９】
また、サーバー２００は、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれからハードウェア資源の性能を示す性能情報を取得し、取得された性能情報に基づいて、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄのうちから１以上の候補装置を決定する。このため、サーバー２００は、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄのうち配信処理を実行するのに適した性能のハードウェア資源を有する装置を候補装置に決定することができる。
【０１８０】
また、サーバー２００は、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれから、その装置で発生しているエラーに関するエラー発生情報を取得し、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄのうち回復不可能なエラーが発生している装置を候補装置に決定しない。回復不可能なエラーが発生している装置は、配信処理を実行できない場合があるので、配信処理を実行可能となる確率の高い装置を候補装置に決定することができる。
【０１８１】
また、候補装置であるＭＦＰ１００，１００Ａ〜１００Ｄのうち代理装置に決定された装置、例えば、ＭＦＰ１００は、サーバー２００から配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断し、サーバー２００は、ＭＦＰ１００で配信処理を継続しないことが通知されることに応じて、管理対象である候補装置であるＭＦＰ１００，１００Ａ〜１００ＤのうちＭＦＰ１００とは異なる装置を新たな代理装置に決定する。このため、１以上の送信先装置の全てに対象データを送信することができる。
【０１８２】
また、代理装置であるＭＦＰ１００は、サーバー２００により配信処理の実行が依頼された後に、対象データを送信している間は、ジョブの実行を禁止する。このため、対象データの送信をジョブの実行より優先して、対象データをできるだけ早く送信することができる。
【０１８３】
また、代理装置であるＭＦＰ１００は、サーバー２００により配信処理の実行が依頼された後に、対象データを送信不可能になる設定値への変更を禁止する。このため、ＭＦＰ１００において、対象データを送信可能な状態を維持することができる。
【０１８４】
また、管理対象であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、ＬＡＮ３に接続され、サーバー２００はインターネット５に接続されるので、対象データが代理装置であるＭＦＰ１００から送信先装置であるＭＦＰ１００Ａ〜１００Ｄにそれぞれ送信されるので、インターネット５を用いる必要がない。このため、インターネット５を流れるデータ量を少なくすることができる。
【０１８５】
また、サーバー２００は、代理装置であるＭＦＰ１００に対象データを送信し、ＭＦＰ１００から対象データのネットワークアドレスを示す位置情報を取得し、位置情報を１以上の送信先装置であるＭＦＰ１００，１００Ａ〜１００Ｄそれぞれに送信し、送信先装置であるＭＦＰ１００Ａ〜１００Ｄそれぞれは、代理装置であるＭＦＰ１００から対象データをダウンロードする。このため、サーバー２００は送信先装置であるＭＦＰ１００Ａ〜１００Ｄに対象データを送信する必要がないので、サーバー２００の負荷を低減することができる。
【０１８６】
また、代理装置であるＭＦＰ１００は、配信処理の実行が依頼される場合、位置情報を含むダウンロード要求を送信先装置であるＭＦＰ１００Ａ〜１００Ｄのいずれかから受信することに応じて、対象データを送信するので、代理装置であるＭＦＰ１００は、対象データの送信先であるＭＦＰ１００Ａ〜１００Ｄを知る必要がない。このため、代理装置であるＭＦＰ１００で実行される処理を簡略にすることができる。
【０１８７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１８８】
＜付記＞
（１）前記要件情報は、固定的に記憶可能なデータ量の下限値、メモリの空き容量の下限値、および単位時間当たりにジョブが実行されない時間の割合の下限値の少なくとも１つを含む、請求項２に記載の情報処理システム。
（２）  前記問合せは、前記対象データを送信する時間帯を示す時間帯情報を含み、
前記判断手段は、前記ハードウェア資源の前記時間帯情報で示される時間帯における余力を予測する、請求項２または（１）に記載の情報処理システム。
（３）  前記複数の情報処理装置それぞれは、さらに、通常モードよりも消費電力の低い省電力モードとのいずれかに動作モードを切り換えるモード切換手段を、備え、
前記判断手段は、前記時間帯情報で示される時間帯における動作モードが省電力モードに予定されている場合、実行不可と判断する、（２）に記載の情報処理システム。
【符号の説明】
【０１８９】
１  情報処理システム、３  ＬＡＮ、５  インターネット、１００，１００〜１００Ｄ  ＭＦＰ、２００  サーバー、３００  ゲートウェイ装置、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１１８  ＣＤ−ＲＯＭ、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１５５  後処理部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ＨＤＤ、２０５  通信部、２０６  表示部、２０７  操作部、２０８  外部記憶装置２０５、２０  候補装置の機能、２１  受付部、２３  判断部、２５  応答部、２７  実績取得部、３１  要件情報受信部、３３  時間帯情報受信部、４１  負荷比較部、４３  予測部、４５  モード判断部、５０  代理装置の機能、５１  依頼受付部、５３  配信処理実行部、５５  ジョブ禁止部、５７  変更禁止部、６１  位置情報送信部、６３  データ記憶制御部、７１  要求受信部、７３  データ送信部、７５  継続判断部、７７  中止通知部、８０  送信先装置の機能、８１  ダウンロード指示受信部、８３  ダウンロード部、８５  位置情報受信部、８７  位置情報記憶部、９１  モード切換部、９３  エラー検出部、９５  エラー発生情報送信部、９６  ジョブ実行部、９７  ジョブ実行部、９９  設定値設定部、２５１  性能情報取得部、２５３  エラー発生情報取得部、２５５  候補装置決定部、２５７  問合せ部、２５９  代理装置決定部、２６１  依頼部、２６３  送信先決定部、２６５  受信指示部、２７１  要件情報送信部、２７３  時間帯情報送信部、２７５  中止検出部、２７７  データ送信部、２７９  位置情報受信部、２８１  位置通知部、２８３  ダウンロード指示部。
【図１】
2018081441.tif 000003
【図２】
2018081441.tif 000004
【図３】
2018081441.tif 000005
【図４】
2018081441.tif 000006
【図５】
2018081441.tif 000007
【図６】
2018081441.tif 000008
【図７】
2018081441.tif 000009
【図８】
2018081441.tif 000010
【図９】
2018081441.tif 000011
【図１０】
2018081441.tif 000012
【図１１】
2018081441.tif 000013
【図１２】
2018081441.tif 000014
【図１３】
2018081441.tif 000015
【図１４】
2018081441.tif 000016
【図１５】
2018081441.tif 000017
【図１６】
2018081441.tif 000018