(57)【特許請求の範囲】
【請求項１】
スマート・カード・リード／ライト方法であって：
第１スマート・カード検出モジュールによって、スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
第三者アプリケーション・ページ表示モジュールによって、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、前記第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するステップであって、前記第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、前記機能メニュー内のオプションに対応する命令スクリプトとを含み、前記命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、ステップ；
トリガー・オプション取得モジュールによって、前記第三者アプリケーション・リンクに対応するウェブ・ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するステップ；及び
第１スマート・カード・リード／ライト・モジュールによって、前記プラットフォーム・アプリケーション・サーバーから返され且つ前記スマート・カード制御リクエストに対応するスマート・カード制御命令を受信するステップであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップ；
を有するスマート・カード・リード／ライト方法。
【請求項２】
前記スマート・カードのタッチ・イベントを感知することは：
近距離無線通信信号を感知し、前記近距離無線通信信号に従って前記スマート・カードのタッチ・イベントを取得することを含む、
請求項１に記載のスマート・カード・リード／ライト方法。
【請求項３】
前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探すことは：
前記アプリケーション識別子と、前記アプリケーション識別子に対応する第三者アプリケーション・リンクとを保存するアプリケーション・マッピング・テーブルを取得すること；及び
前記アプリケーション・マッピング・テーブルに従って、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探すこと；
を含み、前記スマート・カード・リード／ライト方法は：
前記アプリケーション・マッピング・テーブルを規則的に更新するステップ；
を更に有する請求項１に記載のスマート・カード・リード／ライト方法。
【請求項４】
前記第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示することは：
前記第三者アプリケーション・リンクに対応するウェブ・ページのロード完了イベントを検出すること；及び
前記ロード完了イベントのイベント処理機能により起動される命令スクリプトを取得し、前記イベント処理機能により起動される命令スクリプトを実行することにより前記プラットフォーム・アプリケーション・サーバーへ前記スマート・カード制御リクエストを送信し、及び、前記プラットフォーム・アプリケーション・サーバーから返され且つ前記スマート・カード制御リクエストに対応するスマート・カード制御命令を受信するステップを実行すること；
を含む、請求項１に記載のスマート・カード・リード／ライト方法。
【請求項５】
スマート・カード・リード／ライト装置であって：
スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するように構成される第１スマート・カード検出モジュール；
前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、前記第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するように構成される第三者アプリケーション・ページ表示モジュールであって、前記第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、前記機能メニュー内のオプションに対応する命令スクリプトとを含み、前記命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、第三者アプリケーション・ページ表示モジュール；
前記第三者アプリケーション・リンクに対応するウェブ・ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するように構成されるトリガー・オプション取得モジュール；及び
前記プラットフォーム・アプリケーション・サーバーから返され且つ前記スマート・カード制御リクエストに対応するスマート・カード制御命令を受信するように構成される第１スマート・カード・リード／ライト・モジュールであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動する第１スマート・カード・リード／ライト・モジュール；
を有するスマート・カード・リード／ライト装置。
【請求項６】
前記第１スマート・カード検出モジュールは、近距離無線通信信号を感知し、前記近距離無線通信信号に従って前記スマート・カードのタッチ・イベントを取得するように構成される、請求項５に記載のスマート・カード・リード／ライト装置。
【請求項７】
前記第三者アプリケーション・ページ表示モジュールは：
前記アプリケーション識別子と、前記アプリケーション識別子に対応する第三者アプリケーション・リンクとを保存するアプリケーション・マッピング・テーブルを取得し、前記アプリケーション・マッピング・テーブルに従って、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探すように更に構成され；及び
前記スマート・カード・リード／ライト装置は、前記アプリケーション・マッピング・テーブルを規則的に更新するように構成されるアプリケーション・マッピング・テーブル更新モジュールを更に有する、請求項５に記載のスマート・カード・リード／ライト装置。
【請求項８】
前記第三者アプリケーション・ページ表示モジュールは、前記第三者アプリケーション・リンクに対応するウェブ・ページのロード完了イベントを検出し、前記ロード完了イベントのイベント処理機能により起動される命令スクリプトを取得し、前記イベント処理機能により起動される命令スクリプトを実行することにより前記プラットフォーム・アプリケーション・サーバーへ前記スマート・カード制御リクエストを送信し、及び、前記第１スマート・カード・リード／ライト・モジュールを起動するように更に構成される、請求項５に記載のスマート・カード・リード／ライト装置。
【請求項９】
スマート・カード・リード／ライト方法であって：
第２スマート・カード検出モジュールによって、スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
プラットフォーム・アプリケーション・ページ表示モジュールによって、前記アプリケーション識別子に対応するページであって、事前に決定された機能メニューを含むページを表示するステップ；
制御命令セット取得モジュールによって、前記アプリケーション識別子に対応する制御命令セットを取得するステップであって、前記制御命令セットは、事前に設定された標準命令セットから第三者アプリケーションにより事前に選択される一群のスマート・カード制御命令であって前記アプリケーション識別子に対応するページ上の前記機能メニュー内のオプションに対応する一群のスマート・カード制御命令である、ステップ；及び
第２スマート・カード・リード／ライト・モジュールによって、前記ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応し且つ前記制御命令セット内にあるスマート・カード制御命令を取得するステップであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップ；
を有するスマート・カード・リード／ライト方法。
【請求項１０】
前記アプリケーション識別子に対応する制御命令セットを取得することは：
前記アプリケーション識別子に対応する第三者アプリケーション・リンクを取得するプラットフォーム・アプリケーション・サーバーへ前記アプリケーション識別子をアップロードし、前記機能メニュー内のオプションに対応する前記スマート・カード制御命令の制御命令セットを、前記第三者アプリケーション・リンクに従って取得すること；及び
前記機能メニュー内のオプションに対応するスマート・カード制御命令に属し且つ前記プラットフォーム・アプリケーション・サーバーにより返される前記制御命令セットを受信すること；
を含む、請求項９に記載のスマート・カード・リード／ライト方法。
【請求項１１】
スマート・カード・リード／ライト装置であって：
スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するように構成される第２スマート・カード検出モジュール；
前記アプリケーション識別子に対応するページであって、事前に決定された機能メニューを含むページを表示するように構成されるプラットフォーム・アプリケーション・ページ表示モジュール；
前記アプリケーション識別子に対応する制御命令セットを取得するように構成される制御命令セット取得モジュールであって、前記制御命令セットは、事前に設定された標準命令セットから第三者アプリケーションにより事前に選択される一群のスマート・カード制御命令であって前記アプリケーション識別子に対応するページ上の前記機能メニュー内のオプションに対応する一群のスマート・カード制御命令である、制御命令セット取得モジュール；及び
前記ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応し且つ前記制御命令セット内にあるスマート・カード制御命令を取得するように構成される第２スマート・カード・リード／ライト・モジュールであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動するように構成される第２スマート・カード・リード／ライト・モジュール；
を有するスマート・カード・リード／ライト装置。
【請求項１２】
前記制御命令セット取得モジュールは、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを取得するプラットフォーム・アプリケーション・サーバーへ前記アプリケーション識別子をアップロードし、前記機能メニュー内のオプションに対応する前記スマート・カード制御命令の制御命令セットを、前記第三者アプリケーション・リンクに従って取得するように構成され；及び
前記制御命令セット取得モジュールは、前記機能メニュー内のオプションに対応するスマート・カード制御命令に属し且つ前記プラットフォーム・アプリケーション・サーバーにより返される前記制御命令セットを受信するように更に構成される；
請求項１１に記載のスマート・カード・リード／ライト装置。
【請求項１３】
コンピュータ読み取り可能なプログラム命令を保存するように構成されるメモリ；及び
動作を実行するために、前記メモリに保存される前記コンピュータ読み取り可能なプログラム命令を起動するように構成される少なくとも１つのプロセッサ；
を有するデバイスであって、前記動作は：
第１スマート・カード検出モジュールによって、スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
第三者アプリケーション・ページ表示モジュールによって、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、前記第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するステップであって、前記第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、前記機能メニュー内のオプションに対応する命令スクリプトとを含み、前記命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、ステップ；
トリガー・オプション取得モジュールによって、前記第三者アプリケーション・リンクに対応するウェブ・ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するステップ；及び
第１スマート・カード・リード／ライト・モジュールによって、前記プラットフォーム・アプリケーション・サーバーから返され且つ前記スマート・カード制御リクエストに対応するスマート・カード制御命令を受信するステップであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップ；
を有する、デバイス。
【請求項１４】
コンピュータ読み取り可能な命令を保存するように構成されるコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な命令は、データ処理装置に動作を実行させ、前記動作は：
第１スマート・カード検出モジュールによって、スマート・カードのタッチ・イベントを感知し、前記タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
第三者アプリケーション・ページ表示モジュールによって、前記アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、前記第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するステップであって、前記第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、前記機能メニュー内のオプションに対応する命令スクリプトとを含み、前記命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、ステップ；
トリガー・オプション取得モジュールによって、前記第三者アプリケーション・リンクに対応するウェブ・ページ上の前記機能メニュー内でトリガーされたオプションを取得し、前記トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するステップ；及び
第１スマート・カード・リード／ライト・モジュールによって、前記プラットフォーム・アプリケーション・サーバーから返され且つ前記スマート・カード制御リクエストに対応するスマート・カード制御命令を受信するステップであって、前記スマート・カードを読み込む／書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップ；
を有する、記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
＜関連出願＞
【０００２】
本願は2015年10月9日付けで出願された「スマート・カード・リード/ライト方法及び装置」と題する中国特許出願第201510650235.X号による優先権を主張しており、当該出願は全体的に本願のリファレンスに組み込まれる。
【０００３】
＜技術分野＞
【０００４】
本開示はインターネット・テクノロジの分野に関連し、特に、スマート・カード・リード/ライト方法及び装置に関連する。
【０００５】
＜背景技術＞
【０００６】
スマート・カードはCPUカードとも言及され、カード上の集積回路は、マイクロプロセッサCPU、ストレージ・ユニット及びチップ・オペレーティング・システム(COS)を含む。COSをインストールしているCPUカードは、マイクロコンピュータと同等であり、また、データ・ストレージ機能を有するだけでなく、コマンド処理及びデータ・セキュリティ保護のような機能も有する。
【０００７】
通常のスマート・カード・リード/ライト・デバイスは、アプリケーション・プロトコル・データ・ユニット(APDU)と、スマート・カード及びスマート・カード・リーダー間の通信ユニットとを利用することで、制御命令をパッケージングすることにより、スマート/カードを読み込む/書き込む。事前に決定される制御命令は、スマート・カードに対応するアプリケーションに関連付けられる。別のアプリケーションが、そのアプリケーションに関してスマート・カードを読み込む/書き込む必要がある場合、スマート・カードに対応するアプリケーションのソフトウェア開発キット(SDK)がロードされなければならない。
【０００８】
例えば、何らかのプラットフォーム・アプリケーションに関し、あるプラットフォーム・アプリケーションが複数のスマート・カードを読み込む/書き込む機能を組み込む必要がある場合、例えば、プラットフォーム・アプリケーションは、公共交通機関カード、食事カード及びショッピング・カードのような複数の全てのスマート・カードを読み込む/書き込む能力を持つ必要があり、それにより、ユーザーは、モバイル・フォンにプラットフォーム・アプリケーションのクライアントを単にインストールするだけで、複数の様々なスマート・カードに関して読み込み/書き込みの動作を実行することが可能になり、そのプラットフォーム・アプリケーションのクライアントは、それぞれサポートされるスマート・カードに対応するSDKを含む必要がある。プラットフォーム・アプリケーションが、新たなスマート・カードを読み込む/書き込む機能をサポートするためにサービスを拡張する必要がある場合、モバイル・フォン上のプラットフォーム・アプリケーションのクライアントはアップデートされる必要があり、対応するSDKファイルが、アップデートされたクライアントに追加される必要がある。
【０００９】
従って、従来の技術において、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法では、別のスマート・カードを読み込む/書き込む機能を追加するための方法が過剰に複雑であり、その方法ではSDKファイルが追加される必要があり且つクライアントが更新される必要があり、従来技術は比較的乏しい拡張性を招いてしまう。
【発明の概要】
【００１０】
これを基に、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、第1のスマート・カード・リード/ライト方法が提供される。
【００１１】
スマート・カード・リード/ライト方法は：
スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するステップであって、第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、機能メニュー内のオプションに対応する命令スクリプトとを含み、命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、ステップ；
第三者アプリケーション・リンクに対応するウェブ・ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するステップ；及び
プラットフォーム・アプリケーション・サーバーから返され且つスマート・カード制御リクエストに対応するスマート・カード制御命令を受信するステップであって、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップを含む。
【００１２】
更に、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、第1のスマート・カード・リード/ライト装置が提供される。
【００１３】
スマート・カード・リード/ライト装置は：
スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するように構成される第1スマート・カード検出モジュール；
アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するように構成される第三者アプリケーション・ページ表示モジュールであって、第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、機能メニュー内のオプションに対応する命令スクリプトとを含み、命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択される、第三者アプリケーション・ページ表示モジュール；
第三者アプリケーション・リンクに対応するウェブ・ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するように構成されるトリガー・オプション取得モジュール；及び
プラットフォーム・アプリケーション・サーバーから返され且つスマート・カード制御リクエストに対応するスマート・カード制御命令を受信するように構成される第1スマート・カード・リード/ライト・モジュールであって、スマート・カードを読み込む/書き込むために、前記スマート・カード制御命令に応じて対応するインターフェース機能を起動する第1スマート・カード・リード/ライト・モジュールを含む。
【００１４】
更に、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、第2のスマート・カード・リード/ライト方法が提供される。
【００１５】
スマート・カード・リード/ライト方法は：
スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するステップ；
アプリケーション識別子に対応するページであって、事前に決定された機能メニューを含むページを表示するステップ；
アプリケーション識別子に対応する制御命令セットを取得するステップであって、制御命令セットは、事前に設定された標準命令セットから第三者プリケーションにより事前に選択される一群のスマート・カード制御命令であってアプリケーション識別子に対応するページ上の機能メニュー内のオプションに対応する一群のスマート・カード制御命令である、ステップ；及び
ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応し且つ制御命令セット内にあるスマート・カード制御命令を取得するステップであって、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動するステップを含む。
【００１６】
更に、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、第2のスマート・カード・リード/ライト装置が提供される。
【００１７】
スマート・カード・リード/ライト装置は：
スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するように構成される第2スマート・カード検出モジュール；
アプリケーション識別子に対応するページであって事前に決定された機能メニューを含むページを表示するように構成されるプラットフォーム・アプリケーション・ページ表示モジュール；
アプリケーション識別子に対応する制御命令セットを取得するように構成される制御命令セット取得モジュールであって、制御命令セットは、事前に設定された標準命令セットから第三者プリケーションにより事前に選択される一群のスマート・カード制御命令であってアプリケーション識別子に対応するページ上の前記機能メニュー内のオプションに対応する一群のスマート・カード制御命令である、制御命令セット取得モジュール；及び
ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応し且つ制御命令セット内にあるスマート・カード制御命令を取得するように構成される第2スマート・カード・リード/ライト・モジュールであって、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動するように構成される第2スマート・カード・リード/ライト・モジュールを含む。
【００１８】
本発明の実施形態は以下の有利な効果を有する。
【００１９】
第1及び第2スマート・カード・リード/ライト方法によれば、プラットフォーム・アプリケーションに新たに拡張される第三者アプリケーションに関し、第三者アプリケーションのサービス仕様に従ってスマート・カード・ドライバに対して一群の対応するプログラム・パッケージを自ら開発するのではなく、新たに拡張された第三者アプリケーションの開発者は、ページを自ら決定して命令スクリプトを構成し、或いは、標準的なページに従って標準的な関数ライブラリにおける関数のパラメータを設定することを、プラットフォーム・アプリケーションにより提供されている標準スクリプト・ライブラリ又は標準機能ライブラリに基づいて行い、プラットフォーム・アプリケーションのクライアント・プログラムにより最終的に認識されることが可能なスマート・カード・リード/ライト命令に、様々なサービスを関連付ける必要がある。従って、新たに拡張された第三者アプリケーションに関連するスマート・カード・ドライバに関するプログラム・パッケージは、端末にインストールされることを要しない。これは、端末のストレージ・スペースを節約し、冗長的なドライバ・パッケージの保存を回避するだけでなく、新たなアプリケーションの拡張をも促し(新たなアプリケーションは、プラとフォーム・アプリケーション・サーバーに登録されていることを仮定している)、これにより、プラットフォーム・アプリケーションの拡張性を改善する。
【図面の簡単な説明】
【００２０】
本開示の実施形態の技術的解決手段又は既存の技術をより明確に説明するために、以下、実施形態及び既存の技術の説明に必要な添付図面を導入する。明らかに、以下の説明における添付図面は本開示のうちの幾つかの実施形態を示しているに過ぎず、当業者は創作的能力を発揮することなく、これらの添付図面から他の図面を更に導出して良い。
【００２１】
【図１】或る実施形態によるプラットフォーム・アプリケーション・システムのアーキテクチャ図である。
【００２２】
【図２】或る実施形態による第1のスマート・カード・リード/ライト方法のフローチャートである。
【００２３】
【図３】或る実施形態による第1のスマート・カード・リード/ライト方法のプロセスについての概略的なやり取りの図である。
【００２４】
【図４】或る実施形態による第2のスマート・カード・リード/ライト方法のフローチャートである。
【００２５】
【図５】或る実施形態による第2のスマート・カード・リード/ライト方法のプロセスについての概略的なやり取りの図である。
【００２６】
【図６】或る実施形態による第1のスマート・カード・リード/ライト装置の概略図である。
【００２７】
【図７】或る実施形態による第2のスマート・カード・リード/ライト装置の概略図である。
【００２８】
【図８】或る実施形態による第1又は第2のスマート・カード・リード/ライト方法を実行するコンピュータ・デバイスの概略構造の図である。
【発明を実施するための形態】
【００２９】
以下、本開示の実施形態に関し、添付図面を参照しながら本開示の実施形態における技術的解決手段を明確かつ十分に説明する。明らかに、説明される実施形態は、全ての実施形態ではなく、本開示の実施形態のうちの幾つかである。創作的労力を伴わず本開示の実施形態に基づいて当業者によって得られる他の全ての実施形態は、本開示の保護範囲内に属する。
【００３０】
一実施形態では、図1に示されるように、図1はスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーション・システムを示す(他の実施形態では、システムは、プラットフォーム・アプリケーションの特徴を有するシステムとして使用されても良い)。プラットフォーム・アプリケーションは、標準的な命令インターフェース又は機能インターフェースを第三者開発者(a  third-party  developer)に提供するアプリケーションであって、第三者アプリケーションとオペレーティング・システム又はブラウザのような下位のコンピュータ・プログラムとの間の中間レイヤとして使用されるアプリケーションである。プラットフォーム・アプリケーションは、例えば、Qzoneに関するウェブ・アプリケーション・プラットフォーム、QQゲーム・ホール(QQ  Game  Hall)やウィーチャット(WeChat)に関するゲーム・アプリケーション・プラットフォーム、或いはその他のプラットフォームであっても良い。
【００３１】
第三者開発者は、プラットフォーム・アプリケーションにより提供される機能インターフェース又は標準的な命令インターフェースに従って、第三者アプリケーションのサービス・ロジック(又はサービス論理装置)を実現することが可能である。生成される第三者アプリケーションは、プラットフォーム・アプリケーションに関して開発されても良い。例えば、Qzoneのためのウェブ・アプリケーション・プラットフォームの場合、第三者アプリケーションは、ウェブアプリケーション(webapp)として使用され且つQzoneウェブ・ページ内に配備されても良く；WeChatのようなアプリケーション・プラットフォームの場合、第三者アプリケーションは、ライト・アプリケーション(a  light  application)として使用され且つWeChatモバイル・ページ上に配備されても良い。
【００３２】
図1において、プラットフォーム・アプリケーションのクライアント・プログラムは端末10にインストールされ、プラットフォーム・アプリケーションのサーバー・プログラムはプラットフォーム・アプリケーション・サーバー20にインストールされていても良い。ユーザー・アカウントを利用することにより、端末10がプラットフォーム・アプリケーション・サーバー20にログインした後、端末10はプラットフォーム・アプリケーション・サーバー20に接続される。プラットフォーム・アプリケーション・サーバー20は、ユーザー・アカウントに対応するセッションを保存し、セッションに応じて対応する端末を特定し、それにより、端末に対して積極的又は消極的に相互作用する。
【００３３】
第三者アプリケーション・サーバー30は、第三者アプリケーションを公開するために、第三者開発者により使用されるデバイスである。第三者アプリケーション開発者が、新たな第三者アプリケーションを公開する又は公開された第三者アプリケーションを更新する場合、第三者アプリケーション開発者は、第三者アプリケーション・サーバー30を利用することにより、プラットフォーム・アプリケーション・サーバー20に対して、公開するリクエスト又は更新のリクエストを開始することが可能である。
【００３４】
この実施形態では、端末10にインストールされているプラットフォーム・アプリケーションのクライアント・プログラムは、複数のアプリケーションのタイプに関するスマート・カードに適合するリード/ライト機能を有し、例えばリード/ライト機能は、公共交通機関アプリケーションの公共交通機関カード、食堂アプリケーションの食事カード、或いは、映画アプリケーションの映画カードのような複数のアプリケーションのタイプに関するスマート・カードに対応していても良い。端末10を操作するユーザーが、プラットフォーム・アプリケーションのクライアント・プログラムを使用でき、複数のアプリケーション・タイプに対して個別的にスマート・カードと相互作用する場合、スマート・カードのアプリケーション・タイプに対応する異なるページが、別個に表示されても良い。ユーザーは、情報を入力することにより或いはページ上のキーを選択することにより、対応するリード/ライト操作を実行することが可能である。
【００３５】
即ち、ユーザーがプラットフォーム・アプリケーションのクライアント・プログラムをインストールしていると仮定すると、同じ端末を利用することにより、複数のアプリケーション・タイプのスマート・カードを読み込み/書き込むために、ユーザーは、プラットフォーム・アプリケーションに登録してあるアプリケーションに対応するスマート・カードに関してリード/ライト操作を実行することが可能である。
【００３６】
しかしながら、上述したように、複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の技術的課題が依然として存在する。技術的課題を解決するため、本願は2つのスマート・カード・リード/ライト方法を提供する。以下、2つの方法が別々に説明される。
【００３７】
この実施形態では、第1のスマート・カード・リード/ライト方法の実現は、コンピュータ・プログラムに依存しても良い。コンピュータ・プログラムは、ソーシャル・ネットワーク・アプリケーション、インスタント・メッセージング・アプリケーション、アプリケーション・マーケット、アプリケーション・マネジャ、又は、ゲーム・ホールのようなプラットフォーム・アプリケーションであっても良い。コンピュータ・プログラムは、図1に示されるような端末10で動作しても良い。端末は、フォン・ノイマン・アーキテクチャに基づき且つ近距離無線通信(Near  Field  Communication：NFC)機能を有するコンピュータ・デバイスであっても良く、例えば、スマート・フォン、タブレット・コンピュータ、スマート・ウォッチ、スマート・バンド、NFCセンサーを含むパーソナル・コンピュータのようなデバイスであっても良い。
【００３８】
具体的には、図2に示されるように、第1のスマート・カード・リード/ライト方法は、オペレーションS102ないしオペレーションS108を含む。
【００３９】
オペレーションS102：スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得する。
【００４０】
上述したように、スマート・カード(CPUカード)は、スマート・カード・チップを有する集積回路デバイスである。スマート・カード・リード/ライト・チップは、端末にインストールされ、プラットフォーム・アプリケーションのクライアント・プログラムは、スマート・カード・リード/ライト・チップのドライバ・プログラムを含む。スマート・カードが端末に接触し或いは端末の近くに置かれると、プラットフォーム・アプリケーションのクライアント・プログラムのうちの、スマート・カード・リード/ライト・チップのドライバは、スマート・カードのタッチ・イベントを感知することが可能である。
【００４１】
この実施形態では、近距離無線通信チップがスマート・カードにインストールされていても良く、端末におけるスマート・カード・リード/ライト・チップは近距離無線通信チップであっても良い。端末は、近距離無線通信の信号を感知し、近距離無線通信の信号に従ってスマート・カードのタッチ・イベントを取得することが可能である。
【００４２】
スマート・カードが端末の近くに置かれ、NFC信号を利用することで端末と相互作用した後、スマート・カードに保存され且つそれに対応するアプリケーション識別子であって、スマート・カードに対応するアプリケーション・タイプを表現するために使用されるアプリケーション識別子が、NFC信号を利用することにより、端末へ送信される。端末は、NFCチップを利用することにより、NFC信号を受信する。スマート・カードが生成される場合に、アプリケーション識別子は、スマート・カードのメモリに事前に保存される。端末は、スマート・カードのメモリを読み込むことにより、アプリケーション識別子を読み込む。端末のNFCチップが、アプリケーション識別子を含むNFC信号を受信すると、スマート・カードについての生じたタッチ・イベントはアプリケーション識別子を含んでいる。従って、スマート・カードに対応するアプリケーション・タイプは、学習されることが可能である。
【００４３】
例えば、この実施形態に基づいて、ユーザーが、2つの異なるアプリケーションに対応する公共交通機関カードを、モバイル・フォン端末の近辺に置いた場合、モバイル・フォン端末は、NFC検出により2つのタッチ・イベントを発見し、公共交通機関カードにそれぞれ対応する公共交通機関アプリケーション同士の間で区別するために、タッチ・イベントに含まれるアプリケーション識別子を取り出すことが可能である。
【００４４】
オペレーションS104：アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示する；この場合において、第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、機能メニュー内のオプションに対応する命令スクリプトとを含み、命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより事前に選択されている。
【００４５】
この実施形態では、第三者アプリケーションを公開するために、第三者アプリケーションは、プラットフォーム・アプリケーション・サーバーに登録されている必要がある。登録の間に、第三者アプリケーション・リンクと第三者アプリケーションのアプリケーション識別子とが、提示(又はサブミット)されることを要する。このようにして、アプリケーション識別子と第三者アプリケーション・リンクとの間のマッピング関係が、プラットフォーム・アプリケーション・サーバーで設定される。プラットフォーム・アプリケーション・サーバーは、登録されたアプリケーション識別子と、アプリケーション識別子に対応する第三者アプリケーション・リンクとを、アプリケーション・マッピング・テーブルに保存しても良い。第三者アプリケーション開発者が、後の段階で第三者アプリケーション・リンクを修正することを必要とした場合、第三者アプリケーション開発者は、プラットフォーム・アプリケーション・サーバーに保存されているアプリケーション・マッピング・テーブルを更新するためのリクエストを、プラットフォーム・アプリケーション・サーバーへ送信しても良い。
【００４６】
端末が、タッチ・イベントから抽出したアプリケーション識別子に対応する第三者アプリケーション・リンクを問い合わせる場合、端末は、アプリケーション識別子を、プラットフォーム・アプリケーション・サーバーへ送信しても良い。プラットフォーム・アプリケーション・サーバーは、アップロードされているアプリケーション識別子に対応する第三者プリケーション・リンクを求めて、保存されているアプリケーション・マッピング・テーブルを探し、第三者アプリケーション・リンクを端末へ返す。
【００４７】
選択的に、端末は、代替的に、プラットフォーム・アプリケーション・サーバー上にあるアプリケーション・マッピング・テーブルを事前にダウンロードしてキャッシュ(保存)し、プラットフォーム・アプリケーション・サーバーに規則的にアクセスすることにより、アプリケーション・マッピング・テーブルを更新しても良い。端末でアプリケーション・マッピング・テーブルをローカルにキャッシュすることにより、問い合わせのステップは高速化され、実行効率が改善される。
【００４８】
タッチ・イベントでアプリケーション識別子に対応する第三者アプリケーション・リンクを取得した後、端末は、第三者アプリケーション・リンクに対応する第三者アプリケーション・サーバーへウェブ・リクエストを送信し、第三者アプリケーション・リンクに対応するウェブ・ページを取得する(ウェブ・ページの取得は、ウェブ・ページ中のリンクを開き、対応するページへジャンプすることと同等である)。そのページは、第三者アプリケーションのサービス・ロジックに従って第三者アプリケーション開発者により事前に決定されており、そのページは機能メニューを含んでいても良い。機能メニューは、複数のオプションを含んでいても良い。
【００４９】
例えば、公共交通機関カードのアプリケーションにおいて、ユーザーが公共交通機関カードを端末の近くに置くと、公共交通機関カードに対応する公共交通機関システム・アプリケーション(プラットフォーム・アプリケーションに基づく第三者アプリケーション)のページが表示される。ページは、第三者アプリケーション開発者により自ら設計され(self-designed)及び自ら決定され(self-defined)、第三者アプリケーション・サーバーに保存される。ページ上の機能メニューは、「残高照会(checking  a  balance)」、「入金(又はチャージ)(recharging)」及び「パスワード変更」のようなオプションを含んでいても良い。ページ上の機能メニュー及び機能メニューに含まれるオプションも、公共交通機関システム・アプリケーションのサービス・ロジックに従って第三者アプリケーション開発者により自ら決定される。
【００５０】
この実施形態では、プラットフォーム・アプリケーションの開発者は、スマート・カードを読み込む/書き込むための標準命令ライブラリ又は標準機能ライブラリが、プラットフォーム・アプリケーションのクライアント・プログラムに保存されることを事前に決定し、標準スクリプト・ライブラリが標準命令ライブラリ又は標準機能ライブラリに対応し且つプラットフォーム・アプリケーション・サーバーに保存されることを決定していても良い。
【００５１】
例えば、プラットフォーム・アプリケーションのクライアント・プログラム中の標準命令ライブラリ又は標準機能ライブラリは、物理カード番号を取得するために使用される機能を含んでいても良い。プラットフォーム・アプリケーション・サーバーは、ジャバスクリプト(JavaScript)(登録商標)のようなスクリプト言語を利用することにより決定される標準スクリプト・ライブラリ(例えば、WeChatアプリケーション・プラットフォームにおける標準スクリプト・ライブラリJS-SDK)を事前に公開する。標準スクリプト・ライブラリは、物理カード番号を取得するのに使用される機能を起動するための対応する命令スクリプトを含む。
【００５２】
第三者アプリケーション・ページを決定及び背形する場合に、第三者アプリケーション開発者は、「カード番号を見る」オプションに関するトリガー・イベント処理機能に、物理カード番号を取得するために使用される機能の命令スクリプトを追加し(第三者アプリケーション開発者は、プラットフォーム・アプリケーションで公開されている標準スクリプト・ライブラリを利用することにより命令スクリプトを学習しても良く、即ち、プラットフォーム・アプリケーションのAPIを問い合わせることにより命令スクリプトを学習しても良い)、それにより、第三者アプリケーション・リンクに対応するウェブ・ページ上の機能メニューにおけるオプションと、対応する命令スクリプトとの間のマッピング関係を設定しても良い。オプションがトリガーされると、端末は、オプションに対応するスクリプトを実行する。
【００５３】
オペレーションS106：第三者アプリケーション・リンクに対応するウェブ・ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信する。
【００５４】
オペレーションS108：プラットフォーム・アプリケーション・サーバーから返され且つスマート・カード制御リクエストに対応するスマート・カード制御命令を受信し、及び、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動する。
【００５５】
上述したように、端末が、スマート・カードのタッチ・イベントに含まれるアプリケーション識別子に対応する第三者アプリケーション・リンクを発見し、第三者アプリケーション・リンクにアクセスし、第三者アプリケーション開発者により決定及び設計されたウェブ・ページをロード及び表示した後、ユーザーは、ウェブ・ページ及びウェブ・ページ上の機能メニューを閲覧することが可能になる。クリック及びスライドにより、ユーザーが機能メニュー中のオプションをトリガーした場合、端末は、スクリプト・エンジンを利用することにより、そのオプションに対応する命令スクリプトを実行する(例えば、命令スクリプトがJavaScriptのスクリプトである場合、JavaScriptのスクリプト・インタープリタを利用することにより、JavaScriptのスクリプトが実行される)。
【００５６】
命令スクリプトを実行した後、端末は、プラットフォーム・アプリケーション・サーバーに対してスマート・カード制御リクエストを開始する。スマート・カード制御リクエストを受信した後、プラットフォーム・アプリケーション・サーバーは、標準命令ライブラリにおける命令識別子、或いは、命令スクリプトに対応する標準機能ライブラリにおける機能メニューを取得して良い。
【００５７】
上述したように、ユーザーによりトリガーされたオプションが「カード番号を見る」である場合、端末は、標準スクリプト・ライブラリに従って第三者アプリケーション開発者によりウェブ・ページ上で事前に決定されている命令スクリプトを実行し、「カード番号を見る」ためのスマート・カード制御リクエストを、プラットフォーム・アプリケーション・サーバーへ送信する。スマート・カード制御リクエストを受信した後、プラットフォーム・アプリケーション・サーバーは、スマート・カード制御リクエストに対応するスマート・カード制御命令を取得し、その後、スマート・カード制御命令を端末へ送信しても良い。
【００５８】
スマート・カード制御命令を受信した後、端末は、物理カード番号を取得するために使用される機能を実行することが可能になり、その場合、プラットフォーム・アプリケーションのクライアント・プログラムに含まれるスマート・カード・リード/ライト・ドライバを起動し、NFC信号を利用することにより、物理カード番号を読み込むためにAPDUをスマート・カードへ送信し、物理カード番号を含むAPDUであって再びNFCを利用することによりスマート・カードから返されるAPDUを受信し、物理カード番号を取得し、ウェブ・ページ上で物理カード番号を表示するために、上記の機能が使用されて良い。
【００５９】
具体的には、スマート・カード、端末、プラットフォーム・アプリケーション・サーバー、及び、第三者アプリケーション・サーバーの間の相互作用プロセスは、図3に示されるものであっても良い。
【００６０】
この実施形態では、第三者アプリケーション・リンクに対応するウェブ・ページを、端末により、取得及び表示することは：
第三者アプリケーション・リンクに対応するウェブ・ページのロード完了イベントを検出すること；ロード完了イベントのイベント処理機能により起動される命令スクリプトを取得すること；及びトリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信する動作を実行することを更に含む。
【００６１】
即ち、第三者アプリケーション開発者は、ウェブ・ページのロード・イベントに対して、標準スクリプト・ライブラリから選択される命令スクリプト(例えば、特定のデータを読み取り、そのデータを保存する命令スクリプト)を追加し、ウェブ・ページがロードされた後に、第三者アプリケーションのウェブ・ページにおいて読み取りデータを速やかに表示しても良い。
【００６２】
例えば、ユーザーがスマート・モバイル・フォン端末の近くに公共交通機関カードを置いた場合に、スマート・モバイル・フォン端末は、公共交通機関カードに対応する公共交通機関システム・アプリケーションのページを速やかに表示し、公共交通機関カードの残高をページ上で速やかに表示し、それにより、スマート・カードの保存内容に関連する情報をより迅速に表示し、動作の利便性を改善しても良い。
【００６３】
＜実施形態2＞
【００６４】
この実施形態では、第2のスマート・カード・リード/ライト方法の実現は、コンピュータ・プログラムに依存しても良い。コンピュータ・プログラムは、ソーシャル・ネットワーク・アプリケーション、インスタント・メッセージング・アプリケーション、アプリケーション・マーケット、アプリケーション・マネジャ、又は、ゲーム・ホールのようなプラットフォーム・アプリケーションであっても良い。コンピュータ・プログラムは、図1に示されるような端末10で動作しても良い。端末は、フォン・ノイマン・アーキテクチャに基づき且つ近距離無線通信機能を有するコンピュータ・デバイスであっても良く、例えば、スマート・フォン、タブレット・コンピュータ、スマート・ウォッチ、スマート・バンド、NFCセンサーを含むパーソナル・コンピュータのようなデバイスであっても良い。
【００６５】
具体的には、図4に示されるように、第2のスマート・カード・リード/ライト方法は、オペレーションS202ないしオペレーションS208を含む。
【００６６】
オペレーションS202：スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得する。
【００６７】
上述したように、スマート・カード(CPUカード)は、スマート・カード・チップを有する集積回路デバイスである。スマート・カード・リード/ライト・チップは、端末にインストールされ、プラットフォーム・アプリケーションのクライアント・プログラムは、スマート・カード・リード/ライト・チップのドライバ・プログラムを含む。スマート・カードが端末に接触し或いは端末の近くに置かれると、プラットフォーム・アプリケーションのクライアント・プログラムのうちの、スマート・カード・リード/ライト・チップのドライバは、スマート・カードのタッチ・イベントを感知することが可能である。
【００６８】
この実施形態では、近距離無線通信チップがスマート・カードにインストールされていても良く、端末におけるスマート・カード・リード/ライト・チップは近距離無線通信チップであっても良い。端末は、近距離無線通信の信号を感知し、近距離無線通信の信号に従ってスマート・カードのタッチ・イベントを取得することが可能である。
【００６９】
スマート・カードが端末の近くに置かれ、NFC信号を利用することで端末と相互作用した後、スマート・カードに保存され且つそれに対応するアプリケーション識別子であって、スマート・カードに対応するアプリケーション・タイプを表現するために使用されるアプリケーション識別子が、NFC信号を利用することにより、端末へ送信される。端末は、NFCチップを利用することにより、NFC信号を受信する。スマート・カードが生成される場合に、アプリケーション識別子は、スマート・カードのメモリに事前に保存される。端末は、スマート・カードのメモリを読み込むことにより、アプリケーション識別子を読み込む。端末のNFCチップが、アプリケーション識別子を含むNFC信号を受信すると、スマート・カードについての生じたタッチ・イベントはアプリケーション識別子を含んでいる。従って、スマート・カードに対応するアプリケーション・タイプは、学習されることが可能である。
【００７０】
例えば、この実施形態に基づいて、ユーザーが、2つの異なるアプリケーションに対応する公共交通機関カードを、モバイル・フォン端末の近辺に置いた場合、モバイル・フォン端末は、NFC検出により2つのタッチ・イベントを発見し、公共交通機関カードにそれぞれ対応する公共交通機関アプリケーション同士の間で区別するために、タッチ・イベントに含まれるアプリケーション識別子を取り出すことが可能である。
【００７１】
オペレーションS204：アプリケーション識別子に対応するページを表示し、そのページは、事前に決定された機能メニューを含んでいる。
【００７２】
タッチ・イベントにおけるアプリケーション識別子を取得した後、端末は、アプリケーション識別子に対応するページを表示しても良い。ページは、ウェブ・ページに基づいていても良いし、或いは、GUIプログラムのインターフェース制御に基づいていても良い。ページは、プラットフォーム・アプリケーションの開発者により決定及び設計され、プラットフォーム・アプリケーションのクライアント・プログラムにおいて、スマート・カードの関連情報を読み込む及び書き込むために使用される。
【００７３】
例えば、複数の食堂アプリケーションに関する食事カード(複数の地域における食堂により自ら開発された独立した食堂システムであっても良い)が、プラットフォーム・アプリケーションのクライアント・プログラムにおいて1つのページで管理されることを要する場合、プラットフォーム・アプリケーションの開発者は、ページを自ら設計して自ら決定、ケータリング(又は出前)に関する機能メニューをそのページに追加しても良い。機能メニューは複数のオプションを含んでいても良い。例えば、「残高照会」及び「食事カード入金」のようなオプションが含まれても良い。プラットフォーム・アプリケーションの開発者により決定されるページは、標準的なサービス・プロセスを、第三者アプリケーションのスマート・カード・リード/ライト動作に提供することも、理解されるであろう。第三者アプリケーション開発者は、ページ上のオプションに従って、対応する制御命令セット又はリード/ライト・スクリプトを設計することによってのみ、機能を実現することが可能である。
【００７４】
オペレーションS206：アプリケーション識別子に対応する制御命令セットを取得する；制御命令セットは、事前に設定された標準命令セットから第三者プリケーションにより事前に選択される一群のスマート・カード制御命令であってアプリケーション識別子に対応するページ上の機能メニュー内のオプションに対応する一群のスマート・カード制御命令である。
【００７５】
この実施形態では、端末は、取得したアプリケーション識別子を、プラットフォーム・アプリケーション・サーバーへアップロードしても良い。プラットフォーム・アプリケーション・サーバーは、アプリケーション識別子に対応する第三者アプリケーション・リンクを取得し、第三者アプリケーション・リンクに従って、機能メニュー内のオプションに対応するスマート・カード制御命令の制御命令セットを取得する。
【００７６】
端末は、機能メニュー内のオプションに対応するスマート・カード制御命令に属し且つプラットフォーム・アプリケーション・サーバーにより返される制御命令セットを受信する。
【００７７】
この実施形態では、第三者アプリケーションを公開するために、第三者アプリケーションは、プラットフォーム・アプリケーション・サーバーに登録されている必要がある。登録の間に、第三者アプリケーション・リンクと第三者アプリケーションのアプリケーション識別子とが、提示されることを要する。このようにして、アプリケーション識別子と第三者アプリケーション・リンクとの間のマッピング関係が、プラットフォーム・アプリケーション・サーバーで設定される。プラットフォーム・アプリケーション・サーバーは、登録されたアプリケーション識別子と、アプリケーション識別子に対応する第三者アプリケーション・リンクとを、アプリケーション・マッピング・テーブルに保存しても良い。第三者アプリケーション開発者が、後の段階で第三者アプリケーション・リンクを修正することを必要とした場合、第三者アプリケーション開発者は、プラットフォーム・アプリケーション・サーバーに保存されているアプリケーション・マッピング・テーブルを更新するためのリクエストを、プラットフォーム・アプリケーション・サーバーへ送信しても良い。
【００７８】
第三者制御命令セットは、プラットフォーム・アプリケーションの開発者により決定される機能メニュー内のオプションに従って第三者アプリケーション開発者により設計される且つ第三者アプリケーションに関してスマート・カードを読み込む/書き込む機能に適合する一群のスマート・カード・リード/ライト命令である。
【００７９】
この実施形態では、プラットフォーム・アプリケーションの開発者は、スマート・カードを読み込む/書き込むために使用される標準命令ライブラリ又は標準機能ライブラリが、プラットフォーム・アプリケーションのクライアントに保存され、標準命令ライブラリ又は標準機能ライブラリのインターフェースを開示することを、事前に決定していても良い(例えば、開発文書(a  development  document)を利用することにより開示されても良い)。第三者アプリケーション開発者は、制御命令セットを生成するために、第三者アプリケーションに関するスマート・カードに適合するインバウンド・パラメータ(又は入力パラメータ)(an  inbound  parameter)を、標準命令ライブラリ又は標準機能ライブラリで提供される標準リード/ライト機能に基づいて、決定しても良い。
【００８０】
この実施形態では、スマート・カードのメモリは、マッピング・テーブルの形式で、即ち、(マッピング・タイプのデータ構造である)データ・タイプ識別子及び特定のデータのマッピング・テーブルの形式で、データを保存しても良い。プラットフォーム・アプリケーションの開発者は、スマート・カードのメモリを読み込むために標準機能ライブラリを予め決定しておく。標準ライブラリ機能のフォーマル・パラメータは、インバウンド・データ・タイプ識別子に従って特定の対応するデータを読み込むように、データ・タイプ識別子を含む。制御命令セットを規定する場合、第三者アプリケーション開発者は、先ず、標準ライブラリ機能を選択し、次に、第三者アプリケーションで規定されるスマート・カード仕様に従って標準ライブラリ機能のインバウンド・パラメータを設定しても良い。
【００８１】
上述したように、プラットフォーム・アプリケーションの開発者により予め決定される及びスマート・カードの金額を読み込むために使用される標準ライブラリ機能が「getData」である場合、残高に属する及び第1食堂アプリケーション(第三者アプリケーション)のためのスマート・カードで規定されるデータ・タイプ識別子は、残量(remaining)であり、残高に属する及び第2食堂アプリケーションのためのスマート・カードで規定されるデータ・タイプ識別子は、金額(money)である。第1食堂アプリケーションに関するスマート・カードがモバイル・フォン端末の近くに置かれる場合、表示されたページにおける「残高を見る」というオプションに対応するスマート・カード・リード/ライト命令は、「getData:"remaining"」であっても良い。第2食堂アプリケーションに関するスマート・カードがモバイル・フォン端末の近くに置かれる場合、表示されたページにおける「残高を見る」というオプションに対応するスマート・カード・リード/ライト命令は、「getData:"money"」であっても良い(具体的な命令定義の仕様は、構文を用いてプラットフォーム・アプリケーションの開発者により決定されて良い)。
【００８２】
別の実施形態では、スマート・カードのメモリは、保存アドレス番号に応じてデータを保存しても良い。プラットフォーム・アプリケーションの開発者は、スマート・カードのメモリを読み込む標準ライブラリ機能を予め決定する。標準ライブラリ機能のフォーマル・パラメータは、インバウンド保存アドレス番号に従って特定の対応するデータを読み込むように、保存アドレス番号を含んでも良い。制御命令セットを決定する場合に、第三者アプリケーション開発者は、先ず、標準ライブラリ機能を選択し、第三者アプリケーションで規定されるスマート・カード仕様に従って、標準ライブラリ機能のインバウンド・パラメータを設定しても良い。
【００８３】
上述したように、プラットフォーム・アプリケーションの開発者により予め決定される及びスマート・カードの金額を読み込むために使用される標準ライブラリ機能が「getData」である場合に、残高に属する及び第1食堂アプリケーション(第三者アプリケーション)に関するスマート・カード内で決定されるストレージ・アドレスはビット1024ないしビット2048であり、また、残高に属する及び第2食堂アプリケーションに関するスマート・カード内で決定されるストレージ・アドレスはビット0ないしビット1024である。第1食堂アプリケーションに関するスマート・カードがモバイル・フォン端末の近くに置かれる場合、表示されたページにおける「残高を見る」というオプションに対応するスマート・カード・リード/ライト命令は、「getData:1024,2048」であっても良い。第2食堂アプリケーションに関するスマート・カードがモバイル・フォン端末の近くに置かれる場合、表示されたページにおける「残高を見る」というオプションに対応するスマート・カード・リード/ライト命令は、「getData:0,1024」であっても良い(具体的な命令定義の仕様は、構文を用いてプラットフォーム・アプリケーションの開発者により決定されて良い)。
【００８４】
オペレーションS208：ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応し且つ制御命令セット内にあるスマート・カード制御命令を取得し、及び、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動する。
【００８５】
上述したように、ユーザーによりトリガーされたオプションが「残高を見る」であり、モバイル・フォン端末の近くに置かれたスマート・カードが第1食堂アプリケーションに関するスマート・カードである場合、取得されるスマート・カード・リード/ライト命令は、「getData:1024,2048」であっても良い。端末は、標準機能ライブラリで「getData」機能を起動し、インバウンド・パラメータとして1024及び2048を利用してその機能を実行し、プラットフォーム・アプリケーションのクライアント・プログラムに含まれるスマート・カード・リード/ライト・ドライバ・プログラムを起動し、NFC信号を利用することにより、データを読み込むAPDUをスマート・カードへ送信し、残高を含む及び再びNFC信号を利用することによりスマート・カードから返されるAPDUを受信し、食事カードの残高を取得してページに残高を表示する。
【００８６】
上述したように、ユーザーによりトリガーされたオプションが「残高を見る」であり、モバイル・フォン端末の近くに置かれたスマート・カードが第2食堂アプリケーションに関するスマート・カードである場合、取得されるスマート・カード・リード/ライト命令は、「getData:0,1024」であっても良い。端末は、標準機能ライブラリで「getData」機能を起動し、インバウンド・パラメータとして0及び1024を利用してその機能を実行し、プラットフォーム・アプリケーションのクライアント・プログラムに含まれるスマート・カード・リード/ライト・ドライバ・プログラムを起動し、NFC信号を利用することにより、データを読み込むAPDUをスマート・カードへ送信し、残高を含む及び再びNFC信号を利用することによりスマート・カードから返されるAPDUを受信し、食事カードの残高を取得してページに残高を表示する。
【００８７】
具体的には、スマート・カード、端末、プラットフォーム・アプリケーション・サーバー、及び、第三者アプリケーション・サーバーの間の相互作用プロセスは、図5に示されるものであっても良い。
【００８８】
第1及び第2のスマート・カード・リード/ライト方法の双方において、端末上のプラットフォーム・アプリケーションのクライアント・プログラムは、スマート・カードを読み込む/書き込むために標準機能ライブラリ又は標準命令ライブラリを含むことを要する。スマート・カードのアプリケーション・タイプによらず、プラットフォーム・アプリケーションのクライアント・プログラムに含まれる標準機能ライブラリ又は標準命令ライブラリの中の機能は、読み込み/書き込みの際に起動されることを要する。
【００８９】
第1のスマート・カード・リード/ライト方法と第2のスマート・カード・リード/ライト方法との間の相違は、次のとおりである：様々な第三者アプリケーションに関するスマート・カードの設計仕様に適合するために、第1のスマート・カード・リード/ライト方法で開示される内容は標準命令スクリプト・ライブラリであり、第三者アプリケーション開発者は、第三者アプリケーションにおけるサービスに従ってページを自ら設計することが可能であり、また、サービスに応じて、プラットフォーム・アプリケーションで開示される標準スクリプトから、対応する命令スクリプトをまとめて選択し、サービスに適合するパラメータを追加する必要があり；第2のスマート・カード・リード/ライト方法で開示される内容は、標準機能ライブラリ又は命令ライブラリであり、ページは、プラットフォーム・アプリケーションの開発者により決定されるが、第三者アプリケーションは、ページにおける機能メニュー内のオプションに対応する特定のサービスに従って、標準機能ライブラリ又は標準命令ライブラリの中から適切な機能を選択し、サービスに適合するパラメータを追加することを要する。
【００９０】
しかしながら、全体として、第1及び第2のスマート・カード・リード/ライト方法の双方において、端末上のプラットフォーム・アプリケーションのクライアント・プログラムは、スマート・カードを読み込む/書き込むために標準機能ライブラリ又は標準命令ライブラリを含むことを要し、標準機能ライブラリ又は標準命令ライブラリにおける動作を実行する方法は、第三者アプリケーション開発者に開示されることを要し(第1の方法は命令スクリプトを利用しており、第2の方法は直接的な開示である)、適切なスマート・カード・リード/ライト命令は、サービス・ロジックによりページ上のオプションに関して第三者アプリケーション開発者により決定される。従って、第1及び第2のスマート/カード・リード/ライト方法は、同一の発明概念に基づいている。
【００９１】
更に、第1及び第2のスマート/カード・リード/ライト方法によれば、プラットフォーム・アプリケーションに新たに拡張される第三者アプリケーションに関し、第三者アプリケーションのサービス仕様に従ってスマート・カード・ドライバに関する一群の対応するプログラム・パッケージを自ら開発するのではなく、新たに拡張された第三者アプリケーションの開発者は、ページを自ら決定し及び命令スクリプトを設定し、或いは、標準ページに従って標準機能ライブラリのうちの機能のパラメータを設定することを、プラットフォーム・アプリケーションにより提供される標準スクリプト・ライブラリ又は標準機能ライブラリに基づいて実行し、プラットフォーム・アプリケーションのクライアント・プログラムにより最終的に認識されることが可能なスマート/カード・リード/ライト命令に、様々なサービスを関連付けることを要する。従って、新たに拡張される第三者アプリケーションに関連するスマート・カード・ドライバのプログラム・パッケージは、端末にインストールされることを要しない。これは、端末の保存スペースを節約し、冗長的なドライバ・パッケージの保存を回避するだけでなく、新たなアプリケーションの拡張をも促し(ただし、新たなアプリケーションがプラットフォーム・アプリケーション・サーバーに登録されることが仮定される)、これにより、プラットフォーム・アプリケーションの拡張性を改善する。
【００９２】
複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、一実施形態では、第1のスマート・カード・リード/ライト方法に対応するスマート・カード・リード/ライト装置が提供される。図6に示されるように、装置は、第1スマート/カード検出モジュール102、第三者アプリケーション・ページ表示モジュール104、トリガー・オプション取得モジュール106、第1スマート・カード・リード/ライト・モジュール108を含む。
【００９３】
第1スマート・カード検出モジュール102は、スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するように構成される。
【００９４】
第三者アプリケーション・ページ表示モジュール104は、アプリケーション識別子に対応する第三者アプリケーション・リンクを探し、第三者アプリケーション・リンクに対応するウェブ・ページを取得及び表示するように構成され、第三者アプリケーション・リンクに対応するウェブ・ページは、機能メニューと、機能メニュー内のオプションに対応する命令スクリプトとを含み、命令スクリプトは、事前に設定された標準スクリプト・ライブラリから、第三者アプリケーションにより予め選択される。
【００９５】
トリガー・オプション取得モジュール106は、第三者アプリケーション・リンクに対応するウェブ・ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応する命令スクリプトを実行することにより、スマート・カード制御リクエストをプラットフォーム・アプリケーション・サーバーへ送信するように構成される。
【００９６】
第1スマート・カード・リード/ライト・モジュール108は、プラットフォーム・アプリケーション・サーバーから返され且つスマート・カード制御リクエストに対応するスマート・カード制御命令を受信し、及び、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動するように構成される。
【００９７】
この実施形態において、第1スマート・カード検出モジュール102は、近距離無線通信信号を感知し、近距離無線通信の信号に従ってスマート・カードのタッチ・イベントを取得するように構成される。
【００９８】
この実施形態において、第三者アプリケーション・ページ表示モジュール104は：アプリケーション識別子と、アプリケーション識別子に対応する第三者アプリケーション・リンクとを保存するアプリケーション・マッピング・テーブルを取得し、アプリケーション・マッピング・テーブルに従って、アプリケーション識別子に対応する第三者アプリケーション・リンクを探すように更に構成される。
【００９９】
この実施形態では、図6に示されるように、スマート・カード・リード/ライト装置は、アプリケーション・マッピング・テーブルを規則的に更新するように構成されるアプリケーション・マッピング・テーブル更新モジュール110を更に含む。
【０１００】
この実施形態では、第三者アプリケーション・ページ表示モジュール104は、第三者アプリケーション・リンクに対応するウェブ・ページのロード完了イベントを検出し、ロード完了イベントのイベント処理機能により起動される命令スクリプトを取得し、イベント処理機能により起動される命令スクリプトを実行することによりプラットフォーム・アプリケーション・サーバーへスマート・カード制御リクエストを送信し、及び、第1スマート・カード・リード/ライト・モジュールを起動するように更に構成される。
【０１０１】
複数のスマート・カードを読み込む/書き込む機能を組み込むプラットフォーム・アプリケーションによりスマート・カードを読み込む/書き込む方法に関し、拡張性が比較的乏しいという従来技術の上記の技術的課題を解決するために、実施形態では、第2のスマート/カード・リード/ライト方法に対応するスマート・カード・リード/ライト装置が提供される。図7に示されるように、装置は、第2スマート・カード検出モジュール202、プラットフォーム・アプリケーション・ページ表示モジュール204、制御命令セット取得モジュール206、及び、第2スマート・カード・リード/ライト・モジュール208を含む。
【０１０２】
第2スマート・カード検出モジュール202は、スマート・カードのタッチ・イベントを感知し、タッチ・イベントに対応するアプリケーション識別子を取得するように構成される。
【０１０３】
プラットフォーム・アプリケーション・ページ表示モジュール204は、アプリケーション識別子に対応するページを表示するように構成され、そのページは予め決定された機能メニューを含む。
【０１０４】
制御命令セット取得モジュール206は、アプリケーション識別子に対応する制御命令セットを取得するように構成され、制御命令セットは、事前に設定された標準命令セットから第三者プリケーションにより事前に選択される一群のスマート・カード制御命令であってアプリケーション識別子に対応するページ上の機能メニュー内のオプションに対応する一群のスマート・カード制御命令である。
【０１０５】
第2スマート・カード・リード/ライト・モジュール208は、ページ上の機能メニュー内でトリガーされたオプションを取得し、トリガーされたオプションに対応し且つ制御命令セット内にあるスマート・カード制御命令を取得し、及び、スマート・カードを読み込む/書き込むために、スマート・カード制御命令に応じて対応するインターフェース機能を起動するように構成される。
【０１０６】
一実施形態において、制御命令セット取得モジュール206は、アプリケーション識別子をプラットフォーム・アプリケーション・サーバーへアップロードするように構成される。プラットフォーム・アプリケーション・サーバーは、アプリケーション識別子に対応する第三者アプリケーション・リンクを取得する。制御命令セット取得モジュール206は、機能メニュー内のオプションに対応するスマート・カード制御命令の制御命令セットを、第三者アプリケーション・リンクに従って取得する。
【０１０７】
制御命令セット取得モジュール206は、機能メニュー内のオプションに対応するスマート・カード制御命令に属し且つプラットフォーム・アプリケーション・サーバーにより返される制御命令セットを受信するように更に構成される。
【０１０８】
本開示の実施形態は以下の有利な効果を有する。
【０１０９】
第1及び第2スマート・カード・リード/ライト方法によれば、プラットフォーム・アプリケーションに新たに拡張される第三者アプリケーションに関し、第三者アプリケーションのサービス仕様に従ってスマート・カード・ドライバに対して一群の対応するプログラム・パッケージを自ら開発するのではなく、新たに拡張された第三者アプリケーションの開発者は、ページを自ら決定して命令スクリプトを構成し、或いは、標準的なページに従って標準的な関数ライブラリにおける関数のパラメータを設定することを、プラットフォーム・アプリケーションにより提供されている標準スクリプト・ライブラリ又は標準機能ライブラリに基づいて行い、プラットフォーム・アプリケーションのクライアント・プログラムにより最終的に認識されることが可能なスマート・カード・リード/ライト命令に、様々なサービスを関連付ける必要がある。従って、新たに拡張された第三者アプリケーションに関連するスマート・カード・ドライバに関するプログラム・パッケージは、端末にインストールされることを要しない。これは、端末のストレージ・スペースを節約し、冗長的なドライバ・パッケージの保存を回避するだけでなく、新たなアプリケーションの拡張をも促し(新たなアプリケーションは、プラとフォーム・アプリケーション・サーバーに登録されていることを仮定している)、これにより、プラットフォーム・アプリケーションの拡張性を改善する。
【０１１０】
一実施形態では、フォン・ノイマン・アーキテクチャに基づくコンピュータ・システムに属する及び第1又は第2のスマート/カード・リード/ライト方法を実行する端末が提供される。コンピュータ・システムは、スマート・フォン、タブレット・コンピュータ、パームトップ・コンピュータ、ノートブック・コンピュータ、又は、パーソナル・コンピュータのような端末デバイスであっても良い。図8は端末10の概略的な構造図である。図8に示されるように、具体的には、外部入力インターフェース1001、プロセッサ1002、メモリ1003及び出力インターフェース1004が含まれており、これらはシステム・バスを利用することにより接続される。選択的に、外部入力インターフェース1001は、マウス10012、キーボード10014、タッチパッド10016又はNFCチップ10018のうちの少なくとも何れかを含んでいても良い。メモリ1003は、外部メモリ10032(例えば、ハードディスク、光ディスク又はフロッピ・ディスク)及び内部メモリ10034を含んでいても良い。出力インターフェース1004は、ディスプレイ10042及び音響部/スピーカ10044のようなデバイスを含んでいても良い。
【０１１１】
この実施形態では、本方法はコンピュータ・プログラムに基づいて実行されて良い。コンピュータ・プログラムのプログラム・ファイルは、フォン・ノイマン・アーキテクチャに基づくコンピュータ・システム10の外部メモリ10032に保存され、実行時に内部メモリ10034へロードされ、実行のためにプロセッサ1002へ転送されるようにマシン・コードとしてエンコードされる。従って、フォン・ノイマン・アーキテクチャに基づくコンピュータ・システム10は、論理的に、第1スマート・カード検出モジュール102、第三者アプリケーション・ページ表示モジュール104、トリガー・オプション取得モジュール106、第1スマート・カード・リード/ライト・モジュール108、又は、第2スマート・カード検出モジュール202、プラットフォーム・アプリケーション・ページ表示モジュール204、制御命令セット取得モジュール206、及び第2スマート/カード・リード/ライト・モジュール208を含む。更に、第1又は第2のスマート/カード・リード/ライト方法の実行プロセスの間に、入力されるパラメータは、外部入力インターフェース1001を利用することにより全て受信され、保存するためにメモリ1003へ転送され、処理するためにプロセッサ1002へ入力される。処理された結果のデータは、以後の処理のためにメモリ1003にキャッシュされ、或いは、出力のために出力インターフェース1004へ転送される。
【０１１２】
更に、当業者は、上記の方法の実施形態における全部又は一部のステップを実現するために使用されるコンピュータ・プログラムは、非一時的なコンピュータ読み取り可能な記憶媒体に保存されても良いことを、理解するであろう。コンピュータ・プログラムが予定される場合、上記の方法の実施形態のプロセッサは、ハードウェアを利用することで実行されても良い。非一時的なコンピュータ読み取り可能な記憶媒体は、フラッシュ・メモリ、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク、光ディスク等を含んでよいが、これらに限定されない。更に、コンピュータ読み取り可能な記憶媒体は、ネットワーク又は通信リンクを利用することでコンピュータ装置によりアクセスされることが可能な様々な記録媒体であっても良く、例えば、記憶媒体の中のデータは、ルーター、インターネット、ローカル・エリア・ネットワーク等を利用することにより、取り出されることが可能である。更に、コンピュータ読み取り可能な記憶媒体は、例えば、同じコンピュータ・システムの中に配置される複数のコンピュータ読み取り可能な記憶媒体であっても良いし、或いは、複数のコンピュータ・システム又はコンピュータ装置に分散されるコンピュータ読み取り可能な記憶媒体であっても良い。
【０１１３】
上記の説明は本開示のうち単に好ましい実施形態であるに過ぎず、本開示を限定するようには意図されていない。従って、本開示による特許請求の範囲に従って為される均等な変形は、依然として本開示の範囲内に属する。
【図１】
0006585832.tif 000002
【図２】
0006585832.tif 000003
【図３】
0006585832.tif 000004
【図４】
0006585832.tif 000005
【図５】
0006585832.tif 000006
【図６】
0006585832.tif 000007
【図７】
0006585832.tif 000008
【図８】
0006585832.tif 000009