(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-18
(45)【発行日】2022-11-29
(54)【発明の名称】サーバ装置、制御方法及びプログラム
(51)【国際特許分類】
G06F 16/178 20190101AFI20221121BHJP
G06F 16/182 20190101ALI20221121BHJP
G06F 3/06 20060101ALI20221121BHJP
H04N 1/00 20060101ALI20221121BHJP
B41J 29/38 20060101ALI20221121BHJP
【FI】
G06F16/178
G06F16/182 100
G06F3/06 306Z
H04N1/00 127A
B41J29/38 301
(21)【出願番号】P 2018091461
(22)【出願日】2018-05-10
【審査請求日】2021-04-30
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】柴田 大介
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2015-176509(JP,A)
【文献】特開2016-173810(JP,A)
【文献】特開2009-123047(JP,A)
【文献】特開2013-065120(JP,A)
【文献】国際公開第2017/042890(WO,A1)
【文献】特開2017-147668(JP,A)
【文献】特開2016-032119(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 3/06
H04N 1/00
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
データベースを格納する
ストレージと、メモリとを備え、複数の情報処理装置と通信し、前記データベースと同期するための同期データを、データの取得要求の要求元の情報処理装置に対して送信するサーバ装置であって、
前記複数の情報処理装置のうちの一の情報処理装置から送信された更新データに基づいて前記データベースを更新する更新手段と、
前記更新されたデータベースに対応付けて、前記情報処理装置を管理するためのデバイス管理情報を前記メモリに保存する保存手段と、
前記データの取得要求を受け付ける受付手段と、
前記同期データを送信する送信手段と、
を有し、
前記保存手段は、前記デバイス管理情報において、前記一の情報処理装置を、同期された装置として管理し、
前記送信手段は、前記更新されたデータベースに対応付けられる前記デバイス管理情報において、前記データの取得要求の要求元の前記情報処理装置が、前記同期された装置であることを示さない場合には、前記更新されたデータベースにアクセスして前記同期データを送信し、前記同期された装置であることを示す場合には、前記更新されたデータベースにアクセスしないことを特徴とするサーバ装置。
【請求項2】
前記デバイス管理情報は、前記データベースが更新された後に前記サーバ装置と同期した前記情報処理装置の識別情報を含むことを特徴とする請求項1に記載のサーバ装置。
【請求項3】
前記デバイス管理情報は、前記データベースの更新に応じてリセットされることを特徴とする請求項2に記載のサーバ装置。
【請求項4】
前記データの取得要求は、前記更新されたデータベース内のすべてのデータを前記同期データとして取得するための要求であることを特徴とする請求項1に記載のサーバ装置。
【請求項5】
前記データの取得要求は、前記更新されたデータベース内のデータの一部を前記同期データとして取得するための要求であることを特徴とする請求項1に記載のサーバ装置。
【請求項6】
シート上に画像を形成するように構成された画像形成装置をさらに備えることを特徴と
する請求項1に記載のサーバ装置。
【請求項7】
データベースを格納する
ストレージと、メモリとを備え、複数の情報処理装置と通信し、前記データベースと同期するための同期データを、データの取得要求の要求元の情報処理装置に対して送信するサーバ装置の制御方法であって、
前記サーバ装置のコントローラが、前記複数の情報処理装置のうちの一の情報処理装置から送信された更新データに基づいて前記データベースを更新する更新工程と、
前記サーバ装置のコントローラが、前記更新されたデータベースに対応付けて、前記情報処理装置を管理するためのデバイス管理情報を前記メモリに保存する保存工程と、
前記サーバ装置のコントローラが、前記データの取得要求を受け付ける受付工程と、
前記サーバ装置のコントローラが、前記同期データを送信する送信工程と、
を含み、
前記保存工程では、前記デバイス管理情報において、前記一の情報処理装置を、同期された装置として管理し、
前記送信工程では、前記更新されたデータベースに対応付けられる前記デバイス管理情報において、前記データの取得要求の要求元の前記情報処理装置が、前記同期された装置であることを示さない場合には、前記更新されたデータベースにアクセスして前記同期データを送信し、前記同期された装置であることを示す場合には、前記更新されたデータベースにアクセスしないことを特徴とする制御方法。
【請求項8】
前記デバイス管理情報が、前記データベースが更新された後に前記サーバ装置と同期した前記情報処理装置の識別情報を含むことを特徴とする請求項7に記載の制御方法。
【請求項9】
前記デバイス管理情報は、前記データベースの更新に応じてリセットされることを特徴とする請求項7に記載の制御方法。
【請求項10】
前記データの取得要求は、前記更新されたデータベース内のすべてのデータを前記同期データとして取得するための要求であることを特徴とする請求項7に記載の制御方法。
【請求項11】
前記データの取得要求は、前記更新されたデータベース内のデータの一部を前記同期データとして取得するための要求であることを特徴とする請求項7に記載の制御方法。
【請求項12】
シート上に画像を形成するように構成された画像形成装置を制御するための請求項7に記載の制御方法。
【請求項13】
データベースを格納する
ストレージと、メモリとを備え、複数の情報処理装置と通信し、前記データベースと同期するための同期データを、データの取得要求の要求元の情報処理装置に対して送信するサーバ装置に実行させるためのプログラムであって、
前記複数の情報処理装置のうちの一の情報処理装置から送信された更新データに基づいて前記データベースを更新する更新手段と、
前記更新されたデータベースに対応付けて、前記情報処理装置を管理するためのデバイス管理情報を前記メモリに保存する保存手段と、
前記データの取得要求を受け付ける受付手段と、
前記同期データを送信する送信手段としてコンピュータを機能させ、
前記保存手段は、前記デバイス管理情報において、前記一の情報処理装置を、同期された装置として管理し、
前記送信手段は、前記更新されたデータベースに対応付けられる前記デバイス管理情報において、前記データの取得要求の要求元の前記情報処理装置が、前記同期された装置であることを示さない場合には、前記更新されたデータベースにアクセスして前記同期データを送信し、前記同期された装置であることを示す場合には、前記更新されたデータベースにアクセスしないことを特徴とするプログラム。
【請求項14】
前記デバイス管理情報は、前記データベースが更新された後に前記サーバ装置と同期した前記情報処理装置の識別情報を含むことを特徴とする請求項13に記載のプログラム。
【請求項15】
前記デバイス管理情報は、前記データベースの更新に応じてリセットされることを特徴とする請求項13に記載のプログラム。
【請求項16】
前記データの取得要求は、前記更新されたデータベース内のすべてのデータを前記同期データとして取得するための要求であることを特徴とする請求項13に記載のプログラム。
【請求項17】
前記データの取得要求は、前記更新されたデータベース内のデータの一部を前記同期データとして取得するための要求であることを特徴とする請求項13に記載のプログラム。
【請求項18】
シート上に画像を形成するように構成された画像形成装置に実行させるための請求項13に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、複合機等の情報処理装置では、機器のデータを格納するためにハードディスク(HDD)等の不揮発メディアが搭載されている。一方で特許文献1のように、複合機を別の複合機の設定値を同期・管理するようなサーバとして運用するようなケースも存在する。特許文献1のようなケースでは、複数台のクライアントとして動作する複合機からデータ更新要求と、データ取得要求とが行われる。この場合、データ更新要求とデータ取得要求とが行われる度にサーバとして動作する複合機のHDDへのアクセスが発生するため、HDDへのアクセス負荷が高いことによる故障が問題になっている。
一方で、HDDへのアクセス負荷を減らすための提案がなされている。特許文献2には、障害発生率が高いHDDに対してはキャッシュメモリを利用してアクセスを制限することが記載されている。特許文献2のシステムは、データリードを行う際に、目的とするデータが、障害率が高いHDDに存在する場合には、目的とするデータがキャッシュメモリに存在するか判定する。存在すればそのキャッシュメモリからデータを読み込む。また、特許文献2のシステムは、存在しなければ、HDDからデータを読み込み、同じデータをキャッシュメモリにも書き込む。また、特許文献2のシステムは、データライトをする際には、障害発生率が高いHDDにはデータを書き込まず、キャッシュに対してライトを行う。特許文献2のシステムは、キャッシュメモリに記憶したデータがクリアされる前にキャッシュメモリのデータをHDDに書き込む。
特許文献2に記載の技術は、1つの装置が複数のHDDを有し、障害発生率が高いHDDはなるべく使用しないようにすることを目的とするものである。特許文献2に記載の技術はHDDの障害発生率が高くなったらキャッシュメモリを用いて代用する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-121989号公報
【文献】特開2005-258633号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献2に記載の技術では、1台のHDDのアクセスを低減し長く使用するための構成について考慮されていなかった。即ち、特許文献2に記載の技術では、障害発生率が高まる前からHDDのアクセスを低減するための方法について考慮されていなかった。また、特許文献2に記載の技術では、故障発生率が高くなったHDDに記憶されているデータ全てについてキャッシュメモリでリードライトを行うので、キャッシュメモリの記憶容量が圧迫されるという課題があった。
【課題を解決するための手段】
【0005】
本発明は、データベースを格納するストレージと、メモリとを備え、複数の情報処理装置と通信し、前記データベースと同期するための同期データを、データの取得要求の要求元の情報処理装置に対して送信するサーバ装置であって、前記複数の情報処理装置のうちの一の情報処理装置から送信された更新データに基づいて前記データベースを更新する更新手段と、前記更新されたデータベースに対応付けて、前記情報処理装置を管理するためのデバイス管理情報を前記メモリに保存する保存手段と、前記データの取得要求を受け付ける受付手段と、前記同期データを送信する送信手段と、を有し、前記保存手段は、前記デバイス管理情報において、前記一の情報処理装置を、同期された装置として管理し、前記送信手段は、前記更新されたデータベースに対応付けられる前記デバイス管理情報において、前記データの取得要求の要求元の前記情報処理装置が、前記同期された装置であることを示さない場合には、前記更新されたデータベースにアクセスして前記同期データを送信し、前記同期された装置であることを示す場合には、前記更新されたデータベースにアクセスしないことを特徴とする。
【発明の効果】
【0006】
本発明によれば、キャッシュメモリの記憶容量を圧迫せずに、記憶装置の障害発生率が高まる前から記憶装置へのアクセスを低減することができる。
【図面の簡単な説明】
【0007】
【
図1】設定値同期システムのシステム構成の一例を示す図である。
【
図2】複合機のハードウェア構成の一例を示す図である。
【
図3】設定値管理サーバのハードウェア構成の一例を示す図である。
【
図4】設定値管理サーバが管理するデータ構成の一例を示す図である。
【
図5】複合機、設定値管理サーバのソフトウェア構成の一例を示す図である。
【
図6】設定値管理サーバの情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について図面に基づいて説明する。
【0009】
<実施形態1>
図1は、設定値同期システムのシステム構成の一例を示す図である。ネットワーク100には、複合機110a、複合機110b、設定値管理サーバ120が接続されている。
設定値管理サーバ120は、複合機110a、複合機110bの設定値を管理しており、サーバ上で保持する設定値を複合機110a、複合機110bに反映させることのできる機能を持つ。複合機110a及び複合機110bは、設定値管理サーバ120に対するクライアントとして機能する。
設定値管理サーバ120の機能は複合機110aや複合機110b上に配置することができ、その場合はハード構成としての設定値管理サーバ120は存在しない。
設定値管理サーバ120、複合機110aや複合機110bについての詳細な説明は後述する。また、複合機110a及び複合機110bを総称して複合機110として説明するが、複合機110は複合機110aと複合機110bのどちらであってもよい。複合機110は、画像を形成する画像形成装置の一例である。
【0010】
複合機110は、複数種類の機能(コピー、FAX等)を実現する機器であり、内部にそれらの機能の実行時に利用する設定値を記憶している。設定値に変更があった場合は、複合機110は、設定値管理サーバ120にネットワーク100を介して変更情報を通知する。また、設定値管理サーバ120上で設定値の変更情報を受信した際には、複合機110は、自身の設定値の値を変更する。設定値管理サーバ120が管理する設置値には、複合機110a、110bが動作するために使用する設定値であるデバイス設定値と、ユーザが使用するための設定値であるユーザ設定値と、が存在する。更に、ユーザ設定値には、すべてのユーザで共有の設定値を使用するユーザ共有設定値と、ユーザそれぞれで別々の設定を使用するユーザ固有設定値と、がある。
設定値管理サーバ120上の設定値に変更があった場合は、複合機110a、複合機110b両方に設定値の変更情報が通知される。また、複合機110a、複合機110bどちらか一方の設定値に変更があった場合は、初めに、設定値管理サーバ120に変更情報が通知され、その後、設定値管理サーバ120経由で他方の複合機110にも変更情報が通知される。
【0011】
図2は、複合機110のハードウェア構成の一例を示す図である。複合機110は、コントローラユニット200、操作部220、スキャナ230、プリンタ240を含んでいる。
コントローラユニット200は、より具体的にはCPU(Central Processing Unit)202を有する。CPU202は、ROM(Read Only Memory)206に格納されているブートプログラムによりOS(Operating System)を立ち上げる。コントローラユニット200は、このOS上でHDD(Hard Disk Drive)205に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU202の作業領域としては、RAM(Random Access Memory)203が用いられる。HDD205は、アプリケーションプログラムや各種データを格納する。
CPU202には、システムバス210を介して、RAM203及びROM206と共に、操作部I/F201、デバイスI/F204、ネットワークI/F207、画像処理部208が接続される。
操作部I/F201は、タッチパネルを有する操作部220とのインタフェースである。操作部I/F201は、操作部220に表示する各種データ等の情報を送出したり、ユーザにより入力された情報をCPU202に送出したりする。デバイスI/F204には、スキャナ230及びプリンタ240が接続され、データや制御信号の入出力が行われる。ネットワークI/F207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の設定値管理サーバ120及び複合機110との間で入出力を行う。画像処理部208では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う。
【0012】
図3は、設定値管理サーバ120のハードウェア構成の一例を示す図である。設定値管理サーバ120は、コントローラユニット300、操作部320を含んでいる。コントローラユニット300は、CPU302を有し、CPU302は、ROM306に格納されているブートプログラムによりOSを立ち上げる。CPU302は、このOS上でHDD305に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU302の作業領域としてはRAM303が用いられる。HDD305は、アプリケーションプログラム、複合機110のデバイス設定値、ユーザ設定値等を格納する。
CPU302には、システムバス310を介してRAM303及びROM306と共に、操作部I/F301、ネットワークI/F307が接続される。
操作部I/F301は、マウス、キーボード等から成る操作部320とのインタフェースであり、操作部320によってユーザにより入力された情報をCPU302に送出する。また、ネットワークI/F307は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間で情報の入出力を行うネットワークインタフェースである。ネットワークI/F307は、複合機110からの要求を受け付ける受付手段の一例である。
【0013】
設定値管理サーバ120の機能は複合機110上に存在する形態(デバイスサーバ)であってもよい。その場合、操作部I/F301の代わりに操作部I/F201が、CPU302の代わりにCPU202が、RAM303の代わりにRAM203が、HDD305の代わりにHDD205が、ROM306の代わりにROM206が使用される。また、ネットワークI/F307の代わりにネットワークI/F207が、操作部320の代わりに操作部220が使用される。
【0014】
図4は、設定値管理サーバ120が管理するデータ構成の一例を示す図である。設定値管理サーバ管理データ401は、登録デバイス管理DB411、デバイス認証情報管理DB412、ユーザ情報管理DB413、設定値管理DB414から構成され、設定値管理サーバ120のHDD305に保存される。
登録デバイス管理DB411は、設定値管理サーバ120と同期している複合機110の登録情報を保持する。登録デバイス管理DB411は、表1のように、複合機110を一意に識別するためのデバイス識別子や、複合機110がどのような同期状態にあるかを示すステータスのデータを持つ。
【表1】
【0015】
デバイス認証情報管理DB412は、複合機110の認証情報を管理する。デバイス認証情報管理DB412で保持される情報について、表2を用いて説明する。デバイス認証情報管理DB412では、複合機110を一意に識別するためのデバイス識別子、複合機110が設定値管理サーバ120との同期処理を行うことの認可を示す認可トークン、設定値管理サーバ120が認可情報の発行日時等の情報を保持する。認可トークンは発行日時から一定の期間が過ぎた時点で無効となる。認可トークンを無効と判定するタイミングは、例えば複合機110から同期リクエストが行われた際に、設定値管理サーバ120が現在日時と発行日時とを比較する。そして、設定値管理サーバ120は、一定期間が過ぎていたら無効としてデバイス認証情報管理DB412から該当する認可トークンを削除する方法がある。また他には、設定値管理サーバ120で定期的に現在日時と発行日時とを比較し、一定期間が過ぎていたら認可トークンを無効と判断してデバイス認証情報管理DB412から該当する認可トークンを削除する方法等がある。何れも設定値管理サーバ120は、認可トークンを削除することで複合機110に再度登録を求める。
【表2】
【0016】
ユーザ情報管理DB413は、設定値管理サーバ120が複合機110と同期を行っている設定値に紐付くユーザの情報を管理する。ユーザ情報管理DB413では、表3のように、ユーザを一意に識別するためのユーザID、ユーザの表示名を示すユーザ名等の情報を保持する。
【表3】
【0017】
設定値管理DB414は、設定値管理サーバ120が複合機110と同期する設定値を保持する。設定値管理DB414は、表4のように、設定値を識別するための設定値識別子と、設定値情報を示すデータと、を持つ。
【表4】
【0018】
図5は、複合機110、設定値管理サーバ120のソフトウェア構成の一例を示す図である。
複合機110が備える各機能部はCPU202がHDD205に格納された複合機ファームウェア510のプログラムを読みだして実行することにより実現されるものである。
設定管理サーバ120が備える各機能部はCPU302がHDD305に格納された設定値管理サービス500のプログラムを呼び出して実行することにより実現されるものである。
設定値管理サービス500側には設定値管理サーバ管理データ401のデータを編集するサーバDB管理モジュール501があり、全てのデータはこのモジュールを介して編集される。同期制御サーバモジュール502は、ネットワーク100を利用して複合機110からのデータ取得要求や変更要求を受け、サーバDB管理モジュール501に対して読み書きの指示を行う。一方、複合機ファームウェア510側には設定値DB513が配置され、設定値管理モジュール511を介して読み書きが行われる。
図5の上では割愛しているが複合機110上で動作する全てのアプリケーションプログラムはこの設定値管理モジュール511を利用して設定値DB513のデータにアクセスする。設定値DB513はHDD205に保存されており、設定値の識別子、設定値の値等の要素から構成される。
【0019】
同期制御クライアントモジュール512は、ネットワーク100を介して設定値管理サービス500側の同期制御サーバモジュール502に対してデータ同期リクエストを行う。そして、同期制御クライアントモジュール512は、サーバ側のDB変更の複合機110側への取り込み、又は複合機110側の設定値DB513の更新をサーバ側のDBに反映させるための動作を行う。同期制御クライアントモジュール512は、データ同期リクエストのために必要な情報を同期制御管理ファイル514に書き込み、読み出しを行う。同期制御管理ファイル514は、HDD205に保存されており、設定値の最終更新時刻、認証方法、認証トークン、同期制御のログ等の情報が保存される。
同期制御クライアントモジュール512が同期リクエストを行うタイミングは、ある特定の契機にて行うタイミングか、又は定常的なポーリングを行うタイミングである。ある特定の契機のリクエストは、例えばユーザが操作部220からログイン処理を実行した際に、ログインしたユーザのユーザ固有設定値を取得するために使用される。また定常的なポーリングは、例えば、ユーザのログイン処理のように同期リクエストを行う契機が発生しないユーザ共通設定値の変更を検知するために使用され、設定値管理DB414の設定値識別子ごとに別々のポーリング間隔で使用される。
【0020】
また、データ同期リクエストには取得リクエストと、登録・更新リクエストとがある。取得リクエストには設定値管理サービス500上のすべてのデータを要求する全データ取得リクエスト、特定時刻からの更新データのみを要求する差分データ取得リクエストが存在する。登録・更新リクエストには新規にデータを登録するデータ登録リクエスト、特定のデータを更新するデータ更新リクエスト等が存在する。例えば、全データ取得リクエストは、設定値管理サービス500と複合機ファームウェア510とが、データ同期を行っていない状態から、設定値管理サーバ管理データ401の設定値をすべて取得し、設定値DB513に反映することに使用される。また、差分データ取得リクエストは、設定値管理サービス500と複合機ファームウェア510とが既に同期を開始している状態から、更新された設定値のみを取得し同期を開始することに使用される。この設定値DB513の変更を設定値管理サーバ管理データ401に反映する作業、及び、設定値管理サーバ管理データ401の変更を検知して設定値DB513に反映させる一連の動作を同期制御と位置付けている。データ登録リクエストは、登録要求の一例である。データ更新リクエストは、更新要求の一例である。
また、データ同期リクエスト中には、識別するための情報と同期のための情報とを含んでいる。例えば、識別するための情報としては、複合機110を一意に識別するためのデバイス識別子、複合機110が認可されていることを確認するための認可トークンが含まれている。同期のための情報としては、取得・登録・更新する設定値を指定する設定値識別子、登録・更新する設定値のデータ、複合機110上で設定値が更新された時間を示す更新時間等の情報が含まれている。
前述のデバイスサーバとなる運用形態の場合は、複合機110上で、設定値管理サービス500及び複合機ファームウェア510の両方が動作する。
【0021】
図6は、設定値管理サーバ120がネットワーク100を通じて複合機110から、データ同期リクエストを受け付けた際の情報処理の一例を示すフローチャートである。フローチャートの各ステップは、設定値管理サーバ120のCPU302がHDD305に格納された設定値管理サービス500のプログラムをRAM303に展開して実行することによって実現されるものである。
S600において、設定値管理サービス500は、データ取得リクエストか否かを判定する。設定値管理サービス500は、データ取得リクエストである場合(S600においてYes)、S601に、データ取得リクエストでない場合(S600においてNo)、S610に処理を進める。
S601において、設定値管理サービス500は、受け付けたリクエストが差分データ取得リクエストか否かを判定する。設定値管理サービス500は、差分データ取得リクエストである場合(S601においてYes)、S602に、差分データ取得リクエストでない場合(S601においてNo)、S608に処理を進める。
【0022】
S602において、設定値管理サービス500は、リクエストを行った複合機110のデバイス識別子が、表5に示す応答済みリストにあるか否かを判定する。応答済みリストは、差分データ取得リクエストに対して一度応答を返した複合機110のデバイス識別子を記憶する表5のようなテーブルであり、RAM303上に記憶されている。設定値管理サービス500は、判定の結果、応答済みリストにデバイス識別子がある場合(S602においてYes)、S603に、ない場合(S602においてNo)、S605に処理を進める。
【表5】
応答済みリストは、応答済み一覧の一例である。デバイス識別子は、クライアント装置を識別する識別情報の一例である。
【0023】
S603において、設定値管理サービス500は、差分が0件であることを示す空の応答データを生成し、S604に処理を進める。
S604において、設定値管理サービス500は、複合機110にS603で生成した応答データを応答し、
図6に示すフローチャートの処理を終了する。この処理ではサーバDB管理モジュール501から設定値管理サーバ管理データ401へのアクセスは発生しないため、HDD305へのアクセスも発生しない。
S605において、設定値管理サービス500は、HDD305に保存された設定値DB513から差分データを取得し、S606に処理を進める。
S606において、設定値管理サービス500は、複合機110にS605で取得した差分データを応答し、S607に処理を進める。
S607において、設定値管理サービス500は、応答を行った複合機110のデバイス識別子を応答済みリストに追加し、
図6に示すフローチャートの処理を終了する。
【0024】
S608において、設定値管理サービス500は、応答済みリストからすべてのデバイス識別子を削除することで初期化を行い、S609に処理を進める。
S609において、設定値管理サービス500は、サーバDB管理モジュール501を通して設定値管理サーバ管理データ401の設定値管理DB414から、複合機110から指定された設定値識別子に一致するすべてのデータを取得する。その後、設定値管理サービス500は、S606に処理を進める。
【0025】
S610において、設定値管理サービス500は、データ同期リクエストを送信してきた複合機110のデバイス識別子が応答済みリストに存在するか否かを判定し、判定結果をRAM303に保存し、S611に処理を進める。
S611において、設定値管理サービス500は、応答済みリストからすべてのデバイス識別子を削除することで初期化を行い、S612に処理を進める。
S612において、設定値管理サービス500は、受け付けたリクエストがデータ登録リクエストの場合は、複合機110から指定された設定値識別子と、指定された値とを設定値管理DB414に登録する。また、設定値管理サービス500は、受け付けたリクエストがデータ更新リクエストの場合は、複合機110から指定された設定値識別子に一致する設定値管理DB414に保存されたデータを、複合機110から指定された値に更新する。その後、設定値管理サービス500は、S613に処理を進める。
S613において、設定値管理サービス500は、S612で登録・更新した処理結果を複合機110に応答し、S614に処理を進める。
【0026】
S614において、設定値管理サービス500は、S610で保存した判定結果をRAM303より読出し、リクエストを送信してきた複合機110のデバイス識別子が応答済リストに存在するか否かを判定する。設定値管理サービス500は、存在する場合は(S614においてYes)、S615に処理を進め、存在しない場合は(S614においてNo)、
図6に示すフローチャートの処理を終了する。
S615において、設定値管理サービス500は、S613で応答を行った複合機110のデバイス識別子を応答済みリストに追加し、
図6に示すフローチャートの処理を終了する。
【0027】
本実施形態において、設定値管理サービス500は、データ更新要求を処理するときに要求元の複合機110のデバイス識別子が応答済リストに記載されている場合、応答済リスト初期化後に要求元の複合機110のデバイス識別子を応答済リストに記載する。これにより設定値管理サービス500は、データ更新要求処理後に同じ複合機110からの差分データ取得要求を処理するとき、応答済リストの記載から差分の有無を判断し応答することができる。この結果、複合機110からのデータ更新要求を処理した後、他の複合機110からのデータ更新要求を処理していないときには、同じ複合機110から差分データ取得要求を処理するときに、HDD305にアクセスすること無く応答することができる。したがって、S615の処理を行わない場合に比べて、HDD305へのアクセス回数を減らすことができる。
【0028】
本実施形態におけるデータの同期を、設定値管理サーバ管理データ401で保持しているデータの種別毎に実行してもよく、同期するデータの種別毎の単位で応答済みリストを保持してもよい。データ種別毎に同期を実行し、データ種別毎に応答済リストを保持する場合、設定値管理サービス500は、データ同期要求処理時に、要求に含まれるデータ種別に対応づく応答済リストに対して初期化やデバイス識別子の追加を行う。これにより、設定値管理サービス500は、データ更新要求を処理後に、同じ複合機110からの同じデータ種別の差分データ取得要求を処理するときには、その要求のデータ種別に対応づく応答済みリストから差分の有無を判断し応答することができる。この結果、差分データ取得要求を処理するときに、他の複合機110から同じデータ種別のデータ更新要求を処理していないときには、HDD305にアクセスすること無く応答することができる。
他にも本実施形態におけるデータの同期を、設定値管理サーバ管理データ401で保持しているユーザID毎のデータに実行してもよく、同期するデータのユーザID毎の単位で応答済みリストを保持してもよい。ユーザID毎にデータの同期を実行し、ユーザID毎に応答済リストを保持する場合、設定値管理サービス500は、データ同期要求処理時に、要求に含まれるユーザIDに対応づく応答済リストに対して初期化やデバイス識別子の追加を行う。これにより、設定値管理サービス500は、データ更新要求を処理後に、同じ複合機110からの同じユーザIDの差分データ取得要求を処理するときには、その要求のユーザIDに対応づく応答済みリストから差分の有無を判断し応答することができる。これにより同じユーザが、同じ複合機110を使い続ける場合には、データ同期によるHDD305へのアクセスをデータ更新要求処理時のみとすることができる。ユーザIDは、ユーザ識別情報の一例である。
また、本実施形態におけるデータの同期を、データ種別毎とユーザID毎とを組み合わせて実行してもよい。その場合、組み合わせに応じたデータ毎に同期を実行してもよく、組み合わせに応じたデータ単位で応答済リストを保持してもよい。このときデータ種別とユーザIDとを組み合わせた単位でデータ同期を実行することでき、差分データ取得要求を処理する際には、組み合わせた単位に対応する応答済リストの記載から、差分の有無を判断し応答することができる。これにより、差分データ取得要求を処理するときに、他の複合機110から同じ組み合わせ単位のデータ更新要求を処理していないときには、HDD305にアクセスすること無く応答することができる。この結果、データ種別とユーザIDとを組み合わせた単位でHDD305へのアクセスを削減することができる。
【0029】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0030】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述した各実施形態では、記憶装置の一例としてHDDを例に説明を行ったがこれに限定されるものではなく、例えば、SSD等、複数回の読み書きを行ううちに障害発生率が高まる記憶装置等に適用することができる。
また、上述した複合機110、設定値管理サーバ120は、共に1つのCPUがROM又はHDDに記憶されたプログラムに基づき処理を実行するものとして説明を行った。しかし、複合機110、設定値管理サーバ120は、複数のCPU(又はプロセッサ)が複数のRAM、HDD等を共同させてプログラムに基づき処理を実行するようにしてもよい。また、複合機110、設定値管理サーバ120のソフトウェア構成の一部又は全てをハードウェアとして複合機110、設定値管理サーバ120に実装するようにしてもよい。
【0031】
以上、上述した各実施形態によれば、キャッシュメモリの記憶容量を圧迫せずに、記憶装置の障害発生率が高まる前から記憶装置へのアクセスを低減することができる。
【符号の説明】
【0032】
100 複合機
120 設定値管理サーバ
500 設定値管理サービス
510 複合機ファームウェア