(57)【要約】【課題】サーバによる情報配信にＭＦＰからの要求を反映させることができる画像形成装置、サーバ、情報受信方法、情報配信方法、プログラム及び記憶媒体を提供すること。【解決手段】リスト５２に登録された順番に従い機器１００に配信情報を配信するサーバ２００から、該配信情報５７を受信する画像形成装置１００において、配信情報の配信後に該配信情報の受信失敗を検出すると、サーバ２００に対し、当該画像形成装置１００の順番又はリスト５２に登録されているか否かに関わらず、配信情報５７を再配信するよう要求する再配信要求手段５５、を有することを特徴とする。【選択図】図６
2010044431.tif 000002
【特許請求の範囲】
【請求項１】
リストに登録された順番に従い機器に配信情報を配信するサーバから、該配信情報を受信する画像形成装置において、
前記配信情報の配信後に該配信情報の受信失敗を検出すると、前記サーバに対し、当該画像形成装置の前記順番又は前記リストに登録されているか否かに関わらず、該配信情報を再配信するよう要求する再配信要求手段、
を有することを特徴とする画像形成装置。
【請求項２】
前記再配信要求手段は、
該配信情報の受信失敗を検出した後、サイクル時間毎、ランダムなサイクル、予め設定された時刻、又は、処理負荷が低下した状態になると、前記サーバに対し、該配信情報を再配信するよう要求する、
ことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記再配信要求手段は、
前記配信情報の配信中に該配信情報の受信失敗を検出すると、前記サーバに対し、該配信情報を再配信するよう要求する、
ことを特徴とする請求項１記載の画像形成装置。
【請求項４】
ユーザが操作する操作部を有し、
前記再配信要求手段は、前記操作部から所定の操作が入力された場合に、前記サーバに対し、該配信情報を再配信するよう要求する、
ことを特徴とする請求項１又は２記載の画像形成装置。
【請求項５】
リストに登録された順番に従い画像形成装置に配信情報を配信するサーバであって、
第１の画像形成装置から該配信情報を再配信するよう要求された場合、
配信途中の第２の画像形成装置への配信を中断する中断手段と、
前記リストの所定位置に再配信を要求した第１の画像形成装置を登録するリスト更新手段と、
前記リストに従い、再配信を要求した第１の画像形成装置に前記配信情報を送信する配信手段と、
を有することを特徴とするサーバ。
【請求項６】
第１の画像形成装置に前記配信情報を送信した後、
前記配信手段は、途中まで配信した前記配信情報の全体を第２の画像形成装置に配信する、  
ことを特徴とする請求項５記載のサーバ。
【請求項７】
第１の画像形成装置に前記配信情報を送信した後、
前記配信手段は、配信途中の前記配信情報の残りのみを第２の画像形成装置に配信する、  
ことを特徴とする請求項５記載のサーバ。
【請求項８】
前記リスト更新手段は、
第１の画像形成装置を前記リストの所定位置に登録すると共に、既にリストに登録されている第１の画像形成装置を削除する、
ことを特徴とする請求項５〜７いずれか１項記載のサーバ。
【請求項９】
前記リスト更新手段は、
第１の画像形成装置を前記リストの所定位置に登録すると共に、既にリストに登録されている第１の画像形成装置を削除しない、
ことを特徴とする請求項５〜７いずれか１項記載のサーバ。
【請求項１０】
リストに登録された順番に従い機器に配信情報を配信するサーバと、該配信情報を受信する画像形成装置とを有する情報配信システムにおいて、
前記画像形成装置は、
前記配信情報の配信後に該配信情報の受信失敗を検出すると、前記サーバに対し、当該画像形成装置の前記順番又は前記リストに登録されているか否かに関わらず、該配信情報を再配信するよう要求する再配信要求手段、を有し、
前記サーバは、
第１の画像形成装置から該配信情報を再配信するよう要求された場合、配信途中の第２の画像形成装置への配信を中断する中断手段と、
前記リストの所定位置に再配信を要求した第１の画像形成装置を登録するリスト更新手段と、
前記リストに従い、再配信を要求した第１の画像形成装置に前記配信情報を送信する配信手段と、を有する、
ことを特徴とする情報配信システム。
【請求項１１】
リストに登録された順番に従い機器に配信情報を配信するサーバから、該配信情報を受信する画像形成装置の情報受信方法において、
再配信要求手段が、前記配信情報の配信後に該配信情報の受信失敗を検出すると、前記サーバに対し、当該画像形成装置の前記順番又は前記リストに登録されているか否かに関わらず、該配信情報を再配信するよう要求する、
ことを特徴とする情報受信方法。
【請求項１２】
リストに登録された順番に従い画像形成装置に配信情報を配信するサーバの情報配信方法であって、
第１の画像形成装置から該配信情報を再配信するよう要求された場合、中断手段が、配信途中の第２の画像形成装置への配信を中断するステップと、
リスト更新手段が、前記リストの所定位置に再配信を要求した第１の画像形成装置を登録するステップと、
配信手段が、前記リストに従い、再配信を要求した第１の画像形成装置に前記配信情報を送信するステップと、
を有することを特徴とする情報配信方法。
【請求項１３】
リストに登録された順番に従い機器に配信情報を配信するサーバから、該配信情報を受信するコンピュータを、
前記配信情報の配信後に該配信情報の受信失敗を検出すると、前記サーバに対し、当該画像形成装置の前記順番又は前記リストに登録されているか否かに関わらず、該配信情報を再配信するよう要求する再配信要求手段、
として機能させることを特徴とするプログラム。
【請求項１４】
リストに登録された順番に従い画像形成装置に配信情報を配信するコンピュータを、
第１の画像形成装置から該配信情報を再配信するよう要求された場合、配信途中の第２の画像形成装置への配信を中断する中断手段と、
前記リストの先頭に再配信を要求した第１の画像形成装置を登録するリスト更新手段と、
前記リストに従い、再配信を要求した第１の画像形成装置に前記配信情報を送信する配信手段と、
として機能させることを特徴とするプログラム。
【請求項１５】
請求項１４記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバから配信情報を受信する画像形成装置等に関し、特に、画像形成装置からサーバに配信情報の配信を要求することができる、画像形成装置、サーバ、情報受信方法、情報配信方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
複写機などのＭＦＰ（Multifunction Peripheral：多機能周辺装置）をネットワークに接続し、サーバからＭＦＰに種々の情報を送信する情報の設定方法が知られている。この情報は、例えばファックスの電話番号、ネットワークに接続されたPC（Personal  Computer）のIPアドレス、ソフトウェアの新バージョン等である。サーバが情報を一括してＭＦＰに設定できるので、複数のＭＦＰがネットワークに接続されていても、ユーザが各ＭＦＰに情報を設定する必要がなく操作性を向上させることができる（例えば、特許文献１参照。）。特許文献１には、各ＭＦＰにて実行可能な機能を設定する設定情報を、サーバがＭＦＰに配信する情報配信システムが記載されている。
【特許文献１】特開２００７−３４５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の情報配信システムではサーバが情報配信の手順を制御していたため、ＭＦＰからサーバに情報配信を要求することができず、柔軟性にかけるという問題がある。例えば、サーバが情報を配信できなかったことを検知した場合は、配信できなかったＭＦＰに再度同じ情報を配信することができるが、サーバが情報を配信できなかったことを検知できなかった場合、その情報がＭＦＰに配信できなくなってしまう。すなわち、従来の情報配信システムでは、ＭＦＰから情報の配信を要求する手順が定められていないという問題がある。
【０００４】
本発明は、上記課題に鑑み、サーバによる情報配信にＭＦＰからの要求を反映させることができる画像形成装置、サーバ、情報受信方法、情報配信方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題に鑑み、本発明は、リストに登録された順番に従い機器に配信情報を配信するサーバから、該配信情報を受信する画像形成装置において、配信情報の配信後に該配信情報の受信失敗を検出すると、前記サーバに対し、当該画像形成装置の前記順番又は前記リストに登録されているか否かに関わらず、該配信情報を再配信するよう要求する再配信要求手段、を有することを特徴とする。
【０００６】
本発明によれば、該配信情報の受信に失敗すると、画像形成装置がサーバに再配信を要求することで、サーバによる情報配信にＭＦＰからの要求を反映させることができる。
【０００７】
また、本発明の一形態において、再配信要求手段は、該配信情報の受信失敗を検出した後、サイクル時間毎、ランダムなサイクル、予め設定された時刻、又は、処理負荷が低下した状態になると、サーバに対し、順番に関わらず該配信情報を再配信するよう要求する、ことを特徴とする。
【０００８】
本発明によれば、所定のタイミングで画像形成装置から再配信を要求することができる。
【発明の効果】
【０００９】
サーバによる情報配信にＭＦＰからの要求を反映させることができる画像形成装置、サーバ、情報受信方法、情報配信方法、プログラム及び記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を参照しながら説明する。
図１は、情報配信システム３００の概略構成図の一例を示す。複数（図では４台だが５台以上でもよい）のＭＦＰ（（Multifunction Peripheral）１００Ａ〜１００D（以下、区別しない場合、単にＭＦＰ１００という）がネットワーク１０１を介してサーバ２００と接続されている。ネットワーク１０１は例えば社内、一部署、一フロア等のLAN、支店間など地理的に離れたＬＡＮ同士を接続したWAN、又は、インターネットなどである。なお、ネットワーク１０１は有線・無線のいずれであってもよい。
【００１１】
サーバ２００は、各ＭＦＰ１００に配信情報を配信する。配信先のＭＦＰ１００は、未配信キューに登録されているので、原則的に未配信キューの登録順に、順番に配信していく。そして、本実施形態の情報配信システム３００は、例えば、ＭＦＰ１００Aに配信情報を配信中であっても、配信情報の受信に失敗したＭＦＰ１００Dが再配信を要求することができ、サーバ２００は再配信要求に応じて配信情報を優先的にＭＦＰ１００Dに配信する。すなわち、サーバ２００が定める配信手順にＭＦＰ１００の再配信要求を反映させることができ、配信手順を柔軟に変更することができる。
【００１２】
〔ＭＦＰ１００〕
ＭＦＰ１００について説明する。ＭＦＰ１００は、プリンタ、ファクシミリ、スキャナ、及び、複写機の１以上の機能を備えネットワーク１０１に接続可能な機器であり、その呼び名はプリンタ、ファクシミリ、スキャナ又は複写機であってもよい。
【００１３】
図２は、ＭＦＰ１００のハードウェア構成図の一例を示す。ＭＦＰ１００は、コントローラ１０と、エンジン部２０及び操作パネル２４とがシリアルインターフェイス（ＰＣＩバス、ＰＣＩ−Ｘバス又はＰＣＩ−Ｅｘｐｒｅｓｓ等）を介して接続された構成を有する。なお、再配信要求プログラム３０を記憶する記憶媒体として、ＵＳＢメモリ３１とメモリカード３２を示した。
【００１４】
操作パネル２４は、ユーザからの入力操作の受け付け及びユーザに向けた操作メニューやエラーメッセージ等を表示する操作部であり、タッチパネルを入力手段として有すると共に、液晶ディスプレイ等の表示部２５と兼用されている。また、操作パネル２４の周囲には、機能が割り当てられたボタン、テンキー等のキーボードが配置されている。
【００１５】
エンジン部２０は、ファックス制御ユニット２６、プロッタ２７、スキャナ２８、及びその他ハードウェアリソース２９等である。コントローラ１０は、ＭＦＰ１００全体の制御、すなわち、ファックス制御ユニット２６、プロッタ２７，スキャナ２８及びその他ハードウェアリソース２９を用いて、原稿の読み取り、印刷、ファクシミリ送受信、等を処理する制御部である。
【００１６】
ファックス制御ユニット２６は、ＮＣＵ（Network Control Unit）を介して公衆通信網に接続し、例えばＧ３、Ｇ４規格のファクシミリに対応した通信手順（通信プロトコル）等に従いファクシミリの送受信を行う。ファックス制御ユニット２６は、画像データにデータ圧縮や変調等の信号処理を施して、公衆電話網、ＩＳＤＮ又はＩＰネットワーク等を経由して送信すると共に、相手先から受信した画像データにデータの伸長やエラー訂正等を施し画像データを復元する。
【００１７】
プロッタ２７は、白黒プロッタ及び／又はカラープロッタであり、印刷ジョブデータやスキャナ２８が読み取った画像データに基づき、１ページ毎の画像を形成し、用紙に転写する。例えば、レーザービームを用いた電子写真プロセスを使って、感光ドラム等に形成したトナー画像を用紙に転写し、定着装置により熱と圧力により定着して出力する。
【００１８】
また、スキャナ２８は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をＡ／Ｄ変換して誤差拡散やガンマ変換などの画像処理を施し所定の解像度のデジタルデータに変換し画像データを生成する。
【００１９】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ （以下、ＮＢ１３という）と、システムメモリ（以下、ＭＥＭ−Ｐ１２という）と、サウスブリッジ （以下、ＳＢという）と、ローカルメモリ（以下、ＭＥＭ−Ｃ１４という）と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（以下、ＨＤＤ１５という）と、ＮＩＣ（Network  Interface  Card）１８と、無線ＬＡＮＩ／Ｆ１９と、ＵＳＢホスト２２と、メモリカードＩ／Ｆ２３と、を有する。なお、ＡＳＩＣ１６とＮＢ１３の間はＡＧＰ（Accelerated Graphics Port）で接続されている。
【００２０】
ＣＰＵ１１は、ＭＥＭ−Ｐ１２、ＡＳＩＣ１６、及び、無線ＬＡＮＩ／Ｆ１９等を結ぶバスに流通するデータの送信制御を行うＮＢ１３を介して、ＭＦＰの全体を制御する。ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＡＧＰとを接続するためのブリッジＩＣであり、ＭＥＭ−Ｐ１２は、ＭＦＰ１００の描画用メモリなどとして用いるシステムメモリである。ＭＥＭ−Ｃ１４は、コピー用画像バッファ、符号バッファとして用いられるローカルメモリであり、ＡＳＩＣ１６は、多数のレジスタや論理回路を備え、各モータドライバの制御部の他、ヘッドパルス生成部等として機能する。また、ＡＳＩＣ１６は、ＡＧＰ、ＨＤＤ１５およびＭＥＭ−Ｃ１４をそれぞれ接続するブリッジの役割も果たす。
【００２１】
ＨＤＤ１５は、画像データ、プログラム、フォントデータ、ジョブログデータ等を蓄積する記憶手段であるが、フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）などの不揮発メモリなどでもよい。本実施形態ではＨＤＤ１５に、サーバ２００に再配信要求する再配信要求プログラム３０が記憶されている。
【００２２】
ＡＧＰは、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードの処理を高速化する。
【００２３】
ＮＩＣ１８は、例えばイーサネット（登録商標）カードであり、OSI基本参照モデルの物理層、データリンク層に規定されたプロトコルに従う処理を実行する。これにコントローラが後述のＷｅｂアプリなどにより上位のプロトコルを実行して、設定情報等のデータ、電子メール等をサーバ２００やＭＦＰ１００間で送受信する。
【００２４】
無線ＬＡＮＩ／Ｆ１９は、例えばIEEE 802.11a/b/g等の通信規格に準拠し、アクセスポイントを介してＬＡＮ等のネットワーク１０１に接続する。IEEE1394Ｉ／Ｆ２１は、IEEE1394の通信規格を備えた機器と通信するインターフェイスであり、複数台の機器をデイジーチェーン接続することができる。動画などのサイズの大きなデータを送信するのに適しており、接続される機器は、例えばデジタルカメラやビデオカメラ等である。
【００２５】
ＵＳＢホスト２２はＵＳＢコントローラと呼ばれるＩＣで、これをＣＰＵ１１が実行するデバイスドライバ（ドライバソフトウェア）が制御してＵＳＢＩ／Ｆを構成し、接続された例えばＵＳＢメモリ３１と通信する。同様に、メモリカードＩ／Ｆ２３は、メモリカード３２からデータを読み出しまた記録媒体にデータを書き込むインターフェイスである。メモリカード３２は、例えばＳＤカード、メモリースティック（登録商標）、マルチメディアカード、ｘＤカード等である。
【００２６】
〔サーバ２００〕
サーバ２００はコンピュータを実体とし、ユーザ（管理者）が操作して設定情報や配信のポリシーを入力・設定するための端末である。例えば、ＰＣ（Personal  Computer）であるが、ＰＤＡ（Personal Data Assistance）、携帯電話、ＰＨＳ（Personal Handyphone System）、その他プログラムを実行するＣＰＵを備えたコンピュータであればよい。
【００２７】
図３は、サーバ２００のハードウェア構成図の一例を示す。サーバ２００は、それぞれバスで相互に接続されているＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、記憶媒体装着部４４、ＮＩＣ４５、入力装置４６、表示制御部４７及びストレージ４８を有するように構成される。
【００２８】
ＣＰＵ４１は、ＯＳ（Operating  System）やアプリケーションソフトをストレージ４８から読み出して実行することで種々の機能を提供すると共に、サーバ２００が行う処理を統括的に制御する。また、配信プログラム５０を実行して後述する各機能を実現する。
【００２９】
ＲＡＭ４２はＣＰＵ４１が配信プログラム５０を実行する際に配信プログラム５０や処理に必要なデータを一時保管する作業メモリ（主記憶メモリ）になり、ＲＯＭ４３はＢＩＯＳ（Basic Input Output System）やＯＳを起動するためのプログラム、設定ファイルを記憶している。
【００３０】
記憶媒体装着部４４は記憶媒体３３が着脱可能に構成されており、記憶媒体３３に記録された配信プログラム５０やデータを読み込み、ストレージ４８にインストールする際と、配信プログラム５０やデータを書き込む際に使用される。なお、記憶媒体３３は、ＣＤ、ＤＶＤ、ブルーレイディスク、ＳＤカード、メモリースティック（登録商標）、マルチメディアカード、ｘＤカード等である。
【００３１】
ＮＩＣ４５は、ネットワーク１０１に接続するためのインターフェイス、例えばイーサネット（登録商標）カードであり、OSI基本参照モデルの物理層、データリンク層に規定されたプロトコルに従う処理を実行する。
【００３２】
入力装置４６は、キーボードやマウスなど、ユーザからの様々な操作指示を入力するためのデバイスである。表示制御部４７は、プログラムが指示する画面情報に基づき所定の解像度や色数等で液晶などのディスプレイ４９に描画する。例えば、ＧＵＩ（Graphical User Interface）画面を形成し、操作に必要な各種ウィンドウやデータ等をディスプレイ４９に表示する。
【００３３】
ストレージ４８は、ハードディスクドライブ、ＳＳＤ（Flash Solid State Drive）等の不揮発メモリを実体とし、本実施形態では配信プログラム５０が記憶されている。配信プログラム５０は、記憶媒体３３に記憶して配布されたり、ネットワーク１０１を介して接続された所定のサーバからダウンロードされ、ストレージ４８にインストールされる。
【００３４】
〔情報配信システム３００の機能〕
図４は、情報配信システム３００の機能ブロック図の一例を示す。サーバ２００は、ＣＰＵ４１が配信プログラム５０を実行して実現される配信モジュール５１、ＨＤＤ１５に記憶された未配信キュー５２、ＭＦＰ管理テーブル５３及び配信情報５７を有する。
【００３５】
サーバ２００がＭＦＰ１００に設定する設定情報５７は、ＭＦＰ１００がジョブデータを他のＭＦＰ１００に配信するために必要な情報（例えば、あるジョブを複数のＭＦＰ１００で分担して実行する場合に、ジョブに対応づけたＭＦＰ１００の識別情報）、ファックスの電話番号、ネットワーク１０１に接続されたPC（Personal  Computer）のIPアドレス、ユーザ電子メールアドレス、プログラム、プログラムの更新バッチ、等である。この配信情報５７は、ユーザがサーバ２００に直接入力してもよいし、記憶媒体３３から読み込んでもよいし、ネットワーク１０１を介してダウンロードしてもよい。
【００３６】
配信モジュール５１について詳しくは後述するが、配信モジュール５１は未配信キュー５２に登録されたＭＦＰ１００に配信情報５７を配信する。図５（ａ）は、未配信キュー５２を模式的に説明する図の一例である。未配信キュー５２は、ＦＩＦＯ（First In, First Out）形式のファイルリストであり、未配信キュー５２に登録された順に各ＭＦＰ１００に配信情報５７を配信する。図５（ａ）では、ＭＦＰ１００Ａ〜１００Ｆが順番に登録されているので、配信モジュール５１この順番に配信情報５７を配信する。
【００３７】
また、ＭＦＰ管理テーブル５３は、サーバ２００が管理しているＭＦＰ１００の種々の情報が格納されたテーブルである。図５（ｂ）はＭＦＰ管理テーブル５３の一例を示す。ＭＦＰ管理テーブル５３には、ＭＦＰ１００毎に備える機能が登録されている。したがって、ＭＦＰ管理テーブル５３を参照すれば、各ＭＦＰ１００Ｄが必要とする設定情報が明らかとなる。
【００３８】
ユーザがサーバ２００に設定情報を入力する際、設定情報がどの機能を備えたＭＦＰ１００に必要なのかを入力したり、又は、全てのＭＦＰ１００を指定すると、配信モジュール５１がＭＦＰ管理テーブル５３を参照して未配信キュー５２を生成する。また、ユーザが設定情報の種別（例えば、複写機用、スキャナ用等）を指定することで、配信モジュール５１がＭＦＰ管理テーブル５３を参照して未配信キュー５２を生成してもよく、ユーザがその配信情報５７を配信するＭＦＰ１００を１つ１つ設定してもよい。
【００３９】
未配信キュー５２は順番を規定するリストであるが、このリストは例えば、ＭＦＰ管理テーブル５３にＭＦＰ１００が登録されている順番、アルファベットの昇順、降順、ランダム等、予め定められた順番にＭＦＰ１００がソートされ生成される。
【００４０】
なお、未配信キュー５２を生成せずに又は生成しても、例えば、同報的に配信情報５７を配信してもよい。全てのＭＦＰ１００を宛先とする宛先情報（例えばＦＦＦＦ）を配信情報５７に付与することで、配信情報５７を同報的に配信することができる。受信したＭＦＰ１００が受信完了をサーバ２００に返信すると、受信できなったＭＦＰ１００を特定できるので、設定情報を受信できなかったＭＦＰ１００のみを改めて未配信キュー５２に登録し、その設定情報を配信することができる。
【００４１】
配信モジュール５１は、未配信キュー５２を参照して、原則的に順番に配信情報５７をＭＦＰ１００に配信する。そして、配信したＭＦＰ１００は未配信キュー５２から削除する。「原則的に」としたのはＭＦＰ１００がサーバ２００に再配信を要求すると、未配信キュー５２に登録された順番に関わらず配信情報５７が配信されるためである。また、配信モジュール５１は、例えばＭＦＰ１００が複写などのジョブ実行中である場合、そのＭＦＰ１００を未配信キュー５２の最後尾に登録し直して、効率的に配信情報５７を配信する。
【００４２】
サーバ２００の中断部５１１は、配信中に再配信要求を受信した場合、配信してるＭＦＰ１００への配信を中断し、後述するようにロールバック又は配信状態をロックする。また、中断後、未配信キュー５２が更新され配信できるようになれば、配信モジュール５１に配信を再開させる。
【００４３】
配信モジュール５１が有する未配信キュー更新部５１２は、配信情報５７の進行状況に応じて未配信キュー５２を更新する。すなわち、配信情報５７の配信が終了したＭＦＰ１００を未配信キュー５２から削除する。また、再配信要求を受信した場合には、再配信を要求したＭＦＰ１００を未配信キュー５２の所定位置（例えば、先頭）に登録する。サーバ２００は未配信キュー５２に従い配信情報５７を配信するので、未配信キュー５２を更新することは、配信の順番を制御することと同等である。
【００４４】
図４に戻りＭＦＰ１００について説明する。ＭＦＰ１００は、ＣＰＵ１１が再配信要求プログラム３０を実行して実現される受信モジュール５４、再配信通知モジュール５５及びジョブ送信モジュール５６を有する。ＭＦＰ１００は、階層的なソフトウェア構造を有し、ファックス制御ユニット２６、プロッタ２７、スキャナ２８、その他ハードウェアリソース２９と、インターフェイス（デバイスドライバなどのハードウェアインターフェイス）を最下層に、下から順番にＯＳ、システムリソースマネージャ（以下、ＳＲＭという）、コントロールサービス、アプリケーションインターフェイス（以下、ＡＰＩという）、アプリケーションの各層を有する。
【００４５】
ＯＳは、ＵＮＩＸ(登録商標)や ＬＩＮＵＸ（登録商標）などの汎用オペレーティングシステムであり、コントロールサービス、アプリケーションの各ソフトウェアをそれぞれプロセスとして並列に実行することができる。なお、ＯＳは、ＮＩＣ１８、無線ＬＡＮＩ／Ｆ１９、ＩＥＥＥ１３９４Ｉ／Ｆ２１、ＵＳＢホスト２２、及び、メモリカードＩ／Ｆ２３と通信する各種のデバイスドライバを有する。
【００４６】
ＳＲＭは、システムの制御およびハードウェアリソースの管理を行う。ＳＲＭは、コントロールサービスからの要求に対してハードウェアリソースの利用スケジューリングを行い、ハードウェアリソースによる動作を制御する。
【００４７】
コントロールサービスは、アプリケーションからの処理要求を解釈し、また、競合した場合には調停してハードウェアリソースの獲得要求を発生させる。コントロールサービスは、複数のサービスモジュールから構成され、例えば、操作パネル２４のキー押下を検出し、取得したキーに対応したキーイベント関数を発生させたり、アプリケーションからの要求により表示部２５に各種画面を描画出力する。
【００４８】
アプリケーションは、プリンタ用のプリンタアプリと、コピー用のコピーアプリと、ファクシミリ用のファックスアプリと、スキャナ用のスキャナアプリと、所定のプロトコルで電子メールを送受信するメールアプリやネットワーク１０１を介して通信するＷｅｂアプリを有している。
【００４９】
受信モジュール５４、再配信通知モジュール５５、ジョブ送信モジュール５６は、アプリケーション又はコントロールサービスの層に展開され、例えばＷｅｂアプリを利用してサーバ２００と通信する。受信モジュール５４は、サーバ２００が配信する配信情報５７を受信し、再配信通知モジュール５５は再配信要求をサーバ２００に送信する。また、ジョブ送信モジュール５６は、例えば、１つのジョブを他のＭＦＰ１００と分担して実行をする場合に、受信した設定情報に基づきジョブデータを他のＭＦＰ１００に送信する。
【実施例１】
【００５０】
本実施例では、まず、配信情報５７の再配信の態様について説明する。配信情報５７の再配信の態様にはＰｕｓｈ型とＰｕｌｌ型がある。Ｐｕｓｈ型は、サーバ２００が再配信の主体となる態様であり、Ｐｕｌｌ型は、ＭＦＰ１００が再配信の主体となる態様である。本実施形態の情報配信システム３００はいずれの態様にも好適に適用できる。
【００５１】
図６は、Ｐｕｓｈ型の配信情報５７の配信手順を模式的に説明する図の一例である。未配信キュー５２には、「１００Ａ→１００Ｂ→１００Ｃ→１００Ｄ」の順番で４つのＭＦＰ１００が登録されている。
Ｉ）サーバ２００の配信モジュール５１は、未配信キュー５２を参照してＭＦＰ１００Ａに配信情報５７を配信する。不図示であるが、既にＭＦＰ１００Ｄに配信情報５７が配信されたものとする（従って、未配布キュー５２にはＭＦＰ１００Ｄが登録されていない）。
II）未配信キュー５２によれば、次はＭＦＰ１００Ｂへ配信する順番だが、ＭＦＰ１００Ａへ配信が終了した直後又はＭＦＰ１００Ｂに配信情報５７を配信中、サーバ２００の配信モジュール５１はＭＦＰ１００Ｄのから再配信要求を受信する。ＭＦＰ１００Ｄがサーバ２００に再配信を要求するトリガーについては後述するが、例えば、配信情報５７の受信後に配信情報５７のサイズが不整合であることを検出した場合である。
III）サーバ２００の配信モジュール５１は、再配信要求に応じて、ＭＦＰ１００Ｄに配信情報５７を再配信する。ＭＦＰ１００Ｂに配信情報５７の配信を開始していた場合は、ＭＦＰ１００Ｂへの配信を中断又は中止する。
【００５２】
図７は、Ｐｕｌｌ型の配信情報５７の配信手順を模式的に説明する図の一例である。未配信キュー５２には、「１００Ａ→１００Ｂ→１００Ｃ→１００Ｄ」の順番で４つのＭＦＰ１００が登録されている。
Ｉ）サーバ２００の配信モジュール５１は、未配信キュー５２を参照してＭＦＰ１００Ａに配信情報５７を配信する。不図示であるが、既にＭＦＰ１００Ｄに配信情報５７が配信されたものとする（従って、未配布キュー５２にはＭＦＰ１００Ｄが登録されていない）。
【００５３】
II）Ｐｕｌｌ型のＭＦＰ１００は、それぞれが所定のサイクル時間毎、ランダムなサイクル、予め設定された時刻、又は、ジョブなどを実行中でない状態（処理負荷が低下した状態）等になると設定情報の再配信をサーバ２００に要求する。図７では、ＭＦＰ１００Ｄが配信情報５７の再配信を要求したものとする。なお、ＭＦＰ１００Ｄがサーバ２００に再配信を要求するトリガーについては後述するが、再配信を要求するのは、例えば、配信情報５７の受信後にサイズが不整合であることを検出した場合である点で変わりはない。
【００５４】
このため、未配信キュー５２によれば、次はＭＦＰ１００Ｂへ配信する順番だが、ＭＦＰ１００Ａへ配信が終了した直後からＭＦＰ１００Ｂに配信情報５７を配信中に、サーバ２００の配信モジュール５１はＭＦＰ１００Ｄのから再配信要求を受信する。
【００５５】
III）サーバ２００の配信モジュール５１は、再配信要求に応じて、ＭＦＰ１００Ｄに配信情報５７を配信する。ＭＦＰ１００Ｂに配信情報５７の配信を開始していた場合は、ＭＦＰ１００Ｂへの配信を中断又は中止する。
このようにいずれの態様でも、ＭＦＰ１００は配信情報５７の再配信を要求することができる。なお、図６、７ではいずれも未配信キュー５２の先頭にＭＦＰ１００Ｄを登録したことになるが、２番目、真ん中、最後尾等に再登録してもよい。
【００５６】
〔未配信キュー５２の更新の発生要求について〕
ＭＦＰ１００Ｄが配信情報５７を要求するトリガーとしては、ＭＦＰ１００Ｄが配信情報５７を受信できなかったことを検出した場合（受信に失敗した場合）、又は、優先的に配信情報５７の受信を要求する場合がある。後者の場合、例えばユーザがＭＦＰ１００Ｄに必要な配信情報５７が設定されていないと判断して、ＭＦＰ１００Ｄの操作パネル２４から直接、サーバ２００に配信情報５７を配信するよう要求することができる。
【００５７】
図８は、ＭＦＰ１００Ｄが配信情報５７を要求するトリガーを検出する手順を示すフローチャート図の一例である。図８では、ＭＦＰ１００Ｄが配信情報５７を受信できなかったことを検出した場合を示す。
【００５８】
まず、受信モジュール５４は、配信情報５７の受信を開始する（Ｓ１）。サーバ２００の配信モジュール５１は、未配信キュー５２を参照して各ＭＦＰ１００に配信情報５７を順次送信する。
【００５９】
ＭＦＰ１００Ｄの受信モジュール５４は配信情報５７を受信しながら、受信が完了したか否かを判定する（Ｓ２）。受信が完了するまで（Ｓ２のＮｏ）、受信モジュール５４は、受信の途中、例えば何らかの受信エラーがあるか否かを判定する（Ｓ３）。受信エラーは一例であって、例えば、ＭＦＰ１００Ｄをユーザが操作して複写ジョブなど要求するなど、配信情報５７の受信に優先される状態が検出されれば、先にジョブを実行し後で配信情報５７の再配信を要求すればよい。
【００６０】
例えば、受信エラーが検出されると（Ｓ３のＹｅｓ）、再配信通知モジュール５５は配信情報５７の再配信要求をサーバ２００に送信する（Ｓ４）。
【００６１】
受信エラーが検出されずに（Ｓ３のＮｏ）受信完了すると（Ｓ２のＹｅｓ）、受信モジュール５４は受信した配信情報５７を検証する（Ｓ５）。この検証は、配信情報５７の全てが欠損することなく受信できたか否かを判定するもので、例えば、配信情報５７の配信の当初に通知されたデータサイズと実際に受信した配信情報５７のデータサイズが等しいか否かに基づき判定される。
【００６２】
受信モジュール５４は受信が失敗したか否かを判定し（Ｓ６）、受信失敗した場合（Ｓ６のＹｅｓ）、再配信通知モジュール５５は配信情報５７の再配信要求をサーバ２００に送信する（Ｓ４）。
【００６３】
以上のようにして、ＭＦＰ１００Ｄから配信情報５７の配信をサーバ２００に要求することができる。
【００６４】
なお、図８のステップＳ３で受信エラーが検出され、再配信通知モジュール５５が再配信要求をサーバ２００に送信した場合、現在、サーバ２００が配信情報５７を送信しているＭＦＰ１００（図６，７ではＮＦＰ１００Ａ）が、再配信要求することになる。この場合、すでに配信を開始しているＭＦＰ１００Ａへの配信を中断し、同じＭＦＰ１００Ａに再度、配信情報５７を配信することになる。
【００６５】
図９は、ＭＦＰ１００Ｄが配信情報５７を要求するトリガーを検出する手順を示すフローチャート図の一例である。図９では、ユーザがＭＦＰ１００Ｄの操作パネル２４から直接、サーバ２００に配信情報５７の送信を要求した場合を示す。
【００６６】
すなわち、ＭＦＰ１００Ｄの再配信通知モジュール５５は、ユーザが操作パネル２４から所定の操作を入力すると（Ｓ８のＹｅｓ）、サーバ２００に配信情報５７の再配信を要求する（Ｓ９）。この場合、ＭＦＰ１００Ｄへの配信が失敗する前にユーザが配信を要求する場合があるので、必ずしも再配信になるとは限らない。
【００６７】
したがって、未配信キュー５２の登録順に関係なく、所望のＭＦＰ１００Ｄに優先的に配信情報５７を配信すること可能にできる。
【実施例２】
【００６８】
本実施例では、サーバ２００が配信情報５７を配信している際に、ＭＦＰ１００から再配信要求を受信した場合に、サーバ２００が配信しているＭＦＰ１００に対する配信の中断、再開の手順について説明する。このような中断や再開の手順については、ロールバッグや配信状態のロックが知られている。
【００６９】
ロールバックとは、最後に内容の整合性を確認したチェックポイントにデータを戻して（元の状態にする）、そこから再度処理を再開することをいう。本実施例のロールバックでは、１つのＭＦＰ１００に配信情報５７を配信する毎にチェックポイントを設定する。したがって、それまで配信情報５７が配信されていたＭＦＰ１００に対しては、すでに配信した一部の配信情報５７を配信していなかったものとして、再度、最初から配信情報５７を再配信することになる。
【００７０】
図１０（ａ）はロールバックにより配信情報５７を配信する手順を示すシーケンス図の一例を、図１０（ｂ）は未配信キュー５２の遷移を模式的に説明する図の一例である。図１０（ｂ）に示すように、未配信キュー５２には「１００Ａ→１００Ｂ→１００Ｃ→１００Ｄ→１００Ｅ→１００Ｆ」の順番で６つのＭＦＰ１００が登録されている。図では、ＭＦＰ１００Ａに配信している際に、ＭＦＰ１００Ｆから再配信の要求があったものとする。なお、既にＭＦＰ１００Ｆに配信済みの場合、ＭＦＰ１００Ｆは未配布キュー５２に登録されていない。
【００７１】
サーバ２００の配信モジュール５１は、未配信キュー５２に従いＭＦＰ１００Ａに配信情報５７を送信している（Ｓ１０）。ステップＳ１０の段階のチェックポイントは、ＭＦＰ１００Ａに配信が終了したことを示していない。
【００７２】
ＭＦＰ１００Ａに配信情報５７を送信している間にＭＦＰ１００Ｆが再配信要求をサーバ２００に送信する（Ｓ２０）。ＭＦＰ１００Ｆが再配信を要求する態様はＰｕｓｈ型又はＰｕｌｌ型のいずれであってもよい。
【００７３】
サーバ２００の中断部５１１は、再配信要求に基づき配信モジュール５１に割込みを発生させ、これによりＭＦＰ１００Ａへの配信を中断する（Ｓ３０）。したがって、チェックポイントはＭＦＰ１００Ａに配信が終了したことを示さないままである。
【００７４】
ついで、未配信キュー更新部５１２は、未配信キュー５２を更新する。ＭＦＰ１００Ｆから再配信要求があったので、未配信キュー更新部５１２は、未配信キュー５２の先頭にＭＦＰ１００Ｆを登録する（Ｓ４０）。この場合、ＭＦＰ１００Fへの配信が終了していないことになるので、未配信キュー更新部５１２はチェックポイントをＭＦＰ１００Fの先頭を指し示した状態にする。
【００７５】
未配信キュー５２の更新が完了すると中断部５１１が中断を解除するので、配信モジュール５１は未配信キュー５２を参照してＭＦＰ１００Ｆに配信情報５７を配信する（Ｓ５０）。ＭＦＰ１００Ｆの受信モジュール５４は、配信情報５７を通信エラー等なく受信できたことを示す受信完了通知をサーバ２００に送信する（Ｓ６０）。ＭＦＰ１００Ｆへの配信が終了したので、未配信キュー更新部５１２は未配信キュー５２からＭＦＰ１００Ｆを削除する。
【００７６】
ついで、サーバ２００の配信モジュール５１は、未配信キュー５２を参照してＭＦＰ１００Ａに配信情報５７を再配信する（Ｓ７０）。また、このときチェックポイントはＭＦＰ100Aの先頭を指し示す。ＭＦＰ１００Ａの受信モジュール５４は、配信情報５７を通信エラー等なく受信できたことを示す受信完了通知をサーバ２００に送信する（Ｓ８０）。
【００７７】
したがって、図１０に示すように再配信要求に対し未配信キュー５２をロールバックすることで、各ＭＦＰ１００に対し確実に配信情報５７を配信することができる。この場合、中断するまでにＭＦＰ１００Ａに配信された配信情報５７を、例えばバッファ等に記憶しておく必要がないので構成が容易でコスト増を抑制しやすい。
【００７８】
図１１（ａ）は配信状態をロックして配信情報５７を配信する手順を示すシーケンス図の一例を、図１１（ｂ）は未配信キュー５２の遷移を模式的に説明する図の一例である。なお、図１１において図１０と同一ステップには同一の符号を付しその説明は簡単に行う。
【００７９】
サーバ２００の配信モジュール５１は、未配信キュー５２に従いＭＦＰ１００Ａに配信情報５７を送信している（Ｓ１０）。ＭＦＰ１００Ａに配信情報５７を送信している間にＭＦＰ１００Ｆが再配信要求をサーバ２００に送信する（Ｓ２０）。ＭＦＰ１００Ｆが再配信を要求する態様はＰｕｓｈ型又はＰｕｌｌ型のいずれであってもよい。
【００８０】
サーバ２００の中断部５１１は、再配信要求に基づき配信モジュール５１に割込みを発生させ、これによりＭＦＰ１００Ａへの配信を中断する（Ｓ３１）。そして、図１１では中断部５１１がそれまで配信した配信情報５７の配信済み部分を検出する。したがって、このような手順ではＵＤＰよりもＴＣＰを用いることが好ましい。中断部５１１は、送信が完了してない配信情報５７の一部をＭＦＰ１００Ａの識別情報に対応づけてＨＤＤ１５に退避したり、配信情報５７にＭＦＰ１００Ａに送信する再開ポイントを設定して、配信情報５７の配信をロックする。
【００８１】
ついで、未配信キュー更新部５１２は、未配信キュー５２を更新する（Ｓ４１）。ＭＦＰ１００Ｆから再配信の要求があったので、未配信キュー更新部５１２は、未配信キュー５２の先頭にＭＦＰ１００Ｆを登録する（Ｓ４１）。そして、未配信キュー更新部５１２は、未配信キュー５２にロック情報を登録する。ロック情報は、そのＭＦＰ１００Ａには既に一部の配信情報５７が配信されたことを示すもので、再開ポイントそのものであってもよい。
【００８２】
未配信キュー５２の更新が完了すると中断部５１１が中断を解除するので、配信モジュール５１は未配信キュー５２を参照してＭＦＰ１００Ｆに配信情報５７を配信する（Ｓ５０）。ＭＦＰ１００Ｆの受信モジュール５４は、配信情報５７を通信エラー等なく受信できたことを示す受信完了通知をサーバ２００に送信する（Ｓ６０）。
【００８３】
ＭＦＰ１００Ｆへの配信が終了したので、未配信キュー更新部５１２は未配信キュー５２からＭＦＰ１００Ｆを削除する。ついで、配信モジュール５１は未配信キュー５２を参照してＭＦＰ１００Ａに配信情報５７を配信するが、未配信キュー５２にはロック情報が登録されているので、配信モジュール５１は配信情報５７の配信を再開して、いまだ配信していない配信情報５７のみをＭＦＰ１００Ａに配信する（Ｓ７１）。
【００８４】
ＭＦＰ１００Ａの受信モジュール５４は、配信情報５７を通信エラー等なく受信できたことを示す受信完了通知をサーバ２００に送信する（Ｓ８０）。
【００８５】
図１１のような配信形態では、既に送信した配信情報５７を再送する必要がないので、通信の混雑を抑制することができる。
【実施例３】
【００８６】
実施例２において未配信キュー５２の更新について説明した。実施例２ではロールバック又はロックの態様のいずれにおいても、更新要求を送信したＭＦＰ１００Ｆを未配信キュー５２の先頭に登録したが、更新前のＭＦＰ１００Ｆと未配信キュー５２の関係については言及しなかった。すなわち、図１０、図１１では、いずれも更新前のＭＦＰ１００Ｆを未配信キュー５２から削除したが、ＭＦＰ１００Ｆは削除してもよいし、登録したままでもよい。なお、本実施例では、ＭＦＰ１００Ｆに配信情報を配信していない場合であり、未配信キュー５２にまだＭＦＰ１００Ｆが登録されていることになる。
【００８７】
図１２（ａ）は、削除しない場合の未配信キュー５２の遷移を模式的に説明する図の一例を、図１２（ｂ）は削除しない場合の未配信キュー５２の遷移を模式的に説明する図の一例をそれぞれ示す。未配信キュー更新部５１２は、未配信キュー５２を更新する際、未配信キュー５２から再配信を要求したＭＦＰ１００Ｆを登録したままとするか、削除するかを決定する。登録したままか削除するかは予め設定されている。再配信要求の際には、ロールバックしてもよいし配信状態をロックしてもよい。
【００８８】
図１２（ａ）に示すように、ＭＦＰ１００Fを削除しない場合、重要な配信情報５７について配信漏れを確実に回避することができる。図１２（ｂ）に示すように、ＭＦＰ１００Fを削除する場合、ＭＦＰ１００Ｆに同じ配信情報５７を配信することを防止して通信混雑を抑制できる。なお、図１２（ａ）の場合、ＭＦＰ１００Ｆは、同じ配信情報５７を既に受信していると判断したら配信を拒否してもよい。
【００８９】
本実施例によれば、再配信先のＭＦＰ１００Ｆを未配信キュー５２から削除するか登録したままとするかにより、通信混雑を回避するか配信情報５７の再配信を優先するかを設定できる。
【００９０】
以上のように、本実施形態のＭＦＰ１００は、配信情報５７の受信に失敗すると、ＭＦＰ１００がサーバ２００に再配信を要求することで、サーバ２００による情報配信にＭＦＰ１００からの要求を反映させることができる。
【図面の簡単な説明】
【００９１】
【図１】情報配信システムの概略構成図の一例である。
【図２】ＭＦＰのハードウェア構成図の一例である。
【図３】サーバのハードウェア構成図の一例である。
【図４】情報配信システムの機能ブロック図の一例である。
【図５】未配信キュー、ＭＦＰ管理テーブルを模式的に説明する図の一例である。
【図６】Ｐｕｓｈ型の配信情報の配信手順を模式的に説明する図の一例である。
【図７】Ｐｕｌｌ型の配信情報の配信手順を模式的に説明する図の一例である。
【図８】ＭＦＰ１００Ｄが配信情報を要求するトリガーを検出する手順を示すフローチャート図の一例である。
【図９】ＭＦＰ１００Ｄが配信情報を要求するトリガーを検出する手順を示すフローチャート図の一例である。
【図１０】ロールバックにより配信情報を配信する手順を示すシーケンス図の一例、未配信キューの遷移を模式的に説明する図の一例をそれぞれ示す図である。
【図１１】配信状態をロックして配信情報を配信する手順を示すシーケンス図の一例を、未配信キューの遷移を模式的に説明する図の一例をそれぞれ示す図である。
【図１２】未配信キューの遷移を模式的に説明する図の一例である。
【符号の説明】
【００９２】
３０      再配信要求プログラム
５０      配信プログラム
５１      配信モジュール
５２      未配信キュー
５３      ＭＦＰ管理テーブル
５４      受信モジュール
５５      再配信通知モジュール
５６      ジョブ送信モジュール
５７      配信情報
１００    ＭＦＰ
２００    サーバ
３００    情報配信システム
【図１】
2010044431.tif 000003
【図２】
2010044431.tif 000004
【図３】
2010044431.tif 000005
【図４】
2010044431.tif 000006
【図５】
2010044431.tif 000007
【図６】
2010044431.tif 000008
【図７】
2010044431.tif 000009
【図８】
2010044431.tif 000010
【図９】
2010044431.tif 000011
【図１０】
2010044431.tif 000012
【図１１】
2010044431.tif 000013
【図１２】
2010044431.tif 000014