(57)【要約】【課題】キャッシュメモリの記憶容量を圧迫せずに、記憶装置の障害発生率が高まる前から記憶装置へのアクセスを低減することを目的とする。【解決手段】保存手段により保存された判定結果が、登録要求、又は更新要求を送信してきたクライアント装置を識別する識別情報が応答済み一覧に含まれることを示している場合、応答済み一覧の初期化後、識別情報を応答済み一覧に追加する。同期要求が、サーバ装置が保持するデータとクライアント装置が保持するデータとの差分を示す差分データの取得要求であり、差分データの取得要求を送信してきたクライアント装置を識別する識別情報が応答済み一覧に含まれている場合、記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した差分データがないことを示すデータをクライアント装置に応答する。【選択図】図６
2019197416.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置であって、
前記サーバ装置が保持するデータとクライアント装置が保持するデータとの同期要求を複数のクライアント装置から受け付ける受付手段と、
前記同期要求が、前記サーバ装置に新たにデータを登録する登録要求、又は前記サーバ装置の特定のデータを更新する更新要求である場合、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報がキャッシュメモリに記憶されている応答済み一覧に含まれるか否かの判定結果を保存する保存手段と、
前記保存手段により保存された前記判定結果が、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれることを示している場合、前記応答済み一覧の初期化後、前記識別情報を前記応答済み一覧に追加する追加手段と、
前記同期要求が、前記サーバ装置が保持するデータと前記クライアント装置が保持するデータとの差分を示す差分データの取得要求であり、前記差分データの取得要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれている場合、記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した前記差分データがないことを示すデータを前記クライアント装置に応答する応答手段と、
を有するサーバ装置。
【請求項２】
前記登録要求、又は前記更新要求にクライアント装置が指定するデータ種別が含まれている場合、前記保存手段は、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報がキャッシュメモリに記憶されている前記データ種別の応答済み一覧に含まれるか否かの判定結果を保存し、
前記保存手段により保存された前記判定結果が、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報が前記データ種別の前記応答済み一覧に含まれていることを示している場合、前記データ種別の前記応答済み一覧の初期化後、前記追加手段は、前記識別情報を前記データ種別の前記応答済み一覧に追加し、
前記差分データの取得要求にクライアント装置が指定するデータ種別が含まれている場合で、前記差分データの取得要求を送信してきたクライアント装置を識別する識別情報が前記データ種別の前記応答済み一覧に含まれている場合、前記応答手段は、前記記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した前記差分データがないことを示すデータを前記クライアント装置に応答する請求項１記載のサーバ装置。
【請求項３】
前記登録要求、又は前記更新要求にクライアント装置が指定するユーザ識別情報が含まれている場合、前記保存手段は、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報がキャッシュメモリに記憶されている前記ユーザ識別情報の応答済み一覧に含まれるか否かの判定結果を保存し、
前記保存手段により保存された前記判定結果が、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報が前記ユーザ識別情報の前記応答済み一覧に含まれていることを示している場合、前記ユーザ識別情報の前記応答済み一覧の初期化後、前記追加手段は、前記識別情報を前記ユーザ識別情報の前記応答済み一覧に追加し、
前記差分データの取得要求にクライアント装置が指定するユーザ識別情報が含まれている場合で、前記差分データの取得要求を送信してきたクライアント装置を識別する識別情報が前記ユーザ識別情報の前記応答済み一覧に含まれている場合、前記応答手段は、前記記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した前記差分データがないことを示すデータを前記クライアント装置に応答する請求項１記載のサーバ装置。
【請求項４】
前記記憶装置を更に有し、
前記記憶装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である請求項１乃至３何れか１項記載のサーバ装置。
【請求項５】
前記サーバ装置は、画像を形成する画像形成装置である請求項１乃至４何れか１項記載のサーバ装置。
【請求項６】
サーバ装置が実行する情報処理方法であって、
前記サーバ装置が保持するデータとクライアント装置が保持するデータとの同期要求を複数のクライアント装置から受け付ける受付工程と、
前記同期要求が、前記サーバ装置に新たにデータを登録する登録要求、又は前記サーバ装置の特定のデータを更新する更新要求である場合、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報がキャッシュメモリに記憶されている応答済み一覧に含まれるか否かの判定結果を保存する保存工程と、
前記保存工程により保存された前記判定結果が、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれることを示している場合、前記応答済み一覧の初期化後、前記識別情報を前記応答済み一覧に追加する追加工程と、
前記同期要求が、前記サーバ装置が保持するデータと前記クライアント装置が保持するデータとの差分を示す差分データの取得要求であり、前記差分データの取得要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれている場合、記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した前記差分データがないことを示すデータを前記クライアント装置に応答する応答工程と、
を含む情報処理方法。
【請求項７】
コンピュータを、請求項１乃至５何れか１項記載のサーバ装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合機等の情報処理装置では、機器のデータを格納するためにハードディスク（ＨＤＤ）等の不揮発メディアが搭載されている。一方で特許文献１のように、複合機を別の複合機の設定値を同期・管理するようなサーバとして運用するようなケースも存在する。特許文献１のようなケースでは、複数台のクライアントとして動作する複合機からデータ更新要求と、データ取得要求とが行われる。この場合、データ更新要求とデータ取得要求とが行われる度にサーバとして動作する複合機のＨＤＤへのアクセスが発生するため、ＨＤＤへのアクセス負荷が高いことによる故障が問題になっている。
一方で、ＨＤＤへのアクセス負荷を減らすための提案がなされている。特許文献２には、障害発生率が高いＨＤＤに対してはキャッシュメモリを利用してアクセスを制限することが記載されている。特許文献２のシステムは、データリードを行う際に、目的とするデータが、障害率が高いＨＤＤに存在する場合には、目的とするデータがキャッシュメモリに存在するか判定する。存在すればそのキャッシュメモリからデータを読み込む。また、特許文献２のシステムは、存在しなければ、ＨＤＤからデータを読み込み、同じデータをキャッシュメモリにも書き込む。また、特許文献２のシステムは、データライトをする際には、障害発生率が高いＨＤＤにはデータを書き込まず、キャッシュに対してライトを行う。特許文献２のシステムは、キャッシュメモリに記憶したデータがクリアされる前にキャッシュメモリのデータをＨＤＤに書き込む。
特許文献２に記載の技術は、１つの装置が複数のＨＤＤを有し、障害発生率が高いＨＤＤはなるべく使用しないようにすることを目的とするものである。特許文献２に記載の技術はＨＤＤの障害発生率が高くなったらキャッシュメモリを用いて代用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１２１９８９号公報
【特許文献２】特開２００５−２５８６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献２に記載の技術では、１台のＨＤＤのアクセスを低減し長く使用するための構成について考慮されていなかった。即ち、特許文献２に記載の技術では、障害発生率が高まる前からＨＤＤのアクセスを低減するための方法について考慮されていなかった。また、特許文献２に記載の技術では、故障発生率が高くなったＨＤＤに記憶されているデータ全てについてキャッシュメモリでリードライトを行うので、キャッシュメモリの記憶容量が圧迫されるという課題があった。
【課題を解決するための手段】
【０００５】
本発明は、サーバ装置であって、前記サーバ装置が保持するデータとクライアント装置が保持するデータとの同期要求を複数のクライアント装置から受け付ける受付手段と、前記同期要求が、前記サーバ装置に新たにデータを登録する登録要求、又は前記サーバ装置の特定のデータを更新する更新要求である場合、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報がキャッシュメモリに記憶されている応答済み一覧に含まれるか否かの判定結果を保存する保存手段と、前記保存手段により保存された前記判定結果が、前記登録要求、又は前記更新要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれることを示している場合、前記応答済み一覧の初期化後、前記識別情報を前記応答済み一覧に追加する追加手段と、前記同期要求が、前記サーバ装置が保持するデータと前記クライアント装置が保持するデータとの差分を示す差分データの取得要求であり、前記差分データの取得要求を送信してきたクライアント装置を識別する識別情報が前記応答済み一覧に含まれている場合、記憶装置へのアクセスを行わず、差分データがないことを示すデータを生成し、生成した前記差分データがないことを示すデータを前記クライアント装置に応答する応答手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、キャッシュメモリの記憶容量を圧迫せずに、記憶装置の障害発生率が高まる前から記憶装置へのアクセスを低減することができる。
【図面の簡単な説明】
【０００７】
【図１】設定値同期システムのシステム構成の一例を示す図である。
【図２】複合機のハードウェア構成の一例を示す図である。
【図３】設定値管理サーバのハードウェア構成の一例を示す図である。
【図４】設定値管理サーバが管理するデータ構成の一例を示す図である。
【図５】複合機、設定値管理サーバのソフトウェア構成の一例を示す図である。
【図６】設定値管理サーバの情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、設定値同期システムのシステム構成の一例を示す図である。ネットワーク１００には、複合機１１０ａ、複合機１１０ｂ、設定値管理サーバ１２０が接続されている。
設定値管理サーバ１２０は、複合機１１０ａ、複合機１１０ｂの設定値を管理しており、サーバ上で保持する設定値を複合機１１０ａ、複合機１１０ｂに反映させることのできる機能を持つ。複合機１１０ａ及び複合機１１０ｂは、設定値管理サーバ１２０に対するクライアントとして機能する。
設定値管理サーバ１２０の機能は複合機１１０ａや複合機１１０ｂ上に配置することができ、その場合はハード構成としての設定値管理サーバ１２０は存在しない。
設定値管理サーバ１２０、複合機１１０ａや複合機１１０ｂについての詳細な説明は後述する。また、複合機１１０ａ及び複合機１１０ｂを総称して複合機１１０として説明するが、複合機１１０は複合機１１０ａと複合機１１０ｂのどちらであってもよい。複合機１１０は、画像を形成する画像形成装置の一例である。
【００１０】
複合機１１０は、複数種類の機能（コピー、ＦＡＸ等）を実現する機器であり、内部にそれらの機能の実行時に利用する設定値を記憶している。設定値に変更があった場合は、複合機１１０は、設定値管理サーバ１２０にネットワーク１００を介して変更情報を通知する。また、設定値管理サーバ１２０上で設定値の変更情報を受信した際には、複合機１１０は、自身の設定値の値を変更する。設定値管理サーバ１２０が管理する設置値には、複合機１１０ａ、１１０ｂが動作するために使用する設定値であるデバイス設定値と、ユーザが使用するための設定値であるユーザ設定値と、が存在する。更に、ユーザ設定値には、すべてのユーザで共有の設定値を使用するユーザ共有設定値と、ユーザそれぞれで別々の設定を使用するユーザ固有設定値と、がある。
設定値管理サーバ１２０上の設定値に変更があった場合は、複合機１１０ａ、複合機１１０ｂ両方に設定値の変更情報が通知される。また、複合機１１０ａ、複合機１１０ｂどちらか一方の設定値に変更があった場合は、初めに、設定値管理サーバ１２０に変更情報が通知され、その後、設定値管理サーバ１２０経由で他方の複合機１１０にも変更情報が通知される。
【００１１】
図２は、複合機１１０のハードウェア構成の一例を示す図である。複合機１１０は、コントローラユニット２００、操作部２２０、スキャナ２３０、プリンタ２４０を含んでいる。
コントローラユニット２００は、より具体的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２を有する。ＣＰＵ２０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０６に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を立ち上げる。コントローラユニット２００は、このＯＳ上でＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０２の作業領域としては、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３が用いられる。ＨＤＤ２０５は、アプリケーションプログラムや各種データを格納する。
ＣＰＵ２０２には、システムバス２１０を介して、ＲＡＭ２０３及びＲＯＭ２０６と共に、操作部Ｉ／Ｆ２０１、デバイスＩ／Ｆ２０４、ネットワークＩ／Ｆ２０７、画像処理部２０８が接続される。
操作部Ｉ／Ｆ２０１は、タッチパネルを有する操作部２２０とのインタフェースである。操作部Ｉ／Ｆ２０１は、操作部２２０に表示する各種データ等の情報を送出したり、ユーザにより入力された情報をＣＰＵ２０２に送出したりする。デバイスＩ／Ｆ２０４には、スキャナ２３０及びプリンタ２４０が接続され、データや制御信号の入出力が行われる。ネットワークＩ／Ｆ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の設定値管理サーバ１２０及び複合機１１０との間で入出力を行う。画像処理部２０８では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う。
【００１２】
図３は、設定値管理サーバ１２０のハードウェア構成の一例を示す図である。設定値管理サーバ１２０は、コントローラユニット３００、操作部３２０を含んでいる。コントローラユニット３００は、ＣＰＵ３０２を有し、ＣＰＵ３０２は、ＲＯＭ３０６に格納されているブートプログラムによりＯＳを立ち上げる。ＣＰＵ３０２は、このＯＳ上でＨＤＤ３０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ３０２の作業領域としてはＲＡＭ３０３が用いられる。ＨＤＤ３０５は、アプリケーションプログラム、複合機１１０のデバイス設定値、ユーザ設定値等を格納する。
ＣＰＵ３０２には、システムバス３１０を介してＲＡＭ３０３及びＲＯＭ３０６と共に、操作部Ｉ／Ｆ３０１、ネットワークＩ／Ｆ３０７が接続される。
操作部Ｉ／Ｆ３０１は、マウス、キーボード等から成る操作部３２０とのインタフェースであり、操作部３２０によってユーザにより入力された情報をＣＰＵ３０２に送出する。また、ネットワークＩ／Ｆ３０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行うネットワークインタフェースである。ネットワークＩ／Ｆ３０７は、複合機１１０からの要求を受け付ける受付手段の一例である。
【００１３】
設定値管理サーバ１２０の機能は複合機１１０上に存在する形態（デバイスサーバ）であってもよい。その場合、操作部Ｉ／Ｆ３０１の代わりに操作部Ｉ／Ｆ２０１が、ＣＰＵ３０２の代わりにＣＰＵ２０２が、ＲＡＭ３０３の代わりにＲＡＭ２０３が、ＨＤＤ３０５の代わりにＨＤＤ２０５が、ＲＯＭ３０６の代わりにＲＯＭ２０６が使用される。また、ネットワークＩ／Ｆ３０７の代わりにネットワークＩ／Ｆ２０７が、操作部３２０の代わりに操作部２２０が使用される。
【００１４】
図４は、設定値管理サーバ１２０が管理するデータ構成の一例を示す図である。設定値管理サーバ管理データ４０１は、登録デバイス管理ＤＢ４１１、デバイス認証情報管理ＤＢ４１２、ユーザ情報管理ＤＢ４１３、設定値管理ＤＢ４１４から構成され、設定値管理サーバ１２０のＨＤＤ３０５に保存される。
登録デバイス管理ＤＢ４１１は、設定値管理サーバ１２０と同期している複合機１１０の登録情報を保持する。登録デバイス管理ＤＢ４１１は、表１のように、複合機１１０を一意に識別するためのデバイス識別子や、複合機１１０がどのような同期状態にあるかを示すステータスのデータを持つ。
【表１】
2019197416.tif 000003
【００１５】
デバイス認証情報管理ＤＢ４１２は、複合機１１０の認証情報を管理する。デバイス認証情報管理ＤＢ４１２で保持される情報について、表２を用いて説明する。デバイス認証情報管理ＤＢ４１２では、複合機１１０を一意に識別するためのデバイス識別子、複合機１１０が設定値管理サーバ１２０との同期処理を行うことの認可を示す認可トークン、設定値管理サーバ１２０が認可情報の発行日時等の情報を保持する。認可トークンは発行日時から一定の期間が過ぎた時点で無効となる。認可トークンを無効と判定するタイミングは、例えば複合機１１０から同期リクエストが行われた際に、設定値管理サーバ１２０が現在日時と発行日時とを比較する。そして、設定値管理サーバ１２０は、一定期間が過ぎていたら無効としてデバイス認証情報管理ＤＢ４１２から該当する認可トークンを削除する方法がある。また他には、設定値管理サーバ１２０で定期的に現在日時と発行日時とを比較し、一定期間が過ぎていたら認可トークンを無効と判断してデバイス認証情報管理ＤＢ４１２から該当する認可トークンを削除する方法等がある。何れも設定値管理サーバ１２０は、認可トークンを削除することで複合機１１０に再度登録を求める。
【表２】
2019197416.tif 000004
【００１６】
ユーザ情報管理ＤＢ４１３は、設定値管理サーバ１２０が複合機１１０と同期を行っている設定値に紐付くユーザの情報を管理する。ユーザ情報管理ＤＢ４１３では、表３のように、ユーザを一意に識別するためのユーザＩＤ、ユーザの表示名を示すユーザ名等の情報を保持する。
【表３】
2019197416.tif 000005
【００１７】
設定値管理ＤＢ４１４は、設定値管理サーバ１２０が複合機１１０と同期する設定値を保持する。設定値管理ＤＢ４１４は、表４のように、設定値を識別するための設定値識別子と、設定値情報を示すデータと、を持つ。
【表４】
2019197416.tif 000006
【００１８】
図５は、複合機１１０、設定値管理サーバ１２０のソフトウェア構成の一例を示す図である。
複合機１１０が備える各機能部はＣＰＵ２０２がＨＤＤ２０５に格納された複合機ファームウェア５１０のプログラムを読みだして実行することにより実現されるものである。
設定管理サーバ１２０が備える各機能部はＣＰＵ３０２がＨＤＤ３０５に格納された設定値管理サービス５００のプログラムを呼び出して実行することにより実現されるものである。
設定値管理サービス５００側には設定値管理サーバ管理データ４０１のデータを編集するサーバＤＢ管理モジュール５０１があり、全てのデータはこのモジュールを介して編集される。同期制御サーバモジュール５０２は、ネットワーク１００を利用して複合機１１０からのデータ取得要求や変更要求を受け、サーバＤＢ管理モジュール５０１に対して読み書きの指示を行う。一方、複合機ファームウェア５１０側には設定値ＤＢ５１３が配置され、設定値管理モジュール５１１を介して読み書きが行われる。図５の上では割愛しているが複合機１１０上で動作する全てのアプリケーションプログラムはこの設定値管理モジュール５１１を利用して設定値ＤＢ５１３のデータにアクセスする。設定値ＤＢ５１３はＨＤＤ２０５に保存されており、設定値の識別子、設定値の値等の要素から構成される。
【００１９】
同期制御クライアントモジュール５１２は、ネットワーク１００を介して設定値管理サービス５００側の同期制御サーバモジュール５０２に対してデータ同期リクエストを行う。そして、同期制御クライアントモジュール５１２は、サーバ側のＤＢ変更の複合機１１０側への取り込み、又は複合機１１０側の設定値ＤＢ５１３の更新をサーバ側のＤＢに反映させるための動作を行う。同期制御クライアントモジュール５１２は、データ同期リクエストのために必要な情報を同期制御管理ファイル５１４に書き込み、読み出しを行う。同期制御管理ファイル５１４は、ＨＤＤ２０５に保存されており、設定値の最終更新時刻、認証方法、認証トークン、同期制御のログ等の情報が保存される。
同期制御クライアントモジュール５１２が同期リクエストを行うタイミングは、ある特定の契機にて行うタイミングか、又は定常的なポーリングを行うタイミングである。ある特定の契機のリクエストは、例えばユーザが操作部２２０からログイン処理を実行した際に、ログインしたユーザのユーザ固有設定値を取得するために使用される。また定常的なポーリングは、例えば、ユーザのログイン処理のように同期リクエストを行う契機が発生しないユーザ共通設定値の変更を検知するために使用され、設定値管理ＤＢ４１４の設定値識別子ごとに別々のポーリング間隔で使用される。
【００２０】
また、データ同期リクエストには取得リクエストと、登録・更新リクエストとがある。取得リクエストには設定値管理サービス５００上のすべてのデータを要求する全データ取得リクエスト、特定時刻からの更新データのみを要求する差分データ取得リクエストが存在する。登録・更新リクエストには新規にデータを登録するデータ登録リクエスト、特定のデータを更新するデータ更新リクエスト等が存在する。例えば、全データ取得リクエストは、設定値管理サービス５００と複合機ファームウェア５１０とが、データ同期を行っていない状態から、設定値管理サーバ管理データ４０１の設定値をすべて取得し、設定値ＤＢ５１３に反映することに使用される。また、差分データ取得リクエストは、設定値管理サービス５００と複合機ファームウェア５１０とが既に同期を開始している状態から、更新された設定値のみを取得し同期を開始することに使用される。この設定値ＤＢ５１３の変更を設定値管理サーバ管理データ４０１に反映する作業、及び、設定値管理サーバ管理データ４０１の変更を検知して設定値ＤＢ５１３に反映させる一連の動作を同期制御と位置付けている。データ登録リクエストは、登録要求の一例である。データ更新リクエストは、更新要求の一例である。
また、データ同期リクエスト中には、識別するための情報と同期のための情報とを含んでいる。例えば、識別するための情報としては、複合機１１０を一意に識別するためのデバイス識別子、複合機１１０が認可されていることを確認するための認可トークンが含まれている。同期のための情報としては、取得・登録・更新する設定値を指定する設定値識別子、登録・更新する設定値のデータ、複合機１１０上で設定値が更新された時間を示す更新時間等の情報が含まれている。
前述のデバイスサーバとなる運用形態の場合は、複合機１１０上で、設定値管理サービス５００及び複合機ファームウェア５１０の両方が動作する。
【００２１】
図６は、設定値管理サーバ１２０がネットワーク１００を通じて複合機１１０から、データ同期リクエストを受け付けた際の情報処理の一例を示すフローチャートである。フローチャートの各ステップは、設定値管理サーバ１２０のＣＰＵ３０２がＨＤＤ３０５に格納された設定値管理サービス５００のプログラムをＲＡＭ３０３に展開して実行することによって実現されるものである。
Ｓ６００において、設定値管理サービス５００は、データ取得リクエストか否かを判定する。設定値管理サービス５００は、データ取得リクエストである場合（Ｓ６００においてＹｅｓ）、Ｓ６０１に、データ取得リクエストでない場合（Ｓ６００においてＮｏ）、Ｓ６１０に処理を進める。
Ｓ６０１において、設定値管理サービス５００は、受け付けたリクエストが差分データ取得リクエストか否かを判定する。設定値管理サービス５００は、差分データ取得リクエストである場合（Ｓ６０１においてＹｅｓ）、Ｓ６０２に、差分データ取得リクエストでない場合（Ｓ６０１においてＮｏ）、Ｓ６０８に処理を進める。
【００２２】
Ｓ６０２において、設定値管理サービス５００は、リクエストを行った複合機１１０のデバイス識別子が、表５に示す応答済みリストにあるか否かを判定する。応答済みリストは、差分データ取得リクエストに対して一度応答を返した複合機１１０のデバイス識別子を記憶する表５のようなテーブルであり、ＲＡＭ３０３上に記憶されている。設定値管理サービス５００は、判定の結果、応答済みリストにデバイス識別子がある場合（Ｓ６０２においてＹｅｓ）、Ｓ６０３に、ない場合（Ｓ６０２においてＮｏ）、Ｓ６０５に処理を進める。
【表５】
2019197416.tif 000007
応答済みリストは、応答済み一覧の一例である。デバイス識別子は、クライアント装置を識別する識別情報の一例である。
【００２３】
Ｓ６０３において、設定値管理サービス５００は、差分が０件であることを示す空の応答データを生成し、Ｓ６０４に処理を進める。
Ｓ６０４において、設定値管理サービス５００は、複合機１１０にＳ６０３で生成した応答データを応答し、図６に示すフローチャートの処理を終了する。この処理ではサーバＤＢ管理モジュール５０１から設定値管理サーバ管理データ４０１へのアクセスは発生しないため、ＨＤＤ３０５へのアクセスも発生しない。
Ｓ６０５において、設定値管理サービス５００は、ＨＤＤ３０５に保存された設定値ＤＢ５１３から差分データを取得し、Ｓ６０６に処理を進める。
Ｓ６０６において、設定値管理サービス５００は、複合機１１０にＳ６０５で取得した差分データを応答し、Ｓ６０７に処理を進める。
Ｓ６０７において、設定値管理サービス５００は、応答を行った複合機１１０のデバイス識別子を応答済みリストに追加し、図６に示すフローチャートの処理を終了する。
【００２４】
Ｓ６０８において、設定値管理サービス５００は、応答済みリストからすべてのデバイス識別子を削除することで初期化を行い、Ｓ６０９に処理を進める。
Ｓ６０９において、設定値管理サービス５００は、サーバＤＢ管理モジュール５０１を通して設定値管理サーバ管理データ４０１の設定値管理ＤＢ４１４から、複合機１１０から指定された設定値識別子に一致するすべてのデータを取得する。その後、設定値管理サービス５００は、Ｓ６０６に処理を進める。
【００２５】
Ｓ６１０において、設定値管理サービス５００は、データ同期リクエストを送信してきた複合機１１０のデバイス識別子が応答済みリストに存在するか否かを判定し、判定結果をＲＡＭ３０３に保存し、Ｓ６１１に処理を進める。
Ｓ６１１において、設定値管理サービス５００は、応答済みリストからすべてのデバイス識別子を削除することで初期化を行い、Ｓ６１２に処理を進める。
Ｓ６１２において、設定値管理サービス５００は、受け付けたリクエストがデータ登録リクエストの場合は、複合機１１０から指定された設定値識別子と、指定された値とを設定値管理ＤＢ４１４に登録する。また、設定値管理サービス５００は、受け付けたリクエストがデータ更新リクエストの場合は、複合機１１０から指定された設定値識別子に一致する設定値管理ＤＢ４１４に保存されたデータを、複合機１１０から指定された値に更新する。その後、設定値管理サービス５００は、Ｓ６１３に処理を進める。
Ｓ６１３において、設定値管理サービス５００は、Ｓ６１２で登録・更新した処理結果を複合機１１０に応答し、Ｓ６１４に処理を進める。
【００２６】
Ｓ６１４において、設定値管理サービス５００は、Ｓ６１０で保存した判定結果をＲＡＭ３０３より読出し、リクエストを送信してきた複合機１１０のデバイス識別子が応答済リストに存在するか否かを判定する。設定値管理サービス５００は、存在する場合は（Ｓ６１４においてＹｅｓ）、Ｓ６１５に処理を進め、存在しない場合は（Ｓ６１４においてＮｏ）、図６に示すフローチャートの処理を終了する。
Ｓ６１５において、設定値管理サービス５００は、Ｓ６１３で応答を行った複合機１１０のデバイス識別子を応答済みリストに追加し、図６に示すフローチャートの処理を終了する。
【００２７】
本実施形態において、設定値管理サービス５００は、データ更新要求を処理するときに要求元の複合機１１０のデバイス識別子が応答済リストに記載されている場合、応答済リスト初期化後に要求元の複合機１１０のデバイス識別子を応答済リストに記載する。これにより設定値管理サービス５００は、データ更新要求処理後に同じ複合機１１０からの差分データ取得要求を処理するとき、応答済リストの記載から差分の有無を判断し応答することができる。この結果、複合機１１０からのデータ更新要求を処理した後、他の複合機１１０からのデータ更新要求を処理していないときには、同じ複合機１１０から差分データ取得要求を処理するときに、ＨＤＤ３０５にアクセスすること無く応答することができる。したがって、Ｓ６１５の処理を行わない場合に比べて、ＨＤＤ３０５へのアクセス回数を減らすことができる。
【００２８】
本実施形態におけるデータの同期を、設定値管理サーバ管理データ４０１で保持しているデータの種別毎に実行してもよく、同期するデータの種別毎の単位で応答済みリストを保持してもよい。データ種別毎に同期を実行し、データ種別毎に応答済リストを保持する場合、設定値管理サービス５００は、データ同期要求処理時に、要求に含まれるデータ種別に対応づく応答済リストに対して初期化やデバイス識別子の追加を行う。これにより、設定値管理サービス５００は、データ更新要求を処理後に、同じ複合機１１０からの同じデータ種別の差分データ取得要求を処理するときには、その要求のデータ種別に対応づく応答済みリストから差分の有無を判断し応答することができる。この結果、差分データ取得要求を処理するときに、他の複合機１１０から同じデータ種別のデータ更新要求を処理していないときには、ＨＤＤ３０５にアクセスすること無く応答することができる。
他にも本実施形態におけるデータの同期を、設定値管理サーバ管理データ４０１で保持しているユーザＩＤ毎のデータに実行してもよく、同期するデータのユーザＩＤ毎の単位で応答済みリストを保持してもよい。ユーザＩＤ毎にデータの同期を実行し、ユーザＩＤ毎に応答済リストを保持する場合、設定値管理サービス５００は、データ同期要求処理時に、要求に含まれるユーザＩＤに対応づく応答済リストに対して初期化やデバイス識別子の追加を行う。これにより、設定値管理サービス５００は、データ更新要求を処理後に、同じ複合機１１０からの同じユーザＩＤの差分データ取得要求を処理するときには、その要求のユーザＩＤに対応づく応答済みリストから差分の有無を判断し応答することができる。これにより同じユーザが、同じ複合機１１０を使い続ける場合には、データ同期によるＨＤＤ３０５へのアクセスをデータ更新要求処理時のみとすることができる。ユーザＩＤは、ユーザ識別情報の一例である。
また、本実施形態におけるデータの同期を、データ種別毎とユーザＩＤ毎とを組み合わせて実行してもよい。その場合、組み合わせに応じたデータ毎に同期を実行してもよく、組み合わせに応じたデータ単位で応答済リストを保持してもよい。このときデータ種別とユーザＩＤとを組み合わせた単位でデータ同期を実行することでき、差分データ取得要求を処理する際には、組み合わせた単位に対応する応答済リストの記載から、差分の有無を判断し応答することができる。これにより、差分データ取得要求を処理するときに、他の複合機１１０から同じ組み合わせ単位のデータ更新要求を処理していないときには、ＨＤＤ３０５にアクセスすること無く応答することができる。この結果、データ種別とユーザＩＤとを組み合わせた単位でＨＤＤ３０５へのアクセスを削減することができる。
【００２９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３０】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述した各実施形態では、記憶装置の一例としてＨＤＤを例に説明を行ったがこれに限定されるものではなく、例えば、ＳＳＤ等、複数回の読み書きを行ううちに障害発生率が高まる記憶装置等に適用することができる。
また、上述した複合機１１０、設定値管理サーバ１２０は、共に１つのＣＰＵがＲＯＭ又はＨＤＤに記憶されたプログラムに基づき処理を実行するものとして説明を行った。しかし、複合機１１０、設定値管理サーバ１２０は、複数のＣＰＵ（又はプロセッサ）が複数のＲＡＭ、ＨＤＤ等を共同させてプログラムに基づき処理を実行するようにしてもよい。また、複合機１１０、設定値管理サーバ１２０のソフトウェア構成の一部又は全てをハードウェアとして複合機１１０、設定値管理サーバ１２０に実装するようにしてもよい。
【００３１】
以上、上述した各実施形態によれば、キャッシュメモリの記憶容量を圧迫せずに、記憶装置の障害発生率が高まる前から記憶装置へのアクセスを低減することができる。
【符号の説明】
【００３２】
１００  複合機
１２０  設定値管理サーバ
５００  設定値管理サービス
５１０  複合機ファームウェア
【図１】
2019197416.tif 000008
【図２】
2019197416.tif 000009
【図３】
2019197416.tif 000010
【図４】
2019197416.tif 000011
【図５】
2019197416.tif 000012
【図６】
2019197416.tif 000013