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