以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態のネットワークシステムの初期状態の構成例を示す図である。同図には、ネットワーク環境A、ネットワーク環境B、及びネットワーク環境Cが示されている。以下、ネットワーク環境A、B、及びCを区別しない場合、単に、「ネットワーク環境」という。なお、ネットワーク環境とは、ネットワーク単位に形成される環境をいう。但し、ネットワーク単位は、物理的なものに限られない。仮想LAN(Virtual LAN)等によって、仮想的に形成されるネットワーク単位であってもよい。
各ネットワーク環境は、一以上の画像形成装置10を含む。例えば、ネットワーク環境Aは、画像形成装置10a1〜10a4を含む。ネットワーク環境Bは、画像形成装置10b1〜b4を含む、ネットワーク環境Cは、画像形成装置10c1〜10c4を含む。各画像形成装置10は、同一のネットワーク環境に属する他の画像形成装置10と、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)を介して通信可能に接続されている。
各ネットワーク環境では、一台の画像形成装置10がマスター機として選択されている。同図では、画像形成装置10a1、10b1、及び10c1が、マスター機である例が示されている。マスター機以外の画像形成装置10を、スレーブ機と呼ぶ。マスター機は、同期対象とされる管理情報(以下、「同期対象データ」という。)の同期処理において主導的な役割を担う画像形成装置10である。例えば、マスター機は、同期対象データの更新の通知先となる。スレーブ機は、当該同期処理において従属的に振る舞う画像形成装置10である。例えば、スレーブ機は、同期対象データに対する更新をマスター機に通知する。
なお、同期とは、各画像形成装置10において同期対象データの状態を一致させることをいう。図1に示されるネットワークシステムの当初の状態において、ネットワーク環境ごとに同期が行われる。すなわち、各ネットワーク環境は、それぞれ一つの同期範囲を形成する。
同期対象データの一例として、各種の設定情報(例えば、アドレス帳等)、画像形成装置10においてスキャンされた画像データ等が挙げられる。例えば、各種の設定情報に関しては、いずれの画像形成装置10が操作対象とされても、同様の操作感をユーザに提供するために同期が図られる。画像データについては、いずれかの画像形成装置10においてスキャンされた画像データを、いずれの画像形成装置10からも同様に操作可能なように同期が図られる。
図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。NVRAM115には、各種の情報等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図3は、本発明の実施の形態における画像形成装置の機能構成例を示す図である。同図に示されるように、各画像形成装置10は、同期処理部121、マスター探索部122、マスター探索応答部123、マスター選定部124、マスター維持処理部125、スレーブ移行処理部126、メンバーリスト記憶部131、優先情報記憶部132、及び同期対象データ記憶部133等を有する。同期処理部121、マスター探索部122、マスター探索応答部123、マスター選定部124、マスター維持処理部125、及びスレーブ移行処理部126は、画像形成装置10にインストールされたプログラムがCPU111に実行させる処理により実現される。メンバーリスト記憶部131、優先情報記憶部132、及び同期対象データ記憶部133は、例えば、HDD114又はNVRAM115等を用いて実現される。
同期処理部121は、同期対象データに関して同期処理を行う。同期処理の内容は、自機(当該画像形成装置10)がマスター機であるかスレーブ機であるかによって異なる。
マスター探索部122は、自機がマスター機である場合に、定期的又は周期的に他のマスター機の探索要求を、ネットワーク上にブロードキャストする。探索する周期を示す時間間隔(以下、「マスター探索周期」という。)は、例えば、HDD114又はNVRAM115等に記録されている。マスター探索部122は、マスター探索要求に対して応答を返信した画像形成装置10を、他のマスター機であると認識する。換言すれば、マスター探索部122は、マスター探索要求に対する応答に基づいて、他のマスター機の存在を検知する。但し、他のマスター機の検知方法は、上記の手順に限定されない。例えば、各マスター機が、その存在を定期的にブロードキャストしてもよい。各マスター機は、他のマスター機による当該ブロードキャストの受信に基づいて、当該他のマスター機の存在を検知してもよい。
マスター探索応答部123は、自機がマスター機である場合に、他のマスター機より送信されたマスター探索要求に対して、自機の存在を通知するための応答を返信する。
マスター選定部124は、マスター探索部122によって、他のマスター機、すなわち、自機以外のマスター機が一以上探索された場合に、自機の属性情報及び他のマスター機のそれぞれの属性情報に応じて、自機及び当該一以上のマスター機の中から、一つの統合的なマスター機を選定する。自機の同期範囲と、他のマスター機ごとの同期範囲とを統合して、一つの新たな同期範囲を構築するためのである。
マスター維持処理部125は、自機又は他のマスター機のマスター選定部124によって、自機が統合的なマスター機に選定された場合に、新たな同期範囲において自機がマスター機としての地位を維持するための処理を実行する。例えば、マスター維持処理部125は、自機がマスター機として選定されたことを記憶するよう他のマスター機に要求する。
スレーブ移行処理部126は、自機又は他のマスター機のマスター選定部124によって、他のマスター機が統合的なマスター機に選定された場合に、他のマスター機のスレーブ機に移行するための処理を実行する。例えば、スレーブ移行処理部126は、当該他のマスター機の属性情報を、新たな同期範囲のマスター機の属性情報として自機内に記録する。スレーブ移行処理部126は、また、自機の各スレーブ機に対して、当該他のマスター機が新たな同期範囲のマスター機となったことを通知する。各スレーブ機に対する当該通知は、自機はもはやマスター機でないことをも意味する。
メンバーリスト記憶部131は、自機が属する同期範囲に存在する各画像形成装置10(マスター機又はスレーブ機)の属性情報等の一覧(以下、「メンバーリスト」という。)を記憶する。
優先情報記憶部132は、マスター選定部124がマスター機を選定する際に、いずれの属性項目の値を優先させて各マスター機を比較するかを示す情報(優先情報)を記憶する。
同期対象データ記憶部133は、同期対象データを記憶する。但し、各種の同期対象データは、一つにまとめられて管理されていなくてもよい。例えば、各種の同期対象データは、複数のファイル又は複数のデータベース等、複数の記憶手段に分散されて管理されていてもよい。
なお、以下の説明において、図3に示される各構成要素について、特定の画像形成装置10の構成要素であることを示す場合、当該構成要素の符号の後に、当該画像形成装置10の符号の「10」を除く文字列(a1〜a3、b1〜b3、又はc1〜c3)を付加する。例えば、画像形成装置10a1のマスター探索部122は、「マスター探索部122a1」と表記される。
以下、画像形成装置10が実行する処理手順について説明する。まず、同期対象データの同期処理の一例に関して説明する。
図4は、同期対象データの同期処理の処理手順の一例を説明するためのシーケンス図である。同図では、マスター機である画像形成装置10a1と、スレーブ機である画像形成装置10a2との間で同期が図られる例について説明する。なお、同期処理の前提として、各スレーブ機には、マスター機の属性情報が設定されている。例えば、スレーブ機のメンバーリスト記憶部131には、マスター機の属性情報が記録されている。スレーブ機にはまた、同期周期が設定されている。同期周期とは、同期処理を行う周期である。
画像形成装置10a2(以下、図4の説明において「スレーブ機」という。)の同期処理部121a2は、自機に設定されている同期周期に基づく同期時期の到来を検知すると、同期要求をマスター機である画像形成装置10a1に送信する(S101)。同期要求には、スレーブ機の同期対象データ記憶部133a2に記憶されている同期対象データの書誌情報及びメンバーリスト記憶部131a2に記憶されているメンバーリスト等が含まれる。なお、スレーブ機に関して、過去に一度も同期処理が実行されていない場合、メンバーリスト記憶部131a2には、例えば、当該スレーブ機とマスター機とのそれぞれの属性情報が記録されている。したがって、同期処理部121a2は、メンバーリスト記憶部131a2が記憶するメンバーリストに基づいて、画像形成装置10a1がマスター機であることを特定する。
画像形成装置10a1(以下、図4の説明において「マスター機」という。)の同期処理部121a1は、同期要求が受信されると、当該同期要求に含まれているメンバーリストに基づいて、マスター機のメンバーリスト記憶部131を更新する(S102)。
図5は、メンバーリスト記憶部の構成例を示す図である。同図において、メンバーリスト記憶部131は、画像形成装置10ごとに、ホスト名、IPアドレス、ソフトウェアバージョン、ステータス、消費電力値、オプション情報、ネットワーク負荷状況、CPUスペック、ユーザ登録数、及びHDD容量等の属性項目を含む属性情報の一例を記憶する。
ホスト名、IPアドレスは、画像形成装置10のホスト名、IPアドレスである。ソフトウェアバージョンは、画像形成装置10にインストールされている所定のソフトウェアのバージョンである。ステータスは、マスター機であるかスレーブ機であるかを示す情報である。消費電力値は、画像形成装置10の消費電力値である。オプション情報は、画像形成装置10に装着されているオプション部品の一覧である。ネットワーク負荷状況は、所定の計測方法によって計測される、当該同期範囲におけるネットワーク負荷の状況を示す値である。CPUスペックは、画像形成装置10が有するCPU111のスペックである。ユーザ登録数は、画像形成装置10を利用可能なユーザの登録数をいう。HDD容量は、画像形成装置10のHDD114の容量である。
ステップS102において、同期処理部121a1は、同期要求に含まれているメンバーリストに含まれているレコードの中に、メンバーリスト記憶部131a1に記憶されていないレコードが有る場合、当該レコード(属性情報)をメンバーリスト記憶部131a1に追加する。具体的には、画像形成装置10a2に関して初めて同期が図られる場合、画像形成装置10a2の属性情報がメンバーリスト記憶部131a1に追加される。このように、メンバーリスト記憶部131a1が記憶するメンバーリストは、同期処理の実行に応じて変化しうる。これは、メンバーリストも広義において同期対象のデータとされているからである。
続いて、同期処理部121a1は、同期要求に含まれている同期対象データの書誌情報及びメンバーリストと、同期対象データ記憶部133a1が記憶する同期対象データの書誌情報及びメンバーリスト記憶部131a1が記憶するメンバーリストとの相違点を抽出する(S103)。
続いて、同期処理部121a1は、抽出された相違点において、スレーブ機の方が新しいデータに関して、当該データの実体の送信をスレーブ機に要求する(S104)。スレーブ機の同期処理部121a2は、要求されたデータの実体を同期対象データ記憶部133a2より取得し、マスター機に返信する。なお、例えば、同期処理部121a1は、ステップS104の要求を送信してから、ステップS105の応答が受信されるまでの時間(応答時間)を、計測し、当該応答時間を画像形成装置10a2に関連付けて記憶しておく。例えば、当該応答時間は、メンバーリスト記憶部131a1において、画像形成装置10a2のレコードのネットワーク負荷状況の値として記録されてもよい。
続いて、同期処理部121a1は、返信されたデータの実体及び書誌情報を、同期対象データ記憶部133a1に反映する(S106)。その結果、スレーブ機における、同期対象データに対する更新が、データ記憶部133a1に反映される。
続いて、同期処理部121a1は、例えば、ステップS104及びS105に関して計測された応答時間に基づいて、メンバーリスト記憶部131a1における、マスター機のレコードのネットワーク負荷状況の値を更新する(S107)。マスター機のレコードのネットワーク負荷状況の値は、各スレーブ機の応答時間の平均を算出することによって得られる。したがって、メンバーリスト記憶部131a2に登録されている各スレーブ機に関して、最後の同期処理時に計測された応答時間を、当該スレーブ機の総数で除することにより、マスター機のレコードのネットワーク負荷状況の値が算出される。
続いて、同期処理部121a1は、ステップS103において抽出された相違点において、マスター機の方が新しいデータの実体及び書誌情報をスレーブ機に送信する(S108)。マスター機の方が新しいデータには、メンバーリストも含まれうる。
スレーブ機の同期処理部121a2は、受信されたデータの実体等を同期対象データ記憶部133a2に反映する(S109)。その結果、マスター機における、同期対象データに対する更新が、データ記憶部133a2に反映される。メンバーリストが受信された場合、同期処理部121a2は、受信されたメンバーリストによって、メンバーリスト記憶部131a2を更新する。続いて、同期処理部121a2は、応答を返信する(S110)。
なお、画像形成装置10a3又は10a4において、同期時期が到来した場合、画像形成装置10a3又は10a4に関して、画像形成装置10a1との間で、図6の処理が実行される。このような処理が、周期的に実行されることで、同期範囲内における各画像形成装置10の同期対象データ及びメンバーリスト等は、同じ状態に保たれる。
続いて、ネットワーク環境A、B、及びCが、例えば、ハブHを介して接続された後、すなわち、3つのネットワーク環境が一つのネットワークに統合された後に実行される、同期範囲の自動編成処理の処理手順について説明する。なお、ネットワーク環境の統合等のネットワーク構成の変更は、物理的なものでなくてもよい。仮想LAN等によって、仮想的又は論理的に統合されてもよい。
図6は、同期範囲の自動編成処理の処理手順の第一の例を説明するためのシーケンス図である。
3つのネットワーク環境の接続後において、例えば、画像形成装置10a1のマスター探索部122a1は、自機に設定されているマスター探索周期に基づくマスター探索時期の到来を検知したとする(S201)。マスター探索時時期の到来に応じ、マスター探索部122a1は、マスター探索要求をネットワーク上に送出する(S202、S204)。マスター探索要求は、例えば、ブロードキャストされる。
なお、各マスター機(画像形成装置10a1、10b1、及び10c1)は、それぞれに設定されたマスター探索周期に基づいて、各ネットワーク環境の接続以前よりマスター探索要求をブロードキャストしている。ここでは、各ネットワーク環境の接続後において、最初にマスター探索時期が到来したのが画像形成装置10a1である例を示す。
マスター探索要求を受信した各画像形成装置10の中で、マスター機である画像形成装置10b1及び10c1のそれぞれのマスター探索応答部123は、自機(画像形成装置10b1又は10c1)のメンバーリスト記憶部131に記憶されているメンバーリストを応答する(S203、S205)。なお、マスター探索応答部123b1及びマスター探索応答部123c1は、例えば、メンバーリスト記憶部131b1又はメンバーリスト記憶部131c1に記憶されているメンバーリストにおいて、自機のステータスが「マスター」であることに基づいて、自機がマスター機であることを判定する。
マスター探索部122a1は、メンバーリストの応答元である画像形成装置10b1及び10c1を、自機以外のマスター機(他のマスター機)であることを特定する(S206)。すなわち、自機以外のマスター機の存在が検知される。マスター探索部122a1は、他のマスター機より応答されたメンバーリストを、RAM112等に記録しておく。なお、自機以外のマスター機の存在が検知されない場合、ステップS207以降は実行されない。
自機以外のマスター機の存在が検知された場合、マスター選定部124a1は、他のマスター機である、画像形成装置10b1及び10c1に対して、優先情報の送信を要求する(S207、S209)。当該要求を受信した、画像形成装置10b1のマスター選定部124b1及び画像形成装置10c1のマスター選定部124c1は、優先情報記憶部132b1又は優先情報記憶部132c1に記憶されている優先情報を返信する(S208、S210)。
図7は、優先情報記憶部の構成例を示す図である。同図に示されるように、優先情報記憶部132は、自機の属性項目ごとにマスター機の選定に関する優先度を記憶する。同図では、属性項目として、ネットワーク負荷状況、CPUスペック、ユーザ登録数、及びHDD容量等が優先度の設定対象とされた例が示されている。なお、消費電力値やオプション情報等、他の属性項目に関して、優先度が設定されていてもよい。すなわち、同図に例示されている属性項目以外の属性項目の値が、マスター機の選定時に参照されてもよい。
優先度は、マスター機を選定する際に、いずれの属性項目の値を優先させて各マスター機を比較するかを示す情報の一例である。本実施の形態において、優先度は、「高」、「中」、又は「低」の値をとりうる。本実施の形態において、「高」の優先度は、画像形成装置10ごとに、一つの属性項目に限定される。したがって、同図では、ネットワーク負荷状況の優先度が「高」とされている。但し、複数の属性項目に対して「高」の設定が可能とされてもよい。なお、優先情報の設定内容は、画像形成装置10ごとに異なりうる。
続いて、マスター選定部124a1は、自機の優先情報記憶部132に記憶されている優先情報と、他のマスター機より収集された優先情報とに基づいて特定される属性項目に関して、自機及び他のマスター機の属性値を比較して、新たな同期範囲に対する一つのマスター機を選択する(S211)。ここでは、画像形成装置10a1が選択されたこととする。すなわち、画像形成装置10a1のマスター機としての地位は維持されることとする。この場合、マスター維持処理部125a1が、処理を開始する。
まず、マスター維持処理部125a1は、画像形成装置10b1及び10c1のそれぞれより取得されたメンバーリストをメンバーリスト記憶部131a1に記録して、メンバーリストを統合する(S212)。したがって、メンバーリスト記憶部131a1に記録されているメンバーリストは、ネットワーク環境A、ネットワーク環境B、及びネットワーク環境Cを含むネットワーク環境に属している各画像形成装置10の属性情報の一覧となる。この際、マスター維持処理部125a1は、画像形成装置10b1及び10c1のそれぞれのステータスの値を「スレーブ」に変更する。したがって、統合後のメンバーリスト(以下、「統合メンバーリスト」という。)において、ステータスの値が「マスター」であるのは、画像形成装置10a1に限定される。
続いて、マスター維持処理部125a1は、他のマスター機の一つであった画像形成装置10bに対して、マスター機の変更要求(マスター変更要求)を送信する(S221、S231)。マスター変更要求は、統合メンバーリストを含む。すなわち、画像形成装置10a1がマスター機として選定されたことを記憶するよう要求される。
画像形成装置10b1のスレーブ移行処理部126b1は、マスター変更要求の受信に応じ、マスター変更要求に含まれている統合メンバーリストによって、メンバーリスト記憶部131b1を更新する(S222)。すなわち、メンバーリスト記憶部131b1の内容は、統合メンバーリストによって上書きされる。これによって、画像形成装置10b1は、画像形成装置10a1のスレーブ機となる。なお、スレーブ移行処理部126b1は、上書き前のメンバーリスト記憶部131b1に記憶されているメンバーリストを、例えば、HDD114に退避しておく。
続いて、スレーブ移行処理部126b1は、退避されたメンバーリストに基づいて、画像形成装置10b1の今までのスレーブ機、すなわち、ネットワーク環境Bのスレーブ機を判定し、各スレーブ機(画像形成装置10b2〜10b4)に対して、マスター変更要求を送信する(S223)。当該マスター変更要求も、統合メンバーリストを含む。
当該各スレーブ機のスレーブ移行処理部126は、マスター変更要求に含まれている統合メンバーリストによって、メンバーリスト記憶部131を更新する(S224)。これによって、当該各スレーブ機は、画像形成装置10a1のスレーブ機となる。
続いて、各スレーブ機のスレーブ移行処理部126は、マスター変更要求に応じた処理の完了を示す応答を画像形成装置10b1に返信する(S225)。画像形成装置10b1のスレーブ移行処理部126b1は、当該各スレーブ機の全てより当該応答が受信されると、マスター変更要求に応じた処理の完了を示す応答を、画像形成装置10a1に返信する(S226)。当該応答によって、マスター維持処理部125a1は、画像形成装置10b1及び画像形成装置10b1のスレーブ機群は、画像形成装置10a1のスレーブ機となったことを認識する。
なお、ステップS221及びS223のマスター変更要求は、統合メンバーリストではなく、新たな同期範囲のマスター機、すなわち、画像形成装置10aの属性情報を含んでいてもよい。図F1において説明したように、メンバーリストは、同期対象とされる。したがって、画像形成装置10b1〜10b4は、画像形成装置10aがマスター機であることを知ることができれば、その後に実行される同期処理において、統合メンバーリストを得ることができるからである。
続いて、画像形成装置10c1等に関しても、ステップS221〜S226と同様の処理が実行される(S231〜S236)。その結果、画像形成装置10c1及び画像形成装置10c1のスレーブ機群は、画像形成装置10a1のスレーブ機となる。したがって、各画像形成装置10の同期対象データの同期処理に関する関係は、図8に示されるように変化する。
図8は、同期範囲の自動編成後のネットワークシステムの構成例を示す図である。図8中、図1と同一部分には同一符号を付し、その説明は省略する。
図8では、初期状態(図1)においてマスター機であった画像形成装置10b1及び10c1が、それぞれ画像形成装置10a1をマスター機とするスレーブ機に移行している。また、画像形成装置10b1の従来のスレーブ機群(画像形成装置10b2〜10b4)、及び画像形成装置10c1の従来のスレーブ機群(画像形成装置10c2〜10c4)も、画像形成装置10a1のスレーブ機に移行している。したがって、画像形成装置10a1をマスター機として、ネットワーク環境A、B、及びCが統合された範囲において同期対象データを同期させることができる。
すなわち、図8の状態において、同期対象データの同期処理(図4)では、画像形成装ネットワーク環境Aに属するスレーブ機(画像形成装置10a2〜10a4)のみならず、ネットワーク環境B又はネットワーク環境Cに属する全ての画像形成装置10をもスレーブ機としての処理を実行する。その結果、ネットワーク環境A、B、及びCを含む同期範囲において、画像形成装置10a1を中心として、同期対象データ及びメンバーリストの同期が図られるようになる。
続いて、ステップS211において、画像形成装置10a1以外の他のマスター機が、新たな同期範囲のマスター機に選定される場合について説明する。
図9は、同期範囲の自動編成処理の処理手順の第二の例を説明するためのシーケンス図である。図9中、図6と同一ステップには同一ステップ番号を付し、その説明は省略する。
ステップS211において、他のマスター機が、新たな同期範囲のマスター機として選定されると、スレーブ移行処理部126a1は、当該マスター機(ここでは、画像形成装置10b1)に対して、マスター機として選定されたことの通知(マスター選定通知)を送信する(S241)。マスター選定通知は、統合メンバーリストを含む。当該統合メンバーリストに関して、スレーブ移行処理部126a1は、画像形成装置10a1及び10c1のそれぞれのステータスの値を「スレーブ」に変更する。したがって、統合メンバーリストにおいて、ステータスの値が「マスター」であるのは、画像形成装置10b1のみである。
画像形成装置10b1のマスター維持処理部125b1は、マスター選定通知の受信に応じ、マスター選定通知に含まれている統合メンバーリストによって、メンバーリスト記憶部131b1を更新する(S242)。続いて、マスター維持処理部125b1は、マスター選定通知に対する応答を画像形成装置10a1に返信する。
続いて、図6のステップS221〜S226と同様の処理が実行される(S251〜S256)。但し、図9では、画像形成装置10a1と画像形成装置10b1との立場が逆になる。したがって、ステップS251〜S256の実行の結果、画像形成装置10a1及び画像形成装置10a1のスレーブ機群は、画像形成装置10b1のスレーブ機となる。
続いて、図6のステップS231〜S236と同様の処理が実行される(S261〜S266)。但し、図9では、マスター変更要求を行うのは画像形成装置10b1である。したがって、ステップS261〜S266の実行の結果、画像形成装置10c1及び画像形成装置10c1のスレーブ機群は、画像形成装置10b1のスレーブ機となる。
図6及び図9より、マスター機が実行する同期範囲の自動編成処理の処理手順を一般化すると、図10に示されるようになる。
図10は、同期範囲の自動編成処理の処理手順の一例を説明するためのフローチャートである。
マスター機において、マスター探索周期に基づくマスター探索時期が到来すると(S301でYes)、当該マスター機(以下、「対象マスター機」という。)のマスター探索部122は、他のマスター機を探索する(S302)。他のマスター機が探索されない場合(S303でNo)、マスター探索部122は、次のマスター探索時期まで待機する。
他のマスター機が探索された場合、すなわち、対象マスター機を含めてマスター機が複数存在することが検知された場合(S301でYes)、対象マスター機のマスター選定部124は、他のマスター機より優先情報を取得する(S304)。続いて、マスター選定部124は、マスター機の探索時に他のマスター機より取得された、当該他のマスター機の属性情報と、対象マスター機との属性情報とを比較して、新たな同期範囲のマスター機を選定する(S305)。属性情報の比較は、当該他のマスター機より取得された優先情報と、対象マスター機の優先情報記憶部132が記憶する優先情報とに基づいて、優先度の高い属性項目に関して行われる。
対象マスター機がマスター機として選定された場合(S306でYes)、対象マスター機のマスター維持処理部125は、他のマスター機に対して、統合メンバーリストを含むマスター変更要求を送信する(S307)。すなわち、マスター維持処理部125は、対象マスター機がマスター機として選定されたことを記憶するよう他のマスター機に要求する他のマスター機がマスター機として選定された場合(S306でNo)、対象マスター機のスレーブ移行処理部126は、選定された他のマスター機に対して、統合メンバーリストを含むマスター選定通知を送信する(S308)。
続いて、ステップS305の詳細について説明する。図11は、マスター機の選定処理の処理手順の一例を説明するためのフローチャートである。
ステップS401において、マスター選定部124は、対象マスター機の優先情報と、他のマスター機より収集されたマスター機の優先情報とをマージ(統合)する。
図12は、優先情報のマージ例を示す図である。同図は、説明の簡素化のため、二つの優先情報がマージされる例を示す。
同図では、優先度が数値に置換され、属性項目ごとに、当該数値の最高値が選択されることにより、優先度がマージされている。例えば、優先度「高」、「中」、「低」は、順番に、「2.0」、「1.0」、「0.5」に置換される。優先情報aPにおいては、ネットワーク負荷状況の優先度が「高」であり、それ以外の属性項目の優先度は「中」である。また、優先情報bPにおいては、HDD容量の優先度が「高」であり、それ以外の属性項目の優先度は「中」である。したがって、優先情報aPと優先情報bPとがマージされた場合、マージ結果mPが得られる。すなわち、ネットワーク負荷状況及びHDD容量の優先度は、「2.0」となり、それ以外の優先度は「1.0」となる。
優先情報のマージは、他の方法によって行われてもよい。例えば、置換された数値が、属性項目ごとに合算されてもよい。この場合、優先情報aP及びbPがマージされると、ネットワーク負荷状況及びHDD容量の優先度は、「3.0」となり、それ以外の優先度は「2.0」となる。
続いて、マスター選定部124は、マージ結果に基づいて、マスター機の選定に利用する属性項目を選択する(S402)。例えば、マージ結果において、優先度が最高である属性項目が選択される。マージ結果mP(図12)に基づく場合、ネットワーク負荷状況とHDD容量とが、マスター機の選定に利用する属性項目として選択される。
続いて、マスター選定部124は、選択された属性項目に関して、対象マスター機及び他のマスター機の属性値を比較して、マスター機の候補(以下、「マスター候補」という。)を選定する(S403)。すなわち、比較された属性値に関して、最も優れた値(又はマスター機に相応しい値)を有する画像形成層装置10が、マスター候補として選定される。例えば、ネットワーク付加状況に関しては、小さい方が優れているとされる。CPUスペックに関しては、高速である方が優れているとされる。ユーザ登録数に関しては、多い方が優れているとされる。HDD容量に関しては、多い方が優れているとされる。
選択された属性項目が2以上有る場合、属性項目ごとに、最も優れた属性値を有する画像形成装置10に対して、当該属性項目のマージ結果の優先度の値がポイントとして付与される。マージ結果mP(図12)に基づく場合、ネットワーク負荷状況が最低である画像形成層装置10に「2.0」がポイントとして付与され、HDD容量が最高である画像形成装置10に「2.0」がポイントとして付与される。付与されたポイントは、画像形成装置10ごとに合算される。合算されたポイントが最高である画像形成装置10が、マスター候補として選定される。
したがって、ネットワーク負荷状況が最低である画像形成層装置10とHDD容量が最高である画像形成装置10とが一致する場合、一つの画像形成装置10が、マスター候補として選定される。ネットワーク負荷状況が最低である画像形成層装置10とHDD容量が最高である画像形成装置10とが一致しない場合、二つの画像形成装置10が、マスター候補として選定される。
続いて、マスター選定部124は、複数の画像形成装置10がマスター候補として選定されたか否かを判定する(S404)。マスター候補として選定された画像形成装置10が一つである場合(S404でNo)、マスター選定部124は、当該画像形成装置10を、マスター機として選定する(S405)。
一方、複数の画像形成装置10がマスター候補として選定された場合(S404でYes)、マスター選定部124は、マスター候補の選定に既に利用された属性項目よりも低い優先度を有する属性項目が残っているか否かを、優先情報のマージ結果に基づいて判定する(S406)。該当する属性項目が残っている場合、マスター選定部124は、当該属性項目の優先度をも加味して、マスター選定候補を絞り込む(S407)。当該属性項目の優先度をも加味するとは、例えば、当該属性項目に関して、最も優れた属性値を有するマスター候補に対して、当該属性項目の優先度の値が加算されることをいう。
例えば、マージ結果mP(図12)では、CPUスペック及びユーザ登録数が残っている。したがって、CPUスペックが最高であるマスター候補のポイントに「1.0」が加算され、ユーザ登録数が最高であるマスター候補のポイントに「1.0」が加算される。
続いて、マスター選定部124は、ステップS404以降を繰り返す。その結果、マスター候補が一つに限定されたら(S404でNo)、マスター選定部124は、当該マスター候補をマスター機として選定する(S405)。
一方、マスター候補が一つに限定されず(S404でYes)、かつ、マスター候補の選定に既に利用された属性項目よりも低い優先度を有する属性項目が残っていない場合(S406でNo)、マスター選定部124は、所定のルールでマスター候補の中からマスター機を選定する(S408)。例えば、対象マスター機、すなわち、自機がマスター候補に含まれている場合、マスター選定部124は、対象マスター機をマスター機として選定する。対象マスター機がマスター候補に含まれていない場合は、例えば、マスター探索要求に対する応答順に基づいてマスター機が選定されてもよい。
ところで、ネットワーク負荷状況が、マスター機の選定に利用する属性項目として選択された場合、ネットワーク環境の接続前の各マスター機に関して記録されているネットワーク負荷状況、すなわち、それぞれのネットワーク環境における各スレーブ機の応答時間の平均値に加え、マスター機間の応答時間が考慮されてもよい。画像形成装置10a1、10a2、及び10a3に関して、マスター機間の応答時間とは、例えば、図13に示される通りである。
図13は、マスター機間の応答時間の例を示す図である。同図に示されるように、画像形成装置10a1、10a2、及び10a3に関するマスター機間の応答時間には、応答時間t1、応答時間t2、及び応答時間t3がある。なお、各応答時間を両矢印によって表現されているが、各両矢印は、双方向の応答時間を示す。すなわち、一つの両矢印は、両矢印に係る一方の画像形成装置10を起点とした応答時間、すなわち、他方が応答するまでの時間と、他方の画像形成装置10を起点とした応答時間を示す。
このような応答時間をネットワーク負荷状況に加味する場合、例えば、画像形成装置10a1を起点とした応答時間t1と応答時間t2と、メンバーリスト記憶部131a1において画像形成装置10a1に対して記録されているネットワーク負荷状況との平均値が、画像形成装置10a1のネットワーク負荷状況とされる。また、画像形成装置10b1を起点とした応答時間t1と応答時間t3と、メンバーリスト記憶部131b1において画像形成装置10b1に対して記録されているネットワーク負荷状況との平均値が、画像形成装置10b1のネットワーク負荷状況とされる。また、画像形成装置10c1を起点とした応答時間t2と応答時間t3と、メンバーリスト記憶部131c1において画像形成装置10c1に対して記録されているネットワーク負荷状況との平均値が、画像形成装置10c1のネットワーク負荷状況とされる。
上記のようにネットワーク負荷状況が算出される場合、例えば、図11のステップS402又はS407において、マスター機の選定に利用する属性項目としてネットワーク負荷状況が選択されたときに、図14に示されるような処理手順が実行されればよい。
図14は、マスター機間の応答時間を考慮したネットワーク負荷状況の算出処理の処理手順の一例を説明するためのシーケンス図である。同図では、画像形成装置10a1が、図11の処理を実行中であったとする。
ネットワーク負荷状況が、マスター機の選定に利用する属性項目として選択されたことに応じ、画像形成装置10a1のマスター選定部124a1は、応答時間を計測するための所定のデータ(例えば、メンバーリスト)を画像形成装置10b1に送信する(S501)。画像形成装置10b1のマスター選定部124b1は、当該所定のデータを含む応答を画像形成装置10a1に返信する(S502)。マスター選定部124a1は、ステップS501のデータの送信時からステップS502の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、画像形成装置10a1と画像形成装置10c1との間において、ステップS501〜S502と同様の処理手順が実行される(S503〜S504)。マスター選定部124a1は、ステップS503のデータの送信時からステップS504の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、マスター選定部124a1は、RAM112に記録されている二つの応答時間と、画像形成装置10a1に関してメンバーリスト記憶部131a1に記録されているネットワーク負荷状況とを合算し、合算結果を3で除した値を、画像形成装置10a1のネットワーク負荷状況の値として算出する(S505)。
続いて、マスター選定部124a1は、画像形成装置10b1に対して、ネットワーク負荷状況の算出要求を送信する(S506)。当該算出要求には、画像形成装置10a1及び画像形成装置10c1の属性情報が含まれる。続いて、画像形成装置10b1のマスター選定部124b1は、応答時間を計測するための所定のデータを画像形成装置10a1に送信する(S507)。なお、マスター選定部124b1は、ネットワーク負荷状況の算出要求に含まれている画像形成装置10a1の属性情報に基づいて画像形成装置10a1を特定する。画像形成装置10a1のマスター選定部124a1は、当該所定のデータを含む応答を画像形成装置10b1に返信する(S508)。マスター選定部124b1は、ステップS507のデータの送信時からステップS508の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、画像形成装置10b1と画像形成装置10c1との間において、ステップS501〜S502と同様の処理手順が実行される(S509〜S510)。なお、マスター選定部124b1は、ネットワーク負荷状況の算出要求に含まれている画像形成装置10c1の属性情報に基づいて画像形成装置10c1を特定する。マスター選定部124b1は、ステップS509のデータの送信時からステップS510の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、マスター選定部124b1は、RAM112に記録されている二つの応答時間と、画像形成装置10b1に関してメンバーリスト記憶部131b1に記録されているネットワーク負荷状況とを合算し、合算結果を3で除した値を、画像形成装置10b1のネットワーク負荷状況の値として算出する(S511)。続いて、マスター選定部124b1は、算出されたネットワーク負荷状況の値を、画像形成装置10a1に返信する(S512)。
続いて、マスター選定部124a1は、画像形成装置10c1に対して、ネットワーク負荷状況の算出要求を送信する(S513)。当該算出要求には、画像形成装置10a1及び画像形成装置10b1の属性情報が含まれる。続いて、画像形成装置10c1のマスター選定部124c1は、応答時間を計測するための所定のデータを画像形成装置10a1に送信する(S514)。なお、マスター選定部124c1は、ネットワーク負荷状況の算出要求に含まれている画像形成装置10a1の属性情報に基づいて画像形成装置10a1を特定する。画像形成装置10a1のマスター選定部124a1は、当該所定のデータを含む応答を画像形成装置10c1に返信する(S515)。マスター選定部124c1は、ステップS514のデータの送信時からステップS515の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、画像形成装置10c1と画像形成装置10b1との間において、ステップS514〜S515と同様の処理手順が実行される(S516〜S517)。なお、マスター選定部124c1は、ネットワーク負荷状況の算出要求に含まれている画像形成装置10b1の属性情報に基づいて画像形成装置10b1を特定する。マスター選定部124c1は、ステップS516のデータの送信時からステップS517の応答の受信時までの応答時間を、例えば、RAM112に記録しておく。
続いて、マスター選定部124c1は、RAM112に記録されている二つの応答時間と、画像形成装置10c1に関してメンバーリスト記憶部131c1に記録されているネットワーク負荷状況とを合算し、合算結果を3で除した値を、画像形成装置10c1のネットワーク負荷状況の値として算出する(S518)。続いて、マスター選定部124c1は、算出されたネットワーク負荷状況の値を、画像形成装置10a1に返信する(S519)。
上記の処理の結果、マスター機ごとに算出されたネットワーク負荷状況を用いて、図11のステップS403又はS407が実行されればよい。
続いて、図6において説明した同期範囲の自動編成処理の処理手順の異常系に関して説明する。すなわち、図6の処理手順の途中において異常が発生した場合の処理手順である。
図15は、同期範囲の自動編成処理の異常系の処理手順の一例を説明するためのシーケンス図である。図15中、図6と同一ステップには同一ステップ番号を付し、その説明は省略する。
同図では、ステップS231における、画像形成装置10c1に対するマスター変更要求に対する応答が、画像形成装置10c1より返信されない、又は異常の発生を示すものであったとする。
この場合、画像形成装置10a1のマスター維持部a1は、メンバーリスト記憶部131a1のメンバーリスト(統合メンバーリスト)から、ステップS205において画像形成装置10c1より受信されたメンバーリストを削除することにより、メンバーリスト記憶部131a1を更新する(S271)。続いて、マスター維持部a1は、更新後のメンバーリストを含む、メンバーリストの更新要求を画像形成装置10b1に送信する(S272)。画像形成装置10b1のスレーブ移行処理部126b1は、受信されたメンバーリストによって、メンバーリスト記憶部131b1の内容を更新する(S273)。その結果、メンバーリスト記憶部131b1より、画像形成装置10c1が有していたメンバーリストが削除される。
続いて、スレーブ移行処理部126b1は、退避されているメンバーリスト(ステップS222の実行前のメンバーリスト)に基づいて、画像形成装置10b1の今までのスレーブ機、すなわち、ネットワーク環境Bのスレーブ機を判定し、各スレーブ機(画像形成装置10b2〜10b4)に対して、受信されたメンバーリストを含むメンバーリストの更新要求を送信する(S274)。
当該各スレーブ機のスレーブ移行処理部126は、メンバーリストの更新要求に含まれているメンバーリストによって、メンバーリスト記憶部131を更新する(S275)。
続いて、各スレーブ機のスレーブ移行処理部126は、メンバーリストの更新要求に応じた処理の完了を示す応答を画像形成装置10b1に返信する(S276)。画像形成装置10b1のスレーブ移行処理部126b1は、当該各スレーブ機の全てより当該応答が受信されると、メンバーリストの更新要求に応じた処理の完了を示す応答を、画像形成装置10a1に返信する(S277)。
ステップS271〜S277のメンバーリストの復旧処理が実行されることにより、ネットワーク環境Aとネットワーク環境Bとが一つの同期範囲に統合された状態となる。したがって、ネットワーク環境A及びBを含む範囲において、同期対象データの同期が図られる。一方、ネットワーク環境Cについては、ネットワーク環境C内において同期が図られる。その後の画像形成装置10a1又は画像形成装置10c1におけるマスター探索時期の到来に応じて、改めて同期範囲の自動編成処理が実行されることにより、統合された同期範囲に統合されうる。
このように、本実施の形態によれば、同期範囲の自動編成時において、途中で異常が発生した場合でも、適切な範囲(図15では、ネットワーク環境A及びB)に関して、同期範囲を統合することができる。なお、メンバーリストの統合前に異常が発生した場合、メンバーリストの復旧処理は不要である。
上述したように、本実施の形態によれば、各マスター機は、他のマスター機の検知に応じ、自動的に統一的なマスター機を選定し、選定結果に応じて、他のマスターを自機のスレーブ機としたり、自機が他のマスター機のスレーブ機に移行したりする。したがって、ネットワーク構成の変更に応じて同期範囲を変更したい場合において、管理者等の作業負担を軽減することができる。
また、他のマスター機のスレーブ機となったマスター機は、自機のスレーブ機に対してマスター機の変更を通知する。したがって、複数の画像形成装置10を含むネットワーク環境、すなわち、一以上のスレーブ機が含まれるネットワーク環境に関しても、新たな同期範囲へ適切に組み入れることができる。
また、マスター機の選定は、マスター機の属性情報を構成する項目(属性項目)のうち、優先度の高い属性項目の値に基づいて行われる。したがって、管理者等によって重視されている属性項目の値に基づいて、管理者等の意図に沿った形態で、マスター機を選定することができる。
なお、本実施の形態では、電子機器の一例として画像形成装置10を用いたが、ネットワークを介して他の機器と通信可能な電子機器であれば、他の電子機器について本実施の形態が適用されてもよい。
また、図3に示される、同期対象データの同期のための機能は、画像形成装置10の外部において実装されてもよい。
図16は、同期対象データの同期のための機能が画像形成装置の外部に実装された例を示す図である。同図の(A)には、画像形成装置10とネットワーク若しくは所定のケーブル、又は無線通信等で接続された情報処理装置20に同期機能140が実装された例が示されている。同期機能140には、同期処理部121、マスター探索部122、マスター探索応答部123、マスター選定部124、マスター維持処理部125、スレーブ移行処理部126、メンバーリスト記憶部131、優先情報記憶部132、及び同期対象データ記憶部133等が含まれる。この場合、情報処理装置20と画像形成装置10とは、1対多の関係でもよい。
また、(B)には、画像形成装置10と情報処理装置20とが同一の筐体40に格納された例が示されている。この場合、ユーザからは、画像形成装置10と情報処理装置20とは、一台の機器として見える。
なお、本実施の形態において、マスター探索部122は、検知手段の一例である。マスター選定部124は、選定手段の一例である。マスター維持処理部125は、要求手段の一例である。スレーブ移行処理部126は、記録手段の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。