(57)【要約】      （修正有）【課題】同期サーバ側スクリプティングを用いた、要素の遠隔カードコンテンツ管理のためのシステム及びコンピュータ・プログラムを提供する。【解決手段】システム１００は、コンピュータ・プロセッサと、コンピュータ・プロセッサにより実行可能なスクリプト・インタープリタ１１４とを含む。スクリプト・インタープリタは、遠隔に位置するモバイル機器１０４からの要求の受信に基づいて、一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析する。また、スクリプトについての実行コンテクストを生成して、スクリプト内の一連の動作を非フラッシングノードとフラッシングノードとして識別する。フラッシングノードは、要求に対する応答を送信する、及び、モバイル機器からの後続の要求を予期する動作として識別される。フラッシングノードにおいて応答が送信されたときにスクリプトの実行を一時停止する。【選択図】図１
2013246817.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・プロセッサと、
前記コンピュータ・プロセッサにより実行可能なスクリプト・インタープリタと
を含むシステムであって、前記スクリプト・インタープリタは、
前記コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することと、
前記スクリプトについての実行コンテクストを作成して前記スクリプト内の前記一連の動作を非フラッシングノードとフラッシングノードとして識別し、フラッシングノードは、前記要求に対する応答を送信する、及び、前記セキュリティ保護された要素についての前記モバイル機器からの後続の要求を予期する動作として識別される、実行コンテクストを作成することと、
前記フラッシングノードにおいて前記応答が送信されたときに前記スクリプトの実行を一時停止することと、
を含む方法を行うように構成される、システム。
【請求項２】
前記スクリプトの実行を一時停止することは、
前記フラッシングノードを前記実行コンテクスト内でカレントノードとしてマーク付けすることと、
前記実行コンテクストを格納することと、
前記スクリプトの実行を前記後続の要求を受信するまで停止することと
をさらに含む、請求項１に記載のシステム。
【請求項３】
前記スクリプト・インタープリタは、
前記後続の要求を受信したときに、前記実行コンテクスト内の前記カレントノードを識別することと、
次のフラッシングノードに到達するまで前記スクリプトの実行を続けることと
を行うようにさらに構成される、請求項２に記載のシステム。
【請求項４】
カードコンテンツ管理プロセッサをさらに含み、
前記カードコンテンツ管理プロセッサは、前記スクリプト・インタープリタと、前記カードコンテンツ管理動作に関連付けられた複数のカードコンテンツ管理スクリプトと、カレントスクリプト識別子とを含む、請求項１に記載のシステム。
【請求項５】
アプリケーション・コンテナをさらに含み、
前記アプリケーション・コンテナは、前記カードコンテンツ管理プロセッサのインスタンスと、カードコンテンツ管理ハンドラとを含み、前記カードコンテンツ管理ハンドラは、前記カードコンテンツ管理プロセッサの前記インスタンスを起動するように構成される、請求項４に記載のシステム。
【請求項６】
マップをさらに含み、
前記マップは、前記カードコンテンツ管理動作と、前記セキュリティ保護された要素についての前記カードコンテンツ管理動作に関連付けられた前記カードコンテンツ管理プロセッサの前記インスタンスとに関連付けられた、一意識別子を識別するように構成される、請求項５に記載のシステム。
【請求項７】
前記コンピュータ・プロセッサから遠隔に位置する複数のセキュリティ保護された要素についての複数のカードコンテンツ管理動作に関連付けられた前記カードコンテンツ管理プロセッサの複数のインスタンスをさらに含み、前記カードコンテンツ管理プロセッサの前記インスタンスの各々が、前記マップ内に別個のエントリを有し、前記カードコンテンツ管理プロセッサの前記インスタンスの各々が、前記アプリケーション・コンテナ内の別個のコンポーネントである、請求項６に記載のシステム。
【請求項８】
前記セキュリティ保護された要素は、前記モバイル機器内のスマートカードである、請求項１に記載のシステム。
【請求項９】
前記要求は、前記スマートカードについてのアプリケーション・プロトコル・データ単位に対するものであり、
前記要求の受信に基づいて、前記フラッシングノードにおいて前記アプリケーション・プロトコル・データ単位で応答すること
をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記スクリプト・インタープリタは、前記アプリケーション・プロトコル・データ単位に対する前記要求に応答してのみ前記アプリケーション・プロトコル・データ単位を送信する、請求項９に記載のシステム。
【請求項１１】
コンピュータ・プロセッサによって実行されたときに、前記コンコンピュータ・プロセッサに、
前記コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することと、
前記スクリプトについての実行コンテクストを生成して前記スクリプト内の前記一連の動作を非フラッシングノードとフラッシングノードとして識別し、フラッシングノードは、前記要求に対する応答を送信する、及び、前記セキュリティ保護された要素についての前記モバイル機器からの後続の要求を予期する動作として識別される、実行コンテクストを作成することと、
前記フラッシングノードにおいて前記応答が送信されたときに前記スクリプトの実行を一時停止すること、
を含む方法を実施させる、コンピュータ・プログラム。
【請求項１２】
前記スクリプトの実行を一時停止することは、
前記フラッシングノードを前記実行コンテクスト内でカレントノードとしてマーク付けすることと、
前記実行コンテクストを格納することと、
前記スクリプトの実行を前記後続の要求を受信するまで停止することと
をさらに含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
前記方法は、
前記後続の要求の受信したときに、前記実行コンテクスト内の前記カレントノードを識別することと、
次のフラッシングノードに到達するまで前記スクリプトの実行を続けることと
をさらに含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１４】
前記方法は、
複数のカードコンテンツ管理スクリプトを前記カードコンテンツ管理動作に関連付けることと、
カレントスクリプトを、カレントスクリプト識別子を用いて識別して取り出すことと
をさらに含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１５】
前記方法は、
アプリケーション・コンテナ内で前記カードコンテンツ管理動作に関連付けられたカードコンテンツ管理プロセッサのインスタンスを起動させることをさらに含み、前記カードコンテンツ管理プロセッサは、スクリプト・インタープリタと、前記カードコンテンツ管理動作に関連付けられた前記複数のカードコンテンツ管理スクリプトと、前記カレントスクリプト識別子とを含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１６】
前記方法は、
前記カードコンテンツ管理動作に関連付けられた一意識別子に基づいてマップにアクセスし、前記カードコンテンツ管理プロセッサのどのインスタンスが、前記セキュリティ保護された要素についての前記カードコンテンツ管理動作に関連付けられているか判断すること
をさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記カードコンテンツ管理プロセッサの複数のインスタンスは、前記コンピュータ・プロセッサから遠隔に位置する複数のセキュリティ保護された要素についての複数のカードコンテンツ管理動作に関連付けられており、前記カードコンテンツ管理プロセッサの前記インスタンスの各々は、前記マップ内に別個のエントリを有し、前記カードコンテンツ管理プロセッサの前記インスタンスの各々は、前記アプリケーション・コンテナ内の別個のコンポーネントである、請求項１６に記載のコンピュータ・プログラム。
【請求項１８】
前記セキュリティ保護された要素は、前記モバイル機器内のスマートカードである、請求項１１に記載のコンピュータ・プログラム。
【請求項１９】
前記要求は、前記スマートカードについてのアプリケーション・プロトコル・データ単位に対するものであり、
前記方法は、
前記要求の受信に基づいて、前記フラッシングノードにおいて前記アプリケーション・プロトコル・データ単位で応答すること
をさらに含む、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記方法は、
前記アプリケーション・プロトコル・データ単位に対する前記要求に応答してのみ前記アプリケーション・プロトコル・データ単位を送信すること
をさらに含む、請求項１９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔カードコンテンツ管理に関し、より具体的には、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素の遠隔カードコンテンツ管理に関する。
【背景技術】
【０００２】
多用途のスマートカードの使用は、ますます普及してきており、これらのセキュリティ保護された要素をモバイル機器に埋め込むことには強力な市場のイニシアチブがある。スマートカードの文脈では、アプリケーション・プロトコル・データ単位（ＡＰＤＵ）がスマートカードとスマートカードリーダとの間の通信単位である。遠隔カードコンテンツ管理は、モバイル機器にホストされたセキュリティ保護された要素へのカードコンテンツ管理コマンド又はＡＰＤＵの供給を制御する。カードコンテンツ管理をプログラム的に行うために、一般的で融通性のあるスクリプト言語を用いることができる。スクリプト言語を用いてひとたび１つ又は複数のカードコンテンツ管理動作がプログラムされると、スクリプト実行の一部として、ＡＰＤＵが生成され、セキュリティ保護された要素へと送信されることが予期される。セキュリティ保護された要素からの応答に基づいて、スクリプト言語のｉｆ−ｅｌｓｅ文のようなプログラミング構文を用いて、誤り処理論理又は他の決定ベースの論理を実装することができる。スクリプト言語を拡張及びカスタマイズして、より具体的な要求を満たすことも可能である。
【０００３】
ＡＰＤＵをセキュリティ保護された要素に送信するスクリプトメソッドは同期的であることが予期される一方で、モバイル環境は本質的に非同期的である。すなわち、メソッドがセキュリティ保護された要素に対してＡＰＤＵを送信する場合、起動はカード応答が受信されるまでブロックすべきである。この同期的挙動は、スクリプト言語のプログラム的機能が利用されることを可能にする。遠隔カードコンテンツ管理に関するさらなる課題は、サーバ上で稼働するスクリプト・インタープリタは、モバイル機器が常にクライアントとして機能する場合にはモバイル機器へのＡＰＤＵの送信を開始することができないということである。テキストベースのフラグメンテーションを用いてスクリプトを複数のサブスクリプトに分割することはできるが、スクリプトのプログラム的機能、例えばｉｆ−ｅｌｓｅ節と組み合わせたフラッシングは、テキストベースのフラグメンテーションでは利用することができない。高水準言語の実行をサポートするシステムにおいては状態機械の実装を用いることができるが、そのような高水準言語を使用するとスクリプティングがもたらす融通性及び移植性が排除される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素の遠隔カードコンテンツ管理のためのシステム及びコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の１つの実施形態によると、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステムが提供される。このシステムは、コンピュータ・プロセッサと、コンピュータ・プロセッサにより実行可能なスクリプト・インタープリタとを含む。スクリプト・インタープリタは、方法を行うように構成される。この方法は、コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することを含む。この方法はまた、スクリプトについての実行コンテクストを作成して、スクリプト内の一連の動作を非フラッシングノードとフラッシングノードとして識別することも含む。フラッシングノードは、要求に対する応答を送信する、及び、セキュリティ保護された要素についてのモバイル機器からの後続の要求を予期する動作として識別される。この方法は、フラッシングノードにおいて応答が送信されたときにスクリプトの実行を一時停止することをさらに含む。
【０００６】
本発明の別の実施形態によると、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードが具体化された非一時的な記憶媒体を含み、このコードは、コンピュータ・プロセッサによって実行されたときに、コンコンピュータ・プロセッサに方法を実行させる。こ方法は、コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することとを含む。この方法はまた、スクリプトについての実行コンテクストを作成して、スクリプト内の一連の動作を非フラッシングノードとフラッシングノードとして識別することも含む。フラッシングノードは、要求に対する応答を送信してセキュリティ保護された要素についてのモバイル機器からの後続の要求を予期する動作として識別される。この方法は、フラッシングノードにおいて応答が送信されたときにスクリプトの実行を一時停止することをさらに含む。
【０００７】
さらなる特徴及び利点が、本発明の技術を通して実現される。本発明の他の実施形態及び態様は、本明細書において詳細に説明され、それらは特許請求される発明の一部と見なされる。本発明を利点及び特徴と共により良く理解するために、説明及び図面を参照されたい。
【０００８】
本発明とみなされる主題は、本明細書の結論部にある特許請求の範囲において具体的に示され、明確に特許請求されている。本発明の前述及び他の特徴及び利点は、添付図面と関連して解釈される以下の詳細な説明から明らかである。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態による、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理を実装することができるシステムのブロック図を示す。
【図２】本発明の実施形態による、スクリプト実行のための例示的なプロセスフローを示す。
【図３】本発明の実施形態による、例示的なスクリプト・インタープリタを示す。
【図４】本発明の実施形態による、例示的なカードコンテンツ管理プロセッサを示す。
【図５】本発明の実施形態による、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのプロセスのフロー図を示す。
【図６】同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステムのブロック図のさらなる例を示す。
【発明を実施するための形態】
【００１０】
例示的な実施形態は、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素（例えばスマートカード）の遠隔カードコンテンツ管理に関連する。サーバとプリンタとの間にネットワーク接続を確立するような非遠隔のシナリオにおいては、同期挙動は、応答の待機中に開放したままにしておくことができる転送制御プロトコル（ＴＣＰ）ソケット接続を用いて管理することができる。スクリプトを実行するソフトウェア・モジュールであるスクリプト・インタープリタは、サーバ上で稼働するデーモン・プロセスを起動することにより、セキュリティ保護された要素へのアプリケーション・プロトコル・データ単位（ＡＰＤＵ）の送信を開始することができる。しかしながら、遠隔シナリオにおいては、スクリプト・インタープリタは、モバイル機器へのＡＰＤＵの送信を開始することができない。そのうえ、モバイル環境のような遠隔シナリオにおいては、応答の待機中にＴＣＰソケット接続を開放したまま保持するのに利用できる十分なリソースがない場合がある。実施形態において、ＡＰＤＵを送信して後続の要求において応答を受信するフラッシングメソッドを識別する、スクリプト・インタープリタが提供される。フラッシングメソッドは、スクリプト実行中に遭遇する一時停止点である。各々の個別のカードコンテンツ管理動作のスクリプト実行コンテクストの全体は、フラッシングメソッドが起動されるたびに、メモリ内に保存されるか又はパーシステンスを通じて保存する（例えば、不揮発性記憶装置に書き込まれる）ことができる。スクリプトの実行は、ＡＰＤＵに対するモバイル機器からの後続の要求を受信することにより再開される。スクリプトの実行を再開することは、フラッシングメソッドが起動されるたびにスクリプト・インタープリタが一時停止したところにマークを付けることにより達成することができる。
【００１１】
ここで図１を参照して、同期サーバ側スクリプティングを用いたセキュリティ保護された要素の遠隔カードコンテンツ管理を実装することができるシステム１００の例を、以下、より詳細に説明する。システム１００はモバイル環境を表わす。図１に示された例において、システム１００は、通信ネットワーク１０６上で１つ又は複数のモバイル機器１０４Ａ−Ｎと通信するように構成されたサーバシステム１０２を含む。例示的な実施形態において、サーバシステム１０２は、命令の読み出し及び実行並びにシステム１００の様々なコンポーネントとの対話の処理が可能な少なくとも１つの処理回路（例えば、コンピュータ・プロセッサ／ＣＰＵ）を含む、高速処理デバイス（例えば、メインフレーム・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯用デバイス、組み込みコンピューティング・デバイスなど）である。
【００１２】
例示的な実施形態において、各々が概してモバイル機器１０４と呼ばれるモバイル機器１０４Ａ−Ｎは、処理回路並びにキー／ボタン、タッチスクリーン、音声入力、表示装置及び音声出力などのＩ／Ｏインターフェースを備えた様々なモバイル送受器及びモバイルコンピューティング・デバイスを含むことができる。図１に示される例において、モバイル機器１０４Ａ−Ｎの各々が、セキュリティ保護された要素１０５とも呼ばれるスマートカード１０５を含む。サーバシステム１０２及びモバイル機器１０４Ａ−Ｎは、例えば１つ又は複数の処理装置又は回路、取り外し可能媒体を含む揮発性及び不揮発性メモリ、電源、ネットワーク・インターフェース、サポート回路、オペレーティングシステムなどの、当該分野で公知の種々のコンピュータ／通信ハードウェア及びソフトウェア技術を含むことができる。サーバシステム１０２は、キーボード、マウス及びディスプレイのようなユーザアクセス可能なＩ／Ｏデバイスを備えた１つ又は複数のユーザインターフェース１０７を含むこともできる。
【００１３】
通信ネットワーク１０６は、当該分野で公知の任意のタイプの通信ネットワークとすることができる。通信ネットワーク１０６は、無線、有線、及び／又は光ファイバリンクの組み合わせを含むことができる。通信ネットワーク１０６は、サーバシステム１０２とモバイル機器１０４Ａ−Ｎとの間でデータを無線で伝送することを可能にする、ブロードバンド無線アクセスなどの様々な公知の通信規格をサポートすることができる。付加的なコンピュータシステム（図示せず）も、通信ネットワーク１０６又はその他のネットワークを介してサーバシステムにアクセスすることができる。
【００１４】
システム１００は、データ記憶システム１０８も含む。データ記憶システム１０８は、任意のタイプのコンピュータ可読記憶媒体を指し、１つ又は複数の二次記憶要素、例えば、ハードディスクドライブ（ＨＤＤ）、ソリッドステートメモリ、テープ、又はサーバシステム１０２の内部若しくは外部の記憶サブシステムを含むことができる。データ記憶システム１０８内に格納することができるデータのタイプは、例えば、種々のファイル及びデータベースを含む。図１に示されるデータ記憶システム１０８は、簡略化及び説明を容易にする目的で提示されたものであり、範囲を限定するものとして解釈されるべきものではないことが理解されるであろう。それとは反対に、サーバシステム１０２により利用される複数のデータ記憶システム１０８が存在してもよく、これらはシステム１００の種々の位置に分散することができる。
【００１５】
サーバシステム１０２は、アプリケーション・コンテナ１１０内のアプリケーション・インスタンス、例えば複数のカードコンテンツ管理（ＣＣＭ）プロセッサ・インスタンスを実行することができる。図１に示される例において、アプリケーション・コンテナ１１０は、ＣＣＭプロセッサ・インスタンス１１２Ａ及びＣＣＭプロセッサ・インスタンス１１２Ｂを含む。ＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂの各々は、スクリプト・インタープリタ１１４及び実行コンテクスト１１６を含む。スクリプト・インタープリタ１１４がスクリプトを実行するときに、パラメータ値、スクリプト構成及びステータスなどのコンテクスト情報は、ＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂの各々についての実行コンテクスト１１６としてローカルで管理される。ＣＣＭハンドラ１１８Ａ、１１８Ｂは、ＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂと、アプリケーション・コンテナ１１０の外部のプロセスとの間のインターフェースを提供する。図１の例において、ＣＣＭハンドラ１１８Ａ及びＣＣＭプロセッサ・インスタンス１１２Ａは、モバイル機器１０４ＡについてのＣＣＭ動作に関連付けられ、一方、ＣＣＭハンドラ１１８Ｂ及びＣＣＭプロセッサ・インスタンス１１２Ｂは、モバイル機器１０４ＢについてのＣＣＭ動作に関連付けられる。別の選択肢として、ＣＣＭハンドラ１１８Ａは複数のＣＣＭ動作に関連付けられることがあり、ＣＣＭハンドラ１１８Ｂを省くことができる。一意の識別子が生成され、各ＣＣＭ動作に割り当てられる。ＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂは、各ＣＣＭ動作に対して動的に作成することができる。ＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂは、割当マップ１２０とも呼ばれるマップ１２０内に一意識別子に対応する鍵と共に格納される。マップ１２０は、キャッシュメモリ、メインメモリ若しくは記憶システム１０８内に格納することもでき、又はサーバシステム１０２にアクセス可能な複数のメモリ要素間に分散させることもできる。ＣＣＭハンドラ１１８Ａ、１１８Ｂは、図１の例においてはモバイル機器１０４Ａ及び１０４Ｂからの要求を受信して処理する。
【００１６】
引き続き図１の例を参照すると、モバイル機器１０４は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ＰＯＳＴ要求を送信し、この要求の一部としてデータをＣＣＭハンドラ１１８Ａに送信する。要求は、モバイル機器１０４Ａを更新又は構成するためのアプリケーションのインストール又は個人化の要求の一部とすることができる。データは、マップ１２０内のＣＣＭ動作に関連付けられた鍵に対してマッピングされる一意識別子を含むことができる。ＣＣＭハンドラ１１８Ａは、ルックアップ動作を実行して、その鍵に関連付けられたＣＣＭプロセッサ・インスタンスを識別する。この例において、ＣＣＭハンドラ１１８Ａは、モバイル機器１０４ＡについてのＣＣＭ動作がＣＣＭプロセッサ・インスタンス１１２Ａに関連付けられていると判断する。ＣＣＭハンドラ１１８Ａは、ＣＣＭプロセッサ・インスタンス１１２Ａを取り出し、ＣＣＭプロセッサ・インスタンス１１２Ａ上のメソッドを起動して１つ又は複数のＡＰＤＵを要求して、返す。ＣＣＭハンドラ１１８Ａは、返された１つ又は複数のＡＰＤＵをＡＰＤＵ応答として拡張マークアップ言語（ＸＭＬ）形式で送信することができる。モバイル機器１０４Ａにおけるスマートカード１０５は、ＡＰＤＵ形式のコマンドを解釈するように構成された論理を含む。認証及び安全な通信のための暗号鍵の確立といった付加的な動作を行うことができることが理解されるであろう。
【００１７】
図２は、さらなる例によるスクリプト実行のための例示的なプロセスフローを示す。図２において、モバイル機器１０４Ａは、アクション識別子（ａｃｔｉｏｎ  ｉｄ）、アプリケーション識別子（ａｉｄ）及びカードイメージ番号（ｃｉｎ）を指定するパラメータを含むＬＯＡＤスクリプトに対するＨＴＴＰ  ＰＯＳＴ要求を送信する。これらのパラメータが一緒に、特定のカード所有者についての一意のカードコンテンツ管理動作を識別する。受信した要求に応答して、ＬＯＡＤスクリプト２００は、例えば図１のマップ１２０に基づいてＣＣＭハンドラ１１８Ａにより識別された図１のＣＣＭプロセッサ・インスタンス１１２Ａ内のスクリプト・インタープリタ１１４によって処理される。ＬＯＡＤスクリプト２００の実行は、この例においては「ｔｈｉｓ．ｓｅｎｄＡｐｄｕ（ａｐｄｕ１）」である、フラッシングメソッドの第１の発生２０２まで進行する。フラッシングメソッドは、ＡＰＤＵを図１のセキュリティ保護された要素１０５に送信するメソッドである。ＬＯＡＤスクリプト２００から判るように、「ａｐｄｕ２」がフラッシングメソッド２０４においてモバイル機器１０４Ａに送信されるか否かは、「ａｐｄｕ１」に対するモバイル機器１０４Ａからのカード応答に左右される。ＬＯＡＤスクリプト２００が正しく実行されるためには、フラッシングメソッド「ｓｅｎｄＡｐｄｕ」の起動は同期的でなければならない。実施形態において、フラッシングメソッドの実行は、同じモバイル機器すなわちモバイル機器１０４Ａから新たな要求が到着するまでスクリプト実行を一時停止させる。
【００１８】
図２の例において、サーバシステム１０２がＡＰＤＵをフラッシングメソッド２０２においてＨＴＴＰ応答「ａｐｄｕ１」として返した後、図１のＣＣＭプロセッサ・インスタンス１１２Ａの実行コンテクスト１１６の状態はその全体が保存され、ＬＯＡＤスクリプト２００の実行が一時停止される。次のＨＴＴＰ  ＰＯＳＴ要求がモバイル機器１０４Ａから受信されたときに、実行コンテクスト１１６が最後に保存されたところからＬＯＡＤスクリプト２００の実行が再開する。この例において、ＨＴＴＰ応答はカード応答を含み、これをＬＯＡＤスクリプト２００内のｉｆ−ｅｌｓｅ構文の一部としてチェックして、フラッシングメソッド２０４を実行するか否かが判断される。フラッシングメソッド２０４は、「ａｐｄｕ２」を伴うＨＴＴＰ応答を送信する。ここでもまた、フラッシングメソッド２０４が実行されると、図１のＣＣＭプロセッサ・インスタンス１１２Ａの実行コンテクスト１１６はその全体が保存され、ＬＯＡＤスクリプト２００の実行は、新たな要求がモバイル機器１０４から受信されるまで一時停止される。次のＨＴＴＰ  ＰＯＳＴ要求をモバイル機器１０４Ａから受信すると、ＬＯＡＤスクリプト２００の実行は、実行コンテクスト１１６が最後に保存されたところからフラッシングメソッド２０６が実行されて「ａｐｄｕ３」が送信されるまで、再開する。プロセスは、ＬＯＡＤスクリプト２００の実行が完了するまで続く。付加的なプロトコルの特徴は、モバイル機器１０４が予期すべきＡＰＤＵの数を決定する初期要求及び応答、並びに、複数のＡＰＤＵを送信するプロセスにおいてサーバシステム１０２及びモバイル機器１０４Ａが現在どこに位置するかを示す位置識別子を含むことができる。
【００１９】
図３は、図１のスクリプト・インタープリタ１１４の例をより詳細に示す。スクリプト・インタープリタ１１４は、ＬＯＡＤスクリプト２００のようなスクリプトのテキスト表現を解釈可能なノードのリストに変換するパーサ３００を含む。スクリプト・インタープリタ１１４は、フラッシングノードと非フラッシングノードとを識別する。図３の実行コンテクスト１１６内のノードの各々が、ＬＯＡＤスクリプト２００内の行に対してマッピングされる。例えば、Ｎｏｄｅ１は、ＬＯＡＤスクリプト２００内の行「ａ＝ｎｅｗ  Ａ（）；」に対してマッピングされ、Ｎｏｄｅ１は非フラッシングノードとして識別される。Ｎｏｄｅ２は、ＬＯＡＤスクリプト２００内の行「ｂ＝ｎｅｗ  Ｂ（）；」に対してマッピングされ、これも非フラッシングノードである。Ｎｏｄｅ３は、ＬＯＡＤスクリプト２００内の行「ｔｈｉｓ．ｓｅｎｄＡｐｄｕ（ａｐｄｕ１）；」に対してマッピングされ、これは前に説明したようにフラッシングメソッドであり、従ってフラッシングノードとして識別される。スクリプト・インタープリタ１１４は、スクリプトの実行中にフラッシングメソッドに遭遇したときに、実行コンテクスト１１６内の対応するフラッシングノードに「カレント（ｃｕｒｒｅｎｔ）」とマークを付け、ＡＰＤＵを返し、一時的に実行を停止する。スクリプト・インタープリタ１１４が同じモバイル機器、この例ではモバイル機器１０４Ａからの要求の受信に基づいて実行を再開するときに、スクリプト・インタープリタ１１４は、最後のカレントノードから実行を再開する。
【００２０】
図４は、ＣＣＭプロセッサ１１２の例をより詳細に示す。ＣＣＭプロセッサ１１２は、スクリプト・インタープリタ１１４をラップし、スクリプト・インタープリタ１１４に対する呼出を作成する。さらにＣＣＭプロセッサ１１２は、所与のＣＣＭ動作に関連したスクリプトのリストをＣＣＭスクリプト４００内に保持する。例えば、アプリケーション発行動作は、図４に示すように一連の３つの別個のスクリプト、すなわちＬＯＡＤ、ＩＮＳＴＡＬＬ及びＰＥＲＳＯを含むことができる。ＣＣＭプロセッサ１１２は、複数のスクリプトの正しい逐次的な実行が行われることを保証する。ＣＣＭ動作の一部としてＡＰＤＵに対する要求を受信すると、ＣＣＭプロセッサ１１２は、カレントスクリプト識別子４０２を用いてＣＣＭスクリプト４００からカレントスクリプトを識別して取り出し、スクリプト・インタープリタ１１４を起動する。パーサ３００は、実行コンテクスト１１６を作成し、一連のフラッシングノード及び非フラッシングノードを識別する。スクリプト・インタープリタ１１４は、この例ではＮｏｄｅ３であるフラッシングノードに到達するまで実行する。ＡＰＤＵを含むＮｏｄｅ３からの結果が返され、Ｎｏｄｅ３がカレントノードとしてマーク付けされる。ＣＣＭプロセッサ１１２の完全なインスタンスは、フラッシングメソッドの実行に基づいて格納することができ、ＣＣＭプロセッサ１１２のインスタンスに関連付けられたモバイル機器１０４の同じセキュリティ保護された要素１０５に関連する新たな要求の受信に基づいて再開することができる。このようにして、実行が再開されたときにカレントスクリプト及びカレントノードの情報を復元することができ、逐次的なスクリプト間の処理フロー及びスクリプト内のフローが管理される。
【００２１】
ここで図５を参照して、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのプロセス５００を例示的な実施形態で説明する。プロセス５００は、図１乃至図４を参照して説明され、図１のモバイル機器１０４Ａ−Ｎの１つ又は複数に応答するサーバシステム１０２により実装することができる。
【００２２】
ブロック５０２において、アプリケーション・コンテナ１１０は、通信ネットワーク１０６を介して、モバイル機器１０４、例えばモバイル機器１０４Ａから、ＣＣＭ動作を行うことを求める要求を受信する。図１に示されるように、モバイル機器１０４Ａ−Ｎは、サーバシステム１０２から遠隔に位置する。サーバシステム１０２は、アプリケーション・コンテナ１１０を管理及び実行するように構成されたコンピュータ・プロセッサを含む。ブロック５０４において、この要求は、ＣＣＭハンドラ１１８Ａにおいて受信することができ、ＣＣＭハンドラ１１８Ａは、そのＣＣＭ動作に関連付けられた一意識別子に基づいてマップ１２０にアクセスし、ＣＣＭプロセッサ１１２のインスタンス、例えばＣＣＭプロセッサ・インスタンス１１２Ａがセキュリティ保護された要素１０５についてのＣＣＭ動作に関連付けられているか否か判断する。マップ１２０は、複数のセキュリティ保護された要素１０５についての複数のＣＣＭ動作に関連付けられた、さらに複数のＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂに関連付けられた一意識別子を含むことができ、ここでＣＣＭプロセッサ・インスタンス１１２Ａ、１１２Ｂの各々はアプリケーション・コンテナ１１０内の別個のコンポーネントである。ブロック５０６において、ＣＣＭプロセッサ１１２のどのインスタンスも受信したＣＣＭ動作に関連付けられていない場合には、ＣＣＭプロセッサ１１２の新たなインスタンスを起動することが可能であり、マップ１２０内にエントリを作成することができる。
【００２３】
受信したＣＣＭ動作に複数のＣＣＭスクリプトが関連付けられていることがある。ブロック５０８において、ＣＣＭプロセッサ１１２の起動されたインスタンスは、カレントスクリプト識別子４０２を用いて、受信したＣＣＭ動作についてのカレントスクリプトを識別して取り出す。カレントスクリプトは、スクリプト・インタープリタ１１４のパーサ３００に渡される。ブロック５１０において、スクリプト・インタープリタ１１４のパーサ３００は、カレントスクリプト、例えばＬＯＡＤスクリプト２００を構文解析し、受信したＣＣＭ動作をセキュリティ保護された要素１０５についての一連の動作として行う。
【００２４】
パーサ３００は、最初にカレントスクリプトについてのコンテクスト１１６を作成し、カレントスクリプト内の一連の動作を非フラッシングノード及びフラッシングノードとして識別する。フラッシングノードは、要求に対する応答を送信する、及び、セキュリティ保護された要素１０５についてのモバイル機器１０４からの後続の要求を予期する動作として、識別される。要求は、セキュリティ保護された要素１０５についてのＡＰＤＵに対するものとすることができる。スクリプト・インタープリタ１１４はＡＰＤＵに対する要求に応答してのみＡＰＤＵを送信し、かつ、スクリプト・インタープリタ１１４はモバイル機器１０４との通信を開始しないので、スクリプト・インタープリタ１１４によって送信されたＡＰＤＵに関するモバイル機器１０４からのなんらかのフィードバックは、モバイル機器１０４が後続の要求を送信するまで受信されない。
【００２５】
ブロック５１２において、カレントスクリプトを実行し、カレントスクリプトの実行は、フラッシングノードにおいて応答を送信すると一時停止される。スクリプトの実行を一時停止することは、実行コンテクスト１１６内でフラッシングノードをカレントノードとしてマーク付けし、実行コンテクスト１１６を格納し、モバイル機器１０４から後続の要求を受信するまでカレントスクリプトの実行を停止することを含むことができる。
【００２６】
後続の要求を受信すると、ブロック５０４において、ＣＣＭ動作に関連付けられたＣＣＭプロセッサ１１２のインスタンスがマップ１２０内で識別され、次いでブロック５１４においてＣＣＭプロセッサ１１２のインスタンスが起動され、これは以前に保存された実行コンテクスト１１６の復元を含む。カレントスクリプトがカレントスクリプト識別子４０２を用いて識別されて取り出され、カレントノードが実行コンテクスト１１６内で識別される。ブロック５１６において、カレントスクリプトの実行は、次のフラッシングノードに到達するまで又はカレントスクリプトの最後に到達するまで続く。ひとたびあるＣＣＭ動作についての全てのＣＣＭスクリプト４００が完了すると、そのＣＣＭ動作は完了する。マップ１２０内のレコードは、ＣＣＭ動作が完了したら削除することができる。マップ１２０を定期的に監視して、タイムアウトした又は閾値時間よりも長時間にわたって未完のままのストールしたＣＣＭ動作を消去することができる。
【００２７】
図６は、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステム６００のブロック図を示す。前述のプロセスは、システム６００において、ハードウェア、ソフトウェア（例えばファームウェア）、又はそれらの組み合わせで、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、又はメインフレーム・コンピュータのような専用又は汎用デジタルコンピュータの一部として実装することができる。従って、システム６００は、図６に示されるような汎用コンピュータ６０１を含む。システム６００は、図１のシステム１００のさらなる例であり、この場合、汎用コンピュータ６０１は図１のサーバシステム１０２の実施形態である。
【００２８】
例示的な実施形態において、ハードウェア・アーキテクチャの観点からいえば、図６に示されるように、コンピュータ６０１は、コンピュータ・プロセッサ６０５と、メモリ・コントローラ６１５に結合したメモリ６１０と、ローカル入力／出力（Ｉ／Ｏ）コントローラ６３５を介して通信可能に結合した１つ又は複数の入力／出力デバイス６４０、６４５（又は周辺装置）とを含む。入力／出力コントローラ６３５は、当該分野で公知のように、例えば限定されないが、１つ若しくは複数のバス、又はその他の有線若しくは無線接続とすることができる。入力／出力コントローラ６３５は、簡略化のために省略しているが、コントローラ、バッファ（キャッシュ）、ドライバ、中継器、及び受信機といった、通信を可能にするための付加的要素を含むこともできる。さらに、ローカル・インターフェースは、上記のコンポーネント間の適切な通信を可能にするためにアドレス、コントロール、及び／又はデータ接続を含むことができる。
【００２９】
コンピュータ・プロセッサ６０５は、ソフトウェアを実行するための、特にキャッシュ記憶などの記憶装置６２０又はメモリ６１０内に格納されたソフトウェアを実行するためのハードウェア・デバイスである。コンピュータ・プロセッサ６０５は、任意のカスタムメード若しくは市販のコンピュータ・プロセッサ、中央処理ユニット（ＣＰＵ）、コンピュータ６０１に付随する幾つかのプロセッサのうちの補助プロセッサ、半導体ベースのマイクロプロセッサ（マイクロチップ又はチップセットの形態）、マクロプロセッサ、又は命令を実行する概ねあらゆるデバイスとすることができる。
【００３０】
メモリ６１０は、揮発性メモリ素子（例えば、ランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭなどのＲＡＭ））及び不揮発性メモリ素子（例えば、ＲＯＭ、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、テープ、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、ディスク、ディスケット、カートリッジ、カセットなど）のいずれか１つ又は組み合わせを含むことができる。さらに、メモリ６１０は、電子、磁気、光、及び／又は他のタイプの記憶媒体を組み込むことができる。メモリ６１０は、種々のコンポーネントが互いに遠隔に位置しているがコンピュータ・プロセッサ６０５によってアクセスすることができる分散型アーキテクチャを有することができることに留意されたい。
【００３１】
メモリ６１０内の命令は、論理関数を実装するための実行可能命令の順序付きリストを各々が含む１つ又は複数の別個のプログラムを含むことができる。図６の例において、メモリ６１０内の命令は、適切なオペレーティングシステム（ＯＳ）６１１を含む。オペレーティングシステム６１１は、他のコンピュータ・プログラムの実行を本質的に制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理、並びに通信制御及び関連サービスを提供する。
【００３２】
例示的な実施形態において、従来のキーボート６５０及びマウス６５５を入力／出力コントローラ６３５に結合することができる。Ｉ／Ｏデバイス６４０、６４５のような他の出力デバイスは入力デバイスを含むことができ、例えばこれらに限定されないがプリンタ、スキャナ、マイクロホンなどである。最後に、Ｉ／Ｏデバイス６４０、６４５は、入力と出力の両方を通信するデバイス、例えばこれらに限られないがネットワーク・インターフェース・カード（ＮＩＣ）又は変調器／復調器（他のファイル、デバイス、システム、又はネットワークにアクセスするためのもの）、無線周波数（ＲＦ）又はその他のトランシーバ、電話インターフェース、ブリッジ、ルータなどをさらに含むことができる。システム６００はさらに、ディスプレイ６３０に結合したディスプレイ・コントローラ６２５を含むことができる。例示的な実施形態において、システム６００はさらに、ネットワーク６６５に結合するためのネットワーク・インターフェース６６０を含むことができる。ネットワーク６６５は、コンピュータ６０１と外部のサーバ、クライアントなどとの間のブロードバンド接続を介した通信のためのＩＰベースのネットワークとすることができる。ネットワーク６６５は、コンピュータ６０１と外部システムとの間でデータを送受信する。例示的な実施形態において、ネットワーク６６５は、サービスプロバイダによって運営される管理されたＩＰネットワークとすることができる。ネットワーク６６５は、ＷｉＦｉ、ＷｉＭａｘなどのような無線プロトコル及び技術を用いて無線方式で実装することができる。ネットワーク６６５は、パケット交換ネットワーク、例えばローカルエリア・ネットワーク、広域ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット・ネットワーク、又は他の同様のタイプのネットワーク環境とすることもできる。ネットワーク６６５は、固定無線ネットワーク、無線ローカルエリア・ネットワーク（ＬＡＮ）、無線広域ネットワーク（ＷＡＮ）、パーソナル・エリア・ネットワーク（ＰＡＮ）、仮想私設ネットワーク（ＶＰＮ）、インターネット又は他の適切なネットワークシステムとすることができ、信号を送受信するための機器を含む。
【００３３】
コンピュータ６０１がＰＣ、ワークステーション、又はインテリジェントデバイスなどである場合には、メモリ６１０内の命令は、さらに基本入出力システム（ＢＩＯＳ）（簡略化のために省略）を含むことができる。ＢＩＯＳは、スタートアップ時にハードウェアを初期化及び検査し、ＯＳ６１１を起動し、ハードウェア・デバイス間のデータの転送をサポートする基本ソフトウェア・ルーチンのセットである。ＢＩＯＳは、コンピュータ６０１が起動されたときにＢＩＯＳを実行することができるように、ＲＯＭ内に格納されている。
【００３４】
コンピュータ６０１の動作中に、コンピュータ・プロセッサ６０５は、メモリ６１０内に格納された命令を実行し、メモリ６１０との間でデータを送受信し、命令に従ってコンピュータ６０１の動作を一般に制御するように構成される。
【００３５】
技術的効果には、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素（スマートカード）の遠隔カードコンテンツ管理が含まれる。ＡＰＤＵを送信してカード応答を受信するフラッシングメソッドを識別する、スクリプト・インタープリタが提供される。各々の個別のカードコンテンツ管理動作のスクリプト実行コンテクストの全体は、フラッシングメソッドが起動されるたびに、メモリ内に保存されるか又はパーシステンスを通じて保存することができる。スクリプトの実行は、ＡＰＤＵに対するモバイル機器からの後続の要求を受信することにより再開される。スクリプトの実行を再開することは、フラッシングメソッドが起動されるたびにスクリプト・インタープリタが一時停止したところにマークを付けることにより達成することができる。従って、それ以外の場合には非同期的な通信プロセスが、効果的に同期的に実行される。
【００３６】
当業者であればわかるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はソフトウェア及びハードウェア態様を組み合わせる実施形態の形式を取ることができ、これらはすべて本明細書において一般的に「回路」、「モジュール」、若しくは「システム」と呼ばれる。さらに、本発明の態様は、その上に具体化されたコンピュータ可読プログラム・コードを有する１つ又は複数のコンピュータ可読媒体において具体化されたコンピュータ・プログラム製品の形式を取ることができる。
【００３７】
１つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読信号媒体は、例えば、電子、磁気、光、電磁気、赤外線若しくは半導体のシステム、装置、若しくはデバイス、又はこれらの任意の適切な組み合わせとすることができるがこれらに限定されない。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）は、１つ又は複数の配線を有する電気接続、携帯可能コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、携帯型コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。本文書の文脈においては、コンピュータ可読記憶媒体は、命令実行システム、装置若しくはデバイスにより又はこれらとの関連で用いられるプログラムを含むか又は記憶することができる任意の有形媒体とすることができる。
【００３８】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが例えばベースバンド内に又は搬送波の一部として具体化された伝搬データ信号を含むことができる。こうした伝搬信号は、電磁気、光又はこれらの任意の適切な組み合わせを含むがこれらに限定されない、様々な形式のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、かつ、命令実行システム、装置若しくはデバイスにより又はこれらとの関連で用いられるプログラムを通信し、伝搬し、又は搬送することができる、任意のコンピュータ可読媒体とすることができる。
【００３９】
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦ等、又はこれらの任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体を用いて送信することができる。
【００４０】
本発明の態様についての動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラム言語及び「Ｃ」プログラム言語又は類似のプログラム言語等の従来の手続き型言語を含む、１つ又は複数のプログラム言語の任意の組み合わせで記述することができる。プログラム・コードは、全体をユーザのコンピュータ上で実行するか、独立型ソフトウェア・パッケージとして一部をユーザのコンピュータ上で実行するか、一部をユーザのコンピュータ上で実行し一部をリモート・コンピュータ上で実行するか、又は、全体をリモート・コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいては、リモート・コンピュータは、ローカルエリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通してユーザのコンピュータに接続することができ、又は（例えば、インターネット・サービス・プロバイダを用いてインターネットを通して）外部コンピュータへの接続を確立することができる。
【００４１】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート及び／又はブロック図を参照して、本明細書において説明される。フローチャート及び／又はブロック図の各ブロック、及びフローチャート及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令により実装できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装する手段を作成するようにすることができる。
【００４２】
これらのコンピュータ・プログラム命令を、特定の方式で機能するようにコンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装する命令を含む製品を製造するようにすることもできる。
【００４３】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードし、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実行させて、コンピュータ実施プロセスを生成し、それにより、コンピュータ又は他のプログラム可能データ処理装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するプロセスを提供するようにすることもできる。
【００４４】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図中の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表す。また、いくつかの代替的な実装においては、ブロック内に記された機能は、その図に記された順序とは異なる順序で行われる場合があることに留意されたい。例えば、連続して示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又は、ブロックがときには逆順で実行されることもある。また、ブロック図及び／又はフローチャートの各ブロック、及び、ブロック図及び／又はフローチャート内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアベースのシステムによって実装することも、又は、専用ハードウェアとコンピュータ命令との組み合わせによって実装することもできることにも留意されたい。
【００４５】
ここに示されるフロー図は、単に一例にすぎない。本発明の精神から逸脱することなく、これらの図又はその中に記載されたステップ（又は動作）に対して多くのバリエーションが存在し得る。例えば、ステップは異なる順序で実行することもでき、又はステップを付加し、削除し若しくは変更することもできる。これらのバリエーションの全てが本発明の特許請求の範囲の一部とみなされる。
【００４６】
本発明の好ましい実施形態を説明したが、当業者であれば、現在においても将来においても、以下の特許請求の範囲内に含まれる種々の改良及び強化を行なうことができることが理解されるであろう。これらの特許請求の範囲は、最初に記載された発明に対する適正な保護が維持されるように解釈すべきである。
【符号の説明】
【００４７】
１００：システム
１０２：サーバシステム
１０４Ａ−Ｎ：モバイル機器
１０５：セキュリティ保護された要素（スマートカード）
１０６：通信ネットワーク
２０２、２０４、２０６：フラッシングメソッド
４０２：スクリプト識別子
６００：システム
６０１：汎用コンピュータ
６３０：ディスプレイ
６４５：Ｉ／Ｏデバイス
６５０：キーボード
６５５：マウス
【図１】
2013246817.tif 000003
【図２】
2013246817.tif 000004
【図３】
2013246817.tif 000005
【図４】
2013246817.tif 000006
【図５】
2013246817.tif 000007
【図６】
2013246817.tif 000008