(57)【特許請求の範囲】
【請求項１】
いくつかの分散されたソフトウェア構成要素（ＣＡ）を、第１のデータ処理手段（ＣＰ）によって、伝送ネットワーク（ＲＴ）から第２のデータ処理手段（ＴＥ）にインストールし、アプリケーションとして展開して実行するための方法であって、
前記第１のデータ処理手段（ＣＰ）は、前記ソフトウェア構成要素（ＣＡ）と、これらのソフトウェア構成要素（ＣＡ）間の接続を定義する少なくとも１つの接続要素（ＣＸ）とを組合せてアプリケーション（ＡＰ）として記述する記述子（ＤＡＰ）を格納しており、
前記第２のデータ処理手段（ＴＥ）は、前記伝送ネットワーク（ＲＴ）に接続しており、
前記第１のデータ処理手段（ＣＰ）からのインストール・コマンドに基づいて前記伝送ネットワーク（ＲＴ）から前記第２のデータ処理手段（ＴＥ）に前記ソフトウェア構成要素（ＣＡ）をインストールし、前記アプリケーションとして展開して配置し、前記アプリケーションを実行し、
前記方法は、
前記記述子（ＤＡＰ）中に含まれ、ユーザによるパラメータ化に従って最も高い優先度レベルを優先要素に設定することによって発生される少なくとも１つの優先度インジケータを検査することにより、前記アプリケーション（ＡＰ）の少なくとも１つのソフトウェア構成要素（ＣＡ１）を優先要素として選択する第１のステップと、
前記第１のデータ処理手段（ＣＰ）から前記第２のデータ処理手段（ＴＥ）に少なくとも１つのインストール・コマンドを送信することにより、前記伝送ネットワーク(ＲＴ)の少なくとも１つのサイトから前記第２のデータ処理手段（ＴＥ）に前記優先要素をインストールして展開する第２のステップと、
前記優先要素がインストールされるとすぐに、前記第２のデータ処理手段（ＴＥ）に前記アプリケーション（ＡＰ）を実行させる第３のステップと、からなることを特徴とする方法。
【請求項２】
前記第３のステップは、
優先要素として選択されていないソフトウェア構成要素（ＣＡ２、ＣＡ４）を前記アプリケーション（ＡＰ）の実行と並行して非同期で前記第２のデータ処理手段（ＴＥ）にインストールするステップに付随していることを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のデータ処理手段（ＴＥ）による前記アプリケーション（ＡＰ）の実行中にインストールされていないソフトウェア構成要素（ＣＡ２、ＣＡ４）が呼び出された場合、前記方法は、呼び出された前記ソフトウェア構成要素（ＣＡ２、ＣＡ４）をインストールし、その後前記アプリケーション（ＡＰ）の実行を続行することを特徴とする請求項１または２に記載の方法。
【請求項４】
前記第２のデータ処理手段（ＴＥ）から前記第１のデータ処理手段（ＣＰ）に前記アプリケーション（ＡＰ）の実行コンテキストを伝送するステップを更に含み、
前記優先要素として選択されていない前記ソフトウェア構成要素（ＣＡ２、ＣＡ４）が、前記伝送された実行コンテキストに従って前記アプリケーション（ＡＰ）の実行と並行して、前記第２のデータ処理手段（ＴＥ）にインストールされることを特徴とする請求項２または３に記載の方法。
【請求項５】
前記アプリケーション（ＡＰ）の少なくとも１つのソフトウェア構成要素（ＣＡ３、ＣＡ６）を非優先要素として選択するステップを更に含み、
前記非優先要素は、前記アプリケーション（ＡＰ）の実行中に呼び出された場合に限り、前記第２のデータ処理手段（ＴＥ）にインストールされることを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記アプリケーション（ＡＰ）の実行の終わりに、前記アプリケーション（ＡＰ）の実行中に使用された前記ソフトウェア構成要素（ＣＡ）の頻度に従って、前記アプリケーション（ＡＰ）の前記ソフトウェア構成要素（ＣＡ）のそれぞれの前記優先度インジケータを更新するステップを更に含むことを特徴とする請求項１乃至５のいずれかに記載の方法。
【請求項７】
データ処理手段（ＴＥ）にリンクされた伝送ネットワーク（ＲＴ）の少なくとも１つのサイト上に分散配置されているいくつかのソフトウェア構成要素（ＣＡ）を、前記伝送ネットワーク（ＲＴ）から前記データ処理手段（ＴＥ）にインストールし、アプリケーションとして展開して実行するための電子オブジェクト（ＣＰ）であって、前記電子オブジェクト（ＣＰ）は、
前記ソフトウェア構成要素（ＣＡ）と、これらのソフトウェア構成要素（ＣＡ）間の接続を定義する少なくとも１つの接続要素（ＣＸ）とを組合せてアプリケーション（ＡＰ）として記述する記述子（ＤＡＰ）と、
前記ソフトウェア構成要素（ＣＡ）を前記記述子（ＤＡＰ）に従って前記アプリケーションとして展開する展開コマンドを前記データ処理手段（ＴＥ）に伝送するための処理手段（ＰＩ）とを具備し、
前記記述子（ＤＡＰ）は、少なくとも１つのソフトウェア構成要素（ＣＡ１）を前記アプリケーション（ＡＰ）の優先要素として選択するために、ユーザによるパラメータ化に従って最も高い優先度レベルを前記優先要素に設定することによって発生される少なくとも１つの優先度インジケータを含み、
前記処理手段（ＰＩ）は、前記アプリケーション（ＡＰ）の起動が行われるまでは、前記優先要素のみを前記伝送ネットワーク（ＲＴ）の少なくとも１つのサイトから前記データ処理手段（ＴＥ）にインストールして展開することを特徴とする電子オブジェクト。
【請求項８】
優先要素として選択されていない前記アプリケーション（ＡＰ）のソフトウェア構成要素（ＣＡ２、ＣＡ４）を前記アプリケーション（ＡＰ）の実行と並行して非同期で前記データ処理手段（ＴＥ）にインストールすることを特徴とする請求項７に記載の電子オブジェクト。
【請求項９】
前記電子オブジェクトがマイクロコントローラ・カード・タイプのものであることを特徴とする請求項７または８に記載の電子オブジェクト。
【請求項１０】
マイクロコントローラ・カード・タイプのポータブル電子オブジェクト（ＣＰ）と、データ伝送ネットワーク（ＲＴ）に接続された端末（ＴＥ）と、前記ポータブル電子オブジェクト（ＣＰ）と通信するための手段とを含み、
アプリケーション（ＡＰ）を展開するシステムであって、
前記ポータブル電子オブジェクト（ＣＰ）は、
いくつかの分散されたソフトウェア構成要素（ＣＡ）を、前記データ伝送ネットワーク（ＲＴ）から前記端末（ＴＥ）にインストールし、アプリケーションとして展開して実行するものであって、
前記ソフトウェア構成要素（ＣＡ）と、これらのソフトウェア構成要素（ＣＡ）間の接続を定義する少なくとも１つの接続要素（ＣＸ）とを組合せて前記アプリケーション（ＡＰ）として記述する記述子（ＤＡＰ）と、
前記ソフトウェア構成要素（ＣＡ）を前記記述子（ＤＡＰ）に従って前記アプリケーションとして展開する展開コマンドを前記端末（ＴＥ）に伝送するための処理手段（ＰＩ）とを具備し、
前記記述子（ＤＡＰ）は、少なくとも１つのソフトウェア構成要素（ＣＡ１）を前記アプリケーション（ＡＰ）の優先要素として選択するために、ユーザによるパラメータ化に従って最も高い優先度レベルを前記優先要素に設定することによって発生される少なくとも１つの優先度インジケータを含み、
前記処理手段（ＰＩ）は、前記アプリケーション（ＡＰ）の起動が行われるまでは、少なくとも１つのインストール・コマンドを前記端末（ＴＥ）に送信することによって、前記優先要素のみを前記端末（ＴＥ）にインストールして展開することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、様々な異種の状況において、マイクロコントローラ・カードまたは集積回路カードとも呼ばれるスマート・カードなどの第１のデータ処理手段から、スマート・カードの受入端末などの第２のデータ処理手段へアプリケーションを展開することに関する。
【背景技術】
【０００２】
この状況では、アプリケーションは、通信ネットワーク内に分散されたソフトウェア構成要素からなり、移動式無線電話端末、個人用携帯型情報端末、およびパーソナル・コンピュータなどの異なるハードウェアおよびソフトウェアの特徴を有する異種の端末から実行できるものでなければならない。異種の端末は、たとえばそのオペレーティング・システムならびにそのデータ符号化および通信の特徴によって異なる。
【０００３】
現在、ユーザは、ほとんどが様々な異種の端末の中であれば何でも任意の端末を使用して、自分のオフィス、自分の家、または公衆アクセス端末から、通信ネットワーク、具体的にはインターネットを介して様々なアプリケーションにアクセスする。残念ながら、アプリケーションは、ユーザの個人的な特徴に従ってそれ自体を自動的に構成することができないため、選択されたアプリケーションに従ってユーザの端末を再構成する必要がある。アプリケーションを正しく実行するために、端末は、アプリケーションの実行とこれらのアプリケーションを提供するリモート・サーバとに関して使用可能なサービス・データ、ならびに、各ユーザ特有であり、１つまたは複数のアプリケーションへのアクセスを個人専用にする、秘密の個人データを持っていなければならない。定位置で仕事をするユーザの場合、この情報は一般にユーザの端末上で静的である。これに対して、移動しながら仕事をするユーザの場合、スマート・カードは、端末にユーザが必要としがちなこれらのデータを供給するための、自律的で、安全、かつ携帯性の媒体を提供する。
【０００４】
さらに、アプリケーション・プロバイダは、非常に多くの端末タイプから自社のアプリケーションを使用できるようにすることに関心をよせている。したがって、アプリケーションは、それが実行される端末にそれ自体を適応させることができなければならない。たとえば、所与のアプリケーションは、パーソナル・コンピュータでは複雑なウィンドウ・ベースのグラフィカル・インターフェースを表し、移動無線電話では単純なテキスト・メニューを表すものであるか、あるいはネットワークおよび端末によって提供される伝送速度に応じて、オーディオまたはビデオの通信を確立するものである。
【０００５】
したがって配信されるアプリケーションの、その実行コンテキストおよびユーザの要件に対する適応性が必要になる（非特許文献１を参照）。したがって、端末のタイプおよびユーザの個人化の構成に従って、サービス・アプリケーションを展開する必要がある。この要求されるフレキシビリティは、モジュール・アーキテクチャを介して取得される。各アプリケーションは、接続によって相互接続された構成要素の図表として設計される。アプリケーションを端末に展開することで、個人の特徴および実行のコンテキストに従ってこれらの構成要素のインスタンスがその中に作成される。
【０００６】
図１および２に示されるように、アプリケーションの定義は、スマート・カードＣＰ、または比較的小さなメモリ容量を有する任意の他のポータブル電子オブジェクトで、２つ１組になったアプリケーションのソフトウェア構成要素ＣＡとこれらの構成要素間の接続ＣＸなどの、アプリケーションの必須要素を識別するアプリケーションＡＰの記述子ＤＡＰによって知られる。一般に、アプリケーションは、少なくとも３つの構成要素ＣＡ１、ＣＡ２、およびＣＡ３と、２つ１組になった構成要素ＣＡ１からＣＡ３を相互接続する少なくとも２つの接続ＣＸ１およびＣＸ２とを含む。
【０００７】
構成要素ＣＡは、作成および維持が可能なほど十分に小さく、インストールおよびサポートが可能なほど十分に大きい、機能をカプセル化したソフトウェア処理ユニットである。構成要素には通信インターフェースが提供されているため、他の構成要素との協働が可能であり、したがって、これらの他の構成要素にその挙動を示すことができる。実際には、ソフトウェア構成要素は、物理的に伝送ネットワークＲＴのいかなるサイト上に配置することもできる。
【０００８】
接続は、２つの構成要素の通信インターフェース間の関係を定義する。アプリケーションの接続のパラメータは、実行プラットフォームのコンテキストにも適応される。
スマート・カードＣＰのレベルでは、アプリケーション記述子ＤＡＰは要素それ自体（ソフトウェア構成要素ＣＡまたは接続ＣＸ）を含まないが、要素ＣＡ、ＣＸの記述子ＤＣＡ、ＤＣＸは、それを定義し、多くの要素の中からそれを取り出すことを可能にする、要素のプロパティおよびパラメータを含む。
【０００９】
要素記述子のプロパティは、たとえば加入特徴に従ってアプリケーションおよびユーザの要件を満たすために、要素、構成要素、または接続を限定するアプリケーション・プロバイダによって、いったん、すべてに対して決定される。それらは、要素が実行可能なプラットフォームの特徴、およびその実行に必要なシステム要件を示すものである。１つのプロパティは、各要素に関連付けられ、要素のコードまたは物理的位置を検索するために使用されるか、あるいは、アプリケーションまたはアプリケーション・タイプと密接に連結された、要素のアドレスまたはタイプで構成されることが可能である。たとえば、「口座番号」プロパティは、銀行のアカウント・マネージャ構成要素に関連付けられる。従来技術によれば、これらのプロパティは、アプリケーションに対応するサービスに加入する時点でスマート・カードのユーザによって決定され、読取り専用のアクセスが可能である。
【００１０】
パラメータと呼ばれる他のプロパティは、好ましくはユーザによって個人化され、いつでも修正することができる。たとえば、１つのパラメータが、金額を表示するための通貨、あるいは画面上にページを表示するための色の領域、あるいは接続内の伝送速度の値または伝送特徴を定義する。
各アプリケーション記述子は、たとえばＪＡＶＡ（登録商標）またはＸＭＬ（拡張マークアップ言語）などのオブジェクト指向言語で、オブジェクト図表の形で表される。
【００１１】
マルチアプリケーション・スマート・カード内のアプリケーション記述子ＤＡＰ１、ＤＡＰ２、ＤＡＰ３は、カードＣＰを受入端末ＴＥに挿入した後、アプリケーションを選択し、これを構成し、およびその記述子に従ってこれを展開することを可能にするアプリケーションを、スマート・カードＣＰ内に構成する、展開ドライバ（ブートストラップ）ＰＩに関連付けられる。アプリケーション記述子と展開ドライバとをカード内にまとめることによって、記述子の秘密性が保証され、その結果、展開ドライバが記述子を読み取る際に認証は不要となる。一方、展開ドライバは、カードに格納されたすべてのアプリケーション記述子を使用可能にする前に、各クライアントがこれに問い合わせることを認証する。そこでドライバＰＩは、１つまたは複数のアプリケーションの展開を処理することができる。
【００１２】
すでに述べたように、アプリケーション要素、構成要素、または接続は、アプリケーションのコンテキスト、すなわち、アプリケーションが実行されることになるプラットフォームのハードウェアおよびソフトウェア・プロパティ、ならびに、ユーザによって選択されアプリケーションを個人化するパラメータに従って構成されるものである。この情報はすべて、展開ドライバＰＩが、アプリケーションのコンテキストおよびユーザの個人化パラメータに従って、要素記述子に格納された情報をフィルタリングするために、アプリケーション要素記述子にまとめられる。
【００１３】
スマート・カードＣＰ内に配置された展開ドライバＰＩは、受入端末ＴＥ内で実施されるアプリケーション要素である展開ポータルＰＯに、展開コマンドを伝送する。ポータルの主な機能は、展開コマンドを受け取り、選択されたアプリケーションをインストールするためにそれらを実行プラットフォームに再送することである。したがって、主に展開ポータルは、選択されたアプリケーションのインストールおよび実行を行わなければならない環境についてスマート・カードに通知する機能、ならびに、選択されたアプリケーションに関する様々な展開コマンドを受け取るためにカードと通信する機能を有する。
【００１４】
従来技術によれば、アプリケーションの展開は同期的であり、すなわち、展開ドライバＰＩによって生成されたコマンドは、アプリケーションの要素をインストールするため、次にアプリケーションの要素をパラメータ化するために、１つずつ順に伝送されるものであって、各コマンドは、次のコマンドがドライバＰＩによって送信される前に、端末上の展開ポータルＰＯによって確認されなければならない。
【００１５】
最終的に、選択されたアプリケーションＡＰのすべての構成要素および接続がインストールおよびパラメータ化されたときに、展開されたアプリケーションは端末ＴＥに適応され、その後実行可能となる。アプリケーションは、アプリケーションのエントリ・ポイント、一般にはユーザ・インターフェース構成要素を決定する、選択されたアプリケーションの構成要素名を含む実行コマンド（ＲＵＮ）によって開始される。
【００１６】
こうした同期的展開には、所定の方式に従って確認しなければならない連続したコマンドが原因で、アプリケーションのインストールが長くなるという欠点があることが判明した。インストールされる構成要素の数が増えるほど、および前記構成要素のインストールが伝送ネットワークＲＴのリソースを呼び出すことを必要とするほど、このインストールは長くなる。ユーザが待機する時間は、アプリケーションが大きすぎる場合にこれを拒否する要因となる可能性がある。
【００１７】
この欠点の改善を試みるために、アプリケーションの展開を非同期的に実行すること、すなわち、ドライバＰＩがポータルＰＯからの確認を待つことなく、他の構成要素に依存していないすべてのアプリケーション構成要素のインストールを並行して要求し、その後、依存している要素のインストールの確認にそれぞれ応答して、依存している要素のインストールを並行して命じる、という提案がなされてきた。要素のパラメータ化も、非同期的に実行することができる。単一プロセッサ・システムの場合、いくつかのプロセスを並行して実行するということは、いくつかのプロセスが同時に実行できることを意味するものであり、プロセッサのリソースは、所与の瞬間には当然単一のプロセスに割振られることになる。
【００１８】
この解決方法により、端末および伝送ネットワークが提供する処理能力および伝送速度の使用を最適化することができる。ただし、具体的に言うと、インストールされるアプリケーションが多くの構成要素を含み、展開端末の処理容量が少ない場合、非同期の展開が、アプリケーションが開始されるまでのユーザの待機時間を大幅に削減することはできない。
【００１９】
前述の２つの場合では、すべてのアプリケーション構成要素は、たとえユーザがほとんどまたは決して使用しないものであってもインストールされ、これによって、アプリケーションのインストール時間が不必要に増加し、端末のリソースが不必要に過負荷になる。
【非特許文献１】ミシェル・リヴェール等による「移動体ユーザに関するアプリケーションの適応性」と題する論文、ＯＣＭ’２０００，Ｏｂｊｅｔｓ  Ｃｏｍｐｏｓａｎｔｓ  Ｍｏｄｅｌｅｓ，２０００年５月８日
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明の目的は、従来技術に従って分散された要素を備えるアプリケーションの展開における前述の欠点を改善すること、およびさらにインストール時間を削減することである。
【課題を解決するための手段】
【００２１】
この目的は、いくつかの分散されたリモート要素からなるアプリケーションを、いったん展開されたアプリケーションを実行するために、前記要素の記述子を含む第１のデータ処理手段から、要素の位置を物理的に突き止める手段にリンクされた第２のデータ処理手段へ展開するための方法を提供することによって達成されるものであって、この方法は、少なくとも、アプリケーションの少なくとも１つの要素を優先要素として選択するステップと、優先要素を第２の処理手段に展開するステップと、優先要素が展開されるとすぐに、第２の処理手段によってアプリケーションを実行するステップと、からなることを特徴とする。
【００２２】
このような備えにより、アプリケーションを開始するまでに実行される展開が構成要素の数の削減に関係することから、ユーザの待機時間はかなり削減される。さらに、使用される構成要素のみがインストールされる場合、カードはインストールされない要素の記述子を端末に提示せず、不必要な要素によって端末リソースが過負荷になることはない。
有利なことに、アプリケーションの少なくとも１つの要素を優先要素として選択するステップは、前記アプリケーションの記述子に格納された少なくとも１つの優先度インジケータを検査することからなる。
【００２３】
本発明の１つの特定の特徴によれば、第２のデータ処理手段によるアプリケーションの実行中に展開されていない要素が呼び出された場合、方法は、呼び出された要素を展開するステップ、およびその後アプリケーションの実行を続行するステップも含む。
本発明の他の特定の特徴によれば、優先要素として選択されていないアプリケーション要素は、アプリケーションの実行と並行して、第２のデータ処理手段に展開される。
【００２４】
本発明の他の特定の特徴によれば、方法は、アプリケーションの実行コンテキストを、第２のデータ処理手段から第１のデータ処理手段に伝送するステップも含み、アプリケーションの実行と並行した優先要素として選択されていないアプリケーション要素の展開は、伝送された実行コンテキストに従って実施される。
好ましくは、優先要素として選択されていないアプリケーション要素は、アプリケーションの実行と並行して、同期的に第２の処理手段に展開される。
あるいは、優先要素として選択されていないアプリケーション要素は、アプリケーションの実行と並行して、非同期的に第２の処理手段に展開される。
【００２５】
本発明の他の特定の特徴によれば、方法は、アプリケーションの少なくとも１つの要素を非優先要素として選択するステップも含み、アプリケーションの非優先要素は、アプリケーションの実行中に呼び出された場合に限り、第２の処理手段に展開される。
有利なことに、本発明に従った方法は、アプリケーションの実行の終わりに、アプリケーションの実行中に使用された要素に従って、アプリケーションの要素のそれぞれの優先度インジケータを更新するステップも含む。
【００２６】
本発明は、いくつかの分散されたリモート要素からなるアプリケーションを記述するための記述手段と、アプリケーション記述手段に従って電子オブジェクトの外でそれを実行する目的でアプリケーションを展開するための処理手段とを含む電子オブジェクトにも関するものであって、記述手段は、少なくとも１つの要素をアプリケーションの優先要素として選択するための少なくとも１つの優先度インジケータを含むこと、および、アプリケーションを展開するための手段は、アプリケーションの実行を許可するまでは優先要素のみを展開することを特徴とする。
このオブジェクトは、たとえばマイクロコントローラ・カード・タイプである。
【００２７】
本発明は、マイクロコントローラ・カード・タイプのポータブル電子オブジェクト、データ伝送ネットワークに接続された端末を含み、ポータブル電子オブジェクトと通信するための手段を含む、アプリケーション展開システムにも関するものであって、ポータブル電子オブジェクトは、データ伝送ネットワークを介して端末にアクセス可能ないくつかの分散されたリモート要素からなるアプリケーションを記述するための記述手段と、アプリケーション記述手段に従って端末によってそれを実行する目的でアプリケーションを端末に展開するための処理手段とを含み、記述手段は、少なくとも１つの要素をアプリケーションの優先要素として選択するための少なくとも１つの優先度インジケータを含むこと、および、アプリケーションを展開するための手段は、端末に展開されたアプリケーションの実行を開始するまでは優先要素のみを展開することを特徴とする。
本発明の他の特徴および利点は、対応する添付の図面を参照しながら、本発明のいくつかの好ましい実施形態についての以下の説明を読めば、よりはっきりと明らかになろう。
【発明を実施するための最良の形態】
【００２８】
図１は、インターネットなどのデータ伝送ネットワークがアクセス可能な銀行業務サービスのアプリケーションを示す図である。このアプリケーションは、ユーザとインターフェースするための機能ＵＩがすべてアセンブルされた主構成要素ＣＡ１を含み、この構成要素は、構成要素に統合された一般的な銀行口座管理サービスＣＡ２および一般的な信用要求サービスＣＡ３へのアクセスを可能にするものである。そのために、構成要素ＣＡ１は、それぞれ接続ＣＸ１およびＣＸ２によって、構成要素ＣＡ２およびＣＡ３とリンクされる。図１に示されたユーザが使用可能な特定のアプリケーションでは、銀行口座管理構成要素ＣＡ２は、それぞれ接続ＣＸ３およびＣＸ４によって、構成要素ＣＡ４およびＣＡ５に統合された２つの銀行業務組織Ｂ１およびＢ２のサーバにリンクされており、これは、銀行業務組織Ｂ１およびＢ２によってのみ管理される銀行口座にユーザがアクセスできることを意味する。同様に、構成要素ＣＡ３は、それぞれ接続ＣＸ５およびＣＸ６によって、２つの銀行業務組織Ｂ１およびＢ３のサーバにリンクされる。
【００２９】
こうしたアプリケーションのすべての要素は、必ずしもアプリケーションの実行端末上にインストールされる必要はない。したがって、詳述された例では、銀行業務組織サーバによって提供されるサービスは、リモート・サイトで実行される間、アプリケーションの実行端末によってオンデマンドで問い合わせられる。そのために、一方が構成要素ＣＡ２およびＣＡ３、他方が構成要素ＣＡ４からＣＡ６の間のリンクは、適切な通信プロトコルを実施することによってネットワークを使用するコネクタＣＸ３からＣＸ６によって形成される。
【００３０】
こうしたアプリケーションは、ＸＭＬ言語で表された以下の形式を有するアプリケーション記述子によって記述することができる。
＜Application Name="Banking"＞
＜Component                                         Name="ui"
Type="banking.AccountServiceUIObject"
Runnable="y"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="100"/＞
＜/Property＞
...
＜/Component＞
＜Component Name="B1" Type="banking.BankObject"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="70"/＞
＜/Property＞
...
＜/Component＞
＜Component Name="B2" Type="banking.BankObject"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="50"/＞
＜/Property＞
...
＜/Component＞
＜Component Name="B3" Type="banking.BankObject"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="5"/＞
＜/Property＞
...
＜/Component＞
＜Component                                    Name="Agent"
Type="banking.AccountServiceObject"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="70"/＞
＜/Property＞
...
＜/Component＞
＜Component                                    Name="Credit"
Type="banking.CreditServiceObject"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="8"/＞
＜/Property＞
...
＜/Component＞
＜Connection Name="Agent_B1"
UserComponent="Agent"
UserInterface="accounts"
ProviderComponent="B1"
ProviderInterface="accounts"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="69"/＞
＜/Property＞
...
＜/Connection＞
＜Connection Name="Agent_B2"
UserComponent="Agent"
UserInterface="accounts"
ProviderComponent="B2"
ProviderInterface="accounts"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="39"/＞
＜Property＞
...
＜/Connection＞
＜Connection Name="UI_Agent"
UserComponent="ui" UserInterface="accounts"
ProviderComponent="Agent"
ProviderInterface="accounts"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="69"/＞
＜/Property＞
...
＜/Connection＞
＜Connection Name="Credit_B1"
UserComponent="Credit"
UserInterface="accounts"
ProviderComponent="B1"
ProviderInterface="accounts"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="2"/＞
＜/Property＞
...
＜/Connection＞
＜Connection Name="Credit_B3"
UserComponent="Credit"
UserInterface="accounts"
ProviderComponent="B3"
ProviderInterface="accounts"＞
＜Property Name="deploymentUrgency"＞
＜Value Value="4"/＞
＜/Property＞
...
＜/Connection＞
＜/Application＞
【００３１】
フィールドの開始タグおよび終了タグ「＜ＸＸＸ＞」および「＜／ＸＸＸ＞」を使用するこの構文は、互いに入れ子になった要素の階層構造を表す。具体的に言えば、アプリケーションの一部を形成する要素（ソフトウェア構成要素および接続）の記述子のリストを提供し、各要素記述子は、具体的にはプロパティのリストを含む。
【００３２】
前述のように、こうしたアプリケーション記述子は、マルチアプリケーション・カードであれば、いくつかのアプリケーション記述子ＤＡＰ１、ＤＡＰ２、ＤＡＰ３を格納できる、スマート・カードＣＰなどの第１の処理手段に格納される。こうしたカードは、その中でアプリケーションを展開することが望まれる、端末ＴＥなどの第２の処理手段に結合されたカード・リーダによって読み取られることが意図される。こうしたカードからのアプリケーションの展開は、端末ＴＥのリーダによってカードが読み取られるときに、端末上に提供された展開ポータルＰＯと呼ばれるソフトウェア・プログラムと通信する、スマート・カードＣＰに統合された展開ドライバＰＩによって管理される。
【００３３】
したがって展開は、受入端末ＴＥ内の展開ポータルＰＯとの対話を確立することにより、選択されたアプリケーションの記述子ＤＡＰから展開ドライバＰＩによって実行される。ポータルは、要素検索エンジンを含むか、あるいは図２に示されるように、１つまたは複数の要素検索エンジンＭＲと接触していることが可能である。各検索エンジンＭＲは、伝送ネットワークＲＴを介した、アプリケーション要素ライブラリＢＩ１、ＢＩ２、ＢＩ３へのアクセスを有する。ライブラリ内の各要素はその記述子と共に格納され、要素の設計者によって管理される。伝送ネットワークＲＴは、ケーブル接続タイプまたはセル式電話タイプの、あるいはインターネットなどのコンピュータ・ネットワーク・タイプの、公衆または専用のネットワークであってよい。
【００３４】
図３および４に示されるように、選択されたアプリケーションの展開本体に先立って初期設定段階１があり、ここでユーザはスマート・カードＣＰを受入端末ＴＥのリーダ・スロットに挿入する。スマート・カードを挿入した後、ユーザを認証する（１２）ための受入端末との後半の対話（１１）によって、本質的に端末ＴＥによって構成されたアプリケーション実行プラットフォームのコンテキストを確認し（１３）、アプリケーションを選択する（１４）。
【００３５】
認証は、たとえば端末を介して入力された秘密のＰＩＮコードによって、ユーザのアイデンティティを検証することからなる。
スマート・カードのハードウェア環境の外部コンテキストは、端末ＴＥによってスマート・カードＣＰに伝送される実行プラットフォームのプロパティによって定義される。端末によって供給される実行コンテキストのプロパティは、たとえば、使用される受入端末ＴＥのタイプ、端末の名前、端末の識別鍵または証明書、および通信ネットワークにおける端末の地理的位置である。これらのプロパティによって、展開ドライバＰＩは、展開ポータルＰＯに伝送するデータの量を制限すること、およびその結果展開の持続期間を最小限にすることができる。その後の展開時に、これらのコンテキスト・プロパティへの参照は、他の受入端末ＴＥによって供給される値に置き換えられる。
【００３６】
ユーザは、従来はたとえば、その展開をスマート・カードＣＰによって順序付けることのできる様々なアプリケーションを提示しているメニューから、アプリケーションＡＰを選択する。アプリケーションＡＰの選択後、コンテキストに従って端末ＴＥ、および好ましくはユーザが、アプリケーションをパラメータ化、すなわち、一定のあるいは可能であればすべての、パラメータ化が可能な選択されたアプリケーションの構成要素および接続の記述子ＤＣＡおよびＤＣＸをパラメータ化する（１５）。ユーザによるパラメータ化は、通常、パラメータ値を要求するツリー構造のメニューを使用する。
これらの初期設定ステップ１に続き、選択されたアプリケーションＡＰのパラメータ化された記述子ＤＡＰ内の構成要素記述子ＣＡｉおよび接続記述子ＣＸｉに従って、選択されたアプリケーションＡＰの展開が実施される。
【００３７】
本発明によれば、アプリケーションの特定の要素のみが優先要素として定義され、アプリケーションの起動前にロードしなければならないものであって、他の要素は、アプリケーションの起動後に展開することが可能である。図１の例では、これらの要素はユーザ・インターフェース構成要素ＣＡ１によって構成される。上記で提示したＸＭＬ言語で表されたアプリケーション記述子では、要素の展開優先定義は、「ｄｅｐｌｏｙｍｅｎｔＵｒｇｅｎｃｙ」と呼ばれる０から１００までの値を有する要素に関連付けられたプロパティの形で定義される。慣習によれば、優先要素、すなわちアプリケーションの起動前に展開されなければならないものには値１００が割り当てられるように選択することができる。
【００３８】
したがって、優先要素として定義された要素が展開すべき要素として選択され（２）、その後展開される（３）。
優先要素を展開した後、アプリケーションが開始され（４）、実行される（５）。図１の例では、ユーザとの対話を管理する構成要素ＣＡ１のみが展開され、起動する。その結果、単一の構成要素を展開した後、ユーザは、アプリケーションが起動し、銀行アカウント・マネージャにアクセスするか信用提供にアクセスするかを選択するように申し出ていることを、端末ＴＥ上で検出することができる。
【００３９】
優先要素の展開は、同期的または非同期的に実行することができる。ただし、一般に、アプリケーションは単一の構成要素に格納された単一のエントリ・ポイントを有する。したがって、アプリケーションにできる限り即時の活動化を望む場合は、アプリケーションのエントリ・ポイントを含む構成要素のみを、アプリケーションの起動前にそれ自体に展開するための優先要素として構成しなければならない。
【００４０】
本発明の第１の実施形態によれば、非優先アプリケーション要素の展開は、それらがユーザによって要求された場合にのみ実行される。
本発明の第２の代替実施形態によれば、アプリケーションが開始されるとすぐに背景タスクとして展開される中位の優先要素のカテゴリと、進行中にアプリケーションの実行によって要求された場合にのみ展開される非優先または低位の優先要素のカテゴリが定義されている。上記で与えられたアプリケーション記述子では、慣習として、１００に等しい優先度レベルは優先要素に割り当てられ、１０以上１００未満の優先度レベルは中位優先要素に割り当てられ、１０未満の優先度レベルは低位優先要素、すなわちめったに実行されない要素に割り当てられるように選択されている。
【００４１】
有利なことには、アプリケーションの実行中にアプリケーションの要素が呼び出されるたびに、そのことを通知するためのメッセージがスマート・カードに伝送される。スマート・カードとしては、こうしたメッセージを受け取ると、アプリケーション記述子内の関係する要素の記述子にある優先度レベルの値フィールドを更新する。この方法では、アプリケーションの要素が展開される順序は、アプリケーションの実行に関する各ユーザの要件および慣行に適合させることができる。
【００４２】
ユーザが実行中に、たとえばメニューからアプリケーションのオプションを選択する場合、選択された機能を実施している構成要素がすでに展開されており、この場合は即時に実行可能であるか、または展開されていないかのいずれかである。後者の場合には、端末ＴＥのアプリケーションの実行環境が、構成要素が展開されていないことを検出し、たとえば展開すべき要素の名前を提供することによって、スマート・カードＣＰに対して構成要素の展開を要求する（ステップ６）。この要求により、要素の展開が開始される（ステップ７）。ここでも、要素の展開は同期的または非同期的であってよく、すなわち、展開ドライバＰＩは、他の要素が要求された場合に他の可能な要素の展開を開始するために、展開の終了を待つかまたは待たずにステップ６に戻る。
【００４３】
展開すべき中位の優先要素がある場合、これらも、同期的または非同期的に背景タスクとして展開される（ステップ９）。この中位優先要素の展開が、端末の性能または容量が十分である場合に限って実行されるか（ステップ８）、またはこれらの要素が、端末の（たとえばメモリ容量で表して）使用可能なリソースが所定の最低しきい値に達するまで、優先度順に展開されるように、あるいは、非同期的展開の場合、並行して開始される展開の数が、進行中のアプリケーションの実行速度をユーザがわかるほど落とさないように、端末の使用可能なリソースに応じて制限されるように、備えることができる。
【００４４】
図５は、要素Ｅｉの展開（７）が実行される方法を示す図である。こうした展開の際には、展開ドライバＰＩによって、４種類のコマンドが展開ポータルＰＯに送信される。
要素記述子のプロパティを含む第１のインストール・コマンド［ＩＮＳＴＡＬＬ  Ｅｉ］を使用して、ドライバＰＩはポータルＰＯに対して、選択されたアプリケーションの構成要素Ｅｉをインストールするように命じる（６１）。ポータルＰＯはインストール・コマンドに応答して、指定された要素Ｅｉが構成要素ライブラリＢＩ内にある構成要素であれば、少なくとも１つの検索エンジンＭＲを介して、構成要素のインスタンスを端末ＴＥまたはこの構成要素のリモート参照に取り出せるように、要素Ｅｉの検索を命じる。インストール・コマンドの実行が完了した後、ポータルＰＯによってドライバＰＩに送信された確認メッセージ［ＡＣＫ（ＩＮＳＴＡＬＬ  Ｅｉ）］によって、要素のインストールが確認される（６２）。次にドライバＰＩは、インストールされた要素をパラメータ化するための要素Ｅｉに関する構成パラメータを含む第２のコマンド［ＰＡＲＡＭＥＴＥＲＩＳＥ  Ｅｉ］を、ポータルＰＯに送信する（６３）。
【００４５】
要素Ｅｉのパラメータ化は、要素記述子に含まれる一定のパラメータに従って実行されるものであり、アプリケーションの実行コンテキストおよびおそらく展開中に定義されたユーザの選択に依存する。要素のパラメータ化がポータルＰＯによっていったん実行されると、後者は確認メッセージ［ＡＣＫ（ＰＡＲＡＭＥＴＥＲＩＳＥ  Ｅｉ）］をドライバＰＩに送信する（６４）。ステップ６２および６４で、所定の時間遅延が終わるまでにポータルＰＯが確認応答しなかった場合、要素の展開が実行できなかった旨の信号を送るために、ドライバＰＩによって端末ＴＥにエラー・メッセージが送信される。
いくつかの要素が非同期的に展開される場合、他の要素に依存した要素は、それに依存している要素が端末上で展開されない限り展開できないことを想起すれば、当然相互に独立していなければならない。
【００４６】
図１の例では、および上記で与えられた対応するアプリケーション記述子によれば、ユーザ・インターフェース構成要素ＣＡ１のみが優先要素（優先度が１００に等しい）であり、端末上でアプリケーションが実行される前に展開される。次に、背景タスクとして、またはユーザがこれを要求したことにより、最高の中位優先度（７０）を有する銀行業務エージェント構成要素ＣＡ２、ならびに、同じ優先度を有する構成要素ＣＡ４がインストールされる。これら２つの構成要素の展開は非同期的に、すなわちほぼ並行して実行することが可能であり、これら２つの要素は互いに独立しており、他の要素に依存していない。
【００４７】
構成要素ＣＡ５も、たとえ優先度レベルが５０であって、接続ＣＸ１およびＣＸ３のようにまだ展開されていない他の要素よりも低い場合でも、他のアプリケーション要素に依存していないため、展開を開始することができる。ただしこの展開は、たとえば端末の性能によって条件付けられている場合には、実行できない可能性がある。次に、構成要素ＣＡ２およびＣＡ４が展開されると、次に高い中位優先度６９を有する、ユーザ・インターフェースＣＡ１とエージェントＣＡ２の間の接続ＣＸ１、ならびにエージェントと銀行サーバＢ１との間の接続ＣＸ３を並行して展開することができる。構成要素ＣＡ２とＣＡ５の間の接続ＣＸ４は、構成要素ＣＡ５の次にインストールすることができる。優先度が１０未満である他の要素、すなわちＣＡ３、ＣＡ６、およびＣＸ６は、ユーザが要求した場合にのみインストールされる。
【００４８】
本発明の好ましい変形形態によれば、アプリケーションの実行中に使用された要素はマーク付けされ、アプリケーション実行の終わりに、端末ＴＥがそのようにマーク付けされた要素の参照をスマート・カードに送信する。この送信に続いて、スマート・カードは、そのように使用された要素に応じて、すべてのアプリケーション要素の優先度インジケータを更新する。アプリケーション要素の優先度インジケータは、一定の制限内で修正することができる。たとえば、使用された要素の優先度インジケータは増やされ、未使用の要素は減らされる。
【図面の簡単な説明】
【００４９】
【図１】６つの構成要素を含むモジュール・アプリケーションを示す概略図である。
【図２】分散されたリモート要素からなるアプリケーションを展開するために、通信ネットワークで使用される手段を示す概略構成図である。
【図３】本発明に従ったアプリケーションの展開および実行に関するアルゴリズムを示す図である。
【図４】図３に示されたアルゴリズムの一定のステップをより詳細に示すアルゴリズムを示す図である。
【図５】図３に示されたアルゴリズムの一定のステップをより詳細に示すアルゴリズムを示す図である。
【図１】
0004645998.tif 000002
【図２】
0004645998.tif 000003
【図３】
0004645998.tif 000004
【図４】
0004645998.tif 000005
【図５】
0004645998.tif 000006