(57)【要約】【課題】設定値の同期を適切に行うことを目的とする。【解決手段】ユーザのログインを検知する検知手段と、検知手段によりログインが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求をサーバ装置に送信する第１の送信手段と、ログインが検知されたユーザが同期対象のユーザとしてサーバ装置に登録された場合、ログインが検知されたユーザの個人設定値を取得する取得手段と、取得手段により取得された個人設定値を前記サーバ装置に登録する設定値登録要求をサーバ装置に送信する第２の送信手段と、を有する。【選択図】図１２Ａ
2019028935.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのログインを検知する検知手段と、
前記検知手段によりログインが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信手段と、
前記ログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録された場合、前記ログインが検知されたユーザの個人設定値を取得する取得手段と、
前記取得手段により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信手段と、
を有する情報処理装置。
【請求項２】
前記ログインが検知されたユーザの前記個人設定値が変更された場合、前記個人設定値を変更する変更要求を前記サーバ装置に送信する第３の送信手段を更に有する請求項１記載の情報処理装置。
【請求項３】
前記検知手段により前記ユーザのログインが検知された場合、前記検知手段によりログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録済みかを確認する確認要求を前記サーバ装置に送信する第４の送信手段を更に有し、
前記検知手段によりログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録済みでない場合、前記第１の送信手段は、前記ユーザ登録要求を前記サーバ装置に送信する請求項１又は２記載の情報処理装置。
【請求項４】
前記確認要求に応じて前記サーバ装置より送信された応答に基づき前記ログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録済みか否かを判定する判定手段を更に有し、
前記判定手段により前記ログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録済みでないと判定された場合、前記第１の送信手段は、前記ユーザ登録要求を前記サーバ装置に送信する請求項３記載の情報処理装置。
【請求項５】
ユーザのログインを検知する検知手段と、
前記検知手段によりログインが検知されたユーザの個人設定値が変更された場合、前記ユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信手段と、
前記ユーザが同期対象のユーザとして前記サーバ装置に登録された場合、ユーザの個人設定値を取得する取得手段と、
前記取得手段により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信手段と、
を有する情報処理装置。
【請求項６】
ユーザのログアウトを検知する検知手段と、
前記検知手段によりログアウトが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信手段と、
前記ログアウトが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録された場合、前記ログアウトが検知されたユーザの個人設定値を取得する取得手段と、
前記取得手段により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信手段と、
を有する情報処理装置。
【請求項７】
前記情報処理装置は、印刷装置である請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
情報処理装置が実行する情報処理方法であって、
ユーザのログインを検知する検知工程と、
前記検知工程によりログインが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信工程と、
前記ログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録された場合、前記ログインが検知されたユーザの個人設定値を取得する取得工程と、
前記取得工程により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信工程と、
を含む情報処理方法。
【請求項９】
情報処理装置が実行する情報処理方法であって、
ユーザのログインを検知する検知工程と、
前記検知工程によりログインが検知されたユーザの個人設定値が変更された場合、前記ユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信工程と、
前記ユーザが同期対象のユーザとして前記サーバ装置に登録された場合、ユーザの個人設定値を取得する取得工程と、
前記取得工程により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信工程と、
を含む情報処理方法。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
ユーザのログアウトを検知する検知工程と、
前記検知工程によりログアウトが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信工程と、
前記ログアウトが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録された場合、前記ログアウトが検知されたユーザの個人設定値を取得する取得工程と、
前記取得工程により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信工程と、
を含む情報処理方法。
【請求項１１】
コンピュータを、請求項１乃至７何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
複数のユーザにより利用される、認証管理された情報処理装置の一例として、複数の画像処理を行える複合機があげられる。
近年、複合機で管理される設定値を個人毎に設定可能なよう管理することが主流となっている（特許文献１参照）。
また、複合機に保存された設定値を、設定値を管理するサーバと同期するような方法やシステムも提案されている（特許文献２参照）。
上記のような個人設定値をサーバと同期するシステムにおいて、システムの管理者は、サーバに登録されている設定値の管理・削除を行うことが想定される。
その削除された結果を正しく複合機とサーバの間で同期するための方法やシステムも提案されている（特許文献３参照）。
特許文献１のシステムでは、複合機に対してユーザがログインし、ユーザ毎に複合機の設定を設定することができる。そのユーザ毎に設定された個人設定値を特許文献２にあるようなシステムで同期することも可能である。
複合機と、設定値を管理するサーバとで設定値を同期するシステムにおいては、毎回の同期処理で全設定値を同期すると、同期する設定値項目数が膨れ上がってしまう。
そのため、特許文献２では、設定値登録が行われた場合に差分を通知するようなシステムを提案している。
また、システム管理者の管理作業のうち、特にサーバに登録された設定値の削除が行われた場合に正しく削除された状態を同期するための方法として特許文献３が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７２５６４号公報
【特許文献２】特開２０１５−１２１９８９号公報
【特許文献３】特開２０１６−１１０２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データベース全体を毎回同期するのではなく、特許文献２に記載のように設定値の更新内容だけを同期するシステムでは、以下のような場合に、サーバとクライアントとの間で保持するデータの不一致が生じるという課題がある。即ち、管理者がサーバにおいてあるユーザの登録情報を削除する。そして、ユーザの登録情報が削除されたことがサーバからクライアントに通知される前に、クライアントにユーザがログインする。
このような場合、サーバでは、ユーザの登録情報が一旦削除され、その後、クライアントからのログイン通知に伴って、ユーザの登録情報が再び生成される。サーバでは、ユーザの登録情報に紐づく設定情報は空の状態となる。
一方、クライアント側では、ユーザの削除が行われないので、今までユーザに関連付けられていた設定情報がデータベースに残ったままとなる。
このようにして、サーバ側では、ユーザの設定情報は空の状態となり、クライアント側ではユーザの設定情報が残ったままになる。したがって、サーバに記憶された設定情報と、クライアントに記憶された設定情報との間で不整合が生じることとなる。
また、その後、同期処理を行ったとしても、互いに更新内容（前回との差分の設定値）しか通知しないので、更新がなかった設定値についての不整合状態は継続することとなる。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、ユーザのログインを検知する検知手段と、前記検知手段によりログインが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求を前記サーバ装置に送信する第１の送信手段と、前記ログインが検知されたユーザが同期対象のユーザとして前記サーバ装置に登録された場合、前記ログインが検知されたユーザの個人設定値を取得する取得手段と、前記取得手段により取得された前記個人設定値を前記サーバ装置に登録する設定値登録要求を前記サーバ装置に送信する第２の送信手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、設定値の同期を適切に行うことができる。
【図面の簡単な説明】
【０００７】
【図１】設定値同期システムのシステム構成の一例を示す図である。
【図２】設定値管理サーバのハードウェア構成の一例を示す図である。
【図３】複合機のハードウェア構成の一例を示す図である。
【図４】設定値管理サーバのソフトウェア構成の一例を示す図である。
【図５】複合機のソフトウェア構成の一例を示す図である。
【図６】サーバアプリで管理しているＤＢのデータの一例を示す図である。
【図７】クライアントアプリで管理しているＤＢのデータの一例を示す図である。
【図８】複合機の情報処理の一例を示すフローチャートである。
【図９Ａ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図９Ｂ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図９Ｃ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図９Ｄ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図１０】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図１１Ａ】複合機の情報処理の一例を示すフローチャートである。
【図１１Ｂ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図１２Ａ】複合機の情報処理の一例を示すフローチャートである。
【図１２Ｂ】設定値管理サーバの情報処理の一例を示すフローチャートである。
【図１３】複合機の情報処理の一例を示すフローチャートである。
【図１４】複合機の情報処理の一例を示すフローチャートである。
【図１５】複合機の情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
以下の実施形態では、情報処理装置の一例として複合機を用いて説明する。
【０００９】
＜実施形態１＞
図１は、設定値同期システムのシステム構成の一例を示す図である。
ネットワーク１００には、設定値管理サーバ１１０、複合機１２０、複合機１２１が接続されている。
設定値管理サーバ１１０は、複合機１２０や複合機１２１の設定値のマスターデータを管理している。
マスターデータに変更があった場合、設定値管理サーバ１１０は、複合機１２０、複合機１２１から、ネットワーク１００を介してマスターデータの変更情報の取得要求を受け付け、マスターデータの変更情報を応答する。
また、複合機１２０、複合機１２１から設定値の変更情報を受信した際には、設定値管理サーバ１１０は、自身のマスターデータの値を変更する。
以下、主に複合機１２０について説明をするが複合機１２１は、複合機１２０と同様の構成となっている。
複合機１２０は、複数種類の機能、例えばコピーやＦＡＸ等を実現する機器であり、内部にそれらの機能の実行時に利用する設定値を記憶している。
複合機１２０がもつ設定値に変更があった場合、複合機１２０は、設定値管理サーバ１１０にネットワーク１００を介して変更された設定値の情報を通知する。
設定値管理サーバ１１０から設定値のマスターデータの変更情報を受信した際には、複合機１２０は、複合機１２０の設定値の値を変更する。本実施形態では、最終更新日時を用いた変更情報の取得・反映方法について説明する。
設定値によっては、複合機１２０、複合機１２１間のような複数の複合機間で同じ値で設定が行えるものも存在する。これらの設定値に関しては、設定値管理サーバ１１０上のマスターデータに変更があった場合は、複合機１２０、複合機１２１両方が設定値の変更情報を受信し、同じ値となる。
また、複合機１２０、複合機１２１どちらかの設定値に変更があった場合は、初めに、設定値管理サーバ１１０に変更情報が通知され、その後、設定値管理サーバ１１０経由で他方の複合機が変更情報を受信し、設定値が同じ値となる。
設定値管理サーバ１１０、複合機１２０についての詳細な説明については後述する。複合機１２０、複合機１２１は、クライアント装置（情報処理装置、印刷装置）の一例である。
【００１０】
図２は、設定値管理サーバ１１０のハードウェア構成の一例を示す図である。
設定値管理サーバ１１０は、コントローラユニット２００、操作部２２０、表示部２３０を含んでいる。コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０３を有する。
ＣＰＵ２０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０６に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動する。ＣＰＵ２０３は、このＯＳ上で、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。
このＣＰＵ２０３の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４が用いられる。
ＨＤＤ２０５は、アプリケーションプログラムと複合機１２０の設定値のマスターデータ等とを格納する。マスターデータの管理方法に関する詳細については後述する。
ＣＰＵ２０３には、システムバス２１０を介して、ＲＯＭ２０６及びＲＡＭ２０４と共に、操作部Ｉ／Ｆ２０１、表示部Ｉ／Ｆ２０２、Ｎｅｔｗｏｒｋ２０７が接続される。
操作部Ｉ／Ｆ２０１は、マウス、キーボード等から成る操作部２２０とのインタフェースであり、操作部２２０によってユーザにより入力された情報をＣＰＵ２０３に通知する。
表示部Ｉ／Ｆ２０２は、ディスプレイ等から成る表示部２３０に表示すべき画像データを表示部２３０に対して出力する。また、Ｎｅｔｗｏｒｋ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
ＣＰＵ２０３がＨＤＤ２０５、ＲＯＭ２０６に記憶されたプログラムに基づき処理を実行することによって、後述する図４の設定値管理サーバアプリケーション（以下、サーバアプリ）４００の機能が実現される。また、ＣＰＵ２０３がＨＤＤ２０５、ＲＯＭ２０６に記憶されたプログラムに基づき処理を実行することによって、後述する図９Ａ〜図９Ｄ、図１０、図１１Ｂ、図１２Ｂのフローチャートの処理が実現される。
【００１１】
図３は、複合機１２０のハードウェア構成の一例を示す図である。複合機１２１の構成は複合機１２０と同様である。
複合機１２０は、コントローラユニット３００、操作部３２０、スキャナ３３０、プリンタ３３１を含んでいる。
コントローラユニット３００には、操作部３２０が接続されると共に、画像入力デバイスであるスキャナ３３０や画像出力デバイスであるプリンタ３３１が接続される。
コントローラユニット３００は、ＣＰＵ３０２を有する。ＣＰＵ３０２は、ＲＯＭ３０６に格納されているブートプログラムによりＯＳを起動する。ＣＰＵ３０２は、このＯＳ上で、ＨＤＤ３０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。
このＣＰＵ３０２の作業領域としてはＲＡＭ３０３が用いられる。また、ＲＡＭ３０３は、作業領域を提供すると共に、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ３０５は、アプリケーションプログラムや画像データ、各種設定値を格納する。複合機１２０における設定値の管理方法については後述する。
ＣＰＵ３０２には、システムバス３１０を介して、ＲＯＭ３０６及びＲＡＭ３０３と共に、操作部Ｉ／Ｆ３０１、デバイスＩ／Ｆ３０４、Ｎｅｔｗｏｒｋ３０７、画像処理部３０８が接続される。
操作部Ｉ／Ｆ３０１は、タッチパネルを有する操作部３２０とのインタフェースであり、操作部３２０に表示すべき画像データを操作部３２０に対して出力する。また、操作部Ｉ／Ｆ３０１は、操作部３２０によってユーザにより入力された情報をＣＰＵ３０２に送出する。
デバイスＩ／Ｆ３０４には、スキャナ３３０及びプリンタ３３１が接続され、画像データの入出力処理を行う。
Ｎｅｔｗｏｒｋ３０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
画像処理部３０８では、スキャナ３３０からの入力画像処理やプリンタ３３１への出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う。
ＣＰＵ３０２がＨＤＤ３０５、ＲＯＭ３０６に記憶されたプログラムに基づき処理を実行することによって、後述する図５の設定値管理クライアントアプリケーション（以下、クライアントアプリ）５００の機能が実現される。また、ＣＰＵ３０２がＨＤＤ３０５、ＲＯＭ３０６に記憶されたプログラムに基づき処理を実行することによって、後述する図１１Ａ、図１２Ａ、図１３〜図１５のフローチャートの処理が実現される。
【００１２】
図４は、設定値管理サーバ１１０のソフトウェア構成の一例を示す図である。
ＤａｔａＢａｓｅ（以下、ＤＢ）４１０は、ＨＤＤ２０５に格納され、図６で示すデータを保存している。ＤＢ４１０に保存されている各種データの説明は、後述する。
通信処理部４０５は、ネットワーク１００を介して設定値管理サーバ１１０以外の情報機器とデータのやりとりを行う。
本実施形態では、通信処理部４０５は、複合機１２０、複合機１２１から送られてくるデータや処理要求を受信し、アプリケーション制御部４０２の指示により応答データを複合機１２０、複合機１２１へ送信する。
アプリケーション制御部（以下、制御部）４０２は、他ソフトウェア構成へ処理を依頼する。
同期管理部４０１は、制御部４０２の指示により、サーバアプリ４００で管理されている設定値の検索方法や、応答データに付与する日時情報等を生成する。
設定値管理部４０４は、制御部４０２の指示により、ＤＢ４１０に対し、データの保存（ＩＮＳＥＲＴ）、更新（ＵＰＤＡＴＥ）、削除（ＤＥＬＥＴＥ）、引き出し（ＳＥＬＥＣＴ）を行う。
操作受信部４０６は、画面操作部Ｉ／Ｆ２０１が受信したユーザ操作を検知し、制御部４０２にソフトウェア処理を依頼する。
表示データ生成部４０３は、制御部４０２が処理した結果を表示Ｉ／Ｆ２０２へ送信する。
本実施形態では、複合機１２０、複合機１２１からネットワーク１００を介して送信されたデータを通信処理部４０５が受信する。そして制御部４０２が同期管理部４０１、設定値管理部４０４に指示し応答データを生成する。生成された応答データは、制御部４０２の指示により、通信処理部４０５が通知元の複合機１２０、複合機１２１へ応答する。
また、操作受信部４０６で受け付けたユーザ操作を制御部４０２へ通知する。そして、制御部４０２は、操作に対応するソフトウェア処理を同期管理部４０１、設定値管理部４０４に指示し、処理結果の表示を表示データ生成部４０３に指示する。表示データ生成部４０３は、表示Ｉ／Ｆ２０２に対し生成された処理結果の表示を行い、ユーザは操作の結果を表示部２３０で参照することができる。
【００１３】
図５は、複合機１２０、複合機１２１の設定値を設定値管理サーバ１１０と同期するためのソフトウェア構成の一例を示す図である。以下、主に複合機１２０について説明するが、複合機１２１は複合機１２０と同様の構成となる。
本実施形態では、複合機１２０上でコピーやＦＡＸ等の機能を実行した場合に利用される設定値の管理をクライアントアプリ５００が行う。図５では、クライアントアプリ５００のソフトウェア構成を主に説明する。
ＤａｔａＢａｓｅ（以下、ＤＢ）５１０は、ＨＤＤ３０５に格納され、図７で示す設定値データを保存している。ＤＢ５１０に保存されているデータの説明は、後述する。
通信処理部５０５は、ネットワーク１００を介して複合機１２０以外の情報機器とデータのやりとりを行う。
本実施形態では、通信処理部５０５は、アプリケーション制御部（以下、制御部）５０２の指示により設定値管理サーバ１１０と通信処理を行い、受信したデータを制御部５０２に通知する。
アプリケーション制御部５０２は、他ソフトウェア構成へ処理を依頼する。
同期管理部５０１は、制御部５０２の指示により、複合機１２０で管理されている設定値の検索方法や、設定値管理サーバ１１０へ同期処理を依頼する際の通信データ生成を行う。
設定値管理部５０４は、制御部５０２の指示により、ＤＢ５１０からデータの保存（ＩＮＳＥＲＴ）、更新（ＵＰＤＡＴＥ）、削除（ＤＥＬＥＴＥ）、引き出し（ＳＥＬＥＣＴ）を行う。
操作受信部５０３は、ユーザ操作により複合機１２０に関する設定値の保存・更新・削除が行われた際に、制御部５０２に操作内容を通知する。
本実施形態では、制御部５０２が同期管理部５０１を用いて設定値管理サーバ１１０に送る同期要求のデータを作成する。そして、制御部５０２の制御に基づき通信処理部５０５は、ネットワーク１００を介して設定値の同期要求を行う。
また、同期要求に対して設定値の変更を受信、又は、操作受信部５０３によりユーザからの設定値の変更を受信した場合は、制御部５０２が、設定値管理部５０４を用いて、ＤＢ５１０に保存された設定値を変更する。
【００１４】
図６は、サーバアプリ４００で管理しているＤＢ４１０に格納されているデータの一例を示す図である。また、表１から表３までは、図６の各ブロックのデータの内容の具体例を表現した表である。
接続クライアント管理データ６０２には、サーバアプリ４００と設定値を同期している情報機器の情報が格納されている。
【表１】
2019028935.tif 000003
サーバアプリ４００は、本実施形態で説明する、複合機１２０と、複合機１２１が設定値管理サーバ１１０とで設定値同期を管理する場合、表１に示すようなデータ構造で管理している。より具体的には、接続クライアント管理データ６０２は、複合機の情報の、シリアルＮｏ．と、製品名称と、ＤＢ４１０に登録された日時と、を保存する。
【００１５】
同期ユーザデータ６０１には、サーバアプリ４００で管理する個人設定値を参照するユーザの情報が格納されている。
【表２】
2019028935.tif 000004
サーバアプリ４００は、複合機１２０で管理される認証ユーザのうち、本実施形態で説明する設定値を同期するシステムを利用するユーザを表２に示すようなデータ構造で管理している。また、同期ユーザデータ６０１は、後述でする個人設定値データ６０３を参照するために用いられる。より具体的には、同期ユーザデータ６０１は、ユーザ識別情報として、ユーザＩＤと、管理しているユーザを削除したことを判定するための削除済みフラグと、ＤＢ４１０に登録された日時と、該当ユーザに紐づく個人設定値が最後に更新された最終更新日時と、を保存する。
【００１６】
個人設定値データ６０３には、同期ユーザデータ６０１に登録されたユーザ毎に設定された設定値が格納されていて、表３で示すようなデータ構造で管理している。
【表３】
2019028935.tif 000005
本実施形態で、サーバアプリ４００は、説明する同期ユーザデータ６０１に登録されたユーザが設定した値が複合機１２０を利用する際に同期される設定値情報を保存している。より具体的には、個人設定値データ６０３は、設定値を参照しているユーザのユーザＩＤと、設定値がすでに削除済みであるかを管理する削除済みフラグと、複数ある設定値を識別するためのキー情報と、キー情報に対応する値の情報と、を保存している。また、個人設定値データ６０３は、設定値の同期を行うために設定値がＤＢ４１０に登録された日時と、設定値が最後に更新された最終更新日時とを保存している。
【００１７】
図７は、クライアントアプリ５００で管理しているＤＢ５１０に格納されているデータの一例を示す図である。また、表４から表７までは、図７の各ブロックのデータの内容の具体例を表現した表である。
認証ユーザデータ７０１には、複合機１２０がもつ機能を利用するユーザを識別するためにユーザの認証管理のためのユーザ情報を格納していて、表４で示すようなデータ構造で管理している。
【表４】
2019028935.tif 000006
より具体的には、認証ユーザデータ７０１は、ユーザを識別するためのユーザＩＤと、ユーザの認証を行うためのパスワードと、ユーザの利用機能を制限・管理するためのロール情報と、設定値管理サーバ１１０と最後に同期を行った日時情報と、を保存する。
本実施形態では、複合機１２０のうち、認証機能を利用するためのデータと、設定値を同期するためのデータと、を合わせて保持しているが、同期を行うために関連したデータとして別のテーブルや、別のＤＢに認証情報が保存されていてもよい。
【００１８】
同期ユーザリスト管理データ７０２には、設定値管理サーバ１１０と同期している同期対象のユーザが削除されていないかリスト管理するためのデータが格納されていて、表５で示すようなデータ構造で管理している。
【表５】
2019028935.tif 000007
より具体的には、同期ユーザリスト管理データ７０２は、ユーザリストを同期することを示す、同期項目と、同期項目が設定値管理サーバ１１０と最後に同期した最終同期日時と、を保存する。
【００１９】
個人設定値データ７０３には、認証管理されたユーザ毎に複合機１２０に設定した設定値情報が格納されていて、表６で示すようなデータ構造で管理している。
【表６】
2019028935.tif 000008
より具体的には、個人設定値データ７０３は、設定値を参照するユーザのユーザＩＤと、複数ある設定値を識別するためのキー情報と、キー情報に対応する値の情報と、を保存している。
【００２０】
設定値同期管理データ７０４には、設定値管理サーバ１１０へネットワーク１００を介して通信を行うのに必要な情報を格納していて、表７で示すようなデータ構造で管理している。
【表７】
2019028935.tif 000009
より具体的には、設定値同期管理データ７０４は、設定値管理サーバ１１０のホスト名情報と、ネットワーク１００を介して接続するための設定値管理サーバ１１０を管理するユーザＩＤと、管理者のユーザであることを検証するためのパスワード情報と、を保存する。
【００２１】
図４、５で説明したソフトウェア構成図により、図６、７で説明した個人設定値データ６０３と、個人設定値データ７０３と、を同期するシステムの情報処理を図８から図１２までのフローチャートを用いて説明する。
図８は、複合機１２０で動作するクライアントアプリ５００が設定値管理サーバ１１０と設定値同期を開始する際の情報処理の一例を示すフローチャートである。
まず、操作受信部５０３が、複合機１２０の利用ユーザから、複合機１２０を設定値管理サーバ１１０と同期させる指示を検知することで、図８のフローチャートの処理が開始される。
【００２２】
Ｓ８０１において、制御部５０２は、クライアントアプリ５００が動作する複合機１２０の情報を設定値管理サーバ１１０に通知するよう通信処理部５０５に依頼する。送信先は、制御部５０２が、設定値管理部５０４に依頼しＤＢ５１０に保存された設定値同期管理データ７０４の情報から決定する。この設定値同期管理データ７０４は、ユーザ操作により開始を指示するときに合わせて入力してもよいし、予め固定の値を保存しておいてもよい。
ここで、通信処理部５０５は、ネットワーク１００を介して、送信先として決定された設定値管理サーバ１１０へ、制御部５０２から指示された通知内容を通知する。通信処理部５０５は、以降のフローチャートの各ステップで、制御部５０２からの通知依頼を同様に処理する。
Ｓ８０２において、制御部５０２は、複合機１２０の情報が正しく設定値管理サーバ１１０に通知できたかを通信処理部５０５が行った通信の結果から判定する。
制御部５０２は、通知が成功していた場合、Ｓ８０３に進み、失敗していた場合は、Ｓ８１２へ進む。
Ｓ８１２へ進んだ場合、制御部５０２は、操作ユーザに対し、設定値同期処理が失敗したことを通知する。そして、制御部５０２は、図８に示すフローチャートの処理を終了する。
【００２３】
Ｓ８０３へ進んだ場合、制御部５０２は、設定値管理部５０４に指示し、ＤＢ５１０に保存されている認証ユーザデータ７０１の件数を確認する。制御部５０２は、確認された件数分、Ｓ８０５からＳ８１１までの処理を繰り返し実行する。
Ｓ８０４において、制御部５０２は、設定値管理部５０４に指示し、ＤＢ５１０に保存されている認証ユーザデータ７０１を順に取得し、ユーザＩＤが一致する同期ユーザが設定値管理サーバ１１０に登録済みか確認するよう通信処理部５０５へ指示する。
Ｓ８０５において、通信処理部５０５は、Ｓ８０４で行った通信処理の応答を制御部５０２へ通知する。制御部５０２は、通知された応答の内容を解析し、確認の通信処理が成功したか否かを判定する。制御部５０２は、失敗の場合は、Ｓ８１２へ進み、成功の場合は、Ｓ８０６へ進む。
Ｓ８０６において、制御部５０２は、解析の内容から、確認した認証ユーザが設定値管理サーバ１１０に登録されているか否かを判定する。制御部５０２は、登録されていないという確認結果であれば、Ｓ８０７へ進み、登録されているという確認結果であれば、Ｓ８１１へ進む。
【００２４】
Ｓ８１１へ進んだ場合、制御部５０２は、設定値管理部５０４にＤＢ５１０に格納されているＳ８０４で確認した認証ユーザのユーザＩＤと一致する個人設定値データ７０３をすべて削除するよう指示する。
表４と表６とを用いてより具体例を示すと、表４のユーザＩＤがＳａｔｏの認証ユーザがすでに設定値管理サーバ１１０に登録済みであると判定した場合、制御部５０２は、表６のユーザＩＤがＳａｔｏとなっている個人設定値をすべて削除する。
Ｓ８０７へ進んだ場合、制御部５０２は、通信処理部５０５へ指示し、Ｓ８０４で確認した認証ユーザを同期対象のユーザとして設定値管理サーバ１１０へ登録する通知を行う。
Ｓ８０８において、通信処理部５０５は、Ｓ８０７で行った通信処理の結果を制御部５０２へ通知する。制御部５０２は、通信処理の結果を解析し、通信の結果が成功でない場合は、Ｓ８１２へ進み、登録が成功であった場合は、Ｓ８０９へ進む。
Ｓ８０９において、制御部５０２は、設定値管理部５０４に指示し、ＤＢ５１０に格納されているＳ８０４で確認した認証ユーザのユーザＩＤと一致する個人設定値データ７０３を取得する。制御部５０２は、通信処理部５０５へ指示し、取得された設定値を設定値管理サーバ１１０に登録する通知を行う。
Ｓ８１０において、通信処理部５０５は、Ｓ８０９で実施した通信処理の結果を制御部５０２へ通知する。制御部５０２は、通信処理の結果を解析し、通信の結果が成功でない場合は、Ｓ８１２へ進み、通信の結果が成功した場合は、ユーザ件数分、Ｓ８０４からの処理を繰り返す。このとき、ユーザ件数分の繰り返しが完了している場合、制御部５０２は、図８のフローチャートの処理を終了する。
【００２５】
図９Ａから図９Ｄまでにおいて、図８で説明した、クライアントアプリ５００が設定値管理サーバ１１０へ通知した通信処理を、サーバアプリ４００が受信し、処理する情報処理の一例を示すフローチャートである。
図９Ａの処理は、図８のＳ８０１の通知をサーバアプリ４００が受信することで開始される。
Ｓ９０１において、通信処理部４０５は、設定値管理対象となる複合機の情報を登録する要求を受信したことを制御部４０２へ通知する。
Ｓ９０２において、制御部４０２は、通信処理部４０５から通知された通知を解析し、設定値管理部４０４へ指示し、ＤＢ４１０の接続クライアント管理データ６０２に登録済みであるか通知されたシリアルＮｏ．により確認する。ここで、確認の方法は、クライアントとなる情報処理装置を識別できれば上記で説明したシリアルＮｏ．以外でもよい。
制御部４０２は、確認した結果、すでに登録済みであると判定された場合、Ｓ９０６へ進み、未登録であると判定した場合、Ｓ９０３へ進む。
Ｓ９０６へ進んだ場合、制御部４０２は、すでに、接続クライアント管理データ６０２として、登録済みであるという旨を通知元へエラー応答するよう通信処理部４０５へ指示する。そして、制御部４０２は、図９Ａに示すフローチャートの処理を終了する。
【００２６】
通信処理部４０５は、制御部４０２の指示を受け、ネットワーク１００を介して、通知元へ指示された内容を応答する通信処理を行う。ここで、通信処理部４０５は、以降のフローチャートの各ステップで、制御部４０２からの応答指示を同様に処理する。
Ｓ９０３へ進んだ場合、制御部４０２は、Ｓ９０１で受信した情報を解析し、設定値管理部４０４へ指示し、ＤＢ４１０に接続クライアント管理データ６０２として登録する。
Ｓ９０４において、設定値管理部４０４は、Ｓ９０３で実行した、登録処理が正しく行えたか確認し、制御部４０２へ通知する。制御部４０２は、確認結果を受け、登録が失敗した場合は、Ｓ９１０へ進み、登録が成功した場合は、Ｓ９０５へ進む。
Ｓ９１０へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、図９Ａのフローチャートで実施した、ＤＢ４１０への操作をすべてロールバックさせ、Ｓ９０７へ進む。
Ｓ９０７において、制御部４０２は、接続クライアント管理データ６０２として登録を要求してきた情報が正しく登録できなかったことを通知元に応答するよう通信処理部４０５へ指示する。通信処理部４０５は、指示を受け、通知元へエラーを応答する。そして、制御部４０２は、図９Ａに示すフローチャートの処理を終了する。
Ｓ９０５に進んだ場合、制御部４０２は、クライアントとして登録を要求してきた情報が正しく登録できたことを通知元に応答するよう通信処理部４０５へ指示する。通信処理部４０５は、指示を受け、通知元へ登録成功を応答する。そして、制御部４０２は、図９Ａに示すフローチャートの処理を終了する。
【００２７】
次に図９Ｂの処理は、図８のＳ８０４の通知をサーバアプリ４００が受信することで開始される。
Ｓ９４１において、通信処理部４０５は、設定値管理対象として接続クライアント管理データ６０２に登録されたクライアントから同期ユーザデータ６０１の登録確認要求を受信したことを制御部４０２へ通知する。
Ｓ９４２において、制御部４０２は、通信処理部４０５から通知された要求から、確認対象の同期ユーザのユーザＩＤを解析する。制御部４０２は、設定値管理部４０４へ指示し、ＤＢ４１０の同期ユーザデータ６０１に要求にあったユーザＩＤと一致するユーザが登録されているか、確認する。制御部４０２は、確認の結果、要求にあったユーザＩＤのユーザが登録されていた場合は、Ｓ９４３へ進み、登録されていない場合は、Ｓ９４４に進む。
Ｓ９４３へ進んだ場合、制御部４０２は、通信処理部４０５に通知元へ確認要求されたユーザはすでに登録済みである旨を応答するよう指示し、通知元へ応答する。そして、制御部４０２は、図９Ｂに示すフローチャートの処理を終了する。
Ｓ９４４へ進んだ場合、制御部４０２は、通信処理部４０５に通知元へ確認対象のユーザは登録されていない旨を応答するよう指示し、通知元へ応答する。そして、制御部４０２は、図９Ｂに示すフローチャートの処理を終了する。
【００２８】
次に図９Ｃの処理は、図８のＳ８０７の通知をサーバアプリ４００が受信することで開始される。
Ｓ９１１において、通信処理部４０５は、設定値管理対象として接続クライアント管理データ６０２に登録されたクライアントから同期ユーザデータ６０１の登録の要求を受信し、制御部４０２へ通知する。
Ｓ９１２において、制御部４０２は、Ｓ９１１で通知された要求から、登録要求の対象となる同期ユーザのユーザＩＤを解析する。制御部４０２は、設定値管理部４０４へ指示し、ＤＢ４１０の同期ユーザデータ６０１に解析したユーザＩＤのユーザが登録されているか確認する。制御部４０２は、確認の結果、すでに登録されている場合、Ｓ９１６へ進み、登録さていない場合、Ｓ９１３へ進む。
Ｓ９１６へ進んだ場合、制御部４０２は、設定値管理部４０４へ指示し、ＤＢ４１０の同期ユーザデータ６０１に削除済みフラグがＯＮになって解析したユーザＩＤのユーザが登録されていないか確認する。制御部４０２は、確認の結果、削除済みであった場合は、Ｓ９１７へ進み、削除済みでない場合は、Ｓ９１９へ進む。
Ｓ９１９へ進んだ場合、制御部４０２は、登録要求を受けたユーザは、同期ユーザデータ６０１として登録済みであることを応答するよう通信処理部４０５へ指示する。通信処理部４０５は、制御部４０２から受けた指示内容を通知元へ応答する。そして、制御部４０２は、図９Ｃに示すフローチャートの処理を終了する。
Ｓ９１７へ進んだ場合、制御部４０２は、設定値管理部４０４へ指示し、ＤＢ４１０に登録されている同期ユーザデータ６０１の削除済みフラグをＯＦＦして、更新する。
【００２９】
ここで、Ｓ９１２の確認により、Ｓ９１３へ進んだ場合、制御部４０２は、設定値管理部４０４へ指示し、ＤＢ４１０に新規の同期ユーザデータ６０１として登録を行う。
Ｓ９１４において、設定値管理部４０４は、直前のＳ９１７、又は、Ｓ９１３において、ＤＢ４１０へのデータ操作が成功したかを確認し確認の結果を制御部４０２へ通知する。制御部４０２は、通知された確認の結果、失敗の場合は、Ｓ９２０へ進み、成功の場合は、Ｓ９１５へ進む。
Ｓ９２０へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、図９Ｃに示すフローチャートの処理で実施した、ＤＢ４１０への操作をすべてロールバックして、Ｓ９１８へ進む。
Ｓ９１８において、制御部４０２は、ＤＢ４１０への登録が失敗した旨を通知元へ応答するよう通信処理部４０５へ指示し、通知元へエラーを応答する。そして、制御部４０２は、図９Ｃのフローチャートの処理を終了する。
Ｓ９１５へ進んだ場合、制御部４０２は、ＤＢ４１０へデータ登録が行えたことを通知元へ応答するよう通信処理部４０５へ指示し、通知元へ同期ユーザデータ６０１の登録成功を応答する。そして、制御部４０２は、図９Ｃに示すフローチャートの処理を終了する。
【００３０】
図９Ｄは、図８のＳ８０９の通知をサーバアプリ４００が受信することで開始される。
Ｓ９２１において、通信処理部４０５は、設定値管理対象として接続クライアント管理データ６０２に登録されたクライアントから個人設定値の変更要求を受信したことを制御部４０２へ通知する。
ここで、個人設定値の変更とは、個人設定値データ６０３の新規登録・更新・削除を指す。図８で説明したＳ８０９において、個人設定値データ６０３の新規登録の要求になる。
Ｓ９２２において、制御部４０２は、Ｓ９２１で受信した要求を解析し、設定値管理部４０４へ指示し、通知されたユーザＩＤと一致する同期ユーザデータ６０１がＤＢ４１０へ登録されているかを確認する。制御部４０２は、確認した結果、同期ユーザデータ６０１が登録されている場合は、Ｓ９２３へ進み、登録されていない場合は、Ｓ９２８へ進む。
Ｓ９２８において、制御部４０２は、Ｓ９２２で解析した結果から、設定値管理部４０４に指示し、通知されたユーザの情報をＤＢ４１０の同期ユーザデータ６０１として登録する。
Ｓ９２９において、設定値管理部４０４は、Ｓ９２８のＤＢ４１０への登録操作の確認を制御部４０２へ通知する。制御部４０２は、確認の結果、成功したという場合は、Ｓ９２３へ進み、失敗したという場合は、Ｓ９４０へ進む。
Ｓ９４０へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、図９Ｄのフローチャートで実施した、ＤＢ４１０への操作をすべてロールバックさせＳ９３１へ進む。
Ｓ９３１において、制御部４０２は、通知元へ要求された処理が失敗したことを応答するよう通信処理部４０５に指示し、通知元へエラー応答する。そして、制御部４０２は、図９Ｄのフローチャートの処理を終了する。
【００３１】
Ｓ９２３において、制御部４０２は、設定値管理部４０４に指示し、通知されたユーザＩＤと一致する個人設定値データ６０３が、ＤＢ４１０に登録されているか確認する。
制御部４０２は、確認した結果、通知された個人設定値がＤＢ４１０に登録済みであった場合は、Ｓ９２４へ進み、登録がない場合は、Ｓ９３０へ進む。
Ｓ９３０へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、通知された個人設定値をＤＢ４１０の個人設定値データ６０３として新規登録する。
Ｓ９２４へ進んだ場合、制御部４０２は、同期管理部４０１と、設定値管理部４０４とに指示し、Ｓ９２１で通知された要求に付与された登録依頼日時と、ＤＢ４１０に登録された個人設定値データ６０３の最終更新日時と、を比較する。制御部４０２は、比較の結果、クライアントから通知された個人設定値の方が新しいものであると判定された場合、Ｓ９２５へ進み、古いものであると判定された場合は、Ｓ９２７へ進む。
Ｓ９２５において、制御部４０２は、設定値管理部４０４へ指示し、Ｓ９２１で通知を受けた内容でＤＢ４１０の個人設定値データ６０３を更新する。
Ｓ９２６において、設定値管理部４０４は、Ｓ９３０、Ｓ９２５のＤＢ４１０への処理が成功したかを確認し、制御部４０２へ通知する。制御部４０２は、通知された結果から、成功したと判定した場合は、Ｓ９２７へ進み、失敗したと判定した場合は、Ｓ９４０へ進む。
Ｓ９２７へ進んだ場合、制御部４０２は、通知元へ個人設定値の登録が成功したことを応答するよう通信処理部４０５へ指示し、通知元へ応答する。
ここで、制御部４０２は、Ｓ９２１で通知された個人設定値が複数件の同時変更の場合、Ｓ９２３からＳ９２６までと、Ｓ９３０を複数回繰り返す方法をとってもよい。又は、Ｓ９２４で複数の設定値をすべて比較するよう処理してもよい。
以上の図８と図９との処理により、設定値管理サーバ１１０と複合機１２０との設定値の同期が行うことが可能な状態となる。
【００３２】
図１０は、サーバアプリ４００が本実施形態のシステムの管理者から、サーバアプリ４００が管理するデータの削除を行うための情報処理の一例を示すフローチャートである。
図１０は、ユーザが設定値管理サーバアプリケーションを操作した際に、操作受信部４０６がユーザの操作を検知することで開始される。
Ｓ１００１において、操作受信部４０６は、設定値管理サーバ１１０を操作しているユーザから、ＤＢ４１０に登録されている同期ユーザデータ６０１の一部ユーザの削除指示を受けたことを検知して、制御部４０２へ通知する。
Ｓ１００２において、制御部４０２は、設定値管理サーバ１１０を操作しているユーザがサーバアプリ４００の管理権限があるか確認する。制御部４０２は、確認の結果、管理権限を持っていると判定した場合は、Ｓ１００３へ進み、持っていないと判定した場合は、Ｓ１００９へ進む。
Ｓ１００９へ進んだ場合、制御部４０２は、操作ユーザに対して操作を行う権限がない旨を通知するよう表示データ生成部４０３へ指示する。表示データ生成部４０３は、制御部４０２の指示を受け、表示部Ｉ／Ｆ２０２に表示部２３０へ指示内容を表示させるよう指示する。表示データ生成部４０３の指示により、設定値管理サーバ１１０へエラーを通知する。そして、制御部４０２は、図１０のフローチャートの処理を終了する。ここで、表示データ生成部４０３は、以降のフローチャートの各ステップで、制御部４０２からの指示に対し、同様の処理を実行する。
Ｓ１００３へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、削除対象として指定されたユーザＩＤと一致する同期ユーザデータ６０１のユーザを特定する。設定値管理部４０４は、特定した同期ユーザデータ６０１のデータの削除済みフラグをＯＮにして、最終更新日時を現時点の日時にし、ＤＢ４１０の同期ユーザデータ６０１を更新する。
【００３３】
Ｓ１００４において、設定値管理部４０４は、Ｓ１００３のＤＢ４１０への操作が成功したかを確認する。設定値管理部４０４は、確認の結果、ＤＢ４１０への操作が成功した場合は、Ｓ１００５へ進み、失敗した場合は、Ｓ１０１０へ進む。
Ｓ１０１０へ進んだ場合、設定値管理部４０４は、図１０のフローチャートで発生しているＤＢ４１０へ対してのデータ操作をすべて取り消し、Ｓ１００８へ進む。
Ｓ１００８において、制御部４０２は、操作ユーザに対して操作に対する処理が失敗した旨を通知するよう表示データ生成部４０３へ指示し、エラーを通知する。そして、制御部４０２は、図１０に示すフローチャートの処理を終了する。
Ｓ１００５へ進んだ場合、制御部４０２は、削除した同期ユーザデータ６０１のユーザＩＤと一致する個人設定値データ６０３をすべて削除するよう設定値管理部４０４へ指示する。設定値管理部４０４は、指示を受け、個人設定値データ６０３のうち、同期ユーザに紐づくデータをＤＢ４１０から削除する。
Ｓ１００６において、設定値管理部４０４は、Ｓ１００５のＤＢ４１０への操作が成功したかを確認する。設定値管理部４０４は、確認の結果、ＤＢ４１０へのデータ操作が成功した場合、Ｓ１００７へ進み、失敗した場合は、Ｓ１０１０へ進む。
Ｓ１００７へ進んだ場合、制御部４０２は、操作ユーザに対して操作に対する処理が成功した旨を通知するよう表示データ生成部４０３へ指示し、操作成功を通知する。そして、制御部４０２は、図１０のフローチャートの処理を終了する。
【００３４】
図１１を用いて、図１０で説明した削除処理の結果を設定値管理サーバ１１０と複合機１２０との間で同期するための処理を説明する。
図１１Ａは、クライアントアプリ５００が設定値を同期しているユーザのうち既に削除済みであるユーザの個人設定値を削除するためのフローチャートである。
Ｓ１１０１において、制御部５０２は、複合機１２０に保存されている個人設定値のうち、設定値管理サーバ１１０上で削除されたものがないか確認する契機を検知する。
本実施形態において、確認の契機は、一定期間おきに実行される構成を説明するが、複合機１２０への操作を契機に実施されてもよし、複合機１２０の起動等で実施されてもよい。
Ｓ１１０２において、制御部５０２は、同期管理部５０１と、設定値管理部５０４とに指示し、ＤＢ５１０の同期ユーザリスト管理データ７０２からユーザリストの最終同期日時を取得する。制御部５０２は、取得された最終同期日時を用いて、通信処理部５０５に指示し、設定値管理サーバ１１０へ同期ユーザのリスト要求を通知する。
ここで、同期ユーザリスト管理データ７０２に保存された最終同期日時が保存されていない場合等は最終同期日時を付与せず、通知することで設定値管理サーバ１１０は全ユーザリストの要求であることを表すことができる。
Ｓ１１０３において、通信処理部５０５は、設定値管理サーバ１１０へＳ１１０２の通信の結果を受信し制御部５０２へ通知する。制御部５０２は、通信結果の内容がエラーであったかどうかを確認する。制御部５０２は、確認の結果、エラーの場合は、Ｓ１１０６へ進み、エラーでない場合は、Ｓ１１０４へ進む。
Ｓ１１０６へ進んだ場合、制御部５０２は、複合機１２０の操作ユーザへ設定値同期処理の失敗を通知する。そして、制御部５０２は、図１１Ａのフローチャートの処理を終了する。
Ｓ１１０４へ進んだ場合、制御部５０２は、通信処理部５０５が受信した応答データを解析し、設定値管理サーバ１１０に保存された同期ユーザのうち、削除済みであるユーザが含まれるかを確認する。
制御部５０２は、確認の結果、削除済みのユーザが含まれない場合は、何もせず図１１のフローチャートの処理を終了し、削除済みのユーザが含まれる場合は、Ｓ１１０５へ進む。
Ｓ１１０５において、制御部５０２は、設定値管理部５０４に指示し、ＤＢ５１０に保存された個人設定値データ７０３のうち、Ｓ１１０４で確認した削除済みユーザと同じユーザＩＤに紐づくデータを削除する。
【００３５】
図１１Ｂは、サーバアプリ４００がクライアントアプリ５００から図１１Ａで説明したＳ１１０２の要求を受信した際に実行されるフローチャートである。
Ｓ１１１１において、通信処理部４０５は、設定値同期管理データ７０４に登録されたクライアントから、同期ユーザのリスト要求を受信したことを制御部４０２に通知する。
Ｓ１１１２において、制御部４０２は、通信処理部４０５が受信した通知内容を解析し、全ユーザのリストを要求しているかを確認する。制御部４０２は、確認の結果、全ユーザのリストを要求していると判定した場合は、Ｓ１１１７へ進み、すべてのリストではなく、最終同期日時以降に更新されたユーザのリストを要求していると判定した場合は、Ｓ１１１３へ進む。
Ｓ１１１７へ進んだ場合、制御部４０２は、設定値管理部４０４に指示し、ＤＢ４１０に登録されている同期ユーザデータ６０１のうち削除済みフラグがＯＦＦになっているデータのリストを取得し、Ｓ１１１８へ進む。
Ｓ１１１８において、制御部４０２は、設定値管理部４０４に指示し、ＤＢ４１０に登録されている削除済みフラグがＯＮになっている同期ユーザデータ６０１のリストを取得し、Ｓ１１１５へ進む。
【００３６】
ここで、Ｓ１１１２からＳ１１１３に進んだ場合、制御部４０２は、Ｓ１１１１で受信した内容を分析した結果から、最終同期日時を取得する。
次に制御部４０２は、同期管理部４０１と、設定値管理部４０４とに指示し、ＤＢ４１０に登録されている削除済みフラグがＯＦＦになっていて、通知された最終同期日時以降に更新された同期ユーザデータ６０１のリストを取得する。
Ｓ１１１４において、制御部４０２は、同期管理部４０１と、設定値管理部４０４とに指示して、ＤＢ４１０に登録されている削除済みフラグがＯＮになっていて、通知された最終同期日時以降に更新された同期ユーザデータ６０１のリストを取得する。
Ｓ１１１５において、制御部４０２は、Ｓ１１１３からＳ１１１４まで、又は、Ｓ１１１７からＳ１１１８まででデータ取得が成功したか否かを確認する。
制御部４０２は、確認の結果、データ取得が成功している場合は、Ｓ１１１６へ進み、失敗している場合は、Ｓ１１１９へ進む。Ｓ１１１９へ進む条件としては検索時にＤＢ４１０のファイルが破損してしまった等によるものがある。Ｓ１１１９へ進む条件はファイル破損以外にもメモリ不足やアクセス制限等がある。
Ｓ１１１９へ進んだ場合、制御部４０２は、通信処理部４０５へ指示し、通知元へ同期ユーザのリスト取得でエラーとなった旨を応答して、フローチャートの処理を終了する。
Ｓ１１１６へ進んだ場合、制御部４０２は、通信処理部４０５へ指示し、通知元へ取得された同期ユーザデータ６０１のリストを応答する。そして、制御部４０２は、図１１Ｂのフローチャートの処理を終了する。
【００３７】
図１２を用いて、設定値管理サーバ１１０と、複合機１２０との個人設定値を同期しているシステムにおいて、図１０で説明した処理が行われ、個人設定値の同期を望むユーザが削除された場合でも、個人設定値を正しく同期する方法を説明する。
図１２Ａは、設定値管理サーバ１１０で管理される同期ユーザデータ６０１のうち削除されてしまったユーザＩＤと同じユーザＩＤのユーザが複合機１２０に個人設定値を登録したときに同期を継続するためのフローチャートである。
Ｓ１２０１において、操作受信部５０３は、複合機１２０へユーザがログインすることを検知し、制御部５０２へ通知する。
Ｓ１２０２において、制御部５０２は、通知を受けたログインしたユーザの情報を設定値管理サーバ１１０へ登録する要求の通知を通信処理部５０５に指示し、設定値管理サーバ１１０へ通知する。Ｓ１２０２の処理は、ログインが検知されたユーザを同期対象のユーザとして設定値管理サーバ１１０に登録するユーザ登録要求を設定値管理サーバ１１０に送信する処理の一例である。
ここで、設定値管理サーバ１１０で動作するサーバアプリ４００は、Ｓ１２０２の通知を受け、図９Ｂのフローチャートの処理を実行する。
次に、Ｓ１２０３において、制御部５０２は、通信処理部５０５が行った設定値管理サーバ１１０への通知の応答結果を確認する。
制御部５０２は、確認の結果、ユーザ登録が成功したと判定した場合は、Ｓ１２０４へ進み、ユーザ登録成功以外の応答であった場合は、Ｓ１２１３へ進む。
Ｓ１２１３へ進んだ場合、制御部５０２は、通信処理部５０５が行った設定値管理サーバ１１０への通知の応答結果が、通知したユーザがすでに登録済みという応答の場合、Ｓ１２０６へ進み、その他の応答であった場合は、Ｓ１２１４へ進む。
Ｓ１２１４において、制御部５０２は、複合機操作ユーザへ設定値の同期処理が失敗した旨を通知する。そして、制御部５０２は、図１２Ａのフローチャートの処理を終了する。
【００３８】
Ｓ１２０３の確認の結果により、Ｓ１２０４へ進んだ場合、制御部５０２は、サーバに登録されていた同期ユーザの中に現在ログインしているユーザのデータが存在しなかったと判定する。そして、制御部５０２は、設定値管理部５０４に指示し、ログイン中のユーザのユーザＩＤと一致する個人設定値データ７０３をＤＢ５１０から取得する。この処理は、ログインが検知されたユーザが同期対象のユーザとしてサーバ装置に登録された場合、ログインが検知されたユーザの個人設定値を取得する処理の一例である。
制御部５０２は、取得された個人設定値をすべてサーバに登録するよう通信処理部５０５に指示し、設定値管理サーバ１１０へ登録の通知を行う。この処理は、取得された個人設定値をサーバ装置に登録する設定値登録要求をサーバ装置に送信する処理の一例である。
ここで、設定値管理サーバ１１０で動作するサーバアプリ４００は、Ｓ１２０４の通知を受け、図９Ｃのフローチャートの処理を実行する。
Ｓ１２０５において、通信処理部５０５は、Ｓ１２０４の通知を設定値管理サーバ１１０へ行った結果応答を制御部５０２へ通知する。制御部５０２は、確認の結果、個人設定値の登録が成功した場合は、Ｓ１２０６へ進み、失敗した場合は、Ｓ１２１４へ進む。
Ｓ１２０６へ進んだ場合、制御部５０２は、ログイン中の認証ユーザの個人設定値を同期する要求を通信処理部５０５へ指示し、設定値管理サーバ１１０へ通知する。
Ｓ１２０７において、通信処理部５０５は、Ｓ１２０６の処理の結果を制御部５０２へ通知する。制御部５０２は、確認の結果、設定値管理サーバ１１０からエラーが応答された場合、Ｓ１２１４へ進み、エラー以外の応答がされた場合は、Ｓ１２０８に進む。
【００３９】
Ｓ１２０８へ進んだ場合、制御部５０２は、設定値管理部５０４と、同期管理部５０１とに指示し、ＤＢ５１０に保存されている認証ユーザデータ７０１の同期が成功したユーザに関する最終更新日時を更新する。
Ｓ１２０９において、制御部５０２は、設定値管理サーバ１１０と同期した設定値で複合機１２０を動作させる。
Ｓ１２１０で、操作受信部５０３は、ユーザ操作により個人設定値データ７０３の変更を検知した場合は、Ｓ１２１１へ進み、個人設定値の変更を検知せず、ユーザ操作が完了した場合は、図１２Ａに示すフローチャートの処理を終了する。
Ｓ１２１１へ進んだ場合、制御部５０２は、設定値管理部５０４に指示し、ＤＢ５１０に登録された個人設定値データ７０３のうち変更された設定値を設定値管理サーバ１１０へ変更を通知するよう通信処理部５０５へ指示し、通知する。
ここで、設定値管理サーバ１１０で動作するサーバアプリ４００は、Ｓ１２１１の通知を受け、図１１Ｂのフローチャートの処理を実行する。
Ｓ１２１２において、通信処理部５０５は、設定値管理サーバ１１０へ通知した結果、応答が個人設定値の変更登録が成功以外の応答であった場合は、Ｓ１２１４へ進み、成功した場合は、図１２Ａのフローチャートの処理を終了する。
【００４０】
図１２Ｂは、サーバアプリ４００がクライアントアプリ５００から図１２Ａで説明したＳ１２０６の要求を受信した際に実行されるフローチャートである。
Ｓ１２２１において、通信処理部４０５は、接続クライアント管理データ６０２に登録されたクライアントから同期ユーザの個人設定値同期要求を受信したこと制御部４０２に通知する。
Ｓ１２２２において、制御部４０２は、Ｓ１２２１で受信した要求を解析し、設定値管理部４０４に指示し、通知された個人設定値のユーザＩＤと一致する同期ユーザデータ６０１がＤＢ４１０に登録されているか確認する。
制御部４０２は、確認の結果、ＤＢ４１０に対象の同期ユーザが登録されていない場合は、Ｓ１２２８へ進み、登録されている場合は、Ｓ１２２３へ進む。
Ｓ１２２８へ進んだ場合、制御部４０２は、通知元に対し要求された個人設定値が検索できなかった旨を応答するよう通信処理部４０５へ指示し、エラーを応答する。そして、制御部４０２は、図１２Ｂのフローチャートの処理を終了する。ここで、Ｓ１２２２からＳ１２２８へ進んだ場合には、制御部４０２は、要求されたユーザの登録がない旨を詳細に応答してもよい。
Ｓ１２２３へ進んだ場合、制御部４０２は、Ｓ１２２１で受信した要求を解析し、同期要求に最終同期日時が付与されているかを確認する。
制御部４０２は、確認の結果、最終同期日時が付与されている場合は、差分同期であると判定し、Ｓ１２２４へ進み、付与されていない場合は、差分同期でないと判定し、Ｓ１２２７へ進む。
【００４１】
Ｓ１２２７へ進んだ場合、制御部４０２は、同期管理部４０１と、設定値管理部４０４とに指示し、同期要求を受けたユーザＩＤと一致する個人設定値データ６０３をすべてＤＢ４１０から取得し、Ｓ１２２５へ進む。
また、Ｓ１２２４へ進んだ場合、制御部４０２は、同期管理部４０１、設定値管理部４０４に指示し、同期要求を受けたユーザＩＤと一致する最終同期日時以降に更新された個人設定値データ６０３をＤＢ４１０から取得する。
Ｓ１２２５において、設定値管理部４０４は、Ｓ１２２７、Ｓ１２２４で、ＤＢ４１０からのデータ取得が成功したかを確認する。
設定値管理部４０４は、確認の結果、データの取得が成功した場合は、Ｓ１２２６へ進み、失敗した場合は、Ｓ１２２８へ進む。
Ｓ１２２６へ進んだ場合、制御部４０２は、通知元に取得できたデータを応答するよう通信処理部４０５に指示し、データ応答する。そして、制御部４０２は、図１２Ｂのフローチャートの処理を終了する。
【００４２】
以上、説明した実施形態の処理によれば、個人設定値を同期するシステムにおいて、システムを継続して利用したいユーザの個人設定値の削除が設定値管理サーバ１１０で行われた場合でも、継続してシステムを利用することができる。
図１１で説明したユーザリストの同期契機前に、認証ユーザが複合機１２０へログインし、個人設定値を登録した場合、ユーザは継続して複合機１２０へ登録した個人設定値を利用したいと望むと考えられる。
上記のような場合、図１２で説明したような認証ユーザが複合機１２０へログインした際に、設定値管理サーバ１１０へ同期ユーザ登録を行い、登録成功の場合に、該当ユーザの個人設定値をすべて登録通知しなおすことで同期状態が保たれる。
また、ログイン後のユーザ操作による個人設定値の同期処理（図１２のＳ１２１０以降の処理）を行うことで、全設定値を設定値管理サーバ１１０へ通知した後にユーザが複合機１２０で変更した個人設定値も正しく同期される。
【００４３】
＜実施形態２＞
実施形態２において、複合機１２０へ認証ユーザがログインした際に、設定値管理サーバ１１０へ同期ユーザの登録状況の確認を行い、その結果を用いて同期状態を保つ方法を実施形態１との差分を中心に説明する。
図１から図１１までを用いて説明した構成と同様の構成を有する設定値管理サーバ１１０と、複合機１２０との個人設定値を同期するシステムにおいて、図１２で説明したフローチャートと差分のある図１３のフローチャートを用いて説明する。
図１３は、設定値管理サーバ１１０で管理される同期ユーザデータ６０１のうち削除されてしまったユーザＩＤと同じユーザＩＤのユーザが複合機１２０に個人設定値を登録したときに同期を継続するためのフローチャートである。
Ｓ１３０１において、操作受信部５０３は、複合機１２０へユーザがログインしたことを検知し、制御部５０２へ通知する。
Ｓ１３０２において、制御部５０２は、ログインしたユーザが設定値管理サーバ１１０に登録されているか確認するよう通信処理部５０５へ指示し、設定値管理サーバ１１０へ通知する。
このとき、Ｓ１３０２の通知を設定値管理サーバ１１０が受け付けた際には、図９Ｂの処理が実行される。
【００４４】
Ｓ１３０３において、通信処理部５０５は、Ｓ１３０２で行った通信の結果を制御部５０２へ通知する。制御部５０２は、通信結果を解析した結果、通信が成功の場合は、Ｓ１３０４へ進み、失敗の場合は、図１２で説明したＳ１２１４へ進む。
Ｓ１３０４へ進んだ場合、制御部５０２は、通信処理部５０５がＳ１３０２の通信処理で受信した応答データを解析し、ログイン中の認証ユーザと同じユーザＩＤのユーザが設定値管理サーバ１１０へ登録されているかを判定する。
制御部５０２は、解析の結果、登録済みと判定された場合は、図１２で説明したＳ１２０６へ進み、登録がなされていないと判定された場合は、図１２で説明したＳ１２０２へ進む。
以降は、複合機１２０は、図１２で説明したＳ１２０２からＳ１２１４までの処理を行い、設定値の同期を継続する。
また、本実施形態で説明した、Ｓ１３０２の確認方法は、図９で説明した確認方法を利用した。しかし、制御部５０２は、設定値の同期処理をより効率化するために他の確認処理を用いてもよい。例えば、制御部５０２は、設定値管理サーバ１１０に対し、ログイン中の認証ユーザに紐づく個人設定値の全設定値を要求し、Ｓ１２０６との差分同期処理を省略する方法等がある。
【００４５】
以上、本実施形態の処理によれば、個人設定値を同期するシステムにおいて、システムを継続して利用したいユーザの個人設定値の削除が設定値管理サーバ１１０で行われた場合でも、継続してシステムを利用することができる。
実施形態１において、認証ユーザのログイン時に毎回、設定値管理サーバ１１０へ認証ユーザを同期ユーザとして登録する方法を説明したが、本実施形態で説明するように、同期ユーザとして登録を行う前に事前に確認を行う方法をとってもよい。
本実施形態のように、設定値管理サーバ１１０へ認証ユーザの登録を行う前に同期の不整合を検知する確認を行うことで、より効率的に設定値の同期を行うことができる。
【００４６】
＜実施形態３＞
実施形態３において、複合機１２０へ認証ユーザが個人設定値の登録を行った際に、設定値管理サーバ１１０と複合機１２０との同期状況の確認を行い、その結果を用いて同期状態を保つ方法を第１の実施形態との差分を中心に説明する。
図１４は、設定値管理サーバ１１０で管理される同期ユーザが、削除済みとされてしまった認証ユーザが複合機１２０に個人設定値を登録したときに設定値同期を継続するためのフローチャートである。以下において、図１２で行った説明との差分を中心に説明する。
Ｓ１４０１において、操作受信部５０３は、複合機１２０へユーザがログインしたことを検知し、制御部５０２へ通知する。そして、複合機１２０は、図１２で説明したＳ１２０６からＳ１２０９まで及びＳ１２１４の処理と同じ処理を行う。
Ｓ１２０９の処理が行われた後、Ｓ１４１１へ進む。
Ｓ１４１１において、操作受信部５０３は、図１２で説明したＳ１２１０と同様の確認処理を行う。ログイン中のユーザの操作を操作受信部５０３が検知し、制御部５０２へ通知する。通知を受けた制御部５０２は、個人設定値データ７０３が変更されたと判定した場合は、Ｓ１４１２へ進み、変更されてないと判定した場合は、特に処理を行わず、図１４に示すフローチャートの処理を終了する。
Ｓ１４１２において、図１２で説明したＳ１２０６と同様の登録処理を行い、制御部５０２は、設定値管理部５０４を用いて、ログイン中のユーザの認証ユーザデータ７０１の情報を通信処理部５０５に指示して設定値管理サーバ１１０に登録通知を行う。Ｓ１４１２の処理は、ログインが検知されたユーザの個人設定値が変更された場合、ユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求をサーバ装置に送信する処理の一例である。
Ｓ１４１３において、通信処理部５０５は、Ｓ１４１２で通信した結果の応答を制御部５０２へ通知する。制御部５０２は、確認の結果、成功が応答されたと判定した場合は、Ｓ１４１４へ進み、それ以外の応答と判定した場合は、Ｓ１４１６へ進む。
【００４７】
Ｓ１４１４に進んだ場合、制御部５０２は、図１２で説明したＳ１２０４と同様の登録処理を行う。Ｓ１４１４の処理は、ユーザが同期対象のユーザとしてサーバ装置に登録された場合、ユーザの個人設定値を取得する処理の一例である。また、Ｓ１４１４の処理は、取得された個人設定値をサーバ装置に登録する設定値登録要求をサーバ装置に送信する処理の一例である。
Ｓ１４１６に進んだ場合、制御部５０２は、Ｓ１４１３にて解析した応答の内容が登録要求したユーザが登録済みでるという内容の場合は、Ｓ１４１７へ進み、その他の応答であれば、図１２で説明したＳ１２１４へ進む。
Ｓ１４１７へ進んだ場合、制御部５０２は、図１２で説明したＳ１２１１と同様の登録処理を行い、通信処理部５０５へ指示し、変更を検知した個人設定値データ７０３のみ設定値管理サーバ１１０へ変更通知する。
Ｓ１４１５において、通信処理部５０５は、Ｓ１４１４、Ｓ１４１７で行った登録処理の結果を制御部５０２へ通知する。制御部５０２は、確認の結果、登録処理が成功した場合は、図１４のフローチャートの処理を終了し、登録処理が成功以外であった場合は、図１２で説明したＳ１２１４へ進む。そして、制御部５０２は、図１４のフローチャートの処理を終了する。
【００４８】
以上、説明した処理により、複合機１２０へログインしたユーザのユーザＩＤと同じユーザＩＤの同期ユーザデータ６０１がログイン中に設定値管理サーバ１１０で削除された場合でも、継続して設定値の同期を行うことができる。
【００４９】
＜実施形態４＞
実施形態４において、複合機１２０へ認証ユーザがログアウトした際に、設定値管理サーバ１１０と複合機１２０との同期状況の確認を行い、その結果を用いて同期状態を保つ方法を実施形態１との差分を中心に説明する。
図１５は、設定値管理サーバ１１０で管理される同期ユーザのうち、削除されてしまったユーザＩＤと同じユーザＩＤのユーザが複合機１２０に個人設定値を登録したときに設定値同期を継続するためのフローチャートである。以下において、図１２で行った説明との差分を中心に説明する。
Ｓ１５０１において、操作受信部５０３は、認証ユーザのログアウトを検知し、制御部５０２へ通知する。制御部５０２は、ログアウトしたユーザの認証ユーザデータ７０１の情報を設定値管理部５０４に指示しＤＢ５１０から取得する。
Ｓ１５０２において、制御部５０２は、Ｓ１５０１で取得した認証ユーザの情報を用いて、通信処理部５０５に指示し、設定値管理サーバ１１０に同期ユーザの登録要求の通知を行う。Ｓ１５０２の処理は、ログアウトが検知されたユーザを同期対象のユーザとしてサーバ装置に登録するユーザ登録要求をサーバ装置に送信する処理の一例である。
ここで、Ｓ１５０２の通知を設定値管理サーバ１１０が受信した場合、図９Ｃで説明した処理が行われる。
Ｓ１５０２で行った通信の後、制御部５０２は、図１２で説明したＳ１２０４からＳ１２０５まで、Ｓ１２１３、Ｓ１２１４の処理を行い、フローチャートの処理を終了する。
【００５０】
以上、本実施形態の処理によれば、個人設定値を同期するシステムにおいて、複合機１２０へ認証ユーザがログイン中に設定値管理サーバ１１０で図１０の削除処理がなされた場合でも設定値の同期を継続して行うことができる。
また、ログインしたユーザが複合機１２０へ複数件の個人設定値を登録した場合に、設定値管理サーバ１１０と複合機１２０との間の通信回数を削減することができる。
【００５１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５２】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００５３】
以上、上述した各実施形態の処理によれば、設定値を同期するシステムにおいて、システムの管理者が継続利用を望むユーザの個人設定値を削除した場合でも、個人設定値の同期を復旧することができ、設定値の同期が正しく行われる。
また、システムの管理者の操作以外においても、設定値管理サーバにユーザの個人設定値がなく、複合機には保存されているような同期状態に不整合が生じても、ユーザが操作している複合機の設定値を正しく同期することができる。
【符号の説明】
【００５４】
１１０  設定管理サーバ
１２０  複合機
２０３  ＣＰＵ
３０２  ＣＰＵ
【図１】
2019028935.tif 000010
【図２】
2019028935.tif 000011
【図３】
2019028935.tif 000012
【図４】
2019028935.tif 000013
【図５】
2019028935.tif 000014
【図６】
2019028935.tif 000015
【図７】
2019028935.tif 000016
【図８】
2019028935.tif 000017
【図９Ａ】
2019028935.tif 000018
【図９Ｂ】
2019028935.tif 000019
【図９Ｃ】
2019028935.tif 000020
【図９Ｄ】
2019028935.tif 000021
【図１０】
2019028935.tif 000022
【図１１Ａ】
2019028935.tif 000023
【図１１Ｂ】
2019028935.tif 000024
【図１２Ａ】
2019028935.tif 000025
【図１２Ｂ】
2019028935.tif 000026
【図１３】
2019028935.tif 000027
【図１４】
2019028935.tif 000028
【図１５】
2019028935.tif 000029