JP4229073B2 - ネットワークシステム、デバイス、およびプログラム - Google Patents

ネットワークシステム、デバイス、およびプログラム Download PDF

Info

Publication number
JP4229073B2
JP4229073B2 JP2005049458A JP2005049458A JP4229073B2 JP 4229073 B2 JP4229073 B2 JP 4229073B2 JP 2005049458 A JP2005049458 A JP 2005049458A JP 2005049458 A JP2005049458 A JP 2005049458A JP 4229073 B2 JP4229073 B2 JP 4229073B2
Authority
JP
Japan
Prior art keywords
data
backup data
master
update
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005049458A
Other languages
English (en)
Other versions
JP2006235990A (ja
Inventor
敦司 児島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005049458A priority Critical patent/JP4229073B2/ja
Priority to US11/359,406 priority patent/US7640314B2/en
Publication of JP2006235990A publication Critical patent/JP2006235990A/ja
Application granted granted Critical
Publication of JP4229073B2 publication Critical patent/JP4229073B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Description

本発明は、ネットワークシステムと、そのネットワークシステムを構成するためのデバイス、および、そのデバイスの機能を実現するためのプログラムに関する。
従来、複数のデバイス(例えば、ネットワークプリンタ等)をネットワークに接続してなるネットワークシステムにおいて、新たなデバイスをネットワークに接続する際、利用者が既にネットワークに参加しているデバイスを指定し、そのデバイスから新たなデバイスへ情報を伝送することにより、新たなデバイスが情報を取得する技術が提案されている(例えば、特許文献1参照)。
特開平11−249839号公報
しかしながら、上記従来のネットワークシステムでは、新たなデバイスへ伝送する情報の内容を誤って更新した場合に、その誤った内容を元の内容に戻すための仕組みがなく、特に、何度か更新が繰り返された場合に、何度か前の内容に戻すことは困難であった。
ここで、誤った内容を元の内容に戻すための仕組みとしては、情報の内容を更新する際に、更新前の情報をバックアップとして保存した上で、情報の更新を行うことが考えられる。特に、何度か更新が繰り返された場合に、何度か前の内容に戻すためには、情報の更新が行われるたびにバックアップの上書き更新をするのではなく、情報の更新が行われるたびにバックアップを既存のバックアップとは別に保存、蓄積してゆく方法が考えられる。
しかし、バックアップとしての情報を記憶するための記憶領域の容量が限られている場合、いくつものバックアップを残すことは困難であり、その場合、何度か更新が繰り返された場合に、何度か前の内容に戻すようなことは実現できなかった。
本発明は、上記問題を解決するためになされたものであり、その目的は、複数のデバイスがネットワークに接続されてなるネットワークシステムにおいて、個々のデバイスが備える記憶領域の容量が比較的小さい場合でも、一部のデバイスに過大な負荷をかけることなく情報のバックアップを保存可能とすることにある。また、そのようなネットワークシステムを構成するのに好適なデバイス、およびプログラムを提供することにある。
以下、本発明の特徴的構成について説明する。
まず、請求項1に記載のネットワークシステムは、複数のデバイスがネットワークに接続され、前記デバイスには、システム内における順位が付与されて、前記順位が最上位となるデバイスがマスターデバイスとして機能するとともに、前記順位が最上位となるデバイス以外のデバイスが一般デバイスとして機能して、前記複数のデバイスで共用される共用データが、前記マスターデバイスから前記一般デバイスへ提供されるように構成されており、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、前記共用データを記憶する共用データ記憶手段と、前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手段と、前記共用データ更新手段によって前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手段と、復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手段と、前記復元時バックアップデータ取得手段によって取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手段とを備えており、前記一般デバイスとなったときに機能する手段として、前記バックアップデータを記憶するバックアップデータ記憶手段と、自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得してバックアップデータ記憶手段に記憶させるバックアップデータ更新手段と、前記バックアップデータ更新手段によって前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手段と、前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手段とを備えていることを特徴とする。
このネットワークシステムにおいて、複数のデバイスは、システム内での順位に従い、順位が最上位となるデバイスがマスターデバイスとして機能し、順位が最上位となるデバイス以外のデバイスが一般デバイスとして機能し、複数のデバイスで共用される共用データが、マスターデバイスから一般デバイスへ提供される。そして、マスターデバイスにおいては、共用データ更新手段によって、共用データ記憶手段に記憶された共用データを更新することができ、この共用データ更新手段によって共用データを更新する際には、第1の更新時バックアップデータ提供手段が、更新前の共用データを、自身より順位が下位となるデバイスの中で順位が最も上位のデバイスに、バックアップデータとして提供する。自身以外のデバイスからバックアップデータが提供された一般デバイスでは、バックアップデータ更新手段が、提供されたバックアップデータを取得してバックアップデータ記憶手段に記憶させる。その際、第2の更新時バックアップデータ提供手段は、更新前のバックアップデータを、自身より順位が下位となるデバイスの中で順位が最も上位のデバイスに、バックアップデータとして提供する。その結果、複数の一般デバイスそれぞれにおいて、バックアップデータ更新手段および第2の更新時バックアップデータ提供手段が機能し、各一般デバイス間において、順位がひとつ下位のデバイスへバックアップデータが順送りされる。さらに、一般デバイスにおいては、復元時バックアップデータ提供手段が、マスターデバイスからの要求に応じて、バックアップデータを提供することができ、マスターデバイスにおいては、復元指令(例えば、利用者の入力操作による指令、あるいは、他の機器から伝送されてくる指令)が与えられた際に、復元時バックアップデータ取得手段が、自身以外のデバイスからバックアップデータを取得し、共用データ復元手段が、取得したバックアップデータを、共用データとして共用データ記憶手段に記憶させることにより、更新前の共用データを復元する。
したがって、このように構成されたネットワークシステムによれば、マスターデバイスの記憶容量が比較的小さい場合でも、複数の一般デバイスに分散させてバックアップデータを記憶させることができるので、仮にマスターデバイス単独では保存できないほどバックアップデータのデータ量が多くなるとしても、各デバイスの記憶領域を過剰に圧迫することなく、バックアップデータを保存することができる。しかも、複数の一般デバイスに分散させて記憶させるバックアップデータは、マスターデバイスでの更新が行われる毎に順送りされた複数世代分のバックアップデータとなるので、マスターデバイスにおいてバックアップデータに基づく共用データの復元を行う際には、複数回前の更新時に保存されたバックアップデータも利用可能である。さらに、複数世代分のバックアップデータは、一般に、更新時期が現在に近いものほど使われる可能性が高いが、本システムにおいては、更新時期が現在に近いバックアップデータほど、システム内での順位が高いデバイスに記憶されることになるので、例えば、更新毎に追加分のデータ量が大きくなる共用データであれば、記憶容量の大きいデバイスほど高い順位が付与されるように構成しておくことにより、記憶領域の容量不足を回避できる可能性を高くすることができる。あるいは、信頼性の高いデバイスほど高い順位が付与されるように構成しておくことにより、利用される可能性が高いバックアップデータほど信頼性の高いデバイスに保存されるようにすることもできる。
次に、以上説明した請求項1に記載のネットワークシステムにおいて採用すると望ましい構成について説明する。
まず、請求項2に記載の通り、請求項1に記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、前記一般デバイスとして機能するデバイスに対し、前記順位が最下位のデバイスから順に、自身より前記順位が高いデバイスの中で前記順位が最も下位のデバイスから、前記バックアップデータを取得するように指示を送信するバックアップデータ取得指示送信手段を備えており、前記一般デバイスとなったときに機能する手段として、前記バックアップデータ取得指示送信手段からの指示を受信するバックアップデータ取得指示受信手段と、前記バックアップデータ取得指示受信手段によって前記指示を受信したら、自身より前記順位が上位のデバイスの中で前記順位が最も下位のデバイスに、前記バックアップデータの提供を要求するバックアップデータ要求手段とを備えており、前記第1,第2の更新時バックアップデータ提供手段は、前記バックアップデータ要求手段による要求に応じて、前記バックアップデータを提供する手段であると望ましい。
このネットワークシステムにおいて、マスターデバイスでは、バックアップデータ取得指示送信手段が、一般デバイスとして機能するデバイスに対し、順位が最下位のデバイスから順に、自身より順位が高いデバイスの中で順位が最も下位のデバイスから、バックアップデータを取得するように指示を送信する。そして、一般デバイスでは、バックアップデータ取得指示受信手段が、バックアップデータ取得指示送信手段からの指示を受信し、この指示を受信したら、バックアップデータ要求手段が、自身より順位が上位のデバイスの中で順位が最も下位のデバイスに、バックアップデータの提供を要求する。このバックアップデータ要求手段による要求に応じて、先に説明した第1,第2の更新時バックアップデータ提供手段は、バックアップデータを提供する。
したがって、このように構成されたネットワークシステムによれば、順位の低いデバイスがひとつ上位のデバイスからバックアップデータを受け取る毎に、ひとつ下位のデバイスにバックアップデータを引き渡したデバイスが、さらにひとつ上位のデバイスからバックアップデータを受け取るというアクションを繰り返すことになる。よって、各デバイスがひとつ上位のデバイスからバックアップデータを受け取る時点では、既にその前に記憶していたバックアップデータはひとつ下位のデバイスに引き渡し済みとなっているので、受け取った新たなバックアップデータで元のバックアップデータを上書きしても問題が無く、上位のデバイスから順にバックアップデータの引き渡しを行う場合に比べ、デバイスが記憶容量が過大でなくても下位デバイスへバックアップデータを引き渡すことができる。
また、請求項3に記載の通り、請求項2に記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、システム内における自身以外のデバイスの増減を検知するデバイス増減検知手段と、前記デバイス増減検知手段によって前記デバイスの増減を検知した際、前記複数のデバイスの特性を示す特性情報に基づいて、前記複数のデバイスの順位を決定しなおす順位再設定手段とを備えており、前記バックアップデータ取得指示送信手段は、前記順位再設定手段によって前記順位を決定しなおしたときに、前記順位が最下位のデバイスから順に、前記バックアップデータを取得するように指示を送信する手段であると望ましい。
このネットワークシステムにおいて、マスターデバイスでは、デバイス増減検知手段が、システム内における自身以外のデバイスの増減を検知すると、順位再設定手段が、複数のデバイスの特性を示す特性情報に基づいて、複数のデバイスの順位を決定しなおす。そして、バックアップデータ取得指示送信手段は、順位再設定手段によって順位を決定しなおしたときに、順位が最下位のデバイスから順に、バックアップデータを取得するように指示を送信する。
したがって、このように構成されたネットワークシステムによれば、デバイスの増減があった場合に、順位の再設定を行うことができ、再設定された順位とバックアップデータの更新順をあらためて一致させることができる。
また、請求項4に記載の通り、請求項1〜請求項3のいずれかに記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、複数の前記バックアップデータの違いを利用者が識別できるようにするために各バックアップデータに対して付与される第1の情報と、前記バックアップデータを記憶しているデバイスを特定可能な第2の情報とを対応付けて記憶するバックアップデータ情報記憶手段と、前記バックアップデータ情報記憶手段に記憶された前記第1の情報を、利用者に対して報知する情報報知手段と、前記情報報知手段によって報知された1以上の前記第1の情報の中から1つを選択する入力を受け付ける選択入力手段と、前記選択入力手段によって受け付けられた入力に基づいて、選択された前記第1の情報に対応づけられた前記第2の情報が示すデバイスを特定するデバイス特定手段とを備えており、前記復元時バックアップデータ取得手段は、復元指令が与えられた際に、前記デバイス特定手段によって特定されたデバイスに対して、前記バックアップデータの提供を要求し、その要求に応じて提供される前記バックアップデータを取得する手段であると望ましい。
このネットワークシステムにおいて、マスターデバイスでは、バックアップデータ情報記憶手段により、複数のバックアップデータの違いを利用者が識別できるようにするために各バックアップデータに対して付与される第1の情報(例えば、保存日時、あるいはバックアップデータのファイル名など)と、バックアップデータを記憶しているデバイスを特定可能な第2の情報(例えば、デバイス名、あるいはデバイスのシリアル番号など)とを対応付けて記憶する。また、情報報知手段が、バックアップデータ情報記憶手段に記憶された第1の情報を、利用者に対して報知する。選択入力手段は、情報報知手段によって報知された1以上の第1の情報の中から1つを選択する入力を受け付け可能に構成され、デバイス特定手段は、選択入力手段によって受け付けられた入力に基づいて、選択された第1の情報に対応づけられた第2の情報が示すデバイスを特定する。このようにしてデバイスが特定されたら、復元時バックアップデータ取得手段は、復元指令が与えられた際に、デバイス特定手段によって特定されたデバイスに対して、バックアップデータの提供を要求し、その要求に応じて提供されるバックアップデータを取得する。
したがって、このこのように構成されたネットワークシステムによれば、利用者は、情報報知手段によって報知される第1の情報を参照して、所望のバックアップデータを選択することができ、この選択を行うだけで、所望のバックアップデータに基づいて共有データの復元を図ることができる。
また、請求項5に記載の通り、請求項1〜請求項4のいずれかに記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、前記複数のデバイスの特性を示す特性情報に基づいて、各デバイスの順位を決定する順位決定手段と、前記順位決定手段によって順位を決定したデバイスの中に、自身より順位の高いデバイスが存在する場合に、そのデバイスにマスターデバイスとして機能すべきことを通知するマスター交代通知手段と、前記マスター交代通知手段による通知を行ったデバイスに対し、前記共用データを送信する共用データ送信手段とを備えており、前記一般デバイスとなったときに機能する手段として、前記マスターデバイスとして機能するデバイスから、マスターデバイスとして機能すべきことが通知されたら、自身を前記マスターデバイスとして機能させる制御を行う制御手段と、前記マスターデバイスとして機能すべきことを通知したデバイスから送信されてくる前記共用データを受信する共用データ受信手段とを備えていても望ましい。
このように構成されたネットワークシステムによれば、マスターデバイスでは、順位決定手段が、複数のデバイスのデバイスの特性を示す特性情報に基づいて、各デバイスの順位を決定し、順位を決定したデバイスの中に、マスターデバイスより順位の高いデバイスが存在する場合、マスター交代通知手段が、マスターデバイスより順位の高いデバイスに、マスターデバイスとして機能すべきことを通知し、共用データ送信手段が、マスター交代通知手段による通知を行ったデバイスに対し、共用データを送信する。また、一般デバイスでは、マスターデバイスから、新たなマスターデバイスとして機能すべきことが通知されたら、制御手段が、自身を新たなマスターデバイスとして機能させる制御を行い、共用データ受信手段が、マスターデバイスから送信されてくる共用データを受信する。
したがって、このネットワークシステムによれば、デバイスの特性から決定される最も順位の高いデバイスが、マスターデバイスとして機能すべきことを認識し、それまでマスターデバイスとして機能していたデバイスから、共用データを引き継ぐことができ、マスターデバイスとしてよりふさわしいデバイスがマスターとして機能するようになり、しかも、他のデバイスは共用データを引き続き利用できる。
また、請求項6に記載の通り、請求項1〜請求項5のいずれかに記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、自身以外のデバイスから、自身以外のデバイスにおいて更新された前記共用データの更新情報を取得する更新情報取得手段を備え、前記共用データ更新手段は、前記更新情報取得手段によって取得された前記更新情報に基づいて、前記共用データ記憶手段に記憶された前記共用データを更新する手段として構成されており、前記一般デバイスとなったときに機能する手段として、前記共用データを更新するための入力を受け付ける更新入力手段と、前記更新入力手段によって受け付けた入力に基づいて、前記共用データの更新情報を作成し、当該更新情報を前記マスターデバイスとして機能するデバイスに提供する更新情報提供手段とを備えていると望ましい。
このネットワークシステムにおいて、一般デバイスでは、更新入力手段が、共用データを更新するための入力を受け付け、更新情報提供手段が、更新入力手段によって受け付けた入力に基づいて、共用データの更新情報を作成し、当該更新情報をマスターデバイスに提供する。マスターデバイスでは、更新情報取得手段が、自身以外のデバイスから、自身以外のデバイスにおいて更新された共用データの更新情報を取得し、共用データ更新手段は、更新情報取得手段によって取得された更新情報に基づいて、共用データ記憶手段に記憶された共用データを更新する。
したがって、このネットワークシステムによれば、一般デバイスを利用してマスターデバイスが保有する共有データの更新を図ることができる。なお、更新後の共有データは、マスターデバイスから一般デバイスへ提供されるので、更新された共有データがシステム内のどのデバイスからも利用できるのはもちろんである。
なお、請求項7に記載の通り、請求項6に記載のネットワークシステムにおいて、前記更新入力手段としては、前記共用データを更新するための入力として、利用者からの入力操作を受け付ける手段を考え得る。
この場合、利用者は、一般デバイスにおいて更新データの入力操作を行い、その入力操作によって共有データの更新を図ることができる。
なお、請求項7に記載の構成以外の構成としては、例えば、利用者が更新データの入力操作を行わず、一般デバイスと通信可能な機器との通信にて更新データを取得し、取得した更新データによって共有データの更新を図る、といった構成を考えることができる。
また、請求項8に記載の通り、請求項1〜請求項7のいずれかに記載のネットワークシステムにおいて、前記デバイスは、前記マスターデバイスとなったときに機能する手段として、前記共用データを更新するための入力を受け付ける更新入力手段を備えており、前記共用データ更新手段は、前記更新入力手段によって受け付けた入力に基づいて、前記共用データの更新情報を作成し、当該更新情報に基づいて、前記共用データ記憶手段に記憶された前記共用データを更新する手段として構成されていてもよい。
このネットワークシステムにおいて、マスターデバイスでは、更新入力手段が、共用データを更新するための入力を受け付け、共用データ更新手段は、更新入力手段によって受け付けた入力に基づいて、共用データの更新情報を作成し、当該更新情報に基づいて、共用データ記憶手段に記憶された共用データを更新する。
したがって、このネットワークシステムによれば、マスターデバイスを利用してマスターデバイスが保有する共有データの更新を図ることができる。なお、更新後の共有データは、マスターデバイスから一般デバイスへ提供されるので、更新された共有データがシステム内のどのデバイスからも利用できるのはもちろんである。また、このネットワークシステムにおいて、請求項7に記載の構成を兼ね備えている場合は、マスターデバイスか一般デバイスかを意識することなく、共有データを利用しているすべてのデバイスにおいて、共有データの更新を図ることができるシステムとなる。
なお、請求項9に記載の通り、請求項8に記載のネットワークシステムにおいて、前記更新入力手段としては、前記共用データを更新するための入力として、利用者からの入力操作を受け付ける手段を考え得る。
この場合、利用者は、マスターデバイスにおいて更新データの入力操作を行い、その入力操作によって共有データの更新を図ることができる。
なお、請求項9に記載の構成以外の構成としては、例えば、利用者が更新データの入力操作を行わず、マスターデバイスと通信可能な機器との通信にて更新データを取得し、取得した更新データによって共有データの更新を図る、といった構成を考えることができる。
さらに、請求項10に記載の通り、請求項3または請求項5に記載のネットワークシステムにおいて、前記特性情報は、前記デバイスの記憶容量を反映した情報とされていると好ましい。
より具体的には、例えば、ハードディスクや不揮発性メモリを備えるデバイスであれば、その記憶容量の大きさを示す情報であると好ましい。
このようなネットワークシステムであれば、デバイスの記憶容量が反映された順位がデバイスに付与されるので、他の条件が同じ場合、記憶容量の大きいデバイスほど順位が高くなり、マスターデバイスになりやすくなる。したがって、マスターデバイスが、各種情報を保存して他のデバイスに提供する機能を有する場合に好適である。
また、請求項11に記載の通り、請求項3,請求項5,または請求項10のいずれかに記載のネットワークシステムにおいて、前記特性情報は、前記デバイスの処理性能を反映した情報とされていると好ましい。
より具体的には、例えば、CPU性能、RAM容量、RAM速度、ネットワーク側との通信速度を示す情報であると好ましい。また、新たな製品ほど性能が向上するデバイスの場合、製品出荷日を示す情報であってもよい。
このようなネットワークシステムであれば、デバイスの処理性能が反映された順位がデバイスに付与されるので、他の条件が同じ場合、処理性能の高いデバイスほど順位が高くなり、マスターデバイスになりやすくなる。したがって、マスターデバイスが、各種情報を迅速に他のデバイスに提供したい場合、マスターデバイスが各種演算を実施する場合、マスターデバイスにおける入出力が多い場合等に好適である。
また、請求項12に記載の通り、請求項3,請求項5,請求項10,または請求項11のいずれかに記載のネットワークシステムにおいて、前記特性情報は、前記デバイスの連続運転性を反映した情報とされていると好ましい。
ここで、デバイスの連続運転性とは、デバイスの電源が落とされる可能性を意味し、例えば、主電源スイッチを持たないものと持つものとでは、前者の連続運転性が高いものとして扱われる。また、一般にFAX機能や電話機能を持つ機器は、常時稼働して着信を待ち受けているのに対し、単機能のプリンタ等は、必要時に電源を投入するだけの場合も多々あるので、FAX機能や電話機能を持つものと持たないものとでは、前者の連続運転性が高いものとして扱われる。
このようなネットワークシステムであれば、デバイスの連続運転性が反映された順位がデバイスに付与されるので、他の条件が同じ場合、連続運転性の高いデバイスほど順位が高くなり、マスターデバイスになりやすくなる。したがって、マスターデバイスの稼働がしばしば停止することに起因して、マスターデバイスの交代頻度が高くなるといった問題が起きにくくなり、その結果、そのようなマスターデバイスの交代に伴う負荷が各デバイスにかかりにくくなる。
加えて、請求項13に記載の通り、請求項1〜請求項12のいずれかに記載のネットワークシステムにおいて、前記デバイスは、アドレスデータの示す送信先へデータを送信する機能を備えた通信機器であり、前記共用データは、前記アドレスデータを含んでなるアドレス帳データであると好ましい。
このようなネットワークシステムによれば、複数のデバイスは、共用データとして提供されるアドレス帳データに基づいて、アドレスデータの示す送信先へデータを送信することができるので、複数のデバイスのどれからでも、同じアドレスに対して通信することができるようになる。
次に、以上説明したネットワークシステムを構成するノードとして用いられるデバイスについて説明する。
請求項14に記載のデバイスは、請求項1に記載のネットワークシステムを構成するノードとして用いられるデバイスであって、前記マスターデバイスとなったときに機能する手段として、前記共用データを記憶する共用データ記憶手段と、前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手段と、前記共用データ更新手段によって前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手段と、復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手段と、前記復元時バックアップデータ取得手段によって取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手段とを備えており、前記一般デバイスとなったときに機能する手段として、前記バックアップデータを記憶するバックアップデータ記憶手段と、自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得して前記バックアップデータ記憶手段に記憶させるバックアップデータ更新手段と、前記バックアップデータ更新手段によって前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手段と、前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手段とを備えたことを特徴とする。
このように構成されたデバイスは、先に説明した請求項1に記載のネットワークシステムを構成するデバイスが備えていた各手段を備えている。したがって、このデバイスを利用すれば、請求項1に記載のネットワークシステムを構成することができる。
なお、このデバイスは、上述の通り、先に説明した請求項1に記載のネットワークシステムにおけるデバイスと同等な装置となるので、このデバイスにおいても、請求項1記載のネットワークシステムを構成するデバイスが備え得る望ましい構成(請求項2〜請求項13に記載の各手段)を備えることができるのはもちろんである。
次に、以上説明したデバイスの機能を実現するためのプログラムについて説明する。
請求項15に記載のプログラムは、請求項1に記載のネットワークシステムを構成するノードとして用いられるデバイスを、前記マスターデバイスもしくは前記一般デバイスとして機能させるためのプログラムであって、前記デバイスが前記マスターデバイスとして機能するときには、前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手順と、前記共用データ更新手順において前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手順と、復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手順と、前記復元時バックアップデータ取得手順において取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手順とを前記デバイスに実行させ、前記デバイスが前記一般デバイスとして機能するときには、
自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得して前記バックアップデータ記憶手段に記憶させるバックアップデータ更新手順と、前記バックアップデータ更新手順において前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手順と、前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手順とを前記デバイスに実行させることを特徴とする。
このように構成されたプログラムに従った処理をデバイスに実行させれば、デバイスは、先に説明した請求項1に記載のネットワークシステムを構成するデバイスが備えていた各手段を備えたデバイスとして機能する。したがって、このデバイスを利用すれば、請求項1に記載のネットワークシステムを構成することができる。
なお、このプログラムに従った処理をデバイスに実行させれば、デバイスは、上述の通り、先に説明した請求項1に記載のネットワークシステムにおけるデバイスと同等な装置となるので、さらに、請求項1記載のネットワークシステムを構成するデバイスが備え得る望ましい構成(請求項2〜請求項13に記載の各手段)を実現する手順を、デバイスに実行させるプログラムとして構成してもよいのはもちろんである。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、本発明の一実施形態として例示するネットワークシステムの概略構成図である。
このネットワークシステムは、パーソナルコンピュータ(以下、PCと略称する)1と、複数の画像処理装置3,3,5,5とを備えてなり、これらの機器がLAN(Local Area Network)7に接続されて、相互に通信可能となっている。
PC1は、CPU101、ROM102、RAM103、操作部105、表示部106、ハードディスク装置107(HDD107)、LAN I/F108等を備えている。CPU101は、ROM102およびRAM103に記憶されたプログラムに従って、PC1各部に対する制御および演算を実行する装置である。ROM102は、PC1の電源スイッチを切っても記憶内容を保持している記憶装置で、BIOS(Basic Input Output System)など、PC1を制御するために最小限必要なプログラムやデータを記憶している。RAM103は、HDD107から読み込まれるOSや各種アプリケーションプログラムを記憶可能な装置で、CPU101による演算に伴って発生する各種データもRAM103に記憶される。操作部105は、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。表示部106は、カラー画像を表示可能な液晶ディスプレイ等によって構成されている。HDD107は、OS、各種アプリケーションプログラム、および各種データファイルを記憶する装置である。LAN I/F108は、LAN7側との通信制御を行う装置である。また、これらのハードウェアを制御するため、PC1には、OS(Operating System)が搭載されている。PC1に搭載されるOSの具体例としては、例えば、Windows(登録商標)、Linux(登録商標)、MacOS(登録商標)などを挙げることができる。なお、これらのOSによって提供される各種機能は公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、Windows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
画像処理装置3は、MFP(Multi-Function Product)と呼ばれる複合機で、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能、電話機能、電子メール送受信機能などを兼ね備えている。この画像処理装置3は、CPU301、ROM302、RAM303、不揮発性RAM304、操作キー305、表示パネル306、ハードディスク装置307(HDD307)、LAN I/F308、印刷部311、読み取り部312、モデム313等を備えている。CPU301は、ROM302に記憶されたプログラムに従って、画像処理装置3各部に対する制御および演算を実行する装置である。ROM302は、画像処理装置3を制御するために必要なプログラムやデータを記憶している。RAM303は、主にCPU301による演算に伴って発生する各種データを記憶する装置で、不揮発性RAM304やHDD307よりもアクセス速度が速いことから、画像処理装置3の稼働時には、不揮発性RAM304やHDD307に記憶されたデータの一部をRAM303に転送して利用することもある。不揮発性RAM304は、画像処理装置3の電源スイッチを切ったときにも、内蔵する電池によって記憶内容を保持するように構成された記憶装置である。本実施形態において、この不揮発性RAM304には、後から詳述するアドレス帳データ321,521やバックアップデータ(図示略)が記憶される。操作キー305は、利用者が画像処理装置3に各種指令を与えるために操作する入力装置である。表示パネル306は、液晶ディスプレイによって構成されている。HDD307は、各種データを記憶する装置で、本実施形態においては、主に読み取り部312で読み取った画像データが一時的に蓄積される。LAN I/F308は、LAN7側との通信制御を行う装置である。印刷部311は、シート状の媒体(例えば記録用紙)に対して画像データの表す画像を記録(印刷)する装置で、プリンタ機能による画像の印刷、ファクシミリ機能による受信画像の印刷、コピー機能によるコピー画像の印刷等を行う際に作動する。読み取り部312は、自動原稿送り装置(図示略)にセットされた原稿またはフラットベッドのコンタクトガラス上に置かれた原稿から画像を読み取り、その画像を表す画像データを生成するもので、スキャナ機能による画像の読み取り、ファクシミリ機能による送信画像の読み取り等を行う際に作動する。モデム313は、公衆回線を介してファクシミリ画像の送受信を行ったり音声通信を行うために必要な装置である。
画像処理装置5は、DCP(Digital Copier Peripheral)と呼ばれる複合機で、スキャナ機能、プリンタ機能、コピー機能、電子メール送受信機能などを兼ね備えているが、上記画像処理装置3とは異なり、ファクシミリ機能および電話機能を備えていない。この画像処理装置5は、CPU501、ROM502、RAM503、不揮発性RAM504、操作キー505、表示パネル506、ハードディスク装置507(HDD507)、LAN I/F508、印刷部511、読み取り部512等を備えている。これらの構成は、画像処理装置3が備える構成とほぼ同様のものばかりなので、詳細な説明については省略する。なお、画像処理装置5は、ファクシミリ機能および電話機能を備えていないため、画像処理装置3が備えていたモデム313に相当する構成は備えていない。
なお、図1においては、便宜的に全部で4台の画像処理装置3,3,5,5を図示してあるが、さらに多くの画像処理装置(デバイス)がLAN7に接続されていてもよい。
[システムの動作および機能の概要]
以上のように構成されたネットワークシステムにおいて、ネットワーク上のデバイス(本実施形態では、画像処理装置3,3,5,5)は、それぞれが後述する処理を実行することにより、いずれか1台がマスターデバイスとして機能し、マスターデバイス以外のデバイスが一般デバイスとして機能する。どのデバイスがマスターデバイスとして機能するかは、後述する処理の中で決定されるが、概略を説明すると、本システムにおいては、各デバイスにシステム内における順位が付与され、この順位が高いデバイスほど優先的にマスターデバイスとして機能する状態に移行する仕組みとなっている。以下、この順位のことを優先度ともいう。
マスターデバイスとして機能したデバイスの役割は、(1)システム内に存在する一般デバイスを管理下に置き、システム内のすべてのデバイスが共用する共用データを各一般デバイスに提供すること、(2)この共用データの更新がなされる毎に更新前の共用データのバックアップを作成するとともに、過去に実施された共用データの更新毎に作成された複数のバックアップデータを管理し、誤って共用データが更新されたような場合に、共用データの復元を図ることができるようにすること、(3)システム内のデバイスの優先度(順位)を管理し、システム内のデバイスが増減した場合には、全てのデバイスを対象に優先度の見直しを行うこと、(4)さらには、優先度を見直した結果、マスターデバイスより優先度の高いデバイスが存在した場合は、そのデバイスとマスターデバイスとしての立場の交代を図ることなど、多岐にわたる。
また、本実施形態において、システム内のすべてのデバイスが共用する共用データは、図2に示すようなアドレス帳データである。このアドレス帳データには、ID、電話番号、FAX番号、およびメールアドレスを1組として、複数組のデータが登録されるようになっている。最新のアドレス帳データは、デバイスがネットワークに参加した際に、マスターデバイスから提供され、その最新のアドレス帳データを取得したデバイスは、最新のアドレス帳データをマスターデータとして自機内の不揮発性RAM304,504に保存する。また、いずれかのデバイスにおいて、アドレス帳データの更新がなされた場合は、後述する処理により、まずマスターデバイスにおいてアドレス帳データが更新され、マスターデバイスにおいて更新された最新のアドレス帳データが、ネットワーク内の各デバイスに提供される。これらの結果、ネットワーク内のデバイスは、常に最新且つ同一内容のアドレス帳データを記憶する状態となる。
さらに、アドレス帳データの更新がなされる際には、後述する処理により、更新前のマスターデータ(=アドレス帳データ)のコピーが、バックアップデータとして保存される。バックアップデータは、マスターデータの更新がなされる毎に、それぞれ別ファイルに保存され、マスターデータの更新がなされるたびに蓄積されてゆく。ただし、単に蓄積するだけでは、バックアップデータの占める記憶容量が無制限に増大してしまうので、本実施形態では、あらかじめ定められた記憶容量の範囲内でバックアップデータを蓄積し、その記憶容量を超える場合は、最も古いバックアップデータを削除することで、所定の記憶容量を超過しないように処理されている。なお、バックアップデータが無制限に増えるのを防止する方法は任意であり、記憶容量の上限を制限する他にも、過去何回分のバックアップデータを保存するかをあらかじめ定めておくといった方法でも構わない。
また、複数回の更新に対応して作成される複数のバックアップデータは、後述する処理により、あらかじめ定められた記憶容量の範囲内で、マスターデバイスに蓄積されるとともに、一般デバイスの優先度に従って優先度の高い一般デバイスほど新しいバックアップデータを記憶するように、複数の一般デバイスそれぞれが1つずつバックアップデータを記憶する。具体的な例を挙げれば、全デバイスが4台あって、そのうち、マスターデバイスが1台、一般デバイスが3台の場合、アドレス帳データの更新がなされると、その更新前の内容を持つバックアップデータ#1が作成される。このバックアップデータ#1は、マスターデバイスに記憶されるとともに、優先度の最も高い(=優先度2位の)一般デバイス(注:優先度1位はマスターデバイス)にも送信され、優先度の最も高い(=優先度2位の)一般デバイスに記憶される。そして、さらにアドレス帳データの更新がなされると、既に存在するバックアップデータ#1はバックアップデータ#2とされ、更新前のアドレス帳データのコピーがバックアップデータ#1とされる。このバックアップデータ#1、#2は、双方ともマスターデバイスに記憶される。また、優先度の最も高い(=優先度2位の)一般デバイス(注:優先度1位はマスターデバイス)が既に記憶しているバックアップデータ#1は、次に優先度の高い(=優先度3位の)デバイスに送信されてバックアップデータ#2として保存され、優先度の最も高い(=優先度2位の)一般デバイスには、マスターデバイスから新たなバックアップデータ#1が送信されて、元のバックアップデータ#1に対して上書き保存される。以後、アドレス帳データの更新がなされる毎に、マスターデバイスにおいては別ファイルとして複数のバックアップデータが蓄積され、一般デバイスにおいては、優先度の高い側から、それぞれが1つのバックアップデータを記憶しゆくことになる。このようなバックアップ方法を実現するための具体的な処理については、後から詳しく説明する。
なお、画像処理装置3においては、ファクシミリ機能、電話機能、電子メール送信機能を利用する際に、自機内のアドレス帳データを参照して送信先ないし発呼先を選ぶことができる。また、画像処理装置5の場合、ファクシミリ機能、電話機能は備えていないが、電子メール送信機能を利用する際に、自機内のアドレス帳データを参照して送信先を選ぶことができる。電子メール送信機能は、スキャナ機能を利用して読み取った画像データを電子メール形式のデータに変換し、電子メールとして送信先へ伝送することができる機能である。画像処理装置3,5では、この電子メール送信機能と対になる電信メール受信機能を備えているので、電子メールを受信して、電子メール中に含まれている画像データを印刷機能により印刷出力することもできる。
[デバイスが稼働を開始したときに関連する処理]
以下、このようなネットワークシステムを実現するためにネットワーク上の各デバイス(本実施形態では、画像処理装置3,3,5,5)が実行する処理について説明する。なお、以下の説明においては、特に必要がない限り、画像処理装置3と画像処理装置5とを特に区別することなくデバイスと称する。
まず、デバイスの電源がONにされたときの処理について、図3に基づいて説明する。
デバイスの電源がONにされると、デバイスは、まず、ブロードキャストにてマスター適性値を送信する(S105)。マスター適性値は、先に説明したデバイスの優先度を決定するために利用される値で、本実施形態では、(不揮発性RAM容量)×(連続運転性指標:FAX機能があるデバイスは2、FAX機能が無いデバイスは1)という演算によって求まる値が、マスター適性値として送信される。すなわち、不揮発性RAM容量が大きいほどマスター適性値は大きい値となり、また、FAX機能があるデバイスはマスター適性値が大きい値となる。後述する処理では、このマスター適性値が大きいほど優先度が高いと判断され、その結果、最もマスター適性値の大きいデバイスがマスターデバイスとして機能する状態になる。このようにして優先度を決めるのは、不揮発性RAM容量が大きいほど、バックアップデータを保存する能力が高いので、マスターデバイスとして適していると考えられ、また、FAX機能があるデバイスは電源を落とさない可能性が高く、ネットワーク内で常時アドレス帳データの提供を行ったりデバイスの増減を監視したりすることができる可能性が高いので、マスターデバイスとして適していると考えられるためである。
さて、S105の処理により、マスター適性値を送信したら、続いてマスターデバイスから返事があるか否かを判断し(S110)、返事がない場合は(S110:NO)、所定時間(例えば1秒)が経過するまでウエイトし(S115)、その後、タイムアウトか否かを判断して(S120)、タイムアウトでなければ(S120:NO)、S110の処理へと戻る。このS110〜S120の処理は、マスターデバイスから返事があるか、タイムアウトになるまで繰り返される。
このS110〜S120の繰り返し処理の中で、タイムアウトとなった場合は(S120:YES)、ネットワーク上に返事を返すべきマスターデバイスが存在しないことを意味するので、デバイスは、自身がマスターデバイスとして機能すべきと認識し、管理情報の作成を実行する(S125)。なお、S125の処理の詳細については後述する。
S125の処理を終えたら、デバイスは、自身が持つアドレス帳データを共用データであると認識し(S127)、この処理を終える。なお、認識方法は、共用データ用の記憶領域にアドレス帳データをコピーしたり整形したりすることによって共用データであると認識するといった方法でもよいし、そもそもアドレス帳データそのものを共用データとして提供するようにプログラミングしてもよい。
一方、S110〜S120の繰り返し処理の中で、マスターデバイスから返事があった場合は(S110:YES)、優先度変更パケット受信処理を実行して(S130)、この処理を終える。なお、S130の処理の詳細については後述する。
次に、上記S105の処理で送信されるマスター適性値のパケットをデバイスが受信した際、その受信イベントに対応する割り込みルーチン(=イベントハンドラ;以下、イベントハンドラと称する。)として実行されるマスター適性値パケット受信処理について、図4に基づいて説明する。
マスター適性値パケットをデバイスが受信したことに伴って、デバイスがこの処理を開始すると、デバイスは、まず、自機動作パラメータは「マスター」か否かを判断する(S205)。自機動作パラメータは、デバイスがマスターデバイスとして機能する状態にあるか一般デバイスとして機能する状態にあるかを示すフラグで、自機動作パラメータが「マスター」でない場合は(S205:NO)、そのまま処理を終了する。すなわち、このマスター適性値パケット受信処理では、デバイスが一般デバイスとして機能する状態にある場合、実質的な処理を実行しない。
一方、自機動作パラメータが「マスター」である場合(S205:YES)、そのデバイスはマスターデバイスとして機能する状態にあるので、デバイスは、管理情報と比較して優先度を解析する(S210)。管理情報は、マスターデバイスとして機能するデバイスが後述する処理によって作成し、自機内の記憶領域(例えば、HDD307,507)に記憶している情報である。この管理情報には、図5に例示するように、ID、優先度、IPアドレス、マスター適性値を1組として、複数組のデータが登録されるようになっている。S210の処理では、受信したマスター適性値を、管理情報内に記録されたマスター適性値と比較することにより、マスター適性値を送信したデバイスが、現在のマスターデバイスより優先度の高いデバイス(=マスター適性値の大きいデバイス)であるか否かを解析する。
そして、S210の処理によって解析した結果、相手(=マスター適性値を送信したデバイス)がマスターになるべきであれば(S215:YES)、デバイス(=現在のマスターデバイス)は、相手にマスターになるように通知し(S220)、この処理を終了する。一方、S210の処理によって解析した結果、自身(=現在のマスターデバイス)が引き続きマスターデバイスとして機能すべきであれば(S215:NO)、管理情報の作成を実行して(S225)、この処理を終える。なお、S225の処理は、S125の処理と同等な処理であるが、詳細についてはこの後に説明する。
次に、上記S125、およびS225の処理に相当する管理情報の作成処理について、図6に基づいて説明する。
この処理を開始すると、デバイスは、ブロードキャストで、全デバイスにマスター適性値を返信するように指示し(S305)、所定時間(例えば、5秒間)ウエイトして(S310)、その間に他のデバイスからの返信を受信する。そして、受信したマスター適性値パケットおよび自身のマスター適性値に基づいて、先に説明した管理情報(図5参照)を作成し(S315)、その管理情報を参照して自分のマスター適性値が一番高いか否かを判断する(S320)。なお、S305の処理によるブロードキャストに対する応答がなかった場合、管理情報には自身しか登録されていないので、当然、自身のマスター適性値が一番高いと判断される。
ここで、自分(=現在のマスターデバイス)のマスター適性値が一番高くはない場合(S320:NO)、一番マスター適性値の高いデバイスにマスターになるように通知して(S330)、この処理を終了する。なお、S330の処理を実行したことに伴って、通知を受けたデバイスでは、後述する優先度変更パケット受信処理(図7参照)が実行されることになる。
一方、自分(=現在のマスターデバイス)のマスター適性値が一番高い場合は(S320:YES)、管理下デバイス(=管理情報に登録されたデバイス)に、(1)優先度指定情報、(2)監視用のデバイスのアドレス情報、(3)マスターのアドレス情報、以上3つの情報を含んだパケットを送信する(S340)。なお、S340の処理によって送信されたパケットを受信したデバイス(=管理情報に登録されたデバイス)では、後述する優先度変更パケット受信処理(図7参照)が実行され、マスターデバイス(この処理を実行するデバイス)に対して返事が返されることになる。
そこで、S340の処理を終えた後、デバイスは、全ての管理下デバイスから返事があったか否かを判断し(S350)、全デバイスからの返事が得られていない場合は(S350:NO)、所定時間(例えば1秒間)ウエイトし(S355)、その後、タイムアウトか否かを判断して(S360)、タイムアウトでなければ(S360:NO)、S350の処理へと戻る。このS350〜S360の処理は、全てのデバイスから返事があるかタイムアウトになるまで繰り返される。
このS350〜S360の繰り返し処理の中で、タイムアウトとなった場合は(S360:YES)、ネットワーク上に返事を返すべきデバイスが存在しないことを意味するので、デバイスは、既に管理情報の内容が有効ではないものと認識し、S315の処理へと戻って、あらためてS315以降の処理をやりなおす。
一方、S350〜S360の繰り返し処理の中で、全てのデバイスから返事があった場合(S350:YES)、デバイスは、自機動作パラメータに「マスター」であることを示すフラグをセットし(S365)、この処理を終える。
次に、上記S220またはS330の処理による通知(=マスターとして機能すべき旨の通知)を受信した場合、もしくは上記S340の処理による優先度指定情報を受信した場合に、その受信イベントに対応するイベントハンドラとして実行される優先度変更パケット受信処理について、図7に基づいて説明する。
この処理を開始すると、デバイスは、まずマスターに変更すべき旨の通知であるか否かを判断する(S405)。
ここで、S405の処理による判断の結果、マスターに変更するとの判断がなされた場合(S405:YES)、引き続いて、管理情報作成中か否かを判断し(S410)、既に管理情報作成中であれば(S410:YES)、この処理を開始する以前に、既にデバイス自身がマスターとして機能すべきことを認識していたことになるので、そのままイベントハンドラの処理を終了する。また、管理情報作成中でなかった場合は(S410:NO)、その時点でデバイス自身がマスターとして機能すべきことを認識するので、その時点で既にマスターデバイスとして機能しているデバイスから、アドレス帳データのマスターデータを取得する(S415)。
より詳しくは、S415の処理では、まず、その時点でマスターデバイスとして機能しているデバイスに対してマスターデータ取得要求が送信され、このマスターデータ取得要求をマスターデバイスが受信すると、その受信イベントに対応するイベントハンドラとして、マスターデバイスでは図8に示すマスターデータ取得要求受信処理が実行される。このマスターデータ取得要求受信処理を実行することにより、マスターデバイスは、要求元のデバイスに対してマスターデータを返信する(S505)。そして、このS505の処理によって返信されたマスターデータが、S415の処理において取得されることになる。
こうしてS415の処理によってマスターデータを取得したら、続いて、デバイスは、管理情報の作成を実行して(S420)、この処理を終える。なお、S420の処理は、既に説明したS305〜S365の処理に相当する処理なので、ここでの説明は省略する。
一方、S405の処理による判断の結果、マスターに変更するとの判断がなされなかった場合(S405:NO)、デバイスは、(2)監視用のデバイスのアドレス情報、(3)マスターのアドレス情報を不揮発性RAM304,504に記憶する(S425)。そして、引き続いて、デバイスは、管理情報作成中か否かを判断する(S430)。このとき、既に管理情報作成中であれば(S430:YES)、マスターとして機能すべきデバイスではないにもかかわらず、この処理を開始する以前に、既にデバイス自身がマスターとして機能すべきと誤認していたことになるので、管理情報作成処理を中断し、作成中であった管理情報を削除する(S435)。これにより、優先度変更パケットを送信するデバイス(=既にマスターデバイスとして機能しているデバイス)が他に存在するにもかかわらず、この処理を実行しているデバイスがマスターデバイスとして機能し始めるのを防止する。なお、管理情報作成中でなければ(S430:NO)、デバイスがマスターとして機能しようとしている訳ではないことになるので、S435の処理をスキップする。
そして、デバイスは、自機動作パラメータを、指示のあった優先度に変更し(S440)、マスターからの指示通りの優先度となった旨の返事をマスターに返して(S445)、この処理を終了する。なお、このS445の処理によってマスターデバイスに返される返事が、上記S350〜S360の繰り返し処理の中でマスターデバイスに受け取られる返事となる。
[デバイスが稼働中に周期的に実行する処理]
次に、各デバイスが概ね一定期間が経過する毎に周期的に繰り返す処理(周期ハンドラ)について、図9に基づいて説明する。
この処理を開始すると、デバイスは、まず、自機動作パラメータは「マスター」であるか否かを判断し(S605)、自機動作パラメータが「マスター」である場合(S605:YES)、管理下のデバイスに監視パケットを送信する(S610)。
ここで、この監視パケットを各デバイス(=一般デバイス)が受信すると、その受信イベントに対応するイベントハンドラとして、各デバイスでは図10に示す動作確認パケット受信処理が実行され、各デバイスは、マスターデバイスに対して動作している旨を返信する(S705)。
そこで、デバイス(=マスターデバイス)は、監視パケットを送信したデバイス全てから返事があったか否かを確認し(S615)、全て返事があった場合は(S615:YES)、管理下のデバイス(=管理情報に登録された一般デバイス)全てが以前と同様に稼働しているものと認識し、この処理を終える。
また、少なくともひとつのデバイスから返事が無かった場合は(S615:NO)、管理下のデバイス(=管理情報に登録された一般デバイス)全てが以前と同様に稼働している訳ではないものと認識し、管理情報の作成を実行することにより(S620)、管理情報を作りなおす。なお、S620の処理は、既に説明したS305〜S365の処理に相当するので、ここでの詳細な説明は省略する。
こうして管理情報を作りなおしたら、S610の処理へと戻ることにより、あらためてS610以降の処理を実行し、新たに管理下に置かれたデバイス(=作りなおした管理情報に登録された一般デバイス)全てが稼働しているかどうかを確認する。
さて、S605の処理において、自機動作パラメータが「マスター」でなかった場合(S605:NO)、デバイス(=一般デバイス)は、自分より一つ上の優先度のデバイス(=上位デバイス)に監視パケットを送信する(S630)。
ここで、この監視パケットを各デバイス(=上位デバイス)が受信すると、その受信イベントに対応するイベントハンドラとして、各デバイスでは既に説明した図10に示す動作確認パケット受信処理が実行され、各デバイスは、自分より一つ下の優先度のデバイスに対して動作している旨を返信する(S705)。
そこで、デバイス(=上位デバイスに監視パケットを送信したデバイス)は、上位デバイスから返事があったか否かを確認し(S635)、返事があった場合は(S635:YES)、上位デバイスが以前と同様に稼働しているものと認識し、そのままこの処理を終える。
一方、上位デバイスから返事が無かった場合は(S635:NO)、上位デバイスが稼働を停止したものと認識し、対象デバイスが不在であることをマスターに通知する(S640)。
ここで、この通知を受信したデバイスでは、その受信イベントに対応するイベントハンドラとして、図11に示す監視対象デバイス不在通知受信処理が実行される。より詳しくは、監視対象デバイス不在通知受信処理を実行すると、デバイスは、まず自機動作パラメータは「マスター」であるか否かを判断し(S805)、自機動作パラメータが「マスター」である場合(S805:YES)、管理情報の作成を実行することにより(S810)、管理情報を作りなおす。S810の処理は、既に説明したS305〜S365の処理に相当するので、ここでの詳細な説明は省略する。S810の処理が実行されると、その時点で管理情報が作りなおされるので、稼働を停止した疑いのあった上位デバイスとマスターデバイスとが通信不能であれば、その上位デバイスは管理情報内から削除されることになる。なお、S805の処理において、自機動作パラメータが「マスター」でなかった場合は(S805:NO)、デバイス(=一般デバイス)は、S810の処理をスキップして、そのままこの処理を終える。すなわち、この監視対象デバイス不在通知受信処理では、デバイスが一般デバイスとして機能する状態にある場合、実質的な処理を実行しない。
さて、以上のような監視対象デバイス不在通知受信処理が、マスターデバイスにおいてなされ、その中で管理情報の作成(=S810)が行われると、S305〜S365の処理(図6参照)が行われることになり、S330またはS340の処理により、マスターデバイスから何らかの返事が返される。
S640の処理による通知を行ったデバイスでは、所定時間(例えば1秒間)ウエイトし(S645)、その後、マスターデバイスから返事があったか否かを判断し(S650)、返事がない場合は(S650:NO)、タイムアウトか否かを判断して(S655)、タイムアウトでなければ(S655:NO)、S645の処理へと戻る。このS645〜S655の処理は、マスターデバイスから返事があるか、タイムアウトになるまで繰り返される。
このS645〜S655の繰り返し処理の中で、マスターデバイスから返事があった場合は(S650:YES)、そのままこの処理を終える。
一方、タイムアウトとなった場合は(S655:YES)、ネットワーク上に返事を返すべきマスターデバイスが存在しないことを意味するので、デバイスは、自身がマスターデバイスとして機能すべきと認識し、管理情報の作成を実行して(S660)、この処理を終える。なお、S660の処理は、既に説明したS305〜S365の処理に相当するので、ここでの詳細な説明は省略する。なお、この場合、元のマスターデバイスからマスターデータを取得することができないので、デバイス自身が取得していたマスターデータのコピーデータ、あるいは、他のデバイスが取得していたマスターデータのコピーデータを基に、マスターデータを作成し直すことになる。
以上説明した各処理が、ネットワーク上の複数のデバイス(本実施形態では、画像処理装置3,3,5,5)において実行されることにより、それら複数のデバイスの中の1台がマスターデバイスとして機能することになり、他のデバイスを管理下に置いて、管理下のデバイスにアドレス帳データ(システム内の全デバイスで共用する共用データ)を提供することになる。また、マスターデバイスは、管理下にある全デバイスの優先度を管理し、より優先度の高い(=マスター適性値の大きい)デバイスが新たにネットワークに参加した場合は、マスターデバイスの交代がなされることになる。
[アドレス帳の更新に関連する処理]
次に、利用者がアドレス帳を更新する操作を行った際に実行される処理について、図12に基づいて説明する。利用者は、マスターデバイスまたは一般デバイスの操作キー305,505を操作して、更新したいデータを入力することができ、その入力内容が確定すると、デバイスは、図12に示す処理を開始する。
この処理を開始すると、デバイスは、まず、自機動作パラメータは「マスター」か否かを判断する(S1005)。自機動作パラメータが「マスター」である場合(S1005:YES)、デバイスはマスターデバイスとして機能している状態にあり、その場合、アドレス帳データのマスターデータの原本が自機内に保存されているので、その原本を更新すべく、アドレス帳更新処理を実行する(S1010)。なお、S1010の処理の詳細については後述する。そして、S1010の処理を終えたら、この処理を終了する。
一方、自機動作パラメータが「マスター」でない場合(S1005:NO)、デバイスは一般デバイスとして機能している状態にあり、その場合、アドレス帳データのマスターデータのコピーが自機内に保存されており、アドレス帳データのマスターデータの原本は自機内に保存されていないので、その原本を更新すべく、更新データをマスターに送信し(S1020)、この処理を終える。
S1020の処理が実行されるのに伴い、更新データがマスターデバイスに送信されると、この更新データを受信したマスターデバイスでは、その受信イベントに対応するイベントハンドラとして、図13に示す処理が実行され、マスターデバイスは、アドレス帳更新処理を実行する(S1105)。このS1105の処理は、上記S1010の処理と同等な処理であり、この後詳しく説明する。そして、S1105の処理を終えたら、この処理を終える。
つまり、マスターデバイスにおいて利用者がアドレス帳を更新する操作を行った場合は、マスターデバイスにおいてS1010の処理が実行され、一般デバイスにおいて利用者がアドレス帳を更新する操作を行った場合は、マスターデバイスにおいてS1105の処理が実行され、その結果、いずれの場合とも、マスターデバイスにおいてアドレス帳更新処理が実行されることになる。
次に、上記S1010およびS1105の処理に相当するアドレス帳更新処理について、図14に基づいて説明する。
アドレス帳更新処理を開始すると、デバイス(=マスターデバイス)は、まず、自機マスターデータをバックアップにコピーする(S1205)。ここでいうバックアップは、更新前のマスターデータ(=アドレス帳データ)のコピーであり、本実施形態では、不揮発性RAM304,504に保存される。
S1205の処理を終えたら、デバイスは、アドレス帳マスターデータを更新する(S1210)。これにより、マスターデータは、最新の更新情報が反映されたものとなる。
続いて、デバイスは、管理下デバイスにマスターデータ更新指示を送信する(S1215)。
ここで、S1215の処理が実行されるのに伴い、マスターデータ更新指示が各デバイスに送信されると、この指示を受信したデバイスでは、その受信イベントに対応するイベントハンドラとして、図15に示す処理が実行される。より詳しくは、マスターデータ更新指示受信処理を実行すると、デバイスは、まず自機動作パラメータは「マスター」であるか否かを判断し(S1305)、自機動作パラメータが「マスター」でない場合(S1305:NO)、デバイス(=一般デバイス)は、マスターデバイスからマスターデータを取得して、自機内のマスターデータ(=マスターデバイスが保存している原本のコピー)を、取得したマスターデータで更新し(S1310)、この処理を終える。また、S1305の処理において、自機動作パラメータが「マスター」であった場合は(S1305:YES)、デバイス(=マスターデバイス)は、S1310の処理をスキップして、そのままこの処理を終える。すなわち、このマスターデータ更新指示処理では、デバイスがマスターデバイスとして機能する状態にある場合、実質的な処理を実行しない。
さて一方、S1215の処理を実行したデバイス(=マスターデバイス)は、S1215の処理に引き続いて、管理下デバイスに対するバックアップ指示処理を実行する(S1220)。このS1220の処理は、詳しくは図16に示すような処理となる。すなわち、管理下デバイスに対するバックアップ指示処理を実行すると、デバイスは、まず、カウンタ変数nにN+1(ただし、Nは管理デバイス数)をセットする(S1505)。具体的な例を挙げれば、全デバイスが4台あって、そのうち、マスターデバイスが1台、一般デバイスが3台の場合、マスターデバイスが管理下に置いているデバイスの数(すなわち、管理デバイス数N)は、N=3(=一般デバイスの総数)であり、このとき、N+1=3+1=4なので、カウンタ変数nには、n=4がセットされることになる。つまり、管理デバイス数Nに対し、マスターデバイスの台数1を加算することで、マスターデバイスと一般デバイスを含む全デバイスの台数を求め、その値をカウンタ変数nにセットすることになる。
続いて、デバイス(=マスターデバイス)は、以下に説明するS1515〜S1530の処理をN回繰り返す(S1510)。
この繰り返し処理の中では、まず、優先順位nのデバイスにバックアップ命令を送信する(S1515)。
ここで、このバックアップ命令を受信したデバイスでは、その受信イベントに対応するイベントハンドラとして、図17に示すバックアップ命令受信時処理が実行される。より詳しくは、バックアップ命令を受信したデバイスは、自機動作パラメータは「マスター」であるか否かを判断し(S1605)、自機動作パラメータが「マスター」でない場合(S1605:NO)、監視対象デバイス(=自身より優先度が1つ高いデバイス)からバックアップデータを取得する(S1610)。
より詳しくは、S1610の処理では、監視対象デバイスに対してバックアップデータ取得要求が送信され、このバックアップデータ取得要求を監視対象デバイスが受信すると、その受信イベントに対応するイベントハンドラとして、監視対象デバイスでは図18に示すバックアップデータ取得要求受信処理が実行される。このバックアップデータ取得要求受信処理を実行することにより、監視対象デバイスは、要求元のデバイスに対して自機内のバックアップデータを返信する(S1705)。
そして、このS1705の処理によって返信されたバックアップデータが、S1610の処理において取得されることになる。
こうしてS1610の処理によってバックアップデータを取得したら、続いて、デバイスは、取得したバックアップデータを自機内のバックアップ領域に上書き保存する(S1615)。そして、マスターデバイスに対してバックアップ終了を返信し(S1620)、この処理を終える。なお、S1605の処理において、自機動作パラメータが「マスター」であった場合は(S1605:YES)、デバイス(=マスターデバイス)は、S1605〜S1620の処理をスキップして、そのままこの処理を終える。すなわち、このバックアップ命令受信時処理では、デバイスがマスターデバイスとして機能する状態にある場合、実質的な処理を実行しない。
以上のようにして、優先順位nのデバイスがS1605〜S1620の処理を実行すると、S1620の処理により、バックアップ終了を通知する返信がマスターデバイスに返されるので、S1515の処理を終えたマスターデバイスは、引き続いて、所定時間(例えば1秒間)ウエイトし(S1520)、その後、優先順位nのデバイスから返事があったか否かを判断し(S1525)、返事がない場合は(S1525:NO)、S1520の処理へと戻る。このS1520〜S1525の処理は、優先順位nのデバイスから返事があるまで繰り返される。
このS1520〜S1525の繰り返し処理の中で、マスターデバイスから返事があった場合は(S1525:YES)、カウンタ変数nから1を減算する(S1530)。
そして、以上説明したS1515〜S1530の処理をN回繰り返したら、この処理を終了する。
以上説明したS1505〜S1530の処理において、優先順位nのデバイスは、カウンタ変数nによって示される順位のデバイスであり、カウンタ変数nは、初期値はシステム内の全デバイスの台数となり、S1530の処理により、繰り返し処理の中で1ずつ減算されている。従って、具体的な例を挙げれば、全デバイスが4台あって、そのうち、マスターデバイスが1台、一般デバイスが3台の場合、カウンタ変数nは繰り返し処理の中で4,3,2と減算されるので、S1515の処理では、最初に優先順位4位のデバイスにバックアップ命令を送信し、以降は繰り返し処理の中で、優先順位3位、2位のデバイスに順にバックアップ命令を送信することになる。つまり、優先順位が最下位のデバイスから1つずつ順位を上げながら順にバックアップ命令を送信している。このような処理の結果、一般デバイスには、バックアップデータが1つずつ保存されることになり、しかも、新しいバックアップデータほど優先順位の高い一般デバイスに保存されることになる。
[シャットダウン関連処理]
次に、ネットワークに参加しているデバイスがネットワークとの接続を断つ場合(例えば電源スイッチをOFFにする場合)に実行される処理について、図19に基づいて説明する。
この処理を開始すると、デバイスは、まず、自機動作パラメータは「マスター」であるか否かを判断し(S2005)、自機動作パラメータが「マスター」である場合(S2005:YES)、シャットダウン処理を実行する(S2010)。このS2010の処理は、詳しくは図20に示すような処理になる。
このシャットダウン処理を開始すると、デバイスは、まず、後述するS2120〜S2135の処理を繰り返すべき回数Nを算出する(S2105)。具体的には、「マスターデバイスおよび一般デバイスを含むデバイスの総数」から「シャットダウン要求元の優先順位」を減算し、その値を繰り返し回数Nとする。具体例を挙げれば、全デバイスが4台(マスターデバイスが1台、一般デバイスが3台)ある場合に、優先順位2位のデバイス(=最上位の一般デバイス)からシャットダウン要求があった場合、繰り返し回数Nは、N=4−2=2と算出される。また、自身がマスターデバイス(=優先度1位のデバイス)の場合、繰り返し回数Nは、N=4−1=3と算出される。こうして算出される繰り返し回数Nは、ちょうどシャットダウン要求を行ったデバイスよりも優先度が低いデバイスの総数に相当する値となる。そして、デバイスは、カウンタ変数nに、マスターデバイスと一般デバイスを含む全デバイスの台数をセットする(S2110)。
続いて、デバイスは、以下に説明するS2120〜S2135の処理をN回繰り返す(S2115)。
この繰り返し処理の中では、まず、優先順位nのデバイスにバックアップ命令を送信する(S2120)。このバックアップ命令を受信したデバイスでは、その受信イベントに対応するイベントハンドラとして、図17に示すバックアップ命令受信時処理が実行されるが、このバックアップ命令受信時処理については既に説明したので、ここでの説明は省略する。
優先順位nのデバイスがバックアップを完了すると、バックアップ終了を通知する返信がマスターデバイスに返されるので、S2120の処理を終えたマスターデバイスは、引き続いて、所定時間(例えば1秒間)ウエイトし(S2125)、その後、優先順位nのデバイスから返事があったか否かを判断し(S2130)、返事がない場合は(S2130:NO)、S2125の処理へと戻る。このS2125〜S2130の処理は、優先順位nのデバイスから返事があるまで繰り返される。
このS2125〜S2130の繰り返し処理の中で、マスターデバイスから返事があった場合は(S2130:YES)、カウンタ変数nから1を減算する(S2135)。
そして、以上説明したS2120〜S2135の処理をN回繰り返したら、この処理を終了する。
以上説明したS2105〜S2135の処理において、優先順位nのデバイスは、カウンタ変数nによって示される順位のデバイスであり、カウンタ変数nは、初期値はシステム内の全デバイスの台数となり、S2135の処理により、繰り返し処理の中で1ずつ減算されている。ただし、繰り返し回数Nは、シャットダウン要求を行ったデバイスよりも優先度が低いデバイスの総数に相当する。従って、カウンタ変数nは、最下位の優先順位相当の値から、「シャットダウン要求を行ったデバイスよりも1つ下の優先順位相当の値まで、1ずつ減算されることになる。S2105〜S2135の処理では、このような優先順位を持つデバイスにバックアップ命令が送信されるので、要するに、「シャットダウン要求を行ったデバイスよりも優先順位が低いデバイスすべて」に対し、バックアップ命令が送信されることになる。なお、このようなバックアップデータの移動については、後からタイミングチャートを参照して、さらに詳述する。
以上のようにして、S2105〜S2135の処理を終えると、図19に示したS2010の処理を終えたことになるので、続いて、デバイスは、優先度2位のデバイス(=最上位の一般デバイス)に対し、マスターになるように指示する優先度変更パケットを送信し(S2015)、この処理を終了する。なお、S2015の処理を実行したことに伴って、通知を受けたデバイスでは、先に説明した優先度変更パケット受信処理(図7参照)が実行されることになる。
さて一方、上記S2005の処理において、自機動作パラメータが「マスター」でなかった場合は(S2005:NO)、デバイスは、マスターにシャットダウン要求を通知する(S2020)。
ここで、このシャットダウン要求をマスターデバイスが受信すると、その受信イベントに対応するイベントハンドラとして、マスターデバイスでは、図21に示すシャットダウン処理要求受信処理が実行され、マスターデバイスは、シャットダウン処理を実行する(S2205)。このS2205の処理は、既に説明したS2105〜S2135の処理に相当する処理なので、ここでの説明は省略する。そして、S2205の処理を終えたら、シャットダウン要求元にシャットダウン許可を送信し(S2210)、この処理を終える。
S2020の処理による通知を行ったデバイスでは、所定時間(例えば1秒間)ウエイトし(S2025)、その後、マスターデバイスから返事があったか否かを判断し(S2030)、返事がない場合は(S2030:NO)、タイムアウトか否かを判断して(S2035)、タイムアウトでなければ(S2035:NO)、S2025の処理へと戻る。このS2025〜S2035の処理は、マスターデバイスから返事があるか、タイムアウトになるまで繰り返される。このS2025〜S2035の繰り返し処理の中で、マスターデバイスから返事があった場合(S2030:YES)、もしくはタイムアウトとなった場合は(S2035:YES)、この処理を終える。なお、以上説明したS2005〜S2035の処理を終えたことによって、デバイスは、ネットワークとの接続を断つことができる状態となる。以降は、連動して直ちに電源スイッチをOFFにする制御を行ってもよいし、単に電源スイッチをOFFにできる状態となったことを報知してもよい。
[バックアップデータの復帰に関連する処理]
次に、先に説明したバックアップデータを利用して、更新されたアドレス帳データを更新前の状態に戻す際に、PC1において実行される処理について、図22に基づいて説明する。この処理は、PC1において利用者が所定の操作(例えば、プログラム起動用のアイコンやメニュー項目をポインティングデバイスを使ってクリックする操作など)を行うと実行される。
この処理を開始すると、PC1は、アプリケーションを起動して(S2405)、図23(a)に示すアドレス帳マスターデータ管理ウィンドウ151を表示部106に表示して、マスターのIPアドレス入力待ちになる(S2410)。ここで、利用者は、アドレス帳マスターデータ管理ウィンドウ151中にあるマスターデバイスIPアドレス入力欄153に、マスターデバイスのIPアドレスを入力することができ、また、同ウィンドウ内にあるOKボタン155、Cancelボタン157を押下する(ポインティングデバイスを使ってクリックする)ことができる。
利用者が入力操作を行うとS2410の処理を抜け、続いて、PC1は、OKボタン155が押下されたか否かを判断する(S2415)。ここで、OKボタン155が押下されていなければ(S2415:NO)、Cancelボタン157の押下または図示しないその他の操作を受けたものと判断し、この処理を終了する。
一方、OKボタン155が押下されていれば(S2415)、マスターからバックアップデータリストを取得して表示する(S2420)。より具体的には、PC1は、図23(b)に示すアドレス帳データ選択ウィンドウ161を表示部106に表示する。このアドレス帳データ選択ウィンドウ161中にあるリスト表示欄163には、選択可能なバックアップデータの一覧が、そのバックアップ日時とともに表示される。
アドレス帳データ選択ウィンドウ161を表示部106に表示したら、PC1は、バックアップデータの選択入力待ちになる(S2425)。ここで、利用者は、アドレス帳データ選択ウィンドウ161中にあるリスト表示欄163に表示されたバックアップデータを1つ選択することができ、また、同ウィンドウ内にあるOKボタン165、Cancelボタン167を押下することができる。
利用者が入力操作を行うとS2425の処理を抜け、続いて、PC1は、OKボタン165が押下されたか否かを判断する(S2430)。ここで、OKボタン165が押下されていなければ(S2430:NO)、Cancelボタン167の押下または図示しないその他の操作を受けたものと判断し、この処理を終了する。
一方、OKボタン165が押下されていれば(S2430)、マスターにデータ復帰要求を送信し(S2435)、この処理を終了する。その結果、PC1からマスターデバイスへデータ復帰要求が送信され、マスターデバイスにおいて、データ復帰要求に対応する処理が実行されることになる。
次に、S2435の処理で送信されるデータ復帰要求をデバイスが受信した際、その受信イベントに対応するイベントハンドラとして実行される処理について、図24に基づいて説明する。
この処理を開始すると、デバイスは、まず、自機動作パラメータは「マスター」であるか否かを判断し(S2605)、自機動作パラメータが「マスター」でない場合は(S2605:NO)、そのままこの処理を終える。すなわち、デバイスが一般デバイスとして機能する状態にある場合、実質的な処理を実行しない。
一方、自機動作パラメータが「マスター」である場合は(S2605:YES)、利用者の指定したバックアップデータが自機内にあるか否かを判断する(S2610)。すなわち、先に説明した通り、本実施形態において、バックアップデータとしては、マスターデバイスの記憶領域に蓄積された複数のバックアップデータと、複数の一般デバイスの記憶領域に各デバイスとも1つずつ記憶された複数のバックアップデータが存在し、最新のバックアップデータが作成される際には、同一のバックアップデータがマスターデバイスの記憶領域と優先度の最も高いデバイスの記憶領域とに保存されるが、デバイスの電源断や記憶容量の都合等に起因して、バックアップデータが自機内にしかない場合、他機内にしかない場合、どちらの場合にもなり得る。
そこで、S2610の処理において、バックアップデータが自機内にあると判断した場合は(S2610:YES)、自機内の記憶領域からバックアップデータを取得し(S2615)、バックアップデータが自機内にないと判断した場合は(S2610:NO)、バックアップデータの所在を調べて、管理下デバイスからバックアップデータを取得する(S2620)。
こうして自機または他機からバックアップデータを取得したら、取得したバックアップデータを更新用データとして格納し(S2630)、その更新用データに基づいてアドレス帳更新処理を実行し(S2640)、この処理を終了する。なお、S2640の処理は、既に説明したS1205〜S1220の処理に相当する処理なので、ここでの説明は省略する。
[ネットワークシステムの挙動についての具体例1]
次に、以上説明した各処理により、ネットワークシステムがどのような挙動を示すのかについて、いくつかの具体的な事例を挙げて説明する。なお、以下に説明する各具体例においては、説明が煩雑になるのを避けるため、本発明でいうデバイスに相当する機器をデバイス1,2,3,4と称するが、これらデバイス1,2,3,4は、上述した実施形態における画像処理装置3,3,5,5に相当する機器である。
まず、具体例1について説明する。
図25は、1台のデバイス1がネットワークシステムに接続されてマスターデバイスとして機能し、その後、もう1台のデバイス2がネットワークシステムに接続された場合に、どのように優先度が決まり、どのようにマスターデータが提供されるのかを示したタイミングチャートである。
なお、この具体例1では、デバイス1は、不揮発性RAM容量64、連続運転性指標:1(FAX機能無し)なので、マスター適性値は64であり、デバイス2は、不揮発性RAM容量32、連続運転性指標:1(FAX機能無し)なので、マスター適性値は32である。
まず、デバイス1の電源がONになると、デバイス1は、ブロードキャストにてマスター適性値を送信する。これに対し、ネットワーク側から返事がないため、デバイス1は、マスターデバイスとして機能する。
その後、もう1台のデバイス2の電源がONになると、デバイス2は、ブロードキャストにてマスター適性値を送信する。これを受けて、デバイス1は、マスター適性値を比較する。ここで、デバイス1のマスター適性値は64であり、デバイス2のマスター適性値は32なので、デバイス1は自分のマスター適性値が高いと判断する。
その結果、デバイス1からデバイス2へ「私がマスターです。マスター適性値は私の方が高いです。2ndになってください。」との通知がなされ、さらにマスターデータ(アドレス帳データ)のコピーがなされ、デバイス2は優先度2のデバイスとなり、デバイス2からデバイス1へ「2ndになりました」との返事が返され、デバイス1は、管理情報に2ndを追加する。
[ネットワークシステムの挙動についての具体例2]
次に、具体例2について説明する。
図26も、1台のデバイス1がネットワークシステムに接続されてマスターデバイスとして機能し、その後、もう1台のデバイス2がネットワークシステムに接続された場合に、どのように優先度が決まり、どのようにマスターデータが提供されるのかを示したタイミングチャートである。
ただし、この具体例2では、具体例とは異なり、デバイス1は、不揮発性RAM容量64、連続運転性指標:1(FAX機能無し)なので、マスター適性値は64であり、デバイス2は、不揮発性RAM容量128、連続運転性指標:2(FAX機能あり)なので、マスター適性値は256である。つまり、後からネットワークに参加するデバイス2の方が、よりマスター適性値が高い。
この場合、まず、デバイス1の電源がONになると、デバイス1は、ブロードキャストにてマスター適性値を送信する。これに対し、ネットワーク側から返事がないため、デバイス1は、マスターデバイスとして機能する。
その後、もう1台のデバイス2の電源がONになると、デバイス2は、ブロードキャストにてマスター適性値を送信する。これを受けて、デバイス1は、マスター適性値を比較する。ここで、デバイス1のマスター適性値は64であり、デバイス2のマスター適性値は256なので、デバイス1は相手のマスター適性値が高いと判断する。
その結果、デバイス1からデバイス2へ「私がマスターです。マスター適性値はあなたの方が高いです。マスターになってください」との通知がなされ、さらにマスターデータ(アドレス帳データ)のコピーがなされ、デバイス2はマスターデバイス(=優先度1のデバイス)となる。
その後、デバイス2からデバイス1へ「私がマスターになりました。あなたは2ndになってください。」との返事が返され、デバイス1は2ndになり、デバイス1からデバイス2へ「2ndになりました。」との通知がなされ、デバイス2は、管理情報に2ndを追加する。
このように、優先度の高いデバイスが後からネットワークに参加すると、優先度に従ってマスターデバイスの交代が発生する。
[ネットワークシステムの挙動についての具体例3]
次に、具体例3について説明する。
図27は、2台のデバイス1,2がネットワーク上で既に稼働し、そこへ新たなデバイス3が接続された場合のタイミングチャートである。
なお、この具体例3では、デバイス1は、不揮発性RAM容量32、連続運転性指標:1(FAX機能無し)なので、マスター適性値は32であり、デバイス2は、不揮発性RAM容量128、連続運転性指標:2(FAX機能あり)なので、マスター適性値は256であり、デバイス3は、不揮発性RAM容量64、連続運転性指標:2(FAX機能あり)なので、マスター適性値は128である。
デバイス3の電源がONになると、デバイス3は、ブロードキャストにてマスター適性値を送信する。これを受けて、デバイス2は、マスター適性値を比較、デバイス1,2,3のマスター適性値は、それぞれ32,256,128なので、デバイス2は自分のマスター適性値が一番高いと判断し、同時にデバイス3の優先度が2、デバイス1の優先度が3となることも判断する。
その結果、デバイス2からデバイス3へ「2ndになってください。」との通知がなされ、デバイス2からデバイス1へ「3rdになってください。」との通知がなされる。また、デバイス2からデバイス3へは、マスターデータ(アドレス帳データ)のコピーがなされる。
デバイス1,3はそれぞれ優先度3,2のデバイスとなり、デバイス3からデバイス2へは「2ndになりました。」との返事が返され、デバイス1からデバイス2へは「3rdになりました。」との返事が返され、これを受けてデバイス1は、管理情報を更新する。
このように、一般デバイス間でも、優先度の高いデバイスが後からネットワークに参加すると、優先度に従って一般デバイスの順位の交代が発生する。
[ネットワークシステムの挙動についての具体例4]
次に、具体例4について説明する。
図28も、2台のデバイス1,2がネットワーク上で既に稼働し、そこへ新たなデバイス3が接続された場合のタイミングチャートである。
なお、この具体例4では、デバイス1は、不揮発性RAM容量32、連続運転性指標:1(FAX機能無し)なので、マスター適性値は32であり、デバイス2は、不揮発性RAM容量64、連続運転性指標:2(FAX機能あり)なので、マスター適性値は128であり、デバイス3は、不揮発性RAM容量128、連続運転性指標:2(FAX機能あり)なので、マスター適性値は256である。
デバイス3の電源がONになると、デバイス3は、ブロードキャストにてマスター適性値を送信する。これを受けて、デバイス2は、マスター適性値を比較、デバイス1,2,3のマスター適性値は、それぞれ32,128,256なので、デバイス2はデバイス3のマスター適性値が一番高いと判断する。
その結果、デバイス2からデバイス3へ「マスターになってください。」との通知がなされ、デバイス2からデバイス3へは、マスターデータ(アドレス帳データ)と管理情報のコピーがなされる。
その後、デバイス3からデバイス2へ「私がマスターになりました。あなたは2ndになってください。」との通知がなされ、デバイス3からデバイス1へ「あなたは3rdになってください。」との通知がなされる。これを受けて、デバイス2は2ndになり、デバイス2からデバイス3へ「2ndになりました。」との返事が返される。また、デバイス1は3rdになり、デバイス1からデバイス3へ「3rdになりました。」との返事が返される。その結果、デバイス3は、管理情報を更新する。
このように、複数のデバイスが存在する状況下で、最も優先度の高いデバイスが新たにネットワークに参加した場合、マスターデバイスの交代が発生し、さらに、マスターデバイスの交代後に、一般デバイス間でも、優先度に従って一般デバイスの順位の見直しが行われる。
[ネットワークシステムの挙動についての具体例5]
次に、具体例5について説明する。
図29は、3台のデバイス1,2,3がネットワーク上で稼働している状況下で、マスターデバイス2が突然電源を落とされた場合のタイミングチャートである。
なお、この具体例5では、デバイス1は、不揮発性RAM容量64、連続運転性指標:1(FAX機能無し)なので、マスター適性値は128であり、デバイス2は、不揮発性RAM容量128、連続運転性指標:2(FAX機能あり)なので、マスター適性値は256であり、デバイス3は、不揮発性RAM容量32、連続運転性指標:2(FAX機能あり)なので、マスター適性値は64である。
全てのデバイス1,2,3が稼働している場合、優先度が最も高い一般デバイス1は、デバイス2を通信対象にして定期的にポーリングすることで、デバイス1からデバイス2へ「正常に動作していますか?」との問い合わせを行い、デバイス2からデバイス1へ「問題ありません。」との返事が返されたことをもって、マスターデバイスの存在を監視している。
ここで、マスターデバイス2の電源が突然OFFにされた場合、デバイス1からデバイス2への問い合わせに対し、デバイス2からデバイス1への返事が返らなくなるので、タイムアウトを検知した時点で、デバイス1はマスターとして機能し、ブロードキャストにて全デバイスに対し、「マスターになりました。適性値を送って下さい。」との要求を送信する。
この要求を受けたデバイス3は、デバイス1にマスター適性値を通知し、通知されたマスター適性値に基づいて、デバイス1は管理情報を作成する。そして、作成した管理情報中の順位に従って、デバイス1は、デバイス3に対して「2ndになってください。」との通知を行い、これを受けて、デバイス3は2ndになり、デバイス3からデバイス1へ「2ndになりました。」との返事が返される。
このようにマスターデバイスが突然不在となった場合には、優先順位が1つ下となるデバイスがマスターの不在を検知し、新たにマスターとして機能する状態に移行するので、マスターが不在となっている期間をごく僅かな期間とすることができる。
[ネットワークシステムの挙動についての具体例6]
次に、具体例6について説明する。
図30は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、優先度2,3のデバイス2,3が突然電源を落とされた場合のタイミングチャートである。
なお、この具体例6では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
全てのデバイス1,2,3,4が稼働している場合、優先度が最も高い一般デバイス1は、全ての一般デバイス2,3,4を通信対象にして定期的にポーリングすることで、デバイス1からデバイス2,3,4へ順次「正常に動作していますか?」との問い合わせを行い、デバイス2,3,4からデバイス1へはそれぞれ「問題ありません。」との返事が返されたことをもって、一般デバイスの存在を監視している。
ここで、2台のデバイス2,3の電源が突然OFFにされた場合、デバイス1からデバイス2,3への問い合わせに対し、デバイス2,3からデバイス1への返事が返らなくなるので、タイムアウトを検知した時点で、デバイス1はデバイス2,3が不在となったことを認識し、管理情報を更新する。そして、作成した管理情報中の順位に従って、デバイス1は、デバイス4に対して「2ndになってください。」との通知を行い、これを受けて、デバイス4は2ndになり、デバイス4からデバイス1へ「2ndになりました。」との返事が返される。
このように複数の一般デバイスが突然不在となった場合には、管理情報が更新されて優先度の見直しが図られる。
[ネットワークシステムの挙動についての具体例7]
次に、具体例7について説明する。
図31は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、デバイス3においてアドレス帳データの変更が行われた場合のタイミングチャートである。
なお、この具体例7では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
デバイス3においてアドレス帳データの変更が行われると、デバイス3からマスターデバイス1へデータ更新要求が送信される。これを受けて、マスターデバイス1では、アドレス帳データの更新が行われるが、マスターは容量の許す限り、自機にバックアップを持つようになっており、図示した例では、最大3つのバックアップデータファイルを自機内に保存することができる。そこで、マスターデバイス1は、最も古いバックアップ3を削除し、元のバックアップ2を新バックアップ3、元のバックアップ1を新バックアップ1、元のマスターデータを新バックアップ1とし、更新後のマスターデータを新マスターとする。
こうしてマスターデータの更新を終えたら、マスターデバイス1は全デバイス2,3,4に対し「データ更新がありました。新マスターをコピーして下さい。」との通知を送信し、全デバイス2,3,4に対し、新マスターの提供を行う。
また、デバイス1は、最下位のデバイスから順に1台ずつ指令を送信し、「優先度が自身より1つ高いデバイスが持っているバックアップを、自機にコピーすること」を指令する。この指令を順に受けるデバイス2,3,4は、まず最下位のデバイス4が1つ上のデバイス3から元のバックアップ3を受け取り、それを新バックアップ4として自機内で元のバックアップ4に上書きに保存し、バックアップ完了をデバイス1に通知する。次に、デバイス3が1つ上のデバイス2から元のバックアップ2を受け取り、それを新バックアップ3として自機内で元のバックアップ3に上書き保存し、バックアップ完了をデバイス1に通知する。次に、デバイス2が1つ上のデバイス1から元のバックアップ1(=新バックアップ2)を受け取り、それを新バックアップ2として自機内で元のバックアップ2に上書き保存し、バックアップ完了をデバイス1に通知する。
以上の処理により、アドレス帳データの更新処理とバックアップデータの保存処理が完了することになる。
[ネットワークシステムの挙動についての具体例8]
次に、具体例8について説明する。
図32は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、デバイス2からデバイス1へシャットダウン要求が行われた場合のタイミングチャートである。
なお、この具体例8では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
デバイス2においてシャットダウン要求があると、デバイス2からデバイス1へ「シャットダウンします。」との通知が送信される。これを受けたマスターデバイス1では、「2ndがいなくなるから4thに3rdのバックアップをコピーしなければ。」と認識し、デバイス1は、最下位のデバイスからシャットダウン要求のあったデバイスより1つ順位の低いデバイスまで、この順序で1台ずつ指令を送信し、「優先度が自身より1つ高いデバイスが持っているバックアップを、自機にコピーすること」を指令する。この指令を順に受けるデバイス3,4は、まず最下位のデバイス4が1つ上のデバイス3から元のバックアップ3を受け取り、それを新バックアップ4として自機内で元のバックアップ4に上書きに保存し、バックアップ完了をデバイス1に通知する。次に、デバイス3が1つ上のデバイス2から元のバックアップ2を受け取り、それを新バックアップ3として自機内で元のバックアップ3に上書き保存し、バックアップ完了をデバイス1に通知する。
以上の処理により、デバイス4より優先度の高いデバイス3が持っていたバックアップ3はデバイス4へと引き渡され、デバイス3より優先度の高いデバイス2が持っていたバックアップ2はデバイス3へと引き渡される。したがって、より最新のバックアップをシャットダウンするデバイスから稼働中のデバイスへ引き継ぐことができる。
[ネットワークシステムの挙動についての具体例9]
次に、具体例9について説明する。
図33は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、マスターデータをバックアップ3相当の内容に戻す旨の操作がなされた場合のタイミングチャートである。
なお、この具体例8では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
PCでの操作により、PCからデバイス1に対し、マスターデータをバックアップ3相当の内容に戻す旨の指令が送信されると、マスターデバイス1は、自機内にバックアップ3が保存されていないため、バックアップ3を持っているデバイス3にデータ要求を通知する。この要求に応じて、デバイス3からマスターデバイス1へバックアップ3が送信される。
これを受けて、マスターデバイス1では、最も古いバックアップ2を削除し、元のバックアップ1を新バックアップ2、元のマスターデータを新バックアップ1とし、デバイス3から受け取ったバックアップ3を新マスターとする。
こうしてマスターデータの更新を終えたら、マスターデバイス1は全デバイス2,3,4に対し「データ更新がありました。新マスターをコピーして下さい。」との通知を送信し、全デバイス2,3,4に対し、新マスターの提供を行う。
また、デバイス1は、最下位のデバイスから順に1台ずつ指令を送信し、「優先度が自身より1つ高いデバイスが持っているバックアップを、自機にコピーすること」を指令する。この指令を順に受けるデバイス2,3,4は、まず最下位のデバイス4が1つ上のデバイス3から元のバックアップ3を受け取り、それを新バックアップ4として自機内で元のバックアップ4に上書きに保存し、バックアップ完了をデバイス1に通知する。次に、デバイス3が1つ上のデバイス2から元のバックアップ2を受け取り、それを新バックアップ3として自機内で元のバックアップ3に上書き保存し、バックアップ完了をデバイス1に通知する。次に、デバイス2が1つ上のデバイス1から元のバックアップ1(=新バックアップ2)を受け取り、それを新バックアップ2として自機内で元のバックアップ2に上書き保存し、バックアップ完了をデバイス1に通知する。
以上の処理により、アドレス帳データの更新処理とバックアップデータの保存処理が完了することになる。
[ネットワークシステムの挙動についての具体例10]
次に、具体例10について説明する。
図34は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、マスターデバイス1が稼働を停止した場合に、バックアップデータがどのようにやり取りされるかを示したタイミングチャートである。
なお、この具体例8では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
マスターデバイス1が稼働を停止すると、優先度が1つ下のデバイス2は、マスター不在を検知し、マスターに昇格する。このとき、デバイス2は、マスターデータとバックアップ2を自機内に持っているので、バックアップ2を新バックアップ1とする。そして、デバイス2は、自身より下位のデバイス3,4が持っているバックアップ3,4についても提供を求め、それに応じてデバイス3,4からバックアップ3,4が送信されてきたら、それぞれバックアップ3を新バックアップ2、バックアップ4を新バックアップ3として自機内に保存する。
その結果、自機内にマスターデータとバックアップ2しか持っていなかったデバイス2も、マスターに昇格するに当たって、3つの新バックアップ1,2,3を持つことができる。
[ネットワークシステムの挙動についての具体例11]
次に、具体例11について説明する。
図35は、4台のデバイス1,2,3,4がネットワーク上で稼働している状況下で、一般デバイス3が稼働を停止した場合に、バックアップデータがどのようにやり取りされるかを示したタイミングチャートである。
なお、この具体例8では、デバイス1,2,3,4のマスター適性値は、順に512,256,64,32である。
デバイス3が稼働を停止すると、マスターデバイス1は、デバイス3が不在であることを検知する。このとき、マスターデバイス1は、デバイス3が持っていたバックアップ3を自機内に持っており、このバックアップ3は、デバイス4が持っているバックアップ4よりも新しいバックアップなので、デバイス4に対し、デバイス1から渡すバックアップ3で、デバイス4が持っているバックアップ4を上書きするように指令する。
これを受けて、デバイス4は、デバイス1からバックアップ3を受け取り、自機内のバックアップ4を上書きし、上書きが完了したら、その旨をデバイス1に通知する。
このような処理を行うことにより、一般デバイスに分散して記憶させてあるバックアップを、より最新のバックアップが保存されるように管理することができる。
[本発明と上記実施形態との対応関係]
以上説明した本発明の実施形態において、画像処理装置3,3,5,5、デバイス1,2,3,4は、いずれも本発明でいうデバイスに相当する機器である。また、LAN7が、本発明でいうネットワークに相当する。
また、各画像処理装置3,3,5,5が備えるCPU301,501が中心になって上述した各処理を実行することにより、本発明を構成する各手段が機能することになる。
具体的には、上記S220の処理が、本発明でいうマスター交代通知手段によって実行される処理、上記S305〜S315の処理が、本発明でいう順位決定手段によって実行される処理、上記S330の処理が、本発明でいうマスター交代通知手段によって実行される処理に、それぞれ該当する。
また、上記S415の処理が、本発明でいう共用データ受信手段によって実行される処理、上記S505の処理が、本発明でいう共用データ送信手段によって実行される処理、上記S405〜S420の処理が、本発明でいう制御手段によって実行される処理、上記S810の処理が、本発明でいう順位再設定手段によって実行される処理に、それぞれ該当する。
また、上記監視対象デバイス不在通知受信処理(図11参照)を実行する契機となった受信イベントを検知する手段が本発明でいうデバイス増減検知手段に該当し、アドレス帳の更新に関する処理(図12参照)を実行する契機となった入力手段である操作キー305,505が本発明でいう更新入力手段に相当し、上記S1020の処理が本発明でいう更新情報提供手段によって実行される処理に該当する。
また、図13に示す受信イベント実行の契機となった更新データを受信した手段が、本発明でいう更新情報取得手段に該当し、上記S1210の処理が本発明でいう共用データ更新手段によって実行される処理に該当し、更新対象となるアドレス帳マスターデータを記憶する不揮発性RAM304,504が共用データ記憶手段に該当する。
また、上記S1515の処理が本発明でいうバックアップデータ取得指示送信手段によって実行される処理に該当し、図17に示すバックアップ命令受信時処理が、本発明でいうバックアップデータ取得指示受信手段によって実行される処理に該当し、上記S1610の処理において監視対象デバイスに対してバックアップデータ取得要求を送信する処理が、本発明でいうバックアップデータ要求手段によって実行される処理に該当する。
また、上記S1705の処理が本発明でいう第1,第2の更新時バックアップデータ提供手段によって実行される処理に該当し、上記S1615の処理が本発明でいうバックアップデータ更新手段によって実行される処理に該当し、上書き対象となるバックアップデータを記憶するバックアップ領域(不揮発性RAM304,504)がバックアップデータ記憶手段に該当する。
また、上記S2420の処理が本発明でいう情報報知手段によって実行される処理に該当し、ここで表示される情報を格納したバックアップデータリストを記憶する不揮発性RAM304,504が、本発明でいうバックアップデータ情報記憶手段に該当する。
また、上記S2425の処理が本発明でいう選択入力手段によって実行される処理に該当し、上記S2620の処理が本発明でいう復元時バックアップデータ取得手段によって実行される処理に該当する。
さらに、上記S2620の処理に応じて、管理下デバイスでは、マスターデバイスへバックアップデータを提供する処理が行われることになるが、その処理が、本発明でいう復元時バックアップデータ提供手段によって実行される処理に該当する。また、S2610の処理およびS2610の処理でバックアップデータが自機内にないと判断した場合に(S2610:NO)、バックアップデータの所在を調べる処理が、本発明でいうデバイス特定手段によって実行される処理に該当する。加えて、上記S2640の処理が本発明でいう共用データ復元手段によって実行される処理に該当する。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、マスターデバイスが一般デバイスに提供する共用データとして、アドレス帳データを例示したが、ネットワーク上の複数のデバイスで共通に使用するようなデータであれば、本発明を適用することができる。より具体的な例を挙げれば、複数のデバイスにおいて共通に設定したいデバイスの設定データ、複数のデバイスを同一の管理者が管理している場合における管理者名、管理者メールアドレス、管理者に通知すべきコンディション情報、システム内で共通の設定値を用いるのが一般的なメールサーバアドレスやネームサーバアドレスなどを、マスターデバイスから一般デバイスに提供することで、複数の一般デバイスそれぞれにおいて逐一面倒な入力操作等を行わなくてもよいようになる。
また、上記実施形態では、マスター適性値として、不揮発性メモリ容量と連続運転性指標とを乗算した値を用いていたが、これは、マスターデバイスに求められる性能に応じて任意に変更することができる。既に上記実施形態で示したものも含めて、より具体的な例を挙げれば、以下のパラメーターのいずれか一つ以上を使用して適性値を求めると好ましい。
(a)NV−RAM容量(単位:Kbyte):これは、不揮発性メモリ搭載量は高いほどバックアップに適しているからである。
(b)HDD容量(単位:Kbyte):これも容量が大きいほどバックアップに適しているからである。
(c)連続運転性指標(単位:Fax機能あり=1、Fax機能なし=2):これは、電源OFFの可能性が低いほどマスターとして適しているからである。
(d)CPU クロック数(単位:MHz):これは、処理速度が速いほどマスターとして適しているからである。
(e)RAM容量(単位:Mbyte):これは、各種演算の処理速度が速いほどマスターとして適しているからである。
(f)ネットワークI/Fの速度(単位:bps):これは、デバイス間で大量のデータをやり取りするに当たり、ネットワークI/Fの速度がボトルネックになる可能性もあるからである。
(g)製品出荷日(単位:年):これは、同機能・同価格帯の製品であれば、新しい製品の方が一般的に性能が良いからである。
これらのパラメータ(a)〜(g)は、重要視する項目によって重み付けを変えたり、適宜乗算や加算を組み合わせることにより、マスター適性値の算出に利用することができる。いくつか例を挙げれば、例えば、上記実施形態では、マスター適性値(p)=(a)×(c)とする例を示したが、ハードディスクにもバックアップを作成する場合は、適性値(p)=((a)+(b))×(c)としてもよい。また、RAM容量も加味するのであれば、適性値(p)=((a)+(e)÷2)×(c)としたり、適性値(p)=((a)+(e)−2000)×(c)としてもよい。
ネットワークシステムの全体構成、および、各機器の内部構成を示すブロック図である。 アドレス帳データを示す説明図である。 デバイスの電源がONにされたときの処理のフローチャートである。 マスター適性値パケット受信処理のフローチャートである。 管理情報を示す説明図である。 管理情報の作成処理のフローチャートである。 優先度変更パケット受信処理のフローチャートである。 マスターデータ取得要求受信処理のフローチャートである。 デバイスが周期的に繰り返す処理のフローチャートである。 動作確認パケット受信処理のフローチャートである。 監視対象デバイス不在通知受信処理のフローチャートである。 アドレス帳を更新する操作を行った際に実行される処理のフローチャートである。 アドレス帳更新データを受信する処理のフローチャートである。 アドレス帳更新処理のフローチャートである。 マスターデータ更新指示受信処理のフローチャートである。 管理下デバイスに対するバックアップ指示処理のフローチャートである。 バックアップ命令受信時処理のフローチャートである。 バックアップデータ取得要求受信処理のフローチャートである。 シャットダウン処理を開始する場合の処理を示すフローチャートである。 シャットダウン処理のフローチャートである。 シャットダウン処理要求受信処理のフローチャートである。 バックアップ復帰操作時に実行される処理のフローチャートである。 アドレス帳マスターデータ管理ウィンドウおよびアドレス帳データ選択ウィンドウを示す説明図である。 データ復帰要求時に実行される処理のフローチャートである。 ネットワークシステムの挙動についての具体例1を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例2を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例3を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例4を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例5を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例6を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例7を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例8を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例9を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例10を示すタイミングチャートである。 ネットワークシステムの挙動についての具体例11を示すタイミングチャートである。
符号の説明
1・・・PC、3,5・・・画像処理装置、101,301,501・・・CPU、102,302,502・・・ROM、103,303,503・・・RAM、304,504・・・不揮発性RAM、105・・・操作部、305,505・・・操作キー、106・・・表示部、306,506・・・表示パネル、107,307,507・・・ハードディスク装置、108,308,508・・・LAN I/F、311,511・・・印刷部、312,512・・・読み取り部、313・・・モデム。

Claims (15)

  1. 複数のデバイスがネットワークに接続され、前記デバイスには、システム内における順位が付与されて、前記順位が最上位となるデバイスがマスターデバイスとして機能するとともに、前記順位が最上位となるデバイス以外のデバイスが一般デバイスとして機能して、前記複数のデバイスで共用される共用データが、前記マスターデバイスから前記一般デバイスへ提供されるように構成されており、
    前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    前記共用データを記憶する共用データ記憶手段と、
    前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手段と、
    前記共用データ更新手段によって前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手段と、
    復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手段と、
    前記復元時バックアップデータ取得手段によって取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手段と
    を備えており、
    前記一般デバイスとなったときに機能する手段として、
    前記バックアップデータを記憶するバックアップデータ記憶手段と、
    自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得してバックアップデータ記憶手段に記憶させるバックアップデータ更新手段と、
    前記バックアップデータ更新手段によって前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手段と、
    前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手段と
    を備えていることを特徴とするネットワークシステム。
  2. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    前記一般デバイスとして機能するデバイスに対し、前記順位が最下位のデバイスから順に、自身より前記順位が高いデバイスの中で前記順位が最も下位のデバイスから、前記バックアップデータを取得するように指示を送信するバックアップデータ取得指示送信手段
    を備えており、
    前記一般デバイスとなったときに機能する手段として、
    前記バックアップデータ取得指示送信手段からの指示を受信するバックアップデータ取得指示受信手段と、
    前記バックアップデータ取得指示受信手段によって前記指示を受信したら、自身より前記順位が上位のデバイスの中で前記順位が最も下位のデバイスに、前記バックアップデータの提供を要求するバックアップデータ要求手段と
    を備えており、
    前記第1,第2の更新時バックアップデータ提供手段は、前記バックアップデータ要求手段による要求に応じて、前記バックアップデータを提供する手段である
    ことを特徴とする請求項1に記載のネットワークシステム。
  3. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    システム内における自身以外のデバイスの増減を検知するデバイス増減検知手段と、
    前記デバイス増減検知手段によって前記デバイスの増減を検知した際、前記複数のデバイスの特性を示す特性情報に基づいて、前記複数のデバイスの順位を決定しなおす順位再設定手段と
    を備えており、
    前記バックアップデータ取得指示送信手段は、前記順位再設定手段によって前記順位を決定しなおしたときに、前記順位が最下位のデバイスから順に、前記バックアップデータを取得するように指示を送信する手段である
    ことを特徴とする請求項2に記載のネットワークシステム。
  4. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    複数の前記バックアップデータの違いを利用者が識別できるようにするために各バックアップデータに対して付与される第1の情報と、前記バックアップデータを記憶しているデバイスを特定可能な第2の情報とを対応付けて記憶するバックアップデータ情報記憶手段と、
    前記バックアップデータ情報記憶手段に記憶された前記第1の情報を、利用者に対して報知する情報報知手段と、
    前記情報報知手段によって報知された1以上の前記第1の情報の中から1つを選択する入力を受け付ける選択入力手段と、
    前記選択入力手段によって受け付けられた入力に基づいて、選択された前記第1の情報に対応づけられた前記第2の情報が示すデバイスを特定するデバイス特定手段と、
    を備えており、
    前記復元時バックアップデータ取得手段は、復元指令が与えられた際に、前記デバイス特定手段によって特定されたデバイスに対して、前記バックアップデータの提供を要求し、その要求に応じて提供される前記バックアップデータを取得する手段である
    ことを特徴とする請求項1〜請求項3のいずれかに記載のネットワークシステム。
  5. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    前記複数のデバイスの特性を示す特性情報に基づいて、各デバイスの順位を決定する順位決定手段と、
    前記順位決定手段によって順位を決定したデバイスの中に、自身より順位の高いデバイスが存在する場合に、そのデバイスにマスターデバイスとして機能すべきことを通知するマスター交代通知手段と、
    前記マスター交代通知手段による通知を行ったデバイスに対し、前記共用データを送信する共用データ送信手段と
    を備えており、
    前記一般デバイスとなったときに機能する手段として、
    前記マスターデバイスとして機能するデバイスから、マスターデバイスとして機能すべきことが通知されたら、自身を前記マスターデバイスとして機能させる制御を行う制御手段と、
    前記マスターデバイスとして機能すべきことを通知したデバイスから送信されてくる前記共用データを受信する共用データ受信手段と
    を備えていることを特徴とする請求項1〜請求項4のいずれかに記載のネットワークシステム。
  6. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    自身以外のデバイスから、自身以外のデバイスにおいて更新された前記共用データの更新情報を取得する更新情報取得手段を備え、
    前記共用データ更新手段は、前記更新情報取得手段によって取得された前記更新情報に基づいて、前記共用データ記憶手段に記憶された前記共用データを更新する手段として構成されており、
    前記一般デバイスとなったときに機能する手段として、
    前記共用データを更新するための入力を受け付ける更新入力手段と、
    前記更新入力手段によって受け付けた入力に基づいて、前記共用データの更新情報を作成し、当該更新情報を前記マスターデバイスとして機能するデバイスに提供する更新情報提供手段と
    を備えていることを特徴とする請求項1〜請求項5のいずれかに記載のネットワークシステム。
  7. 前記更新入力手段は、前記共用データを更新するための入力として、利用者からの入力操作を受け付ける手段である
    ことを特徴とする請求項6に記載のネットワークシステム。
  8. 前記デバイスは、
    前記マスターデバイスとなったときに機能する手段として、
    前記共用データを更新するための入力を受け付ける更新入力手段を備えており、
    前記共用データ更新手段は、前記更新入力手段によって受け付けた入力に基づいて、前記共用データの更新情報を作成し、当該更新情報に基づいて、前記共用データ記憶手段に記憶された前記共用データを更新する手段として構成されている
    ことを特徴とする請求項1〜請求項7のいずれかに記載のネットワークシステム。
  9. 前記更新入力手段は、前記共用データを更新するための入力として、利用者からの入力操作を受け付ける手段である
    ことを特徴とする請求項8に記載のネットワークシステム。
  10. 前記特性情報は、前記デバイスの記憶容量を反映した情報とされている
    ことを特徴とする請求項3または請求項5に記載のネットワークシステム。
  11. 前記特性情報は、前記デバイスの処理性能を反映した情報とされている
    ことを特徴とする請求項3,請求項5,または請求項10のいずれかに記載のネットワークシステム。
  12. 前記特性情報は、前記デバイスの連続運転性を反映した情報とされている
    ことを特徴とする請求項3,請求項5,請求項10,または請求項11のいずれかに記載のネットワークシステム。
  13. 前記デバイスは、アドレスデータの示す送信先へデータを送信する機能を備えた通信機器であり、
    前記共用データは、前記アドレスデータを含んでなるアドレス帳データである
    ことを特徴とする請求項1〜請求項12のいずれかに記載のネットワークシステム。
  14. 請求項1に記載のネットワークシステムを構成するノードとして用いられるデバイスであって、
    前記マスターデバイスとなったときに機能する手段として、
    前記共用データを記憶する共用データ記憶手段と、
    前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手段と、
    前記共用データ更新手段によって前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手段と、
    復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手段と、
    前記復元時バックアップデータ取得手段によって取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手段と
    を備えており、
    前記一般デバイスとなったときに機能する手段として、
    前記バックアップデータを記憶するバックアップデータ記憶手段と、
    自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得して前記バックアップデータ記憶手段に記憶させるバックアップデータ更新手段と、
    前記バックアップデータ更新手段によって前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手段と、
    前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手段と
    を備えたことを特徴とするデバイス。
  15. 請求項1に記載のネットワークシステムを構成するノードとして用いられるデバイスを、前記マスターデバイスもしくは前記一般デバイスとして機能させるためのプログラムであって、
    前記デバイスが前記マスターデバイスとして機能するときには、
    前記共用データ記憶手段に記憶された前記共用データを更新する共用データ更新手順と、
    前記共用データ更新手順において前記共用データを更新する際、更新前の共用データを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第1の更新時バックアップデータ提供手順と、
    復元指令が与えられた際に、自身以外のデバイスから前記バックアップデータを取得する復元時バックアップデータ取得手順と、
    前記復元時バックアップデータ取得手順において取得した前記バックアップデータを、前記共用データとして前記共用データ記憶手段に記憶させることにより、更新前の前記共用データを復元する共用データ復元手順と
    を前記デバイスに実行させ、
    前記デバイスが前記一般デバイスとして機能するときには、
    自身以外のデバイスから前記バックアップデータが提供された際、そのバックアップデータを取得して前記バックアップデータ記憶手段に記憶させるバックアップデータ更新手順と、
    前記バックアップデータ更新手順において前記バックアップデータを更新する際、更新前のバックアップデータを、自身より前記順位が下位となるデバイスの中で前記順位が最も上位のデバイスに、バックアップデータとして提供する第2の更新時バックアップデータ提供手順と、
    前記マスターデバイスからの要求に応じて、前記バックアップデータを提供する復元時バックアップデータ提供手順と
    を前記デバイスに実行させることを特徴とするプログラム。
JP2005049458A 2005-02-24 2005-02-24 ネットワークシステム、デバイス、およびプログラム Expired - Fee Related JP4229073B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005049458A JP4229073B2 (ja) 2005-02-24 2005-02-24 ネットワークシステム、デバイス、およびプログラム
US11/359,406 US7640314B2 (en) 2005-02-24 2006-02-23 Network system, device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005049458A JP4229073B2 (ja) 2005-02-24 2005-02-24 ネットワークシステム、デバイス、およびプログラム

Publications (2)

Publication Number Publication Date
JP2006235990A JP2006235990A (ja) 2006-09-07
JP4229073B2 true JP4229073B2 (ja) 2009-02-25

Family

ID=36914118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005049458A Expired - Fee Related JP4229073B2 (ja) 2005-02-24 2005-02-24 ネットワークシステム、デバイス、およびプログラム

Country Status (2)

Country Link
US (1) US7640314B2 (ja)
JP (1) JP4229073B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4107312B2 (ja) * 2005-07-04 2008-06-25 ブラザー工業株式会社 通信システム、及び通信端末
US8509218B2 (en) * 2006-02-28 2013-08-13 Genband Us Llc Prioritization within a session over internet protocol (SOIP) network
US8259706B2 (en) * 2006-02-28 2012-09-04 Genband Us Llc Multistage prioritization of packets within a session over internet protocol (SOIP) network
JP4449931B2 (ja) * 2006-03-30 2010-04-14 ブラザー工業株式会社 管理装置、および管理システム
DE112007002219B8 (de) * 2006-09-21 2016-04-28 Autonetworks Technologies, Ltd. Elektrisches Steuersystem
JP4305520B2 (ja) * 2007-02-09 2009-07-29 コニカミノルタビジネステクノロジーズ株式会社 データ管理装置、データ管理方法およびデータ管理プログラム
US20080320110A1 (en) * 2007-06-25 2008-12-25 Sharp Laboratories Of America, Inc. Firmware rollback and configuration restoration for electronic devices
JP4942686B2 (ja) 2008-03-18 2012-05-30 株式会社リコー ネットワーク同期システム及び情報処理装置
JP2009278243A (ja) * 2008-05-13 2009-11-26 Canon Inc 画像形成システム、画像形成装置、制御方法、及びプログラム
JP2010282610A (ja) * 2009-05-07 2010-12-16 Canon Inc ネットワークシステム及びその管理方法
KR100928243B1 (ko) * 2009-07-28 2009-11-24 엑스투커머스 주식회사 리눅스를 기반으로 하는 트리구조의 네트워크 하드 디스크 복사 시스템
US8799437B1 (en) * 2010-01-15 2014-08-05 Juniper Networks, Inc. Dynamic optimization of device management command for bulk retrieval of configuration data
US8549119B1 (en) 2010-04-06 2013-10-01 Juniper Networks, Inc. Error handling for device management configuration and operational data retrieval commands
JP5812512B2 (ja) * 2011-05-10 2015-11-17 日本電気株式会社 データベースシステム、マスタースレーブ管理方法およびマスタースレーブ管理プログラム
US9516615B2 (en) 2011-11-18 2016-12-06 Apple Inc. Selection of synchronization stations in a peer-to-peer network environment
US20130132500A1 (en) * 2011-11-18 2013-05-23 Apple Inc. Selection of a master in a peer-to-peer network environment
US10271293B2 (en) 2011-11-18 2019-04-23 Apple Inc. Group formation within a synchronized hierarchy of peer-to-peer devices
US9413615B1 (en) 2012-03-02 2016-08-09 Juniper Networks, Inc. Trap filtering within a device management protocol
US10382252B2 (en) 2012-06-26 2019-08-13 Juniper Networks, Inc. Filtering within device management protocol queries
GB2499281B (en) * 2012-09-28 2014-06-25 Imagination Tech Ltd Method, system and device for selecting a device to satisfy a user request
US9893971B1 (en) 2012-12-31 2018-02-13 Juniper Networks, Inc. Variable timeouts for network device management queries
US9372500B2 (en) * 2014-02-27 2016-06-21 Applied Micro Circuits Corporation Generating a timeout signal based on a clock counter associated with a data request
CN105786405B (zh) * 2016-02-25 2018-11-13 华为技术有限公司 一种在线升级方法、装置及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249839A (ja) 1998-02-26 1999-09-17 Fuji Xerox Co Ltd 印刷装置
US7054910B1 (en) * 2001-12-20 2006-05-30 Emc Corporation Data replication facility for distributed computing environments
JP3775360B2 (ja) 2002-07-25 2006-05-17 ブラザー工業株式会社 設定システム、電子機器、及びプログラム
US7392299B2 (en) 2002-07-25 2008-06-24 Brother Kogyo Kabushiki Kaisha Configuration setting system for network system
JP3743419B2 (ja) 2002-11-18 2006-02-08 ブラザー工業株式会社 設定システム、電子機器、及びプログラム
JP2005145056A (ja) * 2003-10-20 2005-06-09 Ricoh Co Ltd 画像形成装置ネットワークシステム、画像形成装置、画像形成装置選択方法および画像形成装置選択プログラム

Also Published As

Publication number Publication date
US20060190553A1 (en) 2006-08-24
JP2006235990A (ja) 2006-09-07
US7640314B2 (en) 2009-12-29

Similar Documents

Publication Publication Date Title
JP4229073B2 (ja) ネットワークシステム、デバイス、およびプログラム
JP4239987B2 (ja) ネットワークシステム、デバイス、およびプログラム
US20210255814A1 (en) Image processing apparatus, control method for image processing apparatus, and storage medium
JP4978661B2 (ja) 画像処理装置
US7701597B2 (en) Image processing apparatus and image forming system
JP6019755B2 (ja) 画像形成装置、印刷システム
US20120086978A1 (en) Cloud computing system, information processing method, and storage medium
JPH04505819A (ja) 論理的事象の通知方法及び装置
JP2007299308A (ja) ジョブ処理システム、ジョブ処理方法、プログラムおよび記録媒体
JP4843372B2 (ja) 画像処理装置
US11778110B2 (en) Image processing apparatus displaying a home screen in a fixed button mode in a state where acquisition of a recommended button information is unavailable
JP2010062840A (ja) 画像処理装置、メンテナンスシステム、およびジョブ制御方法
US9026576B2 (en) Image processing device, job processing method, and program
JP2011116002A (ja) 印刷システム、印刷装置、プログラム、および記憶媒体
JP4455523B2 (ja) 情報処理システム、情報処理方法、プログラム及び記憶媒体
JP2009069950A (ja) 画像処理装置、ジョブ処理方法及びプログラム
JP2008227671A (ja) 遠隔管理システムおよび管理情報取得制御方法
JP2007122015A (ja) 情報処理装置及び画像形成装置
JP2005303985A (ja) 画像処理装置、及び複数の画像処理装置を備えた画像処理システム
JP2002209035A (ja) 画像処理装置、情報処理システム、及びデータ処理方法
JP7293317B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP5937030B2 (ja) 画像形成システム
JP2013258511A (ja) 画像形成装置、バックアップレストア方法及びプログラム
JP2011054034A (ja) 電子機器システム
JP6834549B2 (ja) ジョブ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081124

R150 Certificate of patent or registration of utility model

Ref document number: 4229073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees