(57)【特許請求の範囲】
【請求項１】
通信ネットワーク（２）に接続された通信端末（１）をオブジェクト・デバイス（４）とインターフェースさせるための方法であって、
前記通信端末（１）から実行可能なアプリケーションの必要とされるサービス（Ｆ１、Ｆ２、Ｆ３）を決定するステップ（３３）と、
前記通信ネットワーク（２）に接続された複数のオブジェクト・デバイス（４）によって提供されるサービスを決定するステップ（３２）と、
前記アプリケーションによって必要とされるミッシング・サービスを決定するために、前記提供されたサービスと前記必要とされるサービスを比較するステップ（３５）と、
ミッシング・サービスのために、前記複数のオブジェクト・デバイスのうちから、前記ミッシング・サービスに関連するハードウェア能力（６）を有するオブジェクト・タイプに属するアップグレード可能なオブジェクト・デバイス（Ｏ１、Ｏ３）を決定するステップと、
前記アップグレード可能なオブジェクト・デバイスが、前記ミッシング・サービスを提供することを可能にするように、前記アップグレード可能なオブジェクト・デバイスにダウンロードされるように適合されたソフトウェア・モジュールについてのソフトウェア・リソース・リポジトリ（１０）を検索するステップと、
前記ソフトウェア・リソース・リポジトリから前記アップグレード可能なオブジェクト・デバイスへの前記ソフトウェア・モジュールの転送（３８）をトリガするステップと
を含む方法。
【請求項２】
前記必要とされるサービス（Ｆ１、Ｆ２、Ｆ３）は、前記アプリケーションによって必要とされる前記サービスの識別情報を含む、前記アプリケーションの記述に基づいて決定される、請求項１に記載の方法。
【請求項３】
サービスおよび／または所定のアプリケーションのユーザによる選択の関数として、前記アプリケーションの前記記述と、前記アプリケーションによって必要とされる前記サービスの前記関連する識別情報とを生成する初期ステップをさらに含む、請求項２に記載の方法。
【請求項４】
記述を生成する前記初期ステップは、サービス・データベース（１０）および／または所定のアプリケーション・データベース（９）にアクセスするステップを含み、サービスおよび／または所定のアプリケーションの前記選択は、前記サービスおよび／または所定のアプリケーション・データベースの中に含まれる前記サービスおよび／または所定のアプリケーションに基づいて行われている、請求項３に記載の方法。
【請求項５】
前記記述を生成する前記初期ステップは、前記アプリケーション（５３）の実行についての、サービスおよび／または所定のアプリケーションの間の関係（Ｉ１、Ｉ２、Ｉ３）を説明する、前記ユーザによって決定されるロジックの関数として、前記アプリケーション記述にロジック記述を生成するステップを含む、請求項３または４に記載の方法。
【請求項６】
前記アプリケーションの記述を生成する前記初期ステップは、内部アプリケーション（Ａ１）のインターフェース・ポイントの関数として、前記所定のアプリケーションによって必要とされるサービスを識別するステップを含む、請求項３乃至５のいずれか１項に記載の方法。
【請求項７】
ソフトウェア・モジュールは、前記アプリケーションの記述を生成する前記初期ステップにおいて、前記アプリケーション（５３）に関連づけられ、前記通信端末（１）に記憶され、前記ソフトウェア・モジュールについて検索する前記ステップは、前記通信端末において行われる、請求項３乃至６のいずれか１項に記載の方法。
【請求項８】
前記必要とされるサービスを決定する前記ステップは、前記オブジェクト・デバイスによって提供される前記サービスについての表示を含むオブジェクト記述にアクセスするステップをさらに含み、前記提供されたサービスを決定する前記ステップは、前記オブジェクト記述の前記提供されたサービスについての前記表示に基づいて行われる、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
アップグレード可能なオブジェクト・デバイスを決定する前記ステップは、
複数のオブジェクト・デバイス（４）についての、それぞれのオブジェクト・タイプについての表示を含むオブジェクト記述にアクセスするステップと、
前記ミッシング・サービスの関数として必要とされる、オブジェクト・デバイスのタイプを識別するステップ（３６）と、
必要とされる前記オブジェクト・タイプと、前記オブジェクト・タイプについての前記表示との関数としてオブジェクト・デバイスを選択するステップと
を含み、前記転送をトリガする前記ステップは、前記選択されたオブジェクト・デバイスに対して行われる、請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
オブジェクト・デバイスの第１の組の後にオブジェクト・デバイスの第２の組を決定するステップと、
オブジェクト・デバイスの前記第１の組（Ｏ１、Ｏ２、Ｏ３）に含まれるが、オブジェクト・デバイスの前記第２の組（Ｏ４、Ｏ５）には含まれないオブジェクト・デバイスとして期限切れのオブジェクト・デバイスを決定するステップと、
前記期限切れのオブジェクト・デバイスからの前記ソフトウェア・モジュールのアンインストールをトリガするステップと
をさらに含む、請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
前記ソフトウェア・モジュールについて検索するステップは、前記通信端末の外部にあり、前記通信ネットワーク（２）に接続されるソフトウェア・リソース・リポジトリ（１０）において行われる、請求項１乃至６のいずれか１項に記載の方法。
【請求項１２】
前記ソフトウェア・モジュールについて検索するステップは、前記通信端末（１）に一体化されているソフトウェア・リソース・リポジトリにおいて行われ、前記ソフトウェア・モジュールは、前記アプリケーションに関連づけられる、請求項１乃至６のいずれか１項に記載の方法。
【請求項１３】
前記通信端末（１）のローカライゼーションの関数として前記通信ネットワークに接続されたオブジェクト・デバイスの組（Ｏ１、Ｏ２、Ｏ３）を決定するステップをさらに含み、複数のオブジェクト・デバイスによって提供される前記サービスを決定する前記ステップは、オブジェクト・デバイスの前記組で行われる、請求項１乃至１２のいずれか１項に記載の方法。
【請求項１４】
実行されるときに、請求項１乃至１３のいずれか１項に記載の前記方法を実行するコンピュータ実行可能命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを通した、通信端末と、物理的オブジェクトとの間の相互作用についての分野に関する。
【背景技術】
【０００２】
本発明は、とりわけ、オブジェクトのインターネットに関し、またもっと正確に言えば、物理的オブジェクトをウェブを通して使用可能なリソースに変換することにある、いわゆる「モノのウェブ（Ｗｅｂ  Ｏｆ  Ｔｈｉｎｇｓ）」に関する。物理的オブジェクトは、ウェブを通して通信することができる。例えば、通信端末、テレビジョン、広告板、ランプ（ｌａｍｐ）、家庭電化製品は、インターネットを通して通信することができる。
【０００３】
このアーキテクチャの１つのアプリケーションは、ユーザが、通信端末を通して、またインターネットを通して、物理的オブジェクトと相互作用することである。そのような端末は、パーソナル・コンピュータ、ノートブック、「スマートフォン」などのセル電話であってよい。
【０００４】
そのようなメカニズムは、とりわけ「モノのウェブ」に関する研究において説明される。例えば、研究論文、Ｄ．  Ｇｕｉｎａｒｄ  ａｎｄ  Ｖ．  Ｔｒｉｆａ、「Ｔｏｗａｒｄｓ  ｔｈｅ  Ｗｅｂ  ｏｆ  Ｔｈｉｎｇｓ：  Ｗｅｂ  Ｍａｓｈｕｐ  ｆｏｒ  Ｅｍｂｅｄｄｅｄ  Ｄｅｖｉｃｅｓ」、ｉｎ  Ｐｒｏｃ．  ２ｎｄ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｍａｓｈｕｐｓ、Ｅｎｔｅｒｐｒｉｓｅｓ  Ｍａｓｈｕｐｓ  ａｎｄ  Ｌｉｇｈｔｗｅｉｇｈｔ  Ｃｏｍｐｏｓｉｔｉｏｎ  ｏｎ  ｔｈｅ  Ｗｅｂ  （ＭＥＭ’０９）、２００９年を参照されたい。
【０００５】
これらの研究は、ユーザの通信端末を通して、ユーザと、物理的オブジェクトとの間の相互作用の可能性を増大させるために、アプリケーションについての使用可能なリソースとして物理的オブジェクトをみなすことを可能にすることを目指している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｄ．  Ｇｕｉｎａｒｄ  ａｎｄ  Ｖ．  Ｔｒｉｆａ、「Ｔｏｗａｒｄｓ  ｔｈｅ  Ｗｅｂ  ｏｆ  Ｔｈｉｎｇｓ：  Ｗｅｂ  Ｍａｓｈｕｐ  ｆｏｒ  Ｅｍｂｅｄｄｅｄ  Ｄｅｖｉｃｅｓ」、ｉｎ  Ｐｒｏｃ．  ２ｎｄ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｍａｓｈｕｐｓ、Ｅｎｔｅｒｐｒｉｓｅｓ  Ｍａｓｈｕｐｓ  ａｎｄ  Ｌｉｇｈｔｗｅｉｇｈｔ  Ｃｏｍｐｏｓｉｔｉｏｎ  ｏｎ  ｔｈｅ  Ｗｅｂ  （ＭＥＭ’０９）、２００９年
【発明の概要】
【課題を解決するための手段】
【０００７】
一実施形態においては、本発明は、通信ネットワークに接続された通信端末をオブジェクト・デバイスとインターフェースさせるための方法であって、
通信端末から実行可能なアプリケーションの必要とされるサービスを決定するステップと、
通信ネットワークに接続された複数のオブジェクト・デバイスによって提供されるサービスを決定するステップと、
アプリケーションによって必要とされるミッシング・サービス（ｍｉｓｓｉｎｇ  ｓｅｒｖｉｃｅ（欠落しているサービス））を決定するために、提供されたサービスと必要とされるサービスを比較するステップと、
ミッシング・サービスのために、複数のオブジェクト・デバイスのうちから、前記ミッシング・サービスに関連するハードウェア能力を有するオブジェクト・タイプに属するアップグレード可能なオブジェクト・デバイスを決定するステップと、
アップグレード可能なオブジェクト・デバイスが、ミッシング・サービスを提供することを可能にするように、アップグレード可能なオブジェクト・デバイスにダウンロードされるように適合されたソフトウェア・モジュールについてのソフトウェア・リソース・リポジトリ（ｓｏｆｔｗａｒｅ  ｒｅｓｏｕｒｃｅ  ｒｅｐｏｓｉｔｏｒｙ）を検索するステップと、
ソフトウェア・リソース・データベースからアップグレード可能なオブジェクト・デバイスへのソフトウェア・モジュールの転送をトリガするステップと
を含む方法を提供している。
【０００８】
実施形態によれば、そのようなデバイスは、以下の特徴のうちの１つまたは複数を備えることができる。
【０００９】
本方法の実施形態においては、必要とされるサービスは、アプリケーションによって必要とされるサービスの識別情報を含む、アプリケーションの記述に基づいて決定される。
【００１０】
本方法の実施形態においては、本方法は、サービスおよび／または所定のアプリケーションのユーザによる選択の関数として、アプリケーションの記述と、アプリケーションによって必要とされるサービスの関連する識別情報とを生成する初期ステップをさらに含む。
【００１１】
本方法の実施形態においては、記述を生成するステップは、サービス・データベースおよび／または所定のアプリケーション・データベースにアクセスするステップを含み、サービスおよび／または所定のアプリケーションの選択は、サービスおよび／または所定のアプリケーション・データベースの中に含まれるサービスおよび／または所定のアプリケーションに基づいて行われている。
【００１２】
本方法の実施形態においては、記述を生成するステップは、アプリケーションの実行についての、サービスおよび／または所定のアプリケーションの間の関係を説明する、ユーザによって決定されるロジックの関数として、アプリケーション記述にロジック記述を生成するステップを含む。
【００１３】
本方法の実施形態においては、アプリケーションの記述を生成するステップは、内部アプリケーションのインターフェース・ポイントの関数として所定のアプリケーションによって必要とされるサービスを識別するステップを含む。
【００１４】
本方法の実施形態においては、ソフトウェア・モジュールは、アプリケーションの記述を生成する初期ステップにおいてアプリケーションに関連づけられ、通信端末に記憶され、ソフトウェア・モジュールについて検索するステップは、通信端末において行われる。
【００１５】
本方法の実施形態においては、必要とされるサービスを決定するステップは、オブジェクトによって提供されるサービスについての表示を含むオブジェクト記述にアクセスするステップをさらに含み、提供されたサービスを決定するステップは、オブジェクト記述の提供されたサービスについての表示に基づいて行われる。
【００１６】
本方法の実施形態においては、アップグレード可能なオブジェクトを決定するステップは、
複数のオブジェクト・デバイスについての、それぞれのオブジェクトのタイプについての表示を含むオブジェクト記述にアクセスするステップと、
ミッシング・サービスの関数として必要とされる、オブジェクト・デバイスのタイプを識別するステップと、
必要とされるオブジェクトのタイプと、オブジェクトのタイプについての表示との関数としてオブジェクト・デバイスを選択するステップと
を含み、転送をトリガするステップは、選択されたオブジェクト・デバイスに対して行われる。
【００１７】
本方法の実施形態においては、本方法は、
オブジェクト・デバイスの第１の組の後にオブジェクト・デバイスの第２の組を決定するステップと、
オブジェクト・デバイスの第１の組に含まれるが、オブジェクト・デバイスの第２の組には含まれないオブジェクト・デバイスとして期限切れ（ｏｕｔｄａｔｅｄ）のオブジェクト・デバイスを決定するステップと、
期限切れのオブジェクト・デバイスからのソフトウェア・モジュールのアンインストール（ｕｎｉｎｓｔａｌｌｉｎｇ）をトリガするステップと
をさらに含む。
【００１８】
本方法の実施形態においては、ソフトウェア・モジュール検索ステップは、通信端末の外部にあり、通信ネットワークに接続されるソフトウェア・リソース・リポジトリにおいて行われる。
【００１９】
本方法の実施形態においては、検索ステップは、通信端末に一体化されているソフトウェア・リソース・リポジトリにおいて行われ、ソフトウェア・モジュールは、アプリケーションに関連づけられる。
【００２０】
本方法の実施形態においては、本方法は、通信端末のローカライゼーションの関数として通信ネットワークに接続されたオブジェクト・デバイスの組を決定するステップをさらに含み、複数のオブジェクト・デバイスによって提供されるサービスを決定するステップは、オブジェクト・デバイスの前記組で行われる。
【００２１】
一実施形態においては、本発明はまた、実行されるときに上記で述べられた方法を実行するコンピュータ実行可能命令を含むコンピュータ・プログラムを提供する。
【００２２】
本発明は、それらのオブジェクトが、特に、ユーザの関数として、例えば、ユーザの主導で、新しいサービスを統合するように簡単に変化し、または進化することができないという観察を起源としている。例えば、アプリケーションが、その環境においてそれらのオブジェクトと、それが必要とするサービスをマッチさせることができないときに、アプリケーションは、そのロジックをそれらのオブジェクトに対して適用することができず、またそれゆえにそのタスクを遂行することができない。したがって、ユーザの環境の中に存在するオブジェクトが、変化するときに、例えば、ユーザが、ある場所から別の場所へと移動しているときに、サービスのうちのいくつかが、使用可能でなくなる可能性があるので、サービスの連続性は、アプリケーションのために提供されないこともある。
【００２３】
したがって、本発明が、基づいているアイデアは、ユーザ環境のオブジェクトにおいて、アプリケーションを起動するために必要とされるミッシング・サービスを検出することにある方法を提供し、また以前のミッシング・サービスが、アプリケーションの操作性を保証するために使用可能になるので、そのようにオブジェクトを自動的にアップデートすることである。それゆえに、本方法は、アプリケーションを動作可能にするためにオブジェクトに対して欠落している必要とされるサービスを提供することにより、ユーザの環境における変化に動的に対処することを可能にする。
【００２４】
本発明のこれらの態様および他の態様は、例として、図面を参照して、本明細書において以下で説明される実施形態から、明らかになり、またそれらの実施形態に関連して明らかにされるであろう。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態が、実装され得るシステムの一般的アーキテクチャの概略表現を示す図である。
【図２】本発明の一実施形態による方法が、通信端末の上で使用されるときに、２つの特徴的な場所においておのおのの時刻における逐次的ポイントの概略表現を示す図である。
【図３】本発明の一実施形態による方法が、通信端末の上で使用されるときに、２つの特徴的な場所においておのおのの時刻における逐次的ポイントの概略表現を示す図である。
【図４】本発明の一実施形態による方法が、通信端末の上で使用されるときに、２つの特徴的な場所においておのおのの時刻における逐次的ポイントの概略表現を示す図である。
【図５】図２から図４において使用される方法を示すフローチャートである。
【発明を実施するための形態】
【００２６】
図１は、ユーザ１３によって制御され、またネットワーク２に接続された通信端末１を示すものである。もっと正確に言えば、通信端末１は、それがネットワーク２と通信することを可能にする通信インターフェース３を備えている。通信端末１は、モバイル電話などのモバイル端末、すなわち、スマートフォンまたはノードブックとすることができ、また通信インターフェース３は、そのときには、無線インターフェース、すなわち、Ｗｉｆｉ、３Ｇ、ＬＴＥなどとすることができる。
【００２７】
複数の物理的オブジェクト４が、特にテレビジョン１４と、ランプ１５とが、通信ネットワーク２に接続される。その目的のために、物理的オブジェクト４はまた、物理的オブジェクト４において直接に構築されるインターフェース・デバイスを通してネットワーク２に接続された通信インターフェース５を備えている。代わりに、インターフェース・デバイスは、複数の物理的オブジェクト４と、通信ネットワーク２との間にゲートウェイを形成することができる。
【００２８】
物理的オブジェクト４は、異なる性質のものとすることができる。例えば、物理的オブジェクト４は、広告板、テレビジョン、ランプ、家庭電化製品、通信端末、冷蔵庫、カメラ、メディア・ドライブ、情報ディスプレイなどのデバイスとすることができる。これらの物理的オブジェクト４は、ユーザの家に存在することもできるが、また公共の環境または他のロケーション、例えば、ユーザの仕事場に存在することもできる。
【００２９】
通信ネットワーク２は、一般に、異なる種類のネットワークを、例えば、個人用有線ネットワーク、公共ネットワーク、無線ネットワークなどを備えることができる複合ネットワークである。
【００３０】
物理的オブジェクト４は、それらのネットワーク・インターフェース５を経由して複数のサービス８を提供する。サービス８は、「モノのウェブ」を通して使用可能である、物理的オブジェクト４によって提供される機能であり、それゆえに、ユーザの端末１を通して、または別の物理的オブジェクト４によって使用され、またはアクティブにされることもある。例えば、テレビジョン１４は、チャネルについての変更すること、輝度を変更すること、ボリュームを変更すること、写真またはビデオストリームを表示することなどを含むいくつかのサービス８を提供することができる。サービスのこのパネルを用いて、テレビジョンをリモートに制御することが、可能である。
【００３１】
同様に、ランプ１５は、サービスを提供する。例えば、ランプは、スイッチ・オン／スイッチ・オフ・サービスを提供する。さらに、ランプ１５は、ランプ１５の光と、カラーとを変化させることができるハードウェア６を備えている。スイッチ・オン／スイッチ・オフ・サービスは、光を変化させる、ランプ１５の能力によって可能にされる。もっと正確に言えば、スイッチ・オン／スイッチ・オフ・モジュール１７は、ユーザの端末１によって放出される命令に基づいて、ランプ１５をオンにすること、またはランプ１５をオフにすることを可能にする。しかしながら、たとえランプ１５が、すでにスイッチ・オン／スイッチ・オフ・サービスを提供するスイッチ・オン／スイッチ・オフ・モジュールを一体化しているとしても、ランプ１５は、さらに、新しいサービスを提案するように進化することができる。
【００３２】
その目的のために、各物理的オブジェクトは、拡張モジュール７を備える。この拡張モジュール７は、ソフトウェア・モジュールが、記憶され得る情報ストレージを備えている。物理的オブジェクトの上に記憶されるとき、ソフトウェア・モジュールにより、物理的オブジェクト４は、新しいサービスを提供することができるようになる。新しいサービスは、ユーザの端末１と、ソフトウェア・モジュールのインターフェース・ポイントとの間でインターフェースすることを通して、ユーザの端末１にアクセスすることができる。
【００３３】
例えば、ソフトウェア・モジュールは、それぞれの物理的オブジェクト４のハードウェア６と、ユーザ端末１などの外部オブジェクトとの間の相互作用を可能にするソフトウェア・モジュールとすることができる。その目的のために、第１の端部において、ソフトウェア・モジュールは、ユーザの端末１のインターフェース・ポイントから別の物理的オブジェクト４のインターフェース・ポイントへと、または別の物理的オブジェクト４のインターフェース・ポイントからユーザの端末１のインターフェース・ポイントへと、データストリームを受信すること、および／または放出することを可能にするインターフェース・ポイントを備えている。他方の端部において、ソフトウェア・モジュールは、コマンドを提供し、かつ／または物理的オブジェクト４のハードウェア６からデータを受信する。
【００３４】
ランプ１５において実装され得る新しいサービスの特定の一例は、ブリンク・サービスである。このブリンク・サービスは、「オン」と「オフ」との特定のシーケンスでランプ１５をブリンクさせる。それゆえに、ソフトウェア・モジュールは、ランプ１５の情報ストレージの上にインストールされることもあり、またオン・デマンドでブリンク・サービスを提供することができる。このサービスにより、ランプは、そのハードウェアに関連する新しい能力または機能を提供することができるようになる。しかしながら、別の種類のサービスはまた、オブジェクト６に記憶されるデータとすることもできる。
【００３５】
通信端末１は、ユーザが、通信端末１のストレージ・デバイスに記憶されるアプリケーションを実行し、かつ／または生成することを可能にするユーザ・インターフェースを備えている。
【００３６】
各アプリケーションは、そのタスクを遂行するために、物理的オブジェクト４によって提供される１つまたは複数のサービス８を必要とする。それゆえに、アプリケーションが、実行され、またはアクティブになるときに、ユーザの端末１は、物理的オブジェクト４と通信し、また物理的オブジェクト４のソフトウェア・モジュールを通して提供されたサービスを特に使用する。例えば、実行されるときに、「ランプをオンにする」アプリケーションは、ランプのスイッチ・オン／スイッチ・オフ・モジュールの使用を必要とする。
【００３７】
しかしながら、アプリケーションによって必要とされるサービスは、ユーザの環境の中に存在する物理的オブジェクト４の上で最初に使用可能ではないこともある。
【００３８】
実際に、必要とされるサービスは、物理的オブジェクト４の製造フェーズにおいては期待されていないこともある。それゆえに、周囲を取り巻く物理的オブジェクト４とアプリケーションをインターフェースさせて、前記アプリケーションを実行することができるようにするために、通信端末１は、必要とされたサービスが、欠けている適切な物理的オブジェクト４の１つにおいて、追加のソフトウェア・モジュールの実装形態を開始することができる。
【００３９】
特定の一例として、ユーザの端末は、「アンビライト（ａｍｂｉｌｉｇｈｔ）」アプリケーションを備えている。ランプ１５と、テレビジョン１４とを有する環境において実行されるときに、アンビライト・アプリケーションは、ユーザが、このテレビジョン１４の上で映画を見るときに、テレビジョン１４のピクチャの支配的なカラーを計算するために、トランスペアレントなやり方で、ランプ１５が、テレビジョン１４と通信を行う。次いで、ランプ１５は、支配的なカラーに従って、ユーザ環境のカラーを変化させる。
【００４０】
しかしながら、上記で述べられたランプ１５は、画面の支配的なカラーの関数として光のカラーを変化させる機能、ならびにテレビジョン１４からランプ１５への支配的なカラーの通信を開始することになる物理的オブジェクト通信に対して物理的オブジェクトを提供する機能を提供するサービスを最初に提供してはいない。
【００４１】
それゆえに、通信端末１は、アンビライト・アプリケーションに対してこのアンビライト・サービスを提供することを可能にすることになるランプ１５の中でソフトウェア・モジュールを自動的に実装する。もっと正確に言えば、ソフトウェア・モジュールは、支配的なカラーを含むデータストリームを受信するためにテレビジョン１４と通信することになる。支配的なカラーを用いて、ソフトウェア・モジュールは、ハードウェア６に対して命令を与えて、それに応じてランプ１５のカラーを変化させることになる。
【００４２】
この実装は、アプリケーションの実行の瞬間に行われることもある。代わりに、実装は、その環境におけるユーザの端末１においてアプリケーションの実行を可能にするために、物理的オブジェクト４を絶えずアップグレードするバックグラウンド・プロトコルとして達成されることもある。
【００４３】
物理的オブジェクト４の中の必要とされるサービスの自動的実装は、ユーザの環境が、変化するときに、アクティブなアプリケーションの動作の連続性を可能にする。
【００４４】
アプリケーションを管理し、また生成するために、通信端末１は、アクティビティ生成モジュール２０（ＡＣ−Ｍ：Ａｃｔｉｖｉｔｙ  Ｃｒｅａｔｉｏｎ  Ｍｏｄｕｌｅ）と、アクティビティ管理モジュール２１（ＡＭ−Ｍ：Ａｃｔｉｖｉｔｙ  Ｍａｎａｇｅｍｅｎｔ  Ｍｏｄｕｌｅ）とを備える。
【００４５】
アクティビティ生成モジュール２０により、ユーザは、拡張されたアプリケーションを生成することができるようになり、この拡張されたアプリケーションはまた、１つまたは複数のオブジェクトのサービスを使用することになり、また実行されるときにアプリケーションを使用することもできる指向性アクティビティ（ｏｒｉｅｎｔｅｄ  ａｃｔｉｖｉｔｙ）とも呼ばれる。そのような拡張されたアプリケーションの生成により、ユーザは、いくつかのアプリケーションと、１つの同じ拡張されたアプリケーションにおけるサービスとを組織することができるようになる。この拡張されたアプリケーションは、延長された期間の上でバックグラウンド・アプリケーションとして実行されることもある。
【００４６】
もっと正確に言えば、拡張されたアプリケーションは、アプリケーションの参照と、ロジック記述と、少なくとも１つのサービス拡張とを含むことができるメタ・データ・パッケージである。
【００４７】
ロジック記述は、アプリケーションと、拡張されたアプリケーションにおけるサービス拡張との間の論理的関係を指定する。
【００４８】
サービス拡張は、周囲を取り巻く物理的オブジェクト４の中で使用されるべきサービスに対する参照を行い、また例えば、アプリケーションが、インターフェース・ポイントを通して物理的オブジェクト４と通信することを可能にすることになるソフトウェア・インターフェースに対応するアプリケーション・プログラミング・インターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）に関連づけられることもある。
【００４９】
言い換えれば、拡張されたアプリケーションは、アプリケーションを実行するために必要なサービスを示し、またサービスと、アプリケーションとを組織するロジックを備えるサービス・プロファイルに対応する。サービス拡張は、それらの意味論的記述によって識別される。
【００５０】
ユーザ１３は、１つまたはいくつかのアプリケーション、および／または１つまたはいくつかのサービス拡張を追加することにより拡張されたアプリケーションを生成する。
【００５１】
サービス拡張は、拡張データベース１０をぶち壊すことにより見出されることもあり、またアプリケーションは、ユーザの端末１の外部にあることもあるアプリケーション・データベース９の中で取り出されることもある。アプリケーションが、アプリケーション・データベース９から取り出されるときに、サービス拡張は、指向性アクティビティに追加され、またアプリケーションの必要性に従って、すなわち、それぞれのアプリケーションのインターフェース・ポイントに従って、アプリケーションにリンクされる。もっと正確に言えば、これらの必要性は、それぞれのアプリケーションの意味論的記述によって示されることもあり、また適切なサービス拡張は、これらの必要性に従って拡張データベース１０からユーザの端末によって識別されることもある。
【００５２】
指向性アクティビティの生成中に、ユーザ１３は、その実行中にユーザによって期待されるようにサービスとアプリケーションとを組織することになる論理的スキームを構成することにより、その呼び出されたアプリケーションと、サービスとの実行を調整することができる。
【００５３】
例えば、図３において、アプリケーション５３は、３つのサービス拡張Ｆ１、Ｆ２およびＦ３と、論理的関係１１、１２、１３によって相互に関係づけられた１つのアプリケーションＡ１とを含む。
【００５４】
アクティビティ管理モジュール２１により、ユーザ１３は、拡張されたアプリケーションにアクセスし、またそれを実行することができるようになる。それゆえに、アクティビティ管理モジュール２１により、ユーザは、拡張されたアプリケーションを手動で実行し、または拡張されたアプリケーションを現在の時刻の関数として自動的に実行することができるようになる。言い換えれば、拡張されたアプリケーションは、現在の時刻が、アクティビティ管理モジュール２１を通してユーザによってあらかじめ定義される指定されたタイムスロットの中にあるときに、通信端末１によって自動的にアクティブにされることもある。さらに、いくつかの拡張されたアプリケーションが、同じ時刻にアクティブであることもある。
【００５５】
アクティビティ管理モジュール２１は、例えば、通信端末１の内部データベース１２においてユーザによって生成される拡張されたアプリケーションを取り出し、またはリモート・データベース１１に問い合わせを行うことにより、それにアクセスする。リモート・データベース１１の場合には、アプリケーションが、選択されるときに、アプリケーションは、ダウンロードされ、また通信端末１の上に記憶される。
【００５６】
拡張されたアプリケーションの実行を制御するために、通信端末１は、サービス拡張に従ったアプリケーションと、サービスとの、また拡張されたアプリケーションの、また拡張されたアプリケーションのそれぞれの制御ロジックに従った、実行と組織化とを保証する実行モジュール２２（ＥＸＥ−Ｍ：ｅｘｅｃｕｔｉｏｎ  ｍｏｄｕｌｅ）をさらに備えている。
【００５７】
ユーザ環境の適切な物理的オブジェクト４をアップグレードして、拡張されたアプリケーションの実行を可能にする目的のために、通信端末１は、オブジェクト概説モジュール１８（ＯＦＯ−Ｍ：ｏｂｊｅｃｔ  ｏｖｅｒｖｉｅｗ  ｍｏｄｕｌｅ）と、ミッシング・サービス・コレクタ・モジュール１９（ＭＦＣ−Ｍ：ｍｉｓｓｉｎｇ  ｓｅｒｖｉｃｅ  ｃｏｌｌｅｃｔｏｒ  ｍｏｄｕｌｅ）とを備える。
【００５８】
オブジェクト概説モジュール１８は、ユーザ１３の環境を分析して、この環境の中の使用可能な物理的オブジェクト４の組をリストアップし、またこれらの物理的オブジェクト４によって提供されるサービスを決定する。
【００５９】
外部データベースは、使用可能な物理的オブジェクト４を参照することができる。このデータベースは、オブジェクト４と、それらの地理的位置とを関連づけることができる。例えば、データベースは、それらの特性と、状態と、ハードウェア能力と、提供されたサービスと、オブジェクトのタイプと、地理的位置とに物理的オブジェクト４の識別子を関連づけるデータを含むことができる。これらのデータは、各物理的オブジェクト４に関連する記述として記憶される。記述は、例えば、ＸＭＬ言語の形であり、また意味論的記述と呼ばれることもある。特に、地理的位置は、緯度座標と経度座標とすることができる。物理的オブジェクト４の組は、通信端末１のローカライゼーションによって動的に決定されることもある。言い換えれば、端末１の中のコンピューティング手段は、バックグラウンド・プロトコルを通して、通信端末１のローカライゼーションの関数として、物理的オブジェクト４の組を絶えずリフレッシュすることができる。
【００６０】
オブジェクト概説モジュール１８は、オブジェクト概説モジュール１８によって決定される環境の中の提供されたサービスのリストに従って、物理的オブジェクト４の組においてミッシング・サービスを決定する。
【００６１】
次いで、ミッシング・サービス・コレクタ・モジュール１９は、適切な物理的オブジェクト４の上の必要とされるサービスの提供を可能にするソフトウェア・モジュールを実装する。ソフトウェア・モジュールは、サービス拡張データベース１０から、またはローカル・データベースから提供される。
【００６２】
図２から図４は、２つの別々の場所におけるいくつかの逐次的瞬間における物理的オブジェクト４と、通信端末１および５２との状態を示すものである。これらの逐次的瞬間中に、拡張されたアプリケーション５３および５４の動作の連続性は、ソフトウェア・モジュールの自動的実装により可能にされる。
【００６３】
図２は、２つの異なる場所における初期状態に対応している。各場所は、隣接する物理的オブジェクト４の組の論理的識別情報に対応する。
【００６４】
ユーザのリビング・ルームに対応する第１の場所５０は、３つの異なる物理的オブジェクト４を、すなわち、ビデオ・カメラＯ１と、テレビジョンＯ２と、ハイファイ・システムＯ３とを備える。
【００６５】
ユーザの台所に対応する第２の場所５１は、２つの異なる物理的オブジェクト４を、すなわち、赤ちゃん電話（ｂａｂｙ  ｐｈｏｎｅ）Ｏ４と、冷蔵庫の上の画面Ｏ５とを備える。
【００６６】
この初期状態においては、サービスの組は、すでに、２つの場所に存在するいくつかの物理的オブジェクト４から使用可能であり、また概略図に示された円によって示される。例えば、テレビジョンＯ２は、２つの異なるパターンによって概略図に示される２つの異なるサービスを提供し、Ｘパターンは、ショー・ビデオ・ストリーム・サービス（Ｓｈｏｗ  Ｖｉｄｅｏ  Ｓｔｒｅａｍ  ｓｅｒｖｉｃｅ）５５に対応している。
【００６７】
図３において、ユーザＵ１は、第１の場所５０に到着し、また通信端末１を用いて、拡張アプリケーションであるビデオ・コール・アプリケーション５３をアクティブにする。ビデオ・コール・アプリケーション５３は、メモの自動的取込みを伴う周囲を取り巻く物理的オブジェクト４を使用したビデオ・コールと、ユーザ１３の振る舞いの関数として画面の上にビデオ・コールの表示とを行う。特に、ユーザが、テレビジョンＯ２の方向をのぞき込むときに、ビデオ・コールは、テレビジョンＯ２の上に表示される。このアプリケーション５２は、それらの振る舞いまたは状態に影響を及ぼすことになる周囲を取り巻く物理的オブジェクト４によって提供されるべきサービスを示す３つのサービス拡張Ｆ１、Ｆ２、Ｆ３を含んでいる。
【００６８】
もっと正確に言えば、Ｆ１は、サウンドトラックの関数としてメモの提供を必要とするスピーチ・ツー・テキスト（ｓｐｅｅｃｈＴｏＴｅｘｔ）機能に対応する。Ｆ２は、「存在センサ（ｐｒｅｓｅｎｓｅ  ｓｅｎｓｏｒ）」機能に対応し、またビデオを記録する物理的オブジェクトが、ユーザの注意と、ユーザの視野の方向とを監視することを可能にするアイ・トラッキング・サービス（ｅｙｅＴｒａｃｋｉｎｇ  ｓｅｒｖｉｃｅ）によって遂行されることもある。Ｆ３は、ビデオ・コールが、物理的オブジェクト４の画面に対してブロードキャストされることを必要とする機能を示している。
【００６９】
サービス拡張Ｆ１、Ｆ２およびＦ３は、拡張されたアプリケーションの意味論的記述において意味論的値に関連づけられることが好ましい。ユーザの端末１のオブジェクト概説モジュール１８は、周囲を取り巻く物理的オブジェクト４を分析して、オブジェクトが、サービス拡張の意味論的値と、周囲を取り巻くオブジェクトによって提供されるサービスとを比較することにより、アプリケーションのサービス拡張、または同等のサービスをマッチさせるサービスを提供するかどうかを決定する。
【００７０】
サービス拡張と、提供されたサービスとの関連づけは、提供されたサービスと、必要とされたサービスとの対応する意味論的値が、重要な意味論的相関関係を提示するときに行われる可能性がある。
【００７１】
意味論的値は、サービスまたは補完的キーワードの識別子とすることができる。それゆえに、相関関係は、サービスに関連するサービスまたは補完的キーワードの識別子の上で直接に行われることもある。同様に、相関関係は、サービス拡張の識別子に基づいたもの、またはサービス拡張に関連するキーワードに基づいたものとすることができる。例えば、関連づけは、サービス拡張と、提供されたサービスとが、同一のキーワードまたは識別子を提示する場合に行われる可能性がある。
【００７２】
しかしながら、他の方法が、使用されることもあり、また他の方法は、意味論的値が別のものよりももっと一般化される可能性があることを考慮に入れることができる。例えば、サービスは、「表示ピクチャ」意味論的値を有することができ、またアプリケーションは、「表示写真」意味論的記述を有することができる。次いで、そのような相関関係は、次いで、アプリケーションをそれぞれの物理的オブジェクト４に関連づけるユーザの端末１によって検出されることもある。ある相関関係が、２つの意味論的値が同義語であるときに、ユーザの端末によって検出されることもある。
【００７３】
より微細な相関関係を行う必要があることもある。その目的のために、通信端末１の計算手段は、オントロジー（ｏｎｔｏｌｏｇｙ）を使用することができる。このオントロジーは、ウェブの上でアクセス可能とすることができ、またはローカルとすることができる。オントロジーは、新しいサービスと、新しい進化と、新しいデバイスとを統合するように進化することができる。オントロジーの使用は、類似した概念を相互に関連させることを可能にし、すなわち、例えば、「シンチレート（ｓｃｉｎｔｉｌｌａｔｅ）」は、「ブリンク」に相互に関連づけられることもある。
【００７４】
例に戻って参照すると、テレビジョンＯ２だけは、必要とされるサービスのうちの１つを提供し、これは、ショー・ビデオ・ストリーム・サービス５５である。２つのサービスが、第１の場所５０に対応する環境において欠落しているので、ミッシング・サービス５６および５７は、データベースから取り出されて、アプリケーションの実行を保証する。代わりに、ソフトウェア・モジュールは、ソフトウェア・パッケージとしてアクティビティの中へと直接にパッケージされる。
【００７５】
ミッシング・サービス５６および５７に対応する適切なソフトウェア・モジュールは、ミッシング・サービス・コレクタ・モジュール１９によって適切な物理的オブジェクト４の上にインストールされて、必要とされるサービスを提供し、すなわち、スピーチ・ツー・テキスト・サービス５６は、ハイファイ・システムＯ３の上にインストールされ、またアイ・トラッキング・サービス５７は、ビデオ・カメラＯ１の上にインストールされる。
【００７６】
次いで、実行モジュール２２は、その制御ロジックに従って、ビデオ・コール・アプリケーション５３を実行する。
【００７７】
図４において、ユーザＵ１は、第２の場所５１へと移動しているが、そのビデオ・コール・アプリケーション５３は、依然としてアクティブである。ユーザの環境と、もっと正確に言えば、周囲を取り巻くオブジェクトとは、完全に変化している。
【００７８】
それゆえに、オブジェクト概説モジュール１８と、ミッシング・サービス・コレクタ・モジュール１９とは、周囲を取り巻くオブジェクトＯ４およびＯ５の自動的アップデートを遂行する。オブジェクト概説モジュール１８は、サービス拡張Ｆ２が、すでにオブジェクトＯ５によって使用可能であることを識別する。
【００７９】
ミッシング・サービス・コレクタ・モジュール１９は、２つのオブジェクトＯ４およびＯ５の上にミッシング・サービスＦ１およびＦ３をインストールする。アプリケーションは、それゆえに、そのタスクを継続することができ、またこのようにして、アプリケーションの連続性が、保証される。
【００８０】
ところで、第２のユーザＵ２は、第１の場所５０に到着しており、またサービス拡張Ｆ２、Ｆ４およびＦ５を含むアプリケーション５４を使用する。サービス拡張Ｆ２は、サービス５７を必要としており、サービス拡張Ｆ４は、サービス５９を必要としており、またサービス拡張Ｆ５は、サービス５８を必要としている。それゆえに、オブジェクト概説モジュール１８は、サービス拡張Ｆ５およびＦ２によって必要とされるサービスが、すでにオブジェクトＯ１およびＯ２の上で使用可能であることを識別する。しかしながら、サービス拡張Ｆ４によって必要とされるサービスは、周囲を取り巻く物理的オブジェクトＯ１、Ｏ２およびＯ３には存在しない。ミッシング・サービス・コレクタ・モジュール１９は、オブジェクトＯ１の上へミッシング・サービス５９をインストールする。それゆえに、アプリケーション５４は、それが、ビデオ・コール・アプリケーション５３のために通信端末１によって追加されるサービス５７を使用するので、第１のユーザＵ１のビデオ・コール・アプリケーション５３を通して獲得される、以前にインストールされたソフトウェア・モジュールを利用する。
【００８１】
実施形態においては、インストールされたソフトウェア・モジュールは、ユーザが、場所を離れた後に、その場所のアップデートされたオブジェクトから自動的にアンインストールされる可能性がある。その目的のために、通信端末１は、もはやユーザの環境の中には存在しなくて、またソフトウェアがその上にインストールされた期限切れの物理的オブジェクトを決定し、また次いで、ソフトウェア・モジュールのアンインストールをトリガする。代わりに、物理的オブジェクト４は、ある種の時間の後に、ソフトウェア・モジュールを自動的にアンインストールすることもできる。
【００８２】
アプリケーションの必要性に従って物理的オブジェクトをアップグレードするための方法が、次に、図５を参照して説明されることになる。
【００８３】
第１のステップ３０において、オブジェクト概説モジュール１８は、ユーザ環境を分析して、ユーザの環境の中でオブジェクトを見出す。第１のテスト３１において、オブジェクト概説モジュール１８は、オブジェクトが、環境の中に存在しているかどうかを検証する。オブジェクトが、存在していない場合、プロセスは、停止される。
【００８４】
オブジェクトが、オブジェクト概説モジュールによって検出される場合、オブジェクト概説モジュールは、リソース・リスト・ステップ３２において、ユーザ環境に従ってオブジェクトの組を生成する。オブジェクト概説モジュール１８は、さらに、オブジェクトの組によって提供される使用可能なサービスをリストアップする。その目的のために、オブジェクト概説モジュール１８は、オブジェクトの組の意味論的記述を分析する。
【００８５】
必要とされるサービス・リスト・ステップにおいて、オブジェクト概説モジュール１８は、ユーザによって実行されるアプリケーションに従って、必要とされるサービスのリストを生成する。その目的のために、各アプリケーションは、そのアプリケーションとインターフェースされる必要があるサービスを特に説明している意味論的記述に関連づけられる。オブジェクト概説モジュール１８は、提供されたサービスの意味論的記述と、必要とされるサービスの意味論的記述とを比較する。
【００８６】
すべての必要とされるサービスが、オブジェクトによって提供される場合、アプリケーションは、ステップ４０において、実行モジュールによって起動され、そうでない場合には、オブジェクト概説モジュール１８は、ユーザ環境のオブジェクトにおいてマッチしていないサービスのリストを作る。
【００８７】
さらなるステップ３６においては、オブジェクト概説モジュール１８は、ミッシング・サービスを実装することができるオブジェクトのタイプにミッシング・サービスを関連づけるテーブルを生成することにより、ミッシング機能（ｍｉｓｓｉｎｇ  ｆｅａｔｕｅｒｓ）が実装され得るオブジェクトのタイプを決定する。その目的のために、オブジェクト概説モジュール１８は、各ミッシング・サービスについてのミッシング・サービス要件を取り出す。ミッシング・サービス要件は、拡張データベース１０から取り出されることもあり、またはサービス拡張記述の中で直接に示されることもある。オブジェクト概説モジュール１８は、物理的オブジェクト４の意味論的記述を分析して、物理的オブジェクト４のハードウェア能力を識別する。次いで、各オブジェクト４のハードウェア能力は、ミッシング・サービスのおのおののハードウェア要件と比較されて、物理的オブジェクト４が、ミッシング・サービスと互換性のあるタイプに属しているかどうかを決定する。
【００８８】
マッチした物理的オブジェクトが、ミッシング・サービスに関連づけられ得ない場合には、本方法は、停止する。そうでなければ、テスト３７には、マッチした物理的オブジェクトの上で、ハードウェア能力を使用して、ミッシング・サービスを提供することができる適切なソフトウェア・モジュール３８をインストールするステップが、続いている。
【００８９】
他の実施形態においては、オブジェクト概説モジュールは、ドライバ・リファレンス（ｄｒｉｖｅｒｓ  ｒｅｆｅｒｅｎｃｅｓ）、または意味論的記述の中の物理的オブジェクトの製品識別子および製造者識別子を識別して、物理的オブジェクトと、ミッシング・サービスとが互換性があるかどうかを決定することができる。分析される物理的オブジェクトについてのデータは、最初に、物理的オブジェクト４を参照する外部データベースに記憶され、または前記物理的オブジェクト４それ自体におけるデータ・ストレージに記憶されることもある。
【００９０】
その目的のために、サービス・コレクタ・モジュール１９は、内部にある外部ソフトウェア・データベースとすることができるソフトウェア・データベースから通信端末１へマッチしたオブジェクトを有するミッシング・サービスを提供するように適合されたソフトウェア・モジュールを取り出す。代わりに、すでにアプリケーションに関連づけられているパッケージされたソフトウェア・モジュールが、インストールされることもある。通信端末は、データベースからソフトウェア・モジュールの物理的オブジェクト４へのダウンロードと、物理的オブジェクトの上のそのインストールとを開始する。
【００９１】
さらなるテスト３９においては、サービス・コレクタ・モジュール１９は、ソフトウェア・モジュールが、成功裏にインストールされるかどうかを検証する。ソフトウェア・モジュールが、成功裏にインストールされる場合、アプリケーションは、次のステップ４０において実行モジュール２２によって起動されることもあり、それゆえに物理的オブジェクト４のサービスをアクティブにし、または使用している。
【００９２】
本発明は、説明された実施形態だけには限定されない。添付の特許請求の範囲は、当業者なら思い付く可能性のあるすべての修正形態と、代替的構造とを具現化するように解釈されるべきであり、これらのすべての修正形態と代替的構成とは、ここで説明される基本的な教示にほとんど含まれる。「備える」または「含む」という動詞と、その動詞の活用形の使用は、ある請求項において述べられるこれらの要素またはステップ以外の要素またはステップの存在を排除するものでない。さらに、要素またはステップに先行した冠詞「１つの（ａ）」または「１つの（ａｎ）」の使用は、複数のそのような要素またはステップの存在を排除するものでない。本発明は、ハードウェアならびにソフトウェアを用いて実装される可能性がある。ハードウェアの同じ項目は、いくつかの「手段」を表すことができる。
【００９３】
特許請求の範囲においては、括弧の中に配置されるどのような参照符号も、特許請求の範囲の範囲を限定するものとして解釈されるべきではない。
【図１】
0006027236.tif 000002
【図２】
0006027236.tif 000003
【図３】
0006027236.tif 000004
【図４】
0006027236.tif 000005
【図５】
0006027236.tif 000006