(57)【特許請求の範囲】
【請求項１】
クライアントによって第１のメッセージをサーバに送ることと、前記第１のメッセージは、データを前記サーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、
前記サーバによって、前記第１のＡＰＤＵを前記集積回路カードへ送ることと、
前記サーバにおいて、前記第１のＡＰＤＵへの応答として第１の応答を前記集積回路カードから受信することと、前記第１の応答は、プロシージャと前記データの前記長さとを示し、前記プロシージャは、前記データを要求するために第２のＡＰＤＵが送られることを示し、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備える、
前記サーバによって、前記第１の応答を受信した後に前記第２のＡＰＤＵを生成し、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送ることと、
前記サーバにおいて、前記第２のＡＰＤＵへの応答として第２の応答を前記集積回路カードから受信することと、前記第２の応答は前記データを備える、
前記サーバによって、前記データを備える第２のメッセージを前記クライアントに送ることと、ここにおいて、前記第１のメッセージは前記第２のＡＰＤＵを含まない、
を備える、方法。
【請求項２】
前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カード、ＵＩＣＣ（ユニバーサル集積回路カード）、およびスマートカードからなるグループから選択される、請求項１に記載の方法。
【請求項３】
前記サーバは、前記第１の応答を前記クライアントに送らない、請求項１に記載の方法。
【請求項４】
前記データは、無線アクセスネットワークに関する加入者およびネットワークの情報を備える、請求項１に記載の方法。
【請求項５】
前記クライアントによって、前記サーバから受信された前記データを無線アクセスネットワークに送ることをさらに備える、請求項１に記載の方法。
【請求項６】
前記クライアントは、カーキットとセルフォンとからなるグループから選択される、請求項１に記載の方法。
【請求項７】
前記サーバは、ポータブルデバイスとウェアラブルデバイスとからなるグループから選択される、請求項１に記載の方法。
【請求項８】
前記第１のメッセージおよび前記第２のメッセージは、Ｂｌｕｅｔｏｏｔｈリンクを介して送られる、請求項１に記載の方法。
【請求項９】
前記第１のＡＰＤＵおよび前記第２のＡＰＤＵは、規格ＩＳＯ／ＩＥＣ７８１６−４と適合性がある、請求項１に記載の方法。
【請求項１０】
サーバであって、
データを記憶する集積回路カードと、
前記集積回路カードと通信しているプロセッサと、
を備え、前記プロセッサは、
第１のメッセージをクライアントから受信することと、前記第１のメッセージは、データを前記集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、
前記第１のＡＰＤＵを前記集積回路カードへ送ることと、
前記第１のＡＰＤＵへの応答として第１の応答を前記集積回路カードから受信することと、前記第１の応答は、プロシージャと前記データの前記長さとを示し、前記プロシージャは、前記データを要求するために第２のＡＰＤＵが送られることを示し、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備える、
前記第１の応答を受信した後に前記第２のＡＰＤＵを生成し、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送ることと、
前記第２のＡＰＤＵへの応答として第２の応答を前記集積回路カードから受信することと、前記第２の応答は前記データを備える、
前記データを備える第２のメッセージを前記クライアントに送ることと、ここにおいて、前記第１のメッセージは前記第２のＡＰＤＵを含まない、
を行うように構成される、
サーバ。
【請求項１１】
前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カード、ＵＩＣＣ（ユニバーサル集積回路カード）、およびスマートカードからなるグループから選択される、請求項１０に記載のサーバ。
【請求項１２】
前記プロセッサは、前記第１の応答を前記クライアントに送らない、請求項１０に記載のサーバ。
【請求項１３】
サーバであって、
クライアントから第１のメッセージを受信するための手段と、前記第１のメッセージは、データを前記サーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、
前記第１のＡＰＤＵを前記集積回路カードへ送るための手段と、
前記第１のＡＰＤＵへの応答として第１の応答を前記集積回路カードから受信するための手段と、前記第１の応答は、プロシージャと前記データの前記長さと、前記プロシージャは、前記データを要求するために第２のＡＰＤＵが送られることを示し、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備える、
前記第１の応答を受信した後に前記第２のＡＰＤＵを生成するための手段、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送るための手段と、
前記第２のＡＰＤＵへの応答として第２の応答を前記集積回路カードから受信するための手段と、前記第２の応答は前記データを備える、
前記データを備える第２のメッセージを前記クライアントに送るための手段と、ここにおいて、前記第１のメッセージは前記第２のＡＰＤＵを含まない、
を備える、サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]実施形態は、ＳＩＭ（加入者識別モジュール）カードに関するクライアントとサーバとの間の通信に関し、およびより詳細には、Ｂｌｕｅｔｏｏｔｈ（登録商標）を介したＳＩＭアクセスプロファイルプロトコルに関する。
【背景技術】
【０００２】
[0002]ＳＩＭ（加入者識別モジュール）アクセスプロファイル、ＳＡＰは、クライアントとして働く端末が、サーバとして働く別のデバイスにおけるＳＩＭカードにアクセスすることを可能にするＢｌｕｅｔｏｏｔｈを介したプロトコルである。（Ｂｌｕｅｔｏｏｔｈは、Ｌａｋｅ  Ｗａｓｈｉｎｇｔｏｎ  Ｂｏｕｌｅｖａｒｄ、Ｓｕｉｔｅ３５０、Ｋｉｒｋｌａｎｄ、Ｗａｓｈｉｎｇｔｏｎに本部をもつデラウェア州法人であるＢｌｕｅｔｏｏｔｈ  ＳＩＧの登録商標である。）一例として、端末は、時々カーキットと単に言及される、車両ハンズフリーキット(vehicle hands-free kit)であり得、およびサーバは、運転者がハンドフリーコールを行い得るような運転者のセルフォンであり得る。さらなる例は、ドングルまたは他のポータブルデバイス中のリモートＳＩＭカードにアクセスする、クライアントとして働くセルフォンまたはタブレットを含む。ポータブルデバイスは、腕時計のようなウェアラブルデバイスであり得る。
【０００３】
[0003]たとえば、初期ネットワークの登録プロシージャの間のような、様々な時間に、クライアントは、ＳＩＭカードに記憶された様々なデータにアクセスする必要がある。望まれたデータを取得するために、クライアントは、望まれたデータを要求するために、ＡＰＤＵ（アプリケーションプロトコルデータユニット）を含んでいるメッセージをサーバ（たとえば、運転者のセルフォン）にストリーミングし、およびサーバは、要求されたデータをもつＡＰＤＵを含んでいるメッセージで応答する。遅延を低減し、およびポータブルＢｌｕｅｔｏｏｔｈに接続可能な(capable)デバイスにおける電力消費を低減するために、このプロセスの速度を上げることが望ましい。
【発明の概要】
【０００４】
[0004]本発明の実施形態は、加入者識別モジュール（ＳＩＭ）アクセスプロファイル、ＳＡＰの改善に関するシステムおよび方法を対象とする。
【０００５】
[0005]一実施形態では、方法は、クライアントによって第１のメッセージをサーバに送ることと、第１のメッセージは、データをサーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、データは長さを有する、サーバにおいて、プロシージャとデータの長さとを示す第１の応答を集積回路カードから受信することと、プロシージャは、データを要求するために第２のＡＰＤＵを送ることを備え、第２のＡＰＤＵは、データの長さを示すパラメータを備える、サーバによって、第２のＡＰＤＵを生成し、およびデータを取得するために第２のＡＰＤＵを集積回路カードに送ることと、サーバにおいて、データを備える第２の応答を集積回路カードから受信することと、およびサーバによって、データを備える第２のメッセージをクライアントに送ることとを備える。
【０００６】
[0006]別の実施形態では、方法は、クライアントによって、サーバ上の集積回路カードによって処理するための複数のコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を備える第１のメッセージをサーバに送ることと、第１のメッセージは、コマンドＡＰＤＵに関する処理の順序を示す、サーバにおいて、複数のコマンドＡＰＤＵをメモリに記憶することと、サーバによって、複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを集積回路カードに送ることと、第１のコマンドＡＰＤＵは、処理の順序に従って第１に処理されるべきである、サーバにおいて、第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを集積回路カードから受信することと、およびサーバによって、第１の応答ＡＰＤＵを示す第２のメッセージをクライアントに送ることとを備える。
【０００７】
[0007]別の実施形態では、方法は、クライアントによって、第１のメッセージをサーバに送ることと、サーバは集積回路カードを備え、第１のメッセージは、集積回路カードの自律の(autonomous)ポーリングを実施するようにサーバに示す、サーバによって、集積回路カードをポーリングすることと、サーバによるポーリングに応答して、集積回路カードは、プロアクティブな(proactive)データを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を送ることと、およびサーバによって、プロアクティブなデータを備える第２のメッセージをクライアントに送ることとを備える。
【０００８】
[0008]別の実施形態では、システムは、データを記憶する集積回路カードと、および集積回路カードと通信しているサーバと、サーバは、第１のメッセージをクライアントから受信するように構成され、第１のメッセージは、データを集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、データは長さを有する、を備え、サーバは、プロシージャとデータの長さとを示す第１の応答を集積回路カードから受信するようにさらに構成され、プロシージャは、データを要求するための第２のＡＰＤＵを示し、第２のＡＰＤＵは、データの長さを示すパラメータを備え、ここにおいて、サーバは、第２のＡＰＤＵを生成し、およびデータを取得するために第２のＡＰＤＵを集積回路カードに送る、およびサーバは、データを備える第２の応答を集積回路カードから受信するようにさらに構成され、ここにおいて、サーバは、データを備える第２のメッセージをクライアントに送る。
【０００９】
[0009]別の実施形態では、システムは、ＡＰＤＵ（アプリケーションプロトコルデータユニット）を処理するための集積回路カードと、およびメモリを備え、および集積回路カードと通信しているサーバと、を備え、サーバは、集積回路カードによって処理するための複数のコマンドＡＰＤＵを備える第１のメッセージをクライアントから受信するように構成され、第１のメッセージは、コマンドＡＰＤＵに関する処理の順序を示し、ここで、サーバは、複数のコマンドＡＰＤＵをメモリに記憶する、サーバは、複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを集積回路カードに送るようにさらに構成され、第１のコマンドＡＰＤＵは、処理の順序に従って第１に処理されるべきである、およびサーバは、第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを集積回路カードから受信するようにさらに構成され、ここで、サーバは、第１の応答ＡＰＤＵを示す第２のメッセージをクライアントに送る。
【００１０】
[0010]別の実施形態では、システムは、集積回路カードと、および集積回路カードと通信しているサーバとを備え、サーバは、第１のメッセージをクライアントから受信するように構成され、第１のメッセージは、集積回路カードの自律のポーリングを実施するようにサーバに示し、ここで、第１のメッセージを受信することに応答して、サーバは、集積回路カードをポーリングする、およびサーバによるポーリングに応答して、集積回路カードは、プロアクティブなデータを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）をサーバに送り、ここにおいて、サーバは、プロアクティブなデータを備える第２のメッセージをクライアントに送る。
【００１１】
[0011]別の実施形態では、システムは、クライアントによって第１のメッセージをサーバに送るための手段と、第１のメッセージは、データをサーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、データは長さを有する、サーバにおいて、プロシージャとデータの長さとを示す、第１の応答を集積回路カードから受信するための手段と、プロシージャは、データを要求するために第２のＡＰＤＵを送ることを備え、第２のＡＰＤＵは、データの長さを示すパラメータを備える、サーバによって、第２のＡＰＤＵを生成し、およびデータを取得するために第２のＡＰＤＵを集積回路カードに送るための手段と、サーバにおいて、データを備える第２の応答を集積回路カードから受信するための手段と、およびサーバによって、データを備える第２のメッセージをクライアントに送るための手段とを備える。
【００１２】
[0012]別の実施形態では、システムは、クライアントによって、サーバ上の集積回路カードによって処理するための複数のコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を備える第１のメッセージをサーバに送るための手段と、第１のメッセージは、コマンドＡＰＤＵに関する処理の順序を示す、サーバにおいて、複数のコマンドＡＰＤＵをメモリに記憶するための手段と、サーバによって、複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを集積回路カードに送るための手段と、第１のコマンドＡＰＤＵは、処理の順序に従って第１に処理されるべきである、サーバにおいて、第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを集積回路カードから受信するための手段と、およびサーバによって、第１の応答ＡＰＤＵを示す第２のメッセージをクライアントに送るための手段とを備える。
【００１３】
[0013]別の実施形態では、システムは、クライアントによって、第１のメッセージをサーバに送るための手段と、サーバは集積回路カードを備え、第１のメッセージは、集積回路カードの自律のポーリングを実施するようにサーバに示す、サーバによって、集積回路カードをポーリングするための手段と、サーバによるポーリングに応答して、集積回路カードは、プロアクティブなデータを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を送ることと、およびサーバによって、プロアクティブなデータを備える第２のメッセージをクライアントに送るための手段とを備える。
【００１４】
[0014]添付の図面は、本発明の実施形態の記述を助けるために提示され、および実施形態の例示のみに関して与えられ、およびそれの限定ではない。
【図面の簡単な説明】
【００１５】
【図１】[0015]実施形態は適用され得るシステム図。
【図２】[0016]中間応答はクライアントに送信されない、一実施形態に従って、クライアントおよびサーバに関するシグナリング図。
【図３】[0017]マルチプルなアプリケーションプロトコルデータユニットは１つのメッセージにグループ化される、一実施形態に従って、クライアントおよびサーバに関するシグナリング図。
【図４】[0018]マルチプルなアプリケーションプロトコルデータユニットを処理するとき、エラーのケースでは、クライアントおよびサーバによってとられるアクションを例示する図。
【図５】[0019]マルチプルなアプリケーションプロトコルデータユニットを処理することはエラー時に停止する、一実施形態に従って、クライアントおよびサーバに関するシグナリング図。
【図６】[0020]エラー時にマルチプルなアプリケーションプロトコルデータユニットを処理するとき、順序に(in order)ジャンプがある、一実施形態に従って、クライアントおよびサーバに関するシグナリング図。
【図７】[0021]自律のポーリングを使用する、一実施形態に従って、クライアントおよびサーバに関するシグナリング図。
【発明を実施するための形態】
【００１６】
[0022] 本発明の態様は、本発明の特定の実施形態を対象とする以下の記述および関連される図面において、開示される。代替の実施形態は、本発明の範囲から逸脱することなく、考案され得る。加えて、本発明のよく知られている要素は、本発明の関連する詳細を不明瞭にしないように、詳細に記述されないか、または省略される。
【００１７】
[0023]用語「本発明の実施形態」は、本発明のすべての実施形態が、議論される特徴、利点または動作のモードを含むことを必要としない。
【００１８】
[0024]本明細書で使用される用語は、特定の実施形態のみを記述するためのものであり、および本発明の実施形態を限定するものではない。本明細書で使用されるように、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、用語「備える（comprises）」、「備える（comprising）」、「含む（includes）」、および／または「含む（including）」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、および／または構成要素の存在を指定し、しかしながら、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在または追加を排除しないことを理解されよう。
【００１９】
[0025]さらに、多くの実施形態は、たとえば、コンピューティングデバイスの要素によって実施されるべき一連のアクションに関して記述される。特定の回路（たとえば、特定用途向け集積回路（ＡＳＩＣ））、プログラムの命令を実行する１つまたは複数のプロセッサ、または両方の組合せは、本明細書で記述される様々なアクションを実施し得ることを認識されよう。加えて、本明細書で記述される一連のアクションは、実行時に、関連されるプロセッサに本明細書で記述される機能性を実施させるであろうコンピュータの命令の対応するセットを記憶したいずれかの形態のコンピュータ可読記憶媒体内で全体として実施されると見なされ得る。したがって、本発明の様々な態様は多くの異なる形態で実施され得、それのすべては請求される主題の範囲内に入ることが企図されている。加えて、本明細書で記述される実施形態の各々に関して、いずれかのそのような実施形態の対応する形態は、たとえば、記述されるアクションを実施する「ように構成された論理」として、本明細書では記述され得る。
【００２０】
[0026]本明細書で記述される実施形態は、ＳＩＭカードをもつシステムに限定されず、しかしながら、パーソナルまたはネットワークの情報を記憶するために使用される他のタイプの集積回路カードをもつシステムにおいて適用され得、ここでＡＰＤＵは、集積回路カードをもつ通信ユニットとして利用される。そのような集積回路カードの一例は、ネットワークおよびパーソナル加入者の情報を記憶するためのＵＭＴＳ（ユニバーサルモバイルテレコミュニケーションズシステム）において使用されるＵＩＣＣ（ユニバーサル集積回路カード）である。
【００２１】
[0027]より一般的には、そのような集積回路カードはスマートカードと言及され得る。スマートカードはまた、認証に関する機密(sensitive)情報がクレジットカードから取得されるＰＯＳ（ポイントオブセール）システムとともに使用され得る。規格ＩＳＯ／ＩＥＣ７８１６−４は、スマートカードと通信するために使用されるＡＰＤＵの例を与える。スマートカードに記憶された個人情報の一部は、たとえば、スマートカードの所有者を特定し、およびスマートカードが埋め込まれたデバイスによってワイヤレスに送られたメッセージを暗号化するために使用されるＰＩＮ（個人識別番号）またはセキュリティキーのような、機密であり得る。
【００２２】
[0028]したがって、実施形態の以下の記述では、用語「集積回路カード」は、「ＳＩＭカード」または「ＵＩＣＣ」のような、特定の用語の代わりに使用され得、ＳＩＭカードおよびＵＩＣＣは、集積回路カードの特定の例であることを理解されたい。
【００２３】
[0029]実施形態は、図１のシステム図において抽象されるように様々なモジュールによって実現され得る。システム１００は、クライアント１０２と、サーバ１０４と、および無線アクセスネットワーク（ＲＡＮ）１０６とを含む。クライアント１０２は、ほんのいくつかの例の名前を挙げれば、カーキット、ラップトップ、またはセルフォンであり得る。クライアント１０２は、ＲＡＮ１０６との通信を行うために、加入者およびネットワークの情報を有するそれ自体の集積回路カードを有し得、しかしながら、図１に例示されている特定の実施形態に関して、クライアント１０２はそのような集積回路カードなしに示されている。後で記述されるべきプロセスは、クライアント１０２およびサーバ１０４内の様々なモジュールによって実装され得る。
【００２４】
[0030]クライアント１０２は、プロセッサ１０８と、および２つのモジュール、Ｂｌｕｅｔｏｏｔｈモジュール１１０およびＳＩＭモジュール１１２とを有するものとして例示されている。実際には、Ｂｌｕｅｔｏｏｔｈモジュール１１０またはＳＩＭモジュール１１２によって実施されるプロセスの一部または全部は、１つまたは複数のプログラマブルプロセッサおよび専用集積回路によって実施され得る、２つ以上のプロセッサがあり得る。たとえば、Ｂｌｕｅｔｏｏｔｈモジュール１１０は、Ｂｌｕｅｔｏｏｔｈプロトコルスタックの簡略化された抽象的なもの(abstraction)であり、ここで、プログラマブルプロセッサ上で動作しているソフトウェアプロセスは、Ｂｌｕｅｔｏｏｔｈスタックのホストレイヤを与え得、およびホストレイヤの下のレイヤ（コントローラレイヤ）は、１つまたは複数のＡＳＩＣによって実現され得る。
【００２５】
[0031]同様に、１つまたは複数のプログラマブルプロセッサおよび専用集積回路上で動作している様々なモジュールおよびプロセスは、ＳＩＭモジュール１１２の機能を実施し得る。たとえば、ＳＩＭモジュール１１２は、Ｂｌｕｅｔｏｏｔｈモジュールのホストレイヤと同じプログラマブルプロセッサ上で動作しているソフトウェアを備え得、およびベースバンドプロセッサ上で動作しているモジュールをも含み得る。しかしながら、例示しやすいように、１つのプロセッサのみは図１に明示的に例示されており、図１中のプロセッサ１０８は、１つまたは複数のプログラマブルプロセッサと１つまたは複数の専用集積回路とを表すことを理解されたい。
【００２６】
[0032]図１は、メモリ１１４を有するクライアント１０２と、サーバ１０４と通信するためのＢｌｕｅｔｏｏｔｈアンテナ１１６と、およびＲＡＮ１０６と通信するためのアンテナ１１８とをも例示する。メモリ１１４は、１つまたは複数のプロセッサ上で実行されるとき、Ｂｌｕｅｔｏｏｔｈモジュール１１０とＳＩＭモジュール１１２とによって示されたプロセスの全部または一部を実施するソフトウェアの命令を有する非一時的コンピュータ可読媒体と見なされ得る。
【００２７】
[0033]サーバ１０４は、プロセッサ１２０と、Ｂｌｕｅｔｏｏｔｈモジュール１２２と、ＳＩＭモジュール１２４と、およびＳＩＭカード１２６とを含む。クライアント１０２に関して議論されたように、プロセッサ１２０は、Ｂｌｕｅｔｏｏｔｈモジュール１２２およびＳＩＭモジュール１２４によって表されるプロセスの一部または全部を実施する、１つまたは複数のプログラマブルプロセッサと１つまたは複数の専用集積回路との簡略化された表現として働く。サーバ１０４は、Ｂｌｕｅｔｏｏｔｈリンク上でクライアント１０２と通信するためのＢｌｕｅｔｏｏｔｈアンテナ１２８を含む。サーバ１０４は、腕時計、ラップトップ、セルフォン、またはＳＩＭカードを受け付けることが可能ないずれかの他のデバイスのような、ウェアラブルデバイスであり得る。
【００２８】
[0034]、図１によって表される実施形態は、スマートカードまたはＵＩＣＣのような、他の集積回路カードに関係し得るように、実施形態は、ＳＩＭカードを含むそれらと、およびＳＩＭカードと通信するためのそれの関係されるモジュールとに限定されないことを諒解されたい。しかしながら、例示しやすいように、図１は、ＳＩＭカード１２６を含み、ここで、クライアント１０２は、Ｂｌｕｅｔｏｏｔｈリンク上でＳＩＭカード１２６に記憶された情報へのリモートアクセスを有する。ＲＡＮ１０６の観点から、クライアント１０２は、それ自体のＳＩＭカードを有する端末として見えるように、クライアント１０２がサーバ１０４中のＳＩＭカード１２６に記憶されたデータにアクセスするプロセスは、ＲＡＮ１０６に対してトランスペアレント(transparent)である。
【００２９】
[0035]図１は、メモリ１３０を備えるサーバ１０４をも例示し、それは、１つまたは複数のプロセッサまたは１つまたは複数の専用集積回路上で実行されるとき、Ｂｌｕｅｔｏｏｔｈモジュール１２２とＳＩＭモジュール１２４とによって示されたプロセスの全部または一部を実施するソフトウェアの命令を有する非一時的コンピュータ可読媒体と見なされ得る。
【００３０】
[0036]集積回路カードと通信するための様々なコマンドおよび応答ＡＰＤＵのペアは、技術仕様ＩＳＯ／ＩＥＣ７８１６−４（国際標準化機構／国際電気標準会議）で記述されている。その仕様で記述されるように、コマンドＡＰＤＵ（Ｃ−ＡＰＤＵ：command APDU）に応答する応答ＡＰＤＵ（Ｒ−ＡＰＤＵ：response APDU）は、２つのステータスワードＳＷ１およびＳＷ２に関するフィールドを含む。ステータスワードの値は、プロシージャのバイトに設定され得る。プロシージャのバイトは、Ｃ−ＡＰＤＵの送信側に、それの次のアクションは何であるものとするかを示す。プロシージャのバイトは、送信側のアプリケーションレイヤに送信されず、しかしながら、集積回路カードとの通信を続けるために使用される。
【００３１】
[0037]たとえば、Ｂｌｕｅｔｏｏｔｈ上のクライアントおよびサーバをもつＳＡＰプロトコルの従来の実装形態で、ここでサーバは、技術仕様ＥＴＳＩ  ＴＳ１０２  ２２１、ＥＴＳＩ（欧州通信規格協会）技術委員会スマートカードプラットフォーム（ＳＣＰ：Smart Card Platform）において規定されているように３Ｇ  ＵＩＣＣを含み、ＵＩＣＣからのＲ−ＡＰＤＵは、プロシージャのバイト「６１」に設定されたステータスワードＳＷ１を有し得る。（慣例は従われ、「ＸＸ」はバイトを示し、各Ｘは１６進値である。）このケースでは、クライアントは、ＳＷ２の値（サーバから依然として得られるデータの長さを示すＳＷ２の値）に設定された長さフィールドＬｅをもつ、Ｃ−ＡＰＤＵ、ＧＥＴ  ＲＥＳＰＯＮＳＥをサーバに直ちに送るものとする。別の例として、サーバは、ＳＷ１の値をプロシージャのバイト「６Ｃ」に設定することによって、受信されたコマンドをアボートし(abort)得、そのケースでは、クライアントは、ＳＷ２の値（要求されたデータの厳密な(exact)長さ）に設定された長さフィールドＬｅをもつ、以前のＣ−ＡＰＤＵをサーバに対して直ちに繰り返すものとする。技術仕様３ＧＰＰ（登録商標）  ＴＳ５１０１１（第３世代パートナーシッププロジェクト）において規定されているように２Ｇ  ＧＳＭ（登録商標）ＳＩＭカードに関して、サーバは、ＳＷ１の値を、上記で議論されたようにプロシージャのバイト「６１」の代わりに「９Ｆ」に設定する。
【００３２】
[0038]ＳＡＰプロトコルの従来の実装形態では、クライアントが、必要とされるデータを要求するためにＣ−ＡＰＤＵの要求を送り、およびそしてＣ−ＡＰＤＵ  ＧＥＴ  ＲＥＳＰＯＮＳＥを送ることを要求する、クライアントからのアクションを示すプロシージャのバイトを有するＲ−ＡＰＤＵをサーバから受信することが一般的である。たとえば、ＳＩＭカードの初期化の間に、クライアントは、Ｃ−ＡＰＤＵ  ＳＥＬＥＣＴ  ＲＥＱＵＥＳＴを使用して、ＳＩＭカード上の様々なファイルのＦＣＰ（ファイルコントロールパラメータ）のテンプレートをマルチプルな回数にわたって検索し得る。クライアントとサーバとの間のメッセージのこの行ったり来たりする移動は、レイテンシ(latency)と電力消費との一因となる。
【００３３】
[0039]図２は、上記で記述された従来のＳＡＰプロトコルを改善するための実施形態を例示するシグナリング図である。クライアント１０２は、要求を開始するために、図２中でＩＮＩＴＩＡＬ  ＲＥＱＵＥＳＴとして示され、および２０２とラベルされた、Ｃ−ＡＰＤＵを送信する。図２では、ＩＮＩＴＩＡＬ  ＲＥＱＵＥＳＴは、サーバ１０４に記憶されたデータの要求をクライアント１０２によって開始するために使用される一般的なＣ−ＡＰＤＵを単に表すにすぎない。たとえば、アクション２０２におけるクライアントは、ＳＥＬＥＣＴ  ＲＥＱＵＥＳＴを送信し得る。サーバ１０４は、このＣ−ＡＰＤＵを受信し、およびＳＩＭモジュール１２４は、それをＳＩＭカード１２６に送る。ＩＮＩＴＩＡＬ  ＲＥＱＵＥＳＴに応答して、図２の特定の例に関して、ＳＩＭカード１２６は、アクション２０４に示されているように、さらなるアクションを要求するプロシージャのバイトに設定されたステータスワードを有するＲ−ＡＰＤＵを、ＳＩＭモジュール１２４に送る。
【００３４】
[0040]アクション２０６において、ＳＩＭカード１２６からのＲ−ＡＰＤＵは、クライアント１０２に送信されない。さらに、ＳＩＭモジュール１２４（またはより一般的には、サーバ１０４）は、適切なＣ−ＡＰＤＵを生成し、このケースでのそれは、ＧＥＴ  ＲＥＳＰＯＮＳＥであり、およびそれをＳＩＭカード１２６に送る。ＳＩＭカード１２６は、受信されたＧＥＴ  ＲＥＳＰＯＮＳＥに応答して、アクション２０８においてＦＩＮＡＬ  ＲＥＳＰＯＮＳＥとして示されているＲ−ＡＰＤＵを、ＳＩＭモジュール１２４に送る。ＦＩＮＡＬ  ＲＥＳＰＯＮＳＥは、クライアント１０２によって最初に要求されたデータを含む。サーバ１０４は、ＦＩＮＡＬ  ＲＥＳＰＯＮＳＥをクライアント１０２に送信し、ここでこのアクションは図２中で２１０として示されている。このようにして、実施形態は、クライアントとサーバとの間のメッセージのトラフィックを低減し、それにより、レイテンシと消費電力とを低減する。
【００３５】
[0041]他の実施形態は、マルチプルなＣ−ＡＰＤＵが一緒にグループ化され、および単一のメッセージ中に含まれることを可能にすることによって、クライアントとサーバとの間のメッセージング時間を低減し得る。サーバはこのメッセージを受信するとき、Ｃ−ＡＰＤＵはキューに記憶され、それは、メッセージ中にリストされているように順序に処理されるために、ＦＩＦＯ（先入れ先出し）バッファとしてサーバ１０４のメモリ１３０に記憶され得る。特定のＣ−ＡＰＤＵを特定するために使用されるメッセージ中のパラメータに加えて、１つまたは複数のパラメータは、Ｃ−ＡＰＤＵのうちの１つまたは複数を処理するとき、障害(failure)またはエラーがある場合にサーバ１０４はどんなアクションをとるべきであるかを示すために、メッセージ中に含まれ得る。
【００３６】
[0042]図３は、クライアントとサーバとの間のメッセージング時間を低減するために、システムレベルにおける並列処理(parallelism)を使用する他の実施形態を例示するシグナリング図である。図３の特定の例では、メッセージ中のすべての含まれるＣ−ＡＰＤＵは、エラーなしに完了されると仮定する。エラーが生じるときのケースは、後で記述される。
【００３７】
[0043]クライアント１０２によって送られるメッセージは、図３中でＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱとして示されている。図３の特定の例では、３つのＣ−ＡＰＤＵは、メッセージ中に含まれる、Ｃ−ＡＰＤＵ１、Ｃ−ＡＰＤＵ２、およびＣ−ＡＰＤＵ３。「Ｃ−ＡＰＤＵＮ」中の整数ラベル「Ｎ」の値は、そのＣ−ＡＰＤＵが処理されるものとする順序を示す。明らかに、実施形態は、３よりも数が大きいかまたは小さい、Ｃ−ＡＰＤＵの様々な組合せを含み得、特定の例は図３に表されている。ラベル３０２は、３つのＣ−ＡＰＤＵ、Ｃ−ＡＰＤＵ１、Ｃ−ＡＰＤＵ２、およびＣ−ＡＰＤＵ３を含んでいるメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱをサーバ１０４に送る、クライアント１０２のアクションを示す。
【００３８】
[0044]アクション３０４において、サーバ１０４は、３つのＣ−ＡＰＤＵをキューに記憶し、およびアクション３０６において、第１のＣ−ＡＰＤＵ、すなわちＣ−ＡＰＤＵ１はＳＩＭカード１２６に送られる。アクション３０８において、ＳＩＭモジュール１２４（より一般的には、サーバ１０４）は、Ｃ−ＡＰＤＵ１に応答して、図３中でＲ−ＡＰＤＵ１として示されているＲ−ＡＰＤＵをＳＩＭカード１２６から受信する。Ｒ−ＡＰＤＵ１は、ＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰとして示されているメッセージ中に含まれ、およびアクション３１０を示されているように、クライアント１０２に送られる。
【００３９】
[0045]アクション３１２において、ＳＩＭモジュール１２４は、Ｃ−ＡＰＤＵ２をＳＩＭカード１２６に送り、およびアクション３１４において、Ｒ−ＡＰＤＵ２として示されているＲ−ＡＰＤＵをＳＩＭカード１２６から受信する。クライアント１０２は、アクション３１０においてより以前に送られたメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰを処理している間に、サーバ１０４は、Ｃ−ＡＰＤＵＳのうちの第２、すなわちＣ−ＡＰＤＵ２に作用していることに留意されたい。このようにして、ＳＩＭカード１２６は、一度に２つ以上のＣ−ＡＰＤＵを処理しないが、とはいえ、一種の並列処理は全体としてシステムによって達成される。Ｒ−ＡＰＤＵ２は、別のメッセージ、ＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰ中に含まれ、およびアクション３１６に示されているように、クライアント１０２に送信される。
【００４０】
[0046]アクション３１８において、ＳＩＭモジュール１２４は、Ｃ−ＡＰＤＵ３をＳＩＭカード１２６に送り、およびアクション３２０において、Ｒ−ＡＰＤＵ３として示されているＲ−ＡＰＤＵをＳＩＭカード１２６から受信する。Ｒ−ＡＰＤＵ２は、別のメッセージ、ＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰ中に含まれ、およびアクション３２２に示されているように、クライアント１０２に送信される。
【００４１】
[0047]図３に示されたタイムラインから、アクション３１２は、アクション３１０の後に生じることに留意されたい。しかしながら、これは要件でなく、および例示しやすいようにこのようにして単に示されているにすぎない。いくつかの実施形態に関して、Ｃ−ＡＰＤＵ２は、アクション３１０の前または間にＳＩＭカード１２６に送られ得る。同様の意見は、Ｃ−ＡＰＤＵ３に関する他のアクションに適用する。サーバ１０４はまた、アクション３２２が完了される前に新しい要求を受信し得る。このようにして、サーバ１０４中のキューは、性能を最適化するために空になる必要はない。
【００４２】
[0048]いくつかの実施形態に関して、メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱは、メッセージ中に含まれる各Ｃ−ＡＰＤＵに関して１つずつ、そのＣ−ＡＰＤＵを処理することを試みるときにエラーがあるケースでは何を行うべきかをサーバ１０４に命令するためのパラメータを含む。そのようなパラメータは、メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱの関するヘッダ中に含まれ得る。
【００４３】
[0049]たとえば、図４は、メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱを示し、４０２とラベルされ、それはＣｏｍｍａｎｄ ＡＰＤＵ７８１６ＥＸＴと言及されるパラメータを含む。メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱ中に含まれる各Ｃ−ＡＰＤＵに関して１つのそのようなパラメータがある。パラメータＣｏｍｍａｎｄ ＡＰＤＵ７８１６は、ラベル４０４によって拡大され、および４０６とラベルされたヘッダと、および４０８とラベルされた、それの関連されるＣ−ＡＰＤＵとを含むことが示されている。ヘッダ４０６は、ラベル４１０によって拡大され、およびＥｒｒｏｒ＿Ｈａｎｄｌｉｎｇと言及されるエラー処理パラメータと、およびＪＵＭＰ＿ＡＰＤＵ＿ＩＤと言及される別のパラメータとを含むことが示されている。エラー処理パラメータＥｒｒｏｒ＿Ｈａｎｄｌｉｎｇの値は、エラーがある場合に、どんなアクションが行われるべきかを示す。Ｅｒｒｏｒ＿Ｈａｎｄｌｉｎｇの値は、Ｃ−ＡＰＤＵを処理する順序におけるジャンプを示す場合、パラメータＪＵＭＰ＿ＡＰＤＵ＿ＩＤは、ジャンプを決定するために使用される。パラメータＪＵＭＰ＿ＡＰＤＵ＿ＩＤの値は、処理の順序がジャンプするべきである、Ｃ−ＡＰＤＵを指定するＡＰＤＵ  ＩＤである。例は、４１２とラベルされた表に例示されている。
【００４４】
[0050]表４１２に言及すると、エラー処理パラメータの値が「００」である場合、現在のＣ−ＡＰＤＵを処理することを試みるときにエラーが生じる場合、次の順序のＣ−ＡＰＤＵはＳＩＭカード１２６に送られる。エラー処理パラメータの値が「０１」である場合、メッセージ４０２内のすべてのＣ−ＡＰＤＵの実行はアボートされる。エラー処理パラメータの値が「０２」である場合、実行は、エラーがステータスワードＳＷ１およびＳＷ２によって示されたものとは異なるケースに、停止される。エラー処理パラメータの値が「０３」である場合、Ｃ−ＡＰＤＵはＳＩＭカード１２６によって処理される順序におけるジャンプがあり、ここで、ジャンプはＪＵＭＰ＿ＡＰＤＵ＿ＩＤの値によって示される。エラー処理パラメータに関する他の値は、さらなる使用に関して予約され得る。
【００４５】
[0051]表４１２に示されている特定のアクションおよび対応する値は、エラーがあるとき、Ｃ−ＡＰＤＵの実行はどのように実施されるかの一例として働くために与えられるにすぎないことを諒解されたい。他の実施形態は、アクションの異なるセットまたは値の異なるセットを利用し得る。
【００４６】
[0052]図５は、エラーが生じ、およびエラー処理パラメータは、いずれかのエラーのケースにおいて、実行は停止すべきであることを示す、一実施形態に関するシグナリング図であり、それは、表４１２によって例示されている特定の実施形態に関して、エラー処理パラメータが値「０１」を有するケースである。アクション５０２において、クライアント１０２は、３つのＣ−ＡＰＤＵ、Ｃ−ＡＰＤＵ１、Ｃ−ＡＰＤＵ２、およびＣ−ＡＰＤＵ３を含んでいるメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱをサーバ１０４に送り、およびアクション５０４において、ＳＩＭモジュール１２４（より一般的には、サーバ１０４）は、３つのＣ−ＡＰＤＵをキューに記憶する。このキューは、メモリ１３０中のＦＩＦＯバッファであり得る。アクション５０６において、サーバは、Ｃ−ＡＰＤＵ１をＳＩＭカード１２６に送る。これらの３つのアクションは、図３に関して記述されたものと同様である。しかしながら、５０８とラベルされたアクションにおいて、ＳＩＭカード１２６がＣ−ＡＰＤＵ１を実行することを試みるときにエラーは生じ、およびＳＩＭカード１２６は、Ｒ−ＡＰＤＵ１と言及される、エラーを示すステータスワードをもつＲ−ＡＰＤＵをサーバ１０４（たとえば、ＳＩＭモジュール１２４）に返送する。
【００４７】
[0053]アクション５１０において、サーバ１０４は、クライアント１０２が、どのような種類のエラーが生じたことがあるかを知るように、Ｒ−ＡＰＤＵ１を含むメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰをクライアント１０２に送る。エラー処理パラメータは値「０１」を有するので、キュー中の残りのＣ−ＡＰＤＵのいずれも実行されることはない。したがって、アクション５１２は、Ｃ−ＡＰＤＵ２がＳＩＭカード１２６に送られないことを示し、そのケースでは、アクション５１４において、メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰは、エラーがあったことと、およびＣ−ＡＰＤＵ（現在、Ｃ−ＡＰＤＵ２）はアボートされる（実行されない）こととを示すように設定された１つまたは複数のパラメータをもつクライアント１０２に送られる。同様に、アクション５１６は、Ｃ−ＡＰＤＵ３がＳＩＭカード１２６に送られないことを示し、そのケースでは、アクション５１８において、メッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰは、エラーがあることと、およびＣ−ＡＰＤＵ（現在、Ｃ−ＡＰＤＵ３）はアボートされる（実行されない）こととを示すように設定された１つまたは複数のパラメータをもつクライアント１０２に送られる。
【００４８】
[0054]図６は、エラーが生じ、およびエラー処理パラメータが値「０３」を有するとき、表４１２に示されているように、エラー処理パラメータは、実行がジャンプすべきであることを示す、実施形態に関するシグナリング図である。アクション６０２において、クライアント１０２は、３つのＣ−ＡＰＤＵ、Ｃ−ＡＰＤＵ１、Ｃ−ＡＰＤＵ２、およびＣ−ＡＰＤＵ３を含んでいるメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＱをサーバに送り、およびアクション６０４において、ＳＩＭモジュール１２４（より一般的には、サーバ１０４）は、３つのＣ−ＡＰＤＵをキュー、たとえば、メモリ１３０中のＦＩＦＯバッファ、に記憶する。アクション６０６において、サーバ１０４は、Ｃ−ＡＰＤＵ１をＳＩＭカード１２６に送る。ＳＩＭカード１２６は、同じくＲ−ＡＰＤＵ１と言及される、エラーを示すステータスワードをもつＲ−ＡＰＤＵをサーバ１０４に返送するように、これらの３つのアクションは、以前に記述されたものと同様であり、および６０８とラベルされたアクションにおいて、ＳＩＭカード１２６がＣ−ＡＰＤＵ１を実行することを試みるときにエラーは生じる。
【００４９】
[0055]アクション６１０において、サーバ１０４は、クライアント１０２が、どのような種類のエラーが生じたことがあるかを知るように、Ｒ−ＡＰＤＵ１を含むメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰをクライアント１０２に送る。エラー処理パラメータが値「０３」を有するので、実行順序におけるジャンプは生じる。図６に例示されている特定の例に関して、ＪＵＭＰ＿ＡＰＤＵ＿ＩＤの値は、Ｃ−ＡＰＤＵ３へのジャンプが行われるべきであることを示すように設定される。したがって、アクション６１２において、Ｃ−ＡＰＤＵ２はＳＩＭカード１２６に送られず、およびアクション６１４において、エラーがあったことと、およびＣ−ＡＰＤＵ（現在、Ｃ−ＡＰＤＵ２）はアボートされる（実行されない）こととを示すように設定された１つまたは複数のパラメータをもつメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰはクライアント１０２に送られる。しかしながら、図５とは異なり、アクション６１６において、Ｃ−ＡＰＤＵ３はＳＩＭカード１２６に送られる。アクション６１８において、ＳＩＭカード１２６は、Ｒ−ＡＰＤＵ３をＳＩＭモジュール１２４（より一般的には、サーバ１０４）に送り、およびアクション６２０において、Ｒ−ＡＰＤＵ３をもつメッセージＴＲＡＮＳＦＥＲ＿ＡＰＤＵ＿ＥＸＴ＿ＲＥＳＰはクライアント１０２に送られる。
【００５０】
[0056]いくつかのシステムに関して、クライアントとサーバとの間で交換されたＡＰＤＵの数は比較的高い、初期シーケンス後に、しばしば、クライアントとサーバとの間のインタラクション(interaction)は、いくつかの時間期間の間ポーリングすることのみに限定される。通常、ＳＩＭカードに対して端末によって行われる２つの別個のポーリングのプロシージャがある、プロアクティブなポーリング、それは、ＳＩＭカードからのいずれかの保留しているプロアクティブなコマンドを検索するために、ＳＩＭカードとネゴシエートされ、およびカード検出ポーリング、ＳＩＭカード上のいくつかのアプリケーション、たとえば３ＧＰＰ  ＴＳ３１．１０２において規定されているようにＵＳＩＭ（ユニバーサル加入者識別モジュール）によって必要とされる。
【００５１】
[0057]デフォルトのポーリングの間隔は３０秒であり、しかしながら、これは、プロアクティブなＳＩＭカードとともに行われる呼(call)およびネゴシエーションのステータスに依存して変動し得る。ポーリングの頻度、ポーリングの間に使用されるパラメータ、および厳密な応答は、一般的に、クライアントにのみ知られている、それは、プロアクティブなコマンドを復号および実行する能力を有し、およびボイスおよびデータの呼のステータスを知っている。サーバが、クライアントとは無関係に、ポーリングのプロシージャを自律的に実施し、およびサーバは、必要とされるときのみ（たとえば、エラーのケースまたはＳＩＭカードからの利用可能なプロアクティブなコマンドのケース）、クライアントに通知するように、いくつかの実施形態は、クライアントはサーバに命令することを可能にする。このようにして、不要なメッセージは、Ｂｌｕｅｔｏｏｔｈリンク上で送られず、電力消費における節約につながる。
【００５２】
[0058]図７は、技術仕様ＥＴＳＩ  ＴＳ１０２  ２２１に従ってＵＩＣＣのような集積回路カードの自律のポーリングを実施するように、クライアントがサーバに命令することを可能にする、一実施形態を例示するシグナリング図である。アクション７０２において、クライアント１０２は、サーバ１０４がＵＩＣＣの自律のポーリングを実施し、およびこのアクションに関して必要とされるパラメータ（たとえば、ポーリングの間隔または予想される返されるデータ）を受け渡すことを要求するために、ＲＥＭＯＴＥ＿ＰＯＬＬＩＮＧ＿ＲＥＱと示されたメッセージをサーバ１０４に送る。アクション７０６において、サーバ１０４は、ＵＩＣＣのポーリングを実施する。ＳＩＭカードは、保留しているプロアクティブなコマンドを示すステータスワード「９１ＸＸ」をもつＲ−ＡＰＤＵをサーバ１０４に送ることを示し、ここで、「ＸＸ」はコマンドの長さであるように、アクション７０８は、ＳＩＭカードが、クライアント１０２に送るためのプロアクティブなデータを有することを示す。アクション７１０において、クライアントは、フェッチし(fetch)、およびそれを実行するための通常のシーケンスを進めることができるように、サーバ１０４は、プロアクティブなデータを含んでいるメッセージＰＲＯＡＣＴＩＶＥ＿ＣＯＭＭＡＮＤ＿ＩＮＤをクライアント１０２に送る。
【００５３】
[0059]当業者は、情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを、諒解されよう。たとえば、上記の記述全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらのいずれかの組合せによって表され得る。
【００５４】
[0060]さらに、当業者は、本明細書で開示される実施形態と結びついて記述される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを諒解されよう。ハードウェアおよびソフトウェアのこの互換性(interchangeability)を明確に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、上記では一般的にそれらの機能性に関して記述された。そのような機能性はハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、全体的なシステムに課される特定の適用および設計制約に依存する。当業者は、記述される機能性を特定の適用例ごとに関する様々な方法で実装し得、しかしながら、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００５５】
[0061]本明細書で開示される実施形態と結びついて記述された方法、シーケンスおよび／またはアルゴリズムは、ハードウェアで直接に実施され得るか、プロセッサによって実行されるソフトウェアモジュールで実施され得るか、またはそれらの２つの組合せで実施され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られているいずれかの他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができ、および記憶媒体に情報を書き込むことができるように、プロセッサと結びつけられる。代替として、記憶媒体はプロセッサと一体であり得る。
【００５６】
[0062]したがって、本発明の一実施形態は、ＳＡＰプロトコルの改善に関する方法を実施するコンピュータ可読媒体を含むことができる。したがって、本発明は、例示された例に限定されず、および本明細書で記述された機能性を実施するためのいずれかの手段は、本発明の実施形態に含まれる。
【００５７】
[0063]上記の開示は本発明の例示的な実施形態を示し、様々な変更および修正は添付される特許請求の範囲によって定義されるように本発明の範囲から逸脱することなく、本明細書において行われ得ることに留意されたい。本明細書で記述された本発明の実施形態に従った、方法のクレームの機能、ステップおよび／またはアクションは、いずれかの特定の順序で実施されなくてもよい。さらに、本発明の要素は、単数形で記述され得または請求され得、複数形は、単数形への限定が明示的に述べられていない限り、企図される。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  クライアントによって第１のメッセージをサーバに送ることと、前記第１のメッセージは、データを前記サーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、
前記サーバにおいて、プロシージャと前記データの前記長さとを示す第１の応答を前記集積回路カードから受信することと、前記プロシージャは、前記データを要求するために第２のＡＰＤＵを送ることを備え、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備える、
前記サーバによって、前記第２のＡＰＤＵを生成し、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送ることと、
前記サーバにおいて、前記データを備える第２の応答を前記集積回路カードから受信することと、および
前記サーバによって、前記データを備える第２のメッセージを前記クライアントに送ることとを備える、方法。
[Ｃ２]  前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カードと、ＵＩＣＣ（ユニバーサル集積回路カード）と、およびスマートカードとからなるグループから選択される、Ｃ１に記載の方法。
[Ｃ３]  前記サーバは、前記第１の応答を前記クライアントに送らない、Ｃ１に記載の方法。
[Ｃ４]  前記データは、無線アクセスネットワークに関する加入者およびネットワークの情報を備える、Ｃ１に記載の方法。
[Ｃ５]  前記クライアントによって、前記サーバから受信された前記データを無線アクセスネットワークに送ることをさらに備える、Ｃ１に記載の方法。
[Ｃ６]  前記クライアントは、カーキットと、およびセルフォンとからなるグループから選択される、Ｃ１に記載の方法。
[Ｃ７]  前記サーバは、ポータブルデバイスと、およびウェアラブルデバイスとからなるグループから選択される、Ｃ１に記載の方法。
[Ｃ８]  前記第１のメッセージおよび前記第２のメッセージは、Ｂｌｕｅｔｏｏｔｈリンクを介して送られる、Ｃ１に記載の方法。
[Ｃ９]  前記第１のＡＰＤＵおよび前記第２のＡＰＤＵは、規格ＩＳＯ／ＩＥＣ７８１６−４と適合性のある、Ｃ１に記載の方法。
[Ｃ１０]  クライアントによって、サーバ上の集積回路カードによって処理するための複数のコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を備える第１のメッセージを前記サーバに送ることと、前記第１のメッセージは、前記コマンドＡＰＤＵに関する処理の順序を示す、
前記サーバにおいて、前記複数のコマンドＡＰＤＵをメモリに記憶することと、
前記サーバによって、前記複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを前記集積回路カードに送ることと、前記第１のコマンドＡＰＤＵは、処理の前記順序に従って第１に処理されるべきである、
前記サーバにおいて、前記第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを前記集積回路カードから受信することと、および
前記サーバによって、前記第１の応答ＡＰＤＵを示す第２のメッセージを前記クライアントに送ることとを備える、方法。
[Ｃ１１]  前記第１のメッセージは、前記複数のコマンドＡＰＤＵ中の１つまたは複数のコマンドＡＰＤＵを受信することに応答して、前記集積回路カードによって与えられた１つまたは複数のステータスワードに従って、前記サーバによってとられるべきアクションを示す、Ｃ１０に記載の方法。
[Ｃ１２]  前記第１の応答ＡＰＤＵは、前記第１のメッセージによって要求されたデータを備え、前記第２のメッセージは前記データを備える、Ｃ１０に記載の方法。
[Ｃ１３]  前記サーバによって、前記第１の応答ＡＰＤＵがエラーなしを示すとすれば、前記複数のコマンドＡＰＤＵ中の第２のコマンドＡＰＤＵを前記集積回路カードに送ること、前記第２のコマンドＡＰＤＵは、処理の前記順序に従って第２に処理されるべきである、をさらに備える、Ｃ１０に記載の方法。
[Ｃ１４]  前記第１のメッセージは、前記サーバが、エラーを示す１つまたは複数のステータスワードを前記集積回路カードから受信すると、前記複数のコマンドＡＰＤＵからのコマンドＡＰＤＵを前記集積回路カードに送ることを停止するべきであることを示すとすれば、前記方法は、
前記サーバによって、前記１つまたは複数のステータスワードを受信すると、前記集積回路カードに送られなかった前記複数のコマンドＡＰＤＵ中のすべての残りのコマンドＡＰＤＵを前記集積回路カードに送らないことと、および
前記サーバによって、前記残りのコマンドＡＰＤＵは実行されなかったことを示す１つまたは複数のメッセージを前記クライアントに送ることとをさらに備える、Ｃ１０に記載の方法。
[Ｃ１５]  前記第１のメッセージは、前記サーバが、エラーを示す１つまたは複数のステータスワードを前記集積回路カードから受信すると、処理の前記順序においてジャンプするべきであることを示すとすれば、ここで、前記第１のメッセージは、処理の前記順序における前記ジャンプを示すパラメータを含み、前記方法は、
前記サーバによって、処理の前記順序に従って次の順序である、前記複数のコマンドＡＰＤＵ中の次の順序のコマンドＡＰＤＵを前記集積回路カードに送らないことと、
前記サーバによって、前記次の順序のコマンドＡＰＤＵは実行されなかったことを示す第３のメッセージを前記クライアントに送ることと、および
前記サーバによって、前記パラメータによって示された前記複数のコマンドＡＰＤＵ中のコマンドＡＰＤＵを前記集積回路に送ることとをさらに備える、Ｃ１０に記載の方法。
[Ｃ１６]  前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カードと、ＵＩＣＣ（ユニバーサル集積回路カード）と、およびスマートカードとからなるグループから選択される、Ｃ１０に記載の方法。
[Ｃ１７]  前記第１のメッセージは、データを前記集積回路カードに要求し、前記データは、無線アクセスネットワークに関する加入者およびネットワークの情報を備える、Ｃ１０に記載の方法。
[Ｃ１８]  前記クライアントによって、前記サーバから受信されたデータを無線アクセスネットワークに送ることをさらに備える、Ｃ１０に記載の方法。
[Ｃ１９]  前記クライアントは、カーキットと、およびセルフォンとからなるグループから選択される、Ｃ１０に記載の方法。
[Ｃ２０]  前記サーバは、ポータブルデバイスと、およびウェアラブルデバイスとからなるグループから選択される、Ｃ１０に記載の方法。
[Ｃ２１]  前記第１のメッセージおよび前記第２のメッセージは、Ｂｌｕｅｔｏｏｔｈリンクを介して送られる、Ｃ１０に記載の方法。
[Ｃ２２]  前記複数の前記コマンドＡＰＤＵ中の前記コマンドＡＰＤＵは、規格ＩＳＯ／ＩＥＣ７８１６−４と適合性のある、Ｃ１０に記載の方法。
[Ｃ２３]  クライアントによって、第１のメッセージをサーバに送ることと、前記サーバは集積回路カードを備え、前記第１のメッセージは、集積回路カードの自律のポーリングを実施するように前記サーバに示す、
前記サーバによって、前記集積回路カードをポーリングすることと、
前記サーバによる前記ポーリングに応答して、前記集積回路カードは、プロアクティブなデータを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を送ることと、および
前記サーバによって、前記プロアクティブなデータを備える第２のメッセージを前記クライアントに送ることとを備える、方法。
[Ｃ２４]  前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カードと、ＵＩＣＣ（ユニバーサル集積回路カード）と、およびスマートカードとからなるグループから選択される、Ｃ２３に記載の方法。
[Ｃ２５]  前記クライアントは、カーキットと、およびセルフォンとからなるグループから選択される、Ｃ２３に記載の方法。
[Ｃ２６]  前記サーバは、ポータブルデバイスと、およびウェアラブルデバイスとからなるグループから選択される、Ｃ２３に記載の方法。
[Ｃ２７]  前記第１のメッセージおよび前記第２のメッセージは、Ｂｌｕｅｔｏｏｔｈリンクを介して送られる、Ｃ２３に記載の方法。
[Ｃ２８]  前記コマンドＡＰＤＵは、規格ＩＳＯ／ＩＥＣ７８１６−４と適合性のある、Ｃ２３に記載の方法。
[Ｃ２９]  データを記憶する集積回路カードと、および
前記集積回路カードと通信しているサーバと、前記サーバは、第１のメッセージをクライアントから受信するように構成され、前記第１のメッセージは、データを前記集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、を備えるシステムであって、
前記サーバは、プロシージャと前記データの前記長さとを示す第１の応答を前記集積回路カードから受信するようにさらに構成され、前記プロシージャは、前記データを要求するための第２のＡＰＤＵを示し、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備え、ここにおいて、前記サーバは、前記第２のＡＰＤＵを生成し、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送る、および
前記サーバは、前記データを備える第２の応答を前記集積回路カードから受信するようにさらに構成され、ここにおいて、前記サーバは、前記データを備える第２のメッセージを前記クライアントに送る、システム。
[Ｃ３０]  前記集積回路カードは、加入者識別モジュール（ＳＩＭ）カードと、ＵＩＣＣ（ユニバーサル集積回路カード）と、およびスマートカードとからなるグループから選択される、Ｃ２９に記載のシステム。
[Ｃ３１]  前記サーバは、前記第１の応答を前記クライアントに送らない、Ｃ２９に記載のシステム。
[Ｃ３２]  ＡＰＤＵ（アプリケーションプロトコルデータユニット）を処理するための集積回路カードと、および
メモリを備え、および前記集積回路カードと通信しているサーバとを備えるシステムであって、
前記サーバは、前記集積回路カードによって処理するための複数のコマンドＡＰＤＵを備える第１のメッセージをクライアントから受信するように構成され、前記第１のメッセージは、前記コマンドＡＰＤＵのための処理の順序を示し、ここで、前記サーバは、前記複数のコマンドＡＰＤＵを前記メモリに記憶する、
前記サーバは、前記複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを前記集積回路カードに送るようにさらに構成され、前記第１のコマンドＡＰＤＵは、処理の前記順序に従って第１に処理されるべきである、および
前記サーバは、前記第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを前記集積回路カードから受信するようにさらに構成され、ここで、前記サーバは、前記第１の応答ＡＰＤＵを示す第２のメッセージを前記クライアントに送る、システム。
[Ｃ３３]  前記第１のメッセージは、前記複数のコマンドＡＰＤＵ中の１つまたは複数のコマンドＡＰＤＵを受信することに応答して、前記集積回路カードによって与えられた１つまたは複数のステータスワードに従って、前記サーバによってとられるべきアクションを示す、Ｃ３２に記載のシステム。
[Ｃ３４]  前記第１の応答ＡＰＤＵは、前記第１のメッセージによって要求されたデータを備え、前記第２のメッセージは前記データを備える、Ｃ３２に記載のシステム。
[Ｃ３５]  前記第１の応答ＡＰＤＵがエラーなしを示すとすれば、前記複数のコマンドＡＰＤＵ中の第２のコマンドＡＰＤＵを前記集積回路カードに送るようにさらに構成された前記サーバ、前記第２のコマンドＡＰＤＵは、処理の前記順序に従って第２に処理されるべきである、をさらに備える、Ｃ３２に記載のシステム。
[Ｃ３６]  前記第１のメッセージは、前記サーバが、エラーを示す１つまたは複数のステータスワードを前記集積回路カードから受信すると、前記複数のコマンドＡＰＤＵからのコマンドＡＰＤＵを前記集積回路カードに送ることを停止するべきであることを示すとすれば、前記サーバは、
前記１つまたは複数のステータスワードを受信すると、前記集積回路カードに送られなかった前記複数のコマンドＡＰＤＵ中のすべての残りのコマンドＡＰＤＵを前記集積回路カードに送らないことと、および
前記残りのコマンドＡＰＤＵは実行されなかったことを示す１つまたは複数のメッセージを前記クライアントに送ることとを行うようにさらに構成された、Ｃ３２に記載のシステム。
[Ｃ３７]  前記第１のメッセージは、前記サーバが、エラーを示す１つまたは複数のステータスワードを前記集積回路カードから受信すると、処理の前記順序においてジャンプするべきであることを示すとすれば、ここで、前記第１のメッセージは、処理の前記順序における前記ジャンプを示すパラメータを含み、前記サーバは、
処理の前記順序に従って次の順序である、前記複数のコマンドＡＰＤＵ中の次の順序のコマンドＡＰＤＵを前記集積回路カードに送らないことと、
前記次の順序のコマンドＡＰＤＵは実行されなかったことを示す第３のメッセージを前記クライアントに送ることと、および
前記パラメータによって示された前記複数のコマンドＡＰＤＵ中のコマンドＡＰＤＵを前記集積回路に送ることとを行うようにさらに構成された、Ｃ３２に記載のシステム。
[Ｃ３８]  集積回路カードと、および
前記集積回路カードと通信しているサーバとを備えるシステムであって、
前記サーバは、第１のメッセージをクライアントから受信するように構成され、前記第１のメッセージは、前記集積回路カードの自律のポーリングを実施するように前記サーバに示し、ここで、前記第１のメッセージを受信することに応答して、前記サーバは、前記集積回路カードをポーリングする、および
前記サーバによる前記ポーリングに応答して、前記集積回路カードは、プロアクティブなデータを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を前記サーバに送る、ここにおいて、前記サーバは、前記プロアクティブなデータを備える第２のメッセージを前記クライアントに送る、システム。
[Ｃ３９]  クライアントによって第１のメッセージをサーバに送るための手段と、前記第１のメッセージは、データを前記サーバ上の集積回路カードに要求するための第１のＡＰＤＵ（アプリケーションプロトコルデータユニット）を備え、前記データは長さを有する、
前記サーバにおいて、プロシージャと前記データの前記長さとを示す第１の応答を前記集積回路カードから受信するための手段と、前記プロシージャは、前記データを要求するために第２のＡＰＤＵを送ることを備え、前記第２のＡＰＤＵは、前記データの長さを示すパラメータを備える、
前記サーバによって、前記第２のＡＰＤＵを生成し、および前記データを取得するために前記第２のＡＰＤＵを前記集積回路カードに送るための手段と、
前記サーバにおいて、前記データを備える第２の応答を前記集積回路カードから受信するための手段と、および
前記サーバによって、前記データを備える第２のメッセージを前記クライアントに送るための手段とを備える、システム。
[Ｃ４０]  クライアントによって、サーバ上の集積回路カードによって処理するための複数のコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を備える第１のメッセージを前記サーバに送るための手段と、前記第１のメッセージは、前記コマンドＡＰＤＵに関する処理の順序を示す、
前記サーバにおいて、前記複数のコマンドＡＰＤＵをメモリに記憶するための手段と、
前記サーバによって、前記複数のコマンドＡＰＤＵ中の第１のコマンドＡＰＤＵを前記集積回路カードに送るための手段と、前記第１のコマンドＡＰＤＵは、処理の前記順序に従って第１に処理されるべきである、
前記サーバにおいて、前記第１のコマンドＡＰＤＵに応答して、第１の応答ＡＰＤＵを前記集積回路カードから受信するための手段と、および
前記サーバによって、前記第１の応答ＡＰＤＵを示す第２のメッセージを前記クライアントに送るための手段とを備える、システム。
[Ｃ４１]  クライアントによって、第１のメッセージをサーバに送るための手段と、前記サーバは集積回路カードを備え、前記第１のメッセージは、集積回路カードの自律のポーリングを実施するように前記サーバに示す、
前記サーバによって、前記集積回路カードをポーリングするための手段と、
前記サーバによる前記ポーリングに応答して、前記集積回路カードは、プロアクティブなデータを備えるコマンドＡＰＤＵ（アプリケーションプロトコルデータユニット）を送ることと、および
前記サーバによって、前記プロアクティブなデータを備える第２のメッセージを前記クライアントに送るための手段とを備える、システム。
【図１】
0006480082.tif 000002
【図２】
0006480082.tif 000003
【図３】
0006480082.tif 000004
【図４】
0006480082.tif 000005
【図５】
0006480082.tif 000006
【図６】
0006480082.tif 000007
【図７】
0006480082.tif 000008