(57)【特許請求の範囲】
【請求項１】
プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置であって、
前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を有し、前記登録情報に基づいて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手段と、
情報生成の要求に応じて、前記情報生成手段に、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手段とを有することを特徴とする情報処理装置。
【請求項２】
前記情報生成手段は、
前記情報管理手段から他の機器が保有する情報の生成要求を受け付けた場合に、
前記他の機器が有する前記ソフトウェア部品が登録された登録情報を取得し、取得した前記登録情報に基づいて、前記他の機器が有する前記ソフトウェア部品を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報生成手段は、
前記情報管理手段から他の機器が保有する情報の生成要求を受け付けた場合に、
前記他の機器が有する前記ソフトウェア部品が登録された登録情報を取得し、取得した前記登録情報に基づいて、自らが有する登録情報に、前記他の機器が有する前記ソフトウェア部品を登録することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記ソフトウェア部品が、
他の機器で実行されることが許可されているか否かを示す実行許可情報を有し、
前記情報生成手段は、
前記実行許可情報に基づいて、前記ソフトウェア部品を実行することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報生成手段は、
前記実行許可情報が、前記ソフトウェア部品の実行を許可しない設定となっていた場合に、
許可されなかった前記ソフトウェア部品に代えて、当該情報処理装置に導入された、同じ属性データを構築するソフトウェア部品を実行することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ソフトウェア部品が、
構築する前記属性データのバージョンを示すバージョン情報を有し、
前記ソフトウェア部品は、
前記属性データを構築するときに、前記バージョン情報を前記属性データに付与し、
前記生成された情報を利用する機能は、
前記属性データを利用するときに、前記バージョン情報を取得し、取得した前記バージョン情報に基づいて、利用可能な属性データか否かを判断することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記ソフトウェア部品が、
構築する前記属性データの仕様を示すデータ仕様情報を有し、
前記ソフトウェア部品は、
前記属性データを構築するときに、前記データ仕様情報を前記属性データに付与し、
前記生成された情報を利用する機能は、
前記属性データを利用するときに、前記データ仕様情報を取得し、取得した前記データ仕様情報に基づいて、利用可能な属性データか否かを判断することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ソフトウェア部品は、
前記実行許可情報を、設定後変更不可能な固定フィールドのデータ領域に有し、
前記バージョン情報や前記データ仕様情報を、設定後でも変更可能な可変フィールドのデータ領域に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
当該情報処理装置は、
前記他の機器との接続を切断するときに、
前記他の機器から取得し、前記記憶装置に保持している前記ソフトウェア部品を、記憶領域から削除することを特徴とする請求項２ないし８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記ソフトウェア部品は、
前記機能が利用する情報の属性データのうち、自らが構築可能な属性データのみを構築し、自らが削除可能な属性データのみを削除することを特徴とする請求項１ないし９のいずれか一項に記載の情報処理装置。
【請求項１１】
当該情報処理装置は、
前記機能から、最新の属性データにより構成される情報の参照が要求されると、
要求時に受け付けた前記最新の属性データの構成と、前記情報生成手段により生成された情報の属性データの構成とを比較し、比較結果に基づいて、前記生成された情報に不足している属性データを付与し、最新の情報に補正する情報補正手段を有することを特徴とする請求項１ないし１０のいずれか一項に記載の情報処理装置。
【請求項１２】
前記情報生成手段は、
前記ソフトウェア部品が前記プラグインに対応してインストールされた場合に、
自らが有する前記登録情報に、インストールされた前記ソフトウェア部品を登録することを特徴とする請求項１ないし１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記情報生成手段は、
生成が指示された情報を構成する属性データを構築する１つ以上の前記ソフトウェア部品を実行し、１つの情報を生成することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記情報生成手段が、
１つ以上の前記属性データをグループ化するカテゴリを定義したカテゴリ定義情報を有し、
前記情報生成手段は、
前記ソフトウェア部品を実行させて情報を生成するときに、
前記カテゴリ定義情報に基づいて、前記カテゴリを識別するカテゴリデータを、生成した情報に付与することを特徴とする請求項１ないし１３のいずれか一項に記載の情報処理装置。
【請求項１５】
前記情報生成手段は、
前記カテゴリデータを、生成した情報に付与するときに、
前記カテゴリ定義情報に定義された前記カテゴリデータと前記カテゴリに属する属性データとの関連付けに従って付与することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
当該情報処理装置が、
前記機能からの取得要求に従って、要求時に指定された属性データを取得する属性データ取得手段と、
前記属性データ取得手段により前記属性データを取得するときに、前記属性データへの操作権限を判断する操作権限判断手段とを有し、
前記操作権限判断手段は、
１つ以上の前記属性データをグループ化するカテゴリ単位で、前記属性データへの操作権限を判断することを特徴とする請求項１ないし１５のいずれか一項に記載の情報処理装置。
【請求項１７】
前記操作権限判断手段は、
前記カテゴリ単位で行った操作権限の判断結果を、当該情報処理装置が備える記憶装置の所定の記憶領域へ一時的に記憶し、
前記属性データ取得手段は、
前記所定の記憶領域に前記判断結果が記憶されているか否かを判定し、判定結果に基づいて、要求時に指定された属性データの操作権限の判断を、前記操作権限判断手段へ要求することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記属性データ取得手段は、
前記所定の記憶領域に前記判断結果が記憶されている場合に、
記憶されている前記判断結果に従って、要求時に指定された属性データの取得を行い、
前記所定の記憶領域に前記判断結果が記憶されていない場合に、
要求時に指定された属性データの操作権限の判断を、前記操作権限判断手段へ要求し、前記操作権限判断手段による判断結果に従って、前記属性データの取得を行うことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置における情報処理方法であって、
情報生成の要求に応じて、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手順と、
前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を基に、前記情報管理手順からの情報生成の指示に応じて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手順とを有することを特徴とする情報処理方法。
【請求項２０】
前記ソフトウェア部品が、
構築する前記属性データのバージョンを示すバージョン情報を有し、前記属性データを構築するときに、前記バージョン情報を前記属性データに付与し、
前記生成された情報を利用する機能は、
前記属性データを利用するときに、前記バージョン情報を取得し、取得した前記バージョン情報に基づいて、利用可能な属性データか否かを判断することを特徴とする請求項１９に記載の情報処理方法。
【請求項２１】
前記ソフトウェア部品が、
構築する前記属性データの仕様を示すデータ仕様情報を有し、前記属性データを構築するときに、前記データ仕様情報を前記属性データに付与し、
前記生成された情報を利用する機能は、
前記属性データを利用するときに、前記データ仕様情報を取得し、取得した前記データ仕様情報に基づいて、利用可能な属性データか否かを判断することを特徴とする請求項１９又は２０に記載の情報処理方法。
【請求項２２】
プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置の情報処理プログラムであって、
コンピュータに、
情報生成の要求に応じて、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手順と、
前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を基に、前記情報管理手順からの情報生成の指示に応じて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手順とを実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラグインのインストール／アンインストールにより機能拡張を行う情報処理装置に関し、特に、機能拡張に対応して追加／削除される情報を管理する技術に関するものである。
【背景技術】
【０００２】
近年、管理サーバや複合機（ＭＦＰ：Multifunction Peripheral）と言った、複数のユーザが共通して利用する機器（情報処理装置）では、それぞれの装置がユーザに所定のサービスを提供するために様々な種類の情報を管理・運用している。これらの情報は、１つ以上の属性データから構成されており、所定の意味をもつ単位でまとめられている。
【０００３】
ここで問題となるのが、機器内の各種情報を、どのようにして追加／削除するのかと言う点である。機器が有する機能の増減によって、有効な情報と無効な情報とが存在する。これらを、どのようにして効率よく処理するかは、機器の情報処理能力を大きく左右することとなる。
【０００４】
例えば、情報の追加を行う場合に、単純に属性データを追加対象となる各種情報に追加する方法では、対象となる全ての情報を更新しなければならないため、対象の情報が多ければ、機器の処理パフォーマンスが低下してしまう。また、情報の削除を行う場合に、単純に削除対象の属性データを削除してしまうと、一時的に利用していなかった場合や、重要な情報を含むデータであった場合など、ユーザの不利益に繋がる結果となる恐れがある。
【０００５】
そこで、特許文献１には、定義済みの属性を有効／無効にして、擬似的に属性の追加／削除を行う情報処理技術が提案されている。
【０００６】
確かに、上記特許文献１に開示されている情報処理技術では、属性の追加／削除を行う際に、ＨＤＤ（Hard Disk Drive）などの記憶装置へデータの書き込みや消去といった処理を行っていないことから、処理能力への影響を最小限に抑えられる構成となっており、更に、明示的に記憶装置からデータを削除していないことから、重要データなどの消失を防ぐことができる。しかし、上記情報処理技術の場合には、機器内で管理・運用する各種情報が、予め決まっていることが前提であり、ユーザが利用する可能性がある情報を、予め保有しておかなければならない。このことは、利用するか否か不確定な情報までも機器内で保有することとなり、情報を記憶し格納する領域（永続化領域）を無駄に使用することとなってしまう。
【０００７】
また、機器内に保有する情報を利用する場合に、必ずしも利用する側が要求する単位で情報が管理されているわけではない。このような場合には、機器内部において、ばらばらに管理されている属性データを１つの情報にまとめなければならない。
【０００８】
そこで、特許文献２には、情報参照の要求に応じて、参照対象の情報を構成する基本属性データに加えて付加的な（追加された）属性データを表示するときに、選択指示された項目の付加的な属性データを拡張する情報処理技術が提案されている。
【特許文献１】特開２００７−１２８３６５号公報
【特許文献２】特開２００４−０５８６５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１及び２に開示されているような従来の情報処理技術では、ユーザや各機能から共通して利用される機器内の情報の管理・運用について、十分に考慮されていない点がある。
【００１０】
上記のように共通して利用される機器では、柔軟に機能拡張が行える環境を提供しなければならない。機器の機能拡張は、主に、ソフトウェアベンダなどが開発した機能拡張を行うためのソフトウェア部品（以下、「プラグイン」という。）をインストール／アンインストールすることで行われる。
【００１１】
機器内で管理・運用する情報も、このようなプラグインに含まれており、プラグインが機器にインストールされることで、機器内部に導入される。
【００１２】
このようなことから、上記情報処理技術では、例えばサードベンダが提供するプラグインが機器にインストールされる場合、機器内にどのような情報（属性データ）が追加されるか想定できないため、情報の増減に柔軟に対応することができない。
【００１３】
よって、情報の増減を考慮して、属性データを動的に増減可能な構成とする必要がある。
【００１４】
また、機器内で取り扱う各種情報に対して属性データを追加／削除するためには、機器内で、これらの処理を行うソフトウェア部品が存在する。
【００１５】
このことから、属性データの追加／削除などのデータ操作に関する処理を行うソフトウェア部品を変更しなければならない。
【００１６】
本発明では、上記従来技術の問題点に鑑み、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応することができる情報処理装置、情報処理方法、及び機能拡張プログラム（プラグイン）を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明に係る情報処理装置は、プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置であって、前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を有し、前記登録情報に基づいて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手段と、情報生成の要求に応じて、前記情報生成手段に、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手段とを有することを特徴とする。
【００１８】
このような構成によって、本発明に係る情報処理装置は、属性データの追加／削除／変更などのデータ操作を行う属性構築部（属性構築モジュール）が、機能拡張を行うプラグインのインストール／アンインストールに対応して、機器内部に追加／削除される構成となっており、情報生成部によって制御用データであるインストール時に登録された構築部リストを基に、インストールされた属性構築部の中から、指示された属性データのデータ操作を行う上記属性構築部を特定する。その結果、特定された属性構築部により属性データのデータ操作を行う。更に、このデータ操作では、ＨＤＤなどの永続領域にアクセスし直接データ操作を行うのではなく、まずデータ操作対象の情報をメモリ上に生成し、生成した情報に対して要求されたデータ操作を行い、擬似的に属性データを追加／削除／変更する。
【００１９】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、前記情報管理手段から他の機器が保有する情報の生成要求を受け付けた場合に、前記他の機器が有する前記ソフトウェア部品が登録された登録情報を取得し、取得した前記登録情報に基づいて、前記他の機器が有する前記ソフトウェア部品を実行することを特徴とする。
【００２０】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、前記情報管理手段から他の機器が保有する情報の生成要求を受け付けた場合に、前記他の機器が有する前記ソフトウェア部品が登録された登録情報を取得し、取得した前記登録情報に基づいて、自らが有する登録情報に、前記他の機器が有する前記ソフトウェア部品を登録することを特徴とする。
【００２１】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記ソフトウェア部品が、他の機器で実行されることが許可されているか否かを示す実行許可情報を有し、前記情報生成手段において、前記実行許可情報に基づいて、前記ソフトウェア部品を実行することを特徴とする。
【００２２】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、前記実行許可情報が、前記ソフトウェア部品の実行を許可しない設定となっていた場合に、許可されなかった前記ソフトウェア部品に代えて、当該情報処理装置に導入された、同じ属性データを構築するソフトウェア部品を実行することを特徴とする。
【００２３】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記ソフトウェア部品が、構築する前記属性データのバージョンを示すバージョン情報を有し、前記ソフトウェア部品において、前記属性データを構築するときに、前記バージョン情報を前記属性データに付与し、前記生成された情報を利用する機能において、前記属性データを利用するときに、前記バージョン情報を取得し、取得した前記バージョン情報に基づいて、利用可能な属性データか否かを判断することを特徴とする。
【００２４】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記ソフトウェア部品が、構築する前記属性データの仕様を示すデータ仕様情報を有し、前記ソフトウェア部品において、前記属性データを構築するときに、前記データ仕様情報を前記属性データに付与し、前記生成された情報を利用する機能において、前記属性データを利用するときに、前記データ仕様情報を取得し、取得した前記データ仕様情報に基づいて、利用可能な属性データか否かを判断することを特徴とする。
【００２５】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記ソフトウェア部品が、前記    実行許可情報を、設定後変更不可能な固定フィールドのデータ領域に有し、前記バージョン情報や前記データ仕様情報を、設定後でも変更可能な可変フィールドのデータ領域に有することを特徴とする。
【００２６】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記他の機器との接続を切断するときに、前記他の機器から取得し、前記記憶装置に保持している前記ソフトウェア部品を、記憶領域から削除することを特徴とする。
【００２７】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記ソフトウェア部品が、前記機能が利用する情報の属性データのうち、自らが構築可能な属性データのみを構築し、自らが削除可能な属性データのみを削除することを特徴とする。
【００２８】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記機能から、最新の属性データから構成される情報の参照が要求されると、要求時に受け付けた前記最新の属性データの構成と、前記情報生成手段により生成された情報の属性データの構成とを比較し、比較結果に基づいて、前記生成された情報に不足している属性データを付与し、最新の情報に補正する情報補正手段を有することを特徴とする。
【００２９】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、前記ソフトウェア部品が前記プラグインに対応してインストールされた場合に、自らが有する前記登録情報に、インストールされた前記ソフトウェア部品を登録することを特徴とする。
【００３０】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、生成が指示された情報を構成する属性データを構築する１つ以上の前記ソフトウェア部品を実行し、１つの情報を生成することを特徴とする。
【００３１】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、１つ以上の前記属性データをグループ化するカテゴリを定義したカテゴリ定義情報を有し、前記情報生成手段は、前記ソフトウェア部品を実行させて情報を生成するときに、前記カテゴリ定義情報に基づいて、前記カテゴリを識別するカテゴリデータを、生成した情報に付与することを特徴とする。
【００３２】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記情報生成手段が、前記カテゴリデータを、生成した情報に付与するときに、前記カテゴリ定義情報に定義された前記カテゴリデータと前記カテゴリに属する属性データとの関連付けに従って付与することを特徴とする。
【００３３】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記機能からの取得要求に従って、要求時に指定された属性データを取得する属性データ取得手段と、前記属性データ取得手段により前記属性データを取得するときに、前記属性データへの操作権限を判断する操作権限判断手段とを有し、前記操作権限判断手段は、１つ以上の前記属性データをグループ化するカテゴリ単位で、前記属性データへの操作権限を判断することを特徴とする。
【００３４】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記操作権限判断手段が、前記カテゴリ単位で行った操作権限の判断結果を、当該情報処理装置が備える記憶装置の所定の記憶領域へ一時的に記憶し、前記属性データ取得手段が、前記所定の記憶領域に前記判断結果が記憶されているか否かを判定し、判定結果に基づいて、要求時に指定された属性データの操作権限の判断を、前記操作権限判断手段へ要求することを特徴とする。
【００３５】
また、上記目的を達成するため、本発明に係る情報処理装置は、前記属性データ取得手段が、前記所定の記憶領域に前記判断結果が記憶されている場合に、記憶されている前記判断結果に従って、要求時に指定された属性データの取得を行い、前記所定の記憶領域に前記判断結果が記憶されていない場合に、要求時に指定された属性データの操作権限の判断を、前記操作権限判断手段へ要求し、前記操作権限判断手段による判断結果に従って、前記属性データの取得を行うことを特徴とする。
【００３６】
これによって、本発明に係る情報処理装置は、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応することができる。
【００３７】
上記目的を達成するため、本発明に係る情報処理方法は、プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置における情報処理方法であって、情報生成の要求に応じて、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手順と、前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を基に、前記情報管理手順からの情報生成の指示に応じて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手順とを有することを特徴とする。
【００３８】
このような手順によって、本発明に係る情報処理方法は、属性データの追加／削除／変更などのデータ操作を行う属性構築部（属性構築モジュール）が、機能拡張を行うプラグインのインストール／アンインストールに対応して、機器内部に追加／削除され、情報生成部によって制御用データであるインストール時に登録された構築部リストを基に、インストールされた属性構築部の中から、指示された属性データのデータ操作を行う上記属性構築部を特定する。その結果、特定された属性構築部により属性データのデータ操作を行う。更に、このデータ操作では、ＨＤＤなどの永続領域にアクセスし直接データ操作を行うのではなく、まずデータ操作対象の情報をメモリ上に生成し、生成した情報に対して要求されたデータ操作を行い、擬似的に属性データを追加／削除／変更する。
【００３９】
また、上記目的を達成するため、本発明に係る情報処理方法は、前記ソフトウェア部品が、構築する前記属性データのバージョンを示すバージョン情報を有し、前記属性データを構築するときに、前記バージョン情報を前記属性データに付与し、前記生成された情報を利用する機能において、前記属性データを利用するときに、前記バージョン情報を取得し、取得した前記バージョン情報に基づいて、利用可能な属性データか否かを判断することを特徴とする。
【００４０】
また、上記目的を達成するため、本発明に係る情報処理方法は、前記ソフトウェア部品が、構築する前記属性データの仕様を示すデータ仕様情報を有し、前記属性データを構築するときに、前記データ仕様情報を前記属性データに付与し、前記生成された情報を利用する機能において、前記属性データを利用するときに、前記データ仕様情報を取得し、取得した前記データ仕様情報に基づいて、利用可能な属性データか否かを判断することを特徴とする。
【００４１】
これによって、本発明に係る情報処理方法は、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応することができる。
【００４２】
上記目的を達成するため、本発明に係る情報処理プログラムは、プラグインによって、当該情報処理装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される前記機能が利用する情報を所定の記憶領域に格納する記憶装置を有する情報処理装置の情報処理プログラムであって、コンピュータに、
情報生成の要求に応じて、要求時に指定された前記機能が利用する情報の生成を指示する情報管理手順と、
前記機能が利用する情報の属性データを構築／削除するソフトウェア部品が前記プラグインに対応して当該情報処理装置にインストールされ登録された登録情報を基に、前記情報管理手順からの情報生成の指示に応じて、情報生成時に使用するソフトウェア部品を特定し、特定された前記ソフトウェア部品を実行し、前記機能が利用する情報を生成する情報生成手順とを実行させることを特徴とする。
【００４３】
これによって、本発明に係る情報処理装置は、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応することができる。
【発明の効果】
【００４４】
本発明によれば、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応可能な情報処理装置、情報処理方法、及び機能拡張プログラムを提供することができる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００４６】
［第１の実施形態］
＜ハードウェア構成＞
では、ユーザが共通して利用する機器のハードウェア構成について、図１を用いて説明する。図１は、複合機１００のハードウェア構成の一例を示す図である。
【００４７】
本実施形態に係る複合機１００は、操作パネル１１と、外部記憶装置Ｉ／Ｆ１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、ＨＤＤ１１０と、スキャナ１５と、プロッタ１６とから構成され、それぞれバスで相互に接続されている。
【００４８】
操作パネル１１は、入力装置１０１と表示装置１０２とを有しており、入力装置１０１は、ハードウェアキーなどで構成され、複合機１００に各操作信号を入力するのに用いられる。また、表示装置１０２は、ディスプレイなどで構成され、例えば動作条件などの画像処理動作に関する各種情報を表示する。
【００４９】
データ通信Ｉ／Ｆ１４は、インタフェース装置１０９を有しており、複合機１００を、有線及び／又は無線回線により構築されたＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）などのネットワーク（データ通信網）などのデータ伝送路（非図示）に接続するインタフェースである。
【００５０】
ＨＤＤ１１０は、複合機１００で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、ＨＤＤ１１０は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００５１】
記録媒体Ｉ／Ｆ１２は、ドライブ装置１０３を有しており、例えばフラッシュメモリなどの記録媒体１０４を、複合機１００に接続するためのインタフェースである。この記録媒体Ｉ／Ｆ１２によって、複合機１００と記録媒体１０４との間でデータのやり取りを行うことが可能となる。例えば、記録媒体１０４は、機能拡張プログラムであるプラグインなどを当該複合機１００にインストールするときに利用する。
【００５２】
コントローラ１３は、ＲＯＭ（Read Only Memory）１０５と、ＲＡＭ（Random Access Memory）１０６と、ＮＶ−ＲＡＭ（Non Volatile RAM）１０７と、ＣＰＵ（Central Processing Unit）１０８とを有しており、ＲＯＭ１０５は、複合機１００が起動されるときに実行されるプログラム（ＯＳ：Operating Systemの役割をするプログラム）や各種データ、また複合機１００が有する各種機能を実現するプログラム（アプリケーションプログラム）や各種データを格納している。また、ＲＡＭ１０６は、ＲＯＭ１０５やＨＤＤ１１０から読み出された各種プログラムやデータを一時保持する。ＮＶ−ＲＡＭ１０７は、画像処理動作を制御するための初期設定値（画像処理制御に関する初期設定値）などの複合機１００に関する設定データを格納している。更に、ＣＰＵ１０８は、ＲＡＭ１０６が一時保持しているプログラムを実行する。コントローラ１３は、上記構成により、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１０５からＲＡＭ１０６上に読み出されたＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１０８により実行し、印刷データを解釈してビットマップイメージを生成する。
【００５３】
スキャナ１５は、画像読取装置１１１を有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１６は、印刷装置１１２を有しており、例えば、電子写真方式によって、コントローラ１３から転送されたビットマップイメージを記録紙（印刷用紙）に印刷する。ここでは、画像形成方式の一例として電子写真方式による例を示ししたが、この内容に本発明が限定されるものではない。例えば、インクジェット方式であってもよい。
【００５４】
このように、本実施形態に係る複合機１００では、コントローラ１３のＲＡＭ１０６に読み出された所定のプログラムがＣＰＵ１０８で実行され、当該複合機１００が備える各インタフェースから入力されたデータに対して要求された画像処理を行う。
【００５５】
＜情報処理機能＞
上記複合機１００では、ユーザに所定のサービスを提供するために様々な種類の情報を管理・運用している。以降に、上記複合機１００で実行される、機器内で取り扱う情報の属性データを動的に増減可能なデータ管理・運用の情報処理機能について説明を行う。また、以降の説明では、複合機１００の情報処理機能について説明することから、複合機１００を情報処理装置１００に代えて説明する。
【００５６】
＜＜情報処理機能を実現する機能構成＞＞
図２は、本発明の第１の実施形態に係る情報処理機能の機能構成の一例を示す図である。本実施形態に係る情報処理装置１００は、主な情報処理機能として、ビュー（情報提供部）２１と、情報管理部２２とを有し、情報を利用するユーザ（操作パネル１１の表示画面）や各機能（当該情報処理装置１００で動作する各アプリケーション）Ｕへ、機器内に保有する各種情報の永続データＤ（情報を構成する属性データの実値）を提供する構成となっている。
【００５７】
ビュー２１は、情報を利用するユーザや各機能からの情報取得要求などを受け付けて、情報管理部２２を介して、要求元に必要な情報のみを提供する機能である。また、ビューザ２１は、情報更新要求などを受け付けると、情報管理部２２へ情報の更新を指示する。更に、ビュー２１は、情報を利用するユーザや各機能からデータ操作要求された情報と、情報管理部２２から取得した既存情報との属性構成の違いを判断する。
【００５８】
情報管理部２２は、ビュー２１から情報取得要求を受け付けて、指定された情報を基に、機器が有する不揮発性の記憶装置であるＨＤＤ１１０などの所定の記憶領域（以下、「永続領域」という。）へアクセスし、取得した永続データＤをビュー２１に渡す機能である。また、情報管理部２２は、ビュー２１から情報更新要求を受け付けると、永続領域へアクセスし、永続データＤを更新する。更に、情報管理部２２は、ビュー２１からの指示に応じて、最新情報を構成する各属性データを格納可能な記憶領域をメモリ（ＲＡＭ１０６）上に確保し、最新情報の属性構築を行う。
【００５９】
上記各機能部は、それぞれがソフトウェア部品であり、情報処理装置１００が有するＲＯＭ１０５に格納されており、ＲＡＭ１０６上に読み出されＣＰＵ１０８で実行され、上記機能を実現する。
【００６０】
＜＜属性データの操作例＞＞
本実施形態に係る情報処理装置１００は、前述した機能構成により、以下に示すようなデータ操作を行う。本実施形態では、プラグインのインストール／アンインストールによって機能追加／削除された場合に、その機能変更に対応して永続データを更新せず、基本的に永続データを保護する。
【００６１】
（属性データの追加）
図３は、本発明の第１の実施形態に係る属性データの追加操作の一例を示す図である。図３（Ａ）には、ユーザ情報の永続データＤに、新たに「ＦＡＸ番号」という属性データが追加された例が示されている。図に示すように、「ＦＡＸ番号」の属性データが追加されたタイミングでは、もともと永続化されている２人のユーザ情報（図中のＩＤが"ｕｓｒ００１"と"ｕｓｒ００２"に関するデータ領域）に変化はない。
【００６２】
しかし、図３（Ｂ）に示すように、新規ユーザの情報（図中のＩＤが"ｕｓｒ００３"に関するデータ領域）には、登録時に「ＦＡＸ番号」の属性を設定することが可能であることから、新規ユーザ情報を登録する時点で、「ＦＡＸ番号」の属性データが反映される。
【００６３】
更に、図３（Ｃ）に示すように、既に登録されたユーザの情報（図中のＩＤが"ｕｓｒ００１"に関するデータ領域）を更新すると、登録済みのユーザに対して「ＦＡＸ番号」の属性を設定することが可能であることから、この時点で「ＦＡＸ番号」の属性データが反映される。また、たとえ明示的に追加対象の属性データが設定されなくても、デフォルト値を設定し、データの整合をとる。
【００６４】
このように、本実施形態に係る情報処理装置１００では、機器内で取り扱う情報に、新たな属性データが追加されても、その直後に永続データＤへ反映しない。実際に永続データに新しい属性データの追加を反映するタイミングは、例えば情報を利用するユーザや各機能Ｕ（以下、便宜上、情報を利用するユーザや各機能を「情報を利用する機能」に統一して表現する。）が情報を更新するなど、永続データＤの変更を行うタイミングに、自動的にデータの整合をとっている。
【００６５】
（属性データの削除）
図４は、本発明の第１の実施形態に係る属性データの削除操作の一例を示す図である。図４（Ａ）には、ユーザ情報の永続データＤから、「性別」という属性データが削除された例が示されている。図中の斜線箇所に示すように、削除対象の属性データは、あたかもそのデータがないように取り扱われるだけで、実際には機器内から消去されたわけではなく存在している。
【００６６】
また、図４（Ｂ）に示すように、新規ユーザの情報（図中のＩＤが"ｕｓｒ００３"に関するデータ領域）には、登録時に「性別」の属性を設定することが不可能であることから、新規ユーザ情報を登録する時点で、「性別」の属性データが生成されることはない。
【００６７】
更に、図４（Ｃ）に示すように、既に登録されたユーザの情報（図中のＩＤが"ｕｓｒ００１"に関するデータ領域）を更新すると、登録済みのユーザに対して「性別」の属性を削除することは不可能であることから、「性別」の属性データが残存することとなる。このような場合、例えばＩＤが"ｕｓｒ００１"で登録されたユーザの性別が"Ｍ（男性）"でなく"Ｗ（女性）"となった場合など、データの整合が取れなくなってしまうことから、既に登録された情報を更新するときに明示的に削除指示を行えるようにしておき、削除要求を受け付けると、該当するデータ領域の中の削除対象の属性データを削除する。
【００６８】
このように、本実施形態に係る情報処理装置１００では、属性データの追加の場合と同様に、機器内で取り扱う情報から属性データが削除されても、その直後に永続データＤへ反映しない。実際に永続データに属性データの削除を反映するタイミングは、データ保護の観点から、例えば情報を利用する機能Ｕが情報を参照・更新するなど、永続データＤにアクセスを行うタイミングにおいて削除指示されたときに、データの整合をとっている。
【００６９】
＜＜既存情報（永続データ）の操作例＞＞
以下に、本実施形態に係る情報処理装置１００が、上記データ操作を、どのような処理手順によって行っているかについて、より具体的に説明する。
【００７０】
（既存情報の参照）
図５は、本発明の第１の実施形態に係る既存情報を参照する処理手順の一例を示す図である。
【００７１】
情報処理装置１００は、情報を利用する機能Ｕから新たな属性が追加されたユーザ情報の参照を要求されると、その要求をビュー２１で受け付ける（ステップＳ１０１）。
【００７２】
ビュー２１は、要求に応じてユーザ情報の取得を、情報管理部２２へ要求する（ステップＳ１０２）。
【００７３】
情報管理部２２は、機器内に保有する永続データＤへアクセスし（ステップＳ１０３）、現在登録されているユーザ情報を取得し（ステップＳ１０４）、取得要求元のビュー２１へ渡す（ステップＳ１０５）。
【００７４】
ビュー２１は、情報管理部２２から受け取ったユーザ情報を構成する各属性データと、参照が要求されたユーザ情報を構成する各属性データとの違いを判断する（ステップＳ１０６）。その結果、属性構成が異なる場合には（ステップＳ１０６がＹＥＳの場合には）、新規ユーザ情報の生成を、情報管理部２２へ要求する（ステップＳ１０７）。これによって、情報管理部２２は、メモリ上に、最新のユーザ情報を構成する各属性データ（既存の属性データと追加された新たな属性データと）を格納可能な記憶領域を確保し、確保した記憶領域へのポインタをビュー２１へ渡す。
【００７５】
ビュー２１は、情報管理部２２から受け取った記憶領域へのポインタを基に、ステップＳ１０５で取得した既存のユーザ情報を構成する各属性データの値を格納し（ステップＳ１０８：既存の属性値の反映）、新たに追加された属性データ（不足分の属性データ）の値については、デフォルト値を格納する（ステップＳ１０９：不足分の属性値の追加）。
【００７６】
その結果、ビュー２１は、メモリ上に生成したユーザ情報を、新たな属性が追加されたユーザ情報として、情報の参照を要求した機能Ｕへ渡す（ステップＳ１１０）。
【００７７】
このように、本実施形態に係る情報処理装置１００では、機器内で取り扱う情報に、新たな属性データが追加されても、その直後に永続データＤへ反映せず、メモリ上でデータの整合を行い、情報の要求元へ渡すようにしている。
【００７８】
（既存情報の更新）
図６は、本発明の第１の実施形態に係る既存情報を更新する処理手順の一例を示す図である。
【００７９】
情報処理装置１００は、図５に示すような処理手順によって、ユーザ情報を利用する機能Ｕへ提供し、その後、提供したユーザ情報が変更されると（ステップＳ２０１）、ユーザ情報の更新要求を、再びビュー２１で受け取る（ステップＳ２０２）。
【００８０】
ビュー２１は、要求に応じて新規ユーザ情報の生成を、情報管理部２２へ要求する（ステップＳ２０３）。
【００８１】
情報管理部２２は、メモリ上に、最新のユーザ情報を構成する各属性データを格納可能な記憶領域を確保し（ステップＳ２０４：ユーザ情報の構築）、確保した記憶領域へのポインタをビュー２１へ渡す（ステップＳ２０５）。
【００８２】
ビュー２１は、情報管理部２２から受け取った記憶領域へのポインタを基に、ステップＳ２０２で取得した変更後のユーザ情報を構成する各属性データの値を格納し（ステップＳ２０６：変更内容を反映）、メモリ上に生成した変更後のユーザ情報を、再び、情報管理部２２へ渡し、永続領域のユーザ情報の更新を指示する（ステップＳ２０７）。
【００８３】
その結果、情報管理部２２は、ユーザ情報の更新指示に応じて、機器内に保有する永続データＤへアクセスし、現在登録されているユーザ情報の永続データＤを、受け取ったユーザ情報のデータへ更新する（ステップＳ２０８）。
【００８４】
このように、本実施形態に係る情報処理装置１００では、変更された情報の内容をメモリ上で実データへ反映し、その後変更後の情報として該当する情報の永続領域を更新するようにしている。
【００８５】
これによって、情報処理装置１００は、データ操作（参照・更新）の対象外のデータに対して、属性データが追加されることがないため、不必要に記憶装置のハードウェアリソースを消費することがない。また、情報全てに対して属性データを追加することもないため、データ操作のパフォーマンス（データ操作にかかる処理時間）を低下させることがない（高速処理が可能になる）。
【００８６】
（既存情報の削除）
既存情報の削除については、参照・更新のように図を用いて説明を行わないが、例えばユーザ情報を利用する機能Ｕからビュー２１が、所定の属性データの削除要求を受け付けると、実際に削除対象の属性データを削除せず、要求後のユーザ情報参照のときに削除対象の属性データを含まない情報が提供されるだけである。すなわち、属性データの削除は、参照・更新と同様に、データ操作（削除）の対象となっているデータに初めてアクセスされたときに行われる。
【００８７】
これによって、情報処理装置１００は、情報を利用する機能が取り外された場合や一時停止している場合など、属性データを一時的に使用していない状態であっても、永続データＤが存在していることから、重要データの損失などが発生しない。
【００８８】
＜＜属性データを操作（生成／追加／削除）する仕組み＞＞
ここからは、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応するための仕組みについて説明する。
【００８９】
（情報管理部）
図７は、本発明の第１の実施形態に係る情報管理部２２が管理するソフトウェア部品の一例を示す図である。
【００９０】
本実施形態に係る情報処理装置１００では、情報管理部２２がビュー２１からの生成指示に応じて、最新情報の属性構成をメモリ上に生成する。
【００９１】
情報管理部２２は、図７に示すような各ソフトウェア部品を管理する構成となっており、情報生成部３１が機器内で取り扱う情報を追加し、属性構築部３２が情報を構成する属性データを追加する。情報管理部２２は、これらのソフトウェア部品を制御することで、柔軟に情報を生成することを実現している。
【００９２】
上記各機能部は、それぞれがソフトウェア部品であり、情報処理装置１００が有するＲＯＭ１０５に格納されており、ＲＡＭ１０６上に読み出されＣＰＵ１０８で実行され、上記機能を実現する。
【００９３】
情報管理部２２と各ソフトウェア部品との関係は、情報管理部２２が機器内部に組み込まれ一意のソフトウェア部品であるのに対して、情報生成部３１と属性構築部３２は、機器に対して拡張可能な単位で取り外しできるそれぞれ１つ以上のソフトウェア部品である。
【００９４】
よって、情報生成部３１と属性構築部３２とは、例えば機能拡張を行うためのプラグイン３０などに含まれ、機器にプラグイン３０がインストールされたときに、同時にインストールされる。アンインストールについても同様である。
【００９５】
このように、本実施形態に係る情報処理装置１００では、機能拡張に対応して情報の属性データを生成／追加／削除を行う各ソフトウェア部品（情報生成部３１と属性構築部３２）を、機器内部に保持しない構成としており、情報の属性データの増減に対応するために、機器内部のソフトウェア部品を変更することがないようにしている。更に、情報処理装置１００では、必要に応じてプラグイン３０などのインストール／アンインストールにより導入される情報生成部３１と属性構築部３２とを、情報管理部２２によって一括管理・制御する構成としており、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応している。
【００９６】
（各機能部が有するデータ）
図８は、本発明の第１の実施形態に係るソフトウェア部品が有する各データ構成の一例を示す図である。
【００９７】
前述したように、情報生成部３１と属性構築部３２とは、機器に対して拡張可能な単位で取り外しできることから、機器内部において複数個動作していることが考えられる。そのため、情報管理部２２は、ビュー２１からの情報生成指示に応じて、生成する情報名を基に、複数動作する情報生成部３１の中から、指定された情報を生成する情報生成部３１を特定し、特定した情報生成部３１へ生成を指示する。情報生成部３１も情報管理部２２と同様に、複数動作する属性構築部３２の中から、指定された属性を構築する属性構築部３２を特定し、特定した属性構築部３２へ構築を指示する。その結果、属性構築部３２は、情報を構成する属性データを構築する。
【００９８】
このような動作により、機器内で取り扱う情報の属性データの追加／削除／更新を行う。
【００９９】
上記各機能部が連携動作を行うためには、それぞれのソフトウェア部品が自身を動作制御するための各種制御用データを有していなければならない。図８には、各機能部が有している制御用データの例が示されている。
【０１００】
以下に、その特徴を簡単に説明する。図８（Ａ）には、プラグイン３０が有する制御用データの例が示されている。プラグイン３０が有する制御用データの中には、機能拡張の際に、追加される情報のデータ（図中の「ユーザ情報」）と、追加する属性データを構築する属性構築部３２のモジュール（図中の「ＦＡＸ属性構築部」）とが含まれている。
【０１０１】
また、図８（Ｂ）には、情報管理部２２が有する制御用データの例が示されている。情報管理部２２が有する制御用データには、機器内で管理・運用する情報のデータ（図中の「ユーザ情報」や「書誌情報」）と、これらの情報を生成する各情報生成部３１へのリンク先を示すデータ（図中の「ユーザ情報生成部」や「書誌情報生成部」などの生成部リスト）とが含まれている。
【０１０２】
図８（Ｃ）には、情報生成部３１が有する制御用データの例が示されている。情報生成部３１が有する制御用データには、生成する情報のデータ（図中の「ユーザ情報」）と、この情報を構成する属性データを構築する各属性構築部３２へのリンク先を示すデータ（図中の「基本属性構築部」、「認証属性構築部」、及び「ＦＡＸ属性構築部」などの構築部リスト）とが含まれている。
【０１０３】
また、図８（Ｄ）には、属性構築部３２が有する制御用データの例が示されている。属性構築部３２が有する制御用データには、構築する属性のデータ（図中の「ＦＡＸ属性」）と、属性の値に関するデータ（図中の「ＦＡＸ番号」）とが含まれており、更に、属性の値に関するデータには、デフォルト値や構築ルールの各データ（図中の「デフォルト値：―」や「文字数制限：１３」）も含まれる。
【０１０４】
このような各制御用データを参照し、前述した各機能部の動作が実現できる。
【０１０５】
＜＜制御用データの更新＞＞
情報管理部２２や情報生成部３１それぞれが有する制御用データは、機器内のソフトウェア構成の変化（機能拡張によるソフトウェア部品の増減）に応じて更新する必要がある。以下に、プラグイン３０のインストール／アンインストールに対応した各機能部が有する制御用データの更新について、情報生成部３１が有する構築部リストの更新処理を例に説明する。
【０１０６】
（プラグインインストール時：属性構築部追加時）
図９は、本発明の第１の実施形態に係る属性構築部３２を追加する処理手順（インストール手順）の一例を示す図である。
【０１０７】
情報処理装置１００は、プラグイン３０がインストールされると（ステップＳ３０１）、インストールされたプラグイン３０から、プラグイン３０が有する制御用データを基にして、追加される情報のデータ（以下、「依存情報名」という。）と、属性構築部３２のモジュール（以下、「属性構築モジュール」という。）と、その属性構築部３２のモジュール名（以下、「属性構築名」という。）とがパラメータとして設定された関数を呼び（コールし）、情報管理部２２へ属性追加を指示する（ステップＳ３０２）。
【０１０８】
情報管理部２２は、既存情報名をキーに、制御用データの生成部リストを参照し、指定された情報を生成する情報生成部３１を検索し（ステップＳ３０３）、属性構築モジュールと、属性構築名とがパラメータとして設定された関数を呼び、特定された情報生成部３１へ属性追加を指示する（ステップＳ３０４）。
【０１０９】
その結果、情報生成部３１は、属性構築名を、制御用データの構築部リストに追加し（ステップＳ３０５）、属性構築モジュールは所定の記憶領域に保持される。
【０１１０】
（プラグインアンインストール時：属性構築部削除時）
図１０は、本発明の第１の実施形態に係る属性構築部３２を削除する処理手順（アンインストール手順）の一例を示す図である。
【０１１１】
情報処理装置１００は、プラグイン３０のアンインストールが指示されると（ステップＳ４０１）、アンインストールされるプラグイン３０から、プラグイン３０が有する制御用データを基にして、削除される依存情報名と、属性構築モジュールと、属性構築名とがパラメータとして設定された関数を呼び、情報管理部２２へ属性削除を指示する（ステップＳ４０２）。
【０１１２】
情報管理部２２は、既存情報名をキーに、制御用データの生成部リストを参照し、指定された情報を生成する情報生成部３１を検索し（ステップＳ４０３）、属性構築モジュールと、属性構築名とがパラメータとして設定された関数を呼び、特定された情報生成部３１へ属性削除を指示する（ステップＳ４０４）。
【０１１３】
その結果、情報生成部３１は、属性構築名を、制御用データの構築部リストから削除し（ステップＳ４０５）、属性構築モジュールは所定の記憶領域から削除される。
【０１１４】
＜＜ユーザ情報の属性データを操作する仕組み＞＞
ここからは、機器内で取り扱うユーザ情報を例に、属性データを操作する上記機能構成と、各機能部による属性データの操作について説明する。
【０１１５】
（ユーザ情報のデータ操作機能構成）
図１１は、本発明の第１の実施形態に係るユーザ情報を生成するソフトウェア構成の一例を示す図である。図１１に示すように、機器内で取り扱うユーザ情報は、ユーザ情報生成部３１ｕにより生成される。ユーザ情報生成部３１ｕが有する制御用データの構築部リストには、ユーザ情報の基本となる属性データを構築する基本属性構築部３２ａと、認証機能の拡張により追加された属性データを構築する認証属性構築部３２ｂと、ＦＡＸ機能の拡張により追加された属性データを構築するＦＡＸ属性構築部３２ｃとが登録されている。このように、情報処理装置１００では、これらのユーザ情報に関する各機能部を、情報管理部２２が制御用データを基に制御するソフトウェア構成となっている。
【０１１６】
（ユーザ情報のデータ操作）
図１２は、本発明の第１の実施形態に係るユーザ情報に属性データを追加する処理手順の一例を示す図である。図１２に示す処理手順は、図５に示した情報管理部２２で行う処理手順をより具体的に説明するものである。
【０１１７】
情報管理部２２は、最新のユーザ情報の構築を要求されると（ステップＳ５０１）、制御用データを基に、機器内で動作する各情報生成部３１の中から、ユーザ情報生成部３１ｕを特定し、ユーザ情報生成部３１ｕへユーザ情報の生成を指示する（ステップＳ５０２）。
【０１１８】
ユーザ情報生成部３１ｕは、最新のユーザ情報が格納可能な所定の記憶領域をメモリ上に確保し、属性なしのユーザ情報を生成する（ステップＳ５０３）。
【０１１９】
ユーザ情報生成部３１ｕは、生成された属性なしのユーザ情報をパラメータとして設定した関数を呼び、制御用データの構築部リストに登録された順に従って、まず、基本属性構築部３２ａへ属性追加を指示する（ステップＳ５０４）。
【０１２０】
基本属性構築部３２ａは、属性なしのユーザ情報に基本属性のデータを格納し、基本属性追加済みのユーザ情報を、ユーザ情報生成部３１ｕへ渡す（ステップＳ５０５）。
【０１２１】
ユーザ情報生成部３１ｕは、次に、基本属性追加済みのユーザ情報をパラメータとして設定した関数を呼び、制御用データの構築部リストに登録された順に従って、認証属性構築部３２ｂへ属性追加を指示する（ステップＳ５０６）。
【０１２２】
認証属性構築部３２ｂは、基本属性追加済みのユーザ情報に認証属性のデータを格納し、認証属性追加済みのユーザ情報を、ユーザ情報生成部３１ｕへ渡す（ステップＳ５０７）。
【０１２３】
ユーザ情報生成部３１ｕは、最後に、認証属性追加済みのユーザ情報をパラメータとして設定した関数を呼び、制御用データの構築部リストに登録された順に従って、ＦＡＸ属性構築部３２ｃへ属性追加を指示する（ステップＳ５０８）。
【０１２４】
ＦＡＸ属性構築部３２ｃは、認証属性追加済みのユーザ情報に認証属性のデータを格納し、ＦＡＸ属性追加済みのユーザ情報を、ユーザ情報生成部３１ｕへ渡す（ステップＳ５０９）。
【０１２５】
その結果、ユーザ情報生成部３１ｕは、メモリ上に完成した最新のユーザ情報を、生成を指示した情報管理部２２へ渡し（ステップＳ５１０）、情報管理部２２からユーザ情報を利用する機能Ｕへ提供される（ステップＳ５１１）。
【０１２６】
（データ操作時の処理段階における属性構成の状態遷移）
図１３は、本発明の第１の実施形態に係るユーザ情報４１ｕに属性データ４２が追加された場合の動作例を示す図である。では、図１２を用いて前述した処理手順によって、ユーザ情報４１ｕへ新規属性データ４２が追加される場合の属性構成の遷移について、対応する処理手順とともに説明する。
【０１２７】
図１３に示すように、ステップＳ５０３が実行されたときには、メモリ上に所定の記憶領域が確保され属性なしのユーザ情報４１ｕが生成されている。次に、ステップＳ５０５が実行されたときには、メモリ上に生成されたユーザ情報４１ｕに、ＩＤ、ユーザ名、及び性別の各属性データ４２ａが追加され、この時点でユーザ情報４１ｕを構成する属性データ４２が始めて付与される。更に、ステップＳ５０７が実行されたときには、基本属性が追加されたユーザ情報４１ｕに、パスワードの属性データ４２ｂが追加され、ステップＳ５０９が実行されたときには、認証属性が追加されたユーザ情報４１ｕに、ＦＡＸ番号の属性データ４２ｃが追加される。
【０１２８】
このように、本実施形態に係る情報処理装置１００では、情報生成部３１によって情報を構成する各属性データ４２の格納先である空箱をメモリ上に生成し、各属性構築部３２に対して、空箱の中にデータを格納するように指示することで、リレー方式で新たな属性データ４２が追加される仕組みとなっている。また、これまでに説明を行ってきた属性データ４２の追加と同様に、削除の場合もリレー方式により各属性データ４２を削除する。これによって、情報処理装置１００は、理論上無限個の属性データ４２を管理・運用することができる。また、各属性データ４２を構築する属性構築部３２が、互いに依存関係がなく、それぞれ独立したソフトウェア部品であることから、他の属性データ４２に影響を及ぼすことがない。
【０１２９】
＜＜ユーザ操作と永続領域の状態遷移＞＞
次に、情報処理装置１００において、ユーザに提供するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介してユーザ情報４１ｕを閲覧し、ＦＡＸ属性データ４２ｃを追加し、ユーザ情報４１ｕを更新するまでの操作例と、その操作に対応する永続領域の状態遷移の様子について説明する。
【０１３０】
図１４は、本発明の第１の実施形態に係るユーザ情報４１ｕにＦＡＸ属性データ４２ｃを追加する場合のユーザ操作の一例（その１）を示す図である。図１４（Ａ）には、ＦＡＸ機能のプラグイン３０が追加される前のＵＩ表示と、永続領域のデータ状態との例が示されている。図に示されるように、この時点では、永続領域（永続データＤ）にＦＡＸ属性は追加されておらず、基本属性のみで構成されるユーザ情報４１ｕとなっている。次に図１４（Ｂ）には、ＦＡＸ機能のプラグイン３０が追加された後のＵＩ表示と、永続領域（永続データＤ）のデータ状態との例が示されている。図に示されるように、この時点で、永続領域（永続データＤ）にＦＡＸ属性が追加される。但し、属性データ４２ｃの値は格納されていない。
【０１３１】
図１５は、本発明の第１の実施形態に係るユーザ情報４１ｕにＦＡＸ属性データ４２ｃを追加する場合のユーザ操作の一例（その２）を示す図である。図１５（Ａ）には、ＦＡＸ機能がインストールされた後にユーザ情報４１ｕを参照した場合のＵＩ表示と、永続領域のデータ状態との例が示されている。図に示されるように、ＵＩ表示には、ＦＡＸ番号の値「―」が表示されている。このとき表示されている情報は、図中の破線に囲まれる領域のデータであり、追加されたＦＡＸ番号の値は、ビュー２１がデフォルト値の値を提供しているだけである。そのため、図に示すように、永続領域（永続データＤ）では、ＦＡＸ属性の領域に変化はない。次に図１５（Ｂ）には、［変更］ボタンが押下された後のＦＡＸ属性の値を変更するＵＩ表示と、永続領域のデータ状態との例が示されている。図に示すように、ＦＡＸ番号の値がデフォルト値「−」から「０６−ＸＸＸＸ−０１２３」へ変更されている。但し、この時点では、まだ［ＯＫ］ボタンが押下されていないことから、永続領域（永続データＤ）のＦＡＸ属性に対して、入力された値（変更値）は反映されていない。
【０１３２】
図１６は、本発明の第１の実施形態に係るユーザ情報４１ｕにＦＡＸ属性データ４２ｃを追加する場合のユーザ操作の一例（その３）を示す図である。図１６（Ａ）には、［ＯＫ］ボタンが押下された後のＵＩ表示と、永続領域のデータ状態との例が示されている。図に示されるように、ＵＩ表示には、入力された値が表示されている。この時点で、永続領域（永続データＤ）のＦＡＸ属性に変更値が反映される。その結果、あらためてユーザ情報４１ｕを参照し閲覧してみると、図１６（Ｂ）に示すようなＵＩ表示となる。このとき表示されている情報は、図中の破線に囲まれる領域のデータであり、変更されたＦＡＸ番号の値が提供される。
【０１３３】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る情報処理装置１００は、属性データ４２の追加／削除／変更などのデータ操作を行う属性構築部３２（属性構築モジュール）が、機能拡張を行うプラグイン３０のインストール／アンインストールに対応して、機器内部に追加／削除される構成となっており、情報生成部３１によって制御用データであるインストール時に登録された構築部リストを基に、インストールされた属性構築部３２の中から、指示された属性データ４２のデータ操作を行う上記属性構築部３２を特定する。その結果、特定された属性構築部３２により属性データ４２のデータ操作を行う。更に、このデータ操作では、ＨＤＤ１１０などの永続領域にアクセスし直接データ操作を行うのではなく、まずデータ操作対象の情報をメモリ上に生成し、生成した情報に対して要求されたデータ操作を行い、擬似的に属性データ４２を追加／削除／変更する。
【０１３４】
これによって、情報処理装置１００は、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応することができる。
【０１３５】
［第２の実施形態］
図１７は、機器連携の動作例を示す図である。図１７に示すように、機器α（以下、「機器１００α」という。）と機器β（以下、「機器１００β」という。）とはネットワーク９０などの電気通信回線を介して接続され、互いに各機器内に保有する各種情報を遠隔操作可能となっている。例えば図１７では、ユーザが所属するオフィスに設置された機器１００βが保有するユーザ情報４１ｕを、出張先のオフィスに設置された機器１００αを介して情報更新を行う場面の例が示されている。現在の通信技術や情報処理技術の高度化にともに、このような複数の機器１００α及び１００βを連携して、クライアント・サーバとして動作可能なシステムは一般的となっている。
【０１３６】
ここで、上記機器連携においても、前述した第１の実施形態と同様に機能拡張によるいくつかの問題点が挙げられる。その問題点を図１８に示す。図１８は、機器連携で想定される問題点を示す図である。
【０１３７】
まず１つ目の問題点は、機器１００αと機器１００βとが互いに有する機能が異なる場合である。図１８（Ａ）に示すように、互いに動作する機能が異なると、機器１００αと機器１００βとが保有する情報を構成する属性データ４２も異なる場合がでてくる。例えば機器１００αにない属性（図中の「ＦＡＸ属性」）が機器１００βにある場合には、機器１００αで機器１００βにしかない属性を機器１００αで取得することができない。また、その逆も考えられる。
【０１３８】
また２つ目の問題点は、機器１００αと機器１００βとの間で互いに保有する情報で、同一の種類のデータであってもデータ仕様が異なる場合である。図１８（Ｂ）及び（Ｃ）に示すように、同一の種類のデータ（図中の「ユーザ情報」）であっても、それぞれの機器１００によって、細かいデータ仕様が異なる場合がでてくる。例えば機器１００αでは、データの最大文字長が「６３文字」に対して、機器１００βでは最大文字長が「２５５文字」となっている場合や、機器１００αの属性構成の階層が１段であるのに対して、機器１００βでは多段となっている場合などで、機器１００βのデータを機器１００αで利用しようとすると、取り扱えるデータ仕様（最大文字長や属性構成）が異なることから、予期せぬ振る舞いをしてしまう可能性がある。
【０１３９】
このように、機能拡張可能な複数の機器１００α及び１００βにおいて、図１７に示したような機器連携を行い場合には、上記に挙げたような問題点を解決する必要がある。
【０１４０】
そこで、本実施形態では、上記の問題点を解決し、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応可能な情報処理装置を提案する。
【０１４１】
具体的には、例えば機器１００αから機器１００βへ遠隔操作を行う場合に、ログインの間（遠隔操作中）のみ、データ操作対象となる情報を生成する仕組み（機器１００βが有する情報生成ロジック）を機器１００αで一時的に動作させる。更に、そのデータ操作の中で、データ操作対象となる情報を生成する仕組み（機器１００βが有する情報生成ロジック）が機器１００αで動作不可能な場合（セキュリティなどの所定の条件がある場合）には、機器１００αの情報を生成する仕組み（機器１００αが有する情報生成ロジック）を使用する。また、機器１００α又は１００βで情報を提供する前段階において、利用する情報のデータ仕様をチェックすることで、データ仕様の違いによる機能の予期せぬ振る舞いを未然に防ぎ、予め機能の利用制限を行う。
【０１４２】
このようにして、本実施形態では、複数の機器１００α及び１００βがネットワーク９０などの電気通信回線を介して遠隔操作可能なシステムにおける機器連携の上記問題点を解決する。
【０１４３】
以下に、本実施形態に係る情報処理装置について詳しく説明する。なお、本実施家形態に係る情報処理装置は、第１の実施形態において複合機１００を情報処理装置１００として前述したように、機器連携を行う機器１００α又は１００βを情報処理装置１００として説明する。
【０１４４】
＜機器連携における情報処理機能＞
まず、ログインの間（遠隔操作中）のみ、データ操作対象となる情報を生成する仕組み（機器１００βが有する情報生成ロジック）を機器１００αで一時的に動作させる基本処理手順について説明する。なお、本実施形態に係る情報処理機能の構成については、上記第１の実施形態において前述した構成と同じであるため、ここでの説明は省略する。
【０１４５】
図１９は、本発明の第２の実施形態に係る機器連携の基本処理手順の一例を示す図である。
【０１４６】
機器１００αは、情報の参照要求をビュー２１がユーザから受け付けると（ユーザが所定の認証を経てログインすると）、ビュー２１が、要求された参照対象の情報を保有する機器を識別する機器ＩＤを情報管理部２２へ渡す。
【０１４７】
機器１００αが有する情報管理部２２は、機器ＩＤがパラメータとして設定された関数を呼び、情報生成部３１へ情報生成を指示する（ステップＳ６０１）。
【０１４８】
機器１００αが有する情報生成部３１は、機器ＩＤを基に特定した機器１００βへアクセスし（ステップＳ６０２）、機器１００βが有する同じ情報生成部３１から、制御用データの構築部リストを取得する（ステップＳ６０３）。このとき、構築部リストに登録されている機器１００βが有する属性構築部モジュール（属性構築部３２）が機器１００αへアップロードされる。
【０１４９】
機器１００αが有する情報生成部３１は、取得した構築部リストを基に、機器１００βが有する属性構築名と、ダウンロードした属性構築モジュールと、機器ＩＤとがパラメータとして設定された関数を呼び、自身の構築部リストへ機器１００βから取得した属性構築部３２を追加・登録し（ステップＳ６０４）、構築部リストを機器内部に保存する（ステップＳ６０５）。上記ステップＳ６０２からステップＳ６０５までの各処理手順（図中の破線に囲まれた箇所）は、クライアントの機器１００αからサーバの機器１００βへ一度アクセスされたときに行われる処理であって、ログインの間はこのタイミングで一度行われればよい（ログアウトされるまでは一度だけ行われればよい）。
【０１５０】
機器１００αが有する情報生成部３１は、機器ＩＤがパラメータとして設定された関数を呼び、ステップＳ６０５において機器１００βが有する属性構築部３２まで追加・登録された構築部リストを参照し、機器１００αにダウンロードした属性構築部３２を特定する（ステップＳ６０６）。
【０１５１】
機器１００αが有する情報生成部３１は、参照要求されている情報指定をパラメータとして設定された関数を呼び、特定した属性構築部３２へ属性構築を指示する（ステップＳ６０７）。
【０１５２】
属性構築部３１は、属性構築の指示を受けて、情報を構成する属性データ４２を追加し、情報生成部３１へ渡す（ステップＳ６０８）。
【０１５３】
その結果、機器１００αが有する情報生成部３１は、属性データ４２が追加され生成された情報を情報管理部２２へ渡し（ステップＳ６０９）、情報管理部２２からビュー２１へ渡された後にビュー２１によりユーザへ情報提供される。
【０１５４】
このように、本実施形態に係る情報処理装置１００では、
（１）情報の生成を依頼するときに、どの機器の属性構築部３２を使用するかを指定し、
（２）サーバとして始めて機器１００βを指定したときに、クライアントの機器１００αが有する情報生成部３１の構築部リストに、指定後ダウンロードした属性構築部３２を登録し、
（３）一度、サーバの機器１００βからダウンロードした属性構築部３２を保持する。
【０１５５】
これによって、情報処理装置１００は、ログインの間に、情報を利用する機器１００αが、情報を保有する機器１００βから、一度だけ属性データ４２を構築する属性構築部３２に関する情報（構築部リスト）を取得することによって、再び機器連携を行った際に、あらためて属性構築部３２に関する情報を取得する必要がなく、機器連携における処理性能を悪化させることがない。
【０１５６】
＜＜属性データを操作（生成／追加／削除）する仕組み＞＞
図２０は、本発明の第２の実施形態に係る情報管理部２２が管理するソフトウェア部品の一例を示す図である。
【０１５７】
本実施形態に係る情報処理装置１００においても、第１の実施形態において前述したように、情報管理部２２がビュー２１からの生成指示に応じて、最新情報の属性構成をメモリ上に生成する。そのため、情報管理部２２が管理するソフトウェア部品は、情報生成部３１が機器内で取り扱う情報を追加し、属性構築部３２が情報を構成する属性データ４２を追加する。情報管理部２２は、これらのソフトウェア部品を制御することで、柔軟に情報を生成することを実現している。
【０１５８】
上記各機能部は、それぞれがソフトウェア部品であり、情報処理装置１００が有するＲＯＭ１０５に格納されており、ＲＡＭ１０６上に読み出されＣＰＵ１０８で実行され、上記機能を実現する。
【０１５９】
本実施形態と上記第１の実施形態とは、以下の点で異なる。
【０１６０】
（情報生成部が有する機器ごとの属性構築部）
本実施形態に係る情報生成部３１は、機器ＩＤごとに１つ以上の属性構築部３２を、１まとまりの属性構築部群（属性構築部セット）として有している。
【０１６１】
情報生成部３１は、上記ステップＳ６０２からステップＳ６０５までの各処理手順（図中の破線に囲まれた箇所）で前述したように、ログインしたときにサーバとなる機器１００α又は１００βの機器ＩＤに、取得した属性構築部３２を識別するデータを対応付けてメモリ上に保持する。このように、情報生成部３１は、取得した属性構築部３２を、取得先の機器１００ごと分類してメモリ上に保持している。
【０１６２】
これにより、情報処理装置１００内部で保持している複数の属性構築部３２の中から、どの機器１００α又は１００βから取得した属性構築部３２かを判断することができる。
【０１６３】
（属性構築部が有するローカルフラグとバージョン）
本実施形態に係る属性構築部３２は、ローカルフラグとバージョンを有している。ローカルフラグは、属性構築部３２が他の機器１００α又は１００βで動作不可能なことを示すフラグである。このフラグは、プラグイン３０をインストールしたときに設定され、その後設定値は可変不可能な値として取り扱われる。また、バージョンは、属性構築部３２が構築する属性データ４２のバージョンを示す値である。この値は、情報を利用する機能Ｕから問い合わせがあった場合に応答する値であり、応答された値によって、情報を利用する側が、属性データ４２を使用できるか否かを判断する。これによって、取り扱えるデータ仕様が異なることによる、予期せぬ振る舞いを未然に防ぐことができる。
【０１６４】
図２０（Ｂ）は、前述した属性構築部３２が有する制御用データの一例を示す。本実施形態に係る属性構築部３２では、第１の実施形態において前述した制御用データに加えて、図中に示すデータを有している。これらのデータは、主に、固定フィールドと可変フィールドとに分けられ、固定フィールドには、属性名、ローカルフラグ、及びデータ型などが設定され、可変フィールドには、バージョン及び仕様制限値（例えば「最大文字列帳」）などが設定可能な構成となっている。よって、固定フィールドの設定値は、一度設定されると以後変更不可能となる値で、一方可変フィールドの設定値は、設定後であっても変更可能である。このようなデータ構成によって、機器間で不整合とならないようにするための制御データを固定フィールドに設定し、機器間で独立してカスタマイズ可能な制御データを可変フィールドに設定することができ、各機器１００α又は１００βの機能拡張による属性データ４２の追加／削除／更新に柔軟に対応することができる。
【０１６５】
例えば図２０（Ｂ）では、バージョン２．０のデータ仕様により他の機器１００α又は１００βでは動作不可能な電子メールアドレスの属性を構築する属性構築部３２が保持するデータ例が示されている。
【０１６６】
（ローカルフラグによる属性構築部の追加・登録制御）
図２１は、本発明の第２の実施形態に係る機器連携における属性構築部の追加・登録制御の処理手順の一例を示す図である。図２１に示す処理手順は、上記ステップＳ６０２からステップＳ６０５までの各処理手順（図中の破線に囲まれた箇所）において、上記ローカルフラグを基に、情報生成部３１が行う処理手順を示したものである。
【０１６７】
機器１００αが有する情報生成部３１は、機器１００βが有する情報生成部３１から構築部リストを取得する（ステップＳ７０１からステップＳ７０２）。
【０１６８】
情報生成部３１は、取得した構築部リストを基に、機器１００βが有する属性構築部Ａ３２Ａにアクセスし、保持するローカルフラグの取得を属性構築部Ａ３２Ａへ要求する（ステップＳ７０３）。その結果、機器１００βが有する属性構築部Ａ３２Ａは、保持するローカルフラグに無効の値（ＯＦＦ：０）が設定されているため、「設定なし」の応答を情報生成部３１へ返す（ステップＳ７０４）。
【０１６９】
更に、情報生成部３１は、取得した構築部リストを基に、機器１００βが有する属性構築部Ｂ３２Ｂにアクセスし、保持するローカルフラグの取得を属性構築部Ｂ３２Ｂへ要求する（ステップＳ７０５）。その結果、機器１００βが有する属性構築部Ｂ３２Ｂは、保持するローカルフラグに有効な値（ＯＮ：１）が設定されているため、「設定あり」の応答を情報生成部３１へ返す（ステップＳ７０６）。
【０１７０】
このようにして、情報生成部３１は、各属性構築部３２から応答されたローカルフラグの値から、機器１００αで動作可能な属性構築部３２か否かを判断し、その判断結果に従って、構築名Ａと、構築モジュールＡと、機器ＩＤとがパラメータとして設定された関数を呼び、機器１００αで動作可能な属性構築部Ａ３２Ａを機器１００βから機器１００α内部へ追加する（ステップＳ７０７）。
【０１７１】
次に、情報生成部３１は、属性構築部Ｂ３２Ｂが機器１００αで動作不可能なことから、構築名Ｂがパラメータとして設定された関数を呼び、機器１００αが有し、属性構築部Ｂ３２Ｂに対応する属性構築部３２を取得し（ステップＳ７０８）、構築名Ｂと、構築モジュールＢと、機器ＩＤとがパラメータとして設定された関数を呼び、追加する（ステップＳ７０９）。
【０１７２】
その後、情報生成部３１は、上記処理手順によって属性構築部３２が追加・登録された構築部リストを機器内部に保持する。
【０１７３】
このように、本実施形態に係る情報処理装置１００では、情報生成部３１が構築部リストを取得すると、リストに登録されたそれぞれの属性構築部３２に対して、有効なローカルフラグが設定されているか否かを問い合わせ、もし有効なローカルフラグが設定されている場合には、その属性構築部３２を登録せず、代わりに自身が有する同名の属性構築部３２を追加する。これによって、情報処理装置１００は、機能仕様やセキュリティなどの要件に柔軟に対応することができる。
【０１７４】
＜機器連携における利用制限機能＞
ここからは、図２０（Ｂ）に示したように、属性構築部３２が構築する属性データ４２のバージョンを基に、機器１００での利用制限を行う処理について説明する。先の２つ目の問題点にも挙げたように、細かいデータ仕様の違いにより利用できない情報が存在する。
【０１７５】
このような場合に、何ら対策をとらず機器連携を行うと、予期せぬ振る舞いをしてしまう可能性がある。
【０１７６】
そのため、本実施形態に係る情報処理装置１００が有する属性構築部３２では、属性データ４２のバージョンを有している。
【０１７７】
すなわち、機器１００αが有する機能が所定の情報を利用する場合には、その情報のバージョンを確認し、利用機能が対応可能なデータ仕様か否かを、利用する前に確認し判断する。利用機能がそのバージョンに対応していれば、利用機能は、そのバージョンの属性データ４２を利用して所望する動作を実行することができる。しかし、もしバージョンが非対応のものであった場合には、利用機能が、その属性の意味やデータ仕様を認識することができない。
【０１７８】
図２２は、本発明の第２の実施形態に係る情報の利用とバージョンとの関係を示す図である。例えば、図２２に示すように、ユーザ情報４１ｕを利用する機能Ｕが、ユーザ情報４１ｕの電子メールアドレス属性に対して、バージョンの問い合わせを行う。
【０１７９】
このとき、問い合わせを行ったユーザ情報４１ｕの電子メールアドレス属性のバージョンが「１．０」から「２．０」にバージョンアップした後であって、そのアドレスの最大文字長が「６４文字」から「１２８文字」に変更されたとする（データ仕様の変更）。
【０１８０】
このような状態の中で、ユーザ情報４１ｕを利用する機能Ｕが、バージョン１．０までしか対応しておらず、電子メールアドレスの最大文字長は、「６４文字」までのデータ仕様しか認識しない場合には、バージョン２．０に対応した電子メールアドレスの６５文字目以降の文字は読み捨てられてしまう可能性もある。これでは、ユーザ情報４１ｕを利用する機能Ｕが、電子メールアドレスのデータを正しく利用し機能することができない。
【０１８１】
よって、このような場合には、ユーザ情報４１ｕを利用する機能Ｕへ情報を提供する前段階において、データ仕様が異なるデータを使用しないようにする機能が必要となる。
【０１８２】
＜＜利用制限処理：その１＞＞
図２３は、本発明の第２の実施形態に係る機器連携による利用制限の処理手順（その１）の一例を示す図である。図２３には、上記バージョンを基に、情報管理部２２及び情報生成部３１が行う処理手順を示したものである。この処理手順によって、情報として利用しようとしている属性データ４２のバージョンが異なる場合には、情報を利用する機能を無効にすることができる（ユーザに利用できない旨を知らせることができる）。
【０１８３】
機器１００αは、情報を利用する機能Ｕからのユーザ情報４１ｕの参照要求をビュー２１が受け付けると、情報管理部２２へユーザ情報４１ｕの参照を指示し（ステップＳ８０１）、情報管理部２２は、情報生成部３１へユーザ情報４１ｕの生成を指示する（ステップＳ８０２）。
【０１８４】
情報生成部３１は、生成したユーザ情報４１ｕを情報管理部２２へ渡し（ステップＳ８０３）、情報管理部２２は、ビュー２１へユーザ情報４１ｕを渡す（ステップＳ８０４）。このように、機器１００αは、情報を利用する機能Ｕへユーザ情報４１ｕを提供する。
【０１８５】
この中で、情報を利用する機能Ｕは、属性名がパラメータとして設定された関数を呼び、ユーザ情報４１ｕにバージョンを問い合わせる（ステップＳ８０５）。
【０１８６】
ユーザ情報４１ｕは、属性名で指定された属性データ４２（図中では「電子メールアドレス属性」）にバージョンの取得を要求し（ステップＳ８０６）、バージョンの値を取得する（ステップＳ８０７）。ユーザ情報４１ｕは、取得したバージョンの値を、情報を利用する機能Ｕへ返す（ステップＳ８０８）。
【０１８７】
情報を利用する機能Ｕは、機能Ｕが利用可能な属性データ４２のバージョンと、取得したバージョンとを比較し（ステップＳ８０９）、その比較結果から、バージョンが異なる場合には機能を無効とする（ステップＳ８１０）。
【０１８８】
このように、本実施形態に係る情報処理装置１００は、情報を提供する前段階において、利用する情報のバージョンをチェックすることで、バージョンの違いによる機能の予期せぬ振る舞いを未然に防ぎ、予め機能の利用制限を行う。
【０１８９】
（利用制限時の動作例）
ここからは、情報処理装置１００において、ユーザに提供するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介してユーザ情報４１ｕを閲覧し、情報を編集するまでの動作例について説明する。
【０１９０】
図２４は、本発明の第２の実施形態に係る機器連携による利用制限が発生した場合の動作の一例（その１）を示す図である。
【０１９１】
機器１００αから機器１００βへ遠隔操作を行うためには、図２４（Ａ）に示すようなＵＩ画面を介して、必要な認証情報を入力し［ログイン］ボタンを押下することでログインする。ログインが完了すると、図２４（Ｂ）に示すように、機器１００βが保有する情報を一覧表示したＵＩ画面を介して、編集しようとしているユーザ情報４１ｕを選択する。その結果、図２４（Ｃ）に示すように、機器１００αのＵＩ表示には、機器１００βが保有するユーザ情報４１ｕが表示される。
【０１９２】
例えば、機器１００βが保有するユーザ情報４１ｕの「電子メールアドレス」属性のバージョンが１．０から２．０にバージョンアップされ、このとき最大文字長６４文字から１２８文字へ仕様変更された場合に、機器１００αの利用機能がバージョン１．０までしか対応していないと、電子メールアドレスの属性データ４２を正しく使用できない。このような場合に、機器１００αは、上記の手順に説明したようにバージョンの値を比較し、その比較結果から、図２４（Ｃ）に示すように、電子メールアドレスの属性データ４２が利用できないことをユーザに知らせる（図中の網掛け部）。
【０１９３】
図２５は、本発明の第２の実施形態に係る機器連携による利用制限が発生した場合の動作の一例（その２）を示す図である。
また、ユーザは、属性データ４２の編集を行うことがある。このような場合には、編集時に入力されたデータが、属性データ４２のデータ仕様（禁則文字や最大文字長など）に違反していないか否かを判断し、その編集を許可する。ここで言う属性データ４２のデータ仕様は、各属性データ４２を構築する属性構築部３２によって決定される。
【０１９４】
例えば、機器１００βが有する電子メールアドレスの属性データ４２を構築する属性構築部３２が、機器１００αが有する情報生成部２２に対して無効なローカルフラグを返してきた場合には、図２５（Ａ）に示すように、機器１００αで機器１００βが有する属性構築部３２が動作可能であることから、機器１００βのデータ仕様に従った電子メールアドレスの変更が可能である。しかし、有効なローカルフラグを返してきた場合には、機器１００αで機器１００βが有する属性構築部３２が動作不可能であることから、機器１００αのデータ仕様に従って電子メールアドレスの変更を行うこととなる。よって、データ仕様に違反があると、図２５（Ｂ）に示すように、そのデータが無効であることを知らせる表示となる。
【０１９５】
＜＜利用制限処理：その２＞＞
図２６は、本発明の第２の実施形態に係る機器連携による利用制限の処理手順の一例（その２）を示す図である。前述したような属性データ４２のデータ仕様に違反していないか否かを判断し、データ操作を許可する処理について説明する。
【０１９６】
機器１００αは、情報を利用する機能Ｕからの利用しようとしている属性データ４２の仕様チェック要求をビュー２１が受け付けると（ステップＳ９０１）、ビュー２１は、属性データ４２４２へアクセスし、データ仕様のチェックを要求する（ステップＳ９０２）。属性データ４２は、要求に応じてデータ仕様のチェックを行い（ステップＳ９０３）、そのチェック結果を、ビュー２１へ返す（ステップＳ９０４）。
【０１９７】
ビュー２１は、チェック結果を、情報を利用する機能Ｕへ渡し（ステップＳ９０５）、情報を利用する機能Ｕは、チェック結果を基に、利用できるか否かの判断を行う（ステップＳ９０６）。
【０１９８】
このように、本実施形態に係る情報処理装置１００では、情報を編集する段階においても、利用する情報のデータ仕様をチェックすることで、データ仕様の違いによる機能の予期せぬ振る舞いを未然に防ぎ、利用禁止を促す。
【０１９９】
＜＜ログアウト時の後処理＞＞
機器１００αは、ログイン時に、機器１００βが有する属性構築部３２を内部に導入している。このような場合、ログアウト時には、記憶装置のリソース資源を有効に利用するという観点から、内部に取り込んだ属性構築部３２を破棄する（メモリ上に読み出されたソフトウェア部品を破棄する）必要がある。
【０２００】
以下に、機器１００αが遠隔操作のために接続している機器１００βからログアウトするときの後処理について説明する。
図２７は、本発明の第２の実施形態に係るログアウト時に行う後処理の一例を示す図である。
【０２０１】
機器１００αは、セッション管理ＳＭが、ユーザからのログアウトを受け付けると（ステップＳ１００１）、受け付けたログアウト指示を情報生成部２２へ渡す（ステップＳ１００２）。
【０２０２】
情報生成部２２は、ログアウト指示に応じて、属性部リストを基に、機器１００βから取得し導入している各属性構築部３２を破棄する（ステップＳ１００３）。
【０２０３】
このように、本実施形態に係る情報処理装置１００では、ログアウト時に、他の機器１００から取得した属性データ４２を構築するソフトウェア部品を破棄する。これによって、情報処理装置１００は、機器連携によって他の機器１００α又は１００βに接続した痕跡（接続履歴）を残すことがなく、セキュリティ上の問題を回避できるとともに、機器連携のとき以外で、情報生成に関するソフトウェア部品を保持しておくために必要な余分な記憶領域を確保しておく必要がない。すなわち、記憶装置の容量を圧迫することがなく、他の処理で有効にハードウェアリソースを使用することができる。
【０２０４】
＜まとめ＞
以上のように、本発明の第２の実施形態によれば、本実施形態に係る情報処理装置１００は、例えば機器１００αから機器１００βへ遠隔操作を行う場合に、ログインの間（遠隔操作中）のみ、データ操作対象となる情報を生成する仕組み（機器１００βが有する情報生成ロジック）を機器１００αで一時的に動作させる。更に、そのデータ操作の中で、データ操作対象となる情報を生成する仕組み（機器１００βが有する情報生成ロジック）が機器１００αで動作不可能な場合（セキュリティなどの所定の条件がある場合）には、機器１００αの情報を生成する仕組み（機器１００αが有する情報生成ロジック）を使用する。また、機器１００α又は１００βで情報を提供する前段階において、利用する情報のデータ仕様をチェックすることで、データ仕様の違いによる機能の予期せぬ振る舞いを未然に防ぎ、予め機能の利用制限を行う。
【０２０５】
これによって、情報処理装置１００は、複数の機器１００α及び１００βがネットワーク９０などの電気通信回線を介して遠隔操作可能なシステムにおける機器連携においても、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応することができる。
【０２０６】
［第３の実施形態］
機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応する構成とした場合に考えられる問題点として、データ操作にかかる処理時間がある。
【０２０７】
通常、情報を利用する機能Ｕが、ビュー２１を介して情報のデータ操作を行う場合に、不正アクセスによる情報漏洩や情報改竄などを防止する（情報の機密性を確保する）ことを目的としたアクセス制御が行われる。
【０２０８】
上記アクセス制御は、例えば属性データ４２ごとにＡＣＬ（Access Control）を設定し、ユーザがその属性を読み出し／書き込み可能か否かを判断するもので、情報の構成要素である属性単位で行われる。そのため、理論上無限個の属性データ４２を管理・運用可能な情報処理装置１００が有するビュー２１（多くの属性データ４２で構成される情報を提供する機能）では、データ操作の要求を受け付けてから要求元の機能がデータ操作を行うまでに処理時間を要することになり、データ操作時に待ち時間が発生し、ユーザの使用感に悪影響を及ぼす可能性がある。
【０２０９】
そこで、本実施形態では、上記の問題点を解決し、機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応するとともに、データ操作対象である各種情報に対して行うアクセス制御処理の高速化を実現する情報処理装置１００を提案する。
【０２１０】
具体的には、１つ以上の属性データ４２を所定のカテゴリごとにグループ化し、属性データ４２のアクセス制御をカテゴリ単位で行うことにより、アクセス制御にかかる処理時間を短縮する。
【０２１１】
このようにして、本実施形態に係る情報処理装置１００では、データ操作にかかる処理時間の上記問題点を解決する。
【０２１２】
以下に、本実施形態に係る情報処理装置１００について詳しく説明する。
【０２１３】
＜情報処理機能＞
本実施形態に係る情報処理装置１００は、主な情報処理機能として、ビュー（情報提供部）２１と、情報管理部２２とを有し、情報を利用する機能Ｕへ、機器内に保有する各種情報の永続データＤを提供する構成となっている。なお、本実施形態に係る情報処理機能の構成については、上記各実施形態において前述した構成と同じであるため、ここでの説明は省略する。
【０２１４】
＜＜属性データを操作（生成／追加／削除）する仕組み＞＞
本実施形態に係る情報処理装置１００においても、上記各実施形態において前述したように、情報管理部２２がビュー２１からの生成指示に応じて、最新情報の属性構成をメモリ上に生成する。そのため、情報管理部２２が管理するソフトウェア部品は、情報生成部３１が機器内で取り扱う情報を追加し、属性構築部３２が情報を構成する属性データ４２を追加する。情報管理部２２は、これらのソフトウェア部品を制御することで、柔軟に情報を生成することを実現している。
【０２１５】
上記各機能部は、それぞれがソフトウェア部品であり、情報処理装置１００が有するＲＯＭ１０５に格納されており、ＲＡＭ１０６上に読み出されＣＰＵ１０８で実行され、上記機能を実現する。
【０２１６】
本実施形態と上記各実施形態とは、以下の点で異なる。
【０２１７】
（情報生成部が有するカテゴリ定義）
図２８は、本発明の第３の実施形態に係る情報生成部３１が有する各データ構成の一例を示す図である。
【０２１８】
本実施形態に係る情報生成部３１が有する制御用データには、生成する情報のデータである「生成する情報名」と、この情報を構成する属性データ４２を構築する各属性構築部３２へのリンク先を示すデータである「構築部リスト」に加えて、１つ以上の属性データ４２をグループ化するカテゴリを定義する情報（以下、「カテゴリ定義情報」という。）が含まれている。
【０２１９】
カテゴリ定義情報は、カテゴリを識別する情報（例えば「カテゴリ名」などのカテゴリデータ）と、そのカテゴリに属する１つ以上の属性データ４２とが関連付けられたデータ構成となっている。
【０２２０】
例えば図２８の場合には、ＩＤ、ユーザ名、性別、及びパスワードの各属性データ４２に関連付けて、これら４つの属性データ４２をグループ化する（４つの属性データ４２が属する）カテゴリ「基本」と、ＦＡＸ番号及び通信規格の各属性データ４２に関連付けて、これら２つの属性データ４２をグループ化する（２つの属性データ４２が属する）カテゴリ「ＦＡＸ」とを定義する各カテゴリ定義情報が示されている。
【０２２１】
（カテゴリと属性との関係）
図２９は、本発明の第３の実施形態に係るカテゴリと属性との関係を示す図である。図２９（Ａ）に示すように、１つのカテゴリに対して１つ以上の属性データ４２を関連付けることができる。但し、属性データ４２は、必ずしも所定のカテゴリに属する必要はなく、このような場合のアクセス制御（カテゴリに属していない属性データ４２へのアクセス制御）は、従来と同じように行われる。
【０２２２】
また、カテゴリは、必ずしもプラグイン３０の単位と同一である必要はない。例えば、図２８に示したように、認証関連のプラグイン３０のインストールにより導入される認証属性構築部３２ｂにより追加される属性データ４２ｂ（パスワード）に対して、「基本」のカテゴリを定義することもでき、プラグイン３０による機能拡張単位にかかわらず、任意に定義することができる。
【０２２３】
上記カテゴリは、情報生成部３１によって生成された情報に追加される。具体的には、情報生成部３１が、各属性構築部３２により属性データ４２が追加され情報が生成されると、自身が保有するカテゴリ定義情報を基に、属性データ４２に関連付けられて定義されたカテゴリデータを、該当する属性データ４２に関連付けて追加する。例えば図２９（Ｂ）には、ユーザ情報生成部３１ａが、図２８に示したカテゴリ定義情報を基に、カテゴリ名「基本」及び「ＦＡＸ」を示す各カテゴリデータ４３を、生成されたユーザ情報４１ｕに追加された例が示されている。
【０２２４】
＜＜カテゴリ追加処理＞＞
以下に、機器内で取り扱うユーザ情報４１ｕを例に、情報生成部３１によるカテゴリ追加の処理について説明する。
【０２２５】
（ユーザ情報のデータ操作）
図３０は、本発明の第３の実施形態に係るユーザ情報４１ｕにカテゴリデータ４３を追加する処理手順の一例を示す図である。なお、図３０に示すステップＳ１１０１からＳ１１０９までの処理手順は、図１２に示したステップＳ５０１からＳ５０９までの処理手順と同じであるため、ここでの説明は省略し、ステップＳ１１１０からの処理手順について説明する。
【０２２６】
ユーザ情報生成部３１ｕは、構築部リスト最後のＦＡＸ属性構築部３２ｃから、ＦＡＸ属性が追加され完成した最新のユーザ情報４１ｕを受け取ると、自身が保有するカテゴリ定義情報を読み込み（ステップＳ１１１０）、読み込んだ定義内容を基に、定義されているカテゴリ名を示すカテゴリデータ４３を、該当する属性データ４２に関連付けて、ユーザ情報４１ｕに追加する（ステップＳ１１１１）。
【０２２７】
その結果、ユーザ情報生成部３１ｕは、カテゴリが追加されメモリ上に完成したユーザ情報４１ｕを、生成を指示した情報管理部２２へ渡し（ステップＳ１１１２）、情報管理部２２からユーザ情報４１ｕを利用する機能Ｕへ提供される（ステップＳ１１１３）。
【０２２８】
（データ操作時の処理段階におけるデータ構成の状態遷移）
図３１は、本発明の第３の実施形態に係るユーザ情報４１ｕにカテゴリデータ４３が追加された場合の動作例を示す図である。では、図３０を用いて前述した処理手順によって、ユーザ情報４１ｕへカテゴリが追加される場合のデータ構成の遷移について、対応する処理手順とともに説明する。
【０２２９】
図３１に示すように、ステップＳ１１０３が実行されたときには、メモリ上に所定の記憶領域が確保され属性なしのユーザ情報４１ｕが生成されている。次に、ステップＳ１１０５からＳ１１０９までの各処理手順が実行されたときには、メモリ上に生成されたユーザ情報４１ｕに、ＩＤ、ユーザ名、性別、パスワード、ＦＡＸ番号、及び通信規格の各属性データ４２が追加される。次に、ステップＳ１１１３が実行されたときには、ユーザ情報４１ｕを構成する各属性データ４２に対して、関連付けられたカテゴリ名「基本」及びカテゴリ名「ＦＡＸ」の各カテゴリデータ４３ａ及び４３ｂが追加される。
【０２３０】
このように、本実施形態に係る情報処理装置１００では、情報生成時に、情報を構成する１つ以上の属性データ４２を、予め決めておいた（定義しておいた）カテゴリごとにグループ化する。これにより、情報処理装置１００は、属性データ４２を操作する際のアクセス制御に関する処理を、属性単位ではなくカテゴリ単位で行う。
【０２３１】
＜＜データ操作時のアクセス制御処理＞＞
以下に、機器内で取り扱うユーザ情報４１ｕのデータ操作を例に、ビュー２１を介して属性データ４２を取得する際のアクセス制御の処理について説明する。
【０２３２】
図３２は、本発明の第３の実施形態に係るアクセス制御に関する処理手順の一例を示す図である。
【０２３３】
情報処理装置１００は、情報を利用する機能Ｕからユーザ情報４１ｕの「ユーザ名」に対応する属性データ４２の取得を要求されると、その要求をビュー２１で受け付ける（ステップＳ１２０１）。
【０２３４】
ビュー２１は、まず、取得要求された属性データ４２が属するカテゴリの確認を行う（ステップＳ１２０２）。カテゴリの確認は、ユーザ情報４１ｕにおいて、「ユーザ名」の属性データ４２が関連付けられたカテゴリデータ４３を参照することで行う。
【０２３５】
続いて、ビュー２１は、取得要求された属性データ４２が「基本」のカテゴリに属することが確認されると（カテゴリデータ４３が参照できると）、確認したカテゴリに対して操作権限判断の実行要否（アクセス制御要否）を確認する（ステップＳ１２０３）。実行要否の確認は、メモリ上の所定の記憶領域を参照することで行う。
【０２３６】
操作権限の判断は、後述する操作権限判断部５１によりカテゴリ単位で行われ、その判断結果がメモリ上の一時記憶領域であるキャッシュ領域ＣＲに保持される。このことから、ビュー２１は、メモリ上のキャッシュ領域ＣＲに保持された判断結果を参照することで、カテゴリに対して操作権限の判断を行ったか否かを確認することができる。
【０２３７】
ビュー２１は、メモリ上のキャッシュ領域ＣＲを参照し、操作権限判断の実行要否を確認した結果、キャッシュ領域ＣＲに判断結果が保持されておらず、カテゴリ名「基本」に対して操作権限の判断が実行されていないことを確認すると（ステップＳ１２０４）、操作権限判断部５１に対して操作権限（アクセス権）の判断を要求する（ステップＳ１２０５）。
【０２３８】
ビュー２１は、操作権限判断部５１から判断結果「ＯＫ」を受け付けると（ステップＳ１２０６）、前述したように、判断を行ったカテゴリに対応付けて、受け取った判断結果を、メモリ上のキャッシュ領域ＣＲに保持する（ステップＳ１２０７）。
【０２３９】
その後、ビュー２１は、操作権限の判断結果に従って、ユーザ情報４１ｕから「ユーザ名」の属性データ４２の値を取得し、取得要求元の情報を利用する機能Ｕへ渡す（ステップＳ１２０８）。
【０２４０】
また、情報を利用する機能Ｕからユーザ情報４１ｕの「性別」に対応する属性データ４２の取得を要求されると（ステップＳ１２０９）、ビュー２１は、上記ステップＳ１２０２の処理手順と同様に、取得要求された属性データ４２が属するカテゴリの確認を行い（ステップＳ１２１０）、「基本」のカテゴリに属することが確認されると、確認したカテゴリに対して操作権限判断の実行要否を確認する（ステップＳ１２１１）。
【０２４１】
ビュー２１は、メモリ上のキャッシュ領域ＣＲを参照し、操作権限判断の実行要否を確認した結果、キャッシュ領域ＣＲに判断結果が保持されており、カテゴリ名「基本」に対して操作権限の判断が実行されていることを確認すると（ステップＳ１２１２）、操作権限判断部５１に対して操作権限（アクセス権）の判断を要求せず、操作権限の判断結果に従って、ユーザ情報４１ｕから「性別」の属性データ４２の値を取得し、取得要求元の情報を利用する機能Ｕへ渡す（ステップＳ１２１３）。
【０２４２】
このように、本実施形態に係る情報処理装置１００では、データ操作時のアクセス制御において、データ操作対象となる属性データ４２が属するカテゴリに対して行った操作権限判断の結果をキャッシュ（一時記憶）しておく。
【０２４３】
これにより、以降のアクセス制御では、キャッシュ領域ＣＲを参照することで、カテゴリに対する操作権限判断の結果を確認することができ、同じカテゴリに属する属性データ４２のデータ操作であれば、属性データ４２ごとに操作権限の判断を要求しなくてもよい。
【０２４４】
＜まとめ＞
以上のように、本発明の第３の実施形態によれば、本実施形態に係る情報処理装置１００は、属性データ４２の追加／削除／変更などのデータ操作を行う属性構築部３２（属性構築モジュール）が、機能拡張を行うプラグイン３０のインストール／アンインストールに対応して、機器内部に追加／削除される構成となっており、情報生成部３１によって制御用データであるインストール時に登録された構築部リストを基に、インストールされた属性構築部３２の中から、指示された属性データ４２のデータ操作を行う上記属性構築部３２を特定する。その結果、特定された属性構築部３２により属性データ４２のデータ操作を行う。更に、このデータ操作では、ＨＤＤ１１０などの永続領域にアクセスし直接データ操作を行うのではなく、まずデータ操作対象の情報をメモリ上に生成し、生成した情報に対して要求されたデータ操作を行い、擬似的に属性データ４２を追加／削除／変更する。
【０２４５】
また、情報生成部３１が、情報生成時に、自身が保有する制御用データである１つ以上の属性データ４２をグループ化するカテゴリが定義されたカテゴリ定義情報を基に、定義されているカテゴリ名を示すカテゴリデータ４３を、該当する属性データ４２に関連付けて、生成情報に追加する。
【０２４６】
これによって、情報処理装置１００は、機器内で取り扱う各種情報を構成する属性データ４２の増減に柔軟に対応するとともに、データ操作対象である各種情報に対して行うアクセス制御において、カテゴリ単位で処理を行い、かつ一度行った操作権限の判断結果をメモリ上にキャッシュしておき、同じカテゴリに属する属性データ４２のデータ操作であれば、キャッシュされた判断結果を参照することで、再度、操作権限の判断を行わなくてもよい構成としたことにより、アクセス制限処理の高速化を実現する（アクセス制御にかかる処理時間を短縮する）ことができる。
【０２４７】
ここまで、上記各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態に係る情報処理装置１００が有する「情報処理機能」は、前述した各処理手順を、コントローラ１３の動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、上記各実施形態に係る情報処理プログラムやプラグイン３０（機能拡張プログラム）は、コンピュータが読み取り可能な記録媒体１０４に格納することができる。
【０２４８】
よって、上記各実施形態に係る情報処理プログラムやプラグイン３０は、フロッピー（登録商標）ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）などの記録媒体１０４に記憶させることによって、これらの記録媒体１０４を読み取り可能なドライブ装置１０３を介して、情報処理装置１００にインストールすることができる。また、情報処理装置１００は、ネットワーク９０などのデータ伝送路に接続可能なデータ通信Ｉ／Ｆ１４を有していることから、インターネットなどの電気通信回線を用いて情報処理プログラムやプラグイン３０をダウンロードし、インストールすることもできる。
【０２４９】
最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２５０】
【図１】本発明の第１の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理機能の機能構成の一例を示す図である。
【図３】本発明の第１の実施形態に係る属性データの追加操作の一例を示す図である。
【図４】本発明の第１の実施形態に係る属性データの削除操作の一例を示す図である。
【図５】本発明の第１の実施形態に係る既存情報を参照する処理手順の一例を示す図である。
【図６】本発明の第１の実施形態に係る既存情報を更新する処理手順の一例を示す図である。
【図７】本発明の第１の実施形態に係る情報管理部が管理するソフトウェア部品の一例を示す図である。
【図８】本発明の第１の実施形態に係るソフトウェア部品が有する各データ構成の一例を示す図である。
【図９】本発明の第１の実施形態に係る属性構築部を追加する処理手順（インストール手順）の一例を示す図である。
【図１０】本発明の第１の実施形態に係る属性構築部を削除する処理手順（アンインストール手順）の一例を示す図である。
【図１１】本発明の第１の実施形態に係るユーザ情報を生成するソフトウェア構成の一例を示す図である。
【図１２】本発明の第１の実施形態に係るユーザ情報に属性データを追加する処理手順の一例を示す図である。
【図１３】本発明の第１の実施形態に係るユーザ情報に属性データが追加された場合の動作例を示す図である。
【図１４】本発明の第１の実施形態に係るユーザ情報にＦＡＸ属性データを追加する場合のユーザ操作の一例（その１）を示す図である。
【図１５】本発明の第１の実施形態に係るユーザ情報にＦＡＸ属性データを追加する場合のユーザ操作の一例（その２）を示す図である。
【図１６】本発明の第１の実施形態に係るユーザ情報にＦＡＸ属性データを追加する場合のユーザ操作の一例（その３）を示す図である。
【図１７】機器連携の動作例を示す図である。
【図１８】機器連携で想定される問題点を示す図である。
【図１９】本発明の第２の実施形態に係る機器連携の基本処理手順の一例を示す図である。
【図２０】本発明の第２の実施形態に係る情報管理部が管理するソフトウェア部品の一例を示す図である。
【図２１】本発明の第２の実施形態に係る機器連携における属性構築部の追加・登録制御の処理手順の一例を示す図である。
【図２２】本発明の第２の実施形態に係る情報の利用とバージョンとの関係を示す図である。
【図２３】本発明の第２の実施形態に係る機器連携による利用制限の処理手順（その１）の一例を示す図である。
【図２４】本発明の第２の実施形態に係る機器連携による利用制限が発生した場合の動作の一例（その１）を示す図である。
【図２５】本発明の第２の実施形態に係る機器連携による利用制限が発生した場合の動作の一例（その２）を示す図である。
【図２６】本発明の第２の実施形態に係る機器連携による利用制限の処理手順の一例（その２）を示す図である。
【図２７】本発明の第２の実施形態に係るログアウト時に行う後処理の一例を示す図である。
【図２８】本発明の第３の実施形態に係る情報生成部が有する各データ構成の一例を示す図である。
【図２９】本発明の第３の実施形態に係るカテゴリと属性との関係を示す図である。
【図３０】本発明の第３の実施形態に係るユーザ情報にカテゴリデータを追加する処理手順の一例を示す図である。
【図３１】本発明の第３の実施形態に係るユーザ情報にカテゴリデータが追加された場合の動作例を示す図である。
【図３２】本発明の第３の実施形態に係るアクセス制御に関する処理手順の一例を示す図である。
【符号の説明】
【０２５１】
１１    操作パネル
１２    記録媒体Ｉ／Ｆ
１３    コントローラ
１４    データ通信Ｉ／Ｆ
１５    スキャナ
１６    プロッタ
２１    ビュー（情報提供部）
２２    情報管理部
３０    プラグイン
３１    情報生成部
３２    属性構築部
４１    情報（機器が保有する情報）
４２    属性データ（追加された属性データ）
４３    カテゴリデータ
５１    操作権限判断部
９０    データ伝送路（電気通信回線）
１００  複合機（情報処理装置）
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置
１０４  記録媒体
１０５  ＲＯＭ
１０６  ＲＡＭ
１０７  ＣＰＵ
１０８  ＮＶ−ＲＡＭ
１０９  インタフェース装置
１１０  ＨＤＤ（不揮発性の記憶装置）
１１１  画像読取装置（スキャナ装置）
１１２  印刷装置（プロッタ装置）
Ｕ      情報を利用する機能
ＵＩ    表示画面
Ｄ      永続領域（永続データ）
ＳＭ    セッション管理
ＣＲ    キャッシュ領域（一時記憶領域）
【図１】
0005233582.tif 000002
【図２】
0005233582.tif 000003
【図３】
0005233582.tif 000004
【図４】
0005233582.tif 000005
【図５】
0005233582.tif 000006
【図６】
0005233582.tif 000007
【図７】
0005233582.tif 000008
【図８】
0005233582.tif 000009
【図９】
0005233582.tif 000010
【図１０】
0005233582.tif 000011
【図１１】
0005233582.tif 000012
【図１２】
0005233582.tif 000013
【図１３】
0005233582.tif 000014
【図１４】
0005233582.tif 000015
【図１５】
0005233582.tif 000016
【図１６】
0005233582.tif 000017
【図１７】
0005233582.tif 000018
【図１８】
0005233582.tif 000019
【図１９】
0005233582.tif 000020
【図２０】
0005233582.tif 000021
【図２１】
0005233582.tif 000022
【図２２】
0005233582.tif 000023
【図２３】
0005233582.tif 000024
【図２４】
0005233582.tif 000025
【図２５】
0005233582.tif 000026
【図２６】
0005233582.tif 000027
【図２７】
0005233582.tif 000028
【図２８】
0005233582.tif 000029
【図２９】
0005233582.tif 000030
【図３０】
0005233582.tif 000031
【図３１】
0005233582.tif 000032
【図３２】
0005233582.tif 000033