[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6195465B2 - 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 - Google Patents

同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 Download PDF

Info

Publication number
JP6195465B2
JP6195465B2 JP2013098352A JP2013098352A JP6195465B2 JP 6195465 B2 JP6195465 B2 JP 6195465B2 JP 2013098352 A JP2013098352 A JP 2013098352A JP 2013098352 A JP2013098352 A JP 2013098352A JP 6195465 B2 JP6195465 B2 JP 6195465B2
Authority
JP
Japan
Prior art keywords
content management
script
card content
processor
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013098352A
Other languages
English (en)
Other versions
JP2013246817A (ja
Inventor
ジンホ・リー
ヤン・ジン・オ
ヒョンギ・リー
ジュホ・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013246817A publication Critical patent/JP2013246817A/ja
Application granted granted Critical
Publication of JP6195465B2 publication Critical patent/JP6195465B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Devices For Executing Special Programs (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、遠隔カードコンテンツ管理に関し、より具体的には、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素の遠隔カードコンテンツ管理に関する。
多用途のスマートカードの使用は、ますます普及してきており、これらのセキュリティ保護された要素をモバイル機器に埋め込むことには強力な市場のイニシアチブがある。スマートカードの文脈では、アプリケーション・プロトコル・データ単位(APDU)がスマートカードとスマートカードリーダとの間の通信単位である。遠隔カードコンテンツ管理は、モバイル機器にホストされたセキュリティ保護された要素へのカードコンテンツ管理コマンド又はAPDUの供給を制御する。カードコンテンツ管理をプログラム的に行うために、一般的で融通性のあるスクリプト言語を用いることができる。スクリプト言語を用いてひとたび1つ又は複数のカードコンテンツ管理動作がプログラムされると、スクリプト実行の一部として、APDUが生成され、セキュリティ保護された要素へと送信されることが予期される。セキュリティ保護された要素からの応答に基づいて、スクリプト言語のif−else文のようなプログラミング構文を用いて、誤り処理論理又は他の決定ベースの論理を実装することができる。スクリプト言語を拡張及びカスタマイズして、より具体的な要求を満たすことも可能である。
APDUをセキュリティ保護された要素に送信するスクリプトメソッドは同期的であることが予期される一方で、モバイル環境は本質的に非同期的である。すなわち、メソッドがセキュリティ保護された要素に対してAPDUを送信する場合、起動はカード応答が受信されるまでブロックすべきである。この同期的挙動は、スクリプト言語のプログラム的機能が利用されることを可能にする。遠隔カードコンテンツ管理に関するさらなる課題は、サーバ上で稼働するスクリプト・インタープリタは、モバイル機器が常にクライアントとして機能する場合にはモバイル機器へのAPDUの送信を開始することができないということである。テキストベースのフラグメンテーションを用いてスクリプトを複数のサブスクリプトに分割することはできるが、スクリプトのプログラム的機能、例えばif−else節と組み合わせたフラッシングは、テキストベースのフラグメンテーションでは利用することができない。高水準言語の実行をサポートするシステムにおいては状態機械の実装を用いることができるが、そのような高水準言語を使用するとスクリプティングがもたらす融通性及び移植性が排除される。
本発明の目的は、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素の遠隔カードコンテンツ管理のためのシステム及びコンピュータ・プログラムを提供することである。
本発明の1つの実施形態によると、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステムが提供される。このシステムは、コンピュータ・プロセッサと、コンピュータ・プロセッサにより実行可能なスクリプト・インタープリタとを含む。スクリプト・インタープリタは、方法を行うように構成される。この方法は、コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することを含む。この方法はまた、スクリプトについての実行コンテクストを作成して、スクリプト内の一連の動作を非フラッシングノードとフラッシングノードとして識別することも含む。フラッシングノードは、要求に対する応答を送信する、及び、セキュリティ保護された要素についてのモバイル機器からの後続の要求を予期する動作として識別される。この方法は、フラッシングノードにおいて応答が送信されたときにスクリプトの実行を一時停止することをさらに含む。
本発明の別の実施形態によると、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードが具体化された非一時的な記憶媒体を含み、このコードは、コンピュータ・プロセッサによって実行されたときに、コンコンピュータ・プロセッサに方法を実行させる。こ方法は、コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することとを含む。この方法はまた、スクリプトについての実行コンテクストを作成して、スクリプト内の一連の動作を非フラッシングノードとフラッシングノードとして識別することも含む。フラッシングノードは、要求に対する応答を送信してセキュリティ保護された要素についてのモバイル機器からの後続の要求を予期する動作として識別される。この方法は、フラッシングノードにおいて応答が送信されたときにスクリプトの実行を一時停止することをさらに含む。
さらなる特徴及び利点が、本発明の技術を通して実現される。本発明の他の実施形態及び態様は、本明細書において詳細に説明され、それらは特許請求される発明の一部と見なされる。本発明を利点及び特徴と共により良く理解するために、説明及び図面を参照されたい。
本発明とみなされる主題は、本明細書の結論部にある特許請求の範囲において具体的に示され、明確に特許請求されている。本発明の前述及び他の特徴及び利点は、添付図面と関連して解釈される以下の詳細な説明から明らかである。
本発明の実施形態による、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理を実装することができるシステムのブロック図を示す。 本発明の実施形態による、スクリプト実行のための例示的なプロセスフローを示す。 本発明の実施形態による、例示的なスクリプト・インタープリタを示す。 本発明の実施形態による、例示的なカードコンテンツ管理プロセッサを示す。 本発明の実施形態による、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのプロセスのフロー図を示す。 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステムのブロック図のさらなる例を示す。
例示的な実施形態は、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素(例えばスマートカード)の遠隔カードコンテンツ管理に関連する。サーバとプリンタとの間にネットワーク接続を確立するような非遠隔のシナリオにおいては、同期挙動は、応答の待機中に開放したままにしておくことができる転送制御プロトコル(TCP)ソケット接続を用いて管理することができる。スクリプトを実行するソフトウェア・モジュールであるスクリプト・インタープリタは、サーバ上で稼働するデーモン・プロセスを起動することにより、セキュリティ保護された要素へのアプリケーション・プロトコル・データ単位(APDU)の送信を開始することができる。しかしながら、遠隔シナリオにおいては、スクリプト・インタープリタは、モバイル機器へのAPDUの送信を開始することができない。そのうえ、モバイル環境のような遠隔シナリオにおいては、応答の待機中にTCPソケット接続を開放したまま保持するのに利用できる十分なリソースがない場合がある。実施形態において、APDUを送信して後続の要求において応答を受信するフラッシングメソッドを識別する、スクリプト・インタープリタが提供される。フラッシングメソッドは、スクリプト実行中に遭遇する一時停止点である。各々の個別のカードコンテンツ管理動作のスクリプト実行コンテクストの全体は、フラッシングメソッドが起動されるたびに、メモリ内に保存されるか又はパーシステンスを通じて保存する(例えば、不揮発性記憶装置に書き込まれる)ことができる。スクリプトの実行は、APDUに対するモバイル機器からの後続の要求を受信することにより再開される。スクリプトの実行を再開することは、フラッシングメソッドが起動されるたびにスクリプト・インタープリタが一時停止したところにマークを付けることにより達成することができる。
ここで図1を参照して、同期サーバ側スクリプティングを用いたセキュリティ保護された要素の遠隔カードコンテンツ管理を実装することができるシステム100の例を、以下、より詳細に説明する。システム100はモバイル環境を表わす。図1に示された例において、システム100は、通信ネットワーク106上で1つ又は複数のモバイル機器104A−Nと通信するように構成されたサーバシステム102を含む。例示的な実施形態において、サーバシステム102は、命令の読み出し及び実行並びにシステム100の様々なコンポーネントとの対話の処理が可能な少なくとも1つの処理回路(例えば、コンピュータ・プロセッサ/CPU)を含む、高速処理デバイス(例えば、メインフレーム・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯用デバイス、組み込みコンピューティング・デバイスなど)である。
例示的な実施形態において、各々が概してモバイル機器104と呼ばれるモバイル機器104A−Nは、処理回路並びにキー/ボタン、タッチスクリーン、音声入力、表示装置及び音声出力などのI/Oインターフェースを備えた様々なモバイル送受器及びモバイルコンピューティング・デバイスを含むことができる。図1に示される例において、モバイル機器104A−Nの各々が、セキュリティ保護された要素105とも呼ばれるスマートカード105を含む。サーバシステム102及びモバイル機器104A−Nは、例えば1つ又は複数の処理装置又は回路、取り外し可能媒体を含む揮発性及び不揮発性メモリ、電源、ネットワーク・インターフェース、サポート回路、オペレーティングシステムなどの、当該分野で公知の種々のコンピュータ/通信ハードウェア及びソフトウェア技術を含むことができる。サーバシステム102は、キーボード、マウス及びディスプレイのようなユーザアクセス可能なI/Oデバイスを備えた1つ又は複数のユーザインターフェース107を含むこともできる。
通信ネットワーク106は、当該分野で公知の任意のタイプの通信ネットワークとすることができる。通信ネットワーク106は、無線、有線、及び/又は光ファイバリンクの組み合わせを含むことができる。通信ネットワーク106は、サーバシステム102とモバイル機器104A−Nとの間でデータを無線で伝送することを可能にする、ブロードバンド無線アクセスなどの様々な公知の通信規格をサポートすることができる。付加的なコンピュータシステム(図示せず)も、通信ネットワーク106又はその他のネットワークを介してサーバシステムにアクセスすることができる。
システム100は、データ記憶システム108も含む。データ記憶システム108は、任意のタイプのコンピュータ可読記憶媒体を指し、1つ又は複数の二次記憶要素、例えば、ハードディスクドライブ(HDD)、ソリッドステートメモリ、テープ、又はサーバシステム102の内部若しくは外部の記憶サブシステムを含むことができる。データ記憶システム108内に格納することができるデータのタイプは、例えば、種々のファイル及びデータベースを含む。図1に示されるデータ記憶システム108は、簡略化及び説明を容易にする目的で提示されたものであり、範囲を限定するものとして解釈されるべきものではないことが理解されるであろう。それとは反対に、サーバシステム102により利用される複数のデータ記憶システム108が存在してもよく、これらはシステム100の種々の位置に分散することができる。
サーバシステム102は、アプリケーション・コンテナ110内のアプリケーション・インスタンス、例えば複数のカードコンテンツ管理(CCM)プロセッサ・インスタンスを実行することができる。図1に示される例において、アプリケーション・コンテナ110は、CCMプロセッサ・インスタンス112A及びCCMプロセッサ・インスタンス112Bを含む。CCMプロセッサ・インスタンス112A、112Bの各々は、スクリプト・インタープリタ114及び実行コンテクスト116を含む。スクリプト・インタープリタ114がスクリプトを実行するときに、パラメータ値、スクリプト構成及びステータスなどのコンテクスト情報は、CCMプロセッサ・インスタンス112A、112Bの各々についての実行コンテクスト116としてローカルで管理される。CCMハンドラ118A、118Bは、CCMプロセッサ・インスタンス112A、112Bと、アプリケーション・コンテナ110の外部のプロセスとの間のインターフェースを提供する。図1の例において、CCMハンドラ118A及びCCMプロセッサ・インスタンス112Aは、モバイル機器104AについてのCCM動作に関連付けられ、一方、CCMハンドラ118B及びCCMプロセッサ・インスタンス112Bは、モバイル機器104BについてのCCM動作に関連付けられる。別の選択肢として、CCMハンドラ118Aは複数のCCM動作に関連付けられることがあり、CCMハンドラ118Bを省くことができる。一意の識別子が生成され、各CCM動作に割り当てられる。CCMプロセッサ・インスタンス112A、112Bは、各CCM動作に対して動的に作成することができる。CCMプロセッサ・インスタンス112A、112Bは、割当マップ120とも呼ばれるマップ120内に一意識別子に対応する鍵と共に格納される。マップ120は、キャッシュメモリ、メインメモリ若しくは記憶システム108内に格納することもでき、又はサーバシステム102にアクセス可能な複数のメモリ要素間に分散させることもできる。CCMハンドラ118A、118Bは、図1の例においてはモバイル機器104A及び104Bからの要求を受信して処理する。
引き続き図1の例を参照すると、モバイル機器104は、ハイパーテキスト転送プロトコル(HTTP)POST要求を送信し、この要求の一部としてデータをCCMハンドラ118Aに送信する。要求は、モバイル機器104Aを更新又は構成するためのアプリケーションのインストール又は個人化の要求の一部とすることができる。データは、マップ120内のCCM動作に関連付けられた鍵に対してマッピングされる一意識別子を含むことができる。CCMハンドラ118Aは、ルックアップ動作を実行して、その鍵に関連付けられたCCMプロセッサ・インスタンスを識別する。この例において、CCMハンドラ118Aは、モバイル機器104AについてのCCM動作がCCMプロセッサ・インスタンス112Aに関連付けられていると判断する。CCMハンドラ118Aは、CCMプロセッサ・インスタンス112Aを取り出し、CCMプロセッサ・インスタンス112A上のメソッドを起動して1つ又は複数のAPDUを要求して、返す。CCMハンドラ118Aは、返された1つ又は複数のAPDUをAPDU応答として拡張マークアップ言語(XML)形式で送信することができる。モバイル機器104Aにおけるスマートカード105は、APDU形式のコマンドを解釈するように構成された論理を含む。認証及び安全な通信のための暗号鍵の確立といった付加的な動作を行うことができることが理解されるであろう。
図2は、さらなる例によるスクリプト実行のための例示的なプロセスフローを示す。図2において、モバイル機器104Aは、アクション識別子(action id)、アプリケーション識別子(aid)及びカードイメージ番号(cin)を指定するパラメータを含むLOADスクリプトに対するHTTP POST要求を送信する。これらのパラメータが一緒に、特定のカード所有者についての一意のカードコンテンツ管理動作を識別する。受信した要求に応答して、LOADスクリプト200は、例えば図1のマップ120に基づいてCCMハンドラ118Aにより識別された図1のCCMプロセッサ・インスタンス112A内のスクリプト・インタープリタ114によって処理される。LOADスクリプト200の実行は、この例においては「this.sendApdu(apdu1)」である、フラッシングメソッドの第1の発生202まで進行する。フラッシングメソッドは、APDUを図1のセキュリティ保護された要素105に送信するメソッドである。LOADスクリプト200から判るように、「apdu2」がフラッシングメソッド204においてモバイル機器104Aに送信されるか否かは、「apdu1」に対するモバイル機器104Aからのカード応答に左右される。LOADスクリプト200が正しく実行されるためには、フラッシングメソッド「sendApdu」の起動は同期的でなければならない。実施形態において、フラッシングメソッドの実行は、同じモバイル機器すなわちモバイル機器104Aから新たな要求が到着するまでスクリプト実行を一時停止させる。
図2の例において、サーバシステム102がAPDUをフラッシングメソッド202においてHTTP応答「apdu1」として返した後、図1のCCMプロセッサ・インスタンス112Aの実行コンテクスト116の状態はその全体が保存され、LOADスクリプト200の実行が一時停止される。次のHTTP POST要求がモバイル機器104Aから受信されたときに、実行コンテクスト116が最後に保存されたところからLOADスクリプト200の実行が再開する。この例において、HTTP応答はカード応答を含み、これをLOADスクリプト200内のif−else構文の一部としてチェックして、フラッシングメソッド204を実行するか否かが判断される。フラッシングメソッド204は、「apdu2」を伴うHTTP応答を送信する。ここでもまた、フラッシングメソッド204が実行されると、図1のCCMプロセッサ・インスタンス112Aの実行コンテクスト116はその全体が保存され、LOADスクリプト200の実行は、新たな要求がモバイル機器104から受信されるまで一時停止される。次のHTTP POST要求をモバイル機器104Aから受信すると、LOADスクリプト200の実行は、実行コンテクスト116が最後に保存されたところからフラッシングメソッド206が実行されて「apdu3」が送信されるまで、再開する。プロセスは、LOADスクリプト200の実行が完了するまで続く。付加的なプロトコルの特徴は、モバイル機器104が予期すべきAPDUの数を決定する初期要求及び応答、並びに、複数のAPDUを送信するプロセスにおいてサーバシステム102及びモバイル機器104Aが現在どこに位置するかを示す位置識別子を含むことができる。
図3は、図1のスクリプト・インタープリタ114の例をより詳細に示す。スクリプト・インタープリタ114は、LOADスクリプト200のようなスクリプトのテキスト表現を解釈可能なノードのリストに変換するパーサ300を含む。スクリプト・インタープリタ114は、フラッシングノードと非フラッシングノードとを識別する。図3の実行コンテクスト116内のノードの各々が、LOADスクリプト200内の行に対してマッピングされる。例えば、Node1は、LOADスクリプト200内の行「a=new A();」に対してマッピングされ、Node1は非フラッシングノードとして識別される。Node2は、LOADスクリプト200内の行「b=new B();」に対してマッピングされ、これも非フラッシングノードである。Node3は、LOADスクリプト200内の行「this.sendApdu(apdu1);」に対してマッピングされ、これは前に説明したようにフラッシングメソッドであり、従ってフラッシングノードとして識別される。スクリプト・インタープリタ114は、スクリプトの実行中にフラッシングメソッドに遭遇したときに、実行コンテクスト116内の対応するフラッシングノードに「カレント(current)」とマークを付け、APDUを返し、一時的に実行を停止する。スクリプト・インタープリタ114が同じモバイル機器、この例ではモバイル機器104Aからの要求の受信に基づいて実行を再開するときに、スクリプト・インタープリタ114は、最後のカレントノードから実行を再開する。
図4は、CCMプロセッサ112の例をより詳細に示す。CCMプロセッサ112は、スクリプト・インタープリタ114をラップし、スクリプト・インタープリタ114に対する呼出を作成する。さらにCCMプロセッサ112は、所与のCCM動作に関連したスクリプトのリストをCCMスクリプト400内に保持する。例えば、アプリケーション発行動作は、図4に示すように一連の3つの別個のスクリプト、すなわちLOAD、INSTALL及びPERSOを含むことができる。CCMプロセッサ112は、複数のスクリプトの正しい逐次的な実行が行われることを保証する。CCM動作の一部としてAPDUに対する要求を受信すると、CCMプロセッサ112は、カレントスクリプト識別子402を用いてCCMスクリプト400からカレントスクリプトを識別して取り出し、スクリプト・インタープリタ114を起動する。パーサ300は、実行コンテクスト116を作成し、一連のフラッシングノード及び非フラッシングノードを識別する。スクリプト・インタープリタ114は、この例ではNode3であるフラッシングノードに到達するまで実行する。APDUを含むNode3からの結果が返され、Node3がカレントノードとしてマーク付けされる。CCMプロセッサ112の完全なインスタンスは、フラッシングメソッドの実行に基づいて格納することができ、CCMプロセッサ112のインスタンスに関連付けられたモバイル機器104の同じセキュリティ保護された要素105に関連する新たな要求の受信に基づいて再開することができる。このようにして、実行が再開されたときにカレントスクリプト及びカレントノードの情報を復元することができ、逐次的なスクリプト間の処理フロー及びスクリプト内のフローが管理される。
ここで図5を参照して、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのプロセス500を例示的な実施形態で説明する。プロセス500は、図1乃至図4を参照して説明され、図1のモバイル機器104A−Nの1つ又は複数に応答するサーバシステム102により実装することができる。
ブロック502において、アプリケーション・コンテナ110は、通信ネットワーク106を介して、モバイル機器104、例えばモバイル機器104Aから、CCM動作を行うことを求める要求を受信する。図1に示されるように、モバイル機器104A−Nは、サーバシステム102から遠隔に位置する。サーバシステム102は、アプリケーション・コンテナ110を管理及び実行するように構成されたコンピュータ・プロセッサを含む。ブロック504において、この要求は、CCMハンドラ118Aにおいて受信することができ、CCMハンドラ118Aは、そのCCM動作に関連付けられた一意識別子に基づいてマップ120にアクセスし、CCMプロセッサ112のインスタンス、例えばCCMプロセッサ・インスタンス112Aがセキュリティ保護された要素105についてのCCM動作に関連付けられているか否か判断する。マップ120は、複数のセキュリティ保護された要素105についての複数のCCM動作に関連付けられた、さらに複数のCCMプロセッサ・インスタンス112A、112Bに関連付けられた一意識別子を含むことができ、ここでCCMプロセッサ・インスタンス112A、112Bの各々はアプリケーション・コンテナ110内の別個のコンポーネントである。ブロック506において、CCMプロセッサ112のどのインスタンスも受信したCCM動作に関連付けられていない場合には、CCMプロセッサ112の新たなインスタンスを起動することが可能であり、マップ120内にエントリを作成することができる。
受信したCCM動作に複数のCCMスクリプトが関連付けられていることがある。ブロック508において、CCMプロセッサ112の起動されたインスタンスは、カレントスクリプト識別子402を用いて、受信したCCM動作についてのカレントスクリプトを識別して取り出す。カレントスクリプトは、スクリプト・インタープリタ114のパーサ300に渡される。ブロック510において、スクリプト・インタープリタ114のパーサ300は、カレントスクリプト、例えばLOADスクリプト200を構文解析し、受信したCCM動作をセキュリティ保護された要素105についての一連の動作として行う。
パーサ300は、最初にカレントスクリプトについてのコンテクスト116を作成し、カレントスクリプト内の一連の動作を非フラッシングノード及びフラッシングノードとして識別する。フラッシングノードは、要求に対する応答を送信する、及び、セキュリティ保護された要素105についてのモバイル機器104からの後続の要求を予期する動作として、識別される。要求は、セキュリティ保護された要素105についてのAPDUに対するものとすることができる。スクリプト・インタープリタ114はAPDUに対する要求に応答してのみAPDUを送信し、かつ、スクリプト・インタープリタ114はモバイル機器104との通信を開始しないので、スクリプト・インタープリタ114によって送信されたAPDUに関するモバイル機器104からのなんらかのフィードバックは、モバイル機器104が後続の要求を送信するまで受信されない。
ブロック512において、カレントスクリプトを実行し、カレントスクリプトの実行は、フラッシングノードにおいて応答を送信すると一時停止される。スクリプトの実行を一時停止することは、実行コンテクスト116内でフラッシングノードをカレントノードとしてマーク付けし、実行コンテクスト116を格納し、モバイル機器104から後続の要求を受信するまでカレントスクリプトの実行を停止することを含むことができる。
後続の要求を受信すると、ブロック504において、CCM動作に関連付けられたCCMプロセッサ112のインスタンスがマップ120内で識別され、次いでブロック514においてCCMプロセッサ112のインスタンスが起動され、これは以前に保存された実行コンテクスト116の復元を含む。カレントスクリプトがカレントスクリプト識別子402を用いて識別されて取り出され、カレントノードが実行コンテクスト116内で識別される。ブロック516において、カレントスクリプトの実行は、次のフラッシングノードに到達するまで又はカレントスクリプトの最後に到達するまで続く。ひとたびあるCCM動作についての全てのCCMスクリプト400が完了すると、そのCCM動作は完了する。マップ120内のレコードは、CCM動作が完了したら削除することができる。マップ120を定期的に監視して、タイムアウトした又は閾値時間よりも長時間にわたって未完のままのストールしたCCM動作を消去することができる。
図6は、同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理のためのシステム600のブロック図を示す。前述のプロセスは、システム600において、ハードウェア、ソフトウェア(例えばファームウェア)、又はそれらの組み合わせで、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、又はメインフレーム・コンピュータのような専用又は汎用デジタルコンピュータの一部として実装することができる。従って、システム600は、図6に示されるような汎用コンピュータ601を含む。システム600は、図1のシステム100のさらなる例であり、この場合、汎用コンピュータ601は図1のサーバシステム102の実施形態である。
例示的な実施形態において、ハードウェア・アーキテクチャの観点からいえば、図6に示されるように、コンピュータ601は、コンピュータ・プロセッサ605と、メモリ・コントローラ615に結合したメモリ610と、ローカル入力/出力(I/O)コントローラ635を介して通信可能に結合した1つ又は複数の入力/出力デバイス640、645(又は周辺装置)とを含む。入力/出力コントローラ635は、当該分野で公知のように、例えば限定されないが、1つ若しくは複数のバス、又はその他の有線若しくは無線接続とすることができる。入力/出力コントローラ635は、簡略化のために省略しているが、コントローラ、バッファ(キャッシュ)、ドライバ、中継器、及び受信機といった、通信を可能にするための付加的要素を含むこともできる。さらに、ローカル・インターフェースは、上記のコンポーネント間の適切な通信を可能にするためにアドレス、コントロール、及び/又はデータ接続を含むことができる。
コンピュータ・プロセッサ605は、ソフトウェアを実行するための、特にキャッシュ記憶などの記憶装置620又はメモリ610内に格納されたソフトウェアを実行するためのハードウェア・デバイスである。コンピュータ・プロセッサ605は、任意のカスタムメード若しくは市販のコンピュータ・プロセッサ、中央処理ユニット(CPU)、コンピュータ601に付随する幾つかのプロセッサのうちの補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップ又はチップセットの形態)、マクロプロセッサ、又は命令を実行する概ねあらゆるデバイスとすることができる。
メモリ610は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(DRAM、SRAM、SDRAMなどのRAM))及び不揮発性メモリ素子(例えば、ROM、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)、プログラム可能読み出し専用メモリ(PROM)、テープ、コンパクトディスク読み出し専用メモリ(CD−ROM)、ディスク、ディスケット、カートリッジ、カセットなど)のいずれか1つ又は組み合わせを含むことができる。さらに、メモリ610は、電子、磁気、光、及び/又は他のタイプの記憶媒体を組み込むことができる。メモリ610は、種々のコンポーネントが互いに遠隔に位置しているがコンピュータ・プロセッサ605によってアクセスすることができる分散型アーキテクチャを有することができることに留意されたい。
メモリ610内の命令は、論理関数を実装するための実行可能命令の順序付きリストを各々が含む1つ又は複数の別個のプログラムを含むことができる。図6の例において、メモリ610内の命令は、適切なオペレーティングシステム(OS)611を含む。オペレーティングシステム611は、他のコンピュータ・プログラムの実行を本質的に制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理、並びに通信制御及び関連サービスを提供する。
例示的な実施形態において、従来のキーボート650及びマウス655を入力/出力コントローラ635に結合することができる。I/Oデバイス640、645のような他の出力デバイスは入力デバイスを含むことができ、例えばこれらに限定されないがプリンタ、スキャナ、マイクロホンなどである。最後に、I/Oデバイス640、645は、入力と出力の両方を通信するデバイス、例えばこれらに限られないがネットワーク・インターフェース・カード(NIC)又は変調器/復調器(他のファイル、デバイス、システム、又はネットワークにアクセスするためのもの)、無線周波数(RF)又はその他のトランシーバ、電話インターフェース、ブリッジ、ルータなどをさらに含むことができる。システム600はさらに、ディスプレイ630に結合したディスプレイ・コントローラ625を含むことができる。例示的な実施形態において、システム600はさらに、ネットワーク665に結合するためのネットワーク・インターフェース660を含むことができる。ネットワーク665は、コンピュータ601と外部のサーバ、クライアントなどとの間のブロードバンド接続を介した通信のためのIPベースのネットワークとすることができる。ネットワーク665は、コンピュータ601と外部システムとの間でデータを送受信する。例示的な実施形態において、ネットワーク665は、サービスプロバイダによって運営される管理されたIPネットワークとすることができる。ネットワーク665は、WiFi、WiMaxなどのような無線プロトコル及び技術を用いて無線方式で実装することができる。ネットワーク665は、パケット交換ネットワーク、例えばローカルエリア・ネットワーク、広域ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット・ネットワーク、又は他の同様のタイプのネットワーク環境とすることもできる。ネットワーク665は、固定無線ネットワーク、無線ローカルエリア・ネットワーク(LAN)、無線広域ネットワーク(WAN)、パーソナル・エリア・ネットワーク(PAN)、仮想私設ネットワーク(VPN)、インターネット又は他の適切なネットワークシステムとすることができ、信号を送受信するための機器を含む。
コンピュータ601がPC、ワークステーション、又はインテリジェントデバイスなどである場合には、メモリ610内の命令は、さらに基本入出力システム(BIOS)(簡略化のために省略)を含むことができる。BIOSは、スタートアップ時にハードウェアを初期化及び検査し、OS611を起動し、ハードウェア・デバイス間のデータの転送をサポートする基本ソフトウェア・ルーチンのセットである。BIOSは、コンピュータ601が起動されたときにBIOSを実行することができるように、ROM内に格納されている。
コンピュータ601の動作中に、コンピュータ・プロセッサ605は、メモリ610内に格納された命令を実行し、メモリ610との間でデータを送受信し、命令に従ってコンピュータ601の動作を一般に制御するように構成される。
技術的効果には、同期サーバ側スクリプティングを用いた、セキュリティ保護された要素(スマートカード)の遠隔カードコンテンツ管理が含まれる。APDUを送信してカード応答を受信するフラッシングメソッドを識別する、スクリプト・インタープリタが提供される。各々の個別のカードコンテンツ管理動作のスクリプト実行コンテクストの全体は、フラッシングメソッドが起動されるたびに、メモリ内に保存されるか又はパーシステンスを通じて保存することができる。スクリプトの実行は、APDUに対するモバイル機器からの後続の要求を受信することにより再開される。スクリプトの実行を再開することは、フラッシングメソッドが起動されるたびにスクリプト・インタープリタが一時停止したところにマークを付けることにより達成することができる。従って、それ以外の場合には非同期的な通信プロセスが、効果的に同期的に実行される。
当業者であればわかるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェア及びハードウェア態様を組み合わせる実施形態の形式を取ることができ、これらはすべて本明細書において一般的に「回路」、「モジュール」、若しくは「システム」と呼ばれる。さらに、本発明の態様は、その上に具体化されたコンピュータ可読プログラム・コードを有する1つ又は複数のコンピュータ可読媒体において具体化されたコンピュータ・プログラム製品の形式を取ることができる。
1つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読信号媒体は、例えば、電子、磁気、光、電磁気、赤外線若しくは半導体のシステム、装置、若しくはデバイス、又はこれらの任意の適切な組み合わせとすることができるがこれらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、1つ又は複数の配線を有する電気接続、携帯可能コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯型コンパクトディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。本文書の文脈においては、コンピュータ可読記憶媒体は、命令実行システム、装置若しくはデバイスにより又はこれらとの関連で用いられるプログラムを含むか又は記憶することができる任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが例えばベースバンド内に又は搬送波の一部として具体化された伝搬データ信号を含むことができる。こうした伝搬信号は、電磁気、光又はこれらの任意の適切な組み合わせを含むがこれらに限定されない、様々な形式のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、かつ、命令実行システム、装置若しくはデバイスにより又はこれらとの関連で用いられるプログラムを通信し、伝搬し、又は搬送することができる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等、又はこれらの任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体を用いて送信することができる。
本発明の態様についての動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のオブジェクト指向プログラム言語及び「C」プログラム言語又は類似のプログラム言語等の従来の手続き型言語を含む、1つ又は複数のプログラム言語の任意の組み合わせで記述することができる。プログラム・コードは、全体をユーザのコンピュータ上で実行するか、独立型ソフトウェア・パッケージとして一部をユーザのコンピュータ上で実行するか、一部をユーザのコンピュータ上で実行し一部をリモート・コンピュータ上で実行するか、又は、全体をリモート・コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいては、リモート・コンピュータは、ローカルエリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続することができ、又は(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)外部コンピュータへの接続を確立することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート及び/又はブロック図を参照して、本明細書において説明される。フローチャート及び/又はブロック図の各ブロック、及びフローチャート及び/又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令により実装できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装する手段を作成するようにすることができる。
これらのコンピュータ・プログラム命令を、特定の方式で機能するようにコンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装する命令を含む製品を製造するようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードし、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実行させて、コンピュータ実施プロセスを生成し、それにより、コンピュータ又は他のプログラム可能データ処理装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するプロセスを提供するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図中の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表す。また、いくつかの代替的な実装においては、ブロック内に記された機能は、その図に記された順序とは異なる順序で行われる場合があることに留意されたい。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又は、ブロックがときには逆順で実行されることもある。また、ブロック図及び/又はフローチャートの各ブロック、及び、ブロック図及び/又はフローチャート内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアベースのシステムによって実装することも、又は、専用ハードウェアとコンピュータ命令との組み合わせによって実装することもできることにも留意されたい。
ここに示されるフロー図は、単に一例にすぎない。本発明の精神から逸脱することなく、これらの図又はその中に記載されたステップ(又は動作)に対して多くのバリエーションが存在し得る。例えば、ステップは異なる順序で実行することもでき、又はステップを付加し、削除し若しくは変更することもできる。これらのバリエーションの全てが本発明の特許請求の範囲の一部とみなされる。
本発明の好ましい実施形態を説明したが、当業者であれば、現在においても将来においても、以下の特許請求の範囲内に含まれる種々の改良及び強化を行なうことができることが理解されるであろう。これらの特許請求の範囲は、最初に記載された発明に対する適正な保護が維持されるように解釈すべきである。
100:システム
102:サーバシステム
104A−N:モバイル機器
105:セキュリティ保護された要素(スマートカード)
106:通信ネットワーク
202、204、206:フラッシングメソッド
402:スクリプト識別子
600:システム
601:汎用コンピュータ
630:ディスプレイ
645:I/Oデバイス
650:キーボード
655:マウス

Claims (20)

  1. コンピュータ・プロセッサと、
    前記コンピュータ・プロセッサにより実行可能なスクリプト・インタープリタとを含むシステムであって、前記スクリプト・インタープリタは、
    前記コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することと、
    前記スクリプトについての実行コンテクストを作成して前記スクリプト内の前記一連の動作を非フラッシングノードとフラッシングノードとして識別し、フラッシングノードは、前記要求に対する応答を送信する、及び、前記セキュリティ保護された要素についての前記モバイル機器からの後続の要求を予期する動作として識別される、実行コンテクストを作成することと、
    前記フラッシングノードにおいて前記応答が送信されたときに前記スクリプトの実行を一時停止することと、
    を含む方法を行うように構成される、システム。
  2. 前記スクリプトの実行を一時停止することは、
    前記フラッシングノードを前記実行コンテクスト内でカレントノードとしてマーク付けすることと、
    前記実行コンテクストを格納することと、
    前記スクリプトの実行を前記後続の要求を受信するまで停止することと
    をさらに含む、請求項1に記載のシステム。
  3. 前記スクリプト・インタープリタは、
    前記後続の要求を受信したときに、前記実行コンテクスト内の前記カレントノードを識別することと、
    次のフラッシングノードに到達するまで前記スクリプトの実行を続けることと
    を行うようにさらに構成される、請求項2に記載のシステム。
  4. カードコンテンツ管理プロセッサをさらに含み、
    前記カードコンテンツ管理プロセッサは、前記スクリプト・インタープリタと、前記カードコンテンツ管理動作に関連付けられた複数のカードコンテンツ管理スクリプトと、カレントスクリプト識別子とを含む、請求項1に記載のシステム。
  5. アプリケーション・コンテナをさらに含み、
    前記アプリケーション・コンテナは、前記カードコンテンツ管理プロセッサのインスタンスと、カードコンテンツ管理ハンドラとを含み、前記カードコンテンツ管理ハンドラは、前記カードコンテンツ管理プロセッサの前記インスタンスを起動するように構成される、請求項4に記載のシステム。
  6. マップをさらに含み、
    前記マップは、前記カードコンテンツ管理動作と、前記セキュリティ保護された要素についての前記カードコンテンツ管理動作に関連付けられた前記カードコンテンツ管理プロセッサの前記インスタンスとに関連付けられた、一意識別子を識別するように構成される、請求項5に記載のシステム。
  7. 前記コンピュータ・プロセッサから遠隔に位置する複数のセキュリティ保護された要素についての複数のカードコンテンツ管理動作に関連付けられた前記カードコンテンツ管理プロセッサの複数のインスタンスをさらに含み、前記カードコンテンツ管理プロセッサの前記インスタンスの各々が、前記マップ内に別個のエントリを有し、前記カードコンテンツ管理プロセッサの前記インスタンスの各々が、前記アプリケーション・コンテナ内の別個のコンポーネントである、請求項6に記載のシステム。
  8. 前記セキュリティ保護された要素は、前記モバイル機器内のスマートカードである、請求項1に記載のシステム。
  9. 前記要求は、前記スマートカードについてのアプリケーション・プロトコル・データ単位に対するものであり、
    前記要求の受信に基づいて、前記フラッシングノードにおいて前記アプリケーション・プロトコル・データ単位で応答すること
    をさらに含む、請求項8に記載のシステム。
  10. 前記スクリプト・インタープリタは、前記アプリケーション・プロトコル・データ単位に対する前記要求に応答してのみ前記アプリケーション・プロトコル・データ単位を送信する、請求項9に記載のシステム。
  11. コンピュータ・プロセッサによって実行されたときに、前記コンピュータ・プロセッサに、
    前記コンピュータ・プロセッサから遠隔に位置するモバイル機器からの要求の受信に基づいて、セキュリティ保護された要素についての一連の動作としてカードコンテンツ管理動作を行うように構成されたスクリプトを構文解析することと、
    前記スクリプトについての実行コンテクストを生成して前記スクリプト内の前記一連の動作を非フラッシングノードとフラッシングノードとして識別し、フラッシングノードは、前記要求に対する応答を送信する、及び、前記セキュリティ保護された要素についての前記モバイル機器からの後続の要求を予期する動作として識別される、実行コンテクストを作成することと、
    前記フラッシングノードにおいて前記応答が送信されたときに前記スクリプトの実行を一時停止すること、
    を含む方法を実施させる、コンピュータ・プログラム。
  12. 前記スクリプトの実行を一時停止することは、
    前記フラッシングノードを前記実行コンテクスト内でカレントノードとしてマーク付けすることと、
    前記実行コンテクストを格納することと、
    前記スクリプトの実行を前記後続の要求を受信するまで停止することと
    をさらに含む、請求項11に記載のコンピュータ・プログラム。
  13. 前記方法は、
    前記後続の要求の受信したときに、前記実行コンテクスト内の前記カレントノードを識別することと、
    次のフラッシングノードに到達するまで前記スクリプトの実行を続けることと
    をさらに含む、請求項12に記載のコンピュータ・プログラム。
  14. 前記方法は、
    複数のカードコンテンツ管理スクリプトを前記カードコンテンツ管理動作に関連付けることと、
    カレントスクリプトを、カレントスクリプト識別子を用いて識別して取り出すことと
    をさらに含む、請求項11に記載のコンピュータ・プログラム。
  15. 前記方法は、
    アプリケーション・コンテナ内で前記カードコンテンツ管理動作に関連付けられたカードコンテンツ管理プロセッサのインスタンスを起動させることをさらに含み、前記カードコンテンツ管理プロセッサは、スクリプト・インタープリタと、前記カードコンテンツ管理動作に関連付けられた前記複数のカードコンテンツ管理スクリプトと、前記カレントスクリプト識別子とを含む、請求項14に記載のコンピュータ・プログラム。
  16. 前記方法は、
    前記カードコンテンツ管理動作に関連付けられた一意識別子に基づいてマップにアクセスし、前記カードコンテンツ管理プロセッサのどのインスタンスが、前記セキュリティ保護された要素についての前記カードコンテンツ管理動作に関連付けられているか判断すること
    をさらに含む、請求項15に記載のコンピュータ・プログラム。
  17. 前記カードコンテンツ管理プロセッサの複数のインスタンスは、前記コンピュータ・プロセッサから遠隔に位置する複数のセキュリティ保護された要素についての複数のカードコンテンツ管理動作に関連付けられており、前記カードコンテンツ管理プロセッサの前記インスタンスの各々は、前記マップ内に別個のエントリを有し、前記カードコンテンツ管理プロセッサの前記インスタンスの各々は、前記アプリケーション・コンテナ内の別個の
    コンポーネントである、請求項16に記載のコンピュータ・プログラム。
  18. 前記セキュリティ保護された要素は、前記モバイル機器内のスマートカードである、請求項11に記載のコンピュータ・プログラム。
  19. 前記要求は、前記スマートカードについてのアプリケーション・プロトコル・データ単位に対するものであり、
    前記方法は、
    前記要求の受信に基づいて、前記フラッシングノードにおいて前記アプリケーション・プロトコル・データ単位で応答すること
    をさらに含む、請求項18に記載のコンピュータ・プログラム。
  20. 前記方法は、
    前記アプリケーション・プロトコル・データ単位に対する前記要求に応答してのみ前記アプリケーション・プロトコル・データ単位を送信すること
    をさらに含む、請求項19に記載のコンピュータ・プログラム。
JP2013098352A 2012-05-24 2013-05-08 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 Active JP6195465B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/479348 2012-05-24
US13/479,348 US8813029B2 (en) 2012-05-24 2012-05-24 Remote card content management using synchronous server-side scripting

Publications (2)

Publication Number Publication Date
JP2013246817A JP2013246817A (ja) 2013-12-09
JP6195465B2 true JP6195465B2 (ja) 2017-09-13

Family

ID=49622424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013098352A Active JP6195465B2 (ja) 2012-05-24 2013-05-08 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理

Country Status (3)

Country Link
US (2) US8813029B2 (ja)
JP (1) JP6195465B2 (ja)
CN (1) CN103425486B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8813029B2 (en) * 2012-05-24 2014-08-19 International Business Machines Corporation Remote card content management using synchronous server-side scripting
US9317322B2 (en) * 2012-10-24 2016-04-19 Google Technology Holdings LLC Simulating synchronous execution of asynchronous operations
US9075601B1 (en) * 2013-03-07 2015-07-07 Ca, Inc. Providing a scripting interface to existing code
US11178124B2 (en) * 2014-09-02 2021-11-16 Apple Inc. Secure pairing of a processor and a secure element of an electronic device
US10068114B1 (en) * 2017-09-12 2018-09-04 Nxp B.V. System and method for implementing a host card emulation (HCE) command stack in a mobile phone
CN108170512A (zh) * 2017-12-27 2018-06-15 德阳源创能源科技有限公司 脚本驱动解析方法及装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870464A (en) * 1995-11-13 1999-02-09 Answersoft, Inc. Intelligent information routing system and method
JP2002292145A (ja) * 2001-03-29 2002-10-08 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20020169984A1 (en) * 2001-05-09 2002-11-14 Kumar Gopikrishna T. Session management for wireless E-commerce
JP2002366857A (ja) * 2001-06-06 2002-12-20 Hitachi Ltd Icカードシステム及びそれを用いた決済方法
US7162631B2 (en) * 2001-11-02 2007-01-09 Activcard Method and system for scripting commands and data for use by a personal security device
US7133894B2 (en) * 2002-03-12 2006-11-07 International Business Machines Corporation Method, apparatus, and program for synchronous remote builds
EP1363187A1 (en) * 2002-05-15 2003-11-19 Sony International (Europe) GmbH Dispatching application steps in a client/server environment
US7594111B2 (en) * 2002-12-19 2009-09-22 Massachusetts Institute Of Technology Secure execution of a computer program
US7668864B2 (en) * 2003-01-17 2010-02-23 International Business Machines Corporation Digital library system with customizable workflow
US7823133B2 (en) * 2003-04-23 2010-10-26 Stmicroelectronics, Inc. Smart card device and method for debug and software development
US7380125B2 (en) * 2003-05-22 2008-05-27 International Business Machines Corporation Smart card data transaction system and methods for providing high levels of storage and transmission security
US7503038B2 (en) * 2004-08-27 2009-03-10 Microsoft Corporation System and method for seamlessly comparing objects
JP4355639B2 (ja) * 2004-09-15 2009-11-04 キヤノン株式会社 画像処理装置およびその制御方法
KR100784688B1 (ko) * 2005-01-26 2007-12-12 한국전자통신연구원 독립 인증 수단을 가지는 콘텐츠 실행 디바이스 콘텐츠 실행 방법 및 콘텐츠 재배포 방법
JP2006244211A (ja) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> Icカード制御機能を備えた携帯端末装置およびそのプログラム
CN101171604A (zh) 2005-03-07 2008-04-30 诺基亚公司 包括智能卡模块和近场通信装置的方法和移动终端设备
JP2008092205A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 移動通信端末装置
CA2682610A1 (en) * 2007-04-03 2008-10-09 Cpni Inc. A system and method for merchant discovery and transfer of payment data
US7748609B2 (en) * 2007-08-31 2010-07-06 Gemalto Inc. System and method for browser based access to smart cards
GB2457221A (en) 2007-10-17 2009-08-12 Vodafone Plc Smart Card Web Server (SCWS) administration within a plurality of security domains
JP4906672B2 (ja) * 2007-10-22 2012-03-28 株式会社日立製作所 ウェブアプリケーションの処理記録方法および処理記録装置
US8607013B2 (en) * 2007-10-30 2013-12-10 Vmware, Inc. Providing VMM access to guest virtual memory
EP2144421A1 (en) * 2008-07-08 2010-01-13 Gemplus Method for managing an access from a remote device to data accessible from a local device and corresponding system
US9824355B2 (en) 2008-09-22 2017-11-21 Visa International Service Association Method of performing transactions with contactless payment devices using pre-tap and two-tap operations
EP2211480B1 (en) 2009-01-26 2013-10-23 Motorola Mobility LLC Wireless communication device for providing at least one near field communication service
US20100274678A1 (en) 2009-04-22 2010-10-28 Gofigure Payments, Llc Systems, methods and devices for facilitating mobile payments
CN101576989A (zh) 2009-06-09 2009-11-11 阿里巴巴集团控股有限公司 移动终端中实现支付的方法及移动设备
US20110010234A1 (en) 2009-07-07 2011-01-13 Mike Lindelsee Mobile device including auto initiation
US20110161938A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Including defect content in source code and producing quality reports from the same
US8413047B2 (en) * 2011-05-12 2013-04-02 Qualcomm Incorporated Concurrent parsing and processing of HTML and JAVASCRIPT®
JP5518792B2 (ja) * 2011-06-13 2014-06-11 日本電信電話株式会社 Icカードシステム、icカードシステムのリカバリ方法およびサーバ
US8813029B2 (en) * 2012-05-24 2014-08-19 International Business Machines Corporation Remote card content management using synchronous server-side scripting

Also Published As

Publication number Publication date
US20130318142A1 (en) 2013-11-28
US8793651B2 (en) 2014-07-29
CN103425486A (zh) 2013-12-04
US20130318508A1 (en) 2013-11-28
JP2013246817A (ja) 2013-12-09
US8813029B2 (en) 2014-08-19
CN103425486B (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
US10802906B2 (en) Monitoring method and apparatus of server, and storage medium
US10871953B2 (en) Application update method and apparatus
US9706371B2 (en) Push notification middleware
JP6195465B2 (ja) 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理
CN105765526B (zh) 通过网络从远程磁盘镜像进行引导
US20180262388A1 (en) Remote device deployment
US9473356B2 (en) Automatic configuration of applications based on host metadata using application-specific templates
US9400671B2 (en) Computer host with a baseboard management controller to manage virtual machines
US20150026325A1 (en) Notification normalization
CN109818910B (zh) 一种数据传输方法、装置和介质
US20160105534A1 (en) Physical switch initialization using representational state transfer services
US9898384B2 (en) Automated problem determination for cooperating web services using debugging technology
WO2019057089A1 (zh) 网卡镜像抓包方法、终端以及可读存储介质
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
US9760528B1 (en) Methods and systems for creating a network
WO2016119623A1 (zh) 一种网络分享的实现方法和装置
US10261937B2 (en) Method and system for communication of device information
JP6172262B2 (ja) 情報処理装置
CN112764823A (zh) Nvr系统的启动方法、主机操作系统和数据通信方法
CN114531498A (zh) 数据传输方法、装置、电子设备及存储介质
WO2024217338A1 (zh) 网关、网关热升级方法及系统
US8280950B2 (en) Automatic client-server code generator
US9819725B1 (en) System, method, and computer program for remotely controlling mobile web applications installed on a mobile device
KR102368826B1 (ko) 클라우드 서버 및 클라우드 서버의 동작
JP6471459B2 (ja) 通信装置、ログ処理プログラム、通信システム、及びログ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170815

R150 Certificate of patent or registration of utility model

Ref document number: 6195465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150