(57)【特許請求の範囲】
【請求項１】
ネットワークに接続している他の画像形成装置との間で通信を行う通信手段と、
所定の基準に基づいて、自装置が前記他の画像形成装置の機器情報を管理するマスター機であるか判定するマスター判定手段と、
前記マスター判定手段で自装置をマスター機と判定した場合、前記通信手段を介して、前記他の画像形成装置からマスター機に管理されるメンバー機としての登録を受け付け、メンバーリストを作成して管理するメンバーリスト管理手段と、
前記マスター判定手段で自装置をマスター機と判定した場合、前記通信手段を介して、前記他の画像形成装置から機器情報を取得し、前記取得した機器情報を管理するメンバー状態管理手段と、を有し、
前記所定の基準は、ネットワークに接続している画像形成装置で共有している情報の世代情報、マシンスペック、全ての条件が等しい場合の機番によるソートの少なくとも１つを含み、
前記マスター判定手段によりマスター機であると判定された前記自装置が停止し、マスター機が前記他の画像形成装置に変更された後、再び前記自装置が復帰した場合において、前記自装置は、ネットワークに接続している画像形成装置の中にマスター機があるかどうかをサーチし、マスター機に変更された前記他の画像形成装置をサーチしたとき、前記他の画像形成装置からマシンスペックを取得し、前記取得したマシンスペックと前記自装置のマシンスペックを比較するとともに、前記世代情報を更新し、
前記比較の結果マシンスペックが上と判定された自装置は、前記世代情報が更新されたとき、前記他の画像形成装置に対し前記自装置がマスター機と選定されるようマスター選定通知を送信することを特徴とする画像形成装置。
【請求項２】
ネットワークに接続している画像形成装置の動作状態を所定のタイミングでチェックするタイマ制御手段を有し、
前記マスター判定手段は、前記タイマ制御手段によるチェック結果でマスター機停止中の場合、前記所定の基準に基づいて、前記他の画像形成装置との間で機器情報の比較を行って自装置がマスター機であるか判定することを特徴とする請求項１記載の画像形成装置。
【請求項３】
ネットワークに接続している画像形成装置について順位付けしたランキングテーブルを保持するランキング保持手段を有し、
前記マスター判定手段は、前記ランキング保持手段で保持されているランキングテーブルにおいて自装置の順位が最高位であった場合、自装置をマスター機と判定することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記マスター判定手段で自装置をマスター機と判定した場合、前記取得した他の画像形成装置の機器情報に応じて、ファイルの実体を持つ画像形成装置の数を決定することを特徴とする請求項１から３のいずれか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、特に、デジタル複合機と称される多機能入出力装置、またサーバを必要としないシステムの構築方法に関するものである。
【背景技術】
【０００２】
今日、デジタル複写機においては、多機能化によって、プリンタ、スキャナ、ファクシミリなどの複数機能を有する複合型のものが多く普及しており、このような複写機から得られたデータを共有するためには、サーバを設置してデータを管理する必要がある。
【０００３】
このようなサーバを使用しての管理は、サーバの設置費用やメンテナンス費用に多くのコストが発生するという問題点があり、またサーバが故障時などの応答できない場合は、システムが稼動できないという問題があった。
【０００４】
これらの問題を解決するために、例えば特許文献１のように、管理サーバを不要としたシステムが提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のようにサーバを不要としたシステムでは、機器情報の問い合わせや、ファイルの読み込みや書き込みなどの要求が発生する度に、ブロードキャストを送信する必要がある。これは、サーバのように情報を管理している装置がなく、全ての装置に対して問い合わせを行う必要があるためである。このような環境では、サーバを必要としない代わりにネットワーク負荷が高くなり、システムのパフォーマンスを下げるおそれがある。
【０００６】
そこで、本発明は、上述したような事情に鑑みて、サーバを不要としたシステムにおいて、ネットワークの負荷を軽減したサーバレスの環境を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、ネットワークに接続している他の画像形成装置との間で通信を行う通信手段と、所定の基準に基づいて、自装置が他の画像形成装置の機器情報を管理するマスター機であるか判定するマスター判定手段と、マスター判定手段で自装置をマスター機と判定した場合、通信手段を介して、他の画像形成装置からマスター機に管理されるメンバー機としての登録を受け付け、メンバーリストを作成して管理するメンバーリスト管理手段と、マスター判定手段で自装置をマスター機と判定した場合、通信手段を介して、他の画像形成装置から機器情報を取得し、取得した機器情報を管理するメンバー状態管理手段と、を有し、所定の基準は、ネットワークに接続している画像形成装置で共有している情報の世代情報、マシンスペック、全ての条件が等しい場合の機番によるソートの少なくとも１つを含み、マスター判定手段によりマスター機であると判定された自装置が停止し、マスター機が他の画像形成装置に変更された後、再び自装置が復帰した場合において、自装置は、ネットワークに接続している画像形成装置の中にマスター機があるかどうかをサーチし、マスター機に変更された他の画像形成装置をサーチしたとき、他の画像形成装置からマシンスペックを取得し、取得したマシンスペックと自装置のマシンスペックを比較するとともに、世代情報を更新し、比較の結果マシンスペックが上と判定された自装置は、世代情報が更新されたとき、他の画像形成装置に対し自装置がマスター機と選定されるようマスター選定通知を送信する。
【０００９】
また、本発明の画像形成装置は、上記の画像形成装置において、ネットワークに接続している画像形成装置の動作状態を所定のタイミングでチェックするタイマ制御手段を有し、マスター判定手段が、タイマ制御手段によるチェック結果でマスター機停止中の場合、所定の基準に基づいて、他の画像形成装置との間で機器情報の比較を行って自装置がマスター機であるか判定するものであってもよい。
【００１１】
また、本発明の画像形成装置は、上記の画像形成装置において、ネットワークに接続している画像形成装置について順位付けしたランキングテーブルを保持するランキング保持手段を有し、マスター判定手段が、ランキング保持手段で保持されているランキングテーブルにおいて自装置の順位が最高位であった場合、自装置をマスター機と判定するものであってもよい。
【００１２】
また、本発明の画像形成装置は、上記の画像形成装置において、マスター判定手段で自装置をマスター機と判定した場合、取得した他の画像形成装置の機器情報に応じて、ファイルの実体を持つ画像形成装置の数を決定するものであってもよい。
【発明の効果】
【００１３】
本発明によれば、サーバを不要としたシステムにおいて、自律的に１台の装置が機器情報を管理するマスターとなるように構成することで、ネットワークの負荷を軽減したサーバレスの環境を実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るデジタルカラー複合機の外観斜視図である。
【図２】本発明の実施形態に係るデジタルカラー複合機のブロック図である。
【図３】本発明の実施形態に係るデジタルカラー複合機の操作パネルの上面図である。
【図４】本発明の実施形態に係るデジタルカラー複合機の状態遷移図である。
【図５】本発明の実施形態に係るデジタルカラー複合機の機能構成図である。
【図６】本発明の実施形態に係るデジタルカラー複合機が行う処理（全体）のチャート図である。
【図７】本発明の実施形態に係るデジタルカラー複合機が行う処理（メンバーリスト更新）のチャート図である。
【図８】本発明の実施形態に係るデジタルカラー複合機が行う処理（タイマ制御）のチャート図である。
【図９】本発明の実施形態に係るデジタルカラー複合機が行う処理（マスター選定）のチャート図である。
【図１０】本発明の実施形態におけるメンバーリストの例を示した図である。
【図１１】本発明の実施形態におけるデータ伝播経路構築の例を示した図である。
【図１２】本発明の実施形態における選定基準（マシンスペック）の例を示した図である。
【図１３】本発明の実施形態に係るデジタルカラー複合機が行う処理（同時電源ＯＮ時のマスター選定）のチャート図である。
【図１４】本発明の実施形態に係るデジタルカラー複合機が行う処理（マスター不在検知時のマスター選定）のチャート図である。
【図１５】本発明の実施形態に係るデジタルカラー複合機が行う処理（ランキングに基づくマスター選定）のチャート図である。
【図１６】本発明の実施形態における機器情報の例を示した図である。
【図１７】本発明の実施形態に係るデジタルカラー複合機が行う処理（ファイル取得を許容する装置の決定）のチャート図である。
【図１８】本発明の実施形態における機器情報の例を示した図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して説明する。本実施形態は、画像形成装置として、コピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能などを複合したいわゆるＭＦＰ（Multi Function Peripheral）と称されるデジタルカラー複合機に適用した例を示す。
【００１６】
図１は、本実施形態の画像形成装置であるデジタルカラー複合機を概略的に示す外観斜視図である。デジタルカラー複合機１は、転写紙などの媒体に画像を形成する画像形成手段である印刷装置７の上部に、原稿から画像を読み取る画像読取手段である画像読取装置８を配設した構成となっている。また、画像読取装置８の装置外面には、オペレータに対する表示とオペレータからの機能設定等の各種の入力を受け付ける操作パネルＰが設けられている。さらに、操作パネルＰの下部には、記憶媒体Ｍに記憶されているプログラムコードや画像データ等を読み取る、または記憶媒体Ｍに対してプログラムコードや画像データ等を書き込む装置である外部メディア入出力装置９が、記憶媒体Ｍの挿入を許容する挿入口を外部に露出させて設けられている。
【００１７】
図２は、本実施形態のデジタルカラー複合機のブロック図である。画像処理ユニット部Ａと情報処理ユニット部Ｂとに大別でき、印刷装置７及び画像読取装置８は画像処理ユニット部Ａに属し、操作パネルＰ及び外部メディア入出力装置９は情報処理ユニット部Ｂに属している。はじめに画像処理ユニット部Ａについて説明する。
【００１８】
印刷装置７及び画像読取装置８を備える画像処理ユニット部Ａは、画像処理ユニット部Ａにおける画像処理全般の制御を行う画像処理制御ユニット１０を備えており、この画像処理制御ユニット１０には、印刷装置７を制御する印刷制御ユニット１１と、画像読取装置８を制御する画像読取制御ユニット１２とが接続されている。
【００１９】
印刷制御ユニット１１は、画像処理制御ユニット１０の制御に従って印刷装置７に対して画像データを含む印刷指示を出力し、印刷装置７に転写紙などの媒体に画像を形成して出力させる。画像読取制御ユニット１２は、画像処理制御ユニット１０の制御により画像読取装置８を駆動し、原稿の表面に対するランプ照射の反射光をミラー及びレンズにより受光素子（例えば、ＣＣＤ（Charge Coupled Device））に集光して読み取り、Ａ／Ｄ変換してＲＧＢ各８ｂｉｔのデジタル画像データを生成する。
【００２０】
このような画像処理制御ユニット１０は、メインプロセッサであるＣＰＵ（Central Processing Unit）１３と、画像読取装置８から読み込んだ画像データを印刷装置７による作像に供すべく一旦格納しておくメモリデバイス（例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等）１４と、制御プログラム等を記憶したＲＯＭ（Read Only Memory）１５と、システムログ／システム設定／ログ情報等を記録しておく電源ＯＦＦ時にもデータの保持が可能なＮＶＲＡＭ１６と、をバス接続したマイクロコンピュータ構成となっている。
【００２１】
また、画像処理制御ユニット１０には、多量の画像データの蓄積やジョブ履歴等の記憶装置となるＨＤＤ（Hard Disk Drive）１７、装置内部に設けられた集線装置であるＨＵＢ１９を介して画像処理ユニット部ＡをＬＡＮ２に接続するためのＬＡＮ制御部１８、ＦＡＸ制御を行うＦＡＸ制御ユニット２０が接続されている。このＦＡＸ制御ユニット２０は、公衆電話網２１に通じる構内交換器（ＰＢＸ）２２に接続されており、デジタルカラー複合機１は、遠隔のファクシミリと交信することができる。
【００２２】
加えて、画像処理制御ユニット１０には、表示制御ユニット２３及び操作入力制御ユニット２４が接続されている。表示制御ユニット２３は、画像処理制御ユニット１０のコントロールによって制御パネルＩ／Ｆ２５に接続された通信ケーブル２６を介して情報処理ユニット部Ｂに対して画像表示制御信号を出力し、情報処理ユニット部Ｂの操作パネルＰに対して画像表示の制御を行う。また、操作入力制御ユニット２４は、情報処理ユニット部Ｂの操作パネルＰからのオペレータによる機能設定や入力操作に応じた入力制御信号を、画像処理制御ユニット１０のコントロールによって制御パネルＩ／Ｆ２５に接続された通信ケーブル２６を介して入力する。
【００２３】
このように、画像処理ユニット部Ａは、情報処理ユニット部Ｂの操作パネルＰを、通信ケーブル２６を介して直接モニタすることができる構成になっている。したがって、画像処理ユニット部Ａは、従来の画像処理装置が備える画像処理ユニットに対して通信ケーブル２６を接続し、情報処理ユニット部Ｂの操作パネルＰを利用するようにしたものである。すなわち、画像処理ユニット部Ａの表示制御ユニット２３及び操作入力制御ユニット２４は、操作パネルＰに接続されているものとして動作している。
【００２４】
このような構成により、画像処理ユニット部Ａは、外部（サーバコンピュータ、クライアントコンピュータ、ファクシミリ等）からの画像情報である印刷データ及びプリント指示するコマンドを解析し、印刷データを出力画像データとして印刷できる状態にビットマップ展開し、印刷モードをコマンドから解析し動作を決定している。その印刷データ及びコマンドをＬＡＮ制御部１８あるいはＦＡＸ制御ユニット２０を通じて受信し動作する。また、画像処理ユニット部Ａは、ＳＤＲＡＭ１４やＨＤＤ１７に記憶されている印刷データ、原稿読み取りデータ、これらを出力用に処理した出力画像データ、それらを圧縮した圧縮データを外部（サーバコンピュータ、クライアントコンピュータ、ファクシミリ等）に転送することができる。
【００２５】
次に、操作パネルＰを備える情報処理ユニット部Ｂについて説明する。情報処理ユニット部Ｂは、一般にパーソナルコンピュータといわれるような情報処理装置に用いられる汎用のＯＳ（Operating System）によって制御されるマイクロコンピュータ構成とされている。
【００２６】
情報処理ユニット部Ｂは、メインプロセッサであるＣＰＵ３１を有しており、このＣＰＵ３１には、ＣＰＵ３１の作業用領域となるＲＡＭや起動プログラムなどを記憶した読出し専用メモリであるＲＯＭで構成されるメモリユニット３２と、ＯＳやアプリケーションプログラムを記憶するＨＤＤ等の記憶装置３４に対するデータの入出力を制御する記憶装置制御ユニット３５とが、バス接続されている。
【００２７】
また、ＣＰＵ３１には、情報処理ユニット部Ｂを、ＨＵＢ１９を介してＬＡＮ２に接続するためのＬＡＮ制御部３３が接続されている。このＬＡＮ制御部３３に割り当てられるネットワークアドレスであるＩＰアドレスは、前述した画像処理ユニット部ＡのＬＡＮ制御部１８に割り当てられるＩＰアドレスとは異なるものである。すなわち、本実施形態のデジタルカラー複合機１には、２つのＩＰアドレスが割り当てられていることになる。つまり、画像処理ユニット部Ａと情報処理ユニット部ＢとはＬＡＮ２に接続されていることになり、画像処理ユニット部Ａと情報処理ユニット部Ｂとの間においてはデータ交換が可能な構成になっている。
【００２８】
さらに、ＣＰＵ３１には、操作パネルＰを制御する表示制御ユニット３６及び操作入力制御ユニット３７が接続されている。
【００２９】
図３は、操作パネルＰの構成を示す平面図である。図３に示すように、操作パネルＰは、例えばＬＣＤ（Liquid Crystal Display）である表示装置４０と、操作入力装置４１とで構成されている。操作入力装置４１は、表示装置４０の表面に積層された超音波弾性波方式等のタッチパネル４１ａと、複数のキーを有するキーボード４１ｂとで構成されている。キーボード４１ｂには、画像読み取りの開始を宣言するためのスタートキー、数値入力を行うためのテンキー、読み取った画像データの送信先を設定する読取条件設定キー、クリアキー等が設けられている。
【００３０】
すなわち、表示制御ユニット３６は、画像表示制御信号を制御パネルＩ／Ｆ３８を介して表示装置４０に出力し、画像表示制御信号に応じた所定事項を表示装置４０に表示させる。一方、操作入力制御ユニット３７は、操作入力装置４１におけるオペレータによる機能設定や入力操作に応じた入力制御信号を、制御パネルＩ／Ｆ３８を介して受信する。
【００３１】
加えて、ＣＰＵ３１には、画像処理ユニット部Ａの制御パネルＩ／Ｆ２５と通信ケーブル２６を介して接続されている制御パネル通信ユニット３９が接続されている。制御パネル通信ユニット３９は、画像処理ユニット部Ａから出力された画像表示制御信号を受信し、また、操作パネルＰからのオペレータによる機能設定や入力操作に応じた入力制御信号を画像処理ユニット部Ａに転送する。なお、詳細は後述するが、制御パネル通信ユニット３９で受信した画像処理ユニット部Ａからの画像表示制御信号は操作パネルＰの表示装置４０用にデータ変換処理されてから表示制御ユニット３６に出力され、また、操作パネルＰからのオペレータによる機能設定や入力操作に応じた入力制御信号は画像処理ユニット部Ａでの仕様に応じた形式にデータ変換処理されてから制御パネル通信ユニット３９に入力される。
【００３２】
また、上述したように記憶装置３４には、ＣＰＵ３１が実行するＯＳやアプリケーションプログラムが格納されている。この意味で、記憶装置３４は、アプリケーションプログラムを記憶する記憶媒体として機能する。このデジタルカラー複合機１では、ユーザが電源を投入するとＣＰＵ３１がメモリユニット３２内の起動プログラムを起動させ、記憶装置３４よりＯＳをメモリユニット３２内のＲＡＭに読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）等が知られている。これらのＯＳ上で走る動作プログラムをアプリケーションプログラムと呼んでいる。情報処理ユニット部ＢのＯＳは、情報処理装置（サーバコンピュータ３やクライアントコンピュータ４等）と同様のＯＳ、すなわち汎用のＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標）等）とされている。
【００３３】
［実施例１］
本実施形態における第１の実施例について説明する。図４は、本実施例における多機能デジタル入出力装置の状態遷移図である。ここでは各イベントに対する多機能デジタル入出力装置の状態遷移について説明する。電源ＯＦＦ状態（Ｈ１）から電源ＯＮ（Ｈ２）することにより参加したネットワークにマスター有無を調べるためマスターサーチ状態（Ｈ３）に遷移する。サーチに対してマスター応答（Ｈ４）があるとマスターが保持している情報と同じ状態にするためデータ同期中（Ｈ６）状態に遷移する。マスターサーチに対して応答がないとマスター不在（Ｈ５）と判断し、マスター選定中（Ｈ７）状態に遷移する。
【００３４】
まず、マスター応答があった場合の状態遷移について説明する。自分がマスターの場合、同期完了（Ｈ２０）によりメンバーの状態変化通知待ち（Ｈ２２）状態に遷移する。変化待ち状態からは、マスターのＰｏｗｅｒＯＦＦ・ＫｅｅｐＡｌｉｖｅタイムアウト（ｈ２１）によりマスター選定中（Ｈ７）状態に遷移し処理が行われる。また、メンバーのＫｅｅｐＡｌｉｖｅタイムアウト（Ｈ１８）が発生した場合、データの伝搬経路を再構築する必要があるため、伝搬経路構築中（Ｈ１６）状態に遷移し、構築完了（Ｈ１７）により、再度変化待ち（Ｈ２２）状態へ遷移する。
【００３５】
次に、マスター不在（Ｈ５）の場合の状態遷移について説明する。マスター選定中（Ｈ７）状態にて自分がマスターとなった場合、自マスター宣言（Ｈ９）を行いメンバー登録待ち（Ｈ１４）状態に遷移する。ここではネットワークに参加しているメンバーの登録を行い、登録完了（Ｈ１５）によりデータ同期の経路を構築する伝搬経路構築中（Ｈ１６）状態に遷移し経路を構築する。経路の構築完了（Ｈ１７）により変化通知待ち（Ｈ２２）状態に遷移する。マスター選定中（Ｈ７）にて他マスター宣言（Ｈ８）があった場合、マスターが保持している情報と一致させるためデータ同期中（Ｈ６）状態に遷移し、同期完了（Ｈ１０）後に変化通知待ち(メンバー)（Ｈ１３）状態となる。ここでマスターから変化通知（Ｈ１１）をうけると再度データ同期中（Ｈ６）状態となり同期完了後変化通知待ち(メンバー)となる。また、マスターのＫｅｅｐＡｌｉｖｅタイムアウトやＰｏｗｅｒＯＦＦを検知（Ｈ１２）することで、マスター選定中（Ｈ７）状態になり、再度マスター選定処理が動作する。
【００３６】
図５は、本実施例における多機能デジタル入出力装置の処理ブロック図である。ここでは多機能デジタル入出力装置（Ａ１）の処理について説明する。まず、ネットワークに参加しているメンバーとの情報授受を行うため、情報のブロードキャスト処理はＵＤＰ処理部（Ａ９）、ユニキャスト処理はＴＣＰ処理部（Ａ５）にて行う。保持している情報が更新された場合、通知するための情報更新処理部（Ａ７）がある。多機能デジタル入出力装置が保持しているデータで、メンバーと共有する必要のある情報をＤＢ１（Ａ１１）、自分のみで使用する情報をＤＢ２（Ａ１５）に格納している。
【００３７】
ＤＢ１（Ａ１１）には多機能デジタル入出力装置を使用するユーザのユーザ情報（Ａ１２）や格納データ（Ａ１３）、ネットワークに参加しているメンバーのリスト（Ａ１４）を格納している。この情報が更新された場合に情報更新処理部（Ａ７）にて更新処理を行う。
【００３８】
ＤＢ２（Ａ１５）には、生存確認用のＫｅｅｐＡｌｉｖｅ送信間隔（Ａ１６）、マスターのＩＰアドレス等の情報であるマスター情報（Ａ１８）、マスターとなった場合に構築する伝搬経路（Ａ１７）がある。タイマ制御部（Ａ３）はＤＢ２に格納されているＫｅｅｐＡｌｉｖｅ送信間隔にて処理を制御している。次にマスターになった場合のみ動作する処理として、メンバーの状態を管理するメンバー状態管理部（Ａ２）、メンバーリストを管理するメンバーリスト管理部（Ａ６）、情報を伝搬する経路を構築する伝搬経路構築部（Ａ８）を保持している。
【００３９】
図６を参照して電源ＯＮからの処理フローについて説明する。スタートすると、参加通知をブロードキャストする（Ｓ１０１）。次に、マスターを検索するためのマスターサーチをブロードキャスト送信し（Ｓ１０２）、マスターからの応答を待つ。マスター応答がある場合（Ｓ１０３／ＹＥＳ）は、自分で保持しているマスター情報を更新し（Ｓ１０５）、マスターとデータ同期を行い（Ｓ１１４）、起動処理は終了となる。
【００４０】
次に、マスター応答が無い場合（Ｓ１０３／ＮＯ）は、マスター立候補通知をブロードキャスト送信し（Ｓ１０４）マスター選定を行う（Ｓ１０６）。マスター選定終了後、自分がマスターになったかを判定する（Ｓ１０７）。自分以外がマスターになった場合（Ｓ１０７／ＮＯ）、マスター決定通知を受信するまでマスター決定通知受信にとどまり（Ｓ１１１）、決定通知受信後（Ｓ１１１／ＹＥＳ）、マスターからのメンバー登録依頼受信するまでメンバー登録依頼受信にとどまる（Ｓ１１２）。メンバー登録依頼を受信すると（Ｓ１１２／ＹＥＳ）自分の情報を送信し（Ｓ１１３）、データ同期を行い（Ｓ１１４）、起動処理は終了となる。
【００４１】
次に、判定で自分がマスターと判定した場合（Ｓ１０７／ＹＥＳ）、マスター決定通知をマルチキャスト送信し（Ｓ１０８）、メンバーに登録依頼をマルチキャストで送出する（Ｓ１０９）。その後、メンバーリストを作成し（Ｓ１１０）、各メンバーとデータ同期し（Ｓ１１４）、起動処理は終了となる。
【００４２】
図７を参照してメンバーの離脱を検出した際の処理を説明する。電源ＯＦＦによりメンバーが離脱する際、メンバーは離脱通知をマスターにユニキャスト送信する。マスターは離脱通知を受けると（Ｓ２０１）、保持しているメンバーリストを更新し（Ｓ２０２）、自分が保持しているリストを最新の状態にする。
【００４３】
図８を参照してタイマーイベントについて説明する。タイマーイベントが発生すると（Ｓ３０１）、発生したイベントがＫｅｅｐＡｌｉｖｅ送信イベントの場合（Ｓ３０２）、ＫｅｅｐＡｌｉｖｅを送信する（Ｓ３０３）。メンバーのＫｅｅｐＡｌｉｖｅ無応答イベントの場合（Ｓ３０２）は、図７にて説明したメンバー離脱処理を行う（Ｓ３０４）。マスターＫｅｅｐＡｌｉｖｅ無応答イベントの場合（Ｓ３０２）、マスター選定処理を行う（Ｓ３０５）。
【００４４】
ここでのマスター選定処理について図９を参照して説明する。マスターからのＫｅｅｐＡｌｉｖｅを一定時間以上受信できない場合、メンバーはマスター立候補をブロードキャスト送信する（Ｓ４０１）。ブロードキャスト送信の後、マスター選定を行い（Ｓ４０２）、自分がマスターかどうかの判定をする（Ｓ４０３）。自分がマスターではない場合（Ｓ４０３／ＮＯ）、マスター決定通知受信待ちになり（Ｓ４０７）、マスター決定通知の受信後（Ｓ４０７／ＹＥＳ）、マスターからのメンバー登録依頼受信待ちになり（Ｓ４０８）、メンバー登録依頼の受信後（Ｓ４０８／ＹＥＳ）、自分の情報をマスターにユニキャストして（Ｓ４０９）終了となる。自分がマスターである場合（Ｓ４０３／ＹＥＳ）、マスター決定通知（Ｓ４０４）・メンバー登録依頼（Ｓ４０５）をブロードキャストし、メンバーリストの作成を行う（Ｓ４０６）。
【００４５】
図１０を参照してメンバーリストの内容について説明する。リストにはメンバー固有であるＮｏ．（Ｆ１）、ホスト名（Ｆ２）、ＩＰアドレス（Ｆ３）、インストールされているソフトウェアバージョン（Ｆ４）、マスター／メンバーのテータス情報（Ｆ５）が格納される。このリストを使用して、データの伝搬経路を構築し、データ伝搬処理を行う。
【００４６】
図１１を参照してメンバーリストの内容が図１０の場合のデータ伝搬経路構築の一例を示す。伝搬経路はＩＰアドレス4オクテットの値にて昇順に並べられ、図１１に示すように、マスターであるＴＥＳＴ１（Ｇ１）を頂点にし、ＴＥＳＴ２（Ｇ２）、ＴＥＳＴ３（Ｇ３）、ＴＥＳＴ４（Ｇ４）、ＴＥＳＴ５（Ｇ５）でピラミッド構造を構築する。この場合、伝搬経路はＧ１→Ｇ２→Ｇ４及びＧ１→Ｇ３→Ｇ５の２パターンとなり、この経路でデータを伝搬して、全メンバーにて同一情報を保持する。
【００４７】
本実施例によれば、マスターと呼ばれる機器の指示に従って、複数の機器で保持しているデータをリアルタイムで同期させることができ、機器の追加・削除を自動で検知しそれに伴ってマスターが自律的に変わることで、ある特定の機器に依存することなくデータ同期を行うことができる。たとえマスターとなっている機器が故障した場合でも、故障したことを検知し、自律的に次のマスターを選定することができる。
【００４８】
［実施例２］
本実施形態における第２の実施例について説明する。本実施例における多機能デジタル入出力装置は、マスターの選定条件を決めることでより最適なマシンをマスターとして選定する。このため、本実施例ではより安定したシステムを実現できる。
【００４９】
マスターの選定の条件は、以下を使用し、序列を決定する。
１．最新の世代情報を持っている（世代管理テーブルの世代数の総和が最も高いもの、この項目を使用する理由は、すぐに最新の情報をクライアントにサービスするためである。）
２．スペックが最も高い（使用するスペックは図１２を参照、この項目を使用する理由は、全ての情報はマスターを経由するため、よりスペックが高い方が望ましいためである。）
３．全ての条件が等しい場合は、機番によるソートを行う
４．マスターの立候補のブロードキャストは全台が同時に送信すると高負荷が予想されるため、ランダムのディレイを施す
【００５０】
同時電源ＯＮのマスター選定シーケンスを図１３に示す。前提として、データ世代の新しさを含めたスペック序列を以下のとおりとする。
高  マシン１←マシン２←マシン３  低
【００５１】
電源ＯＮ時、マシンスペックが一番高く、電源ＯＦＦ前にマスターとなっていたマシン１からマスターとなるために「マスター取得」をブロードキャストする。不在検知を行いながら何回か「マスター取得」ブロードキャストを行い、他のマシンからの「マスター立候補」を受け取る。マシンそれぞれが、受け取ったマスター立候補マシンのスペックを比較し、マスター選定条件によりマスターを決める。
【００５２】
マシン１が該当する場合は、「マスター宣言」をブロードキャストする。次に、他のマシンに対して情報テーブルを作成するために「登録要求」をブロードキャストする。受け取った他のマシンは、「登録」をユニキャストする。マシン２がバックアップマシンと選定された場合は、マシン２に対して「バックアップ任命」をユニキャストする。次に、他のマシンに対して情報テーブルを更新するために「リスト返却」をユニキャストとする。他のマシンは、「世代比較結果」を返す。マシン１は、「情報更新」を通知する。このようにして、マシン１がマスターとなる。
【００５３】
マスター不在検知時のマスター選定シーケンスを図１４に示す。前提として、データ世代の新しさを含めたスペック序列を以下のとおりとする。
高  マシン１（マスター）←マシン２（バックアップ）←マシン３←マシン４  低
【００５４】
マシン３からマスターであるマシン１に「変更」を通知するが、マシン１がダウンしているためエラーとなる。マシン３は、他のマシンに対して「マスター選定」をブロードキャスト行い、他のマシンからの「マスター立候補」を受け取る。マシンそれぞれが、受け取ったマスター立候補マシンのスペックを比較し、マスター選定条件によりマスターを決める。
【００５５】
マシン２が該当する場合は、「マスター立候補」をブロードキャストし、「マスター宣言」をブロードキャストする。次に、他のマシンに対して情報テーブルを作成するために「登録要求」をブロードキャストする。受け取った他のマシンは、「登録」をユニキャストする。
【００５６】
マシン３がバックアップマシンと選定された場合は、マシン３に対して「バックアップ任命」をユニキャストする。次に、他のマシンに対して情報テーブルを更新するために「リスト返却」をユニキャストとする。他のマシンは、「世代比較結果」を返す。マシン２は、「情報更新」を通知する。このようにして、マスターであったマシン１がダウンした場合、マスターの変更が行われる。
【００５７】
また、前にマスターであったマシン１が復活した場合、マシン１から「マスター取得」をブロードキャストする。現在マスターであるマシン２は、「マスター応答」返す。マシン１は、スペックの比較を行い、マシンスペック上はマシン１の方が上だが情報世代は上のため受け入れ、「登録」をユニキャストする。マシン１は、マスター（マシン２）に「世代比較結果」を通知すると、マスター（マシン２）は、他のマシンに対して「情報更新」を通知する。マシン１は、世代情報を更新することにより、マシンスペックが上位であり、世代情報も同じになったのでマスターになるべく他のマシンに対して「マスター選定」をブロードキャスト行う。
【００５８】
以下、上記の各マシンが「マスター立候補」をブロードキャスト送信するところからと同様であるが、マシン１がマスター、マシン２がバックアップとなる。
【００５９】
本実施例によれば、例えばネットワークに接続されているマシンのＯＳがほとんどＷｉｎｄｏｗｓ（登録商標）２０００の中で、Ｗｉｎｄｏｗｓ（登録商標）ＸＰや、ＷｉｎｄｏｗｓＳｅｒｖｅｒ（登録商標）２００３等があればサーバに適したＯＳのマシンをマスターに、但しマスターは処理の負荷が高くなるのでＯＳだけでなく、より高速なＣＰＵ・実装メモリの多い物の中から選定されることにより最適なマシンをマスターとして選定することが出来ため、より安定したシステムとすることができる。
【００６０】
［実施例３］
本実施形態における第３の実施例について説明する。図１５は、本実施例における処理を示したフローチャートである。まず、各装置は機器情報を取得したい場合、マスターへ機器情報の問い合わせを実施する（Ｓ５０１）。その際、マスターからの応答が無ければ、マスターは不在であると判断する（Ｓ５０２／ＹＥＳ）。マスターが不在と判断した装置は、マスター選定ブロードキャストを送信し、各装置にマスターが不在である事を通知する（Ｓ５０３）。各装置はマスター選定ブロードキャストを受信すると、各装置内に保持しているマスターランキングテーブルを参照する（Ｓ５０４）。
【００６１】
マスターランキングテーブルの例を図１６に示す。このテーブルは、実施例２におけるマスター選定時に、マスターだけでなく全ての装置に対して、マスターとしてふさわしい装置かをランキング付けしたものである。各装置はこのテーブルを参照し、動作中装置の中で自分のランキングが最高である場合（Ｓ５０５／ＹＥＳ）、マスター宣言ブロードキャストを送信しマスターとなる（Ｓ５０６）。新しくマスターとなる装置以外はそのブロードキャストを受信する（Ｓ５０５／ＮＯ、Ｓ５０７）。各装置はマスターランキングテーブルを更新する（Ｓ５０８）。
【００６２】
本実施例によれば、マスターが故障などで不在となった場合などでも、すぐに新しいマスターを選定することができ、システムを常に稼動し続けることができる。例えば、マスターが故障してから選定する処理を行うと、一時的にマスターが不在の状態になり、システムが稼動しなくなる恐れがある。マスター選定時にマスターにふさわしい順にランキングを付与しておくことで、不在となった場合でも新しいマスターをすぐに選定することができる。
【００６３】
［実施例４］
本実施形態における第４の実施例について説明する。本実施例は再起動回数を保持し、その回数に応じてファイルの実体を持つ機器の数を決定するものであるが、再起動回数以外の情報を判断材料としてもよい。例えばマスターを選定する時に収集するＷｉｎｄｏｗｓ（登録商標）のバージョンやハードウェアの構成の情報を判断材料とするなどである。現在機器が保持している機器情報を図１８に示し、この機器構成において、再起動回数からファイルのコピー先を選択するフローチャートを図１７に示す。
【００６４】
ユーザがファイルを機器２に書き込む（Ｓ６０１）。機器２は、ファイルの実体を取得したことをマスターへ通知する（Ｓ６０２）。マスターは、保持している機器情報（図１８）からその機器２の再起動回数を取得する（Ｓ６０３）。そして、マスターは、機器２の１日の平均再起動回数が１回以上であるかを判断する（Ｓ６０４）。
【００６５】
１日の平均再起動回数が１回未満である場合（Ｓ６０４／ＮＯ）、マスターは、ファイルのリンク情報を他の機器に通知して終了する（Ｓ６０７）。こうすることにより、ユーザは、ファイルを取得したい場合、どの機器に対して取得要求をしてもファイルを取得することが可能となる。
【００６６】
１日の平均再起動回数が１回以上の場合（Ｓ６０４／ＹＥＳ）、ファイルへアクセスできなくなる時間がある可能性があるため、マスターは、１日の平均再起動回数が１回未満の機器があるかどうかを調べる（Ｓ６０５）。１日の平均再起動回数が１回未満の機器がある場合（Ｓ６０５／ＹＥＳ）、マスターは、コピー先として最適な機器を選択し、その機器へファイルの実体をコピーする（Ｓ６０６）。例えば図１８のような構成となっている場合、機器３、機器４、機器５が該当し、その中で一番空き容量が大きい機器５をコピー先として選択する。そして、マスターは、ファイルの実体のリンク情報を各機器に通知する（Ｓ６０７）。このようにすることで、機器２が停止中となった場合でも、ユーザは、機器５からファイルの実体を取得することが可能となる。
【００６７】
本実施例によれば、常時ファイルにアクセスすることが可能となり、システムの可用性を向上することができる。
【００６８】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００６９】
すなわち、本実施形態におけるデジタルカラー複合機で実行されるプログラムは、先に述べた各部（メンバー状態管理部（Ａ２）、メンバーリスト管理部（Ａ６）、タイマ制御部（Ａ３）、情報更新処理部（Ａ７）、マスター判定部（Ａ４）、伝搬経路構築部（Ａ８）等）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。また、ソフト的に上記各部を実現するほか、例えば回路等のハードウエアを用いてハード的に実現するように構成してもよい。
【００７０】
本実施形態におけるデジタルカラー複合機で実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００７１】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００７２】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【符号の説明】
【００７３】
１    デジタルカラー複合機
７    印刷装置
８    画像読取装置
９    外部メディア入出力装置
１０    画像処理制御ユニット
１１    印刷制御ユニット
１２    画像読取制御ユニット
１３，３１    ＣＰＵ
１４    ＳＤＲＡＭ
１５    ＲＯＭ
１６    ＮＶＲＡＭ
１７    ＨＤＤ
１８，３３    ＬＡＮ制御部
１９    ＨＵＢ
２０    ＦＡＸ制御ユニット
２２    ＰＢＸ
２３，３６    表示制御ユニット
２４，３７    操作入力制御ユニット
２５，３８    操作パネルＩ／Ｆ
２６    通信ケーブル
３２    メモリユニット
３４    記憶装置
３５    記憶装置制御ユニット
３９    制御パネル通信ユニット
４０    表示装置
４１    操作入力装置
４１ａ    タッチパネル
４１ｂ    キーボード
４２    入出力デバイス制御ユニット
４３    各種インターフェース
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２００８−１４６６７３号公報
【図１】
0005581746.tif 000002
【図２】
0005581746.tif 000003
【図３】
0005581746.tif 000004
【図４】
0005581746.tif 000005
【図５】
0005581746.tif 000006
【図６】
0005581746.tif 000007
【図７】
0005581746.tif 000008
【図８】
0005581746.tif 000009
【図９】
0005581746.tif 000010
【図１０】
0005581746.tif 000011
【図１１】
0005581746.tif 000012
【図１２】
0005581746.tif 000013
【図１３】
0005581746.tif 000014
【図１４】
0005581746.tif 000015
【図１５】
0005581746.tif 000016
【図１６】
0005581746.tif 000017
【図１７】
0005581746.tif 000018
【図１８】
0005581746.tif 000019