(57)【要約】【課題】配信時やファームウェア更新時に、ファームウェアバージョンに合わせて適切に同期制御を変更する手段を提供する。【解決手段】個人設定保持部311,310にはユーザごとかつアプリケーションごとの個人設定が保存されている。個人設定をエクスポートする際には、個人設定ごとに同期するか否かを示す同期制御情報をエクスポートする。インポートする装置のファームウェアバージョンが個人設定の同期を示している場合には、同期制御情報に応じて書き換える。【選択図】図３
2016162314.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と接続された画像形成装置であって、
プログラムごとの個人設定を、同期制御情報と関連付けて保存する保存手段と、
前記個人設定に関連づけられた同期制御情報に応じて、前記保存手段に保存した前記個人設定と、前記外部装置の保持する対応する個人設定とを同期させる同期管理手段と、
前記個人設定を配信先へエクスポートする際に、前記同期制御情報を前記個人設定と関連付けてエクスポートするエクスポート手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記個人設定を配信元からインポートする際に、前記同期制御情報を前記個人設定と関連付けてインポートするインポート手段を更に有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記エクスポート手段は、エクスポートする前記個人設定に、同期制御の方法を示す情報を付加し、
前記インポート手段は、インポートする前記個人設定に、前記同期制御の方法を示す情報が付加されていた場合には、該情報で示される同期制御方法となるよう前記個人設定に関連付けられた同期制御情報を設定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記同期制御の方法を示す情報は、前記配信元の画像形成装置のファームウェアのバージョン情報であることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前回起動時のファームウェアのバージョン情報を記憶する手段と、
起動時に現在のバージョン情報と前記前回起動時のバージョン情報とを比較し、同一でなければ前記同期制御情報を前記現在のバージョン情報に応じた値に設定することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記外部装置は、前記画像形成装置から受信したプログラムのリストに基づいて前記プログラムごとの前記個人設定を前記画像形成装置に送信するよう構成され、
前記画像形成装置は、前記外部装置に対して、同期させない個人設定を有するプログラムを含まない前記プログラムのリストを前記外部装置に対して送信する手段を更に有することを特徴とする請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項７】
前記個人設定がアプリケーションプログラムにより操作された場合には、前記個人設定が前記アプリケーションプログラムにより操作されたことを示す操作情報を設定する手段を更に有し、
前記保存手段は、設定された前記操作情報を前記同期制御情報に関連づけて保存し、
前記エクスポート手段は、前記操作情報と前記同期制御情報と関連付けた前記個人設定をエクスポートし、
前記インポート手段は、インポートする前記個人設定に付加された前記同期制御情報に関連付けられた前記操作情報が、前記アプリケーションプログラムにより設定されたことを示している場合には、前記同期制御情報を操作せずに前記個人設定をインポートし、前記アプリケーションプログラムにより設定されたことを示していない場合には、前記個人設定をインポートし、インポートした前記個人設定の前記同期制御情報を、前記同期制御の方法を示す情報の値に応じて設定することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項８】
前記個人設定には、前記プログラムにより外部装置にアクセスするためのパスワード情報を含むことを特徴とする請求項１乃至７のいずれか一項に記載の画像形成装置。
【請求項９】
外部装置と接続された画像形成装置の制御方法であって、
プログラムごとの個人設定を、同期制御情報と関連付けて保存手段に保存する工程と、
前記個人設定に関連づけられた同期制御情報に応じて、前記保存手段に保存した前記個人設定と、前記外部装置の保持する対応する個人設定とを同期させる同期管理工程と、
前記個人設定を配信先へエクスポートする際に、前記同期制御情報を前記個人設定と関連付けてエクスポートするエクスポート工程と
を有することを特徴とする画像形成装置の制御方法。
【請求項１０】
前記個人設定を配信元からインポートする際に、前記同期制御情報を前記個人設定と関連付けてインポートするインポート工程を更に有することを特徴とする請求項９に記載の画像形成装置の制御方法。
【請求項１１】
請求項１乃至８のいずれか一項に記載の画像形成装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置及びその制御方法に関し、特に設定値の同期制御等に関するものである。
【背景技術】
【０００２】
プリンタ、コピー機、複合機などといった画像形成装置には、使用時にユーザ認証を伴うログイン処理を行い、許可されたユーザのみが使用可能となるものがある。そのような画像形成装置には、ログイン処理後に、許可されたユーザの個人設定に基づいて、そのユーザに対応する利用環境（デスクトップレイアウト、コピー濃度、使用する用紙種別など）がセットされるものがある。特許文献１には、ユーザの個人設定をサーバで一元管理し、ユーザが画像形成装置にログインした場合に、ログインユーザの個人設定をサーバからダウンロードすることで、画像形成装置ごとに設定を行う手間を省くことができる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2011−170203号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法では、サーバ利用の有無をファームウェアのバージョンに合わせて一括で変更したり、アプリケーションが自由に選択したりすることができなかった。例えば、画像形成装置には、外部サーバに文書データを送信するようなアプリケーションが存在し、外部サーバへのアクセス時に使用するパスワード情報を個人設定として管理している。しかしながら、こうした秘匿情報はむやみにサーバ上で一元管理することがセキュリティ上好ましくない場合がある。したがって、サーバ上で管理するのか、ローカルでのみ管理するのかを各アプリケーションが選択できることが望ましい。
【０００５】
また、こうした選択をファームウェアのバージョンに応じて一括で制御できることで、より柔軟に顧客の要望に対応することが可能である。例えば、Ver.3.2.xのファームウェアでは、セキュリティを重視し、すべてのアプリケーションのパスワード情報のサーバ利用を禁止する。一方で、Ver.3.3.xのファームウェアでは、利便性を重視し、すべてのアプリケーションのパスワード情報をサーバで一元管理するなど、顧客先に合わせたファームウェアを提供することで、一括制御が可能となる。すなわち、アプリケーションからの指定や、ファームウェアのバージョンに応じて、情報を一元管理するためのサーバを利用するか否かを制御することが求められる。さらに、ファームウェアのバージョンが異なる機種間で設定値の配信を行う場合や、一台の画像形成装置上でファームウェアが更新された場合にも、ファームウェアの変化に対応して、一括でサーバ利用の有無を制御できることが求められている。
【０００６】
本発明は上記従来例に鑑みて成されたもので、画像形成装置にインストールされた個人設定とサーバに保持された個人設定とを同期させるか否かをアプリケーションが自由に選択でき、また、そのような同期を行うか否かを画像形成装置のファームウェアのバージョンに応じて一括で変更することができる画像形成装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は上記目的を達成するために以下の構成を有する。
【０００８】
外部装置と接続された画像形成装置であって、
プログラムごとの個人設定を、同期制御情報と関連付けて保存する保存手段と、
前記個人設定に関連づけられた同期制御情報に応じて、前記保存手段に保存した前記個人設定と、前記外部装置の保持する対応する個人設定とを同期させる同期管理手段と、
前記個人設定を配信先へエクスポートする際に、前記同期制御情報を前記個人設定と関連付けてエクスポートするエクスポート手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像形成装置の個人設定をサーバと同期するかどうかをアプリケーションが自由に選択でき、ファームウェアのバージョンによって一括で変更することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の画像形成装置のシステム構成図
【図２】本実施形態の画像形成装置のハードウェア構成図
【図３】本実施形態の画像形成装置のソフトウェア構成図
【図４】、
【図５】、
【図６】、
【図７】本実施形態の画像形成装置と外部機器が個人設定を同期する際のフローチャート
【図８】、
【図９】本実施形態の画像形成装置が個人設定を配信する際のフローチャート
【図１０】、
【図１１】本実施形態１において、配信時にファームウェアバージョンに応じて同期制御フラグを書き換える際のフローチャート
【図１２】本実施形態２において、ファームウェアの更新時にファームウェアバージョンに応じて同期制御フラグを書き換える際のフローチャート
【図１３】本実施形態３において、アプリケーション一覧リストから拡張用パスワード情報管理部の情報を削除する際のフローチャート
【図１４】、
【図１５】本実施形態４において、アプリケーションが同期制御フラグを操作した場合に、アプリケーションの意図を尊重しつつ、ファームウェアのバージョンに応じて同期制御フラグを書き換える際のフローチャート
【図１６】本実施形態の個人設定のデータ構造
【図１７】本実施形態の個人設定のデータ構造と同期制御フラグの関係
【図１８】本実施形態のアプリケーション一覧リストの一例
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態の一例について図面を用いて説明する。
＜用語の定義＞
まず本発明における用語の定義を行う。
「設定値」とは、画像形成装置内に設定される画像形成装置の動作を切り替えるパラメータを示す。
「組込プログラム」とは、画像形成装置に元々組み込まれたアプリケーションプログラム等のプログラムを示す。ユーザによるインストールおよびアンインストールは通常は許されていない。
「拡張プログラム」とは、Java(登録商標)アプリケーション等の、ユーザにより後からインストール可能なプログラムを示す。拡張プログラムは自社だけでなく、サードベンダー等が開発したアプリケーションを含む。
「配信」とは、ある画像形成装置の設定値を取り出して、他の画像形成装置に取り込むことを示す。画像形成装置から設定値を取り出す処理を「エクスポート（export）」、画像形成装置に設定値を取り込むことを「インポート（import）」と呼び、区別して説明する場合がある。エクスポートは、たとえばエクスポート対象の情報を、指定された装置へ送信することや、指定された媒体へ書き込むことを含む。インポートとは、たとえばインポート対象の情報を、指定された装置から受信することや、指定された媒体から読み込むことを含む。
「同期」とは、画像形成装置で利用する設定値をサーバ上で一元管理し、ユーザのログイン時に画像形成装置にダウンロードし、データの更新、もしくは、ユーザのログアウト時に更新されたデータをサーバにアップロードすることを示す。
「個人設定」とは、画像形成装置を利用するユーザ毎にカスタマイズされた設定値を示す。図１６に本実施形態で扱う個人設定のデータ構造を示す。個人設定は図１６に示すように木構造で管理される。木構造のルートノードには、ユーザを識別する識別子が指定される。ルートノードの子ノードには、アプリケーションごとのノードが作成される。さらにその子ノードには、各アプリケーションが自由にノードを作成することができる。個人設定はプロパティ形式で各ノードに登録される。
「パスワード情報」とは、個人設定の中でも特にパスワードなどの秘匿情報を示す。パスワード情報は個人設定に包含される。パスワード情報の具体的な例として、webdavのパスワード、URL、SMTP認証時のパスワードなどが挙げられる。
以上が用語の説明となる。ここで説明した以外にも適宜用語の説明を行う。
【００１２】
［実施形態１］
本実施形態は、ファームウェアのバージョンが異なる複数台の画像形成装置間で設定値の配信を行う場合の実施形態である。本実施形態では、説明を簡単にするために、ファームウェアのバージョンと同期制御の状態を以下のように定める。なおここでいうファームウェアとは、たとえば図３に示すブロックのうち、拡張プログラムやＯＳを除いた部分を含む。
Ver3.2：同期しない。
Ver3.3：同期する。
すなわち、Ver3.2のファームウェアがインストールされた画像形成装置は、サーバから取得したログインユーザの個人設定が画像形成装置において変更されたとしても、その変更をサーバの持つ個人設定に反映することはない。他方、Ver3.3のファームウェアがインストールされた画像形成装置は、例えばサーバから取得したログインユーザの個人設定が画像形成装置において変更されてそのままログアウトされると、変更された個人設定をサーバの持つ個人設定に反映する。このようにバージョン情報は、本実施形態及び他の実施形態において、同期制御の方法を示す情報としての意味を持つ。なお、このようにファームウェアのバージョンによって同期制御を変える理由は、顧客先の要望に合わせて異なるバージョンのファームウェアを導入することで、一括で同期制御を変更することが可能だからである。また、ここでのバージョンと同期制御との関連は一例であり、特にこの組み合わせに限定されるものではない。
【００１３】
Ver3.2の画像形成装置からVer.3.3の画像形成装置へ設定値の配信を行う場合、配信に合わせて適切に同期制御を変更する必要がある。本実施形態ではその流れを説明する。本実施形態のシステム構成について、図１を用いて説明する。
【００１４】
画像形成装置101は、プリント機能、コピー機能、ファクシミリ機能、送信機能(e-mail、FTP等)を統合したデジタル複合画像形成装置やプリンタ、スキャナ、ファクシミリ等の画像形成装置である。また、画像形成装置101には、機能ごとに様々な設定値が設けられており、それらの設定値に基づいて各機能は動作する。LAN102は、ローカルエリアネットワークである。画像形成装置101は、LAN102を介して他の画像形成装置(不図示)、インターネット103と接続可能である。インターネット103は、単一のWide Area Network(WAN)、Local Area Network(LAN)、アドホックネットワークなどのネットワークで実現してもよい。またインターネット103は、必要に応じた複数のWAN、LAN、アドホックネットワークの複合で構成されてもよい。また、本実施形態におけるインターネットは一例であり、他の通信ネットワーク、または、ネットワークの複合でもよい。外部装置104は、画像形成装置101の設定値を管理する外部機器である。本実施形態ではインターネット103を介して画像形成装置101と接続されている外部サーバを想定しているが、LAN102を介して接続した内部サーバ等であってもよい。
【００１５】
＜ハードウェア構成＞
本実施形態のハードウェア構成について、図２を用いて説明する。制御部201は、画像形成装置101を統括的に制御する。内部バス202は、ハードウェアの各構成要素を接続する。CPU203は、ROM205に格納された制御プログラムを実行する。HDD204は、不揮発性記憶領域であり、個人設定や稼働ログ等を保持する。ROM205は、読み出し専用の不揮発記憶領域であり、画像形成装置101の制御プログラム等を保持する。RAM206は、プログラムを実行するためのワークメモリエリアであり、一時記憶領域などとして用いられる。
【００１６】
ディスプレイI/F207は、ディスプレイ212と制御部201を接続する。操作部I/F208は、操作部213と制御部201を接続する。プリンタI/F209は、プリンタ214と制御部201を接続する。スキャナI/F210は、スキャナ215と制御部201を接続する。ネットワークI/F211はLAN102と接続するためのインターフェース部であり、LAN102を介して他の画像形成装置(不図示)やインターネット103と通信を行う。ディスプレイ212は、ユーザの操作や画像形成装置の状態に応じたエラー情報等を表示する。
【００１７】
操作部213は、キー入力部を内蔵し、これらはCPU203にて制御される。ユーザは、キー入力を通してスキャナ読み取りやプリント出力に関する各種設定指示や、作動/停止指示を行う。なお、操作部213はタッチパネルのようなディスプレイ212上で直接操作するものであってもよく、特にキーに限定するものではない。プリンタ214は、画像データの記録媒体上への印刷を行う。プリンタ214で印刷すべき画像データは、制御部201からプリンタI/F209を介してプリンタ214へ転送される。スキャナ215は、原稿上の画像を読み取り、画像データを生成し、スキャナI/F210を介して制御部201へ転送する。
【００１８】
＜ソフトウェア構成＞
図３は画像形成装置101のソフトウェア構成図である。図３に四角で示した各構成部はソフトウェアを表している。なお、画像形成装置101の各ソフトウェア（すなわちプログラム及びデータ）はROM205もしくはHDD204に保存され、RAM206にロードされてCPU203にて実行される。また、実行時に使用する各種情報はRAM206もしくはHDD204に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークI/F211を用いて行う。以下に各ソフトウェアを説明する。
【００１９】
OS301は、入出力機能、ディスクやメモリの管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、システム全体を管理するシステムソフトウェア（オペレーティングシステム）である。
【００２０】
拡張プログラム実行プラットフォーム302は、拡張プログラム303の動作に必要な、OS301上で動作するプラットフォームである。拡張プログラム実行プラットフォーム302を適用することで、OS301に依存せずに拡張プログラム303を動作させることができる。例えば、拡張プログラム303としてJava（登録商標）アプリケーションが動作するJavaVM（登録商標）等が拡張プログラム実行プラットフォーム302に該当する。
【００２１】
拡張プログラム303は、拡張プログラム実行プラットフォーム302上で動作するプログラムである。拡張プログラム303は、拡張プログラム実行プラットフォーム302または拡張プログラムシステムサービス304を介して、他の拡張プログラム303やRAM205など画像形成装置101の各モジュールへアクセスすることができる。
【００２２】
拡張プログラムシステムサービス304は、拡張プログラム実行プラットフォーム302上で動作するプログラムである。拡張プログラムシステムサービス304は、拡張プログラム303に共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム303から拡張プログラムシステムサービス304を呼び出すことでサービスが利用可能となる。拡張プログラムシステムサービス304には以下の構成がさらに含まれる。
【００２３】
拡張用個人設定管理部306は、拡張プログラム303の扱う個人設定を管理するプログラムである。拡張プログラム303は、拡張用個人設定管理部306が提供するAPIを呼び出すことで、個人設定の登録等を行うことができる。拡張用パスワード情報管理部308は、拡張プログラム303の扱うパスワード情報を管理するプログラムである。パスワード情報はサーバ等の外部機器にアクセスする際に、その外部装置によりパスワード認証を受けるための情報である。拡張プログラム303のパスワード情報は、ユーザごとの拡張用パスワード情報管理部308の個人設定して管理される。拡張用パスワード情報管理部308は、拡張用個人設定管理部306の機能のうち、特にパスワード情報の操作に特化して作成されるラッパーである。拡張用個人設定保持部310は、拡張プログラム303が扱う個人設定を保持するデータベースである。拡張用個人設定保持部310で保持する個人設定は外部機器104との同期対象外である。拡張プログラム303には、自社以外のサードパーティが開発したアプリケーションが含まれる場合がある。その場合、拡張プログラム303の扱う個人設定の内容をコントロールすることは難しく、データサイズやセキュリティ上の懸念があるため、拡張用個人設定保持部310で保持する個人設定は同期を行わない。
【００２４】
一方、組込プログラム305は、プリンタ、ファクシミリやスキャナなどの元々備わっている制御プログラムである。組込プログラム305には以下のプログラムやデータベースが含まれている。
【００２５】
個人設定管理部307は、組込プログラム305の扱う個人設定を管理するプログラムである。組込プログラム305は、個人設定管理部307が提供するAPIを呼び出すことで、個人設定の登録等を行うことができる。パスワード情報管理部309は、組込プログラム305の扱うパスワード情報を管理するプログラムである。組込プログラム305のパスワード情報は、ユーザごとのパスワード情報管理部309の個人設定して管理される。パスワード情報管理部309は、個人設定管理部307の機能のうち、特にパスワード情報の操作に特化して作成されるラッパーである。個人設定保持部311は、組込プログラム305の扱う個人設定を保持するデータベースである。個人設定保持部311に保持された個人設定は、後述の図８、図９の処理の流れで外部機器104と同期される。また、同期を制御するために、個人設定保持部311に保持された個人設定には、同期制御情報として同期制御フラグが付与されている。本実施形態では、ログインユーザの個人設定をサーバからダウンロードする構成であっても、いったんダウンロードした個人設定を個人設定保持部311に保持する。この場合、サーバ（すなわち外部装置１０４）が保持する個人設定がマスタデータとなる。
【００２６】
ここで同期制御フラグについて説明する。図１７は、個人設定のデータ構造と同期制御フラグの関係を示した図である。図１７に示すように、同期制御フラグは各ノード単位で付与されている。後述する個人設定の同期時は、この同期制御フラグを参照し、ノードごとに同期するかしないかを制御できる。例えば、本実施形態では、Ver3.2のファームウェアは全てのパスワード情報を同期しないため、すべてのパスワード情報に関連付けられた同期制御フラグがOFFになっている状態である。各ノードはアプリケーションにより定義することができる個人設定情報を示す。個人設定は、たとえばユーザ識別情報やアプリケーション識別情報、さらにアプリケーション内におけるノードを特定する情報等を含む個人設定特定情報により指定できる。たとえばパスワード情報管理具309やパスワード情報管理部308はユーザノードの下位のアプリケーションを示すノードであり、その中でパスワード情報は個人設定として管理される。
【００２７】
再び図３の説明に戻る。同期管理部312は、外部機器104との同期全般を管理するプログラムである。個人設定同期部313は、外部機器104との個人設定の同期を行うプログラムをＣＰＵ２０３が実行することで実現される。これらプログラムについては図４〜図７を参照して後で説明する。個人設定配信部314は、拡張用個人設定保持部310や個人設定保持部311で保持している個人設定を配信するプログラムをＣＰＵ２０３が実行することで実現される。このプログラムについては図８、図９を参照して後で説明する。
【００２８】
スキャナ制御部315は、スキャナI/F210を介してスキャナ215を制御するプログラムをＣＰＵ２０３が実行することで実現される。また、プリンタ制御部316は、プリンタI/F209を介してプリンタ214を制御するプログラムをＣＰＵ２０３が実行することで実現される。以上が、ソフトウェア構成に関する説明である。
【００２９】
＜個人設定同期部によるアップロード処理＞
ここで、図４〜図７を用いて、個人設定同期部313による個人設定の同期について説明する。図４は、画像形成装置101を初めてサーバ等の外部機器104に接続（以下、初期接続と呼ぶ。）した場合に、画像形成装置101に保持されている個人設定を、外部機器104にアップロードする場合の流れを説明したフローチャートである。なおここでいう初めての接続とは、接続が断たれた状態から新たに接続が設定されていればよく、文字通り初めてでなくともよい。図４は、同期管理部312が、初期接続を検知するステップから開始し、外部機器104が個人設定を受信するステップで終了する。
【００３０】
ステップS401は、同期管理部312が、初期接続を検知するステップである。同期管理部312は、初期接続を検知すると、画像形成装置101内に保持されている個人設定を、外部機器104へ送信するべく処理を開始する。初期接続を検知後、同期管理部312は、個人設定同期部313に、外部機器104の情報の取得を要求し、ステップS402へ遷移する。
【００３１】
ステップS402は、個人設定同期部313が、外部機器104の情報を取得するステップである。外部機器104には、個人設定が一括で管理されている。画像形成装置101内に保持されている個人設定が既に外部機器104に存在している場合は、該個人設定を外部機器104へ送信する必要がない。そこで、本ステップS402にて、外部機器104内の個人設定の有無に関する情報としてユーザ情報を外部機器104に対して要求する。要求を受けた外部機器104は、次のステップS403にて、外部機器104の有するユーザ情報を、個人設定同期部313に送信する。
【００３２】
ステップS403は、外部機器104が、個人設定同期部313に、外部機器104上の個人設定の有無に関する情報としてユーザ情報を送信するステップである。ユーザ情報を受信した個人設定同期部313は、ステップS404にて、外部機器104へ個人設定を送信する必要があるか否を判定する。
【００３３】
ステップS404は、個人設定同期部313が、外部機器104に、個人設定を送信する必要があるか否かを判定するステップである。すなわち、ステップS404では、外部機器104が有していないユーザの個人情報が画像形成装置に存在するか判定する。外部機器104に該当する個人設定が存在しなければ、外部機器104に個人設定を送信するためにステップS405へ遷移し、存在する場合は外部機器104へ個人設定を送信する必要がないため本フローチャートを終了する。なおステップS404では、たとえば外部機器104から、たとえば図１７に示したような個人設定のルートノードに記載されたユーザ識別情報のリストを受信し、それを個人設定保持部311に保持した個人設定のユーザ識別情報と照合する。そして、受信したユーザ識別情報のリストに含まれていないユーザの個人情報が個人設定保持部311に保持されていれば、該当する個人設定が存在すると判定できる。
【００３４】
ステップS405は、個人設定同期部313が、外部機器104へ、外部機器104が保持していない個人設定を送信するステップである。送信後、次のステップS406で、外部機器104は、受信した該個人設定を保持する。
【００３５】
ステップS406は、外部機器104が、個人設定同期部313から個人設定を受信するステップである。外部機器104は、個人設定同期部313から受信した該個人設定を、そのユーザのマスタ情報として保持し、本フローチャートを終了する。
【００３６】
以上のように、画像形成装置101を外部機器104に初期接続した場合は、まだ外部機器104上に存在していない個人設定を外部機器104へ送信する処理が動作する。
【００３７】
＜個人設定同期部による起動時の同期処理＞
次に図５を用いて、画像形成装置101の起動時の同期処理を説明する。図５は、画像形成装置101の起動時に、画像形成装置101内にインストールされているアプリケーション一覧リストを外部機器104へ送信する流れを説明するフローチャートである。1つの外部機器104に対して複数の画像形成装置が接続される場合、画像形成装置ごとにインストールされているアプリケーションが異なる場合がある。そこで、画像形成装置101の起動時に外部機器104に対して、インストール済みのアプリケーション一覧リストを送信することで、インストールされていない、すなわち不要なアプリケーションに関する個人設定がダウンロードされることを防ぐ。図５は、同期管理部312が、アプリケーション一覧リストの取得を個人設定同期部313に対して要求するステップから開始し、外部機器104が、アプリケーション一覧リストを取得するステップで終了する。
【００３８】
ステップS407は、同期管理部312が、個人設定同期部313に対して、アプリケーション一覧リストを要求するステップである。要求を受けた個人設定同期部313は、後述するステップS408で、アプリケーション一覧リストを同期管理部312に渡す。
【００３９】
ここで、アプリケーション一覧リストについて説明する。図１８はアプリケーション一覧リストの一例である。アプリケーション一覧リストには、画像形成装置101にインストールされているアプリケーションの名前やID、アプリケーションの状態や種類などを含むアプリケーション情報が記載されている。アプリケーションの状態は、たとえばインストール済み、実行中、起動中などの状態を含む。アプリケーション種類には、ログインサービスやシステムサービスなどといった種類の識別情報を含む。アプリケーションのIDは、少なくともサーバ（外部装置104）内においてアプリケーションを固有に識別するための識別情報である。アプリケーション一覧リストは、組込プログラムおよび拡張プログラムのリストであり、組込プログラム305及び拡張プログラムシステムサービス304に属するプログラムについてはあらかじめ登録されていてもよい。拡張プログラム303については、インストールに応じて当該拡張プログラムのアプリケーション情報が新たに登録される。アンインストールされた場合には、当該アプリケーションのアプリケーション情報をアプリケーション一覧リストから削除してもよいが、たとえば状態を「アンインストール済み」などに書き換えてもよい。また、ライセンスが例えば有効期限超過などにより無効化されたアプリケーションについても、アプリケーション一覧リストから削除してもよいが、「無効」や「有効期限満了」など、無効化された状態であることを状態の欄に表示してもよい。アンイストールや無効状態であることを状態欄で表示している場合には、アプリケーション一覧リストを参照した装置等は、そのアプリケーションが当該画像形成装置にはインストールされていない或いは無効状態にあるものと判断してその判断に応じた処理を行うこととなる。
【００４０】
再び図５の説明に戻る。ステップS408は、個人設定同期部313が、アプリケーション一覧リストを同期管理部312へ渡すステップである。アプリケーション一覧リストを受けとった同期管理部312は、後述するステップS409で、そのリストを外部機器104へ送信する。
【００４１】
ステップS409は、同期管理部312が、アプリケーション一覧リストを外部機器104へ送信するステップである。このとき、送信元の画像形成装置を識別するための識別情報もともに送信される。外部機器104は、次のステップS410で、アプリケーション一覧リストを送信元の画像形成装置の識別情報と共に受け取り、同期処理に使用する。
【００４２】
ステップS410は、外部機器104が、アプリケーション一覧リストを同期管理部312から受信するステップである。外部機器104は、該リストを参照して、同期すべき個人設定を決定する。本ステップS410により、リストの受け渡し処理を完了し、フローチャートを終了する。
【００４３】
以上により、画像形成装置101は、起動時に、インストール済みのアプリケーション一覧リストを外部機器104に送っている。外部機器104は、それを参照して同期すべき個人設定を判断する。すなわち、アプリケーション一覧リストにより、外部装置１０４は、画像形成装置ごとにインストール済みのアプリケーションを特定できる。
【００４４】
＜個人設定同期部によるログイン時のダウンロード処理＞
次に図６を用いて、ユーザが画像形成装置101にログインした場合に、外部機器104から該ユーザの個人設定をダウンロードする処理を説明する。図６は、同期管理部312が、ログインイベントを受信するステップから開始し、個人設定管理部307が個人設定を登録するステップで完了する。
【００４５】
ステップS411は、同期管理部312が、ユーザのログインを検知するステップである。同期管理部312はユーザのログインをトリガーに、個人設定同期部313を介して、外部機器104に対し個人設定の取得を要求するべく、ステップS412へ遷移する。
【００４６】
ステップS412は、個人設定同期部313が、外部機器104に対して個人設定を要求するステップである。ただし、図１７に示したように、個人設定には、ユーザごとかつアプリケーション（プログラム）ごとに、同期制御フラグが関連付けられている。さらにアプリケーションによってはそれが管理する個人設定の単位（アプリケーションにより任意である）ごとに同期制御フラグ（同期制御情報とも呼ぶ）を関連付けることもできる。そこで個人設定同期部313は、ユーザの個人設定（図１７に示す）を参照して、同期制御フラグがオンにセットされたノードの個人設定を個人設定特定情報により指定して外部機器104に要求する。ここでユーザとしてはログインユーザに限定してもよい。要求を受けた外部機器104は、次ステップS413にて、指定された個人設定を送信する。
【００４７】
ステップS413は、外部機器104が、要求に応じて個人設定同期部313へ個人設定を送信するステップである。前述の図５にて画像形成装置101から受信したアプリケーション一覧リストを元に、必要な個人設定を個人設定同期部313へ送信する。ここで必要な個人設定とは要求された個人設定である。その後、ステップS414へ遷移する。
【００４８】
ステップS414は、個人設定同期部313が、外部機器104から個人設定を受信するステップである。受信後、次ステップS415で、受信した個人設定を個人設定保持部311に登録する。すなわち受信した個人設定で個人設定保持部311を更新する。ステップS415は、個人設定管理部307が、個人設定を個人設定保持部311に登録するステップである。本ステップS415をもって、外部機器104からの個人設定のダウンロード処理を完了し、本フローチャートを終了する。アプリケーションが起動されると、たとえばそのアプリケーションのためのログインユーザの個人設定が読み出されて、所定の記憶領域にロードされて個人設定が反映される。
【００４９】
以上により、ユーザが画像形成装置101にログインすると、該ユーザの個人設定を外部機器104から取得し、画像形成装置101に反映することができる。なお上記手順では、ログインユーザの個人設定のうち、更新制御フラグがオンにセットされたノードの個人設定を外部機器104に要求するものとしたが、画像形成装置はユーザのみを特定して個人設定を要求し、外部機器104が個人設定の各ノードの更新制御フラグを参照して、オンにセットされたノードの個人設定を画像形成装置に送信するように構成してもよい。
【００５０】
＜個人設定同期部による個人設定の同期処理＞
次に、図７を用いて、画像形成装置101上での個人設定更新時に、更新された個人設定を外部機器104へ反映する処理を説明する。図７は、個人設定管理部307が、個人設定の変更を検知するステップから開始し、外部機器104が更新された個人設定を受信するステップで終了する。
【００５１】
ステップS416は、個人設定管理部307が、個人設定の変更を検知するステップである。個人設定管理部307は、個人設定の変更をトリガーに、個人設定同期部313に対して、個人設定のアップロードを要求する。なおここでアップロードの対象となる個人設定は、同期制御フラグがオンにセットされたノードの個人設定であり、同期制御フラグがオフのノードは対象としない。そこでまず変更された個人設定に関連付けられた同期制御フラグを参照し、オンであればアップロードを要求する。要求を受けると、次ステップS417にて、個人設定同期部313は、外部機器104へ個人設定を送信する。ここで個人設定は、たとえばログインユーザがアプリケーションの設定を変更してその変更を確定させること、すなわち個人設定保持部311に設定の変更を反映させることで変更することができる。この場合には、ステップS416で検知される、処理のトリガーとなる個人設定の変更は、個人設定保持部311に保持された個人設定が更新されたことで検知できる。この場合には、個人設定の同期は、同期制御フラグの設定に応じて設定変更の都度行われる。あるいは、ステップS416における個人設定の変更の検知を、上記のような設定変更の都度行うのではなく、ユーザがログアウトする際に、そのユーザの個人設定が更新されていることを処理のトリガーとしてもよい。この場合には、個人設定の同期は、ログアウトの際に、同期制御フラグをオンにセットされた個人設定が変更されていれば行われる。
【００５２】
ステップS417は、個人設定同期部313が、画像形成装置101において更新された個人設定を外部機器104へ送信するステップである。個人設定を送信後、次ステップS418で、外部機器104は、受信した個人設定を登録する。
【００５３】
ステップS418は、外部機器104が、個人設定同期部313から受信した個人設定で、外部機器104上のDB(不図示)に登録された対応する個人設定を更新するステップである。対応する個人設定は、たとえばユーザの識別情報とアプリケーションの識別情報とにより特定可能である。本ステップS418をもって、画像形成装置101上で変更された個人設定の、外部機器へのアップロード処理および外部機器104における更新処理を完了し、本フローチャートを終了する。
【００５４】
以上のように、画像形成装置101上で個人設定を更新すると、外部機器104に更新した個人設定をアップロードすることができる。すなわち、画像形成装置101の個人設定に、外部機器104の保持する個人設定を同期させることができる。なお、同期制御フラグのテストは、個人設定管理部307に代えて個人設定同期部313により行ってもよい。
【００５５】
＜個人設定配信部によるエクスポート処理＞
ここで、図８、図９を用いて、個人設定の配信について説明する。以下の例では、個人設定情報の例としてパスワード情報について説明する。パスワード情報は、たとえば拡張用パスワード情報管理部308の個人設定情報である。ここで説明する手順は、特定の個人設定情報（本例ではパスワード情報）とともに、その個人設定情報に関連付けられた同期制御フラグを配信するためのものである。
【００５６】
図８は、個人設定を画像形成装置101からエクスポートする流れを説明したフローチャートである。パスワード情報の配信処理（インポートとエクスポートを含む）は、たとえば画像形成装置101においてユーザの操作に応じて行われる。エクスポートの対象は例えばそれを指示したユーザの権限等に応じて制限される。たとえば通常のユーザであれば、当該ユーザに係るパスワード情報のみが配信の対象であり、管理者であれは、全ユーザを対象にできるものとしてもよい。図８は、個人設定配信部314がパスワード情報のエクスポートを指示するステップから開始し、個人設定管理部307がパスワード情報と同期制御フラグのエクスポートファイルを作成するステップで終了する。
【００５７】
ステップS501は、個人設定配信部314が、拡張用パスワード情報管理部308に、パスワード情報のエクスポートを指示するステップである。パスワード情報は、拡張プログラム303が扱うものと、組込プログラム305が扱うものに大別される。まず、本ステップS501で拡張プログラム303が扱うパスワード情報のエクスポート指示をだし、その後、後述するステップS503で組込プログラム305が扱うパスワード情報のエクスポートを指示する。ただし、これらの順番は特にこだわるものではないため、先に組込プログラム305が扱うパスワード情報をエクスポートしても問題はない。個人設定配信部314からの指示を受けた拡張用パスワード情報管理部308は、次ステップS502にて、実際のエクスポート処理を行う。
【００５８】
ステップS502は、拡張用パスワード情報管理部308が、パスワード情報をエクスポートするステップである。拡張プログラム303のパスワード情報を含むエクスポートファイルを作成し、それをエクスポート後、ステップS503へ遷移する。
【００５９】
ステップS503は、個人設定配信部314が、拡張用個人設定管理部306に、パスワード情報のエクスポートを指示するステップである。拡張用個人設定管理部306は、個人設定配信部314からの指示を受けると、次ステップS504以降で、実際のエクスポート処理を行う。
【００６０】
ステップS504は、拡張用個人設定管理部306が、個人設定管理部307に対し、組込プログラム305の扱うパスワード情報のエクスポートを依頼するステップである。拡張用個人設定管理部306は、個人設定管理部307へエクスポートの指示を行い、ステップS505へ遷移する。
【００６１】
ステップS505は、個人設定管理部307が、パスワード情報と同期制御フラグのエクスポートを行うステップである。個人設定管理部307は、個人設定保持部311に保持されているパスワード情報と同期制御フラグとを含むファイルを作成し、それをエクスポートする。同期制御フラグは、対応する個人設定情報（本例ではパスワード情報）のノードを特定するために、たとえば個人設定特定情報に関連づけられてエクスポートされる。同期制御フラグをパスワード情報と共にエクスポートすることにより、インポート先でも同様の同期制御を再現できる。本ステップS505にてエクスポート処理を完了し、フローチャートを終了する。同期制御フラグは、図１７に例示したように、ユーザごと、かつアプリケーションごとに設定される。さらにアプリケーション内においても、エクスポートされたパスワード情報（及び同期制御フラグ）は、他の画像形成装置等によりインポートされる。
【００６２】
＜個人設定配信部によるインスポート処理＞
次に図９を用いて、パスワード情報をインポートする際の処理について説明する。図９は、個人設定配信部314が、パスワード情報のインポートを指示するステップから開始し、個人設定管理部307が、パスワード情報と同期制御フラグをインポートするステップで終了する。
【００６３】
ステップS506は、個人設定配信部314が、拡張プログラム用パスワード情報のインポートを拡張用パスワード情報管理部308へ指示するステップである。指示を受けた拡張用パスワード管理部308は、次ステップS507にて、パスワード情報をインポートする。
【００６４】
ステップS507は、拡張用パスワード情報管理部308が、拡張プログラム303が扱うパスワード情報をインポートするステップである。たとえば拡張用パスワード情報管理部308は指定されたインポートファイルから拡張プログラム用パスワード情報を読み、それを所定箇所に格納する。インポートが終了すると、次ステップS508にて、今度は、組込プログラム305のインポート処理を行う。
【００６５】
ステップS508は、個人設定配信部314が、拡張用個人設定管理部306に、組込プログラム用パスワードのインポートの指示を行うステップである。指示を受けた拡張用個人設定管理部306は、次ステップS509にて、個人設定管理部307に対して実際のインポート処理の指示を行う。
【００６６】
ステップS509は、拡張用個人設定管理部306が、インポートを依頼するステップである。拡張用個人設定管理部306は、個人設定管理部307へパスワード情報のインポート指示を行う。指示を受けた個人設定管理部307は、次ステップS510にて、組込プログラム用のパスワード情報のインポート処理を行う。
【００６７】
ステップS510は、個人設定管理部307が、組込プログラム用のパスワード情報と同期制御フラグをインポートするステップである。同期制御フラグをインポートすることで、配信元でのパスワード情報の同期制御を再現することができる。同期制御フラグは、たとえば個人設定特定情報（ここではパスワード情報）に関連づけられることで、対応するノードを特定することができる。インポートの際には、特定された個人設定のノードの同期制御フラグとして保存される。本ステップS510にて、インポート処理を完了し、フローチャートを終了する。
【００６８】
なお上記例では特定の個人情報としてパスワード情報をエクスポート並びにインポートするものとして説明したがパスワードには限らない。
【００６９】
以上のように、個人設定のインポートおよびエクスポートの対象となるのは、拡張プログラム303が扱う個人設定と、組込プログラム305が扱う個人設定の両者である。また、組込プログラム305が扱う個人設定は同期の対象であるため、同期制御フラグが付加されている。インポート/エクスポート時は、この同期制御フラグも共に配信することで、配信元での同期制御を配信先で再現することができる。
【００７０】
［実施形態２］
実施形態１では特に画像形成装置のバージョンを考慮せず、エクスポート元の画像形成装置で保持された個人設定の更新制御フラグをインポート先の画像形成装置に対して適用した。本実施形態では、画像形成装置のバージョンに応じて、個人設定を同期しないVer3.2の画像形成装置から、個人設定を同期するVer3.3の画像形成装置に、個人設定の配信を行う場合について説明する。なお実施形態１と共通する構成や処理手順については説明を省略し、ここでは相違するエクスポートとインポート処理を中心とした説明とする。
【００７１】
＜バージョンの異なる画像形成装置間の個人設定のエクスポート処理＞
図１０、図１１は本実施形態において、Ver3.2の画像形成装置からVer.3.3の画像形成装置への個人設定の配信を行う場合の処理の流れを説明するフローチャートである。図１０は、パスワード情報をエクスポートする際のフローチャート、図１１はインポートする際のフローチャートである。まず図１０について説明する。図１０は個人設定配信部314がパスワード情報のエクスポートを指示するステップから開始し、個人設定配信部314がエクスポートデータにファームウェアのバージョン情報を付与するステップで終了する。ステップS601〜ステップS605は、前述の図８のステップS501〜ステップS505と同様であるため説明を省略する。ただし図８のステップS502、S505と異なり、ステップS602、S605ではファイルを作成するがエクスポート（送信や書き出しなど）はしない。
【００７２】
ステップS606は、個人設定配信部314が、作成されたエクスポートファイルにファームウェアのバージョン情報を付与してエクスポートするステップである。バージョン情報は、後述する図１１のフローチャートにて、配信元の画像形成装置101のファームウェアバージョンを特定するために利用する。この時付与されるバージョン情報は、本例ではバージョン３．２(Ver3.2)を示す情報であるが、配信元のファームウェアバージョンを特定できれば、特に内容については問わない。例えば、旧機種等でバージョン情報を付与できない場合、情報を付与しないこと自体を、ファームウェアバージョンを特定する目印にすることも可能である。本ステップS606により、エクスポート処理を完了し、本フローチャートを終了する。
【００７３】
＜バージョンの異なる画像形成装置間の個人設定のインポート処理＞
次に図１１を用いて、個人設定がインポートされる際の流れを説明する。図１１は、個人設定配信部314が、パスワード情報のインポートを指示するステップから開始し、個人設定管理部307が、同期制御フラグを書き換えるステップで終了する。ステップS607〜ステップS611は、前述の図９のステップS506〜ステップS510と同様であるため説明を省略する。
【００７４】
ステップS612は、個人設定配信部314が、インポートした個人設定に付されたファームウェアバージョンを参照し、Ver3.2であるか判定するステップである。本実施形態の前提として、Ver3.2ではすべてのパスワード情報の同期を禁止(同期制御フラグをOFF)し、Ver3.3では、すべてのパスワード情報の同期を許可(同期制御フラグをON)している。したがって、インポートの際に、Ver3.2から配信されたすべてのパスワード情報の同期制御フラグをONに書き換える必要がある。そのために本ステップS612にて、インポートした個人設定に付与されたファームウェアバージョンを判定している。なお、当然のことながら、Ver3.2やVer3.3といった表現は、本実施形態での例であって、これに限定されるものではない。インポートした個人設定に付与されたファームウェアバージョンがVer3.2であった場合はステップS613へ遷移し、それ以外であった場合は本フローチャートを終了する。ここではバージョンは3.2か3.3のいずれかであるとし、同一バージョン（Ver3.3）の装置からの配信の場合には、特に同期制御フラグを操作する必要がない。
【００７５】
ステップS613は、拡張用個人設定管理部306が、個人設定管理部307へ、同期制御フラグの書き換えを要求するステップである。要求を受けた個人設定管理部307は、次ステップS614で、同期制御フラグを書き換える。
【００７６】
ステップS614は、個人設定管理部307が、該当する同期制御フラグをすべてオンに書き換えるステップである。該当する同期制御フラグとは、たとえばインストールされている全アプリケーションのパスワード情報の同期制御フラグである。同期制御フラグを書き換えることにより、Ver3.2から配信された個人設定を同期可能にすることができる。本ステップS614にて、インポートの処理を完了し、本フローチャートを終了する。
【００７７】
以上により、ファームウェアバージョンが異なり、かつ、同期制御が異なるような複数の画像形成装置間で個人設定を配信する場合に、配信元のファームウェアバージョンを考慮して同期制御フラグを書き換えることで、同期制御を適切に変更することができる。具体的には、配信元の装置が、個人設定の同期を行わないようなファームウェアが実装されたバージョンであったとしても、配信先の装置が同期を行うものであれば、個人設定がインポートされる配信先の装置のバージョンを優先する。換言すれば配信先の同期に関するポリシを優先する。
【００７８】
［実施形態３］
本実施形態は、１台の画像形成装置101において、ファームウェアがアップデートされた場合に、それに合わせて個人設定の同期制御を適切に変更する場合の実施形態である。実施形態１と同様に、ファームウェアのバージョンと同期の有無を下記のように仮定する。
Ver3.2：同期しない。
Ver3.3：同期する。
本実施形態では、上記の仮定の下で、Ver3.2からVer3.3へファームウェアがアップデートされるケースを想定する。本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態１と同様であるため説明を省略する。
【００７９】
図１２は、画像形成装置101の起動時に拡張用パスワード管理部308が、現在のファームウェアのバージョンと最後に起動されたときに記録したバージョンとを比較して、ファームウェアの更新があれば、それに合わせて同期しない設定から同期する設定へと設定を切り替える場合の流れを説明したフローチャートである。図１２は、拡張用パスワード管理部308が、拡張プログラム実行プラットフォーム302から起動指示を受けるステップから開始し、拡張用パスワード管理部308が、起動時のバージョン情報を更新するステップで終了する。
【００８０】
ステップS701は、拡張用パスワード管理部308が、拡張プログラム実行プラットフォーム302から起動指示を受けるステップである。起動指示を受けた拡張用パスワード管理部308は、起動処理を開始し、次ステップS702でバージョンの確認を行う。
【００８１】
ステップS702は、拡張用パスワード管理部308が、自身のバージョンを確認するステップである。後述するステップS704で現在のバージョンと、前回起動時のバージョンを比較するために、本ステップS702で自身のバージョンを確認する。なお、ここで確認するバージョンについては、ファームウェアが更新されていることさえ検知できればよい。したがって、拡張用パスワード管理部308自身のバージョンではなく、コントローラファーム全体のバージョンであってもよいし、これらに限定されるものではない。その後、ステップS703へ遷移する。
【００８２】
ステップS703は、拡張用パスワード管理部308が、前回起動時のバージョンを取得するステップである。後述するステップS704で現在のバージョンと、前回起動時のバージョンを比較するために、本ステップS703で前回起動時のバージョンを参照する。前回起動時のバージョン情報は、ファームウェアの更新等で消去されないような不揮発かつ書き換え可能な記憶場所に記憶しておく。なお、この時に記憶するバージョン情報は、ファームウェアのバージョンが特定できれば内容は問わない。例えば、旧機種等で前回起動時のバージョン情報が所定の場所に記憶されていないこと自体を、ファームウェアバージョンの特定に利用してもよい。その後、ステップS704へ遷移する。
【００８３】
ステップS704は、拡張用パスワード管理部308が、前回起動時のバージョンと現在のバージョンを比較するステップである。バージョンが異なっている場合はステップS705へ遷移し、バージョンが変更されていない場合は本フローチャートを終了する。
【００８４】
ステップS705は、拡張用個人設定管理部306が、同期制御フラグを書き換えるステップである。前述のステップS704で、バージョンの更新を検知した場合は、同期制御をファームウェアバージョンに合わせて変更するために、同期制御フラグを書き換える。個人設定管理部307にフラグ書き換えを要求して、ステップS706へ遷移する。
【００８５】
ステップS706は、個人設定管理部307が、同期制御フラグを書き換えるステップである。フラグ書き換え後、ステップS707へ遷移する。ステップS705,S706における同期制御フラグの書き換えは、現在のファームウェアバージョンに応じて行われてもよい。この場合には、たとえばファームウェアが更新され、更新後のバージョンが所定バージョンたとえばバージョン3.3であれば、個人設定に含まれた同期制御フラグをすべてオンに設定する。一方、ファームウェアが更新されても、現在のバージョンが3.2であれば、同期制御フラグをすべてオフに設定する。
【００８６】
ステップS707は、拡張用パスワード管理部308が、更新後のファームウェアバージョンを記憶するステップである。こうして記憶したバージョンは次回起動時にまたステップS７０３で参照され、ステップS７０４で比較に利用される。本ステップS707にて、起動時の同期制御フラグ書き換えを完了し、本フローチャートを終了する。
【００８７】
以上により、ファームウェアのアップデートが発生しても、それに合わせて、同期制御フラグを書き換えることで、同期制御を適切に変更することができる。本実施形態では、ファームウェアのバージョンに応じて、同期制御フラグをオンに設定しているが、バージョンに応じて同期制御フラグをオフに設定することがあってもよい。たとえば更新前のバージョンが3.3で更新により3.2になったなら、同期制御フラグをすべてオフに設定してもよい。
【００８８】
［実施形態４］
本実施形態は、ファームウェアのバージョンの違いにより、同期制御を切り替える際に、実施形態１乃至３で説明した同期制御フラグを使う方法ではなく、外部機器104を利用する場合の実施形態である。例えば、旧機種等で、画像形成装置自体に大きな変更を入れられない場合に、低コストで対応することが可能である。本実施形態においても、ファームウェアバージョンと同期の有無を下記のように定めておく。
Ver3.2：同期しない。
Ver3.3：同期する。
本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態１と同様であるため説明を省略する。
【００８９】
図１３は、画像形成装置101の起動時に、外部機器104にアプリケーション一覧リストを送る際に、リストから拡張用パスワード情報管理部308の情報を削除する場合の流れを説明するフローチャートである。前述のように、外部機器104が画像形成装置101と個人設定を同期する際には、事前に画像形成装置101内のアプリケーション一覧リストを取得し、それを元に個人設定の同期を行っている。このリストから拡張用パスワード情報管理部308の情報を削除することで、外部機器104は、拡張用パスワード情報管理部308が画像形成装置101内には存在しないと判断し、個人設定情報の一例であるパスワード情報の同期を行わない。これにより、パスワード情報の同期制御フラグの操作をすることなく、パスワード情報の同期を行わないようにすること、あるいは禁止することができる。図１３は、同期管理部312が、画像形成装置101内のアプリケーション一覧リストを要求するステップから開始し、外部機器104がアプリケーション一覧リストを取得するステップで終了する。ステップS801は図５のステップS407と同様であるため説明を省略する。
【００９０】
ステップS802は、個人設定同期部313が、アプリケーション一覧リストから拡張用パスワード情報管理部308の情報を削除するステップである。前述のように、該リストから拡張用パスワード情報管理部308の情報を削除することで、外部機器104は、リストに含まれていないアプリケーションである拡張用パスワード情報管理部308の個人設定であるパスワード情報の同期を行わなくなる。その後、ステップS803へ遷移する。
【００９１】
ステップS803〜ステップS804は、前述の図５のステップS409〜ステップS410と同様であるため説明を省略する。
【００９２】
以上により、画像形成装置101の起動時に、外部機器104へ送信するアプリケーション一覧リストから、外部機器と同期させない個人設定に関するプログラムを削除する。たとえば、パスワード情報を同期させない場合には、拡張用パスワード情報管理部308の情報をアプリケーション一覧リストから削除することができる。その結果、外部装置104は、画像形成装置101上には拡張用パスワード情報管理部308が存在しないと判断し、パスワード情報全般の同期を行わない。これにより、例えば、Ver3.2で同期制御フラグの操作を行うことなく、同期を禁止することができる。
【００９３】
［実施形態５］
本実施形態は、アプリケーションが自由に個人設定の同期制御を選択できるようになった場合において、配信やファームアップデートによりファームウェアのバージョンが変更された際に、同期制御を適切に変更する場合の実施形態である。説明を簡単にするため、ファームウェアのバージョンと同期制御の関係を下記のように仮定する。
Ver3.2：同期しない。
Ver3.3：同期する。
Ver3.4：同期する/しない、をアプリケーションが選択可能。
前述の実施形態２や３では、配信時やファームウェアの更新時に、同期制御フラグを書き換えることで同期制御を適切に変更してきた。本実施形態のようにVer3.4でアプリケーションが自由に同期制御フラグのON/OFFを選択できるようにした際には、仮にVer3.4のパスワード情報がVer3.3やVer3.2に配信されてもアプリケーションの指定を優先することが望ましい。しかしながら、実施形態２や３の方法では、すべてのフラグがファームウェアのバージョンに合わせて書き換えられてしまうため、アプリケーションの指定を優先できない。そこで、本実施形態では、アプリケーション（あるいはアプリケーションの使用者、以下同様）が意図的に操作した同期制御フラグに目印を付けることで、ファームウェアバージョンに合わせた同期制御フラグ書き換え時に、アプリケーションの指定を優先できるようにする。本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態1と同様であるため説明を省略する。
【００９４】
図１４、図１５は、本実施形態において、アプリケーションが意図的に指定した同期制御を尊重しつつ、配信時やファームウェア更新時のファームウェアバージョンに応じた同期制御フラグ書き換えを行う流れを説明したフローチャートである。図１４は、アプリケーションがパスワード情報を登録する際に、意図的に同期制御フラグを操作したことを示すフラグを付与する場合の流れを説明するフローチャートである。図１４は、組込プログラム305が、パスワード情報を登録するステップから開始し、個人設定管理部307が、パスワード情報を個人設定保持部311に登録するステップで終了する。
【００９５】
ステップS901は、組込プログラム305が、パスワード情報を登録するステップである。組込プログラム305は、パスワード情報の登録時に、同期制御フラグを操作することで、意図的に同期の有無を変更することができる。個人設定管理部309は、組込プログラム305からの登録を受け付けると、次ステップS902で、アプリケーションが意図的に同期制御フラグを操作したことを示すフラグ(以下、アプリ指定フラグ、または操作情報とも呼ぶ)を付与する。アプリケーションが意図的に同期制御フラグを操作したことは、たとえば設定の変更をメモリに直接アクセスして行うことを許さず、所定の設定用の関数等を呼び出して行わせるように構成することで判定することができる。設定値がなんであろうと、その設定用の関数を呼び出したことをもって、その呼び出し元のアプリケーションが同期制御フラグを操作したものと判断できる。また設定された同期制御フラグがどの個人設定に関するものであるかは、たとえば設定用の関数を呼び出す際のパラメータとして与えられることで、特定することができる。もちろんこれは一例であって、操作対象の同期制御フラグとそのフラグについて操作が行われたことを特定できるのであれば、どのような方法でもよい。
【００９６】
ステップS902は、パスワード情報管理部309が、個人設定管理部307にパスワード情報の登録を指示するステップである。パスワード情報管理部309は、前述のステップS901でアプリケーションから同期制御フラグの操作を指示されている場合は、それを示すためにアプリ指定フラグを同期制御フラグに付与する。その上で、個人設定管理部307は、次ステップS903で、パスワード情報を個人設定保持部311に登録する。
【００９７】
ステップS903は、個人設定管理部307が、個人設定保持部311にパスワード情報を登録するステップである。パスワード情報には、前述のステップS901で組込プログラム305が操作した同期制御フラグと、ステップS902でパスワード情報管理部309が付与したアプリ指定フラグとの両方が合わせて登録される。
【００９８】
以上により、アプリケーションからパスワード情報の登録と同期制御フラグの操作があった際には、アプリ指定フラグを付与して後から区別することができる。
【００９９】
次に図１５について説明する。図１５は、パスワード情報がインポートされる場合の処理の流れを説明するフローチャートである。図１５は、個人設定配信部314が個人設定のインポートを指示するステップから開始し、個人設定管理部307が同期制御フラグを書き換えるステップで終了する。実施形態１では、Ver3.2から配信されてきた個人設定について、一律で同期制御フラグを操作していたが、Ver3.4のようにアプリケーションが意図して同期制御フラグを操作している場合、それを尊重したうえで、フラグを書き換えることが望ましい。実施形態２では、配信元のバージョンのみで同期制御フラグの書き換えを判断していたが、Ver3.4のパスワード情報が、Ver3.2を経由してからVer3.3に配信された場合などは、配信元のバージョンだけでは、判断することができない。そのため、前述の図１４で説明したアプリ指定フラグを利用して、アプリケーションが意図して操作した同期制御フラグを区別する。ステップS904〜ステップS907は、図１１のステップS609〜ステップS612と同様であるため、説明を省略する。
【０１００】
バージョン3.2のファームウェアを持つ画像形成装置からのインポートの場合、ステップS908は、個人設定配信部314が、アプリ指定フラグと同期制御フラグを確認するステップである。実施形態２で説明したようにインポート時は、配信元と配信先のファームウェアバージョンの違いに応じて同期制御フラグを書き換える必要がある。しかしながら、アプリが意図的に同期制御している個人設定についてはその限りではない。そこで、本ステップS908にて、同期制御フラグとアプリ指定フラグの両方を確認し、アプリが意図的に操作していない場合のみファームウェアバージョンに応じて同期制御フラグを書き換える。アプリ指定フラグがOFFかつ同期制御フラグOFFの個人設定が存在した場合はステップS909へ遷移し、そうでない場合は本フローチャートを終了する。ステップS909は、拡張用個人設定管理部306が、同期制御フラグを書き換えるステップである。すなわち、アプリケーションによる同期制御フラグの操作がされておらず、かつ同期制御フラグがオフの場合に限って、ファームウェアバージョンに応じた同期制御フラグの書き換えを行う。
【０１０１】
ステップS910は個人設定管理部307が、同期制御フラグを書き換えるステップである。本ステップS910にて、インポート処理を完了し、本フローチャートを終了する。
【０１０２】
以上により、アプリケーションの意図を尊重しつつ、ファームウェアバージョンに応じて同期制御フラグを書き換えることができる。また、ファームウェアの更新時にも同様にアプリ指定フラグを確認した上でフラグの書き換えを行うことで、アプリケーションの指定を優先しつつ、ファームウェアバージョンに応じて同期制御フラグを書き換えることができる。
【０１０３】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０４】
３０７：個人設定管理部、３０９：パスワード管理部、３１１：個人設定保持部、３１２：同期管理部、３１３：個人設定同期部、３１４：個人設定配信部
【図１】
2016162314.tif 000003
【図２】
2016162314.tif 000004
【図３】
2016162314.tif 000005
【図４】
2016162314.tif 000006
【図５】
2016162314.tif 000007
【図６】
2016162314.tif 000008
【図７】
2016162314.tif 000009
【図８】
2016162314.tif 000010
【図９】
2016162314.tif 000011
【図１０】
2016162314.tif 000012
【図１１】
2016162314.tif 000013
【図１２】
2016162314.tif 000014
【図１３】
2016162314.tif 000015
【図１４】
2016162314.tif 000016
【図１５】
2016162314.tif 000017
【図１６】
2016162314.tif 000018
【図１７】
2016162314.tif 000019
【図１８】
2016162314.tif 000020