ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置であって、aスマートカード機能を前記ホストシステムに提示するとともに、前記ホストシステムから前記コマンドを受け取るための少なくとも1つのインタフェースと、bプログラム実行前に前記プログラムコードを記憶する不揮発性メモリと、cプログラム実行中に前記プログラムコードの少なくとも部分を記憶する実行可能メモリと、d前記プログラムコードの前記少なくとも部分を前記実行可能メモリにコピーする内部コピーメカニズムと、を備えるスマートカード装置。スマートカード装置の不揮発性メモリに記憶された実行可能コードを実行する高性能で安全なスマートカード装置に対する継続したニーズがある。上記ニーズは、本発明のいくつかの態様により満たされる。これより、ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置を初めて開示する。ここに開示するスマートカード装置は、スマートカード機能をホストシステムに提示するとともに、ホストシステムからコマンドを受け取るための少なくとも1つのインタフェースと、プログラム実行前にプログラムコードを記憶する不揮発性メモリ例えば、非XIPメモリと、プログラム実行中にプログラムコードの少なくとも部分を記憶する実行可能メモリと、プログラムコードの少なくとも部分をコピーする内部コピーメカニズムと、を含む。ここに開示する、本発明の特定の実施形態により提供されるスマートカード装置は内部コピーメカニズムを有し、それにより、外部装置を通して実行可能コードをコピーする必要性をなくすことに留意されたい。外部装置を通してコードをコピーするという回り道を低減するか、またはなくすことにより、データをスマートカードインタフェースのいずれでも露出する必要がないため、非XIPメモリからXIPメモリへのコードの転送が高速になるとともにより安全になる。いくつかの実施形態によれば、スマートカード装置は内部データバスを含み、内部コピーメカニズムは、内部データバスを通しての内部コピーを行う。いくつかの実施形態では、内部コピーメカニズムは、内部データバスを通してのみ内部コピーを行う。いくつかの実施形態によれば、スマートカード機能はSIM機能および/またはUSIM機能を含む。ここに開示するスマートカード装置の例示的な一用途は、携帯端末に関する。本発明の特定の実施携帯により提供されるスマートカード装置を使用することで、モバイルサービスプロバイダは、アプリケーションをUSIMカードの非XIPメモリエリアにプレロードすることができ、USIMカードは多くのアプリケーションを保持するのに十分な容量である。こういったアプリケーションは、スマートカードメモリ内で、モバイルサービスプロバイダの顧客によるコピーまたは操作から保護された状態に保たれる。いくつかの実施形態によれば、ここに開示する実行可能コードの内部コピーは、1つまたは複数の追加コマンドをスマートカードコマンドポートフォリオに追加することに基づく。こういった新しいコマンドのうちの1つまたは複数が、スマートカードプロセッサに、非実行可能メモリ等の不揮発性メモリからスマートカード内部のXIPメモリへのコピー動作を行うように命令する。いくつかの実施形態によれば、不揮発性メモリは非実行可能メモリを含む。ここに開示するスマートカード装置に提供されるインタフェースの種類またはインタフェースの数に対して特定の制限はない。適当なインタフェースとしては、ISO7816準拠USBインタフェース、7816準拠インタフェース以外の任意のインタフェース、USBインタフェース、およびMMCインタフェースが挙げられるが、これらに限定されない。いくつかの実施形態では、スマートカード装置は複数のインタフェースを含み、第1のインタフェースはISO7816準拠インタフェースであり、第2のインタフェースはISO7816準拠インタフェース以外である。特定の実施形態では、コマンドは第2のインタフェースを通して受け取られる。別法として、コマンドは第1のインタフェースを通して受け取られる。プログラムコードの部分の少なくともいくらかを実行可能メモリにコピーすると、プログラムコードの実際の実行を開始することができる。いくつかの実施形態では、装置は、プログラムコードのコピーされた部分を実行する、内部プロセッサ等のプログラム実行メカニズムをさらに含む。特定のいずれの理論にも縛られることを望まずに、プログラムコードの部分のいくらかの部分だけが実行可能メモリにあるときにプログラム実行を開始することは、プログラムのサイズが利用可能な実行可能メモリ量を超える状況で特に有用であることに留意されたい。プログラム実行の開始に続き、実行可能メモリにないプログラムコードの必要な部分を、ページフォールト後等の必要に応じて実行可能メモリにロードまたはコピーすることができる。これより、ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置を初めて開示する。本明細書に開示するスマートカード装置は、スマートカード機能をホストシステムに提示するとともに、ホストシステムからコマンドを受け取るための少なくとも1つのインタフェースと、プログラム実行中にプログラムコードを記憶する不揮発性メモリ例えば、非XIPメモリと、プログラム実行中にプログラムコードの少なくとも部分を記憶する実行可能メモリと、実行可能メモリへのプログラムコードの少なくとも部分のコピーを行うコピーメカニズムと、コピー部分の第1のサブポーションのみが実行可能メモリにあるときに、プログラムコードのコピーされた部分の実行を開始するプログラム実行メカニズムと、を含む。いくつかの実施形態によれば、スマートカード装置は内部データバスを含み、内部コピーメカニズムは、内部データバスを通して内部コピーを行う。いくかの実施形態では、内部コピーメカニズムは、内部データバスのみを通して内部コピーを行う。別法として、コピーメカニズムにより行われるコピーは、ホストシステムを通しての外部コピーを含む。いくつかの実施形態によれば、スマートカード装置は、実行中に、プログラムコードのコピーされた部分のうちの少なくとも第2のサブポーションを不揮発性メモリ例えば、非XIPメモリから実行可能メモリにページングするページングメカニズムをさらに含む。いくつかの実施形態では、ページングされたコードは、必要に応じて、例えば、ページフォールト後に、不揮発性メモリ非XIPメモリ等から実行可能メモリにロードまたはコピーされる。したがって、プログラムコードの所与の実行中に、すべてのページングされたコードが必ずしも実行可能メモリにコピーまたはロードされるわけではない。これより、スマートカード装置を使用してプログラムコードを実行する方法を初めて開示する。ここで開示する方法は、スマートカード装置内に内部コピーメカニズムを含めること、内部コピーメカニズムを使用して、プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリ例えば、非XIPメモリからスマートカード装置の実行可能メモリにコピーすること、スマートカード装置のインタフェースを通して実行コマンドを受け取ると、プログラムコードのコピーされた部分を実行すること、を含む。いくつかの実施形態によれば、コピーすることは、スマートカード装置の非実行可能メモリからスマートカード装置の実行可能メモリにコピーすることを含む。いくつかの実施形態によれば、コピーすることは、スマートカード装置の内部データバスのみを使用して行われる。実行コマンドを受け取ることができるインタフェースに対して特定の制限はない。適当なインタフェースとしては、ISO7816準拠インタフェース、7816準拠インタフェース以外の任意のインタフェース、USBインタフェース、およびMMCインタフェースが挙げられるが、これらに限定されない。これより、スマートカード装置を使用してプログラムコードを実行する方法を初めて開示する。ここで開示する方法は、スマートカード装置内に内部コピーメカニズムを含めること、内部コピーメカニズムを使用して、プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリ例えば、非XIPメモリからスマートカード装置の実行可能メモリにコピーすること、スマートカード装置のインタフェースを通して実行コマンドを受け取ると、部分のいくらかのうちの第1のサブポーションのみが実行可能メモリにあるときに、プログラムコードのコピーされた部分の実行を開始すること、を含む。いくつかの実施形態によれば、実行コマンドはホスト装置から受け取られる。いくつかの実施形態によれば、コピーすることは、スマートカード装置の内部データバスを通して内部コピーすることのみを含む。別法として、コピーすることは、ホスト装置を通して外部コピーすることを含む。いくつかの実施形態によれば、実行することは、実行中に、プログラムコードの部分の少なくとも第2のサブポーションを不揮発性メモリから実行可能メモリにページングすることを含む。これより、プレロードされ保護された実行可能コードを配布する方法を初めて開示する。ここで開示する方法は、少なくとも1人のスマートカードユーザに、不揮発性メモリに記憶されたプレロードされ保護された実行可能コードおよびプレロードされ保護された実行可能コードをコピーするためのコピーメカニズムを有する各スマートカード装置を提供するステップと、提供後、各スマートカード装置のインタフェースを通して各スマートカードユーザから有効なユーザ認証証明およびコマンドを受け取るステップと、各スマートカード装置のコピーメカニズムを使用して、プレロードされ保護された実行可能コードの少なくとも部分を書くスマートカード装置の不揮発性メモリから各スマートカード装置の実行可能メモリにコピーするステップと、各スマートカード装置を使用してプログラムコードの部分を実行するステップと、を含む。いくつかの実施形態によれば、少なくとも1つの各スマートカード装置で、コピーすることは内部データバスを通してコピーすることのみを含む。いくつかの実施形態によれば、少なくとも1つの各スマートカード装置で、ユーザ認証証明および実行コマンドのうちの一方がホスト装置を介して受け取られ、コピーすることは、ホスト装置を通して外部コピーすることを含む。これより、コンピュータ可読記憶媒体に具現されるコンピュータ可読コードを有するコンピュータ可読記憶媒体であって、コンピュータ可読コードは、スマートカード装置の不揮発性メモリに記憶されているプログラムコードを実行するコマンドを受け取り、実行可能プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリからスマートカード装置の実行可能メモリに内部コピーし、およびプログラムコードの部分をスマートカード装置により実行するコードである、コンピュータ可読記憶媒体を初めて開示する。これより、コンピュータ可読記憶媒体に具現されるコンピュータ可読コードを有するコンピュータ可読記憶媒体であって、コンピュータ可読コードは、スマートカードの不揮発性メモリに記憶されているプログラムコードを実行するコマンドを受け取り、実行可能プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリからスマートカード装置の実行可能メモリにコピーし、および部分のサブポーションのみが実行可能メモリにあるときに、スマートカード装置によるプログラムコードの部分の実行を開始するコードである、コンピュータ可読記憶媒体を初めて開示する。本発明の実施形態は、プログラムコードを不揮発性メモリから実行可能メモリにコピーするコピーメカニズムを含むスマートカード装置を提供する。さらに、ここに開示するスマートカード装置でプログラムコードを実行する方法は、プログラムコードを不揮発性メモリから実行可能メモリにコピーすることを含む。通常、プログラムコードのコピー元の不揮発性メモリは非実行可能メモリ、すなわち非XIPメモリであるが、これは特定の限定として解釈されるべきではない。同様に、本発明のいくつかの実施形態において実行可能メモリと呼ばれるものは不揮発性メモリであるが、これも特定の限定ではないことに留意されたい。これより、特定の実施形態例に関して本発明を説明する。本発明が開示される実施形態例に限定されないことを理解されたい。説明するスマートカード装置およびスマートカード装置を使用してアプリケーションコードを実行する方法のあらゆる特徴が、添付の特許請求の範囲のうちの任意の特定の1つに請求されるように本発明を実施するために必要なわけではないことも理解されたい。装置の各種要素および特徴は、本発明を完全に可能にするために説明されている。本開示全体を通して、プロセスまたは方法が図示または説明される場合、方法のステップは、あるステップが先に実行される別のステップに依存することが文脈から明らかな場合以外、任意の順序または同時に実行してよいことも理解されたい。図4は、標準ISOインタフェース27およびUSBの形の高速インタフェース28を有するスマートカード構造の例である。高速インタフェースは主に、スマートカード内部大容量メモリストレージへの/からの大容量データ転送に使用され、ISOインタフェースはレガシーモバイルUSIMサービスに使用される。図4に示す装置は、ISO7816プロトコルを含むがこれに限定されない、スマートカードによくある特定のプロトコルを使用して1つまたは複数のインタフェースを介して外部装置またはホスト装置と通信する。この例では、オペレーティングシステムおよびプレロードされるアプリケーションは、ROMではなくXIPフラッシュメモリに存在する。いくつかの実施形態によれば、コードまたは特定のアプリケーションを実行するコマンド20が、スマートカード外部インタフェースの1つを介して外部装置またはホスト装置からCPU23に送られ、非XIPフラッシュメモリ22内のある所望のアプリケーションの少なくともいくらかをスマートカードの内部XIPメモリ、例えばXIPフラッシュ29にコピーするようにスマートカード装置に命令する。任意のスマートカードインタフェースを介してコマンドを送ってよいことに留意されたい。コマンドは、大容量メモリストレージエリア内にあるアプリケーションファイルを参照し、アプリケーションの実行を開始するか、または単にアプリケーションファイルの少なくとも部分をコピーするようにCPU23に命令する。任意に、スマートカードオペレーティングシステムは、アプリケーションを受け取る余地がXIPメモリエリアにあることの確認も行い、アプリケーションファイルをコピーするために余地を作るために古いアプリケーションまたは他のデータを検出もする。いくつかの実施形態では、スマートカードCPUは、別個のコマンドの受信により、XIPメモリにすでにロードされているアプリケーションの実行を開始する。実行コマンドおよび/またはコピーコマンドを受け取ったステップ110後、CPU23は、アプリケーションファイルの少なくとも部分をスマートカードの非XIPメモリ22から読み取りステップ112、アプリケーションの少なくとも部分を実行可能メモリまたはXIPメモリ、例えばXIPフラッシュ29にコピーするステップ114。いくつかの実施形態では、ファイルコピー動作は、内部バス26を使用してデータを転送する内部コピーを含む。これに代えて、またはこれに加えて、いくつかの実施形態は、ホスト装置図示せずを通しての外部コピーを提供する。アプリケーションコードの少なくとも部分をXIPにコピーした後、CPU23を含むスマートカード装置のプログラム実行メカニズムは、XIPフラッシュ29からのアプリケーションの実行を開始することができる。別法として、プログラム実行を遅らせ、先に説明したように別個の専用コマンドを受け取った後にアプリケーションを実行してもよい。本明細書において使用する、実行可能メモリにあるアプリケーションまたはプログラムコードの実行は、実行可能メモリ内に記憶されているアプリケーションまたはプログラムコードの少なくともいくつかの命令の実行を含み、任意の所与の時点で実行可能メモリ内に記憶されているすべての命令の実行に限定されない。図5A~図5Cは、本発明の例示的な実施形態によるスマートカード装置でコードをコピーして実行する方法を説明するフローチャートを提供する。これより図5Aを参照すると、明示的なコピーコマンドが、スマートカードのインタフェースを介してホスト装置から受け取られる200。任意に、オペレーティングシステムは、アプリケーションがXIPメモリにすでに存在しているか否かを調べる210。アプリケーションがXIPメモリに存在しない場合、アプリケーションコードのいくらかまたはすべてが不揮発性メモリ例えば、非XIPメモリから実行可能メモリXIPメモリにコピーされる202。実行コマンドをホスト装置から受け取ると220A、アプリケーションコードが実行される204。実行コマンドを受け取ってよい220A時点に制限がなく、適当な時点としては、コピー202の直後、またはコピー202後ある時間経過後に実行コマンドを受け取っても良いことに留意されたい。図5Bは、本発明のいくつかの実施形態を説明するフローチャートを提供する。図5Bに示すように、コピーコマンドおよび実行コマンドの両方が、インタフェースを介してホスト装置230から受け取られるが、これら2つのコマンドを単一のコマンドとして実施してアプリケーションコードをコピーして実行してよいことが認められよう。任意に、アプリケーションがXIPメモリにあるか否かを調べた210後、アプリケーションが実行される204。図5Cは、本発明のいくつかの実施形態を説明するフローチャートを提供する。図5Cに示すように、実行コマンドがホスト装置から受け取られる220B。図5Cに説明されるいくつかの実施形態によれば、アプリケーションをXIPメモリにコピーするという実際の明示的なコマンドは受け取られない。任意に、アプリケーションがXIPメモリにあるか否かが調べられた後210、アプリケーションが実行される204。いくつかの実施形態では、スマートカード内のXIPメモリの量は制限され、所与の時点で利用可能なXIPメモリ量を超えるサイズ、またはXIPメモリの総量を超えるサイズを有するアプリケーションを実行したい。内部スマートカードプロセッサがこれら大きなアプリケーションを実行できるようにするために、本発明の特定の実施形態は、任意に、高度ページングメカニズムを含む。したがって、本発明のいくつかの実施形態によれば、実行は、アプリケーションの実行可能ノードの第1のサブポーションのみが実行可能メモリにあるときに開始される。実行開始後、コピーされた実行可能コードの少なくとも第2のサブポーションが実行可能メモリにページングされる206。いくつかの実施形態では、この高度ページングメカニズムは、スマートカードオペレーティングシステムの一部として実施される。こういった実施形態では、コピーメカニズムがまず、アプリケーションコードの部分のみをXIPメモリにコピーする。スマートカードプロセッサがXIPメモリにロードされていないコードエリアにアクセスする必要性が生じるとすぐに、アプリケーションの実行が中断され、所望のコードがスマートカードのオペレーティングシステムにより必要に応じてXIPメモリページにコピーされ、現在必要とされていない別のコードまたはXIPメモリ内の他のデータに上書きされる。効率的なページングメカニズムを提供するために、ページングは、新しいページが必要になるとすぐにスマートカードプロセッサを中断するロジックをスマートカードハードウェアにより実施することで、または別法として直接メモリアクセスDMAメカニズムを使用してコピー動作を実行することでサポートすることができる。いくつかの実施形態では、ページングメカニズムは、スマートカードオペレーティングシステムによりまだサポートされていない場合にはアプリケーションコードと統合され、この場合、アプリケーションは、可能な限り最も効率的な方法でページングを本質的にサポートするように設計される。図6は、ページングメカニズムを使用して実行可能コードをページングする例示的な一実施態様を示す。アプリケーションが、非XIPメモリ等の不揮発大容量メモリストレージエリア31にある。このアプリケーションを実行する要求をスマートカードプロセッサが受け取る。アプリケーションを実行するために、スマートカードプロセッサは、アプリケーションを非XIPメモリからXIPメモリエリア30にコピーしなければならないが、XIPメモリ30の空き容量は、アプリケーション全体を収容するのに不十分である。この制約を解消するために、アプリケーションはセグメント33、34、35に分割される。メインセグメント35は、基本的な機能および場合によってはページング関連機能を含み、XIPメモリエリア36にコピーされる。アプリケーション33のさらなるセグメントは、スワップ可能エリアこのエリア内のコードを後で必要になったときに別のアプリケーションコードセグメントと交換できることを意味するとして使用されるXIPメモリエリア32の部分にオンデマンドでコピーされる。こうして、スマートカードオペレーティングシステムは、XIPメモリエリアからアプリケーションの実行を開始することができる。アプリケーションが、XIPメモリエリアにロードされていないセグメント、例えばセグメント34にあるデータまたはコードを参照する時点に達するとすぐに、スマートカードオペレーティングシステムは、要求されたセグメント34をXIPメモリエリア32のスワップ可能エリアの、前にロードされたアプリケーションセグメント上、例えばセグメント33上にロードする。本発明のいくつかの実施形態は、プレロードされ保護された実行可能コードをスマートカードユーザに配布する方法を提供する。プレロードされ保護されたコードの配布を説明するフローチャートを図7に提示する。図7に示すように、発行者はまず、非XIPメモリ等の不揮発性メモリにあるプレロードされ保護されたコードを含むスマートカード装置を1人または複数のユーザに提供する300。ユーザは、スマートカード装置を受け取った後、適当な認証証明を提供し、ホスト装置を使用して実行コマンドをスマートカード装置に送ることにより302、保護されたアプリケーションコードの実行を選択することができる。実行コマンドを受け取ると、プレロードされ保護されたコードのいくらかまたはすべてが、不揮発性メモリから実行可能メモリにコピーされ304、コピーされたコードが実行される306。任意に、実行プロセス開始後に、いくつかのプログラムコードが実行可能メモリにページングされる。本発明が実行可能コードのコピー304に特定の制限を課さないことに留意されたい。いくつかの実施形態では、コードの不揮発性メモリから実行可能コードへのコピーは、スマートカードの内部データバスを通しての内部コピーのみである。それに関わらず、これは本発明のあらゆる実施形態での明示的な要件ではない。例えば、コード206を実行可能メモリに任意でページングすることを含む実施形態および図7において説明した実施形態によれば、コピーはホスト装置を通しての外部コピーを任意に含む。したがって、一例によれば、サービスプロバイダは、アプリケーション群を、顧客に提供する前にUSIMカードにプレロードすることができる。プレロードされたアプリケーションコードは、スマートカード外部インタフェースを介しての読み取りから保護され、アプリケーションがアンロックされる場合、スマートカードプロセッサを介してのみこの群からのアプリケーションの実行が可能である。顧客は、ロックされたプレロードアプリケーションを実行したい場合、サービスプロバイダに問い合わせて、新しいサービスへの加入を要求する。サービスプロバイダは、所望のアプリケーションをアンロックする鍵を移動端末に送り、鍵は、限られた時間量、または規定の実行回数だけアプリケーションを無条件で実行できるようにすることができる。その瞬間から鍵の期限が切れるまで、USIMカードのCPUはアプリケーションの実行が可能になる。本発明の特定の態様をSIMカードおよびUSIMカードに関して説明したが、本発明がコンタクトレススマートカードにも関連することに留意されたい。本願の説明および特許請求の範囲では、各動詞備える、含む、および有するならびにその活用形は、動詞の1つまたは複数の目的語が必ずしも、動詞の1つまたは複数の主語のメンバ、構成要素、要素、またはパーツの完全なリストではないことを示すために使用される。例として提供され、本発明の範囲の限定を意図しない本発明の実施形態の詳細な説明を用いて本発明を説明した。説明した実施形態は異なる特徴を含み、これらのすべてが本発明のすべての実施形態において必要なわけではない。本発明のいくつかの実施形態は、特徴のいくつかのみ、または特徴の可能な組み合わせを利用する。説明した本発明の実施形態の変形形態および説明した実施形態で記した特徴の異なる組み合わせを含む本発明の実施形態が、当業者により想到されよう。本発明の範囲は、添付の特許請求の範囲によってのみ制限される。