(57)【特許請求の範囲】
【請求項１】
ソフトウェアバージョンの履歴を保持する被制御装置を制御する制御装置の制御方法であって、
前記被制御装置の現在のソフトウェアバージョンを取得する第１の取得工程と、
前記第１の取得工程で取得した前記被制御装置の現在のソフトウェアバージョンと前記制御装置のソフトウェアバージョンとが一致するか判定する判定工程と、
前記判定工程で一致しないと判定すると、前記被制御装置のソフトウェアバージョンの履歴を取得する第２の取得工程と、
前記第２の取得工程で取得した前記被制御装置のソフトウェアバージョンの履歴に存在する前記制御装置と一致するソフトウェアバージョンにロールバックするよう前記被制御装置に要求する要求工程と
を有することを特徴とする制御方法。
【請求項２】
ソフトウェアバージョンの履歴を保持する被制御装置を制御する制御装置であって、
前記被制御装置の現在のソフトウェアバージョンを取得する第１の取得手段と、
前記第１の取得手段で取得した前記被制御装置の現在のソフトウェアバージョンと前記制御装置のソフトウェアバージョンとが一致するか判定する判定手段と、
前記判定手段で一致しないと判定すると、前記被制御装置のソフトウェアバージョンの履歴を取得する第２の取得手段と、
前記第２の取得手段で取得した前記被制御装置のソフトウェアバージョンの履歴に存在する前記制御装置と一致するソフトウェアバージョンにロールバックするよう前記被制御装置に要求する要求手段と
を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアバージョンの履歴を保持する被制御装置を制御する制御装置の制御方法、及び制御装置に関する。
【背景技術】
【０００２】
電子計算機技術の進歩により、従来は、単一の機能しか有せず相互に有機的に接続することができなかったオフィス機器や一般の家庭用機器においても、ネットワークを通じた結合と処理の連携といった機能が実現されるようになった。このような機器制御装置のネットワーク通じた融合を実現するネットワーク技術として、ＵＰｎＰ（Universal Plug and Play）、Ｊｉｎｉ、Ｊｘｔａ等の機器制御用プロトコルが知られている。
【０００３】
次に、これらの機器制御用プロトコルの代表例として、ＵＰｎＰについて説明する。ＵＰｎＰは、インターネットの世界で事実上のディファクトスタンダードとなった、以下のようなプロトコルをサポートするネットワーク上で用いられる機器制御用プロトコルである。すなわち、ＩＰ（Internet Protocol）、ＴＣＰ（Transfer Control Protocol）、ＵＤＰ（User Datagram Protocol）がある。また、ＨＴＴＰ（Hyper Text Transfer Protocol）及びＸＭＬ（eXtensible Markup Language）等もある。
【０００４】
ＵＰｎＰでは、ネットワーク上に接続された機器制御装置の発見にＳＳＤＰ（Simple Service Discover Protocol）を用いる。また、制御対象となる機器制御装置のあらかじめ定義されている仕様や設定を表現するプロファイル情報の把握にもＳＳＤＰを用いる。ＳＳＤＰは、ＵＰｎＰを構成するための基幹部分であり、ＩＥＴＦから標準仕様が発行されている。機器の発見には、ＩＰブロードキャストを用いる。
【０００５】
例えば、「デジタルビデオストリームを再生できる機器は？」とブロードキャストする。この場合、条件に合う機器が自主的に問い合わせ元に対してＩＰアドレスとホスト名を送信する。また、制御対象となる機器制御装置のあらかじめ定義されている仕様や設定、具体的にどのような機能を持っているか等のプロファイル情報もこのときに交換する。尚情報交換に使われるデータ形式はＸＭＬであり、ＨＴＴＰにより通信される。
【０００６】
機器の制御には、ＳＯＡＰ（Simple Object Access Protocol）を用いる。ＳＯＡＰは、ＸＭＬ  Ｗｅｂサービスのやり取りを円滑に行うために取り決められた、ＲＰＣベースのインターネット通信の業界標準プロトコルである。ＳＯＡＰを使用して制御メッセージを機器に送信し、リザルト又はエラーを取得する。ＵＰｎＰ制御要求は、パラメータを指定して呼び出すアクションを含んでいるＳＯＡＰメッセージであり、レスポンスもＳＯＡＰメッセージでステータスが含まれており、値とパラメータが返却される。
【０００７】
ＵＰｎＰに代表されるようなネットワークを通じて機器を相互に接続するために用いる機器制御用プロトコルでは、現時点で最新のスナップショットを表現することができるプロファイル情報の構造を採用しているケースが多い。しかし、現在のスナップショットだけでは、詳細なプロファイル情報を得ることができない。そこで、スナップショットだけでなく、ユーザのコンテンツの閲覧履歴や操作履歴等、リスト管理できるものをプロファイル情報として収集することができる操作履歴収集システムが提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−２０９６０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記ＵＰｎＰに代表されるような機器制御用プロトコルでは、前述したように、現時点でのスナップショットを表現することができるプロファイル情報の構造を採用しているケースが多い。しかし、実際には、プロファイル情報の項目、特にステータス情報は、時系列に変化する項目が多く存在する。例えば、ソフトウェアのバージョン情報、電源のステータス等がある。しかしながら、上記ＵＰｎＰに代表されるような機器制御用プロトコルで採用しているプロファイル情報の構造では、これらの時系列に変化する情報を時系列に従って表現することができない。そこで、このような項目に対して、履歴収集や変更予測等を行うためには、機器制御用プロトコルを取り扱うミドルウェアではなく、アプリケーションにおいて独自の方法で行う必要がある。
【０００９】
また、特許文献１のように操作履歴や閲覧履歴を収集するというシステムは存在するが、この場合の操作履歴や閲覧履歴とは、プロファイル情報を取得した時点での過去に操作したリストや閲覧したリストである。すなわち、プロファイル情報を取得した時点でのスナップショットであることには変わりない。従って、操作履歴及び閲覧履歴が時系列にどのように変化したかを表現することはできない。
【００１０】
本発明は、このような事情を考慮してなされたものであり、以下のようなプロファイル管理システム及び方法並びにプログラムを提供することを目的とする。すなわち、情報の時間軸を導入した３次元構造のプロファイル情報を用いて過去のプロファイル情報を再現することが可能であり、今までアプリケーションが独自に行っていた履歴情報の参照等の処理を抽象化し共通化する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様は、ソフトウェアバージョンの履歴を保持する被制御装置を制御する制御装置の制御方法であって、前記被制御装置の現在のソフトウェアバージョンを取得する第１の取得工程と、前記第１の取得工程で取得した前記被制御装置の現在のソフトウェアバージョンと前記制御装置のソフトウェアバージョンとが一致するか判定する判定工程と、前記判定工程で一致しないと判定すると、前記被制御装置のソフトウェアバージョンの履歴を取得する第２の取得工程と、前記第２の取得工程で取得した前記被制御装置のソフトウェアバージョンの履歴に存在する前記制御装置と一致するソフトウェアバージョンにロールバックするよう前記被制御装置に要求する要求工程と
を有することを特徴とする。
【００１２】
上記課題を解決するために、本発明の一態様は、ソフトウェアバージョンの履歴を保持する被制御装置を制御する制御装置であって、前記被制御装置の現在のソフトウェアバージョンを取得する第１の取得手段と、前記第１の取得手段で取得した前記被制御装置の現在のソフトウェアバージョンと前記制御装置のソフトウェアバージョンとが一致するか判定する判定手段と、前記判定手段で一致しないと判定すると、前記被制御装置のソフトウェアバージョンの履歴を取得する第２の取得手段と、前記第２の取得手段で取得した前記被制御装置のソフトウェアバージョンの履歴に存在する前記制御装置と一致するソフトウェアバージョンにロールバックするよう前記被制御装置に要求する要求手段とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、情報の時間軸を導入した３次元構造のプロファイル情報を用いて過去のプロファイル情報を再現することが可能であり、今までアプリケーションが独自に行っていた履歴情報の参照等の処理を抽象化し共通化することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の一実施形態について説明する。以下では、具体的な一実施形態について記載しているが、本発明はこの具体的な一実施形態だけに限定されるものではない。
【００１６】
図１は、本発明の一実施形態に係るプロファイル管理システム全体の構成図である。図１に示すように、プロファイル管理システムには、デジタルカメラ１００、デジタルビデオカメラ１０１、プリンタ１０２、スキャナ１０３及びプロジェクタ１０４が、ネットワーク１０５を介して互いに接続している。尚、本実施形態では、５種類のデバイスがネットワーク１０５に接続している例を挙げているが、この種類だけのデバイスに限定されるものではない。
【００１７】
図２は、本発明の従来技術に係るプロファイル管理システムの構成の概要を説明するための図である。図２に示す従来のプロファイル管理ミドルウェア２０１では、自機器２０５及び他機器２０４にかかわらず、機器のプロファイル情報の現時点でのスナップショットしか保持することができない。これは、プロファイルの構造がスナップショットしか表現できないためである。従って、プロファイル管理ミドルウェア２０１から機器制御アプリケーション２００に公開されるＡＰＩ２０６は、スナップショットのプロファイル情報に対する情報の取得及び操作に限定される。
【００１８】
このようなプロファイル管理ミドルウェア２０１を使用する機器制御アプリケーション２００において、プロファイル情報の履歴収集等の処理を実装したい場合は、次のような制限があった。すなわち、自機器２０３及び他機器２０２にかかわらず、各機器のプロファイル情報を独自の方法（例えば、管理したい機器制御装置すべてのプロファイル情報の全情報をリスト化する）で保持しなければならなかった。従って、機器制御アプリケーションによっては、全く保持の仕方が異なってしまうことがあり、履歴情報の参照や取得といった処理を抽象化し共通化することができなかった。
【００１９】
一方、図３は、本発明の一実施形態に係るプロファイル管理システムの構成の概要を説明するための図である。図３に示す本発明に係るプロファイルの構造においては、時系列に変化する情報を取り扱うことができるようになっている。従って、プロファイル管理ミドルウェア３０１は、自機器３０３及び他機器３０２にかかわらず、各機器に対して１つのプロファイル情報を保持していればよい。また、プロファイル管理ミドルウェア３０１が機器制御アプリケーション３００に対して公開しているＡＰＩ３０４において、履歴情報の参照及び操作といった処理を提供できるため、処理を抽象化し共通化することができる。さらに、ＡＰＩ３０４により履歴情報の参照及び操作ができるため、機器制御アプリケーション３００において、履歴情報に関する独自の処理を実装する必要がない。
【００２０】
図４Ａは、本発明の一実施形態に係るプロファイル管理システムで使用するプロファイルの構造を示す図である。また、図４Ｂは、図４Ａに示すプロファイルの構造をＸＭＬ表記で記述した例を示す図である。図４Ａと図４Ｂに示すように、例えば、ＡＰＩバージョン、Ｐｏｗｅｒ、Ｓｔａｔｕｓといったステータス情報は時系列で変化するため、時間軸を導入し、時系列での変化に対応できるようになっている。
【００２１】
また、図４Ｃは、図４Ａと図４Ｂに示すプロファイル構造から最新のプロファイル情報のスナップショットを作成した場合の例を示す図である。尚、図４Ｃに示すプロファイル構造は、従来技術と同様の表現形式も当然実現できる構造になっている。
【００２２】
また、図４Ｄは、図４Ａと図４Ｂに示すプロファイル構造から２００４年２月１日１３時時点でのプロファイル情報のスナップショットを作成した場合の例を示す図ある。このように、従来と同様の表現形式を用いて、時間軸を遡り、過去のプロファイル情報のスナップショットを作成することも可能である。尚、図４Ａから図４Ｄに示すプロファイル構造における各項目は一例であって、この項目だけに限定されるものではない。
【００２３】
次に、本発明の一実施形態に係るプロファイル管理システムに接続している機器制御装置について説明する。図５は、本発明の一実施形態に係るプロファイル管理システムをＰＣ（パーソナルコンピュータ）を使用して実現した場合のシステムブロック図である。尚、機器制御装置としては、ＰＣ以外に、ワークステーション、ノートブックＰＣ、パームトップＰＣ等でも実現可能である。また、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、電話、ＦＡＸ、携帯電話、ＰＨＳ、電子手帳等を含む他の機器制御装置と通信するための通信機能を有する端末、又は、これらの組合せによっても実施可能である。
【００２４】
図５において、５０１は、コンピュータシステムの制御を司る中央演算装置（ＣＰＵ）である。５０２は、ランダムアクセスメモリ（ＲＡＭ）であり、ＣＰＵ５０１の主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとして機能する。
【００２５】
５０３は、ＣＰＵ５０１の動作処理手順を記録しているリードオンリーメモリー（ＲＯＭ）である。ＲＯＭ５０３には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト（ＯＳ）を記録したプログラムＲＯＭとシステムを稼動するために必要な情報等が記録されたデータＲＯＭがある。ＲＯＭ５０３の代わりに、後述のＨＤＤ５０９を用いる場合もある。
【００２６】
５０４は、ネットワークインターフェース（ＮＥＴＩＦ）であり、ネットワークを介してコンピュータシステム間のデータ転送を行うための制御や接続状況の診断を行う。５０５は、ビデオＲＡＭ（ＶＲＡＭ）であり、コンピュータシステムの稼動状態を示す後述するＣＲＴ５０６の画面に表示される画像を展開し、その表示の制御を行う。５０６は表示装置であって、例えば、ディスプレイである。以下では、ＣＲＴと記す。
【００２７】
５０７は、後述する外部入力装置５０８からの入力信号を制御するコントローラである。５０８は、コンピュータシステムの利用者がコンピュータシステムに対して行う操作を受け付けるための外部入力装置であり、例えば、キーボード等である。５０９は、記憶装置を示し、例えば、ハードディスク等である。以下では、ＨＤＤと記す。ＨＤＤ５０９は、アプリケーションプログラムや、画像情報等のデータ保存用に用いられる。本実施形態におけるアプリケーションプログラムとは、本実施形態を構成する各種機器制御手段を実行するソフトウェアプログラム等である。
【００２８】
５１０は、外部入出力装置であって、例えばフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ等のリムーバブル記憶装置を入出力するものであり、上述したアプリケーションプログラムの媒体からの読み出し等に用いられる。以下では、ＦＤＤと記す。尚、ＨＤＤ５０９に格納するアプリケーションプログラムやデータをＦＤＤ５１０に格納して使用することも可能である。
【００２９】
そして、図５において、５００は、上述した各ユニット間の接続するための入出力バス（アドレスバス、データバス、及び制御バス）である。
【００３０】
図６は、本発明の一実施形態に係るプロファイル管理システムに接続している機器制御装置で実行されるアプリケーションモジュール構成を説明するための図である。
【００３１】
図６に示すように、プロファイル管理システムに接続している機器制御装置は、機器制御アプリケーション６００、プロファイル管理ミドルウェア６０１を有する。まず、プロファイル管理ミドルウェア６０１は、プロファイル制御機能（ＡＰＩ）提供部６０２、プロファイル管理部６０３、機器制御プロトコル制御部６０４、メッセージ送受信部６０５を含む構成である。また、プロファイル管理部６０３は、プロファイル情報表現部６０３ａ、情報変換予測部６０３ｂ、プロファイル操作部６０３ｃ、統計情報解析部６０３ｄを含む構成である。さらにまた、メッセージ送受信部６０５は、メッセージ送信部６０５ａ、メッセージ受信部６０５ｂを含む構成である。
【００３２】
図７は、本発明の一実施形態に係るプロファイル管理システムにおいて機器制御アプリケーション６００がプロファイル情報を取得する処理を説明するためのフローチャートである。
【００３３】
まず、機器制御アプリケーション６００が、機器制御機能（ＡＰＩ）提供部６０２が提供するＡＰＩを使用して、プロファイル管理ミドルウェア６０１に対して、プロファイル情報取得要求を送信する（ステップＳ７００）。このプロファイル情報取得要求には、時間パラメータが含まれる。
【００３４】
次に、プロファイル情報取得要求を受信したプロファイル管理ミドルウェア６０１は、以下の判定を行う（ステップＳ７０１）。すなわち、プロファイル情報表現部６０３ａにおいて要求されたプロファイル情報を作成するために、ＡＰＩによって取得した時間パラメータの値が現在、過去、或いは未来のいずれかであるのかを判定する。
【００３５】
その結果、ステップＳ７０１において過去と判定された場合は、保持しているプロファイル情報から指定された日時のスナップショットを作成する（ステップＳ７０２）。また、ステップＳ７０１において現在と判定された場合は、保持しているプロファイル情報から最新のスナップショットを作成する（ステップＳ７０３）。
【００３６】
一方、ステップＳ７０１で未来と判定された場合は、情報変更予測部６０３ｂは、履歴情報を分析する（ステップＳ７０４）。そして、分析した結果から未来の値を予測する（ステップＳ７０５）。例えば、電源ステータスのようにＯＮとＯＦＦを繰り返すようなステータス情報については、履歴情報に基づいて、今後どのようにステータスが変更されるかを予測することが可能である。そして、プロファイル情報表現部６０３ａは、ステップＳ７０５において予測された値を用いて、返却すべきプロファイル情報のスナップショットを作成する（ステップＳ７０６）。
【００３７】
次に、ステップＳ７０２、Ｓ７０３又はＳ７０６で作成したプロファイル情報のスナップショットを機器制御アプリケーション６００に返却する（ステップＳ７０７）。尚、プロファイル情報の履歴を取得するためのパラメータを含むプロファイル情報取得要求を受信した場合には、プロファイル情報の履歴を返却する。
【００３８】
図８は、本発明の一実施形態に係るプロファイル管理システムにおいて、機器制御アプリケーション６００がプロファイル情報の値の有効範囲を取得する処理を説明するためのフローチャートである。
【００３９】
まず、機器制御アプリケーション６００は、機器制御機能（ＡＰＩ）提供部６０２が提供するＡＰＩを使用して、プロファイル管理ミドルウェア６０１に対して、プロファイル値有効範囲要求を送信する（ステップＳ８００）。次に、プロファイル値有効範囲取得要求を受信したプロファイル管理ミドルウェア６０１は、統計情報解析部６０３ｄにおいて、要求された項目のプロファイル値を分析する（ステップＳ８０１）。
【００４０】
そして、ステップＳ８０１で分析された結果に基づいて、統計情報解析部６０３ｄは実測値の範囲を取得する（ステップＳ８０２）。次いで、実測値の範囲が理論的な範囲（例えば、システムステータスでは、Ｒｅａｄｙ、Ｔｒａｎｓｉｔｉｎｇ、Ｓｌｅｅｐ、Ｄｏｗｎの４つの範囲）より広いかどうかを判定する（ステップＳ８０３）。
【００４１】
その結果、ステップＳ８０３において理論値の範囲より広いと判定された場合（Ｙｅｓ）は、理論値の範囲を返却する（ステップＳ８０４）。一方、ステップＳ８０３において理論値の範囲と等しい或いは狭いと判定された場合（Ｎｏ）は、実測値の範囲を返却する（ステップＳ８０５）。尚、実測値の範囲と理論値の範囲が等しい場合は、実測値の範囲と理論値の範囲のどちらを返却してもよい。すなわち、どちらの範囲を返却しても、返却される結果は等しいものとなる。
【００４２】
上記図７と図８では、いずれも同一機器制御装置に存在する機器制御アプリケーション６００とプロファイル管理ミドルウェア６０１を例として説明した。ここで、この二者がネットワークを介して接続している場合は、各種要求は、メッセージ受信部６０５ｂから受信し、各種応答はメッセージ送信部６０５ａから送信することになる。
【００４３】
尚、このときメッセージ送信部５０４ａが送信する際、及びメッセージ受信部５０４ｂが受信する際は、インターネットプロトコル（ＩＰ）が用いられる。この場合、ＩＰのバージョンはＩＰｖ４とＩＰｖ６の双方が使用可能である。また、実際に通信経路として使用される媒体は、有線或いは無線を用いることができる。機器制御用プロトコルによっては、さらにＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＳＭＴＰ、ＳＮＭＰ、ＦＴＰ等の通信プロトコルが用いられる場合もある。
【００４４】
例えば、機器Ａが機器Ｂを制御する際に、機器Ａのソフトウェアバージョンが１．０で機器Ｂが２．０のようにバージョンが不一致であり、制御できないような場合を想定する。このような場合に、プロファイルをソフトウェアバージョンが１．０であった状態にロールバックすることにより制御可能になる。
【００４５】
図９は、本発明の一実施形態に係るプロファイル管理システムにおいて、プロファイル情報が異なる２台の機器制御装置間で行われるプロファイル交換手続を説明するためのフローチャートである。尚、図９では、機器Ａのソフトウェアバージョンが１．０で機器Ｂのソフトウェアバージョンが２．０のようにプロファイル情報が異なっているものとする。
【００４６】
まず、機器制御装置Ａは、自身のメッセージ送信部６０５ａから機器制御装置Ｂに対して、現在のソフトウェアバージョンを取得するために、プロファイル情報取得要求を送信する（ステップＳ９０１）。尚、この際にメッセージ送信部６０５ａが送信する際は、インターネットプロトコル（ＩＰ）が用いられる。この場合、ＩＰのバージョンはＩＰｖ４とＩＰｖ６の双方が使用可能である。また、実際に通信経路として使用される媒体は、有線或いは無線を用いることができる。機器制御用プロトコルによっては、さらにＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＳＭＴＰ、ＳＮＭＰ、ＦＴＰ等の通信プロトコルが用いられる場合もある。
【００４７】
次に、機器制御装置Ｂは、自身のメッセージ受信部６０５ｂにおいて、機器制御装置Ａから送信されたプロファイル情報取得要求を受信する（ステップＳ９１１）。尚、このときメッセージ受信部６０５ｂが受信する際は、インターネットプロトコル（ＩＰ）が用いられる。この場合、ＩＰのバージョンはＩＰｖ４とＩＰｖ６の双方が使用可能である。また、実際に通信経路として使用される媒体は、有線或いは無線を用いることができる。機器制御用プロトコルによっては、さらにＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＳＭＴＰ、ＳＮＭＰ、ＦＴＰ等の通信プロトコルが用いられる場合もある。
【００４８】
そして、機器制御用装置Ｂは、現在のソフトウェアバージョンである２．０を機器制御用装置Ａに対してメッセージ送信部９０５ａから送信する（ステップＳ９１２）。尚、この処理は、ステップＳ７０３、Ｓ７０７に対応する。
【００４９】
そして、機器制御用装置Ａは、機器制御用装置Ｂから送信されてきた現在のソフトウェアバージョンをメッセージ受信部９０５ｂで受信する（ステップＳ９０２）。次いで、機器制御用装置Ａは、自身のソフトウェアバージョンと機器制御用装置Ｂのソフトウェアバージョンが、相互運用性があるかどうか（すなわち、バージョンが同じかどうか）を判定する（ステップＳ９０３）。その結果、ステップＳ９０３で相互運用性があると判定された場合（Ｙｅｓ）は、処理を終了する。一方、ステップＳ９０３において相互運用性がないと判定された場合（Ｎｏ）は、次の動作を行う。すなわち、機器制御用装置Ｂのソフトウェアバージョンの履歴を取得するために、機器制御用装置Ｂにプロファイル情報取得要求をメッセージ送信部９０５ａから送信する（ステップＳ９０４）。
【００５０】
機器制御用装置Ｂは、メッセージ受信部６０５ｂ機器制御用装置Ａからプロファイル情報所得要求を受信する（ステップＳ９１３）。そして、機器制御用装置Ｂは、ソフトウェアバージョンの履歴を機器制御用装置Ａに対してメッセージ送信部９０５ａから送信する（ステップＳ９１４）。
【００５１】
機器制御用装置Ａは、機器制御用装置Ｂから送信されてきたソフトウェアバージョンの履歴をメッセージ受信部９０５ｂで受信する（ステップＳ９０５）。そして、機器制御用装置Ａは、自身のソフトウェアバージョンと、機器制御用装置Ｂのソフトウェアバージョンの履歴を比較し、相互運用性があるバージョンが存在するかどうかを判定する（ステップＳ９０６）。すなわち、機器制御用装置Ａは、自分のソフトウェアバージョンと同じソフトウェアバージョンが存在するかどうかを判定する。
【００５２】
そして、機器制御用装置Ａは、機器制御用装置Ｂに対してプロファイルロールバック要求をメッセージ送信部９０５ａから送信する（ステップＳ９０７）。これは、自身のソフトウェアバージョンと相互運用性がある（すなわち、自分のソフトウェアバージョンと同じ）ソフトウェアバージョンである１．０に機器制御用装置Ｂのソフトウェアバージョンをロールバックしてもらうために行われる。
【００５３】
そして、機器制御用装置Ｂは、機器制御用装置Ａから送信されたプロファイルロールバック要求をメッセージ受信部６０５ｂで受信する（ステップＳ９１５）。そして、機器制御用装置Ｂは、自身のプロファイル情報をソフトウェアバージョンが１．０である過去の状態にロールバックする（ステップＳ９１６）。さらに、機器制御用装置Ｂは、ロールバックされたプロファイル情報に従って、自身の状態をロールバックする（ステップＳ９１７）。すなわち、ソフトウェアバージョンが２．０のものアンインストールし、自身が保持しているソフトウェア履歴から、１．０のものをリロードしインストールする。
【００５４】
尚、図９に示す例では、自身の履歴からリロードする方法を示したが、これに限定されるわけではない。例えば、過去のバージョンをサーバ機器等からダウンロードしインストールする方法を使用しても良い。
【００５５】
そして、機器制御用装置Ｂは、自身のプロファイル及び機器の状態を要求通りロールバックすることに成功したことを機器制御用装置Ａに対してメッセージ送信部６０５ａから送信し（ステップＳ９１８）、プロファイル交換処理を終了する。
【００５６】
一方、機器制御用装置Ａは、機器制御用装置Ｂからロールバックが成功したというメッセージをメッセージ受信部６０５ｂで受信し（ステップＳ９０８）、プロファイル交換処理を終了する。
【００５７】
以上説明したように、本実施形態によれば、情報の親子関係、情報の兄弟関係に加えて、情報の時間経過の軸を導入した３次元構造により、機器制御装置のあらかじめ定義されている仕様や設定、及び履歴といったプロファイル情報を表現した。これにより、現在の最新のプロファイル情報のスナップショットだけでなく、時間軸を遡ることにより、過去のプロファイル情報を再現することが可能となる。また、今までアプリケーションで独自に行っていた履歴情報の参照や取得といった処理を抽象化し共通化することが可能となる。
【００５８】
さらに、機器制御装置のプロファイル情報の、情報の時間経過による変化を解析することにより、例えば、電源ステータスのようにＯＮとＯＦＦを繰り返すようなステータス情報について、今後どのようにステータスが変更されるかを予測することが可能となる。
【００５９】
例えば、ＰＣのＣＰＵ使用率として、理論的に０〜１００の値を取るとした場合、実測値として８０〜１００といった値を返却することができる。すなわち、常に、８０〜１００のＣＰＵ使用率の高負荷状態で動作していることが、プロファイルを取得することで把握することが可能となる。
【００６０】
さらに、機器制御装置のプロファイル情報に理論的な範囲があった場合に、情報の時間経過による統計情報を解析する。これにより、ステータスの理論値の範囲を持っている場合において、実際に使用されている値が理論値の範囲と異なった場合に、より正確な実際の理論値の範囲を提示することが可能となる。例えば、ステータスの理論値の範囲として、システムステータスでは、Ｒｅａｄｙ、Ｔｒａｎｓｉｔｉｎｇ、Ｓｌｅｅｐ、Ｄｏｗｎの４つの範囲を持っているとする。
【００６１】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６５】
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）。
【００６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係るプロファイル管理システム全体の構成図である。
【図２】本発明の従来技術に係るプロファイル管理システムの構成の概要を説明するための図である。
【図３】本発明の一実施形態に係るプロファイル管理システムの構成の概要を説明するための図である。
【図４Ａ】本発明の一実施形態に係るプロファイル管理システムで使用するプロファイルの構造を示す図である。
【図４Ｂ】図４Ａに示すプロファイルの構造をＸＭＬ表記で記述した例を示す図である。
【図４Ｃ】図４Ａと図４Ｂに示すプロファイル構造から最新のプロファイル情報のスナップショットを作成した場合の例を示す図である。
【図４Ｄ】図４Ａと図４Ｂに示すプロファイル構造から２００４年２月１日１３時時点でのプロファイル情報のスナップショットを作成した場合の例を示す図ある。
【図５】本発明の一実施形態に係るプロファイル管理システムをＰＣ（パーソナルコンピュータ）を使用して実現した場合のシステムブロック図である。
【図６】本発明の一実施形態に係るプロファイル管理システムに接続している機器制御装置で実行されるアプリケーションモジュール構成を説明するための図である。
【図７】本発明の一実施形態に係るプロファイル管理システムにおいて機器制御アプリケーション６００がプロファイル情報を取得する処理を説明するためのフローチャートである。
【図８】本発明の一実施形態に係るプロファイル管理システムにおいて、機器制御アプリケーション６００がプロファイル情報の値の有効範囲を取得する処理を説明するためのフローチャートである。
【図９】本発明の一実施形態に係るプロファイル管理システムにおいて、プロファイル情報が異なる２台の機器制御装置間で行われるプロファイル交換手続を説明するためのフローチャートである。
【符号の説明】
【００７１】
１００  デジタルカメラ
１０１  デジタルビデオカメラ
１０２  プリンタ
１０３  スキャナ
１０４  プロジェクタ
１０５  ネットワーク
３００、６００  機器制御アプリケーション
３０１、６０１  プロファイル管理ミドルウェア
３０２  他機器プロファイル管理部
３０３  自機器プロファイル管理部
３０４  機器制御ＡＰＩ
６０２  機器制御機能（ＡＰＩ）提供部
６０３  プロファイル管理部
６０３ａ  プロファイル情報表現部
６０３ｂ  情報変更予測部
６０３ｃ  プロファイル情報操作部
６０３ｄ  統計情報解析部
６０４  機器制御プロトコル制御部
６０５  メッセージ送受信部 
６０５ａ  メッセージ送信部
６０５ｂ  メッセージ受信部  
【図２】
0004829563.tif 000002
【図３】
0004829563.tif 000003
【図４Ａ】
0004829563.tif 000004
【図４Ｂ】
0004829563.tif 000005
【図４Ｃ】
0004829563.tif 000006
【図４Ｄ】
0004829563.tif 000007
【図５】
0004829563.tif 000008
【図６】
0004829563.tif 000009
【図７】
0004829563.tif 000010
【図８】
0004829563.tif 000011
【図９】
0004829563.tif 000012
【図１】
0004829563.tif 000013