(57)【特許請求の範囲】
【請求項１】
ネットワーク接続をセキュア化するためのコンピュータ実施方法であって、
第1の時間において第1の逆受信信号強度インジケータを備える第1のデータを、店舗ビーコンデバイスからユーザコンピューティングデバイスによって受信するステップであって、前記第1の逆受信信号強度インジケータは、前記店舗ビーコンデバイスによって判定される、前記ユーザコンピューティングデバイスから送信された信号の受信信号強度インジケータを備える、受信するステップと、
前記第1の逆受信信号強度インジケータを備える前記第1のデータを受信することに応じて、前記第1の時間において前記ユーザコンピューティングデバイスによって、第1の受信信号強度インジケータを判定するステップであって、前記第1の受信信号強度インジケータは、前記ユーザコンピューティングデバイスによって判定される、前記店舗ビーコンデバイスから送信された信号の前記受信信号強度インジケータを備える、判定するステップと、
前記第1の受信信号強度インジケータを判定した後の第2の時間において、前記ユーザコンピューティングデバイスによって、第2の逆受信信号強度インジケータを備える第2のデータを前記店舗ビーコンデバイスから受信するステップであって、前記第2の逆受信信号強度インジケータは、前記第1の受信信号強度インジケータを判定した後の時間において、前記店舗ビーコンデバイスによって判定される、前記ユーザコンピューティングデバイスから送信された信号の前記受信信号強度インジケータを備える、受信するステップと、
前記第2の逆受信信号強度インジケータを備える前記第2のデータを受信することに応じて、前記第2の時間において前記ユーザコンピューティングデバイスによって、第2の受信信号強度インジケータを判定するステップであって、前記第2の受信信号強度インジケータは、前記ユーザコンピューティングデバイスによって判定される、前記店舗ビーコンデバイスから送信された信号の前記受信信号強度インジケータを備える、判定するステップと、
前記ユーザコンピューティングデバイスによって、前記第2の受信信号強度インジケータに対する前記第1の受信信号強度インジケータにおける変化を、前記第2の逆受信信号強度インジケータに対する前記第1の逆受信信号強度インジケータにおける変化と比較するステップと、
前記ユーザコンピューティングデバイスによって、前記受信信号強度インジケータにおける前記変化と、前記逆受信信号強度インジケータにおける前記変化との間の一致を判定するステップであって、前記一致は、比例的な大きさにおける変化を備える、判定するステップと、
前記ユーザコンピューティングデバイスによって、前記受信信号強度インジケータと、前記逆受信信号強度インジケータにおける前記変化における一致を判定することに基づいて、前記店舗ビーコンデバイスに関連付けられた店舗システムとのトランザクションを可能にするステップと
を備える、方法。
【請求項２】
前記ユーザコンピューティングデバイスによって、前記受信信号強度インジケータと前記逆受信信号強度インジケータとにおける前記変化における一致がないことを判定するステップと、
前記ユーザコンピューティングデバイスによって、前記受信信号強度インジケータと前記逆受信信号強度インジケータとにおける前記変化における一致が存在しないことを判定するステップに応じて、前記ユーザコンピューティングデバイスと前記店舗ビーコンデバイスとの間のネットワーク接続を終了させるステップと
をさらに備える、請求項1に記載の方法。
【請求項３】
前記店舗ビーコンデバイスによって、前記店舗ビーコンデバイスの動きを検出するステップと、
前記店舗ビーコンデバイスによって、前記店舗ビーコンデバイスの動きを検出するステップに応じて、前記店舗ビーコンデバイスと前記ユーザコンピューティングデバイスとの間の前記ネットワーク接続を終了させるステップと
をさらに備える、請求項1に記載の方法。
【請求項４】
前記店舗ビーコンデバイスの動きは、前記店舗ビーコンデバイスに存在する加速度計によって検出される、請求項3に記載の方法。
【請求項５】
前記第1のデータおよび前記第2のデータがさらに広告データを備える、請求項1に記載の方法。
【請求項６】
前記店舗ビーコンデバイスは、Bluetooth低エネルギービーコンデバイスである、請求項1に記載の方法。
【請求項７】
前記第1のデータおよび前記第2のデータがさらに、前記店舗ビーコンデバイスのセキュアなメモリ内に存在する秘密暗号鍵によって前記店舗ビーコンデバイスによって生成された電子署名を備え、
前記方法はさらに、
前記ユーザコンピューティングデバイスによって、前記店舗ビーコンデバイスから公開暗号鍵を受信するステップと、
前記ユーザコンピューティングデバイスによって、前記電子署名を、前記公開暗号鍵によって解読するステップと、
前記ユーザコンピューティングデバイスによって、前記電子署名が、前記ユーザコンピューティングデバイスがトランザクションをすることを意図している店舗システムに対応することを、検証するステップと
を備える、請求項1に記載の方法。
【請求項８】
コンピュータによって実行された場合、前記コンピュータに対して、ネットワーク接続をセキュア化させる、具現化されたコンピュータ読取可能なプログラム命令を有するコンピュータプログラムであって、
前記コンピュータ読取可能なプログラム命令は、
第1の時間において第1の逆受信信号強度インジケータを備える第1のデータを、店舗ビーコンデバイスから受信するためのコンピュータ読取可能なプログラム命令であって、前記第1の逆受信信号強度インジケータは、前記店舗ビーコンデバイスによって判定される、ユーザコンピューティングデバイスから送信された信号の受信信号強度インジケータを備える、コンピュータ読取可能なプログラム命令と、
前記第1の逆受信信号強度インジケータを備える前記第1のデータを受信することに応じて、前記第1の時間において第1の受信信号強度インジケータを判定するためのコンピュータ読取可能なプログラム命令であって、前記第1の受信信号強度インジケータは、前記ユーザコンピューティングデバイスによって判定される、前記店舗ビーコンデバイスから送信された信号の前記受信信号強度インジケータを備える、コンピュータ読取可能なプログラム命令と、
前記第1の受信信号強度インジケータを判定した後の第2の時間において、第2の逆受信信号強度インジケータを備える第2のデータを前記店舗ビーコンデバイスから受信するためのコンピュータ読取可能なプログラム命令であって、前記第2の逆受信信号強度インジケータは、前記第1の受信信号強度インジケータを判定した後の時間において、前記店舗ビーコンデバイスによって判定される、前記ユーザコンピューティングデバイスから送信された信号の前記受信信号強度インジケータを備える、コンピュータ読取可能なプログラム命令と、
前記第2の逆受信信号強度インジケータを備える前記第2のデータを受信することに応じて、前記第2の時間において第2の受信信号強度インジケータを判定するためのコンピュータ読取可能なプログラム命令であって、前記第2の受信信号強度インジケータは、前記ユーザコンピューティングデバイスによって判定される、前記店舗ビーコンデバイスから送信された信号の前記受信信号強度インジケータを備える、コンピュータ読取可能なプログラム命令と、
前記第2の受信信号強度インジケータに対する前記第1の受信信号強度インジケータにおける変化を、前記第2の逆受信信号強度インジケータに対する前記第1の逆受信信号強度インジケータにおける変化と比較するためのコンピュータ読取可能なプログラム命令と、
前記受信信号強度インジケータと前記逆受信信号強度インジケータとにおける前記変化における一致がないことを判定するためのコンピュータ読取可能なプログラム命令であって、前記一致は、比例的な大きさにおける変化を備える、コンピュータ読取可能なプログラム命令と、
前記受信信号強度インジケータと前記逆受信信号強度インジケータとにおける前記変化における一致がないことを判定することに応じて、前記ユーザコンピューティングデバイスと前記店舗ビーコンデバイスとの間のワイヤレスネットワーク接続を終了させるためのコンピュータ読取可能なプログラム命令と
を備える、コンピュータプログラム。
【請求項９】
前記受信信号強度インジケータにおける前記変化と、前記逆信号強度インジケータにおける前記変化との間の一致を判定するためのコンピュータ読取可能なプログラム命令と、
前記店舗ビーコンデバイスに関連付けられた店舗システムとのトランザクションを可能にするためのコンピュータ読取可能なプログラム命令であって、前記トランザクションを可能にすることは、前記受信信号強度インジケータと逆受信信号強度インジケータとにおける前記変化における前記一致を判定することに基づく、コンピュータ読取可能なプログラム命令と
をさらに備える、請求項8に記載のコンピュータプログラム。
【請求項１０】
前記ユーザコンピューティングデバイスと店舗ビーコンデバイスとの間のワイヤレスネットワーク接続を確立するためのコンピュータ読取可能なプログラム命令をさらに備える、請求項8に記載のコンピュータプログラム。
【請求項１１】
前記ユーザコンピューティングデバイスと前記店舗ビーコンデバイスとの間の前記ワイヤレスネットワーク接続を終了させる前の時間において、前記店舗ビーコンデバイスの動きの検出の通知を、前記店舗ビーコンデバイスから受信するためのコンピュータ読取可能な命令であって、前記ワイヤレスネットワーク接続を終了させることは、前記店舗ビーコンデバイスから前記通知を受信することに基づく、コンピュータ読取可能な命令をさらに備える、請求項8に記載のコンピュータプログラム。
【請求項１２】
前記店舗ビーコンデバイスの動きは、前記店舗ビーコンデバイスに存在する加速度計によって検出される、請求項11に記載のコンピュータプログラム。
【請求項１３】
前記店舗ビーコンデバイスは、Bluetooth低エネルギーデバイスである、請求項8に記載のコンピュータプログラム。
【請求項１４】
前記第1のデータおよび前記第2のデータがさらに、前記店舗ビーコンデバイスのセキュアな要素内に存在する秘密暗号鍵によって前記店舗ビーコンデバイスによって生成された電子署名を備え、
前記コンピュータ読取可能なプログラム命令はさらに、
前記店舗ビーコンデバイスから公開暗号鍵を受信するためのコンピュータ読取可能なプログラム命令と、
前記電子署名を、前記公開暗号鍵によって解読するためのコンピュータ読取可能なプログラム命令と、
前記電子署名が、前記ユーザがトランザクションをすることを意図している店舗システムに対応していることを検証するためのコンピュータ読取可能なプログラム命令と
を備える、請求項8に記載のコンピュータプログラム。
【請求項１５】
ネットワーク接続をセキュア化するためのシステムであって、
記憶デバイスと、
前記記憶デバイスに通信可能に結合されたプロセッサと
を備え、前記プロセッサは、前記システムに対して、
第1の時間において前記システムと店舗ビーコンデバイスとの間の距離を示す第1のインジケーションを、前記店舗ビーコンデバイスから受信させ、距離を示す前記第1のインジケーションは、前記店舗ビーコンデバイスによって判定されており、
前記第1の時間において、前記システムと前記店舗ビーコンデバイスとの間の距離を示す第2のインジケーションを判定させ、
距離を示す前記第2のインジケーションを判定した後の第2の時間において、前記システムと前記店舗ビーコンデバイスとの間の距離を示す第3のインジケーションを受信させ、距離を示す前記第3のインジケーションは、前記システムが、距離を示す前記第2のインジケーションを判定した後の時間において、前記店舗ビーコンデバイスによって判定されており、
前記第2の時間において、前記システムと前記店舗ビーコンデバイスとの間の距離を示す第4のインジケーションを判定させ、
距離を示す前記第1および第3のインジケーションにおける変化が、距離を示す前記第2および第4のインジケーションにおける変化に比例しているか否かを判定させ、
距離を示す前記第1および第3のインジケーションにおける前記変化が、距離を示す前記第2および第4のインジケーションにおける前記変化に比例していると判定することに応じて、前記店舗ビーコンデバイスに関連付けられた店舗システムとのトランザクションを可能にさせる、
前記記憶デバイスに記憶されたアプリケーションコード命令を実行する、システム。
【請求項１６】
距離を示す前記インジケーションは、受信信号強度インジケータ、自由空間伝搬損失、受信チャネル電力インジケータ、到着時間、または往復時間である、請求項15に記載のシステム。
【請求項１７】
前記プロセッサはさらに、前記システムに対して、前記システムと前記店舗ビーコンデバイスとの間のワイヤレスネットワーク接続を確立させる、前記記憶デバイスに記憶されたコンピュータ実行可能な命令を実行するように構成された、請求項15に記載のシステム。
【請求項１８】
前記プロセッサはさらに、前記システムに対して、
距離を示す前記第1および第3のインジケーションにおける前記変化が、距離を示す前記第2および第4のインジケーションにおける前記変化に比例していないことを判定させ、
距離を示す前記第1および第3のインジケーションにおける前記変化が、距離を示す前記第2および第4のインジケーションにおける前記変化に比例していないことを判定することに応じて、前記システムと前記店舗ビーコンデバイスとの間のワイヤレスネットワーク接続を終了させる、
前記記憶デバイスに記憶されたコンピュータ実行可能な命令を実行するように構成された、請求項15に記載のシステム。
【請求項１９】
前記プロセッサはさらに、前記システムに対して、
前記店舗ビーコンデバイスから、前記店舗ビーコンデバイスの動きの検出の通知を受信させ、
前記店舗ビーコンデバイスから前記通知を受信することに応じて、前記システムと前記店舗ビーコンデバイスとの間のワイヤレスネットワーク接続を終了させる、
前記記憶デバイスに記憶されたコンピュータ実行可能な命令を実行するように構成された、請求項15に記載のシステム。
【請求項２０】
前記店舗ビーコンデバイスは、Bluetooth低エネルギービーコンデバイスである、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本特許出願は、2014年5月13日に出願され「Verifying a Secure Connection between a Network Beacon and a User Computing Device」と題された米国特許出願第61/992,855号に対する米国特許法第119条の下における優先権を主張する。上に特定された出願の全体内容は、参照によって本明細書に完全に組み込まれる。
【０００２】
本開示は、一般に、ワイヤレスネットワーク接続に関し、さらに詳しくは、ワイヤレスネットワーク接続をセキュア化することに関する。
【背景技術】
【０００３】
Bluetooth(登録商標)低エネルギービーコンのようなワイヤレスビーコンは、店舗が、店舗場所にインストールでき得る安価なデバイスである。ワイヤレスビーコンは、信号範囲内にあるスマートフォンおよびタブレットのようなユーザコンピューティングデバイスへ、広告(「ADV」)パケットを通信し得る。ワイヤレスビーコンは、販売時点情報管理(「POS」)端末の近傍またはその中の店舗システムに配置され得る。ワイヤレスビーコンとのネットワーク接続の確立は、ユーザコンピューティングデバイスが店舗POS端末の近傍にあることをユーザコンピューティングデバイスへ示し得る。ユーザコンピューティングデバイスは、ユーザコンピューティングデバイスがPOS端末の近傍にある場合、ユーザ金融口座情報の転送となるトランザクションを可能にするように構成され得る。
【０００４】
いくつかの状況では、ワイヤレスビーコンとユーザコンピューティングデバイスとの間のネットワーク接続は、セキュアでなければならない。たとえば、ユーザコンピューティングデバイスが実際にはPOS端末の近傍になくてもPOS端末の近傍にあると判定して、ユーザコンピューティングデバイスがトランザクションを可能にするように、サードパーティがワイヤレスビーコンを移動させ得る。別の例では、ワイヤレスビーコンを移動させることは、ドアロックアプリケーションのセキュリティを危険に曝し得る。それに加えて、ユーザ金融口座情報は、ワイヤレスビーコンを移動させワイヤレスビーコンをサードパーティデバイスと交換するサードパーティによって、危険に曝され得る。サードパーティは、ワイヤレスビーコンとユーザコンピューティングデバイスとの間の通信の傍受および再送信を行う。
【０００５】
従来技術は、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のネットワーク接続のセキュリティを判定しない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書における技法は、他のデバイスによって測定されたような、各デバイスの受信信号強度インジケータ(「RSSI」)値の間の経時的な一致を判定することによって、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のネットワーク接続のセキュリティを判定するためのコンピュータ実施方法を提供する。例示的な実施形態では、店舗ビーコンデバイスは、ユーザコンピューティングデバイスとのネットワーク接続を確立する。店舗ビーコンデバイスは、ユーザコンピューティングデバイスのRSSI(「逆RSSI」)を判定し、逆RSSIを備えるデータパケットをユーザコンピューティングデバイスへ送信する。ユーザコンピューティングデバイスは、店舗ビーコンデバイスのRSSIを判定し、店舗ビーコンデバイスのRSSIを逆RSSIとペアにし、RSSIデータペアを保存する。その後、店舗ビーコンデバイスが、後続する逆RSSIを判定し、後続する逆RSSIを備える後続するデータパケットをユーザコンピューティングデバイスへ送信する。ユーザコンピューティングデバイスは、店舗ビーコンデバイスの後続するRSSIを判定し、店舗ビーコンデバイスの後続するRSSIを、後続する逆RSSIとペアにし、後続するRSSIデータペアを保存する。ユーザコンピューティングデバイスは、RSSIデータペアおよび後続するRSSIデータペアの、RSSI値および逆RSSI値の変化に一致が存在するか否かを判定する。一致が存在するのであれば、ユーザコンピューティングデバイスは、このネットワークがセキュアであると判定し、店舗ビーコンデバイスに関連付けられたユーザコンピューティングデバイスと店舗システムとの間のトランザクションを可能にする。一致が存在しないのであれば、ユーザコンピューティングデバイスは、このネットワークが非セキュアであると判定し、ネットワーク接続を終了させる。
【０００７】
本明細書において説明された他のいくつかの態様では、他のデバイスによって測定されたような、各デバイスのRSSI値間の経時的な一致を判定することによって、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のネットワーク接続のセキュリティを判定するためのシステムおよびコンピュータプログラム製品が提供される。
【０００８】
例示的な実施形態のこれらおよび他の態様、目的、特徴、および利点は、例示された例示的な実施形態の以下の詳細説明を考慮して、当業者に明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】いくつかの例示的な実施形態に従って、ワイヤレスネットワーク接続のセキュリティを判定するためのシステムを描写するブロック図である。
【図２】いくつかの例示的な実施形態に従って、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のワイヤレスネットワーク接続のセキュリティを判定するための方法を描写するブロックフロー図である。
【図３】いくつかの例示的な実施形態に従って、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のネットワーク接続を確立するための方法を描写するブロックフロー図である。
【図４】いくつかの例示的な実施形態に従って、ユーザコンピューティングデバイスと店舗ビーコンデバイスのRSSIをペアにするための方法を描写するブロックフロー図である。
【図５】いくつかの例示的な実施形態に従って、RSSIデータペアの一致に基づいて、ネットワーク接続がセキュアであると判定するための方法を描写するブロックフロー図である。
【図６】いくつかの例示的な実施形態に従って、コンピューティングマシンおよびモジュールを描写するブロック図である。
【発明を実施するための形態】
【００１０】
概要
本明細書で説明される例示的な実施形態は、各デバイスの経時的な受信信号強度インジケータ(「RSSI」)を相関付けることによって、店舗ビーコンデバイスとユーザコンピューティングデバイスとの間のネットワーク接続のセキュリティを判定するためのコンピュータ実施技法を提供する。例示的な実施形態では、店舗ビーコンデバイスは、ユーザコンピューティングデバイスとのネットワーク接続を確立する。店舗ビーコンデバイスは、ユーザコンピューティングデバイスの受信信号強度インジケータ(「逆RSSI」)を判定し、逆RSSIを備えるデータパケットを、ユーザコンピューティングデバイスへ送信する。ユーザコンピューティングデバイスは、店舗ビーコンデバイスのRSSIを判定し、店舗ビーコンデバイスのRSSIを逆RSSIとペアにし、RSSIデータペアを保存する。その後、店舗ビーコンデバイスは、後続する逆RSSIを判定し、後続する逆RSSIを備える後続するデータパケットを、ユーザコンピューティングデバイスへ送信する。ユーザコンピューティングデバイスは、店舗ビーコンデバイスの後続するRSSIを判定し、店舗ビーコンデバイスの後続するRSSIを、後続する逆RSSIとペアにし、後続するRSSIデータペアを保存する。ユーザコンピューティングデバイスは、最も直近の2つのRSSIデータペアのRSSI値と逆RSSI値との変化に一致が存在するか否かを判定する。一致が存在するのであれば、ユーザコンピューティングデバイスは、このネットワークがセキュアであると判定し、ユーザコンピューティングデバイスと、店舗ビーコンデバイスに関連付けられた店舗システムとの間のトランザクションを可能にする。一致が存在しないのであれば、ユーザコンピューティングデバイスは、ネットワークが非セキュアであると判定し、ネットワーク接続を終了させるか、または、他の任意の適切な動作を実行する。
【００１１】
例示的な実施形態では、店舗ビーコンデバイスおよびユーザコンピューティングデバイスは、ネットワーク接続を確立する。たとえば、ネットワーク接続は、Bluetooth、Bluetooth低エネルギー、Wi-Fi、または他の適切なネットワーク接続を備える。例示的な実施形態では、ユーザコンピューティングデバイスおよび店舗ビーコンデバイスは、プローブ要求を交換する。たとえば、店舗ビーコンデバイスは、ユーザコンピューティングデバイスへネットワーク接続要求を送信する。また、ユーザコンピューティングデバイスは、ネットワーク接続要求を受諾し、ネットワーク接続を確立する。
【００１２】
例示的な実施形態では、店舗ビーコンデバイスは、ユーザコンピューティングデバイスのRSSI(「逆RSSI」)を判定する。たとえば、RSSIは、別のデバイスからの受信信号の強度の測定値である。店舗ビーコンデバイスは、逆RSSIを備えるデータを、ユーザコンピューティングデバイスへ送信する。たとえば、店舗ビーコンデバイスは、逆RSSIを備える広告データパケット(「ADVパケット」)を、ユーザコンピューティングデバイスへ送信する。ユーザコンピューティングデバイスは、逆RSSIを備えるデータを受信する。ユーザコンピューティングデバイスは、店舗ビーコンデバイスのRSSIを判定する。
【００１３】
例示的な実施形態では、ユーザコンピューティングデバイスは、店舗ビーコンデバイスのRSSIを、逆RSSIとペアにし、RSSIデータペアを保存する。例示的な実施形態では、RSSIデータペアは、店舗ビーコンデバイスのRSSIが判定された時間を備える。1つよりも多くの保存されたRSSIデータペアが存在するのであれば、ユーザコンピューティングデバイスは、ネットワーク接続がセキュアであるか否かを判定する。1つよりも多くの保存されたRSSIデータペアが存在しないのであれば、ユーザコンピューティングデバイスは、その後、店舗ビーコンデバイスから、後続する逆RSSIを受信し、店舗ビーコンデバイスの後続するRSSIを検出し、後続する逆RSSIと、店舗ビーコンデバイスの後続するRSSIとをペアにし、後続するRSSIデータペアを保存する。
【００１４】
ユーザコンピューティングデバイスは、ネットワーク接続がセキュアであるか否かを判定する。ユーザコンピューティングデバイスは、最も直近の2つのRSSIデータペアを抽出し、RSSIデータペア間に一致が存在するか否かを判定する。例では、最も直近の2つのRSSIデータペアが、時間Aおよび時間Bにおいて、ペアとされ保存された。例では、逆RSSIが、時間Aに対して時間Bにおいて増加した場合、時間Aに対する時間BにおけるRSSIにおける増加が、データペアから判定される。この例では、2つのRSSIデータペア間の一致は、時間Aと時間Bとの間の逆RSSIにおける増加に比例したRSSIの増加を備えるであろう。別の例では、逆RSSIが、時間Bにおいて、時間Aであった時と同じであれば、時間Aから時間BへのRSSIの安定性が判定される。この例では、2つのRSSIデータペア間の一致は、時間Aと時間Bとの間におけるRSSIにおける安定性、または、測定誤差のマージン内、または、設定されたしきい値未満での小さな変化を備えるであろう。最も直近の2つ以上のRSSIデータペア間の一致がないのであれば、ユーザコンピューティングデバイスは、ネットワーク接続が非セキュアであると判定し、ネットワーク接続を終了させる。最も直近の2つ以上のRSSIデータペア間に一致が存在するのであれば、ユーザコンピューティングデバイスは、ネットワーク接続がセキュアであると判定し、店舗ビーコンデバイスに関連付けられた店舗システムとのトランザクションを可能にし得る。たとえば、ユーザコンピューティングデバイスは、設定を備え、店舗システムとのトランザクションは、ユーザコンピューティングデバイスが、店舗システムに関連付けられた店舗ビーコンデバイスとのセキュアなネットワーク接続にある場合にのみ可能とされる。
【００１５】
いくつかの例実施形態では、RSSIデータペアはさらに、ユーザコンピューティングデバイスに存在する加速度計によって記録された動きデータに相当する。たとえば、加速度計は、第1のRSSIがユーザコンピューティングデバイスによって判定された時間と、第2の逆RSSIが店舗ビーコンデバイスによって判定された時間との間のユーザコンピューティングデバイスの動きを検出し得る。ネットワーク接続がセキュアであれば、ユーザコンピューティングデバイスの位置および動きの方向における検出されたあらゆる変化は、最も直近に記録された2つ以上のRSSIデータペア間のRSSI値および逆RSSI値における変化に相当するべきである。例示的な実施形態では、ユーザコンピューティングデバイスは、加速度計の検出された動きが、最も直近に記録された2つ以上のRSSIデータペア間のRSSI値および逆RSSI値における変化に相当するか否かを判定する。
【００１６】
いくつかの例示的な実施形態では、店舗ビーコンによってユーザコンピューティングデバイスへ送信された逆RSSIを備えるデータはさらに、秘密鍵によって生成された、暗号化された電子署名を備える。ユーザコンピューティングデバイスはさらに、店舗ビーコンデバイスが店舗システムに関連付けられていることを検証するために、公開鍵を使用して電子署名を解読することによって、店舗ビーコンデバイスの正当性を検証し得る。例示的な実施形態では、ネットワーク接続が確立された場合、ユーザコンピューティングデバイスは、電子証明書の一部として、店舗ビーコンデバイスから公開鍵を受信する。ユーザコンピューティングデバイスは、電子署名が、ユーザがトランザクションをするつもりである店舗システムに関連付けられていないとの判定に基づいて、店舗ビーコンデバイスとのネットワーク接続を終了させ得る。
【００１７】
例示的な実施形態では、ネットワーク接続がセキュアであり、ユーザコンピューティングデバイスが、店舗システムとのトランザクションに参加しないのであれば、ネットワーク接続は、設定された期間または無期限に維持され得る。この例示的な実施形態では、ユーザコンピューティングデバイスは、後続する逆RSSIを店舗ビーコンデバイスから受信し、店舗ビーコンデバイスの後続するRSSIを判定し、後続するRSSIを、後続する逆RSSIとペアにし、後続するRSSIデータペアを保存し、最も直近の2つ以上のRSSIデータペアを抽出し、最も直近の2つ以上のRSSIデータペアが対応しているか否かを判定することによって、ネットワーク接続のセキュリティを定期的に検証し得る。例では、ネットワーク接続がセキュアであると判定されると、ネットワーク接続は、ユーザが、ユーザコンピューティングデバイスにおいてネットワーク接続を終了させることを選択することによって、または、ユーザコンピューティングデバイスが、ネットワークを維持するために必要な店舗ビーコンとの必要な近隣から離れた場合、ユーザコンピューティングデバイス設定に基づいて、ユーザコンピューティングデバイスによってやはり終了され得る。
【００１８】
例示的なシステムアーキテクチャ
次に、同一の付番が図面を通じて同様な(必ずしも同一である必要はない)要素を示す図面を参照して、例示的な実施形態が詳細に説明される。
【００１９】
図1は、いくつかの例示的な実施形態に従って、ワイヤレスネットワーク接続のセキュリティを判定するためのシステム100を描写するブロック図である。図1に描写されるように、システム100は、1つまたは複数のネットワーク120を介して互いと通信するように構成されたネットワークコンピューティングデバイス110および130を含む。いくつかの実施形態では、デバイスに関連付けられたユーザは、本明細書で説明された技法の利点を取得するために、アプリケーションをインストールし、および/または、特徴選択をしなければならない。
【００２０】
たとえば、ネットワーク120は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、イントラネット、インターネット、ストレージエリアネットワーク(「SAN」)、パーソナルエリアネットワーク(「PAN」)、都市規模ネットワーク(「MAN」)、ワイヤレスローカルエリアネットワーク(「WLAN」)、仮想プライベートネットワーク(「VPN」)、セルラーまたは他のモバイル通信ネットワーク、Bluetooth、Bluetooth低エネルギー、NFC、または、これら任意の組合せ、または、信号、データ、および/または、メッセージの通信を容易にするとともに、受信信号強度インジケータ(「RSSI」)の測定、または、自由空間伝搬損失、受信チャネル電力インジケータ(「RCPI」)、到着時間(「TOA」)、および/または、往復時間(「RTT」)のような他の類似の測定を可能にするその他任意の適切なアーキテクチャまたはシステムを含み得る。例示的な実施形態の議論を通じて、「データ」および「情報」という用語は、本明細書では、テキスト、画像、オーディオ、ビデオ、または、コンピュータベースの環境において存在し得る他の任意の形式の情報を称するために置換可能に使用されることが理解されるべきである。
【００２１】
各ネットワークコンピューティングデバイス110および130は、ネットワーク120を介してデータを送信および受信することが可能な通信モジュールを有するデバイスを含む。たとえば、各ネットワークコンピューティングデバイス110および130は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、中に組み込まれた、および/または、結合された1つまたは複数のプロセッサを備えたテレビ、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末(「PDA」)、または他の任意のワイヤードまたはワイヤレスのプロセッサ駆動デバイスを含み得る。図1に描写された例示的な実施形態では、ネットワークコンピュータデバイス110および130は、ユーザ101および店舗システムオペレータによってそれぞれ操作される。
【００２２】
例示的なユーザコンピューティングデバイス110は、ユーザインターフェース111、データ記憶ユニット112、アンテナ113、アプリケーション114、コントローラ115、通信アプリケーション116、ウェブブラウザ117、および支払アプリケーション118を備える。例示的な実施形態では、ユーザインターフェース111は、ユーザ101が、アプリケーション114、ウェブブラウザ117、および/または、支払アプリケーション118とインタラクトすることを可能にする。たとえば、たとえばユーザ101が、入力を提供し、ユーザコンピューティングデバイス110上のアプリケーションまたはモジュールからの出力を受信することを可能にするタッチスクリーン、音声ベースのインターフェース、または他の任意のインターフェースであり得る。例示的な実施形態では、ユーザ101は、ユーザインターフェース111を介して、店舗ビーコンデバイス130とのネットワーク120接続を受諾または拒否するためにアプリケーション114と、または、店舗システムとのトランザクションを開始または確認するために支払アプリケーション118またはウェブブラウザ117とインタラクトする。
【００２３】
例示的な実施形態では、データ記憶ユニット112は、情報を記憶するために適切なユーザコンピューティングデバイス110にアクセス可能なローカルまたは遠隔のデータ記憶構造を備える。例示的な実施形態では、データ記憶ユニット112は、HTML5ローカルストレージのような暗号化された情報を記憶する。例示的な実施形態では、データ記憶ユニット112は、店舗ビーコンデバイス130から受信した逆RSSI値と、ユーザコンピューティングデバイス110によって後続的に判定される店舗ビーコンデバイス130のRSSI値とを備えるRSSIデータペアを記憶する。この例示的な実施形態では、逆RSSIは、店舗ビーコンデバイス130によって判定されるようなユーザコンピューティングデバイス110のRSSIである。例示的な実施形態では、データ記憶ユニット112は、アプリケーション114および/または支払アプリケーション118によってアクセス可能である。
【００２４】
例示的な実施形態では、アプリケーション114は、プログラム、機能、ルーチン、アプレット、または、ユーザコンピューティングデバイス110に存在し、ユーザコンピューティングデバイス110においてその動作を実行する類似のエンティティである。いくつかの実施形態では、ユーザ101は、本明細書で説明された技法の利点を得るために、アプリケーション114をインストールする必要があるか、および/または、ユーザコンピューティングデバイス110において特徴選択をする必要がある。例示的な実施形態では、ユーザ101は、ユーザインターフェース111を介してユーザコンピューティングデバイス110におけるアプリケーション114にアクセスし得る。例示的な実施形態では、アプリケーション114は、ネットワーク120デバイスが、ユーザコンピューティングデバイス110がネットワーク120接続を確立し得る近隣内で利用可能であるか否かを判定するために、アンテナ113を通じてコントローラ115を介してプローブ要求を送信および受信し得る。例示的な実施形態では、アプリケーション114は、ユーザコンピューティングデバイス110と店舗ビーコンデバイス130との間のネットワーク120接続を確立するための要求を、店舗ビーコンデバイス130から受信する。この例示的な実施形態では、アプリケーション114は、ネットワーク120接続を確立するために、ユーザ101確認を要求し、受信し得る。別の例示的な実施形態では、ユーザ101は、アプリケーション114が、店舗ビーコンデバイス130とのネットワーク接続を自動的に確立することを可能にするために、アプリケーション114および/またはユーザコンピューティングデバイス110の設定を構成する。例示的な実施形態では、アプリケーション114は、無線周波数(「RF」)アンテナ113を通じて店舗ビーコンデバイス130とのネットワーク120接続を確立するために、コントローラ115と通信する。別の例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130とのネットワーク120接続を確立する要求を、店舗ビーコンデバイス130へ送信する。
【００２５】
例示的な実施形態では、アプリケーション114は、店舗ビーコンデバイス130から逆RSSI値を定期的に受信し、店舗ビーコンデバイス130の対応するRSSI値を後続的に判定し、各逆RSSIおよび対応するRSSIを、RSSIデータペアに保存し、最も直近の2つのRSSIデータペアにおけるRSSI値と逆RSSI値とにおける変化に一致が存在するか否かを判定することによって、ネットワーク120のセキュリティを保証する。別の例示的な実施形態では、アプリケーション114は、ネットワーク120接続を介して店舗ビーコンデバイス130から、エンコードされた電子署名を受信する。この例示的な実施形態では、アプリケーション114は、店舗ビーコンデバイス130から受信された公開鍵によって電子署名を解読し、電子署名を、店舗ビーコンデバイス130に関連付けられた店舗システムに属するとして検証する。例示的な実施形態では、アプリケーション114は、たとえば、最も直近の2つのRSSIデータペアにおけるRSSI値と逆RSSI値とにおける変化に一致がないとの判定、または、受信された電子署名が公開鍵によって解読可能ではないか、または、店舗ビーコンデバイス130に関連付けられた店舗システムに関連していないとの判定のように、アプリケーション114が、1つまたは複数の基準に基づいて、ネットワーク120接続が非セキュアであると判定すると、ネットワーク120接続を終了させ得る。
【００２６】
いくつかの例示的な実施形態では、アプリケーション114によって実行されるとして本明細書において説明された1つまたは複数の機能はまた、支払アプリケーション118によって実行され得る。いくつかの例示的な実施形態では、アプリケーション114に実行されるとして本明細書において説明された1つまたは複数の機能はまた、ユーザコンピューティングデバイス110オペレーティングシステムによって実行され得る。
【００２７】
例示的な実施形態では、コントローラ115は、アプリケーション114(および/または支払アプリケーション118)と通信し、ネットワーク120を介してデータを送信および受信することが可能である。例示的な実施形態では、コントローラ115は、ネットワーク120を生成するために、RFアンテナ113を活性化する。例示的な実施形態では、コントローラ115は、Bluetooth低エネルギーリンクコントローラ、Bluetoothリンクコントローラ、Wi-Fiコントローラ、または、本明細書において説明された方法を実行するために適切な他の任意のワイヤレスネットワーク120コントローラである。例示的な実施形態では、コントローラ115は、アンテナ113を通じて無線信号をポールするか、または、店舗ビーコンデバイス130からの無線信号を求めてリッスンする。
【００２８】
例示的な実施形態では、ユーザ101は、分散ネットワーク120を介してドキュメントまたはウェブページを閲覧、ダウンロード、アップロード、または、さもなければアクセスするために、ウェブブラウザ117アプリケーションまたはスタンドアロンアプリケーション114のような通信アプリケーション116を使用し得る。
【００２９】
例示的な実施形態では、通信アプリケーション116は、ウェブサーバと、または、ユーザコンピューティングデバイス110と、店舗ビーコンデバイス130に関連付けられた店舗システムのウェブサーバとを含む、ネットワーク120に接続された他のコンピューティングデバイスとインタラクトし得る。
【００３０】
例示的な実施形態では、ウェブブラウザ117は、ユーザ101が、ユーザコンピューティングデバイス110を使用してウェブページとインタラクトすることを有効にし得る。例示的な実施形態では、ユーザ101は、ウェブブラウザ117上の支払アプリケーションによって、店舗ビーコンデバイス130に関連付けられた店舗システムとのトランザクションを開始する。別の例示的な実施形態では、ユーザ101は、ウェブブラウザ117を介して店舗システムから、トランザクションを求める要求を受信する。この例示的な実施形態では、ユーザ101は、ユーザインターフェース111を介して、ウェブブラウザ117内のオブジェクトを選択することによって、トランザクションを許可または拒否するための選択を行い得る。
【００３１】
例示的な実施形態では、支払アプリケーション118は、プログラム、機能、ルーチン、アプレット、または、ユーザコンピューティングデバイス110に存在し、ユーザコンピューティングデバイス110における動作を実行する類似のエンティティである。いくつかの実施形態では、ユーザ101は、本明細書で説明された技法の利点を得るために、支払アプリケーション118をインストールする必要があるか、および/または、ユーザコンピューティングデバイス110において特徴選択をする必要がある。例示的な実施形態では、ユーザ101は、ユーザインターフェース111を介してユーザコンピューティングデバイス110上の支払アプリケーション118にアクセスし得る。例示的な実施形態では、ユーザ101は、支払アプリケーション118を介して、店舗システムとのトランザクションを開始し得るか、および/または、ネットワーク120を介して、店舗システムから、トランザクションを開始するための要求を受信し得る。いくつかの例示的な実施形態では、アプリケーション114によって実行されるものとして本明細書で説明された1つまたは複数の機能が、支払アプリケーション118によって実行され得る。
【００３２】
例示的な実施形態では、ユーザコンピューティングデバイス110は、ネットワーク120を介してアンテナ113を通じて店舗ビーコンデバイス130と通信する。例示的な実施形態では、アンテナ113は、無線周波数(「RF」)アンテナである。
【００３３】
例示的な店舗ビーコンデバイス130は、アプリケーション131、データ記憶ユニット132、コントローラ133、アンテナ135、加速度計137、およびセキュアな要素139を備える。例示的な実施形態では、店舗ビーコンデバイス130は、店舗システムに関連付けられる。この例示的な実施形態では、店舗システム(図示せず)は、店舗ビーコンデバイス130を構成し、店舗システムに関連付けられた物理的な場所に店舗ビーコンデバイス130を配置する。たとえば、店舗システムは、店舗システム場所において、店舗システムに関連付けられた販売時点情報管理(「POS」)端末の近傍またはこの端末内に、店舗ビーコンデバイス130を配置し得る。この例では、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130とのネットワーク120接続を確立し、この接続がセキュアであると判定した場合に、ユーザコンピューティングデバイス110は、店舗システムとの金融トランザクションを可能にし得る。
【００３４】
別の例示的な実施形態では、店舗ビーコンデバイス130は、店舗システムに関連付けられていない。たとえば、店舗ビーコンデバイス130は、セキュリティシステムに関連付けられ得るか、または、ユーザコンピューティングデバイス110に関連付けられたユーザによる個人的な使用のためであり得る。この例示的な実施形態では、適切なシステムまたはユーザは、店舗ビーコンデバイス130を構成し、店舗ビーコンデバイス130の目的に従って物理的な場所に店舗ビーコンデバイス130を配置する。たとえば、店舗ビーコンデバイス130がセキュアなネットワーク接続を有しているとユーザコンピューティングデバイス110が判定した場合に、ドアが解錠されるように、店舗ビーコンデバイス130は、ドアの近傍に配置される。
【００３５】
例示的な実施形態では、アプリケーション131は、プログラム、機能、ルーチン、アプレット、または、店舗ビーコンデバイス130に存在し、店舗ビーコンデバイス130においてその動作を実行する類似のエンティティである。いくつかの実施形態では、店舗ビーコンデバイス130に関連付けられた店舗システムオペレータは、本明細書で説明された技法の利点を得るために、アプリケーション131をインストールする必要があるか、および/または、店舗ビーコンデバイス130において特徴選択をする必要がある。例示的な実施形態では、店舗システムオペレータは、ユーザインターフェース(描写されず)を介して店舗ビーコンデバイス130上のアプリケーション131にアクセスし得る。例示的な実施形態では、アプリケーション131は、セキュアな要素139と通信する。例示的な実施形態では、アプリケーション131は、セキュアな要素139内の店舗ビーコンデバイス131に存在する。例示的な実施形態では、アプリケーション131は店舗ビーコンデバイス130がネットワーク120接続を確立し得る近隣内にユーザコンピューティングデバイス110が存在するか否かを判定するために、アンテナ135を通じてコントローラ133を介してプローブ要求を送信および受信し得る。例示的な実施形態では、アプリケーション131は、ユーザコンピューティングデバイス110から、ネットワーク120接続を確立する要求を受信し得る。この例示的な実施形態では、アプリケーション131は、ネットワーク120接続を確立する要求を受信することに応じて、ネットワーク120接続を確立し得る。別の例示的な実施形態では、アプリケーション131は、ユーザコンピューティングデバイス110へネットワーク120接続を確立する要求を送信し得る。
【００３６】
例示的な実施形態では、店舗ビーコンデバイス130が移動されたか否かを判定するために、アプリケーション131は加速度計137と通信する。この例示的な実施形態では、アプリケーション131は、店舗ビーコンデバイス130が移動されたと判定すると、アプリケーション131は、ネットワーク接続を終了させ得る。
【００３７】
例示的な実施形態では、アプリケーション131は、店舗ビーコンデバイス130がネットワーク120接続を確立したユーザコンピューティングデバイス120の逆受信信号強度インジケータ(「逆RSSI」)を定期的に判定し得る。例示的な実施形態では、アプリケーション131は、1つまたは複数の逆RSSI値を記憶するデータ記憶ユニット132と通信する。例示的な実施形態では、アプリケーション131は、逆RSSIを備えるデータを、ネットワーク120を介してユーザコンピューティングデバイス110へ送信する。この例示的な実施形態では、アプリケーション131は、後続する逆RSSIを備える送信データを、ユーザコンピューティングデバイス110へ定期的に送信し得る。この例示的な実施形態では、逆RSSIを備えるデータ、または、後続する任意の逆RSSIを備えるデータはさらに、広告データおよび電子署名を備え得る。例示的な実施形態では、アプリケーション131は、逆RSSIを備えるデータで送信する電子署名を生成するために、秘密鍵を備えるセキュアな要素139と通信する。
【００３８】
例示的な実施形態では、データ記憶ユニット132は、情報を記憶するために適切な、店舗ビーコンデバイス130へアクセス可能なローカルまたは遠隔のデータ記憶構造を備える。例示的な実施形態では、データ記憶ユニット132は、HTML5ローカルストレージのような暗号化された情報を記憶する。例示的な実施形態では、データ記憶ユニット132は、店舗ビーコンデバイス130によって判定された1つまたは複数の逆RSSI値を記憶する。たとえば、逆RSSIは、店舗ビーコンデバイス130によって判定されたようなユーザコンピューティングデバイス110のRSSIである。
【００３９】
例示的な実施形態では、コントローラ133は、アプリケーション131と通信し、ネットワーク120を介してデータを送信および受信することが可能である。例示的な実施形態では、コントローラ133は、ネットワーク120を生成するために、アンテナ135を活性化する。例示的な実施形態では、コントローラ133は、Bluetooth低エネルギーリンクコントローラ、Bluetoothリンクコントローラ、Wi-Fiコントローラ、または、本明細書において説明された方法を実行するために適切な他の任意のワイヤレスネットワーク120コントローラである。例示的な実施形態では、コントローラ133は、アンテナ135を通じて無線信号をポールするか、または、ユーザコンピューティングデバイス110からの無線信号を求めてリッスンする。
【００４０】
例示的な実施形態では、加速度計137は、店舗ビーコンデバイス130のあらゆる動きを検出することが可能である。例示的な実施形態では、加速度計137は、店舗ビーコンデバイス130の物理的な動きを検出し、アプリケーション131と通信する。
【００４１】
例示的な実施形態では、セキュアな要素139は、逆RSSIを備えるデータで送信される電子署名を生成するために使用される秘密鍵を備える。例示的な実施形態では、アプリケーション131は、セキュアな要素139に存在する。
【００４２】
例示的な実施形態では、店舗ビーコンデバイス130は、アンテナ135を通じてユーザコンピューティングデバイス110と通信する。例示的な実施形態では、アンテナ135は、無線周波数(「RF」)アンテナである。
【００４３】
図示されるネットワーク接続は、例であり、コンピュータとデバイスとの間の通信リンクを確立する他の手段が使用され得ることが認識されるであろう。さらに、本開示の利益を有する当業者は、図1に例示されたユーザコンピューティング110および店舗ビーコンデバイス130は、他のいくつかの適切なコンピューティングシステム構成のいずれかを有し得ることを認識するであろう。たとえば、モバイル電話またはハンドヘルドコンピュータとして具現されるユーザコンピューティングデバイス110は、上に説明されたすべての構成要素を含むことも含まないこともあり得る。
【００４４】
例示的な実施形態では、ネットワークコンピューティングデバイスと、本明細書において提示された技術に関連付けられた他の任意のコンピューティングマシンとは、限定されないが、図6に関してより詳細に議論されるような任意のタイプのコンピューティングマシンであり得る。さらにまた、本明細書で説明されたモジュール、または、本明細書で提示された技術に関連付けられた他の任意のモジュール(スクリプト、ウェブコンテンツ、ソフトウェア、ファームウェア、またはハードウェア)のようなこれらコンピューティングマシンのいずれかに関連付けられた任意のモジュールは、図6に関してより詳細に議論されたモジュールのうちのいずれかであり得る。本明細書で議論されたコンピューティングマシンは、ネットワーク120のような1つまたは複数のネットワークを介して、互いにのみならず、他のコンピュータマシンまたは通信システムとも通信し得る。ネットワーク120は、任意のタイプのデータ、または、図6に関して議論されたネットワーク技術のいずれかを含む通信ネットワークを含み得る。
【００４５】
例示的な処理
図2〜図5に例示された例示的な方法が、例示的なオペレーティング環境100の構成要素に関して以下に説明される。図2〜図5の例示的な方法はまた、他のシステムとともに、および、他の環境においても実行され得る。
【００４６】
図2は、いくつかの例示的な実施形態に従って、店舗ビーコンデバイス130とユーザコンピューティングデバイス110との間のネットワーク120接続のセキュリティを判定するための方法200を表現するブロック図である。方法200は、図1に例示された構成要素を参照して説明される。
【００４７】
ブロック210では、店舗ビーコンデバイス130とユーザコンピューティングデバイス110とが、ネットワーク120接続を確立する。ネットワーク120接続を確立するための方法は、図3に説明された方法を参照して以下により詳細に説明される。
【００４８】
図3は、いくつかの例示的な実施形態に従って、店舗ビーコンデバイス130とユーザコンピューティングデバイス110との間のネットワーク120接続を確立するための方法210を表現するブロック図である。方法210は、図1に例示された構成要素を参照して説明される。
【００４９】
本明細書において説明されたいくつかの例示的な実施形態では、店舗ビーコンデバイス130は、店舗システムに関連付けられた物理的な場所に配置される。たとえば、店舗システムは、レストランチェーンであり得、店舗ビーコンデバイス130は、レストランチェーンに関連付けられたレストランの場所に配置される。いくつかの例示的な実施形態では、ユーザ101に関連付けられたユーザコンピューティングデバイス110は、ネットワーク120接続が、2つのネットワーク120デバイス間で確立されるようになるために、店舗ビーコンデバイス130のあらかじめ定義された近隣内に配置される。例示的な実施形態では、ユーザ101は、店舗ビーコンデバイス130が配置される店舗システムの場所へ、ユーザコンピューティングデバイス110を持ち込む。たとえば、ユーザ101は、自分のモバイル電話ネットワーク120デバイスを、スーパマーケットへ持ち運ぶ。この例では、スーパマーケットは、スーパマーケットの場所において、店舗ビーコンデバイス130をインストールした。
【００５０】
ブロック310では、ユーザコンピューティングデバイス110は、プローブ要求を送信する。いくつかの例示的な実施形態では、RFフィールドまたは他のフィールドは、ネットワークデバイスの存在をポールするために、ユーザコンピューティングデバイス110上で活性化される。例示的な実施形態では、ユーザコンピューティングデバイス110は、ネットワーク120接続を確立するためにワイヤレスネットワークデバイスを位置決定することを試みて、プローブ要求を送信する。ユーザ101は、ネットワーク120接続を確立するためのネットワーク120デバイスを位置決定するために、プローブ要求を受信し、プローブ要求を定期的に送信するように、ユーザコンピューティングデバイス110の設定を構成し得る。例示的なプローブ要求は、たとえば、ハードウェア識別情報、または、ユーザコンピューティングデバイス110を識別する媒体アクセス制御(「MAC」)アドレスのようなユーザコンピューティングデバイス110識別子を備え得る。例示的な実施形態では、ユーザコンピューティングデバイス110から発するネットワーク120通信は、店舗ビーコンデバイス130が、ユーザコンピューティングデバイス110を、通信のソースとして識別することを可能にするためのユーザコンピューティングデバイス110識別子を備える。
【００５１】
ブロック320では、店舗ビーコンデバイス130が、プローブ要求を受信する。例示的な実施形態では、店舗ビーコンデバイス130は、受信されたユーザコンピューティングデバイス110識別子によって、ユーザコンピューティングデバイス110を識別する。例示的な実施形態では、ユーザコンピューティングデバイス110から発するネットワーク120通信は、店舗ビーコンデバイス130が、ユーザコンピューティングデバイス110を、通信のソースとして識別することを可能にするためのユーザコンピューティングデバイス110識別子を備える。例示的な実施形態では、店舗システムオペレータは、ネットワーク120接続を確立するためのネットワーク120デバイスを位置決定するために、プローブ要求を受信し、プローブ要求を定期的に送信するように、店舗ビーコンデバイス130の設定を構成し得る。
【００５２】
ブロック330では、店舗ビーコンデバイス130は、ユーザコンピューティングデバイス110へネットワーク120接続要求を送信する。ネットワーク120接続要求は、店舗ビーコンデバイス130識別子を備え得る。たとえば、この識別子は、店舗ビーコンデバイス130に関連付けられた店舗システムを識別する。例示的な実施形態では、ユーザ101は、ネットワーク120接続要求を通知され、店舗ビーコンデバイス130からのネットワーク120接続要求を受諾するか受諾しないかを、ユーザインターフェース111を介して選択するオプションを与えられる。この例示的な実施形態では、ユーザインターフェース111は、店舗ビーコンデバイス130識別子を表示し得る。たとえば、ユーザコンピューティングデバイスは、「店舗A」のような識別子を備えるネットワーク120接続要求を、店舗ビーコンデバイス130から受信する。この例では、ユーザインターフェース111は、「店舗Aのネットワークへアクセスしたいですか?」および、「イエス」オプションおよび「ノー」オプションを備える2つのユーザインターフェース111オブジェクトを読めるスクリーンを表示する。ユーザは、適切なオプションを選択し得る。
【００５３】
ブロック340では、ユーザコンピューティングデバイス110は、ネットワーク120接続要求を受諾する。例示的な実施形態では、ユーザ101は、ネットワーク120接続要求を受諾または拒否するためにユーザインターフェース111オブジェクトを起動させる。例示的な実施形態では、ユーザコンピューティングデバイスがネットワーク120接続要求を受諾した場合、ワイヤレスネットワーク120通信チャネルが確立される。別の例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130から公開暗号鍵を受信する。この例示的な実施形態では、ユーザコンピューティングデバイス110は、秘密暗号鍵を備える。これは、公開暗号鍵と組み合わせて、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130から受信した電子署名を解読できるようにする。別の例示的な実施形態では、店舗ビーコンデバイス130は、ユーザコンピューティングデバイス110から公開暗号鍵を受信し、店舗ビーコンデバイス130は、秘密暗号鍵を備える。
【００５４】
別の例示的な実施形態では、店舗ビーコンデバイス130が、プローブ応答を送信し、ユーザコンピューティングデバイス110が、プローブ応答を受信し、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130へネットワーク120接続要求を送信する。この例示的な実施形態では、ユーザコンピューティングデバイス110は、ユーザインターフェース111を介して、ユーザ101が店舗ビーコンデバイス130とのネットワーク120接続を試みるオプションを選択することに応じて、ネットワーク120接続要求を送信し得る。この例では、ユーザコンピューティングデバイスは、ユーザコンピューティングデバイス110がプローブ要求および識別子を受信し、ユーザコンピューティングデバイス110を介して、ネットワーク120接続を確立するためのネットワーク120デバイスを選択する機会をユーザ101へ提供するための、店舗ビーコンデバイス130を含む1つまたは複数のワイヤレスネットワーク120デバイスのリストを表示し得る。この例では、ユーザ101は、店舗ビーコンデバイス130を選択するためにユーザインターフェース111オブジェクトを起動し、ユーザコンピューティングデバイス110は、ネットワーク120接続要求を、店舗ビーコンデバイス130へ送信する。この例では、店舗ビーコンデバイス130は、ネットワーク120接続要求を受諾し、ネットワーク120接続が、ユーザコンピューティングデバイス110と店舗ビーコンデバイス130との間で確立される。
【００５５】
ブロック340から、方法210は、図2のブロック220へ進む。
【００５６】
図2に戻ると、ブロック220では、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110のRSSIを、店舗ビーコンデバイス130のRSSIとペアにする。ユーザコンピューティングデバイス110と店舗ビーコンデバイス130とのRSSIをペアにするための方法は、図4に説明された方法を参照して以下により詳細に説明される。
【００５７】
図4は、ユーザコンピューティングデバイス110と店舗ビーコンデバイス130とのRSSIをペアにするための方法220を表現するブロック図である。
【００５８】
ブロック410では、店舗ビーコンデバイス130が、逆RSSIを判定する。このRSSIは、ネットワーク120デバイスによって受信された無線信号の相対強度を示す。このRSSI、または、他の距離の他の推定値は、デシベル(「dB」)スケールのような対数目盛における整数であり得る。RSSIは、2つのネットワーク120デバイスの間の距離を推定するためのプロキシとして使用され得る。たとえば、第1のネットワーク120デバイスが、第2のネットワーク120デバイスから移動すると、第2のネットワーク120デバイスのRSSIは、第1のネットワーク120デバイスによって判定されるように減少する。同様に、第1のネットワーク120デバイスおよび第2のネットワーク120デバイスが、互いにさらに離れた場合、第2のネットワーク120デバイスによって判定されるように、第1のネットワーク120デバイスのRSSIもまた減少する。別の例では、第1のネットワーク120デバイスが、第2のネットワーク120デバイスへより近くに移動すると、第1のネットワーク120デバイスによって判定されるように、第2のネットワーク120デバイスのRSSIは、増加する。同様に、第1のネットワーク120デバイスおよび第2のネットワーク120デバイスが互いにより近くに持ち込まれた場合、第2のネットワーク120デバイスによって判定されるように、第1のネットワーク120デバイスのRSSIもまた増加する。別の例示的な実施形態では、たとえば、自由空間伝搬損失、受信チャネル電力インジケータ(「RCPI」)、到着時間(「TOA」)、または、ネットワーク120デバイス間の距離を推定するための他の任意の適切な尺度のような、2つのネットワーク120デバイス間の距離を推定するための別のプロキシが利用される。これらの例では、プロキシの測定値が、RSSI値の測定値を代用する。
【００５９】
例示的な実施形態では、逆RSSIは、店舗ビーコンデバイス130によって判定されたようなユーザコンピューティングデバイス110のRSSIである。逆RSSIは「逆」と称される。なぜなら、逆RSSIは、店舗ビーコンデバイス130の観点から判定されるが、逆RSSIは、その後、ユーザコンピューティングデバイス110の観点から評価されるからである。例示的な実施形態では、コントローラ133は、アプリケーション131および/またはデータ記憶ユニット132と通信する。例示的な実施形態では、店舗ビーコンデバイス130は、アンテナ135を通じてユーザコンピューティングデバイス110の無線信号を受信し、コントローラ133またはアプリケーション131を使用して逆RSSIを判定する。例示的な実施形態では、逆RSSI、または、距離の他のプロキシ測定値が、データ記憶ユニット132に記憶される。
【００６０】
ブロック420では、店舗ビーコンデバイス130は、逆RSSIを備えるデータを、ユーザコンピューティングデバイス110へ送信する。例示的な実施形態では、店舗ビーコンデバイス130が、ユーザコンピューティングデバイス110とのネットワーク120接続を確立した後、店舗ビーコンデバイス130は、逆RSSIを備えるデータを、ユーザコンピューティングデバイス110へ定期的に送信する。例示的な実施形態では、アプリケーション131は、保存された逆RSSIを、データ記憶ユニット132から検索し、逆RSSIを備えるデータを、ネットワーク120を介してユーザコンピューティングデバイス110へ送信する。例示的な実施形態では、送信されたデータはさらに、店舗ビーコンデバイス130識別子を備える。別の例示的な実施形態では、送信されたデータはさらに、逆RSSIが判定された時間を備える。例示的な実施形態では、逆RSSIを備えるデータが、店舗ビーコンデバイス130がRSSIを判定した時から、あらかじめ決定された時間制限内に送信される。たとえば、逆RSSIを備えるデータは、判定された後、直ちに送信されねばならない。これによって、ユーザコンピューティングデバイス110は、逆RSSIを受信し、その後直ちにRSSIを判定できるようになり得る。この例では、RSSIは、逆RSSI後、直ちに判定され、これによって、2つの測定値がペアとされ、同じ瞬間に関連しているものとして近似され得るようになることが重要である。例示的な実施形態では、店舗ビーコンデバイス130は、広告データパケットをユーザコンピューティングデバイス110へ定期的に送信する。この例示的な実施形態では、店舗ビーコンデバイス130は、逆RSSIを判定し、逆RSSIを判定することに応じて、逆RSSIを備える広告データパケットを送信する。
【００６１】
ブロック430では、ユーザコンピューティングデバイス110は、逆RSSIを備えるデータを受信する。例示的な実施形態では、ユーザコンピューティングデバイス110アプリケーション114は、受信データから逆RSSIを抽出する。この例示的な実施形態では、アプリケーション114は、受信データからの逆RSSI、逆RSSIが店舗ビーコンデバイス130によって判定された時間を抽出し得る。例示的な実施形態では、アプリケーション114は、逆RSSI、および、ユーザコンピューティングデバイス110による逆RSSIの判定および/または受信の時間を保存する。たとえば、ユーザコンピューティングデバイス110は、データ記憶ユニット112に、逆RSSIを、ユーザコンピュータデバイス110によって逆RSSIが判定された時間、および/または、逆RSSIを備えるデータがユーザコンピューティングデバイス110によって受信された時間とともに保存する。
【００６２】
ブロック440では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130のRSSIを判定する。例示的な実施形態では、ユーザコンピューティングデバイス110は、逆RSSIを備えるデータを受信することに応じて、店舗ビーコンデバイス130のRSSIを判定する。例示的な実施形態では、ユーザコンピューティングデバイス110は、逆RSSIの受信からあらかじめ決定された時間内に、店舗ビーコンデバイス130のRSSIを判定する。たとえば、RSSIと逆RSSIとの2つの測定値がペアとされ、同じ瞬間に関連しているものとして近似され得るように、逆RSSIが判定されるのと同時にまたは直後にRSSIが判定されるべきである。別の例示的な実施形態では、たとえば自由空間伝搬損失、受信チャネル電力インジケータ(「RCPI」)、到着時間(「TOA」)、往復時間(「RTT」)、および/または、デバイス間の距離を推定するための他の任意の適切な尺度のように、2つのネットワークデバイス間の距離を推定するための別のプロキシが利用される。これらの例では、プロキシの測定値が、RSSI値の測定値を代用する。例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗デバイスのRSSIと、ユーザコンピューティングデバイス110がRSSIを判定した時間とを保存する。
【００６３】
ブロック450では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130のRSSIを、逆RSSIとペアにする。例示的な実施形態では、ユーザコンピューティングデバイスアプリケーション114は、保存されたRSSI、保存された対応する逆RSSI、および、逆RSSIおよびRSSIが判定された時間のような関連付けられた任意の保存されたデータを抽出する。例示的な実施形態では、ユーザコンピューティングデバイス110アプリケーション114は、保存されたRSSIは、RSSIおよび逆RSSIがそれぞれのネットワーク120デバイスによって判定された時間を識別するデータに従って、保存された逆RSSIに関連付けられると判定する。
【００６４】
ブロック460では、ユーザコンピューティングデバイス110は、RSSIデータペアを保存する。例示的な実施形態では、ユーザコンピューティングデバイスアプリケーション114は、データ記憶ユニット112に、RSSIデータペアを保存する。例示的な実施形態では、店舗ビーコンデバイス130が逆RSSIを判定した時間が、ユーザコンピューティングデバイス110がRSSIを判定した時間と異なっているのであれば、ユーザコンピューティングデバイス110は、有効な時間データを生成するために、2つの時間データを平均化または近似化する。有効な時間データは、RSSIと逆RSSIとが、適切なネットワーク120デバイスによって有効に判定されていると考えられている時間を備える。したがって、例示的なRSSIデータペアは、逆RSSI、RSSI、および有効な時間データを備える。
【００６５】
ブロック470では、ユーザコンピューティングデバイス110は、1つよりも多くのRSSIデータペアがユーザコンピューティングデバイス110に保存されているか否かを判定する。例示的な実施形態では、RSSIデータペアを保存することに応じて、ユーザコンピューティングデバイスアプリケーション114は、1つよりも多くの保存されたRSSIデータペアが記憶されているか否かを判定するために、データ記憶ユニット112と通信する。別の例示的な実施形態では、アプリケーション114は、1つよりも多くの保存されたRSSIデータペアが、あらかじめ定義された時間の範囲内にあるか否かを判定する。たとえば、あらかじめ定義された時間の範囲は5秒、10秒、または、任意の適切なあらかじめ定義された時間の範囲であり得る。
【００６６】
ユーザコンピューティングデバイス110が、1つを越えない保存されたRSSデータペアが記憶されていると判定すると、方法220はブロック410へ進む。たとえば、ユーザコンピューティングデバイスアプリケーション114は、データ記憶ユニット112と通信し、データ記憶ユニット112に、1つのRSSIデータペアしか保存されていないことを判定する。別の例示的な実施形態では、アプリケーション114は、2つ以上のRSSIデータが記憶されているが、最も直近の2つのRSSIデータペアは、あらかじめ定義された時間の範囲内ではないと判定する。たとえば、アプリケーション114は、データ記憶ユニット112が、(現在の日付およびタイムゾーンの)時刻07:15:25、07:15:23、および07:15:20に対応するRSSIデータペアを備えていると判定する。RSSIデータペアの各々に関連付けられた時間は、逆RSSI値および対応するRSSI値が、データペアのために有効に判定された時間である。この例では、最も直近の2つのRSSIデータペアは、時刻07:15:25および07:15:23に対応する。あらかじめ定義された時間の範囲が、たとえば1秒であれば、最も直近の2つのRSSIデータペアに関連付けられた時間は、あらかじめ定義された範囲内ではない。
【００６７】
1つを越えない保存されたRSSIデータペアが記憶されていること、または、最も直近の2つの保存されたRSSIデータペアが、あらかじめ定義された時間範囲内にないことをユーザコンピューティングデバイス110が判定するこれら例示的な実施形態では、方法220は繰り返す。たとえば、店舗ビーコンデバイス130は、後続する逆RSSIを判定し、後続する逆RSSIを備えるデータを、ユーザコンピューティングデバイス110へ送信する。この例では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130から、後続する逆RSSIを受信し、ユーザコンピューティングデバイス110の後続するRSSIを判定し、後続する逆RSSIを、後続するRSSIとペアにし、後続するRSSIデータペアを保存する。
【００６８】
ブロック470に戻ると、ユーザコンピューティングデバイス110が、1つよりも多くの保存されたRSSIデータペアが、ユーザコンピューティングデバイス110に記憶されていると判定すると、方法220は、図2のブロック230へ進む。たとえば、アプリケーション114は、データ記憶ユニット112が、(現在の日付およびタイムゾーンの)時刻07:15:25、07:15:23、および07:15:20に対応するRSSIデータペアを備えていると判定する。RSSIデータペアの各々に関連付けられた時間は、逆RSSI値および対応するRSSI値が、データペアについて有効に判定された時間である。例では、アプリケーション114は、2つ以上の保存されたRSSIデータペアが存在していることを判定する。そして、RSSIデータペアを比較し、一致があるか否かを判定することに進む。別の例では、アプリケーション114は、2つ以上の保存されたRSSIデータペアが存在していることを判定し、最も直近の2つのRSSIデータペアを抽出し、最も直近の2つのRSSIデータペアが、あらかじめ定義された互いの時間範囲内にあるか否かを判定する。この例では、最も直近の2つのRSSIデータペアが、時刻07:15:25および07:15:23に対応する。たとえば、あらかじめ定義された時間の範囲が5秒であれば、アプリケーション114は、RSSIデータペアを比較し、一致があるか否かを判定することに進む。
【００６９】
図2に戻ると、ブロック230では、ユーザコンピューティングデバイス110は、ネットワーク120接続がセキュアであるか否かを判定する。RSSIデータペアの一致に基づいて、ネットワーク120接続がセキュアであることを判定するための方法は、図5に説明された方法230を参照して以下により詳細に説明される。
【００７０】
図5は、RSSIデータペアの一致に基づいて、ネットワーク120接続がセキュアであるか否かを判定するための方法230を表現するブロック図である。
【００７１】
ブロック510では、ユーザコンピューティングデバイス110は、最も直近の2つのRSSIデータペアを抽出する。例示的な実施形態では、アプリケーション114は、データ記憶ユニット112から、最も直近の2つのRSSIデータペアを抽出する。例では、各RSSIデータペアは、逆RSSI、RSSI、および有効な時間データを備える。この例では、最も直近の2つのRSSIデータペアは、アプリケーション114によって判定されたような現在の時間に対する最も直近の2つの有効な時間データを有する。以前に議論されたように、有効な時間データは、RSSIおよび対応する逆RSSIが、有効に判定されたと考えられる時刻を備える。
【００７２】
ブロック520では、ユーザコンピューティングデバイス110は、最も直近の2つのRSSIデータペアに一致が存在するか否かを判定する。
【００７３】
以前に議論されたように、RSSIは、2つのネットワーク120デバイス間の距離を推定するためのプロキシとして使用され得る。たとえば、第1のネットワーク120デバイスが、第2のネットワーク120デバイスから移動すると、第1のネットワーク120デバイスによって判定されるように、第2のネットワーク120デバイスのRSSIが減少する。同様に、第2のネットワーク120デバイスによって判定されるように、第1のネットワーク120デバイスのRSSIもまた、ネットワーク120デバイスが互いからさらに遠く離れた場合に、減少するべきである。別の例では、第1のネットワーク120デバイスが、第2のネットワーク120デバイスへより近くに移動すると、第1のネットワーク120デバイスによって判定されるように、第2のネットワーク120デバイスのRSSIが増加する。同様に、第2のネットワーク120デバイスによって判定されるように、第1のネットワーク120のRSSIもまた、ネットワーク120デバイスが共に互いへと近づいた場合に、増加するべきである。
【００７４】
例示的な実施形態では、最も直近の2つのRSSIデータペアは、第1のRSSIデータペアおよび後続するRSSIデータペアを備える。第1のRSSIデータペアは、後続するRSSIデータペアの有効な時間データに先立つ有効な時間データを備える。この例示的な実施形態では、第1のRSSIデータペアは、逆RSSI(「第1の逆のRSSI」)および対応するRSSI(「第1のRSSI」)を備える。同様に、後続するRSSIデータペアは、逆RSSI(「後続する逆RSSI」)および対応するRSSI(「後続するRSSI」)を備える。
【００７５】
例示的な実施形態では、2つのネットワーク120デバイス間のRSSI値と逆RSSI値とにおける経時的な任意の変化は、RSSIデータペア間の一致を確立するために、比例的でなければならない。たとえば、第1のRSSIと後続するRSSIとの間に2倍の増加が生じると、RSSIデータペア間に一致は存在せず、3倍増加すると、第1の逆RSSIと後続する逆RSSIとの間で減少が生じるか、または変化が生じない。この例では、RSSIデータペアにおける一致は、第1の逆RSSIと後続する逆RSSIとの間でほぼ2倍の増加が生じるのであれば、第1のRSSIと後続するRSSIとの間での2倍の増加に相当するようになるとの結果になるであろう。いくつかの例示的な実施形態では、RSSI値および逆RSSI値における非比例的な変化は、店舗ビーコンデバイス130が移動したこと、または、逆RSSIデータが、店舗ビーコンデバイス130とユーザコンピューティングデバイス110との間で通信されるので、逆RSSIデータが、第3のネットワーク120デバイスによって再送信されたこと、を示し得る。
【００７６】
最も直近の2つのRSSIデータペアに一致が存在しないとユーザコンピュータデバイスが判定すると、方法230はブロック530へ進む。
【００７７】
たとえば、所望されないサードパーティネットワーク120デバイスが、店舗ビーコンデバイス130から送信されたデータを、ユーザコンピューティングデバイス110へ再送信する。この例では、店舗ビーコンデバイス130は、その場所から移動され、サードパーティネットワーク120デバイスと交換される。サードパーティネットワーク120デバイスは、店舗デバイス130から送信されたデータを、ユーザコンピューティングデバイス110へ再送信する。この例では、ユーザコンピューティングデバイス110が移動すると、ユーザコンピューティングデバイス110は、サードパーティネットワーク120デバイスのRSSIにおける変化を検出するであろう。しかしながら、サードパーティネットワーク120デバイスは静止しているので、逆RSSIは、経時的に変化しないであろう。たとえば、店舗ビーコンデバイス130は、逆RSSIを、サードパーティネットワーク120デバイスのRSSIとして検出し、この逆RSSIを備えるデータを、サードパーティネットワーク120デバイスを介してユーザコンピューティングデバイス110へ送信するであろう。ユーザコンピューティングデバイス110が移動するとRSSIは経時的に変化し、対応する逆RSSIは経時的に変化しないだろうから、ユーザコンピューティングデバイスアプリケーション114は、最も直近の2つのRSSIデータペアに一致が存在しないと判定するであろう。なぜなら、RSSI値および逆RSSI値における変化は比例的ではないからである。
【００７８】
別の例では、店舗ビーコンデバイス130が場所を移され、移動中の所望されないサードパーティネットワーク120デバイスが、静止している店舗ビーコンデバイス130から送信されたデータを、移動中のユーザコンピューティングデバイス110へ再送信する。この例では、店舗ビーコンデバイス130は、移動中のサードパーティネットワーク120デバイスのRSSI(この例における「逆RSSI」)を経時的に判定し、逆RSSIを備えるデータを、サードパーティネットワーク120デバイスを介してユーザコンピューティングデバイス110へ送信する。移動中のユーザコンピューティングデバイス110は、移動中のサードパーティネットワーク120デバイスのRSSIを、経時的に判定する。この例示的な実施形態では、最も直近の2つのRSSIデータペアのRSSI値および逆RSSI値の比例的な変化はありそうもない。比例的になるために、ユーザコンピューティングデバイス110およびサードパーティネットワーク120デバイスの動きは、店舗ビーコンデバイス130とサードパーティネットワーク120デバイスとの間の距離が、サードパーティネットワーク120デバイスとユーザコンピューティングデバイス110との間の距離に等しくなるように同期される。したがって、この例では、RSSI値および逆RSSI値における変化は、経時的に比例しないであろうから、ユーザコンピューティングデバイスアプリケーション114は、最も直近の2つのRSSIデータペアのRSSI値および逆RSSI値における変化の一致を発見しない可能性が高い。
【００７９】
ブロック530では、ユーザコンピューティングデバイス110は、ネットワーク120が非セキュアであると判定する。例示的な実施形態では、最も直近の2つのRSSIデータペアのRSSI値および逆RSSI値における変化に一致が存在しないのであれば、ユーザコンピューティングデバイスアプリケーション114は、ネットワーク120が、非セキュアであると判定する。
【００８０】
別の例示的な実施形態では、店舗ビーコンデバイス130は、店舗ビーコンデバイス130の移動の検出に基づいて、ネットワーク接続が非セキュアであると判定する。この例示的な実施形態では、店舗ビーコンデバイス130は、店舗ビーコンデバイス130が移動されたか否かを検出し得る加速度計137を備える。店舗ビーコンデバイス130は、不正目的のために移動され得る。たとえば、ユーザコンピューティングデバイス110が、店舗システムに関連付けられた店舗ビーコンデバイス130に対する近隣にあるのであれば、ユーザコンピューティングデバイス110は店舗システムのみとトランザクションをし得る。この例では、店舗システムに関連付けられた販売時点情報管理(「POS」)端末の近傍に配置された店舗ビーコンデバイス130は、ユーザコンピューティングデバイス110に対して、不正エンティティとの金融トランザクションを可能にさせることを試みるために、ユーザコンピューティングデバイス110への近くへ移動される。この例示的な実施形態では、店舗ビーコンデバイス130における加速度計137は、店舗ビーコンデバイス130が移動したことを検出する。
【００８１】
さらに別の例示的な実施形態では、ユーザコンピューティングデバイス110は、無効の電子署名の受取に基づいて、このネットワークが非セキュアであると判定する。いくつかの例示的な実施形態では、店舗ビーコンデバイス130によってユーザコンピューティングデバイス110へ送信された逆RSSIを備えるデータは、秘密暗号鍵によって店舗ビーコンデバイス130によって生成された電子署名をさらに備える。たとえば、電子署名は、店舗ビーコンデバイス130を、ユーザコンピューティングデバイス110によって信頼された店舗システムに関連付けられているとして識別する。この例示的な実施形態では、ユーザコンピューティングデバイス110はさらに、店舗ビーコンデバイス130が店舗システムに関連付けられていることを検証するために、公開暗号鍵を使用して電子署名を解読することによって、店舗ビーコンデバイス130の有効性を検証する。例示的な実施形態では、店舗ビーコンデバイス130は、公開暗号鍵を、逆RSSIを備えたデータで、ユーザコンピューティングデバイス110へ送信する。
【００８２】
ブロック530から、方法230は、その後、図2におけるブロック270へ進む。図2に戻ると、ブロック270では、ネットワーク120接続が終了される。例示的な実施形態では、最も直近の2つのRSSIデータペアのRSSI値および逆RSSI値における変化に一致が存在しないのであれば、ユーザコンピューティングデバイスアプリケーション114は、ネットワーク120が非セキュアであると判定する。この例示的な実施形態では、アプリケーション114は、ネットワーク120接続を終了させる。別の例示的な実施形態では、加速度計137によって移動を検出した後、店舗ビーコンデバイス130は、ネットワーク120接続を終了させるか、または、ユーザコンピューティングデバイス110へアラートを送信し得、ユーザコンピューティングデバイス110は、ネットワーク120接続を終了させる。また別の例示的な実施形態では、ユーザコンピューティングデバイス110は、電子署名が、ユーザがトランザクションをするつもりである店舗システムに関連していないとの判定に基づいて、店舗ビーコンデバイス130とのネットワーク接続を終了させ得る。別の例示的な実施形態では、ユーザコンピューティングデバイス110は、ネットワーク120接続を維持するために必要な、あらかじめ定義された店舗ビーコンデバイス130の近隣から出て行き、ネットワーク120接続を終了させる。別の例示的な実施形態では、ネットワーク120接続が非セキュアであるという判定に基づいてネットワーク120接続を終了させる代わりに、ユーザコンピューティングデバイス110は、ネットワーク120接続が非セキュアであることを、ユーザコンピューティングデバイスに関連付けられたユーザに通知し、ネットワーク120接続が非セキュアであることを、店舗システムに通知するか、または、他の任意の適切な動作を実行する。
【００８３】
図5に戻ると、図5では、ユーザコンピューティングデバイス110が、最も直近の2つのRSSIデータペアに一致が存在すると判定すると、方法230はブロック540へ進む。例では、ユーザ101は、店舗ビーコンデバイス130に関連付けられた店舗システムとトランザクションをすることを意図しており、ユーザ101は、店舗ビーコンデバイス130の近傍の店舗POS端末へユーザコンピューティングデバイス110を運ぶ。この例では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130から、店舗ビーコンデバイス130によって検出された逆RSSIを受信する。この例では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130のRSSIを判定し、RSSIデータペアを保存する。この例では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130から、後続する逆RSSIを受信し、店舗ビーコンデバイス130の、後続するRSSIを判定し、後続するRSSIデータペアを保存する。この例では、アプリケーション114は、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130へ、より近くへ移動すると、後続する逆RSSIおよび後続するRSSIが、第1の逆RSSIおよび第1のRSSIから比例的に増加すると判定する。
【００８４】
ブロック540では、ユーザコンピューティングデバイス110は、ネットワーク120がセキュアであると判定する。例示的な実施形態では、アプリケーション114は、RSSI値および逆RSSI値における経時的な比例的変化を判定することに基づいて、ネットワーク120がセキュアであると判定する。別の例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130から受信した電子署名を解読し、電子署名を、信頼された店舗システムに関連付けられているとして検証する。この例示的な実施形態では、ユーザ101に、受信された電子署名に関連付けられた店舗システムを検証するためのオプションが提示され得る。たとえば、ユーザ101は、電子署名に関連付けられた店舗システムとのネットワーク120接続を確認または拒否するためのオブジェクトを、ユーザインターフェース111上で選択し得る。
【００８５】
方法230は、その後、図2におけるブロック240へ進む。
【００８６】
図2に戻ると、ブロック240では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130に関連付けられた店舗システムとトランザクションをするか否かを判定する。例示的な実施形態では、ユーザ101は、店舗システムに関連付けられた店舗POS端末とのトランザクションを開始するオプションを選択し得る。たとえば、ユーザ101は、ユーザコンピューティングデバイス110において、支払アプリケーション118またはウェブブラウザ117支払アプリケーションを選択し得る。この例では、支払アプリケーション118またはウェブブラウザ117支払アプリケーションは、ユーザ101が金融口座情報を入力することを可能にする電子財布アプリケーションを備え得る。この例では、ユーザ101は、電子財布アプリケーションを選択し、店舗POS端末とのトランザクションを開始する。別の例示的な実施形態では、店舗POS端末は、ユーザコンピューティングデバイス110支払アプリケーション118とのトランザクションを開始する。この例示的な実施形態では、ユーザ101は、ユーザコンピューティングデバイス110上のユーザインターフェース111オブジェクトを選択することによって、トランザクションを承認または拒否し得る。または、ネットワーク120が、セキュアであると判定され、ユーザコンピューティングデバイス110が、店舗POS端末のあらかじめ定義された近隣内にあるのであれば、ユーザ101は、店舗ビーコンデバイス130とのトランザクションを可能にするために、ユーザコンピューティングデバイス110の設定を構成し得る。この例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗POS端末に配置された店舗ビーコンデバイス130のRSSIが、しきい値よりも大きいのであれば、ユーザコンピューティングデバイス110が、店舗POS端末のあらかじめ定義された近隣内にあると判定し得る。
【００８７】
以前に議論されたように、他の例示的な実施形態では、店舗ビーコンデバイス130は、店舗システムに関連付けられていないことがあり得る。たとえば、店舗ビーコンデバイス130は、セキュリティシステムに関連付けられ得るか、または、ユーザコンピューティングデバイス110に関連付けられたユーザによる個人的な使用のためであり得る。この例示的な実施形態では、適切なシステムまたはオペレータが、店舗ビーコンデバイス130を構成し、店舗ビーコンデバイス130の目的に従って、物理的な場所に店舗ビーコンデバイス130を配置する。たとえば、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130がセキュアなネットワーク接続を有していると判定した場合に、ドアが解錠されるように、店舗ビーコンデバイス130は、ドアの近傍に配置され得る。さらに別の例示的な実施形態では、店舗ビーコンデバイス130は、店舗システムに関連付けられているが、それはトランザクション目的のために使用されない。たとえば、構成されたユーザコンピューティングデバイス110が、セキュアなネットワーク接続を確立した場合、店舗ビーコンデバイス130は、入口を解錠するために、入口の近傍に配置され得る。
【００８８】
ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130に関連付けられた店舗システムとトランザクションをするように指示されると、方法200はブロック250へ進む。
【００８９】
ブロック250では、ユーザコンピューティングデバイス110は、店舗システムとトランザクションをする。例示的な実施形態では、ユーザコンピューティングデバイス110は、ユーザ101によって購入されるべき製品またはサービスの説明、そのような製品またはサービスの価格、および、他の任意の適切な情報のようなトランザクション情報を店舗システムから受信する。この例示的な実施形態では、ユーザ101は、ユーザコンピューティングデバイス110において支払オプションを選択し、トランザクションを承認するオプションを選択し得る。この例示的な実施形態では、ユーザコンピューティングデバイス110は、Bluetooth低エネルギー、Bluetooth、Wi-Fi、または他のネットワーク120接続を介して店舗POS端末へユーザ101金融口座情報を送信する。この例示的な実施形態では、店舗は、金融口座情報を受信し、クレジットカード発行会社、または、ユーザ金融口座に関連付けられた銀行のような支払処理システムへ、トランザクションを処理するための要求を送信する。
【００９０】
方法200は、その後、ブロック260へ進む。
【００９１】
ブロック240に戻ると、ユーザコンピューティングデバイス110が、店舗ビーコンデバイス130に関連付けられた店舗システムとトランザクションをしないのであれば、方法200は、ブロック260へ進む。たとえば、ユーザは、店舗システムとトランザクションをするように、ユーザコンピューティングデバイス110に指示しない。
【００９２】
ブロック260では、ユーザコンピューティングデバイス110は、ネットワーク120接続を継続すべきか否かを判定する。例示的な実施形態では、ユーザ101は、ネットワーク120接続を切断するためのユーザインターフェース111オブジェクトを選択すること、または、ネットワーク120接続を維持するために必要な店舗ビーコンデバイス130の、あらかじめ定義された近隣外にユーザコンピューティングデバイス110を運ぶことのいずれかによって、ネットワーク120接続をキャンセルし得る。例示的な実施形態では、ネットワーク120接続を維持するために、ユーザ101は、ユーザコンピューティングデバイス110によって、ネットワーク120接続を継続することを選択するオプションを提示され得る。別の例示的な実施形態では、ユーザ101が、ネットワーク120接続を維持するために必要な店舗ビーコンデバイス130のあらかじめ定義された近隣外へユーザコンピューティングデバイス110を運ばないのであれば、ユーザ101は、ユーザコンピューティングデバイス110上において、ネットワーク120接続を継続するいかなるオプションも選択する必要はない。
【００９３】
ユーザコンピューティングデバイス110が、ネットワーク120接続を継続するのであれば、方法200は、ブロック220へ進む。例示的な実施形態では、ユーザコンピューティングデバイス110は、後続する逆RSSI値を備えるデータを、店舗ビーコンデバイス130から受信し、店舗ビーコンデバイス130の後続するRSSIを判定し、後続するRSSIデータペアを保存することを継続する。この例示的な実施形態では、アプリケーション114は、後続する各RSSIデータペアを保存した後、最も直近の2つのRSSIデータペアにおけるRSSI値と逆RSSI値との間に一致が存在するか否かを判定する。
【００９４】
ブロック260に戻ると、ユーザコンピューティングデバイス110が、ネットワーク120接続を継続しないのであれば、方法200は、ブロック270へ進む。
【００９５】
ブロック270では、ネットワーク120接続が終了される。例示的な実施形態では、ユーザコンピューティングデバイス110は、接続が終了された後、ネットワーク120を介してデータを送信または受信しない。別の例示的な実施形態では、ユーザコンピューティングデバイス110は、店舗ビーコンデバイス130を除いた、他のネットワーク120デバイスとのネットワーク120接続を確立し得る。たとえば、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110がネットワーク120接続を確立しないことがあり得るネットワーク120デバイスの制限されたリストに、店舗ビーコンデバイス130を載せる。例示的な実施形態では、ユーザ101は、ネットワーク120接続を再確立するため、または、店舗ビーコンデバイス130とのネットワーク120接続を維持するために必要なあらかじめ定義された近隣へ戻るため、ユーザインターフェース111上の1つまたは複数のオプションを選択し得る。
【００９６】
以前に議論されたように、たとえば、自由空間伝搬損失、受信チャネル電力インジケータ(「RCPI」)、到着時間(「TOA」)、または、ネットワーク120デバイス間の距離を推定するための他の任意の適切な尺度のような、2つのネットワーク120デバイス間の距離を推定するために、他のプロキシが利用され得る。これらの例では、プロキシの測定値が、RSSI値の測定値を代用する。したがって、以前に議論されたように、ユーザコンピューティングデバイス110および店舗ビーコンデバイス130は、関連する値を測定し、RSSI値に類似した手法でこれら値を使用する。
【００９７】
他の例示的な実施形態
図6は、いくつかの例示的な実施形態に従うコンピューティングマシン2000およびモジュール2050を表現する。コンピューティングマシン2000は、様々なコンピュータ、サーバ、モバイルデバイス、組込システム、または、本明細書に提示されたコンピューティングシステムのうちのいずれかに相当し得る。モジュール2050は、コンピューティングマシン2000が、本明細書で提示された、様々な方法を実行し、機能を処理するのを容易にするように構成された1つまたは複数のハードウェアまたはソフトウェア要素を備え得る。コンピューティングマシン2000は、プロセッサ2010、システムバス2020、システムメモリ2030、記憶媒体2040、入力/出力インターフェース2060、および、ネットワーク2080と通信するためのネットワークインターフェース2070のような、様々な内部のまたは接続された構成要素を含み得る。
【００９８】
コンピューティングマシン2000は、従来式のコンピュータシステム、組込式コントローラ、ラップトップ、サーバ、モバイルデバイス、スマートフォン、セットトップボックス、キオスク、車両情報システム、テレビに関連付けられた1つまたは複数のプロセッサ、カスタマイズされたマシン、他の任意のハードウェアプラットフォーム、または、これらの任意の組合せまたは多様性として実装され得る。コンピューティングマシン2000は、データネットワークまたはバスシステムを介して相互接続された多数のコンピューティングマシンを使用して機能するように構成された分散システムであり得る。
【００９９】
プロセッサ2010は、本明細書で説明された動作および機能を実行するためのコードまたは命令を実行し、要求フローおよびアドレスマッピングを管理するように、および、計算を実行し、コマンドを生成するように構成され得る。プロセッサ2010は、コンピューティングマシン2000における構成要素の動作をモニタおよび制御するように構成され得る。プロセッサ2010は、汎用プロセッサ、プロセッサコア、マルチプロセッサ、再構成可能なプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(「DSP」)、特定用途向け集積回路(「ASIC」)、グラフィック処理ユニット(「GPU」)、フィールドプログラマブルゲートアレイ(「FPGA」)、プログラマブル論理デバイス(「PLD」)、コントローラ、ステートマシン、ゲートロジック、ディスクリートハードウェア構成要素、他の任意の処理ユニット、または、これらの任意の組合せまたは多様性であり得る。プロセッサ2010は、単一の処理ユニット、多数の処理ユニット、単一の処理コア、多数の処理コア、専用目的処理コア、コプロセッサ、または、これらの任意の組合せであり得る。いくつかの実施形態に従って、プロセッサ2010は、コンピューティングマシン2000の他の構成要素とともに、1つまたは複数の他のコンピューティングマシン内で実行する仮想化されたコンピューティングマシンであり得る。
【０１００】
システムメモリ2030は、読取専用メモリ(「ROM」)、プログラマブル読取専用メモリ(「PROM」)、消去可能なプログラマブル読取専用メモリ(「EPROM」)、フラッシュメモリ、または、電力が印加されて、または、電力が印加されずに、プログラム命令またはデータを記憶することが可能な他の任意のデバイス、のような不揮発性メモリを含み得る。システムメモリ2030はまた、ランダムアクセスメモリ(「RAM」)、スタティックランダムアクセスメモリ(「SRAM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、およびシンクロナスダイナミックランダムアクセスメモリ(「SDRAM」)のような揮発性メモリを含み得る。他のタイプのRAMもまた、システムメモリ2030を実装するために使用され得る。システムメモリ2030は、単一のメモリモジュールまたは多数のメモリモジュールを使用して実装され得る。システムメモリ2030は、コンピューティングマシン2000の一部であるとして表現されているが、当業者であれば、システムメモリ2030は、主題技術の範囲から逸脱することなく、コンピューティングマシン2000から分離され得ることを認識するであろう。システムメモリ2030は、記憶媒体2040のような不揮発性記憶デバイスを含み得るか、または、連携して動作し得ることも認識されるべきである。
【０１０１】
記憶媒体2040は、ハードディスク、フロッピーディスク、コンパクトディスク読取専用メモリ(「CD-ROM」)、デジタル多用途ディスク(「DVD」)、Blu-ray(登録商標)ディスク、磁気テープ、フラッシュメモリ、他の不揮発性メモリデバイス、ソリッドステートドライブ(「SSD」)、任意の磁気記憶デバイス、任意の光記憶デバイス、任意の電子記憶デバイス、任意の半導体記憶デバイス、任意の物理ベースの記憶デバイス、他の任意のデータ記憶デバイス、または、これらの任意の組合せまたは多様性を含み得る。記憶媒体2040は、1つまたは複数のオペレーティングシステム、アプリケーションプログラム、モジュール2050のようなプログラムモジュール、データ、または他の任意の情報を記憶し得る。記憶媒体2040は、コンピューティングマシン2000の一部であり得るか、または、コンピューティングマシン2000へ接続され得る。記憶媒体2040はまた、サーバ、データベースサーバ、クラウドストレージ、ネットワーク接続ストレージ等のように、コンピューティングマシン2000と通信する1つまたは複数の他のコンピューティングマシンの一部でもあり得る。
【０１０２】
モジュール2050は、コンピューティングマシン2000が、本明細書で提示された様々な方法を実行し、機能を処理することを容易にするように構成された1つまたは複数のハードウェアまたはソフトウェア要素を備え得る。モジュール2050は、システムメモリ2030、記憶媒体2040、またはその両方と関連してソフトウェアまたはファームウェアとして記憶された命令の1つまたは複数のシーケンスを含み得る。したがって、記憶媒体2040は、命令またはコードがプロセッサ2010による実行のために記憶され得るマシンまたはコンピュータ読取可能な媒体の例を提示し得る。マシンまたはコンピュータ読取可能な媒体は一般に、プロセッサ2010へ命令を提供するために使用される任意の媒体を称し得る。モジュール2050に関連付けられたそのようなマシンまたはコンピュータ読取可能な媒体は、コンピュータソフトウェア製品を備え得る。モジュール2050を備えるコンピュータソフトウェア製品はまた、ネットワーク2080、任意の信号ベアリング媒体、または、他の任意の通信または伝送技術によってモジュール2050をコンピューティングマシン2000へ伝送するための1つまたは複数の処理または方法に関連付けられ得ることが認識されるべきである。モジュール2050はまた、FPGAまたは他のPLDのためのマイクロコードまたはコンフィギュレーション情報のようなハードウェア回路を構成するためのハードウェア回路または情報をも備え得る。
【０１０３】
入力/出力(「I/O」)インターフェース2060は、1つまたは複数の外部デバイスへ結合し、1つまたは複数の外部デバイスからデータを受信し、1つまたは複数の外部デバイスへデータを送信するように構成され得る。そのような外部デバイスはまた、様々な内部デバイスとともに、周辺デバイスとしても知られ得る。I/Oインターフェース2060は、様々な周辺デバイスをコンピューティングマシン2000またはプロセッサ2010へ動作可能に結合するための電気的と物理的との両方の接続を含み得る。I/Oインターフェース2060は、周辺デバイス、コンピューティングマシン2000、またはプロセッサ2010の間のデータ、アドレス、および制御信号を通信するように構成され得る。I/Oインターフェース2060は、スモールコンピュータシステムインターフェース(「SCSI」)、シリアル接続SCSI(「SAS」)、ファイバチャネル、ペリフェラルコンポーネントインターコネクト(「PCI」)、PCIエクスプレス(PCIe)、シリアルバス、パラレルバス、アドバンストテクノロジアタッチ(「ATA」)、シリアルATA(「SATA」)、ユニバーサルシリアルバス(「USB」)、Thunderbolt、FireWire、様々なビデオバス等のような任意の標準的なインターフェースを実装するように構成され得る。I/Oインターフェース2060は、1つのみのインターフェースまたはバス技術を実装するように構成され得る。あるいは、I/Oインターフェース2060は、多数のインターフェースまたはバス技術を実装するように構成され得る。I/Oインターフェース2060は、システムバス2020の一部として、すべてとして、または、システムバス2020と連携して動作するように構成され得る。I/Oインターフェース2060は、1つまたは複数の外部デバイス、内部デバイス、コンピューティングマシン2000、またはプロセッサ2010間の送信をバッファするための1つまたは複数のバッファを含み得る。
【０１０４】
I/Oインターフェース2060は、マウス、タッチスクリーン、スキャナ、電子デジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロホン、キーボード、他の任意のポインティングデバイス、または、これらの任意の組合せを含む様々な入力デバイスへ、コンピューティングマシン2000を結合し得る。I/Oインターフェース2060は、ビデオディスプレイ、スピーカ、プリンタ、プロジェクタ、接触式フィードバックデバイス、自動制御、ロボット構成要素、アクチュエータ、モータ、ファン、ソレノイド、バルブ、ポンプ、送信機、信号発信機、照明等を含む様々な出力デバイスへコンピューティングマシン2000を結合し得る。
【０１０５】
コンピューティングマシン2000は、ネットワークインターフェース2070を介して、ネットワーク2080を越えた1つまたは複数の他のシステムまたはコンピューティングマシンへの論理接続を使用してネットワーク環境で動作し得る。ネットワーク2080は、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイヤレスアクセスネットワーク、ワイヤネットワーク、モバイルネットワーク、電話ネットワーク、光ネットワーク、またはこれらの組合せを含み得る。ネットワーク2080は、任意のトポロジのパケット交換、回路交換であり、任意の通信プロトコルを使用し得る。ネットワーク2080内の通信リンクは、光ファイバケーブル、空き領域オプティクス、導波管、電導体、ワイヤレスリンク、アンテナ、無線周波数通信等のような様々なデジタルまたはアナログ通信媒体を含み得る。
【０１０６】
プロセッサ2010は、システムバス2020を介して、本明細書で議論されたコンピューティングマシン2000または様々な周辺機器の他の要素へ接続され得る。システムバス2020は、プロセッサ2010の内部、プロセッサ2010の外部、またはその両方にあり得ることが認識されるべきである。いくつかの実施形態に従って、本明細書で議論されたプロセッサ2010、コンピューティングマシン2000の他の要素、または、様々な周辺装置のうちのいずれかは、システムオンチップ(「SOC」)、システムオンパッケージ(「SOP」)、またはASICデバイスのような単一のデバイスへ統合され得る。
【０１０７】
本明細書で議論されたシステムが、ユーザに関する個人情報を収集する、または、個人情報を活用し得る状況では、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会運動または活動、職業、ユーザの嗜好、またはユーザの現在位置に関する情報)を収集するか否かを制御するための、または、ユーザにより関連し得るコンテンツをコンテンツサーバから受信するか否か、および/または、どのようにして受信するのかを制御するための機会またはオプションを提供され得る。それに加えて、いくつかのデータは、記憶または使用される前に、1つまたは多くの方式で取り扱われ、これによって、個人的に識別可能な情報が削除されるようになる。たとえば、個人的に識別可能などの情報もユーザについて判定されないように、または、場所情報が取得されたユーザの地理的場所が(都市、郵便番号、または州レベルへ)一般化されるように、ユーザの識別情報が取り扱われ得、これによって、ユーザの特定の場所は判定されない。したがって、ユーザは、ユーザに関する情報がコンテンツサーバによってどのようにして収集され使用されるのかに関する制御を有し得る。
【０１０８】
実施形態は、本明細書において説明され例示された機能を具現化するコンピュータプログラムを備え得る。コンピュータプログラムは、マシン読取可能な媒体に記憶された命令と、命令を実行するプロセッサとを備えるコンピュータシステムにおいて実装される。しかしながら、コンピュータプログラミングにおいて実施形態を実装する多くの異なる方式が存在し得、これら実施形態は、コンピュータプログラム命令のうちの任意の1つのセットへ限定されるものとして解釈されるべきではないことが認識されるべきである。さらに、熟練したプログラマは、本願のテキストにおいて添付されたフローチャートおよび関連付けられた説明に基づいて、開示された実施形態の実施形態を実装するためのそのようなコンピュータプログラムを書くことができるであろう。したがって、プログラムコード命令の特定のセットの開示は、実施形態をどのように作り使用するのかの適切な理解のために必要であると考えられない。さらに、当業者であれば、本明細書で説明された実施形態の1つまたは複数の態様は、1つまたは複数のコンピューティングシステムにおいて具原化され得るように、ハードウェア、ソフトウェア、またはこれらの組合せによって実行され得ることを認識するであろう。さらに、コンピュータによって実行されている動作へのあらゆる参照は、1つよりも多くのコンピュータが動作を実行し得るように、単一のコンピュータによって実行されているものとして解釈されるべきではない。
【０１０９】
本明細書において説明された例示的な実施形態は、本明細書に説明された方法および処理機能を実行するコンピュータハードウェアおよびソフトウェアとともに使用され得る。本明細書において説明されたシステム、方法、および手順は、プログラマブルコンピュータ、コンピュータ実行可能なソフトウェア、またはデジタル回路において具現化され得る。ソフトウェアは、コンピュータ読取可能な媒体に記憶され得る。たとえば、コンピュータ読取可能な媒体は、フロッピーディスク、RAM、ROM、ハードディスク、リムーバブルメディア、フラッシュメモリ、メモリスティック、光媒体、磁気光媒体、CD-ROM等を含み得る。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ(FPGA)等を含み得る。
【０１１０】
以前に提示された実施形態において説明されている例示的なシステム、方法、および動作は例示的であり、代替実施形態では、いくつかの動作は、異なる順序で、互いに平行して、全体的に省略され、および/または、異なる例示的な実施形態の組合せで実行され得、および/または、いくつかの追加の動作が、様々な実施形態の範囲および趣旨から逸脱することなく実行され得る。したがって、そのような代替実施形態は、以下の特許請求の範囲の範囲に含まれ、これらは、そのような代替実施形態を包含するように、最も広い解釈が与えられるべきである。
【０１１１】
特定の実施形態が、上記で詳細に説明されたが、この説明は、単なる例示の目的のためである。したがって、上記で説明された多くの態様は、そうではないと明示的に述べられていないのであれば、必要とされる、または、本質的な要素として意図されていないことが認識されるべきである。これら上記で説明されたものに加えて、例示的な実施形態の開示された態様の修正、および、対応する等価な構成要素または動作は、以下の特許請求の範囲において定義された実施形態の趣旨および範囲から逸脱することなく、本開示の利点を有する、当業者によってなされ得る。特許請求の範囲の範囲は、そのような修正および等価な構成を包含するように、最も広い解釈が与えられるものとする。
【符号の説明】
【０１１２】
100  システム
101  ユーザ
110  ユーザコンピューティングデバイス
111  ユーザインターフェース
112  データ記憶ユニット
113  アンテナ
114  アプリケーション
115  コントローラ
116  通信アプリケーション
117  ウェブブラウザ
118  支払アプリケーション
120  ネットワーク
130  店舗ビーコンデバイス
131  アプリケーション
132  データ記憶ユニット
133  コントローラ
135  アンテナ
137  加速度計
139  セキュアな要素
2000  コンピューティングマシン
2010  プロセッサ
2020  システムバス
2030  システムメモリ
2040  記憶媒体
2050  モジュール
2060  入力/出力インターフェース
2070  ネットワークインターフェース
2080  ネットワーク
【図１】
0006316986.tif 000002
【図２】
0006316986.tif 000003
【図３】
0006316986.tif 000004
【図４】
0006316986.tif 000005
【図５】
0006316986.tif 000006
【図６】
0006316986.tif 000007