IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アッサ アブロイ アーベーの特許一覧

特許7108137複数の高精度な測距アプリケーションのための接続およびサービス検出
<>
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図1
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図2
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図3
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図4
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図5
  • 特許-複数の高精度な測距アプリケーションのための接続およびサービス検出 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-07-19
(45)【発行日】2022-07-27
(54)【発明の名称】複数の高精度な測距アプリケーションのための接続およびサービス検出
(51)【国際特許分類】
   G06K 7/10 20060101AFI20220720BHJP
   G06K 19/07 20060101ALI20220720BHJP
   G06F 12/06 20060101ALI20220720BHJP
【FI】
G06K7/10 152
G06K7/10 176
G06K19/07 240
G06F12/06 524
【請求項の数】 24
(21)【出願番号】P 2021526511
(86)(22)【出願日】2020-10-01
(86)【国際出願番号】 EP2020077522
(87)【国際公開番号】W WO2021064102
(87)【国際公開日】2021-04-08
【審査請求日】2021-05-27
(31)【優先権主張番号】62/908,839
(32)【優先日】2019-10-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】501427157
【氏名又は名称】アッサ アブロイ アーベー
【氏名又は名称原語表記】ASSA ABLOY AB
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】シュテッフル、ヤン
(72)【発明者】
【氏名】プレヴォ、シルヴァン ジャック
(72)【発明者】
【氏名】アインベルク、フレードリク カール ステファン
(72)【発明者】
【氏名】ピルヒ、ハンス-ユルゲン
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2017-135458(JP,A)
【文献】特表2016-511991(JP,A)
【文献】特開2008-152559(JP,A)
【文献】特開平6-333097(JP,A)
【文献】米国特許出願公開第2018/0109291(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/10
G06K 19/07
G06F 12/06
(57)【特許請求の範囲】
【請求項1】
クライアントデバイス内の複数のスマートカードスロットを検出するサーバーデバイスであって、
プロセッササブシステムと、
複数の命令を含むメモリと、を備え、
前記複数の命令は、前記プロセッササブシステムによって実行されると、複数の処理を前記プロセッササブシステムに実行させ、前記複数の処理は、
確立されたBluetooth接続を介して、前記クライアントデバイスから複数のスマートカードコネクタパラメータを前記サーバーデバイスにおいて受信することであって、前記クライアントデバイスは、複数のスマートカードスロットを有する、前記受信すること、
前記複数のスマートカードスロットを反復処理すること、
前記複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、前記アプリケーションは、前記サーバーデバイスに事前に関連付けられている、前記使用すること、
前記複数のスマートカードスロットのあるスロットに前記アプリケーションが存在することを識別したことに応答して、前記アプリケーションに接続すること、を含む、サーバーデバイス。
【請求項2】
前記複数のスマートカードコネクタパラメータは、バッファサイズを含む、請求項1に記載のサーバーデバイス
【請求項3】
前記複数のスマートカードコネクタパラメータは、前記クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む、請求項1または2に記載のサーバーデバイス
【請求項4】
前記複数のスマートカードスロットを反復処理することは、
前記複数のスマートカードスロットの各々の複数のスマートカードタイプを識別すること、
前記複数のスマートカードタイプに基づいて前記複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、
前記フィルタリングされた複数の結果を反復処理すること、を含む、請求項1または2に記載のサーバーデバイス
【請求項5】
前記複数のスマートカードタイプは、組み込みセキュアエレメント(eSE)およびホストカードエミュレーション(HCE)を含む、請求項4に記載のサーバーデバイス
【請求項6】
前記複数のスマートカードスロットは、仮想スマートカードスロット、物理的スマートカードスロット、または物理的スマートカードスロットおよび仮想スマートカードスロットの組み合わせを含む、請求項1に記載のサーバーデバイス
【請求項7】
前記スマートカードプロトコルは、ISO/IEC7816を含む、請求項1または6に記載のサーバーデバイス
【請求項8】
前記サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、前記アプリケーションは、前記サーバーデバイスに事前に関連付けられている、請求項1に記載のサーバーデバイス
【請求項9】
前記アプリケーションは、高精度な測距アプリケーションである、請求項1または8に記載のサーバーデバイス
【請求項10】
前記アプリケーションは、超広帯域技術を実装して、測距データを前記サーバーデバイスに供給する、請求項1または8に記載のサーバーデバイス
【請求項11】
前記複数の処理は、
前記アプリケーションから切断すること、
前記アプリケーションから受信したデータを使用して超広帯域測距セッションを確立すること、を含む、請求項1または8に記載のサーバーデバイス
【請求項12】
デバイス内の複数のスマートカードスロットを検出するための方法であって、
確立されたBluetooth接続を介して、クライアントデバイスから複数のスマートカードコネクタパラメータをサーバーデバイスにおいて受信することであって、前記クライアントデバイスは、複数のスマートカードスロットを有する、前記受信すること、
前記複数のスマートカードスロットを反復処理すること、
前記複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、前記アプリケーションは、前記サーバーデバイスに事前に関連付けられている、前記使用すること、
前記複数のスマートカードスロットのあるスロットに前記アプリケーションが存在することを識別したことに応答して、前記アプリケーションに接続すること、を備える方法。
【請求項13】
前記複数のスマートカードコネクタパラメータは、バッファサイズを含む、請求項12に記載の方法。
【請求項14】
前記複数のスマートカードコネクタパラメータは、前記クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む、請求項12または13に記載の方法。
【請求項15】
前記複数のスマートカードスロットを反復処理することは、
前記複数のスマートカードスロットの各々の複数のスマートカードタイプを識別すること、
前記複数のスマートカードタイプに基づいて前記複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、
前記フィルタリングされた複数の結果を反復処理すること、を含む、請求項12または13に記載の方法。
【請求項16】
前記複数のスマートカードタイプは、組み込みセキュアエレメント(eSE)およびホストカードエミュレーション(HCE)を含む、請求項15に記載の方法。
【請求項17】
前記複数のスマートカードスロットは、仮想スマートカードスロットを含む、請求項12に記載の方法。
【請求項18】
前記複数のスマートカードスロットは、物理的スマートカードスロットを含む、請求項12または17に記載の方法。
【請求項19】
前記複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードスロットを含む、請求項12または17に記載の方法。
【請求項20】
前記スマートカードプロトコルは、ISO/IEC7816を含む、請求項12または17に記載の方法。
【請求項21】
前記サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、前記アプリケーションは、前記サーバーデバイスに事前に関連付けられている、請求項12に記載の方法。
【請求項22】
前記アプリケーションは、高精度な測距アプリケーションである、請求項12または21に記載の方法。
【請求項23】
前記アプリケーションは、超広帯域技術を実装して、測距データを前記サーバーデバイスに供給する、請求項12または21に記載の方法。
【請求項24】
前記アプリケーションから切断すること、
前記アプリケーションから受信したデータを使用して超広帯域測距セッションを確立すること、を備える請求項12または21に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書において説明される複数の実施形態は、概して、無線接続に関し、特に、複数の高精度な測距アプリケーションのための接続およびサービス検出に関する。
【背景技術】
【0002】
Bluetooth Low Energy(BLE)は、短距離においてデバイス間でデータを交換する機能を提供する無線技術規格である。BLEは、周波数スペクトルのライセンスされていない部分で動作し、モバイルデバイスとヘッドホンとの間などの複数のパーソナルエリアネットワークに広く採用されている。
【0003】
Ultra-Wideband(UWB)通信は、BLEとは異なる無線スペクトルの部分で動作する新しい規格である。そのため、UWBはBLEと共存することができる。UWBは、広い周波数スペクトルにわたって短い低電力のパルスを使用する無線周波数(radio frequency : RF)技術である。複数のパルスは、1秒あたり数百万のオーダーの個別パルスである。周波数スペクトルの幅は、一般に500メガヘルツを超えるか、演算中心周波数(arithmetic center frequency)の20パーセントを超える。
【図面の簡単な説明】
【0004】
必ずしも正確な尺度で描かれていない図面において、同様の数字は異なる図における同様の構成要素を説明することができる。異なる文字接尾辞を有する同様の数字は、同様の構成要素の異なる例を表すことができる。いくつかの実施形態は、限定ではなく例として、添付の複数の図面の図に示されている。
図1図1は、一実施形態による、BLE動作環境を示すブロック図である。
図2図2は、一実施形態による、接続およびサービス検出中の制御およびデータフローを示すブロック図である。
図3図3は、一実施形態による、プロトコルスタックを示す。
図4図4は、一実施形態による、デバイス内の複数のスマートカードスロットを検出するための方法のフローチャートである。
図5図5は、一実施形態による、本明細書において説明される複数の技術(例えば、複数の方法)のうちの任意の1つまたは複数が実行され得る例示的なマシンを示すブロック図である。
図6図6は、一実施形態による、本明細書において説明される複数の技術(例えば、複数の方法)のうちの任意の1つまたは複数が実行され得るシステムを示すブロック図である。
【発明を実施するための形態】
【0005】
以下の説明では、説明のために、いくつかの例示的な実施形態の完全な理解を与えるために多数の特定の詳細が説明される。しかしながら、こうした特定の詳細なしに本開示を実施できることは当業者には明らかであろう。
【0006】
BLEおよびUWBの両方は、複数の測距アプリケーション(ranging applications)に使用され得る。非常に高いレベルでは、測距アプリケーションは、2つのデバイス間の距離を決定するために使用されるアプリケーションである。BLEはRSSI(Received Signal Strength Indicator)を用いた粗い測距に使用されることができるが、UWBは、その実装のために、高精度な測距(fine ranging)に適している。測距におけるより良い解像度は、多くの理由のために有利である。
【0007】
たとえば、物理的なアクセス制御アプリケーションでは、建物内の人の位置を2.54センチメートル(1インチ)単位で追跡したり、さらに細かく追跡したりできるため、ドアをロックまたはロック解除してアクセスを禁止または許可するときのより正確なメカニズムを提供する。別の例として、モバイル決済シナリオでは、買い手と売り手が、POS端末(point-of-sale terminal)等で物理的に近接している場合、取引が有効であるという追加の信頼層(additional layer of confidence)が存在し、買い手の支払いクレデンシャルが売り手に送信されることができる。シームレスなアクセス制御、ロケーションベースのサービス、およびピアツーピアサービス(peer-to-peer services)において、UWBには他の利点がある。
【0008】
ただし、現在の実装では、電力要件のため、UWBは帯域内検出(in-band discovery)には理想的ではない。UWBを使用するデバイスは、接続を監視している間、すぐに蓄積した電力を消費するだろう。代わりに、UWBは、セッションの前に交換される接続の複数のパラメータを必要とする。これらの複数の制限に対処するために、BLEを使用して、デバイスおよび使用可能な接続を検出し、複数のUWBパラメータを渡し、帯域内検出に必要な電力を低減することができる。BLEは、セキュリティのために複数の識別パラメータを交換するためにも使用され得る。さらに、BLEとUWBを組み合わせると、明確に定義された普及した接続規格(BLE)と改良された測距技術(UWB)を使用できるという利点がある。以下の複数のセクションにおいて追加の詳細が説明される。
【0009】
標準化されていないBLE Generic Attribute Profile(GATT)を介した通信は、Bluetooth Special Interest Group(SIG)によって定義されていない。代わりに、データ交換のプロトコルとシーケンスは完全にサービス固有である。必要なのは、UWB技術に依存する高精度な測距(fine ranging : FiRa)アプリケーションを提供するためのUWAサービスである。
【0010】
FiRaのユースケースでは、接続を確立するために、複数のデバイスは複数のUWBパラメータと物理アクセスクレデンシャル(physical access credential)などのFiRaサービス固有データを交換する必要がある。これは、FiRaサービスまたはアプリケーションのハンドシェイク(handshake)または検出に使用できるセッションキー(session key)の形式であり得る。
【0011】
BLEでは、複数のアドバタイジングパケット(advertising packets)を送信するデバイスは、ブロードキャスター(broadcaster)またはペリフェラル(peripheral)デバイスと呼称され、複数のアドバタイジングチャネル(advertising channels)上で複数のアドバタイジングパケットを受信するデバイスは、スキャナー(scanner)またはセントラル(central)デバイスと呼称される。スキャナーが対象とするアドバタイジングパケットを受信すると、スキャナーは、接続可能なアドバタイジングパケットを受信したのと同じアドバタイジング無線周波数(RF)チャネルを介して接続を要求し得る。スキャナーは、アドバタイジングブロードキャスターデバイスへの接続を要求し、接続が確立されると、スキャナーは通信の態様を制御する。
【0012】
図1は、一実施形態による、BLE動作環境を示すブロック図である。図1は、BLEブロードキャスター/ペリフェラルとして機能する第1のデバイス100と、BLEセントラルデバイスとして機能する第2のデバイス102と、を示している。第1のデバイス100と第2のデバイス102との間に1つまたは複数の中間デバイス104が存在し、スキャナーとして機能し、第1のデバイス100からの複数のアドバタイズメント(advertisements)をリレーすることが理解される。BLEプロトコルで知られているように、スキャナーは自身のアドバタイズメントを追加し得るため、スキャナーとブロードキャスターの両方として機能し得る。
【0013】
図2は、一実施形態による、接続およびサービス検出(service discovery)中の制御およびデータフローを示すブロック図である。第1フェーズ(200)では、第1のデバイス100は、BLEアドバタイズメッセージADV_INDでその存在をアドバタイズする(advertises)。アドバタイズされる接続は、Generic Access Profile(GAP)の対象となる。GAPは、複数のBLE対応デバイスがそれ自体を利用可能にする方法と、2つのデバイスが相互に直接通信する方法を定義する。第2のデバイス102がSCAN_REQメッセージを使用して接続を開始するために応答した場合、第2のデバイス102は、第1のデバイス100によって送信されたSCAN_RSPメッセージを分析することによって、第1のデバイス100でホストされたGATTに基づいてサービス検出を実行し得る。CONNECT_REQメッセージは、ペリフェラルデバイス(第1のデバイス100)に接続するためにセントラルデバイス(第2のデバイス102)によって送信される接続要求パケットである。
【0014】
第2フェーズ(202)では、GATTサービス検出が実行される。BLE Attribute Protocol(ATT)は、第1のデバイス100と第2のデバイス102との間の通信を定義する。ATTは、デバイス検出、および別のデバイスでの属性の読み出しと書き込みを識別する。GATTはATTの上に構築されており、高レベルのサービスを提供するために使用される。第1のデバイス100は、GATTによって管理される情報を格納する複数のデータ構造である一組の属性を保持する。第2のデバイス102は、第1のデバイス100に問い合わせること(querying)によって属性にアクセスし得る。図2に示されるように、GATTサーバーテーブル210内の複数のGATTサービスの1つは、FiRa「リーダー(reader)」サービス212である。
【0015】
より簡単な接続を提供するために、BLE規格は、ISO/IEC7816などのスマートカード規格(smart card standard)にブリッジされる(bridged)。ISO/IEC7816は、一般的に、複数のコンタクト(つまり、複数のスマートカード)を備えた集積回路カードの複数の物理的特性を指定する。ISO/IEC7816規格は、セキュリティ動作、カード管理、およびアプリケーション管理のためのデータ要素、コマンド、およびメカニズムも定義する。
【0016】
第2のデバイス102は、1つまたは複数のスマートカードスロットを有し得る。複数のスマートカードスロットは、物理的スロットまたは仮想スロットであり得る。第1のデバイス100とインタフェースする場合、第2のデバイス102は、複数のスマートカードスロットを公開し(expose)、FiRa BLEコネクタリーダー220がスマートカードスロットで実行されているアプリケーションと通信することを可能にし得る。スマートカードスロットは、物理的スロットでもよく、またはエミュレートされた(emulated)(仮想)スロットでもよい。スロットに挿入またはロードされるカードは、そのカードに記憶された1つまたは複数のアプリケーションを有し得る。UWB測距を使用するFiRa測距アプリケーションは、そのアプリケーションの1つであり得る。そのような実施形態では、ISO/IEC7816規格は、UWB測距セッションをセキュアにするために使用される複数のセッションセキュリティプロトコル(session security protocols)を提供する。
【0017】
第3フェーズ204において、第1のデバイス100上で動作するFiRa BLEコネクタリーダー220は、第2のデバイス102によって複数のFiRaコネクタパラメータを提供される(処理230)。FiRa BLEコネクタリーダー220は、複数のコネクタパラメータ(222)のデータ構造を保持し得る。複数の接続パラメータを使用して、FiRa BLEコネクタリーダー220は、FiRaアプリケーションを有するスロットを見つけようとして、第2のデバイス102上の各スロットに問い合わせる(interrogates)(処理232)。FiRaアプリケーションが見つかると、FiRa BLEコネクタリーダー220は、FiRaアプリケーションとのセッションを作成し(処理234)、FiRa動作を実行する。FiRa BLEコネクタリーダー220は、単一のカードスロット上で、または複数のカードスロットにわたって、複数のスマートカードアプリケーションとのいくつかの連続的な相互作用を実行し得ることに留意されたい。セッションが完了した後、FiRa BLEコネクタリーダー220は、FiRaアプリケーションをホストしたスロットとのセッションを閉じる(処理236)。
【0018】
FiRa UWBコントローラ238およびFiRa UWB制御対象物(controlee)240は、FiRaデータ交換の後に使用されるUWBハードウェア(例えば、無線機、コントローラ、メモリデバイス、発振器、相互接続回路など)である。FiRa UWBコントローラ238およびFiRa UWB制御対象物240は、互いの間で信号を渡し、それらの正確な距離を測距または測定する。UWB測距は、ポーリングメッセージが送信されてから応答メッセージが受信されるまでのtime of flight(ToF)を使用する。
【0019】
FiRa UWBコントローラ238は、送信機として機能し、広いスペクトル周波数にわたって数十億のパルスをFiRa UWB制御対象物240に送信する。FiRa UWB制御対象物は、送信機から送信されたよく使われるパルスシーケンスをリッスンすること(listening)により、パルスをデータに変換する。パルスは約2ナノ秒に1回送信されるため、UWBはリアルタイムの精度を実現できる。
【0020】
UWBハードウェアは、MIMO(multiple-input and multiple-output)分散アンテナシステムを含み得る。これにより、受信の範囲と信頼性が向上する。IEEE802.15.4a規格に基づいて、UWBは、最大200メートルのline of sightを有する複数のピアデバイスの相対位置を決定することができる。
【0021】
UWBセッションは、BLEセッションから独立している。BLEセッションは、UWB測距の進行中に終了され得る。あるいは、BLEセッションとアプリケーションは、ULB測距が行われている間に使用されることもできる。実際には、BLEは、複数のUWB RFパラメータをネゴシエートし(negotiate)、(例えば、セキュリティトークンサービスまたはSTSシード(seed)を用いて)一時的なセッションキーを共有するために帯域外通信に使用される。この時点で、帯域外通信チャネルが終了され得、UWBによるセキュアな測距が開始される。帯域外通信にBLEを使用すると、検出フェーズにおけるエネルギー消費のオーバーヘッド(overhead)が少なくなる。セキュアな測距の開始時には、2つのデバイスは同期化されておらず、レシーバー(receiver)が、アクティブの場合にかなりの電力を消費し得る。セキュアなチャネルの検出と確立にBLEを使用すると、UWBの受信時間を最小限に抑えることができる。
【0022】
第1のデバイス100および第2のデバイス102は、任意のタイプのコンピューティングデバイスであり得る。第2のデバイス102は、典型的には、本質的に携帯可能であり、携帯電話、モバイルデバイス、スマートフォン、パーソナルデジタルアシスタント(personal digital assistant)、ラップトップ、タブレット、ウェアラブルデバイス、ポータブル認証カード、キーフォブ(key fob)、スマートカードなどの形態を取ることができる。第1のデバイス100は、必ずしもモバイルデバイスの形態をとる必要はなく、むしろ、セキュリティ監視装置、ドアロック、パーソナルコンピュータ、デスクトップコンピュータ、キオスク(kiosk)、決済端末(payment terminal)、ビーコン(beacon)、スマートカードリーダーなどの一部として具体化されてもよいことを理解されたい。
【0023】
図3は、一実施形態による、プロトコルスタック300を示す。複数の最下層には、BLUETOOTH物理層302、リンク層304、およびL2CAP(logical link control and adaptation protocol)306がある。これらはBLUETOOTHコントローラレベルで実装される。BLE属性プロトコル(BLE Attribute Protocol : ATT)とGATT308は、BLUETOOTHホストに実装される。
【0024】
BLUETOOTHプロトコルスタックの上には、デバイスに接続され且つスマートカードプロトコルを介してデバイスにアクセスするために使用されるFiRa BLEコネクタサービス310がある。一実施形態では、プロトコルは、ISO/IEC7816-4アプリケーションプロトコルデータユニット(Application Protocol Data Units : APDUs)320によって定義される。
【0025】
アプリケーションレベルの通信は、FiRaアプリAPDUs312、FiRaセキュリティチャンネル314、およびFiRaデータマッピングプロトコル316を使用して処理される。専有データ(proprietary data)318は、FiRaアプリケーションを介して交換され得る。このようなデータは、UWBデバイス機能またはUWBセッションパラメータなどのUWB関連データを含み得る。その他の専有データは、物理アクセス制御システム(physical access control system : PACS)のクレデンシャル、またはUWBによって提供される高精度な測距機能を使用するその他のアプリケーションまたはサービスプロバイダーのデータを含み得る。これらのUWBデータは、UWBハードウェアが測距セッションを正常に確立するために不可欠なデバイス機能およびセッションパラメータであり得る。
【0026】
図4は、一実施形態による、デバイス内の複数のスマートカードスロットを検出するための方法400のフローチャートである。方法400は、処理402において開始し、複数のスマートカードコネクタパラメータは、確立されたBluetooth接続を介してクライアントデバイスからサーバーデバイスにおいて受信される。クライアントデバイスは、複数のスマートカードスロットを含む。一実施形態では、複数のスマートカードコネクタパラメータは、バッファサイズ(buffer size)を含む。一実施形態では、複数のスマートカードコネクタパラメータは、クライアントデバイスが複数の空きスロット(multiple open slots)をサポートするかどうかを示すフラグを含む。
【0027】
404において、複数のスマートカードスロットが反復処理される(iterated through)。複数のスマートカードスロットは、物理的または仮想的であり得る。したがって、一実施形態では、複数のスマートカードスロットは、仮想スマートカードスロットを含む。別の実施形態では、複数のスマートカードスロットは、物理的スマートカードスロットを含む。別の実施形態では、複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードスロットを含む。
【0028】
一実施形態では、複数のスマートカードスロットを反復処理することは、1)複数のスマートカードスロットのそれぞれのスマートカードタイプを識別すること、2)複数のスマートカードタイプに基づいて複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、3)フィルタリングされた複数の結果を反復処理すること、の複数の処理を含む。様々な実施形態において、複数のスマートカードタイプは、組み込みセキュアエレメント(embedded Secure Element : eSE)およびホストカードエミュレーション(host card emulation : HCE)を含む。そのため、サーバーデバイスがeSEスマートカードへの接続を試みるように構成されている場合、複数のHCEスマートカードが除外され、eSEスマートカードのみが照会される(interrogated)。逆に、サーバーデバイスは、複数のHCEスマートカードへの接続のみを試みるように構成されてもよい。
【0029】
406において、複数のスマートカードスロットの各スロットにおいて、スマートカードプロトコルが、各スロットでアプリケーションにアクセスすることを試みるために使用される。一実施形態では、スマートカードプロトコルは、ISO/IEC7816を含む。
【0030】
サーバーデバイスがアクセスを試みることによってアプリケーションを認識するように、アプリケーションは、サーバーデバイスに事前に関連付けられている。一実施形態では、サーバーデバイスがフィールドサービス(field service)のために最初にプロビジョニングされる(provisioned)場合、アプリケーションは、サーバーデバイスに事前に関連付けられている。アプリケーションの署名、識別子、またはその他の標識(indicia)は、サーバーデバイスの不変メモリ(immutable memory)に格納され得る。
【0031】
408において、アプリケーションが複数のスマートカードスロットのあるスロットに存在することを識別することに応答して、サーバーデバイスは、アプリケーションに接続する。
【0032】
一実施形態では、アプリケーションは、高精度な測距アプリケーションである。関連する実施形態では、アプリケーションは、超広帯域技術を実装して、測距データをサーバーデバイスに供給する。
【0033】
一実施形態では、BLEセッションは、UWB測距が行われる前に閉じられる。したがって、一実施形態では、方法400は、アプリケーションから切断すること、およびアプリケーションから受信したデータを使用して超広帯域測距セッションを確立すること、を含む。
【0034】
複数のシステムコンポーネントの例
複数の実施形態は、ハードウェア、ファームウェア、およびソフトウェアの1つまたは組み合わせで具体化され得る。複数の実施形態はまた、機械可読記憶デバイスに記憶された複数の命令として実装され得、複数の命令は、本明細書において説明された複数の処理を実行するために、少なくとも1つのプロセッサによって読み取られ、実行され得る。機械可読記憶デバイスは、マシン(例えば、コンピュータ)によって可読可能な形式で情報を記憶するための任意の非一時的メカニズムを含み得る。例えば、機械可読記憶デバイスは、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および他の記憶デバイスおよび媒体を含み得る。
【0035】
プロセッササブシステム(processor subsystem)は、機械可読媒体上の複数の命令を実行するように用いられる。プロセッササブシステムは、それぞれが1つまたは複数のコアを有する1つまたは複数のプロセッサを含み得る。さらに、プロセッササブシステムは、1つまたは複数の物理デバイス上に配置され得る。プロセッササブシステムは、グラフィックスプロセッシングユニット(GPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または固定機能プロセッサなどの1つまたは複数の特殊なプロセッサを含み得る。プロセッササブシステムは、BLUETOOTH SoCなどの1つまたは複数のシステムオンチップ(SoC)デバイスを含むか、またはそれを用いて具体化され得る。
【0036】
本明細書において説明されるような複数の例は、ロジックまたはいくつかのコンポーネント、モジュール、またはメカニズムを含み得るか、またはそれらを実行し得る。複数のモジュールは、本明細書において説明された複数の処理を実行するために、1つまたは複数のプロセッサに通信可能に接続されたハードウェア、ソフトウェア、またはファームウェアであり得る。複数のモジュールは、ハードウェアモジュールであり得、そのような複数のモジュールは、複数の特定の処理を実行することができる有形のエンティティと考えられてもよく、特定の方法で構成または配置されてもよい。一例では、複数の回路は、モジュールとして指定された方法で(例えば、内部に、または他の回路などの外部エンティティに関して)配置され得る。一実施形態では、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント又はサーバーコンピュータシステム)または1つ以上のハードウェアプロセッサの全体または一部分は、ファームウェアまたはソフトウェア(例えば、複数の命令、アプリケーション部分、またはアプリケーション)によって、複数の特定の処理を実行するように動作するモジュールとして構成されてもよい。一例では、ソフトウェアは、機械可読媒体上に存在し得る。一例では、ソフトウェアは、モジュールの基礎となるハードウェアによって実行されると、複数の特定の処理を実行することをハードウェアにさせる。したがって、「ハードウェアモジュール」という用語は、ある特定の方法で動作するか、または本明細書に説明される任意の処理の一部分またはすべてを実行するように、物理的に構築されるか、特別に構成される(例えば、ハード配線化)か、または一時的(例えば、一時的に)に構成される(例えば、プログラムされる)エンティティである有形のエンティティを包含するように理解される。複数のモジュールが一時的に構成される複数の例を考慮すると、複数のモジュールの各々は、時間内の任意の1つの瞬間においてインスタンス化される必要はない。例えば、モジュールがソフトウェアを用いて構成された汎用ハードウェアプロセッサを含む場合、汎用ハードウェアプロセッサは、異なる時間でそれぞれ異なるモジュールとして構成され得る。したがって、ソフトウェアは、例えば、時間の特定のインスタンスにおいて特定のモジュールを構築し、時間の異なるインスタンスにおいて異なるモジュールを構築するように、ハードウェアプロセッサを構成する。複数のモジュールは、本明細書において説明された複数の方法を実行するように動作するソフトウェアまたは複数のファームウェアモジュールであってもよい。
【0037】
本明細書において使用される回路構成または複数の回路は、例えば、単一または任意の組み合わせで、ハードワイヤード回路、1つ以上の個別命令処理コアを備えるコンピュータプロセッサなどのプログラム可能な回路、ステートマシン回路、および/またはプログラム可能な回路によって実行される複数の命令を格納するファームウェアを含み得る。複数の回路、回路、またはモジュールは、集合的にまたは個別に、より大きなシステムの一部を形成する回路、例えば集積回路(IC)、システムオンチップ(SoC)、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバー、スマートフォンなどとして具現化されてもよい。
【0038】
本明細書の任意の実施形態で使用される場合、「ロジック(logic)」という用語は、前述の処理のいずれかを実行するように構成されたファームウェアおよび/または回路を指し得る。ファームウェアは、メモリデバイスおよび/または回路においてハードコードされた(例えば、不揮発性)コード、複数の命令または1組の命令、および/またはデータとして具体化され得る。
【0039】
本明細書の任意の実施形態において使用される回路構成は、例えば、単一または任意の組み合わせで、ハードワイヤード回路、プログラム可能な回路、ステートマシン回路、ロジックおよび/またはプログラム可能な回路によって実行される複数の命令を格納するファームウェアを含み得る。回路は、集積回路チップなどの集積回路として具体化され得る。いくつかの実施形態では、回路は、少なくとも部分的に、本明細書において説明された複数の機能に対応するコードおよび/または命令セット(例えば、ソフトウェア、ファームウェアなど)を実行するプロセッサ回路によって形成されてもよく、したがって、汎用プロセッサを特定目的処理環境(specific-purpose processing environment)に変換して、本明細書において説明された処理の1つ以上を実行してもよい。いくつかの実施形態では、プロセッサ回路は、スタンドアロン型集積回路として具体化されてもよく、または集積回路上のいくつかの構成要素の1つとして組み込まれてもよい。いくつかの実施形態では、ノードまたは他のシステムの様々な構成要素および回路を、システムオンチップ(SoC)アーキテクチャ内で組み合わせることができる。
【0040】
図5は、一実施形態による、コンピュータシステム500の例示的な形態のマシンを示すブロック図であり、その中で、一組の命令または命令のシーケンスが実行されて、本明細書において説明される複数の方法のいずれか1つを実行することをマシンにさせることができる。代替実施形態では、マシンは、スタンドアロン型デバイスとして動作するか、または他のマシンに接続(例えば、ネットワーク化)される。ネットワーク化されたデプロイメントでは、マシンは、サーバー-クライアントネットワーク環境内のサーバーまたはクライアントマシンのいずれかのキャパシティで、またはピアツーピア(または分散)ネットワーク環境ではピア機器として機能し得る。マシンは、スマート識別カード、スマートクレデンシャル、電子クレデンシャル、検証デバイス、ユーザーデバイス、モバイルデバイス、パーソナルコンピュータ(PC)、タブレットPC、ハイブリッドタブレット、パーソナルデジタルアシスタント(PDA)、携帯電話、キオスク、ビーコン、またはこのマシンがとるべき複数の動作を特定する複数の命令を(逐次的またはその他の方法で)実行することができる任意のマシンであり得る。さらに、単一のマシンのみが図示されているが、「マシン(machine)」という用語はまた、本明細書において説明される複数の方法のうちの任意の1つ又は複数を実行するための一組(または複数の組)の命令を個々に又は共同で実行する複数のマシンの任意の集合を含むと解釈されるべきである。同様に、「プロセッサベースのシステム(processor-based system)」という用語は、本明細書において説明された複数の方法のいずれか1つ以上を実行するための複数の命令を個別にまたは共同で実行するために、プロセッサ(例えば、コンピュータ)によって制御されるかまたは実行される1つ以上のマシンの任意のセットを含むものと解釈される。
【0041】
例示的なコンピュータシステム500は、少なくとも1つのプロセッサ502(例えば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)またはその両方、プロセッサコア、計算ノードなど)、メインメモリ504、およびスタティックメモリ506を含み、これは、リンク508(例えば、バス)を介して互いに通信する。コンピュータシステム500はさらに、映像ディスプレイユニット510、英数字入力装置512(例えば、キーボード)、およびユーザーインタフェース(user interface : UI)ナビゲーションデバイス514(例えば、マウス)を含み得る。一実施形態では、映像ディスプレイユニット510、入力装置512、およびUIナビゲーションデバイス514は、タッチスクリーンディスプレイに組み込まれる。コンピュータシステム500は、さらに、記憶デバイス(例えば、ドライブユニット)516、信号生成デバイス(例えば、スピーカー)518、ネットワークインタフェースデバイス520と、全地球測位システム(GPS)センサー、コンパス、加速度計、磁力計、その他のタイプのセンサーなどの1つ又は複数のセンサー(図示せず)とを含み得る。
【0042】
記憶デバイス516は、本明細書において記載される方法または機能のうちの任意の1つまたは複数によって具体化または利用される1つ又は複数の組のデータ構造および命令524(例えば、ソフトウェア)が記憶される機械可読媒体522を含む。複数の命令524はまた、メインメモリ504、スタティックメモリ506、および機械可読媒体を構成するプロセッサ502を備えるコンピュータシステム500によるその実行中に、メインメモリ504、スタティックメモリ506内、および/またはプロセッサ502内に、完全にまたは少なくとも部分的に存在してもよい。
【0043】
機械可読媒体522が単一の媒体である例示的な実施形態において示されているが、「機械可読媒体」という用語は、1つまたは複数の命令524を記憶する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、及び/又は関連するキャッシュおよびサーバー)を含み得る。「機械可読媒体」という用語は、マシンによる実行のために複数の命令を記憶するか、符号化するか、または転送することができ、マシンが本開示の方法のうちのいずれか1つ以上を実行すること、またはそのような複数の命令によって使用されるかまたはそれに関連する複数のデータ構造を記憶するか、符号化するか、または転送することを可能にする任意の有形媒体を含むものと解釈される。したがって、「機械可読媒体」という用語は、限定されないが、固体メモリ、光学および磁気媒体を含むように理解されるものと解釈される。機械可読媒体の特定の複数の例は、例として、限定されないが、(例えば、電気的プログラム可能な読み出し専用メモリ(EPROM)、電気的消去可能なプログラム可能読み出し専用メモリ(EEPROM)等の)半導体メモリデバイス及びフラッシュメモリデバイス等の不揮発性メモリ、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、磁気光ディスク、CD-ROM及びDVD-ROMディスクを含む。
【0044】
複数の命令524は、さらに、いくつかの周知な転送プロトコル(例えば、HTTP)の任意の1つを利用するネットワークインタフェースデバイス520により送信媒体を使用して通信ネットワーク526を介して送信または受信されてもよい。通信ネットワークの複数の例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、携帯電話ネットワーク、基本電話サービス(plain old telephone : POTS)ネットワーク、および無線データネットワーク(例えば、BLUETOOTH、Wi-Fi、3G、および4G LTE/LTE-A、5G、DSRC、またはWiMAXネットワーク)を含む。「伝送媒体」という用語は、マシンによる実行のための複数の命令を記憶、符号化、または転送することができる任意の無形媒体を含み、そのようなソフトウェアの通信を可能にするためのデジタルまたはアナログ通信信号または他の無形媒体を含むものと解釈される。
【0045】
図6は、一実施形態による、本明細書において説明される複数の技術(例えば、複数の方法)のうちの任意の1つまたは複数が実行され得るシステム600を示すブロック図である。システム600は、ユーザーデバイス610およびサーバー650を含み得る。ユーザーデバイス610は、図1の第2のデバイス102のインスタンスであり得、典型的には、本質的に携帯可能であり、携帯電話、モバイルデバイス、スマートフォン、パーソナルデジタルアシスタント、ラップトップ、タブレット、ウェアラブルデバイス、ポータブル認証カード、キーフォブ(key fob)、スマートカードなどの形態を取ることができる。
【0046】
サーバー650は、図1の第1のデバイス100のインスタンスであり得るが、携帯型デバイスでなくてもよい。サーバー650は、セキュリティ監視装置、ドアロック、パーソナルコンピュータ、デスクトップコンピュータ、キオスク、決済端末、ビーコン、スマートカードリーダーなどの一部として具体化されてもよいことを理解されたい。
【0047】
ユーザーデバイス610は、データの送信と受信の両方が可能であり、コントローラ614によって制御される送受信機612を含む。送受信機612およびコントローラ614は、(例えば、802.15.1標準ファミリーまたはBLUETOOTH Special Interest Group(SIG)による)BLUETOOTHネットワーク、(例えば、IEEE802.11標準ファミリーによる)Wi-Fiネットワーク、Long-Term Evolution(LTE)、LTE-Advanced、5GまたはGlobal System for Mobile Communications(GSM)標準ファミリーなどに従って設計されたネットワークなどのセルラーネットワークなどの様々な無線ネットワークを介して通信するために使用され得る。
【0048】
オペレーティングシステム616は、コントローラ614とインタフェースする。オペレーティングシステム616は、デスクトップオペレーティングシステム、組み込みオペレーティングシステム、リアルタイムオペレーティングシステム、専有オペレーティングシステム、ネットワークオペレーティングシステムなどであり得る。複数の例は、Windows(登録商標)NT(およびその改良)、Windows(登録商標)Mobile、Windows(登録商標)Embedded、Mac OS(登録商標)、Apple iOS、Apple WatchOS(登録商標)、UNIX、Android(登録商標)、JavaOS、Symbian OS、Linux、およびその他の適切なオペレーティングシステムプラットフォームを含むが、これらに限定されない。
【0049】
通信コントローラ(図示せず)は、ハードウェア、ファームウェア、またはオペレーティングシステム616に実装され得る。通信コントローラは、デバイスドライバ、通信プロトコルスタック(communication protocol stacks)、ライブラリなどのさまざまなハードウェア抽象化レイヤー(hardware abstraction layer : HAL)インタフェースとのインタフェースとして機能し得る。通信コントローラは、(例えば、システムイベントから、または通信コントローラへの高速システムコール(express system call)によって)ユーザー入力を受信し、ユーザー入力に基づいて1つ以上の下位通信デバイス(例えば、BLUETOOTH無線、Wi-Fi無線、セルラー無線など)と対話するように動作可能である。通信コントローラは、少なくとも部分的に、オペレーティングシステム616内の1つ以上のライブラリ、デバイスインタフェース等への呼出し(calls)を行うユーザーレベルのアプリケーション内に実装されて、複数の通信デバイスを特定の方法で動作させることができる。
【0050】
ユーザーデバイス610上のユーザーアプリケーションスペース(user application space)618は、ユーザー604がユーザーデバイス610を制御するために、ユーザーレベルのアプリケーション、制御、ユーザーインタフェースなどを実施するように使用される。アプリケーション、アプリ、拡張、コントロールパネル、または他のユーザーレベルの実行可能なソフトウェアプログラムを使用して、ユーザーデバイス610へのアクセスを制御し得る。例えば、アプリなどの実行可能ファイルは、ユーザーデバイス610にインストールされ、サーバー650にインストールされたホストアプリケーションと通信するように動作可能であり得る。
【0051】
サーバー650は、オペレーティングシステム、ファイルシステム、データベース接続、無線、またはユーザーデバイス610にサービスを提供するための他のインタフェースを含み得る。特に、サーバー650は、ユーザーデバイス610と通信するために、無線送受信機652を含むかまたは通信可能に接続され得る。各コントローラ654は、サーバー650の送受信機652を制御し得、送受信機652は、オペレーティングシステム656および可能なユーザーレベルのアプリケーション658に接続され、それらを介して制御される。いくつかのサーバー650は、ユーザーレベルのアプリケーション658を公開せず、「ヘッドレス(headless)」サーバーとして具体化され得る。
【0052】
サーバー650はまた、UWB信号を1つまたは複数のアンテナ(図示せず)を介して送信するために使用され得るUWBコントローラハードウェア660を含む。ユーザーデバイス610はまた、UWBセッション中にUWBコントローラハードウェア660からの信号に応答するUWB制御対象ハードウェア620を含む。
【0053】
ユーザーデバイス610はまた、物理的スマートカードスロット622を含む。スマートカードスロット622は、組み込みセキュアエレメント(embedded Secure Element : eSE)スマートカードを含む複数のスマートカードタイプをサポートし得る。図6には特定の物理的スマートカードスロット622のみが示されているが、複数の物理的スマートカードスロットがデバイスに組み込まれ得ることが理解される。ユーザーデバイス610はまた、既知のスマートカード通信インタフェースを介してデータおよびアプリケーションを公開する1つ以上の仮想スマートカードスロット(図示せず)を含んでもよい。仮想スマートカードは、ユーザーデバイス610の信頼できるハードウェアモジュールを介して実装され、物理的スマートカードスロットに常に挿入されるスマートカードとしてオペレーティングシステム616から見ることができる。
【0054】
追記および例
例1は、デバイス内の複数のスマートカードスロットを検出するための方法であり、該方法は、確立されたBluetooth接続を介して、クライアントデバイスからサーバーデバイスにおいて、複数のスマートカードコネクタパラメータを受信することであって、クライアントデバイスは、複数のスマートカードスロットを有する、受信すること、複数のスマートカードスロットを反復処理すること、複数のスマートカードスロットの各スロットにおいて、各スロットにおいてアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、アプリケーションは、サーバーデバイスに事前に関連付けられている、使用すること、複数のスマートカードスロットのあるスロットにアプリケーションが存在することを識別したことに応答して、アプリケーションに接続すること、を備える。
【0055】
例2において、例1の主題は、以下を含む:複数のスマートカードコネクタパラメータは、バッファサイズを含む。
例3において、例1~2の主題は、以下を含む:複数のスマートカードコネクタパラメータは、クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む。
【0056】
例4において、例1~3の主題は、以下を含む:複数のスマートカードスロットを反復処理することは、複数のスマートカードスロットのそれぞれのスマートカードタイプを識別すること、複数のスマートカードタイプに基づいて複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、フィルタリングされた複数の結果を反復処理することを含む。
【0057】
例5において、例1~4の主題は、以下を含む:複数のスマートカードタイプは、組み込みセキュアエレメント(embedded Secure Element : eSE)およびホストカードエミュレーション(host card emulation : HCE)を含む。
【0058】
例6において、例1~5の主題は、以下を含む:複数のスマートカードスロットは、仮想スマートカードスロットを含む。
例7において、例1~6の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットを含む。
【0059】
例8において、例1~7の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードを含む。
例9において、例1~8の主題は、以下を含む:スマートカードプロトコルは、ISO/IEC7816を含む。
【0060】
例10において、例1~9の主題は、以下を含む:サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、アプリケーションは、サーバーデバイスに事前に関連付けられる。
【0061】
例11において、例1~10の主題は、以下を含む:アプリケーションは、高精度な測距アプリケーションである。
例12において、例1~11の主題は、以下を含む:アプリケーションは、超広帯域技術を実装して、測距データをサーバーデバイスに提供する。
【0062】
例13において、例1~12の主題は、アプリケーションから切断すること、アプリケーションから受信したデータを使用して超広帯域測距セッションを確立すること、を含む。
【0063】
例14は、クライアントデバイス内の複数のスマートカードスロットを検出するサーバーデバイスであり、該サーバーデバイスは、プロセッササブシステムと、複数の命令を含むメモリと、を備え、複数の命令は、プロセッササブシステムによって実行されると、複数の処理をプロセッササブシステムに実行させ、複数の処理は、確立されたBluetooth接続を介して、クライアントデバイスからサーバーデバイスにおいて、複数のスマートカードコネクタパラメータを受信することであって、クライアントデバイスは、複数のスマートカードスロットを有する、受信すること、複数のスマートカードスロットを反復処理すること、複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、アプリケーションは、サーバーデバイスに事前に関連付けられている、使用すること、複数のスマートカードスロットのあるスロットにアプリケーションが存在することを識別したことに応答して、アプリケーションに接続すること、を備える。
【0064】
例15において、例14の主題は、以下を含む:複数のスマートカードコネクタパラメータは、バッファサイズを含む。
例16において、例14~15の主題は、以下を含む:複数のスマートカードコネクタパラメータは、クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む。
【0065】
例17において、例14~16の主題は、以下を含む:複数のスマートカードスロットを反復処理することは、複数のスマートカードスロットのそれぞれのスマートカードタイプを識別すること、複数のスマートカードタイプに基づいて複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、フィルタリングされた複数の結果を反復処理することを含む。
【0066】
例18において、例17の主題は、以下を含む:複数のスマートカードタイプは、組み込みセキュアエレメント(eSE)およびホストカードエミュレーション(HCE)を含む。
【0067】
例19において、例14~18の主題は、以下を含む:複数のスマートカードスロットは、仮想スマートカードスロットを含む。
例20において、例14~19の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットを含む。
【0068】
例21では、例14~20の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードを含む。
例22において、例14~21の主題は、以下を含む:スマートカードプロトコルは、ISO/IEC7816を含む。
【0069】
例23において、例14~22の主題は、以下を含む:サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、アプリケーションは、サーバーデバイスに事前に関連付けられる。
【0070】
例24において、例14~23の主題は、以下を含む:アプリケーションは、高精度な測距アプリケーションである。
例25において、例14~24の主題は、以下を含む:アプリケーションは、超広帯域技術を実装して、測距データをサーバーデバイスに提供する。
【0071】
例26において、例14~25の主題は、以下を含む:複数の処理は、アプリケーションから切断すること、アプリケーションから受信したデータを使用して超広帯域測距セッションを確立すること、を含む。
【0072】
例27は、デバイス内の複数のスマートカードスロットを検出するための複数の命令を含む機械可読媒体であり、複数の命令は、マシンによって実行されると、複数の処理をマシンに実行させ、複数の処理は、確立されたBluetooth接続を介して、クライアントデバイスからサーバーデバイスにおいて、複数のスマートカードコネクタパラメータを受信することであって、クライアントデバイスは、複数のスマートカードスロットを有する、受信すること、複数のスマートカードスロットを反復処理すること、複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、アプリケーションは、サーバーデバイスに事前に関連付けられている、使用すること、複数のスマートカードスロットのあるスロットにアプリケーションが存在することを識別したことに応答して、アプリケーションに接続すること、を備える。
【0073】
例28において、例27の主題は、以下を含む:複数のスマートカードコネクタパラメータは、バッファサイズを含む。
例29において、例27~28の主題は、以下を含む:複数のスマートカードコネクタパラメータは、クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む。
【0074】
例30において、例27~29の主題は、以下を含む:複数のスマートカードスロットを反復処理することは、複数のスマートカードスロットのそれぞれのスマートカードタイプを識別すること、複数のスマートカードタイプに基づいて複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成すること、フィルタリングされた複数の結果を反復処理すること、を含む。
【0075】
例31において、例30の主題は、以下を含む:複数のスマートカードタイプは、組み込みセキュアエレメント(eSE)およびホストカードエミュレーション(HCE)を含む。
【0076】
例32において、例27~31の主題は、以下を含む:複数のスマートカードスロットは、仮想スマートカードスロットを含む。
例33において、例27~32の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットを含む。
【0077】
例34では、例27~33の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードを含む。
例35において、例27~34の主題は、以下を含む:スマートカードプロトコルは、ISO/IEC7816を含む。
【0078】
例36において、例27~35の主題は、以下を含む:サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、アプリケーションは、サーバーデバイスに事前に関連付けられる。
【0079】
例37において、例27~36の主題は、以下を含む:アプリケーションは、高精度な測距アプリケーションである。
例38において、例27~37の主題は、以下を含む:アプリケーションは、超広帯域技術を実装して、測距データをサーバーデバイスに提供する。
【0080】
例39において、例27~38の主題は、以下を含む:複数の処理は、アプリケーションから切断し、アプリケーションから受信したデータを使用して超広帯域測距セッションを確立することを含む。
【0081】
例40は、デバイス内の複数のスマートカードスロットを検出する機器であり、該機器は、確立されたBluetooth接続を介して、クライアントデバイスからサーバーデバイスにおいて、複数のスマートカードコネクタパラメータを受信する手段であって、クライアントデバイスは、複数のスマートカードスロットを有する、受信する手段と、複数のスマートカードスロットを反復処理する手段と、複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用する手段であって、アプリケーションは、サーバーデバイスに事前に関連付けられている、使用する手段と、複数のスマートカードスロットのあるスロットにアプリケーションが存在することを識別したことに応答して、アプリケーションに接続する手段と、を備える。
【0082】
例41において、例40の主題は、以下を含む:複数のスマートカードコネクタパラメータは、バッファサイズを含む。
例42において、例40~41の主題は、以下を含む:複数のスマートカードコネクタパラメータは、クライアントデバイスが複数の空きスロットをサポートするかどうかを示すフラグを含む。
【0083】
例43において、例40~42の主題は、以下を含む:複数のスマートカードスロットを反復処理する手段は、複数のスマートカードスロットのそれぞれのスマートカードタイプを識別する手段と、複数のスマートカードタイプに基づいて複数のスマートカードスロットをフィルタリングしてフィルタリングされた複数の結果を生成する手段と、フィルタリングされた複数の結果を反復処理する手段と、を含む。
【0084】
例44において、例43の主題は、以下を含む:複数のスマートカードタイプは、組み込みセキュアエレメント(eSE)およびホストカードエミュレーション(HCE)を含む。
【0085】
例45において、例40~44の主題は、以下を含む:複数のスマートカードスロットは、仮想スマートカードスロットを含む。
例46において、例40~45の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットを含む。
【0086】
例47において、例40~46の主題は、以下を含む:複数のスマートカードスロットは、物理的スマートカードスロットおよび仮想スマートカードを含む。
例48において、例40~47の主題は、以下を含む:スマートカードプロトコルは、ISO/IEC7816を含む。
【0087】
例49において、例40~48の主題は、以下を含む:サーバーデバイスがフィールドサービスのために最初にプロビジョニングされる場合、アプリケーションは、サーバーデバイスに事前に関連付けられる。
【0088】
例50において、例40~49の主題は、以下を含む:アプリケーションは、高精度な測距アプリケーションである。
例51において、例40~50の主題は、以下を含む:アプリケーションは、超広帯域技術を実装して、測距データをサーバーデバイスに提供する。
【0089】
例52において、例40~51の主題は、アプリケーションから切断する手段と、アプリケーションから受信したデータを使用して超広帯域測距セッションを確立する手段と、を含む。
【0090】
例53は、複数の命令を含む少なくとも1つの機械可読媒体であり、該複数の命令は、処理回路によって実行されると、複数の処理を処理回路に実行させて例1~52のいずれかを実施する。
【0091】
例54は、例1~52のいずれかを実施する手段を備える機器である。
例55は、例1~52のいずれかを実施するシステムである。
例56は、例1~52のいずれかを実施するための方法である。
【0092】
例49は、複数の命令を含む少なくとも1つの機械可読媒体であり、該複数の命令は、処理回路によって実行されると、複数の処理を処理回路に実行させて例1~48のいずれかを実施する。
【0093】
例50は、例1~48のいずれかを実施する手段を備える機器である。
例51は、例1~48のいずれかを実施するシステムである。
例52は、例1~48のいずれかを実施するための方法である。
【0094】
上記の詳細な説明は、詳細な説明の一部を形成する添付図面への参照を含む。図面は、実施されることができる所定の実施形態を例示として示す。これらの実施形態は、本明細書では「例」とも呼ぶ。こうした例は、図示又は記載したものに加えて要素を含むことができる。しかしながら、図示又は記載した複数の要素を含む複数の例が考えられる。さらに、本明細書に図示若しくは記載した特定の例(又は、その1つ若しくは複数の態様)に関して、又は他の例(又は、その1つ若しくは複数の態様)に関して、図示若しくは記載した複数の要素(又は、その1つ若しくは複数の態様)の任意の組合せ又は置換を用いる例も考えられる。
【0095】
本明細書において言及されている刊行物、特許、および特許文献は、参照により個別に組み込まれているかのように、その全体が参照により本明細書に組み込まれる。本明細書と参照により本明細書に援用されるこれらの文献との間に矛盾する使用法がある場合、援用される1つまたは複数の参照の使用法は、本明細書の使用法を補足するものであり、調整不可能な不一致については、本明細書の使用方法が制御する。
【0096】
本明細書において、「1つの(a、an)」という用語は、特許文献において一般的であるように、「少なくとも1つの」又は「1つ又は複数の」という他のいかなる例又は使用法とも無関係に、1つ又は2つ以上を含むように使用している。本明細書において、「又は」という用語は、排他的論理和を指すように使用しており、「A又はB」は、別段の指示がない限り、「AであるがBではない」、「BであるがAではない」及び「Aであり且つBである」を含む。添付の特許請求の範囲において、「含む(including)」及び「その中で(in which)」という用語は、「備える(comprising)」及び「そこで(wherein)」というそれぞれの用語の平易な英語の同義語として使用している。また、以下の特許請求の範囲において、「含む(including)」及び「備える(comprising)」という用語は、限定的ではなく(open-ended)、すなわち、ある請求項において、そうした用語の後に記載されるものに加えて要素を含むシステム、デバイス、物品、又はプロセスは、依然として、その請求項の範囲内にあるとみなされる。さらに、以下の特許請求の範囲において、「第1」、「第2」及び「第3」等の用語は、単にラベルとして使用され、それらの対象物の番号順に対して数値的な要件を示唆するようには意図されていない。
【0097】
上記説明は、限定的ではなく例示的なものであるように意図されている。たとえば、上述した例(又は、その1つ若しくは複数の態様)は、他の例に組み合わせて使用することができる。上記説明を検討した当業者等により、他の実施形態を使用することができる。要約書は、読者が本技術的開示の性質を迅速に確認することができるように提供されている。要約書は、特許請求の範囲又は意味を解釈又は限定するために使用されないと理解した上で提出される。また、上記詳細な説明において、本開示を簡素化するためにさまざまな特徴を併せてグループ化している場合がある。しかしながら、複数の実施形態は前述した複数の特徴の一部分を特徴とし得るので、特許請求の範囲は、本明細書において開示されるすべての特徴を記載しなくてもよい。さらに、複数の実施形態は、特定の例において開示されたものよりも少ない特徴を含み得る。したがって、以下の特許請求の範囲は、詳細な説明に組み込まれ、請求項は、別個の実施形態として自立している。本明細書において開示される複数の実施形態の範囲は、添付の特許請求の範囲を、こうした特許請求の範囲に権利が与えられる均等物の完全な範囲とともに参照することにより、決定されるべきである。
【要約】
デバイス内の複数のスマートカードスロットを検出することを提供するための複数のシステムおよび方法が本明細書において説明される。クライアントデバイス内の複数のスマートカードスロットを検出するサーバーデバイスは、プロセッササブシステムと、複数の命令を含むメモリと、を備えて具体化され、複数の命令は、プロセッササブシステムによって実行されると、複数の処理をプロセッササブシステムに実行させ、複数の処理は、確立されたBluetooth接続を介して、クライアントデバイスから複数のスマートカードコネクタパラメータをサーバーデバイスにおいて受信することであって、クライアントデバイスは、複数のスマートカードスロットを有する、受信すること、複数のスマートカードスロットを反復処理すること、複数のスマートカードスロットの各スロットにおいて、各スロットにおけるアプリケーションへのアクセスを試みるためにスマートカードプロトコルを使用することであって、アプリケーションは、サーバーデバイスに事前に関連付けられている、使用すること、複数のスマートカードスロットのあるスロットにアプリケーションが存在することを識別したことに応答して、アプリケーションに接続すること、を備える。
図1
図2
図3
図4
図5
図6