(58)【調査した分野】(Int.Cl.,DB名)
前記第2の制御手段は、前記指示の受信に応じて、前記保持手段に保持されている前記設定情報及び前記構成情報を削除した後に、前記上書き後のバックアップ情報を前記保持手段に保持させる制御を行うことを特徴とする請求項1に記載の情報処理装置。
前記送信手段は、前記保持手段が保持する前記設定情報について前記送信要求に含まれる時刻情報が示す時刻以降に更新された前記設定情報の更新内容を、前記送信要求を行った画像形成装置に送信することを特徴とする請求項3に記載の情報処理装置。
前記構成情報は、前記画像形成装置のファームウェアのバージョン情報、前記画像形成装置についてのFAXユニットの有無の情報、及び、前記画像形成装置についてのフィニッシャーの有無の情報のうち少なくともいずれかを含むことを特徴とする請求項8に記載の情報処理装置。
前記第2の制御手段は、前記指示の受信に応じて、前記指示を受信した時点で前記保持手段が保持している構成情報のうち、前記バックアップ情報に構成情報が含まれているクライアントの構成情報を前記データベースとは別に前記保持手段に保持させる制御を行うことを特徴とする請求項8に記載の情報処理装置。
【発明を実施するための形態】
【0011】
本発明の実施の形態を、添付の図面に基づいて詳細に説明する。本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0012】
(実施形態1)
本実施形態における情報共有システム(情報処理システム)は、サーバとクライアントとの間で設定情報及び構成情報を共有する。設定情報は、クライアントが動作するために用いる情報である。また構成情報は、前記クライアントの機能を示す情報である。本実施形態にかかる情報共有システムは、所定のタイミング毎に、サーバが保持する情報とクライアントが保持する情報とを互いに共有させる。このようにして、時間の経過とともにサーバ及びクライアントのうち一方が保持する情報が変化しても、変化後の情報が他方に共有されるようにする。以下では、サーバとクライアントとの間の情報共有のための処理を同期処理と呼ぶ。
【0013】
また本実施形態における情報共有システムは、サーバに接続された複数のクライアントの間で設定情報を共有する。サーバは第1のクライアントと共有した設定情報の内容を、第2のクライアントとも共有する。このようにして、第1のクライアントと第2のクライアントとが共通の設定情報を共有する。
【0014】
本実施形態において、サーバは例えばPC(Personal Computer)であり、クライアントは例えば複合機等の画像形成装置とすることができる。本実施形態における情報共有システムは、サーバが管理する情報をバックアップし、バックアップした情報をサーバにリストアする場合に、所定の種類の情報については、バックアップした時点よりも後に更新された内容の情報をサーバにリストアする。所定の種類の情報とは、例えばクライアントの構成情報である。以下、クライアントが複合機である例について説明する。この複合機は印刷機能を有する画像形成装置である。
【0015】
構成情報は、各複合機が実行可能な機能や設定可能な設定情報を示す情報である。構成情報の例として、ファームウェアのバージョン情報や、FAXユニットの有無の情報、フィニッシャーの有無の情報等が含まれる。本実施形態にかかるサーバは、各複合機の構成情報に基づいて、各複合機と共有する設定情報の種類を決定する。例えば、FAXユニットを有する複合機とはFAX通信のために用いられるアドレス帳情報を設定情報として共有するが、FAXユニットを有しない複合機とはFAX通信のために用いられるアドレス帳情報を共有しないように制御する。ここで設定情報とは複合機が動作するために用いるパラメータである。
【0016】
リストア処理において、バックアップ時の情報でサーバが保持する情報を全て書き換えてしまうと、各複合機の構成情報もバックアップ時の情報に書き換えられてしまう。しかしながら、バックアップ時からリストア時までの間に複合機の構成が変わり、構成情報が更新されていた場合には、以下のような不整合が生じる。
【0017】
すなわち、サーバが保持する複合機の構成情報と、実際の複合機の構成との間に不整合が生じる。例えば、バックアップ時には複合機AがFAXユニットを有していなかったが、バックアップ後に複合機AにFAXユニットが取りつけられた例について説明する。この場合、バックアップ情報として、複合機Aの構成情報としてFAXユニットを有しないことを示す情報が記録される。そして複合機AにFAXユニットが取り付けられた後、バックアップ情報をサーバにリストアする処理を行う。すると、サーバでは複合機AはFAXユニットを有しないという情報を保持する一方、実際の複合機AはFAXユニットを有する状態となる。このように、サーバが保持する複合機の構成情報と、実際の複合機の構成との間に不整合が生じる。
【0018】
このような不整合が生じると、サーバと複合機との間で共有されるべき設定情報が共有されなくなってしまう。例えば、複合機AはFAXユニットを有しているため、サーバは複合機Aに対してFAX通信のために用いるアドレス帳情報を設定情報として通知することが望ましい。しかしながら、サーバには複合機AはFAXユニットを有していないという情報が保持されているため、サーバは複合機Aに対してFAX通信のためのアドレス帳情報の通知を行わない。このように、サーバと複合機との間で共有されるべき設定情報が、リストア処理後に共有されなくなってしまう。
【0019】
そこで本実施形態にかかる情報共有システムは、サーバが管理する情報をバックアップし、バックアップした情報をサーバにリストアする場合に、構成情報については、バックアップした時点よりも後に更新された内容の情報をサーバにリストアする。このようにすれば、リストア処理を行っても現在の複合機の構成と合致した構成情報がサーバに保持されるので、リストア処理後もサーバと複合機との間で適切な情報共有を行うことができる。
【0020】
本実施形態におけるシステムの構成例を
図1に示す。
図1の例では、サーバ110に複合機120及び複合機121がネットワーク100を介して接続されている。ネットワーク100に接続される複合機の台数は1台であってもよい。あるいは、ネットワーク100に接続される複合機の台数は3台以上であってもよい。
【0021】
本実施形態における複合機120、及び、複合機121は文字、図形、または、写真などの情報の読み取りを行うスキャン機能や、入力された情報をプリントアウトするプリント機能を有する。複合機120及び複合機121が有する機能はこれらに限られない。たとえばFAX機能等をさらに有することとしてもよい。
【0022】
本実施形態におけるサーバ110は、複合機120及び複合機121の設定情報を管理する。本実施形態における設定情報は、複合機120及び複合機121のそれぞれが動作するために用いる情報であり、複合機のシリアルナンバー、IPアドレス、又は、アドレス帳情報などが含まれる。
【0023】
また本実施形態におけるサーバ110は、複合機120及び複合機121の構成情報を管理する。構成情報は、各複合機が実行可能な機能や設定可能な設定情報を示す情報である。構成情報の例として、ファームウェアのバージョン情報や、FAXユニットの有無の情報、フィニッシャーの有無の情報等が含まれる。
【0024】
本実施形態にかかるサーバ110の構成について
図2(a)を用いて説明する。
【0025】
サーバ110は、コントローラユニット200、操作部201、表示部202、計時部212を含む。コントローラユニット200はサーバ110の動作を制御する。コントローラユニット200の構成については詳細を後述する。
【0026】
操作部201はサーバ110に対する操作指示を入力する。操作部201は例えば、キーボードやマウス、あるいは、タッチパネル等により構成される。情報共有システムの管理者は、操作部201を操作してサーバ110が保持する情報のメンテナンスや変更等を行うことができる。また、管理者は操作部201を操作して、サーバ110が保持する情報をバックアップさせたり、バックアップした情報をサーバ110にリストアしたりする指示をサーバ110に入力することができる。サーバ110が保持する情報には、上述の設定情報及び構成情報が含まれるものとする。
【0027】
表示部202は、例えばディスプレイ等であり、管理者がサーバ110に対する操作を行う際に用いるGUI(Graphical User Interface)やエラーメッセージ等の表示を行う。
【0028】
計時部212は、計時を行う。計時部212として例えばRTC(Real Time Clock)を用いることができる。
【0029】
つぎにコントローラユニット200の構成について説明する。CPU(Central Processing Unit)205は、ROM(Read Only Memory)208に格納されているブートプログラムを実行することにより、OS(Operating System)の機能を実現する。またCPU205は、HDD(Hard Disk Drive)207に格納されているアプリケーションプログラムをOS上で実現する。
【0030】
本実施形態において、CPU205は、HDD207が保持する設定情報及び構成情報を記憶部にバックアップする制御を行う。バックアップ先の記憶部は、サーバ110の内部に設けられてもよい。またはバックアップ先の記憶部は、サーバ110の外部に設置されサーバ110に接続された記憶装置としてもよい。
【0031】
また本実施形態においてCPU205は、バックアップしたバックアップ情報を用いてHDD207に対するリストアを実行する制御を行う。
【0032】
RAM(Random Access Memory)206は、CPU205が実行するプログラムを展開するために用いられるメモリである。HDD207は、上述のアプリケーションプログラムを格納する。また、HDD207は、複合機120及び複合機121の設定情報及び構成情報を保持する。設定情報及び構成情報の管理に関する詳細については後述する。ROM208は、上述のブートプログラムを格納する。
【0033】
操作部I/F203は、操作部201とのインタフェースであり、操作部201から入力された情報をCPU205に通知する。表示部I/F203は、表示部202に表示すべき画像情報を表示部202に対して出力する。
【0034】
また通信制御部209は、ネットワーク100を介して複合機120及び複合機121と情報の送受信を行う。通信制御部209によって送受信される情報には、複合機120及び複合機121の設定情報及び構成情報が含まれる。通信制御部209が受信した設定情報及び構成情報は、HDD207に保持される。また通信制御部209は、HDD207に保持された設定情報を複合機120及び複合機121に送信する。システムバス210は、上述のコントローラユニット200に含まれる各構成を接続する。
【0035】
次に複合機120の構成について
図2(b)を用いて説明する。複合機121の構成は、以下に説明する複合機120の構成と同様である。
【0036】
複合機120は、操作部221、コントローラユニット220、スキャナ231、及び、プリンタ232を含む。
【0037】
操作部221は、複合機120に対する操作指示を入力する。操作部221は例えば、ボタンやタッチパネル等により構成される。本実施形態では、操作部221は画像表示機能を有するタッチパネルである場合について説明する。操作部221とは別に表示部を備えることとしてもよい。複合機120に対する操作指示には、プリント指示やスキャン指示等が含まれる。また複合機120に対する操作指示には、複合機120が用いる設定情報の変更指示等が含まれる。プリント指示やスキャン指示は、ネットワーク100を介して外部装置から複合機120に入力されることとしてもよい。
【0038】
スキャナ231は、文字、図形、または、写真などの情報の読み取りを行うスキャン機能を実現する。プリンタ232は、スキャナ231によって入力され、又は、外部装置からネットワーク100を介して入力された情報をプリントアウトするプリント機能を実現する。さらに複合機120は、画像を電話回線により外部へ送信するFAX送信を行うFAXユニット等を接続することができる。
【0039】
コントローラユニット220は、複合機120の動作を制御する。CPU224は、ROM208に格納されているブートプログラムを実行することにより、OSの機能を実現する。またCPU224は、HDD227に格納されているアプリケーションプログラムをOS上で実現する。
【0040】
RAM225は、CPU224が実行するプログラムを展開するために用いられるメモリである。HDD227は、上述のアプリケーションプログラムを格納する。また、HDD227は、複合機120の設定情報及び構成情報を保持する。設定情報及び構成情報の管理に関する詳細については後述する。ROM228は、上述のブートプログラムを格納する。
【0041】
操作部I/F223は、操作部221とのインタフェースであり、操作部221に表示すべき画像情報を操作部221に対して出力する。また、操作部I/F223は、操作部221から入力された操作指示をCPU224に通知する。デバイスI/F222には、スキャナ231およびプリンタ232が接続される。また本実施形態においてデバイスI/F222は、FAXユニット等を着脱することができる。
【0042】
通信制御部229は、ネットワーク100に接続され、ネットワーク100を介してサーバ110と通信を行う。通信制御部229によって通信される情報には、複合機120の設定情報及び構成情報が含まれる。
【0043】
画像処理部226は、スキャナ231からの入力画像処理やプリンタ232への出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、及び、階調変換などの画像処理を行う。システムバス230は、上述のコントローラユニット220に含まれる各構成を接続する。
【0044】
以上のような構成により、複合機120が保持する設定情報及び構成情報の少なくともいずれかが更新されると、更新内容がサーバ110に通知される。サーバ110は通知された更新内容でサーバ110のHDD207が保持する設定情報または構成情報を更新する。さらにサーバ110は更新後の設定情報又は構成情報を複合機121に通知する。このようにして、複合機120、複合機121、及びサーバ110が保持する設定情報及び構成情報の内容が同期される。
【0045】
次に、サーバ110のソフトウェア構成について
図3(a)を用いて説明する。サーバアプリケーション310は、サーバ110のROM208、HDD207などに保存され、CPU205により実行されるアプリケーションである。
【0046】
処理部311は、後述のデータベース314が保持する情報の追加、削除、更新等の処理を実行する。データベース314が保持する情報の詳細については表1から表5を用いて後述する。
【0047】
第1管理部312は、データベース314が保持する設定情報の追加、削除、更新等の実行指示を処理部311に対して行う。
【0048】
第2管理部316は、複合機120からの設定情報や構成情報についての更新通知や、データベース314に保持された情報の取得要求等に対する複合機120への応答情報を作成する。
【0049】
第3管理部317は、データベース314に対する情報のバックアップ及びリストアの実行を制御する。
【0050】
通信処理部315は、
図3(b)を用いて後述するクライアントアプリケーション320との通信処理を行う。通信処理部315は、クライアントアプリケーション320からクライアントアプリケーション320が管理する情報を更新したことを示す更新通知を受信する。また通信処理部315はサーバアプリケーション310が管理する情報の更新内容を、クライアントアプリケーションからの問い合わせに応じてクライアントアプリケーションに応答する。クライアントアプリケーション320が管理する情報には複合機120の設定情報及び構成情報が含まれる。
【0051】
制御部313は、第1管理部312、第2管理部316、第3管理部317、及び、通信処理部315を制御して、
図4(b)及び
図5(b)に示すフローチャートに示す処理を実行する。
図4(b)及び
図5(b)に示すフローチャートに示す処理の詳細は後述する。
【0052】
データベース314は、表1から表5に示す各情報を保持する。表1は、複合機のシリアルナンバーと、デバイスコードと、バージョン情報との対応を示す表である。
【0053】
【表1】
シリアルナンバーは、ネットワーク100を介してサーバ110に接続する1又は複数複合機を一意に識別するための識別情報である。例えば、シリアルナンバー1234567の複合機は、複合機120に対応する。また例えば、シリアルナンバー3124567の複合機は複合機121に対応する。
【0054】
デバイスコードは、例えば製品の種類ごとに割り振られるコードである。表4の例では、シリアルナンバー1234567の複合機は、DeviceAという種類の製品であることを示している。また表4の例では、シリアルナンバー3124567の複合機はDeviceBという種類の製品であることを示している。バージョン情報は、それぞれシリアルナンバーが対応付けられた各複合機のファームウェアバージョンを示している。
【0055】
表2は、複合機のシリアルナンバーと、設定項目と、設定情報と、初期値と、更新時刻との対応を示す表である。
【0056】
【表2】
設定項目は、設定情報の種別を識別するための識別情報である。また、設定情報は各設定項目についての現在の設定内容(設定値など)を表す情報である。初期値は各設定項目について予め設定されている設定内容である。さらに更新時刻は、サーバが管理する各設定値がサーバにおいて更新された時刻を表す。
【0057】
例えば、表2の上から4行目の行は、シリアルナンバーが1234567である複合機の設定項目settings.device.network.ipaddress(IPアドレスについての設定)についての現在の値を示す。現在の値は192.168.111.222である。また、当該複合機のIPアドレスの初期値は255.255.255.255であることを示している。さらに当該複合機のIPアドレスは、2015年の1月1日の12時00分に更新されたことを示している。
【0058】
表3は、シリアルナンバーと、情報名称と、構成情報との対応を表す。
【0059】
【表3】
情報名称は、シリアルナンバーによって特定される複合機の各構成の名称である。情報名称としては、例えば、ファームバーション、デバイスコード、デバイスID、接続オプション機器等がある。
【0060】
構成情報は、情報名称が示す各情報の内容を表す。表3の上から1行目に示した例では、シリアルナンバーが1234567の複合機のファームバーションがVer00.01であることを示している。また例えば、表3の上から4行目に示した例では、当該複合機の接続オプション機器として、フィニッシャーが複合機に接続されていることを示している(settings.option.finisher)。また例えば、シリアルナンバー3124567に対応する機器にはFAXユニットが接続されているが、シリアルナンバー1234567に対応する機器にはFAXユニットが接続されていないことを示す。
【0061】
サーバ110は、構成情報に基づいて、複合機120が実行可能な機能や複合機120に設定可能な設定情報を判定することができる。複合機120の構成情報を確認することにより、サーバ110と複合機120との間で同期することができる設定情報の設定項目を判定することができる。このように構成情報は、クライアントとなる複合機120の設定情報の利用範囲を決定するために用いられる。
【0062】
構成情報の例として、ファームバージョン情報や、FAXユニットの有無の情報等が含まれる。ファームバージョンが上がると使用可能となる機能や設定可能な設定情報は多くなる場合があり、またファームバージョンが下がることで使用できなくなる設定情報も存在する。FAXユニットの有無情報も同様でFAXユニットが接続されていない状態では、FAXに関連する設定情報を変更・同期は実施せず、FAXユニットが接続されている状態では、FAXに関連する設定情報が同期され、ユーザからも変更が可能な状態となる。
【0063】
表4は、サーバ110が管理するアドレス帳についてのアドレス帳IDと、宛先種別と、表示名と、更新時刻との対応を表す。
【0064】
【表4】
本実施形態にかかる複合機120はスキャナ231から入力された画像情報等を外部装置に送信する機能を有する。送信方法としてはE−Mailによる送信、FTP(File Transfer Protocol)を用いた送信、FAX送信等がある。本実施形態にかかる複合機120は画像情報の送信先を示すアドレス帳を保持する。アドレス帳についての情報も複合機120の設定情報のうちの一つとしてサーバ110に管理される。
【0065】
サーバ110は、ネットワークを介して接続された一又は複数の複合機が保持するアドレス帳の更新情報を管理する。表4のアドレス帳IDはアドレス帳を識別するための識別情報である。宛先種別は、アドレス帳が管理する宛先に情報を送信するための送信方法を示す。宛先は、情報送り先のE−mailアドレス、IPアドレス、FAX番号等を示す。表示名は、送り先の名称を表す。更新時刻は、サーバが管理する各アドレス帳の内容がサーバにおいて更新された時刻を表す。
【0066】
表5は、宛先種別と、同期条件と、状態情報とを表す。
【0067】
【表5】
表5は、宛先種別としてFAXが対応付けられているアドレス帳(表4参照)は、setting.option.faxunitが対応付けられている複合機(表3参照)との間でサーバが設定情報の同期処理を行うことを示している。setting.option.faxunitが対応付けられている複合機とは、表3においてsetting.option.faxunitがONの状態である複合機である。
【0068】
すなわち表5の例では、サーバ110は、ネットワークを介して接続された一又は複合機のうちFAXユニット(setting.option.faxunit)を有する複合機とはFAXの宛先情報について同期処理を行う。一方、ネットワークを介して接続された一又は複数の複合機のうちFAXユニットを有していない複合機とはFAXの宛先情報について同期処理を行わない。
【0069】
次に複合機120のソフトウェア構成について
図3(b)を用いて説明する。クライアントアプリケーション320は、複合機120のROM228、HDD227などに保存され、CPU224により実行される。サーバ110に接続される複合機120以外の複合機のソフトウェア構成も同様であるものとする。
【0070】
処理部321は、後述のデータベース324が保持する情報の追加、削除、更新等の処理を実行する。データベース324が保持する情報には、複合機120の設定情報及び構成情報が含まれる。データベース324が保持する情報の詳細については表6及び表7を用いて後述する。
【0071】
管理部322は、データベース314が保持する情報の追加、削除、更新等の実行指示を処理部321に対して行う。
【0072】
通信処理部325は、
図3(a)に示すサーバアプリケーション310との通信処理を行う。通信処理部325は、クライアントアプリケーション320が管理する情報を更新したことを示す更新情報をサーバアプリケーション310に送信する。クライアントアプリケーション320が管理する情報には、複合機120の設定情報及び構成情報が含まれる。また通信処理部325は、サーバアプリケーション310が管理する情報に更新があったかについて問合せを行う。さらに通信処理部325は、当該問合せに対する応答をサーバアプリケーション310から受信する。
【0073】
制御部323は、管理部322、及び、通信処理部325を制御して、
図4(a)及び
図5(a)を用いて後述するフローチャートに示す処理を実行する。
【0074】
データベース324は、表6及び表7に示す各情報を保持する。
【0075】
表6は複合機120が保持する設定情報及び構成情報である。表6は、キー識別子と、表示名称と、管理情報(設定情報及び構成情報)と、初期値との対応を表す。
【0076】
【表6】
設定項目は、各管理情報を識別するための識別情報である。表示名称は、各設定項目の名称である。表示名称は、複合機120が管理する情報に対する操作を行う場合に、複合機120が有する操作画面、或いは、複合機120に接続された表示装置に表示される名称である。初期値は、各設定項目について予め設定されている設定内容である。
【0077】
表6の例では、settings.device.network.ipaddressに対応する設定項目の設定情報としてIPアドレス192.168.111.222が保持されている。当該設定項目についての表示名称は「IPアドレス」である。また、現在設定されている値は192.168.111.222であり、初期値は120.0.0.1である。
【0078】
表7は、複合機120が管理するアドレス帳の情報である。アドレス帳の情報は複合機120の設定情報のうちの一つとして複合機120によって管理される。
【0079】
【表7】
表7の例では、アドレス帳IDが1の情報はE−Mailにて宛先aaa@xxx.co.jpへ送信するための情報が保存されており、操作部221には田中 太郎と表示される。
【0080】
次にサーバ110と複合機120との間で実行される情報の同期処理について、
図4及び
図5を用いて説明する。本実施形態においてサーバ110と複合機120は2種類の処理を実行することにより情報の同期を行う。以下、同期対象の情報を管理情報と呼ぶ。本実施形態において管理情報には、設定情報及び構成情報が含まれる。
【0081】
第1の処理は、複合機120が保持する管理情報が複合機120において更新された場合に、複合機120からサーバ110へ更新の内容を通知する処理である。第1の処理について
図4(a)及び(b)を用いて詳細を後述する。
【0082】
第2の処理は、サーバ110が保持する管理情報の更新の有無を複合機120がサーバ110に問い合わせることにより、複合機120がサーバ110から管理情報の更新内容を取得する処理である。第2の処理について
図5(a)及び(b)を用いて詳細を後述する。
【0083】
第1の処理について
図4(a)及び(b)を用いて説明する。
図4(a)は複合機120が実行する処理である。
図4(a)に示した処理は、
図4(a)に示される手順をCPU224がHDD227に格納されたプログラムを展開して実行することにより実現される。プログラムはROM228に格納されることとしてもよい。あるいは、
図4(a)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0084】
サーバ110と複合機120との同期処理を開始する場合、複合機120は例えば複合機120が保持する同期対象の情報を全てサーバ110に通知することにより同期処理を開始することができる。ただし同期処理の開始の方法については特に限定しない。
【0085】
サーバ110と複合機120とが既に管理情報を共有している状態において、複合機120が保持する管理情報の内容が変更された場合の処理について以下に説明する。
【0086】
複合機120は、複合機120に対するユーザ操作により、管理情報の内容が更新されたことを検知する(S411)。
図3(b)に示した構成では、データベース324に保存された管理情報がユーザ操作によって更新されると、処理部321を介して管理部332が管理情報の更新を検知する。例えば、表7に示した複合機120が保持するアドレス帳の情報のうち、アドレス帳ID1(設定項目)の宛先(設定情報)がaa@xxx.co.jpからaaa@xxx.co.jpに更新されたことを検知する。
【0087】
次に複合機120は、管理情報の更新の内容をサーバ110に通知する(S412)。
図3(b)に示した構成では、管理情報の更新があると制御部313は通信処理部325を制御して更新内容をサーバ110に通知させる。例えば、表7に示した複合機120が保持するアドレス帳の情報のうち、アドレス帳ID1(設定項目)の宛先(設定情報)がaa@xxx.co.jpからaaa@xxx.co.jpに更新されたことを複合機120からサーバ110に通知する。本実施形態における通知には、管理情報が複合機120において更新された時刻を示す情報が含まれる。複合機120において管理情報が更新された時刻は、計時部234によって計時される。
【0088】
複合機120は、通知に対する応答を受信する(S424)。
図3(b)に示した構成では、通信処理部325がサーバ110からの応答を受信する。通信処理部325は、サーバ110からの応答を受信したことを制御部323に通知する。
【0089】
図4(b)はサーバ110が実行する処理である。
図4(b)に示した処理は、
図4(b)に示される手順をCPU205がHDD207に格納されたプログラムを展開して実行することにより実現される。プログラムはROM208に格納されることとしてもよい。あるいは、
図4(b)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0090】
サーバ110は、複合機120における管理情報の更新の内容を複合機120から受信する(S421)。
図3(a)の例では、通信処理部315が複合機120からの通知を受信する。例えば、表7に示した複合機120が保持するアドレス帳の情報のうち、アドレス帳ID1(設定項目)の宛先(設定情報)がaa@xxx.co.jpからaaa@xxx.co.jpに更新されたことを示す通知を受信する。
【0091】
次にサーバ110は、サーバ110において管理する管理情報を、複合機120から受信した通知の内容に基づいて更新する(S422)。サーバ110は、サーバ110が管理する管理情報のうち、複合機120から更新内容が通知された設定項目についての管理情報を更新する。このようにして、複合機120が保持する管理情報とサーバ110が保持する管理情報が同期される。
図3(a)の例では、第1管理部312からの指示を受けて処理部311がデータベース314に保持された管理情報を更新する。例えば、表4に示したサーバ110が管理するアドレス帳のアドレス帳ID1(設定項目)の宛先(設定情報)をaa@xxx.co.jpからaaa@xxx.co.jpに更新する。本実施形態において、サーバ110は受信した通知に含まれる時刻情報に基づいて、サーバ110が保持する管理情報を更新するか否かを決定する。受信した通知に含まれる時刻情報は、複合機120において情報が更新された時刻を示す情報である。受信した通知に含まれる時刻情報が示す時刻が、通知に対応する管理情報の更新時刻としてデータベース314に記憶されている時刻よりも新しい場合には、通知された情報でデータベース314が保持する管理情報を上書きする。一方、受信した通知に含まれる時刻情報が示す時刻が、通知に対応する管理情報の更新時刻としてデータベース314に記憶されている時刻よりも前である場合には、データベース314の上書き行わない。
【0092】
次にサーバ110は、サーバ110において管理する管理情報を更新した時刻を記録する(S423)。
図3(a)の例では、第1管理部312からの指示に応じて処理部311がデータベース314内に更新時刻を記録する。例えば、表4に示したサーバ110が管理するアドレス帳のアドレス帳ID1(設定項目)の宛先(設定情報)を更新した時刻2014/12/31 9:00を記録する。データベース314が保持する管理情報が、受信した通知に含まれる管理情報で上書きされなかった場合にも、時刻の更新を行う。
【0093】
次にサーバ110は、複合機120へ応答を送信する(S424)。この応答は、複合機120からの通知がサーバ110において受理されたことを示す応答である。
図3(a)の例では、制御部313が通信処理部315を制御して応答を送信させる。
【0094】
図4(a)及び(b)の処理により、複合機120が保持する管理情報が複合機120において更新された場合に、複合機120からサーバ110へ更新の内容を通知することができる。
【0095】
次に、上述の第2の処理について
図5(a)及び(b)を用いて説明する。
図5(a)は複合機120が実行する処理である。
図5(a)に示した処理は、
図5(a)に示される手順をCPU224がHDD227に格納されたプログラムを展開して実行することにより実現される。プログラムはROM228に格納されることとしてもよい。あるいは、
図5(a)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0096】
複合機120は、所定の時間間隔で定期的にサーバ110に対して、管理情報の同期要求を送信する。この同期要求は、サーバ110のHDD207が保持する設定情報の更新内容の送信を要求する送信要求である。複合機120は、計時部234が計時する時刻に基づいて、複合機120は同期要求の送信タイミングになったことを検知する(S511)。
【0097】
つづいて複合機120は、前回サーバ110と管理情報の同期を行った時刻がデータベース324に記録されているか否かを判定する(S512)。
【0098】
前回サーバ110と管理情報の同期を行った時刻がデータベース324に記録されている場合(S512でYes)、前回の同期時刻を示す情報を付加して、同期要求をサーバ110に送信する(S513)。一方、前回サーバ110と管理情報の同期を行った時刻がデータベース324に記録されていない場合(S512でNo)、前回の同期時刻を示す情報を付加せずに、同期要求をサーバ110に送信する(S514)。
【0099】
複合機120は、同期要求の応答をサーバ110から受信して、応答に含まれる管理情報でデータベース324に含まれる管理情報を更新する(S515)。応答される管理情報には、サーバ110に接続された複合機の設定情報や管理情報の更新の内容が含まれる。
【0100】
同期要求に時刻情報が含まれていない場合は、サーバ110が保持する全ての管理情報が複合機120に応答される。同期要求に時刻情報が含まれる場合には、当該時刻情報が示す時刻以後に更新された管理情報が複合機120に応答される。
【0101】
複合機120は、データベース324に含まれる管理情報を、受信した管理情報で更新した更新時刻をデータベース324に記録する(S516)。
【0102】
次にサーバ110が実行する処理について
図5(b)を用いて説明する。
図5(b)に示した処理は、
図5(b)に示される手順をCPU205がHDD207に格納されたプログラムを展開して実行することにより実現される。プログラムはROM208に格納されることとしてもよい。あるいは、
図5(b)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0103】
サーバ110は、複合機120からの同期要求を受信する(S521)。続いてサーバ110は受信した同期要求に複合機120が保持する管理情報の更新時刻を示す情報が含まれているかを判定する(S522)。
【0104】
受信した同期要求に更新時刻を示す情報が含まれない場合には、データベース314に保持されている全ての管理情報を取得する(S523)。更新時刻を示す情報が含まれない場合とは、例えば、クライアントアプリケーション320がサーバアプリケーション310と同期を開始してから初めての同期要求を行い、複合機120が保持する管理情報の更新が同期要求以前にない場合等である。
【0105】
一方、受信した同期要求に更新時刻を示す情報が含まれる場合には、当該更新時刻よりも後に更新された管理情報をデータベース314から取得する(S524)。ステップS524においてサーバ110は、データベース314に記録されている管理情報のサーバでの更新時刻が、同期要求に含まれる情報が示す複合機120での更新時刻よりも新しい設定項目の管理情報を取得する。
【0106】
次にサーバ110は、同期要求を行った複合機120の構成情報を取得する(S525)。表3を用いて上述したように、各複合機の構成情報はデータベース314に格納されている。サーバ110は、同期要求を行った複合機のシリアルナンバーを確認し、当該シリアルナンバーに対応する構成情報を取得する。シリアルナンバーは同期要求に含まれることとしてもよい。あるは、同期要求とは別にシリアルナンバーを複合機がサーバに通知することとしてもよい。制御部313は、通知されたシリアルナンバーに基づいて、同期要求を実施してきた複合機の構成情報を、第1管理部312、処理部311を介してデータベース314から取得する。
【0107】
上述のように構成情報は、複合機120が実行可能な機能や設定可能な管理情報を示す情報である。複合機120の構成情報を確認することにより、サーバ110と複合機120との間で同期することができる管理情報の設定項目を判定することができる。
【0108】
次にサーバ110は、ステップS523又はステップS524で取得した設定情報と、ステップS525で取得した構成情報とに基づいて、複合機120への応答情報を作成する(S526)。応答情報は、制御部313の制御により第2管理部316が作成する。
【0109】
ステップS526では、ステップS523又はステップS524で取得した設定情報のうち、同期要求を行った複合機120が用いる設定項目についての設定情報を抽出して、応答情報を生成する。同期要求を行った複合機120が用いる設定項目は、複合機120の構成情報に基づいて決定することができる。
【0110】
そしてサーバ110は、生成した応答情報を複合機120に送信する(S527)。制御部313は第2管理部316が作成した応答情報の送信を通信処理部315へ依頼しネットワーク100を介して送信する。このようにして、データベース314が保持する設定情報のうち同期要求を行った複合機の構成情報に応じて選択した設定情報を、同期要求を行った複合機に送信する。
【0111】
図5(b)の処理の例を、表3及び表4を用いて説明する。以下では、サーバ110と複合機120とがアドレス帳を同期する例について説明する。ステップS521においてサーバ110が受信した同期要求に更新時刻2015/02/1 12:59を示す情報が含まれている場合(S522Yes)、以下の処理を実行する。すなわち、サーバ110は表4に示されるアドレス帳に関する情報のうち、アドレス帳ID2と3について設定情報を取得する(S524)。アドレス帳ID1は、サーバ110における更新時刻が2014/12/31 9:00であり、複合機120における更新時刻2015/02/1 12:59よりも前である。したがってアドレス帳ID1の情報は、サーバ110から複合機120に送信しない。一方、アドレス帳ID2及び3は、サーバにおいて管理情報が更新された時刻が、複合機120が通知した更新時刻2015/02/1 12:59よりも後である。そこでサーバ110は、複合機120に通知すべき管理情報の候補としてアドレス帳ID2及び3の設定情報を取得する。このようにして、データベース314が保持する設定情報について同期要求に含まれる時刻情報が示す時刻以降に更新された設定情報の更新内容を、同期要求を行った複合機に送信することができる。
【0112】
次にサーバ110は、複合機120に対応するシリアルナンバー1234567の構成情報を表3によって確認する。表3の例では、シリアルナンバー1234567の複合機はFAXユニットを有していない。従って、ステップS524で取得した設定情報のうち、表宛先種別がFAXとなっているアドレス帳ID3の情報は、複合機120に送信しても複合機120が用いることができない。そこでサーバ110は、ステップS524で取得した設定情報のうち、アドレス帳ID2のみを含む応答情報を作成し(S526)、複合機120に送信する(S527)。サーバ110は、表5に示された条件から、アドレス帳情報の宛先種別FAXは、setting.option.faxunitの状態がONの場合に同期対象となることを確認する。複合機120は、setting.option.faxunitの状態がOFF(FAXユニットを有しない)ため、宛先種別がFAXであるアドレス帳ID3の情報は同期対象としない。このように、複合機の構成や状態に応じて同期対象となる設定情報を管理する。
【0113】
次に本実施形態にかかるシステムの情報の保全のための機能について説明する。本実施形態にかかるシステムは、サーバ110が保持するデータベース314の情報のバックアップ及びリストアを実行することにより情報を保全する。
【0114】
本実施形態では、情報のバックアップはシステムの管理者がサーバ110に対して情報のバックアップを指示する操作を行うことにより実行される。あるいは、定期的にサーバ110が自動でデータベース314の情報のバックアップを行うこととしてもよい。バックアップ情報の格納先はサーバ110の内部でもよい。あるいはサーバ110に接続された外部装置に格納されることとしてもよい。本実施形態では、サーバ110の内部及び外部の両方に格納可能である場合について説明する。
【0115】
また本実施形態では、情報のリストアはシステムの管理者がサーバ110に対してリストアを指示する操作を行うことにより実行されるものとする。
【0116】
データベース314の情報をバックアップする処理について、
図6を用いて説明する。
図6はサーバ110が実行する処理である。
図6に示した処理は、
図6に示される手順をCPU205がHDD207に格納されたプログラムを展開して実行することにより実現される。プログラムはROM208に格納されることとしてもよい。あるいは、
図6に示す処理の一部又は全体をハードウェアが行うこととしてもよい。本実施形態では、ユーザ(システム管理者)の指示に応じて制御部313が第3管理部317に対しデータベース314のバックアップ処理の実行を指示することにより
図6に示した処理が開始されるものとする。
【0117】
サーバ110は、バックアップ処理が開始されると、データベース314へのアクセスを停止させる(S601)。ステップS601では、データベース314の更新を行うことができないように制限する。例えば、バックアップ処理が開始されると、複合機120からの管理情報の更新の通知に対してエラーを応答する。このようにして、複合機120との管理情報の同期処理のために、バックアップ処理中にデータベース314の内容が変更されてしまうことを防ぐことができる。
【0118】
次にサーバ110は、バックアップ対象となる管理情報を特定する(S602)。次にサーバ110は、バックアップ先のストレージに、バックアップ対象の管理情報を保存可能な空き容量が存在するか判定する(S603)。
【0119】
バックアップ先のストレージにバックアップ対象の管理情報を保存可能であると判定した場合(S603でYES)、サーバ110は、計時部212が計時したバックアップの実行時刻を記録する(S604)。
【0120】
次にサーバ110は、クライアント情報をバックアップ先に記録する(S605)。クライアント情報は、バックアップの実行時にサーバ110が管理情報を管理していたクライアントの一覧を示す情報である。たとえば、クライアント情報にはバックアップの実行時にサーバ110が管理情報を管理していた複合機のシリアルナンバーが含まれる。クライアント情報は、データベース314に含まれる表1の情報などから取得することができる。
【0121】
次にサーバ110は、バックアップ対象の管理情報をバックアップ先にコピーする(S606)。ステップS605の処理とステップS606の処理は順序が逆であってもよい。
【0122】
さらにサーバ110は、ステップS606の処理の終了後、データベース314へのアクセスを許可する(S607)。すなわち、複合機120から通知された管理情報によりデータベース314に保持されている管理情報を更新することを許可する。
【0123】
一方、バックアップする管理情報の情報量がバックアップ先のストレージに保存可能な情報量よりも多い場合(S603においてNO)、バックアップ先のストレージに保存されている情報のうち、削除可能な情報があるか判定する(S611)。削除可能な情報とは、例えば、過去にバックアップされた情報などの不要になった情報である。削除可能か否かを判定するためのルールは予め定めておくことができる。例えばサーバ110は、保存されてから所定時間が経過した等の所定の条件を満たす情報を削除可能な情報とする。あるいは、バックアップする管理情報の情報量がバックアップ先のストレージに保存可能な情報量よりも多い場合には、ユーザに削除可能な情報を選択させることとしてもよい。
【0124】
削除可能な情報があると判定された場合(S611においてYES)、サーバ110は削除可能な情報の削除を指示する(S612)。そして、ステップS603の処理に戻る。
【0125】
一方、削除可能な情報がないと判定された場合(S611においてNO)、バックアップを実行できない旨をユーザに通知する(S613)。例えばサーバ110は、表示部202にバックアップを実行できないことを示すメッセージを表示させる。削除可能な情報がないと判定される場合には、上述の所定の条件を満たす情報がバックアップのためのストレージに保存されていない場合や、ユーザが情報の削除を実施しないように指示した場合等が含まれる。
【0126】
ステップS613の処理に続いてサーバ110は、データベース314へのアクセスを許可して(S614)処理を終了する。すなわち、複合機120から通知された管理情報によりデータベース314に保持されている管理情報を更新することを許可する。
【0127】
次にサーバ110が行うリストア処理の詳細について
図7を用いて説明する。
図7は複合機120が実行する処理である。
図7に示した処理は、
図7に示される手順をCPU224がHDD227に格納されたプログラムを展開して実行することにより実現される。プログラムはROM228に格納されることとしてもよい。あるいは、
図7に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0128】
本実施形態では、ユーザ(システム管理者)の指示に応じて制御部313が第3管理部317に対しデータベース314のリストア処理の実行を指示することにより
図7に示した処理が開始されるものとする。
【0129】
まずサーバ110は、リストアするデータベースを特定する(S701)。リストアするデータベースは、例えば当該データベースがバックアップされ時刻をユーザが指定することにより特定することができる。あるいは、バックアップを行うストレージに記録されているデータベースのリストを参照してユーザがリストアするデータベースを選択することとしてもよい。リストアするデータベースの特定の方法は特に限定しない。
【0130】
次に特定されたデータベースがサーバ110内のストレージに保存されているかを判定する(S702)。サーバ110の外部にあるストレージに特定したデータベースがバックアップされている場合(S702でNO)は、サーバ110内に当該データベースを保存可能な容量が存在するかの確認を行う(S703)。
【0131】
空き容量が存在する場合(S703でYES)は、特定されたデータベースをHDD207に保存する(S704)。ステップS704の処理を実行した後、後述するS712の処理に進む。空き容量が存在しない場合(S703でNO)は、サーバ110に削除可能な情報が存在するかを確認する(S705)。削除可能な情報とは、所定の条件を満たし、削除してもサーバ110の動作に支障を生じさせない情報である。例えばサーバ110は、保存されてから所定時間が経過した等の所定の条件を満たす情報を削除可能な情報とする。あるいは、ユーザに削除可能な情報を選択させることとしてもよい。
【0132】
削除可能な情報がある場合は当該情報の削除を実施し(S706)、ステップS703の処理を再度実行して、削除した後の空き容量の確認を行う。削除可能な情報がない場合は、ユーザに対しリストアが実行できない旨を通知して(S707)終了する。
【0133】
ステップS702において、特定されたデータベースが機器内のストレージに保存されている場合(S702においてYESの場合)は、ステップS712の処理に進む。
【0134】
ステップS712では、バックアップされたデータベースに保存されているクライアント情報を取得する。クライアント情報は、バックアップの実行時にサーバ110が管理情報を管理していたクライアントの一覧を示す情報である。たとえば、クライアント情報にはバックアップの実行時にサーバ110が管理情報を管理していた複合機のシリアルナンバーが含まれる。ステップS712で取得した1又は複数のクライアント(複合機)の全てについて後述するステップS714及びステップS715の処理を実行する。
【0135】
ステップS714では、バックアップの実行時にサーバ110が管理情報を管理していた複合機のシリアルナンバーをクライアント情報から抽出する。そしてクライアント情報から抽出されたシリアルナンバーを有する各複合機が現在もサーバ110に接続されているかを判定する。
【0136】
クライアント情報によって特定される複合機が現在もサーバ110に接続されている場合(ステップS714でYES)、以下の更新処理を行う。すなわち、当該複合機についてのバックアップ情報のうち構成情報については現在サーバ110が当該複合機について保持する構成情報でバックアップ情報を更新する(S715)。一方クライアント情報によって特定される複合機が現在はサーバ110に接続されていない場合には、バックアップ情報を更新せずに、クライアント情報により示される次の複合機についてステップS714の判定を実行する。
【0137】
バックアップ情報に保持されているクライアント情報が示す全てのクライアントについてステップS714及びステップS715の処理を実行し終えると、サーバ110はステップS716の処理を実行する。
【0138】
ステップS716では、データベース314へのアクセスを停止する。すなわち、クライアントから通知された情報によってデータベース314の内容を更新できないように制限する。
【0139】
続いてデータベース314に対してリストア処理を行う。本実施形態では、データベース314に保持された管理情報を削除する。そして、更新後のバックアップ情報をデータベース314に保持させる。この更新後のバックアップ情報は、ステップS713からステップS715の処理を行った後の情報である。すなわち、バックアップした時点よりも後であってリストアを実行する前にHDD207に保持されていた構成情報を用いて更新前のバックアップ情報に含まれる構成情報を更新した更新情報である。
【0140】
ステップS713からステップS715の処理を行った後のバックアップ情報を用いてデータベース314をリストアすることにより、バックアップした時点の設定情報をHDD207保持させることができる。また、バックアップした時点よりも後であってリストアを実行する前にHDD207に保持されていた構成情報をリストア後にHDD207に保持させることができる。
【0141】
本実施形態では、バックアップ先のストレージから読み出したバックアップ情報を加工した後、データベース314の情報に対してリストア処理を行う場合について説明したが、これに限らない。データベース314に対してリストア処理を実行する前に、各複合機の構成情報を読み出して別途保持した後、バックアップ先のストレージから読み出したバックアップ情報でデータベース314の情報を上書きする。そして、別途保持した構成情報でデータベース314の内容を書き換えることとしてもよい。別途保持した構成情報は、バックアップ時点よりも後の更新が反映された構成情報である。
【0142】
ステップS717のリストア処理が完了すると、データベース314へのアクセスを許可し、複合機120との管理情報の同期処理を再開する(S718)。
【0143】
リストア処理が完了すると、サーバ110は接続された複合機に対して、所定の通知を行う(S719)。この通知は、サーバ110がデータベース314に保持する管理情報を複合機が取得するように指示するための通知である。複合機120は、サーバ110からこの通知を受信すると、サーバ110に対して同期要求を行う。この同期要求は
図5(a)を用いて説明したステップS514において実行される同期要求と同様である。すなわち、この同期要求には、前回の同期時刻を示す情報を付加せずに、同期要求がサーバ110に送信される。
【0144】
サーバ110は、同期時刻を示す情報を含まない同期要求を受信すると、
図5(b)を用いて説明したように、ステップS523からステップS527の処理を実行する。すなわち、データベース314に保持された全ての管理情報のうち、同期要求を行った複合機120の構成情報に応じた管理情報を抽出して、複合機120に送信する。
【0145】
このようにして、リストア後のデータベース314に保持された管理情報が、サーバ110に接続された各複合機と共有され、システム全体として、リストア後の管理情報が共有される。
【0146】
ステップS719の所定の通知は、
図5(a)を用いて説明した、複合機において定期的に実行される同期要求に応答して通知されることとしてもよい。
【0147】
また、ステップS719の所定の通知に替えて、サーバ110はデータベース314に保持された全ての管理情報を、サーバ110に接続された全ての複合機に送信することとしてもよい。この場合、各複合機は受信した管理情報のうち自らの構成情報に応じた管理情報を抽出し、自身に設定することにより、サーバと複合機との間で管理情報の同期を行うことができる。
【0148】
以上の処理によれば、サーバにおいてリストアを行った場合にも、サーバが保持するクライアントの構成情報と実際のクライアントの構成との整合性を担保することができるようにバックアップデータを更新してからリストアする。従って、リストア処理後もクライアントの構成に応じた管理情報の共有を継続することができる。
【0149】
上記処理によれば、バックアップ情報をバックアップした時点よりも後に複合機120に保持された構成情報を、リストア後にHDD207に保持させることができる。
【0150】
本実施形態では、S712からS715の処理を実行することにより、バックアップ時に管理情報が管理されていた複合機についてのみバックアップ情報の構成情報を更新することができる。これにより、バックアップ情報に含まれる全ての複合機の構成情報に対して現在データベース314が保持する構成情報で更新する必要があるか判定する場合に比べてサーバ110の処理負荷を軽減し、また、処理時間を短縮することができる。
【0151】
また、上述の構成によれば、バックアップ処理後にサーバ110に接続された複合機が接続される前のサーバの状態に戻すことを意図してユーザがリストア処理を行った場合も、ユーザの意図に沿ったリストア処理を実現することができる。
【0152】
ただし、バックアップ情報に含まれる全ての複合機の構成情報に対して更新する必要があるか判定する構成を本発明の範囲から除外するものではない。バックアップ情報に含まれる全ての複合機の構成情報について更新の必要性を判定する処理によっても、リストア処理後も複合機の構成に応じた種類の管理情報の同期を実現することができるという本発明の効果を奏することができる。
【0153】
図7を用いて説明した上述の処理に加えて、ステップS715の処理(バックアップ情報に含まれる構成情報の更新処理)を実行するか否かについての指示をユーザから取得する処理を行うこととしてもよい。そして、ユーザがステップS715の処理を望まない場合には、ステップS715の処理を実行しないようにしてもよい。
【0154】
このような構成によれば、サーバ110が保持する複合機の構成情報と実際の複合機の構成とに不整合が生じたとしても、バックアップ時点のままのサーバ110の状態に戻すことをユーザが望む場合に、ユーザの意図に応じたリストア処理を実現できる。
【0155】
またサーバ110が保持する構成情報がバックアップ時よりも後に破損してしまったために、サーバ110が保持する構成情報を復旧させるための処理として、以下の構成を備えることとしてもよい。
【0156】
すなわち、サーバ110とクライアント(例えば、複合機)との接続を一旦接続した後に再接続する。クライアントはサーバ110との接続を開始する際に、クライアントが保持する全ての設定情報及び構成情報をサーバ110に通知する。これにより、現在クライアントが保持する構成情報がサーバ110に通知されるため、サーバ110が保持する構成情報を現在のクライアントの構成情報によって復旧させることができる。
【0157】
(実施形態2)
実施形態2では、リストア処理後にクライアントがサーバへ現在の構成情報を通知することにより、サーバとクライアントとの間での保持する構成情報の不整合を解消する構成について説明する。
【0158】
システムの構成については、実施形態1において
図1から
図3を用いて説明した構成と同様であるため説明を省略する。
【0159】
本実施形態に係るリストア処理について
図8(a)及び
図8(b)を用いて説明する。
【0160】
まずサーバ110が実行する処理について
図8(b)を用いて説明する。
図8(b)に示した処理は、
図8(b)に示される手順をCPU205がHDD207に格納されたプログラムを展開して実行することにより実現される。プログラムはROM208に格納されることとしてもよい。あるいは、
図8(b)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0161】
ユーザからのリストア指示を受信すると、制御部313は第3管理部317にリストアの実行を指示する。サーバ110は受信した指示がリストア実行の指示か判定する(S801)。ステップS801で判定した指示がリストア指示以外の指示(S801でNO)であれば、実行指示に準じた処理を実施する(S802)。リストアの実行が指示されると(S801でYES)、サーバ110はリストア対象のデータを特定する。ステップS803では、実施形態1において
図7のステップS702からステップS707を用いて説明したように、バックアップ情報を読み出すための記憶容量を自装置内に確保する処理を実行することができる。
【0162】
ステップS803でリストア対象のデータを特定すると、データベース314へのアクセスを止める(S804)。次に現在使用中のデータベースとバックアップ情報を置き換える処理を実施し(S805)、置き換えた時刻を特定し保存する(S806)。ここで、特定した時刻の情報は別個で用意するファイル等に書き出してもよいし、置き換えたデータベース314の設定情報の一つとして保存していてもよい。リストア後は、データベース314へのアクセスを許可する(S807)。
【0163】
続いてサーバ110は、複合機120からの通知を受信(S808)し、受信した通知が複合機120における構成情報の更新通知であるかを判定する(S809)。構成情報の更新通知ではない場合(S809においてNO)は、当該通知を行った複合機120がリストア処理後にサーバ110に構成情報を通知しているかを判定する(S810)。ここで複合機120からの通知が、構成情報の更新通知ではない場合とは、例えばデータベース314が保持する設定情報の更新内容の送信要求(同期要求)である場合などが含まれる。
【0164】
ステップS810における構成情報の通知状況の確認は、ステップS806で保存したリストアの実行時刻と、構成情報のサーバにおける更新時刻を比較することによって行うことができる。あるいは、複合機からの構成情報の通知が有った場合にフラグを立てる処理を行い、フラグの状況によって構成情報の通知状況を確認することとしてもよい。
【0165】
構成情報が通知されている場合(S810でYES)、処理要求に対応した処理を実施する(S812)。また、リストア実行後に構成情報の更新通知がなされていない場合には(S810でNO)、構成情報の不整合を通知するエラーを応答する(S813)。この時、通知する内容はエラーではなく、構成情報の通知を複合機120が実行する契機となる応答であればよい。このエラー応答は、複合機120が保持している構成情報を複合機120からサーバ110へ送信させる指示である。この指示は、例えば、サーバ110に対して同期要求を行った複合機に対して送信される。
【0166】
一方、ステップS809において複合機120から構成情報が通知された場合には、実施形態1において
図7を用いて説明したステップS712からステップS718の処理を実行して、データベース314が保持する構成情報の更新を行う(S811)。
【0167】
サーバ110は、ステップS811、ステップS812、または、ステップS813のいずれかで作成された応答情報を複合機120へ送信する(S814)。
【0168】
次に本実施形態にかかる複合機120が実行する処理について
図8(a)を用いて説明する。
図8(a)に示した処理は、
図8(a)に示される手順をCPU224がHDD227に格納されたプログラムを展開して実行することにより実現される。プログラムはROM228に格納されることとしてもよい。あるいは、
図8(a)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0169】
複合機120は、サーバ110に同期要求を通知する。同期要求の通知処理として、実施形態1において
図5のS511からS513を用いて説明した処理を実行する。同期要求の通知のかわりに、
図4を用いて説明した管理情報の更新の通知処理を行うこととしてもよい。
【0170】
複合機120は、送信した通知に対する応答情報を受信(S821)し、応答情報の内容が構成情報の不整合を通知するエラーの応答であるかを判定する(S822)。
【0171】
複合機120は、応答情報の内容が構成情報の不整合を通知する応答である場合に、複合機120の構成情報を通知する(S824)。サーバ110は、不整合を通知するエラー応答に応じて複合機120から送信された構成情報で、データベース314に保持される構成情報を更新する。
【0172】
また、応答情報が通常の同期処理に対応するものであった場合は、応答情報に応じた情報処理を実施し(S823)終了する。
【0173】
本実施形態によれば、サーバ110は、リストア処理を実行した後は、サーバ110に通知をしてきた複合機120に対して、当該複合機120の現在の構成情報を複合機120からサーバ110に通知させるための応答を行う。
【0174】
このようにして、リストア後に必ず複合機120が現在の構成情報をサーバ110に通知することにより、リストア処理によってサーバ110が保持する複合機の構成情報と複合機の実際の構成との不整合状態を解消することができる。
【0175】
本実施形態によれば、サーバ110が保持する構成情報が破損した場合であっても、サーバ110が保持する構成情報を現在のクライアントの構成を示す構成情報で上書きして復旧させることができる。
【0176】
また、リストア後に全クライアントからの構成情報の通知が完了したならば、サーバ110が実行する処理を
図4(b)、
図5(b)で示す処理フローへ切り替えることとしてもよい。
【0177】
(実施形態3)
実施形態3では、リストア処理後にサーバ110は、サーバ110に通知を行ったクライアントへ所定の応答を行う。この応答には、通知を行ったクライアントについてサーバ110が保持する構成情報が含まれる。クライアントは、応答に含まれる構成情報が、自身の実際の構成と整合しているかを確認する。応答に含まれる構成情報が、実際のクライアントの構成と異なる場合には、クライアントが現在の構成を示す構成情報をサーバ110へ通知する。サーバ110は通知された構成情報で、保持する構成情報を上書きする。
【0178】
このようにして、リストア後もサーバ110が保持する構成情報とクライアントの実際の構成とが整合するようにすることができる。
【0179】
システムの構成については、実施形態1において
図1から
図3を用いて説明した構成と同様であるため説明を省略する。
【0180】
本実施形態に係るリストア処理について
図9(a)及び
図9(b)を用いて説明する。
【0181】
まずサーバ110が実行する処理について
図9(b)を用いて説明する。
図9(b)に示した処理は、
図9(b)に示される手順をCPU205がHDD207に格納されたプログラムを展開して実行することにより実現される。プログラムはROM208に格納されることとしてもよい。あるいは、
図9(b)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0182】
図9(b)のステップS801からS808は実施形態2において説明した内容と同様であるため、同じ符号を付して説明を省略する。
【0183】
サーバ110は、複合機120から処理要求を受信後(S808)、同期要求であれば、
図5で説明した応答情報の作成フローを実施し、更新要求であれば
図4で説明した応答情報の作成フローを実施する(S901)。
【0184】
次に、処理要求を実施したクライアントがリストア後、初回の処理要求かを判定する(S902)。初回の要求であった場合(S902でYES)、応答情報にサーバ側で管理しているクライアントの構成情報を追記し、応答情報を作成する(S903)。そして、作成した応答情報を複合機120へ送信する(S904)。このようにしてデータベース314が保持する構成情報を複合機120へ送信する。このようにして、リストア後にデータベース314が保持する構成情報を複合機120に送信する。
【0185】
次に本実施形態にかかる複合機120が実行する処理について
図9(a)を用いて説明する。
図9(a)に示した処理は、
図9(a)に示される手順をCPU224がHDD227に格納されたプログラムを展開して実行することにより実現される。プログラムはROM228に格納されることとしてもよい。あるいは、
図9(a)に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
【0186】
図9(a)に示したステップS511からS821までの処理は、実施形態1及び2において説明した内容と同様であるため、同じ符号を付して説明を省略する。
【0187】
複合機120は、サーバ110から応答情報を受信し(S821)、応答情報に含まれる情報にサーバ110が管理する構成情報が含まれているかを判定する(S922)。
【0188】
応答情報内に構成情報が存在する場合(S922でYES)、応答情報に含まれている構成情報と現在の複合機120の構成情報を比較する(S923)。
【0189】
ステップS923において応答情報に含まれる構成情報と、現在の複合機120の構成情報とが異なっていた場合は、現在の複合機120の構成情報をサーバ110へ通知する(S924)。サーバ110は、サーバ110から複合機120への構成情報の送信に応答して複合機120から送信される構成情報(S924で通知される構成情報)でデータベース314に保持される構成情報を更新する。
【0190】
また、ステップS922で判定した応答情報に構成情報が含まれていない場合や、含まれていた構成情報がステップS923で判定した現在のクライアントで管理する構成情報と一致していた場合は、応答情報に応じた処理を実施し(S823)、終了する。
【0191】
以上の構成によれば、リストア後もサーバ110が保持する構成情報とクライアントの実際の構成とが整合するようにすることができる。
【0192】
(その他の実施形態)
第1、第2、第3の実施形態について説明したが、上述する実施形態は、本発明を実施する上での一例であり、各実施形態の処理、動作を組み合わせて実現してもよいし、本発明は実施形態の構成に限ったものではない。
【0193】
また本発明のクライアントは複合機に限った構成である必要はなく、設定情報を管理するデバイスでかつデバイスを構成する情報によって設定情報に変更がある情報機器端末等に適応可能である。例えば、パーソナルコンピュータや、携帯電話端末、スマートフォン端末、画像形成装置、電子時計、電子手帳等の構成を持つ情報処理装置に適応可能である。
【0194】
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。