(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置の設定情報を記憶する記憶手段と、
前記情報処理装置が、他装置が記憶する設定情報を少なくとも管理するサーバか否かを判定する判定手段と、
前記判定手段による判定結果を用いて、前記情報処理装置及び前記情報処理装置とネットワークを介して接続する装置のうち、他装置が記憶する設定情報を少なくとも管理するサーバの数を検出する検出手段と、
前記検出手段が検出したサーバの数が１である場合には前記記憶手段が記憶する前記設定情報を前記サーバに管理させるための処理を開始し、前記検出手段が検出したサーバの数が２以上である場合には前記処理を開始しない処理手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記処理手段は、前記記憶手段が記憶する前記設定情報を管理させるべきサーバと通信するためのアドレス情報が前記情報処理装置に設定されている場合には、サーバの数に関わらず、前記アドレス情報に応じたサーバに前記記憶手段が記憶する設定情報を管理させるための処理を開始することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段が検出したサーバの数が２以上である場合には、前記処理が開始されないことを示すメッセージを表示手段に表示させる表示制御手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記検出手段が検出したサーバの数が２以上である場合には、前記検出手段が検出したサーバの数に応じて異なる前記メッセージを前記表示手段に表示させることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記検出手段が検出したサーバの数が２以上である場合に、前記情報処理装置及び前記情報処理装置とネットワークを介して接続する装置のうち、他の装置が記憶する設定情報の管理を実行中のサーバの数を判定する判定手段を有し、
前記処理手段は、他の装置が記憶する設定情報の管理を実行中のサーバの数が１であると前記判定手段が判定した場合には、前記設定情報の管理を実行中のサーバに前記記憶手段が記憶する前記設定情報を管理させる処理を開始することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
他の装置が記憶する設定情報の管理を実行中のサーバの数が２以上であると前記判定手段が判定した場合には、前記処理が開始されないことを示すメッセージを表示手段に表示させる表示制御手段を有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記処理手段は、サーバが管理するデータベースに前記記憶手段が記憶する前記設定情報を記録させることにより前記処理を開始させ、前記記憶手段が記憶する前記設定情報が更新された場合には更新内容を示す更新情報を前記サーバに通知する制御を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
画像を読み取って画像データを生成するスキャナ、又は、用紙上に画像を形成する印刷処理を行うプリンタを制御する制御手段を有し、
前記制御手段は、前記記憶手段が記憶する前記設定情報を用いて前記スキャナ又は前記プリンタの動作を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
情報処理装置の制御方法であって、
前記情報処理装置の設定情報を記憶手段に記憶する記憶ステップと、
前記情報処理装置が、他装置が記憶する設定情報を少なくとも管理するサーバか否かを判定する判定ステップと、
前記判定ステップによる判定結果を用いて、前記情報処理装置及び前記情報処理装置とネットワークを介して接続する装置のうち、他装置が記憶する設定情報を少なくとも管理するサーバの数を検出する検出ステップと、
前記検出ステップにおいて検出したサーバの数が１である場合には前記記憶手段が記憶する前記設定情報を前記サーバに管理させるための処理を開始し、前記検出ステップにおいて検出したサーバの数が２以上である場合には前記処理を開始しない処理ステップと
を有することを特徴とする制御方法。
【請求項１０】
前記処理ステップにおいて、前記記憶手段が記憶する前記設定情報を管理させるべきサーバと通信するためのアドレス情報が前記情報処理装置に設定されている場合には、サーバの数に関わらず、前記アドレス情報に応じたサーバに前記記憶手段が記憶する設定情報を管理させるための処理を開始することを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記検出ステップにおいて検出したサーバの数が２以上である場合には、前記処理が開始されないことを示すメッセージを表示手段に表示させる表示制御ステップを有することを特徴とする請求項９に記載の制御方法。
【請求項１２】
前記処理ステップにおいて、サーバが管理するデータベースに前記記憶手段が記憶する前記設定情報を記録させることにより前記処理を開始させ、前記記憶手段が記憶する前記設定情報が更新された場合には更新内容を示す更新情報を前記サーバに通知する制御を行うことを特徴とする請求項９に記載の制御方法。
【請求項１３】
コンピュータに、
前記コンピュータの設定情報を記憶手段に記憶する記憶手順と、
前記コンピュータが、他装置が記憶する設定情報を少なくとも管理するサーバか否かを判定する判定手順と、
前記判定手順による判定結果を用いて、前記コンピュータ及び前記コンピュータとネットワークを介して接続する装置のうち、他装置が記憶する設定情報を少なくとも管理するサーバの数を検出する検出手順と、
前記検出手順において検出したサーバの数が１である場合には前記記憶手段が記憶する前記設定情報を前記サーバに管理させるための処理を開始し、前記検出手順において検出したサーバの数が２以上である場合には前記処理を開始しない処理手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理装置の動作に使用される設定情報を、クライアントとサーバとの間でネットワーク通信によって同期する同期技術に関する。
【背景技術】
【０００２】
従来、情報処理装置間でデータを共有する共有システムが知られている。例えば特許文献１に記載のサーバはデータベースの更新内容を更新履歴として記憶する。そして、サーバからクライアントにこの更新履歴を送信することにより、サーバが記憶するデータとクライアントが記憶するデータとを一致させる。
【０００３】
また特許文献２は、サーバとクライアントとの間で前回データ同期を行った以後に更新されたデータの内容をクライアントからサーバへ送信する同期システムを開示する。
【０００４】
また従来、クライアント装置がネットワーク上に存在するサーバを探索する技術が知られている。特許文献３には、ネットワークに接続されたデバイスを探索することが記載されている。また特許文献３には、クライアント機能とサーバ機能を兼ね備えるデバイスが示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−８６８００号公報
【特許文献２】特開２００４−９４２９４号公報
【特許文献３】特開２００５−１５７６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１や特許文献２に記載のシステムのようにサーバが複数のデバイスの設定情報を管理する構成において、特許文献３のようにデバイスがサーバの探索を行う場合、以下の課題が生じる場合がある。
【０００７】
デバイスがサーバの探索を行った結果、ネットワーク上で複数のサーバが検出され、デバイスがそれら複数のサーバのうち任意のサーバに設定情報を管理させることとすると、各デバイスの設定情報が別々のサーバによって管理されてしまう可能性がある。従って、設定情報を一元管理できなくなってしまうという課題がある。
【０００８】
設定情報が一元管理されないと、設定情報の管理が複雑化してシステム全体の処理量が増えたり、各装置が記憶する設定情報の不整合が生じ易くなったりする場合がある。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係る情報処理装置は以下の構成を有する。すなわち、情報処理装置であって、前記情報処理装置の設定情報を記憶する記憶手段と、前記情報処理装置が、他装置が記憶する設定情報を少なくとも管理するサーバか否かを判定する判定手段と、前記判定手段による判定結果を用いて、前記情報処理装置及び前記情報処理装置とネットワークを介して接続する装置のうち、他装置が記憶する設定情報を少なくとも管理するサーバの数を検出する検出手段と、前記検出手段が検出したサーバの数が１である場合には前記記憶手段が記憶する前記設定情報を前記サーバに管理させるための処理を開始し、前記検出手段が検出したサーバの数が２以上である場合には前記処理を開始しない処理手段とを有する。
【発明の効果】
【００１０】
このような構成によれば、同期システムにおける設定情報のサーバによる一元管理を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】同期システム全体を示すシステム構成図
【図２】サーバ１１０の構成を表すブロック図
【図３】複合機１２０の構成を表すブロック図
【図４】サーバ１１０で管理されるマスタデータの構成図
【図５】同期システムにおける複合機１２０のソフトウェア構成図
【図６】サーバ１１０のソフトウェア構成図
【図７】複合機１２０の処理手順のフロー
【図８】複合機１２０に記録するログ情報の一例を示す図
【図９】複合機１２０の処理手順のフロー
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
（実施形態１）
実施形態１における同期システムの構成図を図１（ａ）及び（ｂ）に示す。図１（ａ）の例では、ネットワーク１００に、複数の複合機１２０、１２１、及び１２２が接続されており、複合機１２０の内部にはサーバ１１０が存在する。図１（ｂ）の例では、ネットワーク１００に、サーバ１１０と、複数の複合機１２０、１２１、及び、１２２が接続される。本実施形態における同期システムは図１（ａ）の構成及び図１（ｂ）に示した構成のいずれにもすることができる。複合機１２０、１２１、及び、１２２は、サーバ１１０のクライアントとして動作する情報処理装置である。以下では、複合機１２０、１２１、及び、１２２をデバイスと称呼する場合がある。
【００１４】
サーバ１１０は、複合機１２０、１２１、及び１２２の設定情報のマスタデータを管理する。サーバ１１０が記憶するマスタデータが更新された場合、サーバ１１０は、更新の内容を示す情報（以下、更新情報）をネットワーク１００を介して複合機１２０、１２１、及び１２２に通知する。サーバ１１０から複合機１２０に通知される更新情報は、例えば、サーバ１１０が前回複合機１２０と同期した設定情報と、サーバ１１０における更新後の設定情報との差分を示す情報である。サーバ１１０と複合機１２１、及び、１２２との更新情報についても同様である。以下では、サーバ１１０と複合機１２０、１２１、又は１２１とが同時期に共通の設定情報を共有していることを、サーバ１１０と複合機１２０、１２１、又は１２１とが設定情報を同期していると表現する。
【００１５】
また複合機１２０、１２１、及び１２２から設定情報の更新情報を受信した際には、サーバ１１０は、マスタデータの値を更新する。
【００１６】
複合機１２０１２１、及び１２２は、複数種類の機能、例えばコピーやＦＡＸ等を実現する機器であり、内部にそれらの機能の実行のために利用する設定情報を記憶している。設定情報に更新があった場合、複合機１２０は、更新情報をサーバ１１０に通知する。この更新情報は、例えば、複合機１２０が前回サーバ１１０と同期した設定情報と、複合機１２０における更新後の設定情報との差分を示す情報である。
【００１７】
また複合機１２０１２１、及び１２２は、サーバ１１０から設定情報のマスタデータ４１０の更新情報を受信すると、受信した更新情報を用いて自身が記憶する設定情報を更新する。
【００１８】
このような構成によれば、サーバ１１０、並びに、複合機１２０、１２１、及び１２２の間で共通の設定情報を記憶することができる。
【００１９】
たとえば、複合機１２０、１２１、及び１２２のいずれも用いる設定情報に関しては、サーバ１１０上のマスタデータに更新があった場合は、サーバ１１０から複合機１２０、１２１、及び１２２の各複合機に設定情報の更新情報が通知される。このようにして、サーバ１１０が記憶する設定情報と、各複合機が記憶する設定情報とが同期される。
【００２０】
また、複合機１２０、１２１、及び１２２いずれかの設定情報に更新があった場合は、設定情報の更新があった複合機からサーバ１１０に更新情報が通知される。サーバ１１０は受信した更新情報を用いてマスタデータを更新する。マスタデータの更新に伴って、サーバ１１０は更新内容を更新情報として複合機１２１及び１２２に通知する。このようにして、サーバ１１０、並びに、複合機１２０、１２１、及び１２２の間で共通の設定情報を記憶し続けることができる。
【００２１】
次に図１（ｂ）に示したように、サーバ１１０が単体で構成される場合の、サーバ１１０の構成を図２のブロック図を用いて説明する。サーバ１１０は、コントローラユニット２００、操作部２２０、及び、表示部２３０を含む。
【００２２】
コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０３を有する。ＣＰＵ２０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０６に格納されているブートプログラムを読み出して実行することにより、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動する。
【００２３】
ＣＰＵ２０３は、このＯＳ上で、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０３の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４が用いられる。
【００２４】
ＨＤＤ２０５は、上記アプリケーションプログラムと複合機１２０の設定情報のマスタデータ等を格納する。マスタデータの管理方法に関する詳細については後述する。
【００２５】
ＣＰＵ２０３には、システムバス２１０を介して、ＲＯＭ２０６およびＲＡＭ２０４とともに、操作部Ｉ／Ｆ２０１、表示部Ｉ／Ｆ２０２、通信Ｉ／Ｆ２０７が接続される。
【００２６】
操作部Ｉ／Ｆ２０１は、操作部２２０とのインタフェースである。操作部２２０は、例えばマウスやキーボード等とすることができる。操作部Ｉ／Ｆ２０１は、操作部２２０によってユーザにより入力された情報をＣＰＵ２０３に通知する。
【００２７】
表示部Ｉ／Ｆ２０２は、画像データを表示部２３０に対して出力する。表示部２３０は例えばディスプレイ等することができる。また通信Ｉ／Ｆ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
【００２８】
次に本実施形態にかかる複合機１２０の構成を図３のブロック図を用いて説明する。本実施形態にかかる複合機１２０は、コントローラユニット３００、操作部３２０、スキャナ３３０、及び、プリンタ３４０を含む。コントローラユニット３００には、操作部３２０が接続されるとともに、画像入力デバイスであるスキャナ３３０や画像出力デバイスであるプリンタ３４０が接続される。
【００２９】
コントローラユニット３００は、ＣＰＵ３０２を有し、ＣＰＵ３０２は、ＲＯＭ３０６に格納されているブートプログラムを読み出して実行することによりＯＳを起動する。ＣＰＵ３０２は、このＯＳ上で、ＨＤＤ３０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ３０２の作業領域としてはＲＡＭ３０３が用いられる。また、ＲＡＭ３０３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ３０５は、上記アプリケーションプログラムや画像データ、各種設定情報を記憶する。設定情報は、例えば、ＣＰＵ３０２がスキャナ３３０又はプリンタ３４０の動作を制御するために用いられる。複合機１２０における設定情報の管理方法については後述する。
【００３０】
ＣＰＵ３０２には、システムバス３１０を介して、ＲＯＭ３０６、ＲＡＭ３０３、操作部Ｉ／Ｆ３０１、デバイスＩ／Ｆ３０４、通信Ｉ／Ｆ３０７、及び、画像処理部３０８が接続される。
【００３１】
操作部Ｉ／Ｆ３０１は、操作部３２０とのインタフェースであり、操作部３２０の表示部３２１に表示すべき画像データを操作部３２０に対して出力する。操作部３２０は、例えばタッチパネルなどとすることができる。また操作部Ｉ／Ｆ３０１は、操作部３２０によってユーザにより入力された情報をＣＰＵ３０２に送出する。
【００３２】
デバイスＩ／Ｆ３０４にはスキャナ３３０及びプリンタ３４０が接続される。スキャナ３３０は画像を読み取って画像データを生成する。スキャナ３３０が読み取る画像には、写真、絵、又は、文字等が含まれる。プリンタ３４０は、用紙上に画像を形成する印刷処理を行う。ＣＰＵ３０２は、デバイスＩ／Ｆ３０４を介してスキャナ３３０及びプリンタ３４０を制御する。
【００３３】
通信Ｉ／Ｆ３０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。画像処理部３０８では、スキャナ３３０からの入力画像処理やプリンタ３４０への出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
【００３４】
複合機１２１及び複合機１２２の構成は、図３を用いて説明した構成と同様であるものとする。なお図１（ａ）を用いて説明したシステム構成においては、サーバ１１０と複合機１２０は同一のデバイスであり、以上図２及び図３を用いて説明したハードウェア構成を一にする。すなわち、サーバ１１０は複合機１２０に構成されているハードウェアを使用して動作する。サーバアプリケーション６００を実行することにより、複合機１２０は、他の装置の設定値を管理するサーバとして機能する。
【００３５】
つぎに、本実施形態にかかるサーバ１１０が管理するマスタデータの構成を図４のブロック図を用いて説明する。
【００３６】
本実施形態に係るマスタデータ４０１は、以下のデータベース（以下、ＤＢ）を含む。すなわち、設定情報ＤＢ４１０と、デバイス共通設定情報ＤＢ４１１と、登録デバイス管理ＤＢ４１２と、デバイス個別設定情報ＤＢ４１３と、デバイス構成情報管理ＤＢ４１４と、ユーザ情報ＤＢ４１５と、ユーザ設定情報ＤＢ４１６とを含む。
【００３７】
設定情報ＤＢ４１０はサーバ１１０で管理する各設定情報に関するメタデータを格納するデータベースである。設定情報ＤＢ４１０に格納されるデータの例を表１に示す。設定情報ＤＢ４１０には、ユーザに提示する際の文言、複合機１２０と通信を行う際に設定情報を識別するためのキー識別子、初期値、値域、適応機種／バージョン、設定情報の表示条件が格納される。設定情報ＤＢ４１０で管理する各設定情報は、複合機１２０の機種やファームウェアのバージョンによって、設定情報の存在の有無や、設定情報の値域や初期値といった情報が異なる場合がある。
【００３８】
表１の例では、キー識別子が“ｓｅｔｔｉｎｇｓ．ｐａｔｔｅｒｎ”で表される設定情報は、機種Ａ、機種Ｂでは全ての個体に存在しているが、機種Ｃではファームウェアのバージョンが３．０１以降の個体にのみ存在している。また表１の例では、キー識別子が“ｓｅｔｔｉｎｇｓ．ｄｅｎｓｉｔｙ”で表される設定情報は、機種Ｂではインストールされているファームウェアのバージョンにより設定情報の値域や初期値が異なる。表１に図示された“ｓｅｔｔｉｎｇｓ．ｄｅｎｓｉｔｙ”に続く設定情報は、機種、ファームウェアバージョンに依らずに同一の地域や初期値であることを示している。
【００３９】
【表１】
0006748411.tif 000002
デバイス共通設定情報ＤＢ４１１は、サーバ１１０が管理する全ての複合機が現在共有している設定情報を管理するデータベースである。デバイス共通設定情報ＤＢ４１１に格納されるデータの例を表２に示す。デバイス共通設定情報ＤＢ４１１は、キー識別子と、識別子に対応する値、設定情報の最終更新日時が格納される。このキー識別子は、設定情報ＤＢ４１０のキー識別子と同一の体系をもつ識別子である。表１に示したように、ｓｅｔｔｉｎｇｓ．ｄｅｎｓｉｔｙの初期値や値域はデバイスの機種によって異なるが、表２の例では、システムにおける全てのデバイスのｓｅｔｔｉｎｇｓ．ｄｅｎｓｉｔｙの値は０に設定されていることを示している。
【００４０】
【表２】
0006748411.tif 000003
登録デバイス管理ＤＢ４１２は、サーバ１１０が設定情報を管理する複合機の個体識別子を管理するためのデータベースである。
【００４１】
デバイス個別設定情報ＤＢ４１３は、サーバが管理する複数の複合機の各々で値が異なる設定情報を管理するデータベースである。デバイス個別設定情報ＤＢ４１３に格納されるデータの例を表３に示す。なお、デバイス個別設定情報ＤＢ４１３は複合機の個体に対応して複数存在するものとする。デバイス個別設定情報ＤＢ４１３は、キー識別子と、識別子に対応する値、設定情報の最終更新日時が格納される。このキー識別子は、設定情報ＤＢ４１０のキー識別子と同一の体系をもつ識別子である。
【００４２】
【表３】
0006748411.tif 000004
デバイス構成情報ＤＢ４１４は、複合機１２０の個体を識別する個体識別子、機種名、ファームウェアのバージョン、利用可能な機能を表すライセンス情報、及び、アクセサリとして付加されている機器の情報などを含む。デバイス構成情報管理ＤＢ４１４で管理される複合機の個体毎のデバイス構成情報の例を表４に示す。なお、機種名、ファームウェアのバージョン、ライセンス等は、設定情報ＤＢ４１０に格納されているものと同一の体系を持つ。デバイス構成情報ＤＢ４１４は、複合機１２０がサーバ１１０に通知することによって、複合機１２０とサーバ１１０との間で共有される。複合機１２０は自らのデバイス構成情報の更新内容をサーバ１１０に通知することができる。一方、サーバ１１０上では複合機１２０のデバイス構成情報の内容を変更することができない。また、あるデバイスのデバイス構成情報は、当該デバイスとサーバ１１０との間で共有されるのみであり、他のデバイスには通知されない。
【００４３】
【表４】
0006748411.tif 000005
ユーザ情報ＤＢ４１５は、複合機１２０を利用するユーザに関する情報を管理するためのデータベースである。ユーザ情報ＤＢ４１５に格納されるデータの例を表５に示す。ユーザ情報ＤＢ４１５には、ユーザを一意に識別するためのユーザＩＤや、ログインの際にユーザが入力するユーザ名等が格納される。
【００４４】
【表５】
0006748411.tif 000006
ユーザ設定情報ＤＢ９０２は、複合機１２０を利用する各ユーザが利用可能なユーザ毎の設定情報を管理するためのデータベースである。ユーザ設定情報ＤＢ４１６に格納されるデータの例を表６に示す。ユーザ設定情報ＤＢ４１６には、ユーザを一意に識別するためのユーザＩＤや、設定情報を一意に識別するためのキー識別子、設定情報の内容、設定情報の最終更新日時が格納される。なお、このユーザＩＤは、ユーザ情報ＤＢ４１５におけるものと同一の体系である。
【００４５】
【表６】
0006748411.tif 000007
サーバ１１０は、上記で説明したマスタデータ４０１の各データベースを利用して、管理対象の複合機１２０の各々で異なる設定情報や、管理対象の複合機全てで共通の設定情報、及び各設定情報そのもののメタデータを一括管理する。
【００４６】
次に、本実施形態にかかる同期システムにおいて、複合機１２０、１２１、及び１２２で動作する設定データの管理のためのアプリケーションソフトウェアのブロック構成図を図５に示す。クライアントアプリケーション５００は、キャッシュデータ管理部５１０と、通信制御部５２０とを含む。キャッシュデータ管理部５１０は複合機１２０のキャッシュデータ５１１を管理する。通信制御部５２０は複数のブロックから構成され、通信Ｉ／Ｆ３０７を介して行う通信の制御を行う。クライアントアプリケーション５００は、本実施形態では、ＲＡＭ３０３、ＨＤＤ３０５、ＲＯＭ３０６のいずれかの記憶部に記憶され、ＣＰＵ３０２により実行される。
【００４７】
キャッシュデータ管理部５１０が管理するキャッシュデータ５１１は、ＨＤＤ３０５やＲＡＭ３０３、などに保存される。通信制御部５２０は、制御部５２１、タイミング管理部５２２、及び、通信処理部５２３を含む。
【００４８】
複合機１２０は設定値をキャッシュデータ５１１に格納する。キャッシュデータ５１１は、複合機１２０のＨＤＤ３０５に格納されるデータベースである。キャッシュデータ５１１の構成の一例を表７に示す。キャッシュデータ５１１に格納される設定情報は、設定情報を識別するためのキー識別子、設定情報の値、ＵＩ表示文言、初期値、値域、適応機種／ファームウェアバージョン、及び、表示条件等の要素から構成される。これらの要素はマスタデータ４０１で管理されているものと同一の体系で管理されるものである。サーバ１１０もしくは複合機１２０において設定情報が更新された場合には、表７に示されるデータのうち少なくともキー識別子及び値を通信することで設定情報を同期する。
【００４９】
【表７】
0006748411.tif 000008
以上説明した各設定情報の同期処理は、サーバ１１０の通信Ｉ／Ｆ２０７と複合機１２０の通信Ｉ／Ｆ３０７とがネットワーク１００を介して通信することで行われる。
【００５０】
制御部５２１は、サーバ１１０との設定情報の同期処理を制御する。設定情報の同期処理とは、サーバ１１０と複合機１２０、１２１、又は１２２との間で設定情報を共有するために行う処理である。タイミング管理部５２２は、設定データの同期タイミングを管理する。制御部５２１は、ネットワーク１００に接続された複数の装置のうち、サーバの数を検出する検出部５２４を含む。検出部５２４が検出の対象とする複数の装置には、自装置も含まれる。
【００５１】
通信処理部５２３は、通信Ｉ／Ｆ３０７を介して後述のサーバアプリケーション６００との通信処理を行う。各処理部の行う処理の詳細は後述する。
【００５２】
キャッシュデータ管理部５１０は、後述する通信制御部５２０がサーバ１１０から取得した更新情報を通信制御部５２０より受信し、キャッシュデータ５１１に反映させる処理を行う。またキャッシュデータ管理部５１０は、キャッシュデータ５１１の情報が複合機１２０において更新された場合に、通信制御部５２０に対してサーバ１１０が管理するマスタデータ４０１への更新情報の反映を依頼する。
【００５３】
通信制御部５２０は、サーバ１１０との設定情報の同期通信を制御する。タイミング管理部５２２は、サーバ１１０からマスタデータ４０１の更新情報を定期的に取得する取得タイミングの判定を行う。また制御部５２１は、通信処理部５２３がサーバより取得したマスタデータ４０１の更新情報を受信し、キャッシュデータ管理部５１０に更新情報の反映を依頼する。
【００５４】
図６は、本実施形態にかかる同期システムにおいて、サーバ１１０で動作するサーバアプリケーションソフトウェアのブロック構成図である。サーバアプリケーション６００は、本実施形態ではＲＡＭ２０４、ＨＤＤ２０５、ＲＯＭ２０６のいずれかの記憶部に記憶され、ＣＰＵ２０３により実行される。サーバアプリケーション６００は、マスタデータ管理部６１０と、通信制御部６２０とを含む。サーバアプリケーション６００を実行することにより、サーバ１１０は、他の装置の設定値を管理するサーバとして機能する。
【００５５】
マスタデータ管理部６１０は、上述のマスタデータ４０１を管理する。マスタデータ管理部６１０が管理するマスタデータ４０１は、ＨＤＤ２０５やＲＡＭ２０４などに保存される。
【００５６】
マスタデータ管理部６１０は、通信制御部６２０が複合機１２０、１２１、及び１２２から受信した更新情報を用いて、マスタデータ４０１が記憶する設定情報を更新する制御を行う。またマスタデータ管理部６１０は、通信制御部６２０が複合機１２０、１２１、及び１２２からマスタデータ４０１の更新情報の取得要求を受信した場合に、該複合機に対して送信すべき更新情報を作成し、通信制御部に通知する処理を行う。このようにして、サーバアプリケーション６００は、他装置が記憶する設定情報を少なくとも管理する。なお、図１（ａ）に示した複合機１２０のように、自装置がサーバアプリケーション６００及びクライアントアプリケーション５００を記憶する場合には、サーバアプリケーションは、自装置のクライアントアプリケーション５００が記憶する設定情報も管理する。
【００５７】
通信制御部６２０は、通信Ｉ／Ｆ２０７を介してクライアントアプリケーション５００との通信の制御を行う。通信制御部６２０は、複合機１２０、１２１、及び１２２との設定情報の同期を制御する。
【００５８】
通信制御部６２０は、制御部６２１と通信処理部６２２とを含む。制御部６２１は、複合機１２０、１２１、及び、１２２との設定情報の同期処理を制御する。制御部６２１は、通信処理部６２２が複合機１２０、１２１、及び１２２から設定情報の更新情報を受信した場合に、設定情報更新情報をマスタデータ管理部６１０に通知する。また、制御部６２１は、通信処理部６２２が複合機１２０、１２１、及び１２２より更新情報の取得要求を受信した場合に、マスタデータ管理部６１０より該複合機の更新情報を取得し、該複合機に送信するよう通信処理部６２２に指示する処理を行う。
【００５９】
通信処理部６２２は、通信Ｉ／Ｆ２０７を介してクライアントアプリケーション５００との通信処理を行う。
【００６０】
つぎに、クライアントアプリケーション５００が実行する処理について図７のフローチャートを用いて説明する。図７に示す処理は、複合機１２０、１２１、又は、１２２が起動してから、複合機がサーバ１１０に接続してサーバ１１０との設定情報の同期処理を開始するまでの処理である。以下では、複合機１２０において実行される例について説明するが、複合機１２１、及び、１２２においても同じ処理が実行される。図７のフローチャートは複合機１２０、１２１、又は、１２２が起動を開始したことに基づいて開始される場合について説明するがこれに限らない。ユーザが図７のフローチャートに示す処理の実行を指示した場合に開始されることとしても良い。また、起動以外の処理が複合機１２０、１２１、又は、１２２において実行されたことをトリガにして、図７の処理が開始されることとしても良い。
【００６１】
図７のフローチャートの各手順は、複合機１２０のＣＰＵ３０２によって実行される。本フローチャートに示される一連の処理は、例えば複合機１２０の操作部３２０にある、図示しない電源ボタンの押下などにより開始される。電源ボタンの押下によって、複合機１２０の起動処理が開始される。図７に示す処理が開始される条件としては、設定情報の同期機能が有効になった場合、設定情報の同期を行うデバイスとして動作していた複合機１２０内でサーバ１１０が有効になった場合等が挙げられるが、それらに限定されない。
【００６２】
まずステップＳ７０１において、制御部５２１は、接続先サーバのＩＰアドレスが設定されているか否かを判定する。本実施形態では、接続先サーバのＩＰアドレスはＨＤＤ３０５に設定情報として格納される。接続サーバのＩＰアドレスが設定されていない場合（Ｓ７０１でＮＯの場合）、ステップＳ７０２へ進む。一方、接続先サーバのＩＰアドレスが設定されている場合（Ｓ７０１でＹＥＳの場合）、ステップＳ７０９へ進み、サーバとの設定情報の同期処理を開始する。このようにして、サーバアプリケーション６００と通信するためのアドレス情報が複合機１２０に設定されている場合には、以下の処理を行う。すなわち、ネットワーク１００上のサーバの数に関わらず、アドレス情報に応じたサーバアプリケーション６００に複合機１２０が記憶する設定情報を管理させる処理を開始する。
【００６３】
ステップＳ７０２において、制御部５２１は、自装置がデバイスサーバであるか否かを確認する。ここでデバイスサーバとは、図１（ａ）の複合機１２０のように、サーバ１１０としての機能と、クライアントとしての機能を兼ね備える装置のことをいう。デバイスサーバでは、図５を用いて説明したクライアントアプリケーション５００、及び、図６を用いて説明したサーバアプリケーション６００が動作する。サーバ１１０としての複合機１２０は、クライアントとしての複合機１２０、１２１、及び、１２２の設定値の管理を行う。複合機１２０の起動に応じて、サーバアプリケーション６００及びクライアントアプリケーション５００の両方が起動する。
【００６４】
ステップＳ７０２では、例えば、通信処理部５２３から自装置のＩＰアドレスを指定して所定の探索パケットを送出してサーバ１１０からの応答があった場合には、自装置がデバイスサーバであると判定する方法などがある。パケットの送出のための通信プロトコルとしては例えばＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いることができる。または複合機１２０は、自身がサーバとして機能することを示す情報を予め記憶し、この情報を確認することによりステップＳ７０２の処理を行うこととしてもよい。あるいは、サーバアプリケーション６００が同じ装置内に有るクライアントアプリケーション５００に通知を行うこととしてもよい。この通知はクライアントアプリケーション５００が動作する同じ装置内にサーバアプリケーション６００が存在することを示す通知である。ステップＳ７０２における判定方法は上記に限られず、特に限定しない。図１（ａ）に示した例では、複合機１２０はサーバ機能を有するデバイスサーバであるため、ステップＳ７０２では自装置がデバイスサーバであることを確認する。自装置がデバイスサーバである場合には、例えば、自装置がデバイスサーバであることを示すフラグを立てて記憶部に記憶することができる。ステップＳ７０２の処理の実行後、ステップＳ７０３に進む。
【００６５】
ステップＳ７０３において、制御部５２１は、ネットワーク上に存在するサーバを探索する。探索方法としては、通信処理部５２３に依頼して、Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（以下、ＳＬＰ）でＬＡＮ内にマルチキャストパケットを送出し、応答があるサーバを見つけることで探索する方法などが考えられる。なお、ＳＬＰによる探索では、メッセージの送り元のデバイスは検出されない。すなわち、ＳＬＰを用いた探索では、自装置がデバイスサーバでありサーバ機能を有する場合であってもステップＳ７０３では自装置はサーバとして検出されない。サーバの探索の方法は上記に限られず、特に限定しない。ステップＳ７０２の処理とステップＳ７０３の処理は処理順序の前後を問わない。すなわち、ステップＳ７０１でＹＥＳの場合、ステップＳ７０３の処理を実行した後にステップＳ７０２の処理を実行することとしてもよい。制御部５２１は、ステップＳ７０２及びステップＳ７０３の処理を実行するとステップＳ７０４の処理に進む。
【００６６】
ステップＳ７０４では、ステップＳ７０２の確認結果に基づいて自装置がデバイスサーバであるか否かを判定する。例えば、ステップＳ７０２の処理の結果、自装置がデバイスサーバであることを示すフラグが立っているかを判定することにより、自装置がデバイスサーバであるか否かを判定することができる。判定の方法はこれに限られず、特に限定しない。このようにして制御部５２１は、自装置がサーバであるか否かを判定する。
【００６７】
自装置がデバイスサーバである場合には制御部５２１はステップＳ７０５に進む。一方、自装置がデバイスサーバでない場合には制御部５２１はステップＳ７０６に進む。図１（ａ）に示した構成では、複合機１２０はサーバ機能を有するデバイスサーバであるため、ステップＳ７０５に進む。一方、複合機１２１、及び、複合機１２２はデバイスサーバではないため、ステップＳ７０６に進む。
【００６８】
ステップＳ７０５では、ステップＳ７０３において検出したサーバの台数に１を足す。上述のように、本実施例においてステップＳ７０３では自装置以外のサーバの台数が検出される。そこで、自装置がサーバ機能を有する場合にはステップＳ７０３において検出したサーバ台数に１を足すことにより、システムにおけるサーバの総数を取得することができる。ステップＳ７０５の処理の実行後、ステップＳ７０６へ進む。
【００６９】
ステップＳ７０２からステップＳ７０５の処理を実行することにより、制御部５２１の検出部５２４は、自装置及び自装置にネットワークを介して接続された装置のうち、サーバの数を検出することができる。
【００７０】
本実施形態では、ステップＳ７０２からステップＳ７０５の処理において、自装置がサーバであるか否かを判定する処理と、自装置以外のサーバの台数を検出する処理とを分けて実行する例について説明したが、これに限らない。自装置も検出対象としてシステム内のサーバの総数を１回の処理で検出することとしてもよい。
【００７１】
ステップＳ７０６において、制御部５２１は、ステップＳ７０２、及び、Ｓ７０３で検出したサーバの総数が１台であるか否か判定する。サーバの総数が１台の場合は、制御部５２１はステップＳ７０８へ進む。一方、サーバの総数が０台又は２台以上の場合は、制御部５２１はステップＳ７０７へ進む。
【００７２】
ステップＳ７０７において、制御部５２１は、操作部３２０の表示部３２１にエラーメッセージを表示する。エラーメッセージは検出されたサーバの総数に応じて切り替えても良い。例えば、サーバの総数が０台である場合は「サーバが見つかりませんでした。」というメッセージを表示する。またサーバの総数が２台以上である場合は「サーバを特定できませんでした。」というメッセージを表示することができる。
【００７３】
このようにして、制御部５２１は、サーバとして検出した装置の台数が２台以上である場合には、サーバとの設定値の同期処理が開始されないことを示すメッセージを表示部３２１に表示させる表示制御を行う。また制御部５２１は、検出した台数に応じて異なるメッセージを表示部３２１に表示させる表示制御を行う。ただしエラーメッセージの表示の方法は上述の例に限られない。検出したサーバの台数に関わらず共通のメッセージを表示してもよい。エラーメッセージを表示すると制御部５２１は図７に示す処理を終了する。このようにして、サーバとして検出した装置の台数が０台又は２台以上である場合には、サーバとの設定情報の同期処理を開始しないようにすることができる。
【００７４】
複数のサーバが検出されたためクライアントアプリケーション５００がサーバを特定できなかった場合には、ユーザが使用するサーバを選択し、接続先のサーバを複合機１２０に手動で設定することができる。制御部５２１は、サーバを特定できなかった場合には、ユーザがサーバを手動で設定するために用いる設定画面を操作部３２０の表示部３２１に表示させたり、当該設定画面へのショートカットを操作部３２０に表示させたりすることとしてもよい。
【００７５】
ステップＳ７０８では、制御部５２１は、検出したサーバのＩＰアドレスを自装置の接続先のアドレスとして設定する。例えば制御部５２１は、検出したサーバのＩＰアドレスを接続先サーバのＩＰアドレスとして保存するよう、キャッシュデータ管理部５１０に依頼する。このようにして、サーバとして検出した装置の台数が１台である場合には、キャッシュデータ５１１が記憶する設定情報をサーバアプリケーション６００に管理させる処理をステップＳ７０９において開始できるようになる。依頼を受けたキャッシュデータ管理部５１０は、検出したサーバのＩＰアドレスを、接続先サーバのＩＰアドレスとしてＨＤＤ３０５に保存する。ステップＳ７０８の処理を実行すると、制御部５２１はステップＳ７０９の処理に進む。
【００７６】
ステップＳ７０９において、制御部５２１は、サーバアプリケーション６００との所定の同期処理を実行するよう通信処理部５２３に指示する。指示を受けた通信処理部５２３は、サーバアプリケーション６００に対して所定の同期処理を開始する。
【００７７】
本実施形態においてこの同期処理は、複合機１２０、１２１、及び１２２が起動したときにサーバ１１０に対して実行するように設定された同期処理である。この所定の同期処理において各複合機は、自身がキャッシュデータ５１１に記憶する設定情報をサーバ１１０に対して通知する。サーバ１１０は、各複合機から取得した設定情報をマスタデータ４０１に記録して管理する。このようにして、各複合機がキャッシュデータ５１１に記憶する設定情報とサーバ１１０がマスタデータ４０１に記憶する設定情報との同期が開始される。
【００７８】
この同期処理が実行された後は、上述した更新情報のサーバ１１０と各複合機との間でのやり取りによってマスタデータ４０１及びキャッシュデータ５１１が逐次更新される。すなわち、複合機１２０のキャッシュデータ５１１が記憶する設定情報が更新された場合には更新内容を示す更新情報をサーバアプリケーション６００に通知する。また、サーバ１１０のマスタデータ４０１が更新された場合には、サーバ１１０は複合機からの更新確認要求に応答して、更新情報を複合機に送信する。通信処理部５２３は、ステップＳ７０９における同期処理の実行結果を制御部５２１に通知する。
【００７９】
通信処理部５２３から同期処理の実行結果を受けた制御部５２１は、ステップＳ７１０において、同期処理の実行結果をログ情報としてＨＤＤ３０５に記憶する。図８は、ステップＳ７１０で記憶されるログ情報の一例を示す図である。本実施形態のログ情報には、通信の成否を表すレベル、通信日時、処理内容、接続先ＵＲＬ、及び、対象データへのアクセス種別などが含まれている。レベルは、成功の場合にはＮｏｒｍａｌ、一時的要因で失敗した場合にはＷａｒｎｉｎｇ、恒久的要因で失敗した場合にはＥｒｒｏｒとなる。ここに示すログ情報の記憶形態は一例であり、これ以外の形態を取るものでもよい。
【００８０】
ステップＳ７１０の処理を実行して、複合機１２０が起動してから、サーバ１１０に接続して同期処理を開始するまでの処理を終了する。
【００８１】
本実施形態によれば、複合機１２０、１２１、又は、１２２の起動に際し、システムにおけるサーバの台数が１台である場合には、起動した複合機とサーバ１１０との同期処理を自動的に開始させることができる。また、複合機１２０、１２１、又は、１２２の起動に際し、システムにおけるサーバの台数が１台である場合には、起動した複合機とサーバ１１０との同期処理を自動的には開始させないようにすることができる。
【００８２】
このようにして、システムに接続された複合機の設定情報が１台のサーバ１１０によって一元管理されるようにすることができる。従って、サーバ１１０と複合機１２０、１２１、及び、１２２との間の同期処理を行うための処理の複雑化を防ぎ、効率的に同期処理を行うことができる。また、サーバ１１０と複合機１２０、１２１、及び、１２２とが記憶する設定情報の不整合が生じる可能性を低減させることができる。
【００８３】
なお本実施形態では、サーバ１１０と複合機１２０は同一のデバイスである例を取って説明したが、サーバ１１０は図１（ｂ）に示すように独立したサーバとしてもよい。
【００８４】
（実施形態２）
本実施形態では、複合機が起動してサーバ１１０に接続する際に複数のサーバが検出された場合でも、実際に設定情報の管理を行うサーバの数が１台である場合は、起動した複合機とサーバ１１０との同期処理を開始させる例について説明する。
【００８５】
本実施形態のシステム構成、ハードウェア構成、ソフトウェア構成、データ構造及び処理手順は、実施形態１で図１から図６を用いて説明したものと同一であるため、その説明を省略し、異なる箇所について説明する。
【００８６】
本実施形態において、複合機１２０が行う設定情報の同期処理について、図９のフローチャートを用いて説明する。図９に示す処理は、複合機１２０、１２１、又は、１２２が起動してから、複合機がサーバ１１０に接続してサーバ１１０との設定情報の同期処理を開始するまでの処理を示す。図９のフローチャートは複合機１２０、１２１、又は、１２２が起動を開始したことに基づいて開始される場合について説明するがこれに限らない。ユーザが図９のフローチャートに示す処理の実行を指示した場合に開始されることとしても良い。また、起動以外の処理が複合機１２０、１２１、又は、１２２において実行されたことをトリガにして、図９の処理が開始されることとしても良い。図９の処理はクライアントアプリケーション５００によって実行される処理である。以下では、複合機１２０において実行される例について説明するが、複合機１２１、及び、１２２においても同じ処理が実行される。
【００８７】
図９のフローチャートの各手順は、複合機１２０のＣＰＵ３０２によって実行される。本フローチャートに示される一連の処理は、実施形態１において図７を用いて説明した処理と同様のタイミングで開始される。
【００８８】
図９に示した処理が開始されると、制御部５２１は実施形態１において図７を用いて説明したステップＳ７０１からＳ７０６の処理を実行する。
【００８９】
ステップＳ７０２及びステップＳ７０３において検出されたサーバの台数の総数が１台である場合（Ｓ７０６でＹＥＳの場合）、制御部５２１は実施形態１と同様にステップＳ７０８からＳ７１０の処理を実行する。一方、検出されたサーバの台数が０台又は２台以上の場合（Ｓ７０６でＮＯの場合）にはステップＳ９０１に進む。
【００９０】
ステップＳ９０１において、制御部５２１は、ステップＳ７０２及びステップＳ７０３で検出された各サーバに対して、現在システム内の複合機の設定情報を管理しているか否かを問い合わせるように通信処理部５２３に指示する。この指示を受けた通信処理部５２３は、サーバアプリケーション６００と通信し、現時点で設定情報を管理しているか否か問い合わせ、返答を受信する。
【００９１】
例えばサーバ１１０は、自身が設定情報を管理している状態であるか否かを示す状態情報を記憶する。そしてクライアントアプリケーション５００からの問い合わせがあった場合には、状態情報に基づいて、問い合わせを行ったクライアントアプリケーション５００に応答する。あるいは、クライアントアプリケーション５００は、問い合わせとして状態情報の取得要求をサーバアプリケーション６００に送信して、状態情報を取得することとしてもよい。ただし、問い合わせの方法はこれらに限られない。
【００９２】
ステップＳ７０２及びステップＳ７０３において検出されたサーバの台数の総数が０台である場合には、問合せは行われずステップＳ９０２へ進む。
【００９３】
ステップＳ９０２において、制御部５２１は、ステップＳ９０１の問い合わせに対して設定情報を管理しているという返答を返してきたサーバの総数が１台か否か判定する。このようにして、複合機１２０及びネットワーク１００を介して接続された複数の装置のうち、他の装置が記憶する設定情報の管理を実行中のサーバの数が０台又は２台以上であるか判定する。設定情報を管理しているという返答を返してきたサーバの総数が１台の場合は、ステップＳ７０８へ進む。一方、０台又は２台以上の場合は、ステップＳ７０７へ進む。以降は実施形態１において図７を用いて説明した内容と同じ処理が実行される。このようにして、他の装置が記憶する設定情報の管理を実行中のサーバの数が１台であると判定した場合には、当該サーバアプリケーションに複合機１２０の設定情報を管理させる処理を開始する。また、他の装置が記憶する設定情報の管理を実行中のサーバが２以上であると判定した場合には、前記処理が開始されないことを示すメッセージを表示部３２１に表示させる。
【００９４】
本実施形態によれば、実施形態１と同様にサーバ１１０と複合機１２０、１２１、及び、１２２との間の同期処理を行うための処理の複雑化を防ぎ、効率的に同期処理を行うことができる。また、サーバ１１０と複合機１２０、１２１、及び、１２２とが記憶する設定情報の不整合が生じる可能性を低減させることができる。
【００９５】
また本実施形態によれば、複合機が起動してサーバ１１０に接続する際に複数のサーバが検出された場合でも、実際に設定情報の管理を行うサーバの数が１台である場合は、起動した複合機とサーバ１１０との同期処理を開始させることができる。
【００９６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９７】
１１０  サーバ
１２０  複合機
３０２  ＣＰＵ
５００  クライアントアプリケーション
６００  サーバアプリケーション
５１１  キャッシュデータ
４０１  マスタデータ
５２４  検出部
５２１  制御部
【図１】
0006748411.tif 000009
【図２】
0006748411.tif 000010
【図３】
0006748411.tif 000011
【図４】
0006748411.tif 000012
【図５】
0006748411.tif 000013
【図６】
0006748411.tif 000014
【図７】
0006748411.tif 000015
【図８】
0006748411.tif 000016
【図９】
0006748411.tif 000017