(57)【特許請求の範囲】
【請求項１】
個人設定情報にアクセスするアプリケーションをインストール可能なプラットフォームを有する画像形成装置であって、
第１の個人設定情報を保存する第１の保存手段と、
第２の個人設定情報を保存する第２の保存手段と、
前記第１及び第２の個人設定情報のうち、前記第１の個人設定情報と外部装置が保持する個人設定情報との同期を行う同期手段と、
アプリケーションの利用する個人設定情報を、該アプリケーションの権限に応じて、前記第１の個人設定情報として前記第１の保存手段に保存させるか、または前記第２の個人設定情報として前記第２の保存手段に保存させる管理手段と、
外部アプリケーションの利用する鍵情報の登録の指示を受け付ける鍵管理手段とを有し、
前記管理手段は、前記鍵管理手段を介して、あるいは介さずに当該アプリケーションの利用する鍵情報の登録の指示を更に受け付け、前記鍵管理手段を介して前記鍵情報の登録の指示を受け付けた場合には前記第２の保存手段に前記鍵情報を保存し、前記鍵管理手段を介さずに前記鍵情報の登録の指示を受け付けた場合には前記第１の保存手段に前記鍵情報を保存することを特徴とする画像形成装置。
【請求項２】
前記アプリケーションが所定の権限を有している場合に、前記第１の保存手段を前記アプリケーションが利用する個人設定情報の保存先として指定され得ることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記同期手段は、ユーザのログインに応じて前記第１の保存手段に保存した個人設定情報を前記外部装置の保持する個人設定情報に同期させ、ユーザのログアウトに応じて前記外部装置が保持する個人設定情報を前記第１の保存手段に保存した個人設定情報に同期させることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記同期手段による同期の開始および終了を前記アプリケーションに通知する通知手段を更に有し、
前記アプリケーションは、前記通知手段による同期の開始の通知に応じて前記アプリケーションが利用する個人設定情報に対するアクセスを制限し、前記通知手段による同期の終了の通知に応じて前記アプリケーションが利用する個人設定情報に対するアクセスの制限を解除することを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記アプリケーションが利用する個人設定情報の削除の指示に応じて、当該個人設定情報が前記第１の保存手段に保存されている場合には前記第１の保存手段に保存された前記個人設定情報を削除し、前記第２の保存手段に保存されている場合には前記第２の保存手段に保存された前記個人設定情報を削除する削除手段を更に有することを特徴とする請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の画像形成装置としてコンピュータを機能させるためのプログラム。
【請求項７】
個人設定情報にアクセスするアプリケーションをインストール可能なプラットフォームを有する画像形成装置の制御方法であって、
第１の個人設定情報を第１の保存手段に保存する工程と、
第２の個人設定情報を第２の保存手段に保存する工程と、
前記第１及び第２の個人設定情報のうち、前記第１の個人設定情報と外部装置が保持する個人設定情報との同期を行う同期工程と、
アプリケーションの利用する個人設定情報を、該アプリケーションの権限に応じて、前記第１の個人設定情報として前記第１の保存手段に保存させるか、または前記第２の個人設定情報として前記第２の保存手段に保存させる管理工程と、
外部アプリケーションの利用する鍵情報の登録の指示を受け付ける鍵管理工程とを有し、
前記管理工程では、前記鍵管理工程を介して、あるいは介さずに当該アプリケーションの利用する鍵情報の登録の指示を更に受け付け、前記鍵管理工程を介して前記鍵情報の登録の指示を受け付けた場合には前記第２の保存手段に前記鍵情報を保存し、前記鍵管理工程を介さずに前記鍵情報の登録の指示を受け付けた場合には前記第１の保存手段に前記鍵情報を保存することを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば個人設定情報等を外部装置と同期できる画像形成装置、およびその画像形成装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
昨今、クラウドコンピューティングが普及し、画像形成装置においても個人設定情報や機器の設定情報をクラウド上で管理し、画像形成装置間で共有できる仕組みが導入されている。例えばユーザごとのアドレス帳のデータをクラウド上で管理し、画像形成装置間で共有することができる。一方、画像形成装置においては、java(登録商標)アプリケーション等の拡張プログラムを後からインストールすることが可能である。前述のようなクラウド連携は、画像形成装置にあらかじめ組み込まれた機能においては普及しているが、こうした後入れのプログラムが扱う個人設定情報等についてもクラウド連携することができれば、ユーザの利便性は更に向上する。
【０００３】
しかしながら、これらの後入れの拡張プログラムは、多くの場合、第三者に開発キットを公開しており、自社以外のベンダーが開発したアプリケーションを含む。第三者が開発したアプリケーションが扱う個人設定情報を無制限にクラウド連携すると、個人設定情報のデータサイズや同期時のパフォーマンスのコントロールが難しくなる。また、個人設定情報の内容によってはセキュリティ上の懸念がある。さらに、組み込みのプログラムは個人設定情報の他に機器の設定値等もクラウド連携することができるが、第三者製のプログラムが機器の設定にアクセスすることは、機器の動作そのものにかかわることであり、セキュリティ上問題となる。したがって、後入れのプログラムのデータをクラウド同期する場合は、少なくとも第三者製の拡張プログラムが扱うデータと、画像形成装置のベンダーによる自社製の拡張プログラムが扱うデータとを区別した上で、同期の方法を検討する必要がある。
【０００４】
公知の技術として、データの内容を解析してデータを分類する方法が提案されている。例えば、ドキュメントの内容を解析し、機密性が高いものを分類するなどの方法である。しかしながら公知の技術は、解析処理に要する時間を無視できず、ユーザビリティの低下につながるという問題があった。上記を解決するために、特許文献１では、データの分類を多段化することで高速化する手法を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2012-137973号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献1の方法では、ユーザのアクセス制御を目的としたデータの分類を高速化することが可能になるものの、分類したデータをクラウド上のデータと同期する方法については言及されていない。従って、クラウド同期に適した形でデータを分類する方法が課題となる。
【０００７】
本発明は上記従来例に鑑みて成されたもので、上記課題を解決し、第三者による拡張プログラムに対してデータのセキュリティを確保しつつ拡張プログラムの使用するデータの共有を実現した画像形成装置及びその制御方法を提供することを目的とする。また、セキュリティのみならず、操作性も良好に保ちつつ拡張プログラムの使用するデータの共有を実現した画像形成装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を鑑みて、画像形成装置にインストールされた後入れのプログラムが扱うデータを該プログラムのパーミッションに応じて分類し、クラウド同期する手段を提供する。すなわち、個人設定情報にアクセスするアプリケーションをインストール可能なプラットフォームを有する画像形成装置であって、
第１の個人設定情報を保存する第１の保存手段と、
第２の個人設定情報を保存する第２の保存手段と、
前記第１及び第２の個人設定情報のうち、前記第１の個人設定情報と外部装置が保持する個人設定情報との同期を行う同期手段と、
アプリケーションの利用する個人設定情報を、該アプリケーションの権限に応じて、前記第１の個人設定情報として前記第１の保存手段に保存させるか、または前記第２の個人設定情報として前記第２の保存手段に保存させる管理手段と、
外部アプリケーションの利用する鍵情報の登録の指示を受け付ける鍵管理手段とを有し、
前記管理手段は、前記鍵管理手段を介して、あるいは介さずに当該アプリケーションの利用する鍵情報の登録の指示を更に受け付け、前記鍵管理手段を介して前記鍵情報の登録の指示を受け付けた場合には前記第２の保存手段に前記鍵情報を保存し、前記鍵管理手段を介さずに前記鍵情報の登録の指示を受け付けた場合には前記第１の保存手段に前記鍵情報を保存することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、組み込み機能と同様に、後入れのプログラムについても第三者製のプログラムと自社製のプログラムの扱うデータを区別して、セキュリティやデータサイズを考慮して適切にクラウド同期することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の画像形成装置のシステム構成図
【図２】本実施形態の画像形成装置のハードウェア構成図
【図３】本実施形態の画像形成装置のソフトウェア構成図
【図４】実施形態１において個人設定情報の登録先を指定する手順のフローチャート
【図５】実施形態１において個人設定情報を登録する手順のフローチャート
【図６】実施形態１においてユーザログアウト時に個人設定情報を外部装置と同期する手順のフローチャート
【図７】実施形態１においてユーザログイン時に個人設定情報を外部装置と同期する手順のフローチャート
【図８】実施形態２においてデータ更新のイベント通知のリスナを登録する手順のフローチャート
【図９】実施形態２においてデータ更新のイベント通知のリスナを登録する際の通知条件の一例を示す図
【図１０】個人設定情報を管理する際のデータ構造のイメージ図
【図１１】実施形態２においてデータ更新のイベント通知を行う手順のフローチャート
【図１２】実施形態３において個人設定情報を削除する手順のフローチャート
【図１３】実施形態３における個人設定情報の削除画面の一例
【図１４】実施形態４においてパスワード情報を登録する手順のフローチャート
【図１５】拡張プログラムのpermissionファイルの一例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜用語の定義＞
まず本実施形態における用語の定義を行う。
「設定値」とは、画像形成装置内に設定される画像形成装置の動作を切り替えるソフトウェア上のパラメータを示す。
「個人設定情報」とは、画像形成装置を利用するユーザごとに管理される設定値やデータを表す。例えば、個人用に設定されたボタン情報や、アドレス帳などである。
「組込プログラム」とは、画像形成装置に固定的に組み込まれたアプリケーション等のプログラムを示す。
「拡張プログラム」とは、java(登録商標)アプリケーション等の後からインストール可能なプログラムを示す。
「クラウド同期」とは、画像形成装置内のデータとクラウド上のデータとを同期する処理を示す。ユーザが画像形成装置にログインすると、画像形成装置はクラウド上に管理されている該ユーザのデータを画像形成装置内にダウンロードする。また画像形成装置上でユーザが個人設定情報を編集すると、該ユーザのログアウト時に編集済みデータをクラウド上にアップロードする。これらログイン時およびログアウト時の処理を総称して「クラウド同期」と呼ぶこととする。
「permission」とは、ディスク内のファイルやセキュリティに関わるような特定の処置に対するアクセス権を表す。Java（登録商標）で記述したアプリケーションでは、アプリケーションにpermissionを宣言させ、ファイルアクセス等を制御する仕組みが存在する。図15は、permissionファイルの一例である。このファイルに特定のpermissionを記載することで、アプリケーションに権限を付与することができる。permissionによりアクセスが制御される対象は例えば個人設定情報等のファイルであり、たとえばファイル所有者であるOwner、当該システムを利用するユーザグループであるGroup、その他のユーザであるOtherといった利用者の区分ごとに、読み込み、書き込み、実行といった操作ごとの権限を定義することができる。本実施形態におけるpermissionの対象は、直接的には後述する組込プログラム用ユーザ情報保持部に保存された個人設定情報であるが、外部装置に保存された個人設定情報であるとみなすこともできる。
以上が用語の説明となる。ここで説明した以外にも適宜用語の説明を行う。また以上の定義は一例であって、Java（登録商標）やUnix（登録商標）に限らず、他のシステムや言語における同等のものや機能を包含する。
【００１３】
［実施形態１］
本実施形態は、拡張プログラム303（図３参照）が個人設定情報を登録し、その個人設定情報が外部装置105上の個人設定情報と同期される際の実施形態である。本実施形態は下記の流れで説明される。
I.拡張プログラム303が個人設定情報の登録先を指定する。
II.拡張プログラム303が個人設定情報を登録する。
III.登録された個人設定情報と外部装置105上の個人設定情報とを同期する。
【００１４】
＜システム及びハードウェア構成＞
本実施形態のシステム構成について、図1を用いて説明する。
画像形成装置101は、プリント機能、コピー機能、ファクシミリ機能、送信機能(e-mail、FTP等)を統合したデジタル複合画像形成装置やプリンタ、スキャナ、ファクシミリ等の画像形成装置である。また、画像形成装置101には、個人ごとに設定値やアドレス帳を管理する仕組みがあり、ユーザが利用時にログインすることで、そのユーザ固有の設定値等を画像形成装置101に反映することが可能である。
パーソナルコンピュータ(以降、PC)102は、個人向けの汎用的なコンピュータであり、デスクトップ型やノート型などがある。画像形成装置101に登録された個人設定情報が上限に達した場合に、LAN103を経由して接続することで、後述する個人設定情報の削除が可能となる。
LAN103は、ローカルエリアネットワークである。画像形成装置101は、LAN103を介して他の画像形成装置(不図示)、PC102やインターネット104と接続可能である。
104はインターネットである。インターネット104は、単一のWide Area Network(WAN)、Local Area Network(LAN)、アドホックネットワークなどのネットワークで実現してもよい。またインターネット104は、必要に応じた複数のWAN、LAN、アドホックネットワークの複合で構成されてもよい。また、本実施形態におけるインターネットは一例であり、他の通信ネットワーク、または、ネットワークの複合でもよい。
外部装置105は、画像形成装置101の個人設定情報を管理する外部機器である。本実施形態ではインターネット104を介して画像形成装置101と接続されているクラウドサーバを想定しているが、LAN103を介して接続した内部サーバ等であってもよい。
【００１５】
本実施形態のハードウェア構成について、図2を用いて説明する。
制御部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はLAN103と接続するためのインターフェース部であり、LAN103を介して画像形成装置(不図示)やインターネット104と通信を行う。ディスプレイ212は、ユーザの操作や画像形成装置の状態に応じたエラー情報等を表示する。操作部213は、キー入力手段を内蔵し、これらはCPU203にて制御される。ユーザは、キー入力を通してスキャナ読み取りやプリント出力に関する各種設定指示や、作動/停止指示を行う。なお、操作部213はタッチパネルのようなディスプレイ212上で直接操作するものであってもよく、特に限定するものではない。プリンタ214は、画像データの記録媒体上への印刷を行う。プリンタ214で印刷すべき画像データは、制御部201からプリンタI/F209を介してプリンタ214へ転送される。スキャナ215は、原稿上の画像を読み取り、画像データを生成し、スキャナI/F210を介して制御部201へ転送する。
【００１６】
＜ソフトウェア構成＞
図3は画像形成装置101のソフトウェア構成図である。図3に四角で示した各構成部はソフトウェアを表している。なお、画像形成装置101の各ソフトウェアはROM205もしくはHDD204に保存され、CPU203にて実行される。また、実行時に使用する各種情報はRAM206もしくはHDD204に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークI/F211を用いて行う。以下に各ソフトウェアを説明する。
OS301は、入出力機能、ディスクやメモリの管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、システム全体を管理するシステムソフトウェアである。
拡張プログラム実行プラットフォーム302は、拡張プログラム303の動作に必要なOS301上で動作するプラットフォームである。拡張プログラム実行プラットフォーム302を適用することで、OS301に依存せずに拡張プログラム303を動作させることができる。
拡張プログラム303は、拡張プログラム実行プラットフォーム302上で動作するプログラムである。拡張プログラム303は、拡張プログラム実行プラットフォーム302または拡張プログラムシステムサービス304を介してのみ、他の拡張プログラム303やRAM205など画像形成装置101の各モジュールへアクセスすることができる。
拡張プログラムシステムサービス304は、拡張プログラム実行プラットフォーム302上で動作するプログラムである。拡張プログラムシステムサービス304は、拡張プログラム303に共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム303から拡張プログラムシステムサービス304を呼び出すことでサービスが利用可能となる。
組込プログラム305は、プリンタ、ファクシミリやスキャナなどの元々備わっている制御プログラムである。
組込プログラム用デバイス情報保持部306は、画像形成装置101を使用する全ユーザが共通で利用したい設定値やデータを保持する。例えば、共通のショートカットボタンの情報や、外部サーバの共通パスワード情報等が該当する。
外部アプリ用ユーザ鍵管理部307は、第三者製の拡張プログラム303である外部アプリケーション向けに公開している、パスワード情報を管理するサービスである。後述する拡張プログラム用ユーザ鍵管理部309の仲介にあたり、第三者製プログラムが使用することを鑑みて一部機能を制限して提供している。
ユーザ情報削除部308は、後述する拡張プログラム用ユーザ情報管理部310や組込プログラム用ユーザ情報管理部314で管理される個人設定情報を削除する。ユーザ情報削除部308はサーブレット機能を提供し、ユーザはPC102上のウェブブラウザから個人設定情報を削除することができる。
拡張プログラム用ユーザ鍵管理部309は、個人設定情報のうち、特に外部サーバ等のパスワード情報を管理するための機能であり、拡張プログラム303の扱うパスワード情報を管理する。後述する組込プログラム用ユーザ鍵保持部312の仲介にあたる。
拡張プログラム用ユーザ情報管理部310は、拡張プログラムが扱う個人設定情報を管理するための機能を提供する。
拡張プログラム用ユーザ情報保持部311は、拡張プログラム用ユーザ情報管理部310で管理する個人設定情報を保持する。
【００１７】
＜個人設定情報＞
ここで図10を用いて、個人設定情報を説明する。図10は拡張プログラム用ユーザ情報保持部311で保持する個人設定情報のデータ構造のイメージ図である。個人設定情報は木構造で管理され、最上位ノードがユーザノード、その次がアプリケーションノード、その下に任意のノードが構成されている。各ユーザは、オーナーである自分のユーザノード配下のデータのみにアクセス権を有する。また、各アプリケーションは、自アプリケーションノード配下のデータにのみアクセス権を有する。
図10の例では、ユーザAに関する個人設定情報が、アプリケーションAとアプリケーションBに関して保持されている。個人設定情報はkey-value形式で保持され、任意のノードに登録される。すなわち、個人設定情報は、各ユーザについて、プログラムごとに定義できる。また、前述のようにクラウド同期のパフォーマンスやセキュリティの担保のために、拡張プログラム用ユーザ情報保持部311で保持する個人設定情報は外部機器105と同期することができない。本実施形態では、拡張プログラムに付与された権限に応じて、拡張プログラム用ユーザ情報保持部311と組込プログラム用ユーザ情報保持部315とで個人設定情報が保存される。
【００１８】
再び、図3の説明に戻る。組込プログラム用ユーザ鍵管理部312は、個人設定情報のうち、特に外部サーバ等のパスワード情報を管理するための機能である。組込プログラムが扱うパスワード情報を管理する。
クラウド同期部313は、外部装置105上で管理される個人設定情報と、後述の組込プログラム用ユーザ情報保持部315に保持される個人設定情報とを同期する。クラウド同期部313は、ユーザが、画像形成装置101にログインすると、そのユーザに関する個人設定情報を外部装置105から取得する。また、ユーザがログアウトすると、組込プログラム用ユーザ情報保持部315に保持されているそのユーザの個人設定情報を外部装置105へ送信する。外部装置105は受信した個人設定情報で当該ユーザの個人設定情報を更新する。
組込プログラム用ユーザ情報管理部314は、組込プログラムが扱う個人設定情報を管理する。
組込プログラム用ユーザ情報保持部315は、組込プログラムの個人設定情報を保持する。
プリンタ制御部316は、プリンタI/F209を介してプリンタ214を制御するプログラムである。またスキャナ制御部317は、スキャナI/F210を介してスキャナ215を制御するプログラムである。
【００１９】
＜I.拡張プログラム303が個人設定情報の登録先を指定する＞
図4は本実施形態において、拡張プログラム303が、拡張プログラム用ユーザ情報管理部310に対して、個人設定情報の登録先を指定する流れを説明するフローチャートである。前述のように、拡張プログラム用ユーザ情報保持部311に保持される個人設定情報は外部装置105と同期することができない。このため、拡張プログラム303が個人設定情報を外部装置105と同期したい場合は、本フローチャートに従って、登録先に組込プログラム用ユーザ情報保持部315を指定する必要がある。組込プログラム用ユーザ情報保持部に保持された個人設定情報であれば、クラウド同期部313により外部装置105と同期させることができるためである。
図4は拡張プログラム303が個人設定情報の登録先を指定するステップから開始し、拡張プログラム用ユーザ情報管理部310が拡張プログラム303による登録先の指定を受け付ける/拒否するステップで終了する。
【００２０】
ステップS401は、拡張プログラム303が、拡張プログラム用ユーザ情報管理部310に対して、個人設定情報の登録先あるいは保存先を指定するステップである。指定は例えば所定の操作によりディスプレイ212に個人情報の登録先の指定画面を表示させた後に、操作部213により登録先を入力させることで行う。
ステップS402は、拡張プログラム用ユーザ情報管理部310が、拡張プログラム303の保持するpermissionを確認するステップである。拡張プログラム303が扱う個人設定情報の登録先はデフォルトでは拡張プログラム用ユーザ情報保持部311である。しかし、特定のpermissionを保持する拡張プログラム303は、登録先として組込プログラム用ユーザ情報保持部315を指定する権限を持つ。本ステップS402にて、拡張プログラム用ユーザ情報管理部301は、拡張プログラム303が登録先を指定する権限を持つのかどうかをpermissionによって判定する。拡張プログラム303が特定のpermissionを持つ場合は、ステップS403へ、permissionを持たない場合はステップS406へ、それぞれ遷移する。なお特定のpermissionとは、たとえば当該ユーザのユーザ情報ファイルに対する読み出し及び書き込み権限などである。
ステップS403は、拡張プログラム用ユーザ情報管理部310が、拡張プログラム303によって指定された登録先を確認するステップである。設定情報の登録先としては、拡張プログラム用ユーザ情報保持部311、組込プログラム用ユーザ情報保持部315及び組込プログラム用デバイス情報保持部306の3つが存在する。このうち、拡張プログラム303からアクセス可能なものは、拡張プログラム用ユーザ情報保持部311と組込プログラム用ユーザ情報保持部315のみである。なぜなら、組込プログラム用デバイス情報保持部306は全ユーザ共通の機器用の設定値等を保持しており、拡張プログラム303が、組込プログラム用デバイス情報保持部306にアクセスすることで、機器の動作に影響を与えることを防ぐためである。したがって、前記ステップS402において特定の権限を保持すると判定された拡張プログラム303であっても、拡張プログラム用ユーザ情報保持部311と組込プログラム用ユーザ情報保持部315以外を指定することはできない。
本ステップS403は指定された登録先が上記2つ以外かどうかを判定する。登録先の指定が、拡張プログラム用ユーザ情報保持部311の場合はステップS404へ、組込プログラム用ユーザ情報保持部315の場合はステップS405へ、それ以外の場合はS406 へ、それぞれ遷移する。
ステップS404は、拡張プログラム用ユーザ情報管理部310が、個人設定情報の登録先を拡張プログラム用ユーザ情報保持部311に設定するステップである。
ステップS405は、拡張プログラム用ユーザ情報管理部310が、個人設定情報の登録先を組込プログラム用ユーザ情報保持部315に設定するステップである。
ステップS406は、拡張プログラム用ユーザ情報管理部310が、組み込みプログラム303による登録先の指定を拒否するステップである。本ステップS406では、前記ステップS402で拡張プログラム303が権限を持たない、もしくは、前記ステップS403で登録先が拡張プログラム用ユーザ情報保持部311と組込プログラム用ユーザ情報保持部315以外、と判定された場合に拒否する。拒否は例えば登録先の指示を入力したディスプレイ212上の画面に、拒否のメッセージを表示することなどで行う。
以上により、特定のpermissionを保持する拡張プログラム303のみが、個人設定情報の登録先として組込プログラム用ユーザ情報保持部315を指定でき、個人設定情報を外部装置105と同期できる。第三者製の拡張プログラム303に該permissionを付与しないことで、第三者製の拡張プログラム303と自社製の拡張プログラム303のデータを区別して同期することが可能となる。また、permissionを有するプログラムであっても組込プログラム用デバイス情報保持部306を登録先として指定できないようにすることで、拡張プログラム303による、機器の動作に影響を与えるようなデータへのアクセスを完全に遮断できる。permissionを有するプログラムであっても組込プログラム用デバイス情報保持部306を登録先として指定できないようにするためには、たとえばpermissionで示される権限として、組込プログラム用デバイス情報保持部306を登録先として指定できない権限を用意しておく。あるいは、permissionが付与された拡張プログラムの属性情報のうち例えば製造者を参照し、画像形成装置の製造者と異なる製造者の拡張プログラムには組込プログラム用デバイス情報保持部306を登録先として指定できないようにするといった方法を採用することもできる。
【００２１】
＜II. 拡張プログラム303が個人設定情報を登録する＞
図5は、本実施形態において、拡張プログラム303が拡張プログラム用ユーザ情報管理部310を介して個人設定情報を登録する際の流れを説明するフローチャートである。本フローチャートは、拡張プログラム303が拡張プログラム用ユーザ情報管理部310に個人設定情報の登録を指示するステップから開始する。また、拡張プログラム用ユーザ情報保持部311もしくは組込プログラム用ユーザ情報保持部315に個人情報が登録されるステップで終了する。なお、本フローチャートは図4のフローチャートにて個人設定情報の登録先を指定した後に実施される。
ステップS501は、拡張プログラム303が、拡張プログラム用ユーザ情報管理部310に、個人設定情報の登録を指示するステップである。
ステップS502は、拡張プログラム用ユーザ情報管理部310が、個人設定情報の登録先を確認するステップである。図4のフローチャートにおいて、あらかじめ個人設定情報の登録先を指定している場合は、その登録先を確認する。また、登録先を指定していない場合や、図4のステップS406にて登録先の指定を拒否されている場合はデフォルトとして拡張プログラム用ユーザ情報保持部311が登録先に設定されている。設定されている登録先が拡張プログラム用ユーザ情報保持部311の場合はステップS503へ、組込プログラム用ユーザ情報保持部315の場合はステップS505へ、それぞれ遷移する。
ステップS503は、拡張プログラム用ユーザ情報管理部310が、個人設定情報を拡張プログラム用ユーザ情報保持部311に登録するステップである。
ステップS504は、拡張プログラム用ユーザ情報保持部311が個人設定情報を記憶するステップである。
ステップS505は、拡張プログラム用ユーザ情報管理部310が、組込プログラム用ユーザ情報管理部314に、個人情報の登録を指示するステップである。
ステップS506は、組込プログラム用ユーザ情報管理部314が、組込プログラム用ユーザ情報保持部315に、個人設定情報を登録するステップである。
ステップS507は、組込プログラム用ユーザ情報保持部315が、個人設定情報を記憶するステップである。
以上により、拡張プログラム303は、個人設定情報を予め指定した登録先へ登録することができる。
【００２２】
＜III. 登録された個人設定情報と外部装置105上の個人設定情報を同期する＞
図6は、画像形成装置101に登録された個人設定情報を外部装置105へ送信する際の流れを説明するためのフローチャートである。本フローチャートは、ユーザが画像形成装置101からログアウトするステップから開始し、外部装置105が画像形成装置101から送られた個人設定情報を受け付けるステップで終了する。本フローチャート及び後述する図7のフローチャートにより、組込プログラム用ユーザ情報保持部315に登録された個人設定情報が外部装置105上の個人設定情報と同期される流れを説明する。なおユーザがログインしている間に拡張プログラムにより個人設定情報が変更されていれば、その変更は、ログアウトに先立って、当該拡張プログラムの権限に応じて組込プログラム用ユーザ情報保持部315あるいは拡張プログラム用ユーザ情報保持部310に登録された個人設定情報に反映されている。
ステップS601は、ユーザが画像形成装置101からログアウトするステップである。
ステップS602は、組込プログラム用ユーザ情報管理部314が、ユーザのログアウトを検知し、該ユーザの個人設定情報を外部装置105上に送信するようクラウド同期部313へ指示するステップである。
ステップS603は、クラウド同期部313が、個人設定情報を外部装置105へ送信するステップである。なお、送信対象はログインユーザの個人設定情報であり、組込プログラム用ユーザ情報保持部315に同期すべきログインユーザの個人設定情報が保存されていない場合には、このステップ以下の工程を実行せずに処理を終了してもよい。
ステップS604は、外部装置105が、画像形成装置101から個人設定情報を受信し、記憶するステップである。
以上により、画像形成装置101上で編集された個人設定情報は、ユーザのログアウトをトリガーとして外部装置105へ送信される。そして外部装置105は受信した個人設定情報に該当するユーザの個人設定情報が保存されていない場合には新たに保存し、既に保存されている場合には、その個人設定情報を、受信した個人設定情報とマージするか、あるいは上書きするなどして更新する。
【００２３】
図7は、外部装置105に保持されている個人設定情報が画像形成装置101へ送信される際の流れを説明するためのフローチャートである。本フローチャートは、ユーザが画像形成装置101にログインするステップから開始し、組込プログラム用ユーザ情報保持部315が外部装置105から送信された個人設定情報を反映するステップで終了する。図7の手順は、ハードウェア上は画像形成装置101のCPU203により行われる。
ステップS701は、ユーザが、画像形成装置101にログインするステップである。
ステップS702は、組込プログラム用ユーザ情報管理部314が、ユーザのログインを検知して、外部装置105から該ユーザの個人設定情報を取得するように、クラウド同期部313へ指示するステップである。なお、取得対象はログインユーザの個人設定情報であり、組込プログラム用ユーザ情報保持部315に同期すべきログインユーザの個人設定情報が保存されていない場合には、このステップ以下の工程を実行せずに処理を終了してもよい。
ステップS703は、クラウド同期部313が、外部装置105に個人設定情報を要求するステップである。
ステップS704は、外部装置105が、要求された個人設定情報を画像形成装置101へ送信するステップである。
ステップS705は、組込プログラム用ユーザ情報管理部314が、外部装置105から取得したログインユーザの個人設定情報を、組込プログラム用ユーザ情報保持部315に反映するステップである。
ステップS706は、組込プログラム用ユーザ情報保持部315が、外部装置105から取得した個人設定情報を反映するステップである。
以上により、ユーザがログインした場合に、該ユーザの個人設定情報を外部装置105から取得することができる。
【００２４】
本実施形態により、拡張プログラム303の個人設定情報を、拡張プログラム303のpermissionに応じて同期可能となる。すなわち、permissionを持たない、すなわち組込プログラム用ユーザ情報保持部315に登録された個人設定情報へのアクセス権限を持たない拡張プログラム303が扱う個人設定情報は、拡張プログラム用ユーザ情報保持部311に保持することで同期の対象外とする。また一方、permissionを持つ拡張プログラム303は、登録先として組込プログラム用ユーザ情報保持部315を指定することで個人設定情報を同期することができる。同期のタイミングは、ユーザがログアウトした時に、組込プログラム用ユーザ情報保持部315内の個人設定情報を外部装置105へ送信する。また、ユーザがログインした時に外部装置105内の個人設定情報を組込プログラム用ユーザ情報保持部315に取得することで同期が可能となる。また、permissionの有無にかかわらず、拡張プログラム303が組込プログラム用デバイス情報保持部306にアクセスができないよう制御することが可能となる。
【００２５】
［実施形態2］
本実施形態は、組込プログラム用ユーザ情報保持部315に保持されている個人設定情報が外部装置105によって更新された場合に、その旨を拡張プログラムへ通知する場合の実施形態である。前述のように画像形成装置101と外部装置105の個人設定情報の同期はユーザのログイン／ログアウトに連動して行われる。ユーザがログイン後に個人設定情報の編集等を行う際、内部的には個人設定情報がクラウド同期中である場合があり、データの不整合を防ぐための排他制御が必要となる。排他制御自体はデータベースで行われるが、各アプリケーションにおいても、ユーザによる編集を防止するために操作部213のロックや警告メッセージの表示等の処置が必要となる。本実施形態で説明する更新通知機能は、各アプリケーションがクラウド同期の開始と終了を検知し、適切な処理を行うためのものである。本実施形態は下記のプロセスによって構成される
I.リスナを登録する。
II.更新通知を受信する。
本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態1と同様であるため省略する。
【００２６】
＜I.リスナを登録する＞
図8は、拡張プログラム303がリスナを登録する際の流れを説明するためのフローチャートである。本フローチャートは、拡張プログラム303がリスナ登録を指示するステップから開始し、組込プログラム用ユーザ情報管理部314がリスナ登録を受け付けるステップで終了する。
ステップS801は、拡張プログラム303が、リスナ登録を拡張プログラム用ユーザ情報管理部310に指示するステップである。リスナ登録する際には、イベント通知の条件を詳細に設定する。
【００２７】
ここで図9を用いて登録元となる拡張プログラム303へのイベント通知の通知条件の一例を示す。
通知方法901は、個人設定情報の更新等が行われた際に、どのような方法で通知を行うのかを定義する。全ノード情報902は、通知方法として、全ノード分のイベント通知を行うという条件指定である。この条件902を指定すると、個人設定情報の複数のノードが更新された場合、更新された全ノード分の更新イベントを通知する。アプリケーション単位903は、通知方法をアプリケーション単位にする条件指定である。個人設定情報が更新された際に、該当するアプリケーションノードの更新イベントを通知する。上位ノード904は、通知方法を上位ノードのみにする条件指定である。複数のノードで個人設定情報が更新された場合、その共通する上位ノードの更新イベントを通知する。一つのノードのみが更新された場合には、たとえばその直上のノードの更新イベントを通知する。最上位であれば当該ノードの更新イベントでよい。
通知処理種別905は、通知処理種別を指定する条件である。イベント通知の対象となる操作種別を指定する。削除906は、通知処理種別として削除処理を対象とする条件指定である。個人設定情報の削除が行われた場合にイベント通知を行う。同期907は、通知処理種別としてクラウド同期を対象とする条件指定である。クラウド同期によって個人設定情報が更新された場合にイベント通知を行う。またたとえば、クラウド同期907が設定されている場合、同期処理開始前と開始後とが別イベントとして通知される。登録908は、通知処理種別として登録処理を対象とする条件指定である。個人設定情報が登録された場合にイベント通知を行う。
通知単位909は、通知単位を定義する条件である。アプリケーション単位910は、通知単位として、アプリケーションノードを対象とする条件指定である。指定したアプリケーションノード下で通知処理種別905に該当する処理が行われた場合に、イベント通知を行う。ノード単位911は、通知単位として、指定ノードを対象とする条件指定である。指定したノードに対して通知処理種別905に該当する処理が行われた場合に、イベント通知を行う。再帰的ノード単位912は、通知単位として、指定ノード以下を対象とする条件指定である。指定したノード以下に対して通知処理種別905に該当する処理が行われた場合に、イベント通知を行う。
通知タイミング913は、通知タイミングを定義する条件である。変更後914は、通知タイミングとして、処理の終了後を対象とする条件指定である。通知単位909に該当するノードに対して、通知処理種別905に該当する処理が行われた場合に、その処理の終了後にイベント通知を行う。コミット前915は、通知タイミングとして、データベースへのコミット直後を対象とする条件指定である。通知単位909に該当するノードに対して、通知処理種別905に該当する処理が行われた場合に、その処理のデータベースへのコミット直前にイベント通知を行う。コミット後916は、通知タイミングとして、データベースへのコミット直後を対象とする条件指定である。通知単位909に該当するノードに対して、通知処理種別905に該当する処理が行われた場合に、その処理のデータベースへのコミット直後にイベント通知を行う。
なお、図9の条件は一例であり、これに限定されるものではない。
【００２８】
図8の説明にもどる。
ステップS802は、拡張プログラム用ユーザ情報管理部310が、リスナ登録を組込プログラム用ユーザ情報管理部314に依頼するステップである。
ステップS803は、組込プログラム用ユーザ情報管理部314が、リスナ登録を受け付けるステップである。
以上により、リスナ登録時にイベント通知の条件を詳細に指定することで、リスナ登録した拡張プログラム303は指定した条件でイベント通知を受け取ることができる。なお、個人設定情報の無矛盾性を維持するためには、たとえば、通知処理種別905としてクラウド同期処理907を指定しておく。これによりクラウド同期処理前に組込プログラム用ユーザ情報保持部315の個人設定情報に対する変更等の操作をロックし、処理後にロックを解除する。なおロックする範囲はリスナ登録した拡張アプリケーションのアクセスする範囲で十分であるので、通知方法及び通知単位は例えばアプリケーション単位としておけばよい。またこのような設定では、ロック前に読み出された個人設定情報に基づいた設定変更の、ロック解除後の反映は許容される。したがってクラウド同期による設定変更が失われるおそれがある。これを防止するためには、ユーザのログイン直後は個人設定情報の変更を禁止し、同期処理の完了後に個人設定情報の変更を許容するようにしてもよい。なお以上は一例であって、他の設定でも適切な排他制御を実現する設定はある。少なくとも拡張アプリケーションによりアクセスされ、かつクラウド同期の対象である個人設定情報の範囲が排他制御の対象となるので、その範囲に対するクラウド同期があることを拡張アプリケーション303に通知できるようなリスナ登録の条件を設定しておけばよい。
【００２９】
＜ii.更新通知を受信する＞
図11は、クラウド同期時に拡張プログラム303に対してイベント通知を行う際の流れを説明するフローチャートである。本フローチャートは、クラウド同期部313が外部装置105から個人設定情報を取得するステップから開始し、拡張プログラム303がクラウド同期終了のイベント通知を受け取るステップで終了する。なお、本フローチャートは拡張プログラム303が、事前に図8のフローチャートに従ってリスナ登録を行っているものとして説明する。
ステップS1101は、クラウド同期部313が、外部装置105から個人設定情報を取得するステップである。前述のとおり、ユーザが画像形成装置101にログインすると、そのユーザに関連する個人設定情報が外部装置105からダウンロードされる。
ステップS1102は、組込プログラム用ユーザ情報管理部314が、クラウド同期開始のイベントを通知するステップである。ここでイベントの通知は、クラウド同期処理907を通知処理種別905として指定したリスナ登録をした拡張アプリケーション303に対して、該アプリケーションが登録した通知条件に従って行われる。
ステップS1103は、拡張プログラム用ユーザ情報管理部310が、組込プログラム用ユーザ情報管理部314から受けたクラウド同期開始のイベントを拡張プログラム303に通知するステップである。
ステップS1104は、拡張プログラム303が、クラウド同期の開始イベントを受信するステップである。拡張プログラム303は、クラウド同期開始イベントを受信し、クラウド同期中の個人設定情報の編集を阻止するために、操作部213のロックや、警告メッセージの表示等を行うことができる。
ステップS1105は、組込プログラム用ユーザ情報管理部314が、外部装置105から取得した個人設定情報を組込プログラム用ユーザ情報保持部315に反映するステップである。
ステップS1106は、組込プログラム用ユーザ情報保持部315が、外部装置105から取得した個人設定情報を記憶するステップである。
ステップS1107は、組込プログラム用ユーザ情報管理部314が、クラウド同期終了イベントを通知するステップである。
ステップS1108は、拡張プログラム用ユーザ情報管理部310が、クラウド同期終了イベントを、拡張プログラム303へ通知するステップである。
ステップS1109は、拡張プログラム303が、クラウド同期終了のイベントを受信するステップである。拡張プログラム303は、クラウド同期終了の通知を受けて、同期終了を知らせるメッセージの表示や、同期された個人設定情報を読みこむなどの処理を行う。
以上により、拡張プログラム303はクラウド同期処理の前後でイベント通知を受信して、適切な処理を行うことができる。
【００３０】
［実施形態3］
本実施形態は、ユーザによる個人設定情報の削除について説明する。画像形成装置101には、個人設定情報を登録可能なユーザ数の上限値が定められており、容量を確保するために不要なユーザの個人設定情報を削除できる仕組みを提供している。実施形態1では、ユーザの個人設定情報は組込プログラム用ユーザ情報保持部315と拡張プログラム用ユーザ情報保持部311に保持されている。すなわち、ユーザが個人設定情報を削除する際にはそれらの格納場所を意識することなく削除できることが必要となる。従って本実施形態では、ユーザが、個人設定情報の格納先を意識することなく個人設定情報を削除する実施例を説明する。本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態1と同様であるため省略する。
【００３１】
図12は、ユーザが個人設定情報を削除する際の流れを説明するためのフローチャートである。本フローチャートは、ユーザが個人設定情報の削除を指示するステップから開始し、組込プログラム用ユーザ情報管理部314が、組込プログラム用ユーザ情報保持部315に保持されている個人設定情報を削除するステップで終了する。
ステップS1201は、ユーザが、ユーザ情報削除部308に、個人設定情報の削除を指示するステップである。ユーザ情報削除部308は、サーブレット機能を有し、ユーザはPC102のウェブブラウザから個人設定情報の削除を指示する。
【００３２】
図13は、ユーザ情報削除部308が提供する削除画面の一例である。
画面1301は、個人設定情報の削除画面である。
ボタン1302は、すべての個人設定情報を削除するためのボタンである。ユーザが1302を押下すると、組込プログラム用ユーザ情報保持部315と拡張プログラム用ユーザ情報保持部311に保持されているすべての個人設定情報が削除される。
ボタン1303は、指定したユーザの個人設定情報を削除するボタンである。ユーザが1303を押下すると、ユーザ指定画面1304へ遷移する。
画面1304は、ユーザ指定画面である。個人情報を削除したいユーザを選択することで、そのユーザに関する個人設定情報を削除することができる。
ユーザ情報1305は、各ユーザの情報である。例としてユーザ名とドメイン名を表示しているが、最終更新日時等の情報を載せることもでき、内容はこれに限定されるものではない。
【００３３】
ステップS1202は、ユーザ情報削除部308が、拡張プログラム用ユーザ情報管理部310に、指定された個人設定情報の削除を指示するステップである。
ステップS1203は、拡張プログラム用ユーザ情報管理部310が、拡張プログラム用ユーザ情報保持部311に保持されている個人設定情報から、指定されたユーザの個人設定情報を削除するステップである。
ステップS1204は、拡張プログラム用ユーザ情報保持部311が、指定された個人設定情報を削除するステップである。該当するユーザの個人設定情報がなければここではなにもしない。
ステップS1205は、拡張プログラム用ユーザ情報管理部310が、組込プログラム用ユーザ情報管理部314に組込プログラム用ユーザ情報保持部315内の個人設定情報の削除を依頼するステップである。
ステップS1206は、組込プログラム用ユーザ情報管理部314が、組込プログラム用ユーザ情報保持部315内の個人設定情報から、指定されたユーザの個人設定情報を削除するステップである。
ステップS1207は、組込プログラム用ユーザ情報保持部315が、個人設定情報の削除を行うステップである。該当するユーザの個人設定情報がなければここではなにもしない。
以上により、ユーザは、個人設定情報の格納先を意識することなく、指定したユーザに関する個人設定情報を削除することができる。なお個人設定情報の削除については権限の管理が必要であるが、ここでは権限については省略した。
【００３４】
［実施形態4］
本実施形態では、個人設定情報のうち、外部サーバ(不図示)のパスワード等を管理するサービスにおいて、実施形態1と同様に、第三者製と自社製の拡張プログラム303の扱う情報を区別して、外部装置105と同期する場合について説明する。本実施形態のシステム構成、ハードウェア構成、及びソフトウェア構成は、実施形態1と同様であるため省略する。
図14は、拡張プログラム303が、パスワード情報を登録する際の流れを説明するためのフローチャートである。本スローチャートは、拡張プログラム303が、外部アプリ用ユーザ鍵情報管理部307を呼び出すステップから開始し、組込プログラム用ユーザ情報保持部315もしくは拡張プログラム用ユーザ情報保持部311がパスワード情報を登録するステップで終了する。
ステップS1401は、拡張プログラム303が、外部アプリ用鍵管理部307を呼び出すステップである。パスワード情報を管理する拡張プログラムシステムサービス304には、外部アプリ用鍵管理部307と拡張プログラム用ユーザ鍵管理部309の2種類の鍵管理部が存在する。第三者には、拡張プログラム用ユーザ鍵管理部309を公開しないため、第三者製の拡張プログラム303は外部アプリ用鍵管理部307を呼び出してパスワード情報を管理する。
ステップS1402は、外部アプリ用鍵管理部307が、拡張プログラム用ユーザ鍵管理部309を呼び出すステップである。
ステップS1403は、拡張プログラム用ユーザ鍵管理部309が他のプログラムによる呼び出しを検知するステップである。
ステップS1404は、拡張プログラム用ユーザ鍵管理部309が、呼び出し元のプログラムを判定するステップである。呼び出し元が外部アプリ用鍵管理部307である場合はステップS1405へ、それ以外の場合はステップS1406へ、それぞれ遷移する。
ステップS1405は、拡張プログラム用ユーザ鍵管理部309が、接続先を拡張プログラム用ユーザ情報管理部310に設定するステップである。
ステップS1406は、拡張プログラム用ユーザ鍵管理部309が、接続先を組込プログラム用ユーザ情報管理部314に設定するステップである。
ステップS1407は、拡張プログラム303が、パスワード情報を登録するステップである。
ステップS1408は、拡張プログラム用ユーザ鍵管理部309がパスワード情報（鍵情報）の登録先を判定するステップである。登録先は前述のステップS1405およびS1406にて設定される。登録先が拡張プログラム用ユーザ情報管理部310であった場合はステップS1409へ、登録先が組込プログラム用ユーザ情報管理部314であった場合はステップS1410へ、それぞれ遷移する。
ステップS1409は、拡張プログラム用ユーザ情報管理部310が、パスワード情報を登録するステップである。
ステップS1410は、拡張プログラム用ユーザ鍵管理部309が、パスワード情報の登録を組込プログラム用ユーザ情報管理部314に依頼するステップである。
ステップS1411は、拡張プログラム用ユーザ情報保持部311がパスワード情報を登録するステップである。
ステップS1412は、組込プログラム用ユーザ情報管理部314がパスワード情報を登録するステップである。
ステップS1413は、組込プログラム用ユーザ情報保持部315が、パスワード情報を登録するステップである。
以上により、外部サーバ(不図示)のパスワード等を管理するサービスにおいて、拡張プログラム用ユーザ鍵情報管理部309の呼び出し元が外部アプリ用鍵情報管理部307か否かを判定することができる。これにより、第三者製もしくは自社製の拡張プログラム303の個人設定情報を区別可能となる。
その結果、自社製の拡張プログラム303の個人設定情報のみをクラウド同期することができる。
【００３５】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（または情報処理装置やＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005898712.tif 000002
【図２】
0005898712.tif 000003
【図３】
0005898712.tif 000004
【図４】
0005898712.tif 000005
【図５】
0005898712.tif 000006
【図６】
0005898712.tif 000007
【図７】
0005898712.tif 000008
【図８】
0005898712.tif 000009
【図９】
0005898712.tif 000010
【図１０】
0005898712.tif 000011
【図１１】
0005898712.tif 000012
【図１２】
0005898712.tif 000013
【図１３】
0005898712.tif 000014
【図１４】
0005898712.tif 000015
【図１５】
0005898712.tif 000016