(57)【要約】  ユーザは、ユーザデバイスを用いてロケーションに入る。ビーコンデバイスは、ロケーションにおいてローカルワイヤレスネットワークを介して、ハードウェア識別子を含む第1のビーコンデバイスコードをブロードキャストする。ユーザデバイスのサービスアプリケーションは、第1のビーコンデバイスハードウェア識別子を受信し、ユーザのチェックインステータスをログし、チェックインステータスをサービスプロバイダシステムに送信する。ビーコンデバイスは、所定の時間期間の後に、乱数を含む後続のビーコンデバイスコードを生成して、ローカルワイヤレスネットワークを介してロケーションにおいてブロードキャストする。ビーコンデバイスによってブロードキャストされた後続のビーコンデバイスコードを受信したことに応答して、ユーザデバイスは、後続のチェックインステータスをログし、ネットワークを介してサービスプロバイダシステムに送信する。サービスプロバイダシステムは、ユーザデバイスのチェックインステータスに従って、サービスをロケーションにおけるユーザデバイスまたは別のデバイスに提供する。
2019514231.tif 000002
【特許請求の範囲】
【請求項１】
ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にする、コンピュータにより実行される方法であって、
ユーザコンピューティングデバイスによって、サービスプロバイダシステムのロケーションにおけるビーコンデバイスから、第1のビーコンデバイスコードを受信するステップと、
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するステップと、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ユーザコンピューティングデバイスによって、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するステップと、
前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するステップと
を含む方法。
【請求項２】
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項1に記載の方法。
【請求項５】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項4に記載の方法。
【請求項６】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項1に記載の方法。
【請求項７】
コンピュータプログラム製品であって、
コンピュータによって実行されると、ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にすることを前記コンピュータに行わせるコンピュータ実行可能プログラム命令を具現化した非一時的コンピュータ可読媒体を備え、前記コンピュータ実行可能プログラム命令が、
ビーコンデバイスから、第1のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と
を含む、コンピュータプログラム製品。
【請求項８】
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム製品。
【請求項９】
前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム製品。
【請求項１０】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項7に記載のコンピュータプログラム製品。
【請求項１１】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項10に記載のコンピュータプログラム製品。
【請求項１２】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項7に記載のコンピュータプログラム製品。
【請求項１３】
前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項7に記載のコンピュータプログラム製品。
【請求項１４】
ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にするシステムであって、
記憶デバイスと、
前記記憶デバイスに通信可能に結合されたプロセッサとを備え、前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
ビーコンデバイスから、第1のビーコンデバイスコードを受信することと、
前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信することと、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信することと、
前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信することと
を行わせる、システム。
【請求項１５】
前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
を行わせるようにさらに構成される、請求項14に記載のシステム。
【請求項１６】
前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
を行わせるようにさらに構成される、請求項14に記載のシステム。
【請求項１７】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項14に記載のシステム。
【請求項１８】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項17に記載のシステム。
【請求項１９】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項14に記載のシステム。
【請求項２０】
前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に完全に組み込まれる、2016年2月23日に出願された「Identifying User Device Status Via Rotating MAC Addresses On A beacon Device」と題する米国仮特許出願第62/298,975号の優先権を主張する。
【０００２】
本開示は、ユーザコンピューティングデバイスのロケーションをログすることを対象とし、より詳細には、特定のロケーションに設置されたビーコンデバイスからビーコンデバイスハードウェア識別子を受信することによって、ユーザコンピューティングデバイスのロケーションをログすることを対象とする。
【背景技術】
【０００３】
マーチャントシステム、支払処理システム、およびサービスをユーザに提供する他のサービス提供システムは、ロケーションに関連付けられたサービスを提供する前にユーザコンピューティングデバイスに関連付けられた顧客がロケーションにいるかどうかを決定するために、ユーザコンピューティングデバイスのチェックインステータスを利用し得る。サービス提供システムは、サービスアプリケーションをユーザコンピューティングデバイスに提供することができ、ユーザコンピューティングデバイスは、ワイヤレス通信チャネルを介してビーコンデバイスからハードウェア識別子を受信することによって、ロケーションに設置されたビーコンデバイスをユーザコンピューティングデバイスを介して検出することによって、サービスアプリケーションを介してチェックインステータスを開始することができる。サービス提供システムは、ユーザコンピューティングデバイスがビーコンデバイスを検出したことに応答して、アプリケーションからチェックインステータス信号を受信することができる。ユーザコンピューティングデバイスは、ロケーションにおけるビーコンデバイスを再検出したことに応答して、所定の時間間隔でチェックインステータス信号をサービス提供システムに提供することができる。サービス提供システムは、システムがユーザコンピューティングデバイスからチェックインステータス信号を受信し続ける場合、ユーザコンピューティングデバイスのチェックインステータスを維持し続けることができる。しかしながら、現在、いくつかのユーザコンピューティングデバイス動作環境は、動作環境のバックグラウンドで動作するサービスアプリケーションが、特定のビーコンデバイスからデータを最初に受信した後で、その特定のビーコンデバイスを続いて検出することができないという点で制約されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書の技法は、特定のビーコンデバイスのハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するアプリケーションによる、ロケーションにおける特定のビーコンデバイスの繰り返し検出を可能にする、コンピュータにより実行される方法を提供する。ユーザは、ユーザコンピューティングデバイスを介してサービスプロバイダシステムとのアカウントを確立し、サービスプロバイダシステムに関連付けられたサービスアプリケーションをネットワークを介してユーザコンピューティングデバイスにダウンロード/インストールする。サービスプロバイダシステム、またはサービスプロバイダシステムに関連付けられたシステムは、ロケーションに設置されたビーコンデバイスに関連付けられる。ユーザは、ユーザコンピューティングデバイス上で動作するサービスアプリケーションを介してサービスアプリケーションにサインインする。一例では、ユーザがサービスアプリケーションにサインインするとき、サービスアプリケーションはユーザコンピューティングデバイスのオペレーティングシステムのフォアグラウンドで動作している。この例では、ユーザがユーザコンピューティングデバイス上で別のアプリケーションを選択した場合、サービスアプリケーションはオペレーティングシステムのバックグラウンドで動作するが、別のアプリケーションはオペレーティングシステムのフォアグラウンドで動作する。別の例では、ユーザコンピューティングデバイスはスリープモードまたは他の節電モードで動作し、ユーザコンピューティングデバイスのユーザインターフェースは無効化され、サービスアプリケーションはユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作する。ユーザは、ユーザコンピューティングデバイスを用いて、設置されたビーコンデバイスに関連付けられたロケーションに入る。ビーコンデバイスは、ローカルワイヤレスネットワークを介して、ロケーションにおいて第1のビーコンデバイスハードウェア識別子および他のデータをブロードキャストする。ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するサービスアプリケーションは、ロケーションにおけるローカルワイヤレスネットワークを介して、ビーコンデバイスから第1のビーコンデバイスハードウェア識別子および他のデータを受信する。ビーコンデバイスハードウェア識別子を受信したことに応答して、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するサービスアプリケーションは、ロケーションにおけるユーザのチェックインステータスをログし、ネットワークを介してチェックインステータス信号をサービスプロバイダシステムに送信する。所定の時間期間にわたって第1のビーコンデバイスハードウェア識別子をブロードキャストした後、ビーコンデバイスは、たとえば、乱数生成器を介して、後続のビーコンデバイスハードウェア識別子を生成し、ローカルワイヤレスネットワークを介して、ロケーションにおいて他のデータとともに後続のビーコンデバイスハードウェア識別子をブロードキャストす��。たとえば、各所定の時間期間が経過した後、ビーコンデバイスは、新しいビーコンデバイスハードウェア識別子をランダムに生成して、ロケーションにおいて他のデータとともにブロードキャストする。ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するサービスアプリケーションは、ロケーションにおけるローカルワイヤレスネットワークを介して、ビーコンデバイスから後続のビーコンデバイスハードウェア識別子および他のデータを受信する。ビーコンデバイスから後続のビーコンデバイスハードウェア識別子を受信したことに応答して、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するサービスアプリケーションは、ロケーションにおけるユーザの後続のチェックインステータスをログし、ネットワークを介して後続のチェックインステータス信号をサービスプロバイダシステムに送信する。サービスプロバイダシステムは、サービスまたはデータをロケーションにおけるユーザコンピューティングデバイスまたは別のコンピューティングデバイスに提供することができる一方、サービスプロバイダシステムは、ロケーションにおけるユーザのチェックインステータスを維持する。サービスプロバイダシステムが、ユーザコンピューティングデバイスから以前のチェックインステータス信号を受信した後、所定の長さの時間内にユーザコンピューティングデバイスから後続のチェックインステータス信号を受信しない場合、サービスプロバイダシステムは、チェックアウトステータスまたは未チェックインステータスをログすることができる。
【０００５】
本明細書で説明するいくつかの他の例示的な態様では、特定のビーコンデバイスのハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作するアプリケーションによる、ロケーションにおける特定のビーコンデバイスの繰り返し検出を可能にするシステムおよびコンピュータプログラム製品が提供される。
【０００６】
例のこれらおよび他の態様、目的、特徴、および利点は、図示される例の以下の詳細な説明を検討すれば、当業者に明らかとなろう。
【図面の簡単な説明】
【０００７】
【図１】いくつかの例による、ビーコンデバイスのハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作する支払アプリケーションによる、ロケーションにおけるビーコンデバイスの繰り返し検出を可能にするシステムを示すブロック図である。
【図２】いくつかの例による、ビーコンデバイスのハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作する支払アプリケーションによる、ロケーションにおけるビーコンデバイスの繰り返し検出を可能にするための方法を示すブロックフロー図である。
【図３】いくつかの例による、ユーザによって、アカウントをアカウント管理システムに登録するための方法を示すブロックフロー図である。
【図４】いくつかの例による、マーチャントシステムによって、アカウントをアカウント管理システムに登録し、ハードウェアをマーチャントシステムロケーションに設置するための方法を示すブロックフロー図である。
【図５】いくつかの例による、ユーザコンピューティングデバイスによって、マーチャントビーコンデバイスによってブロードキャストされたマーチャントビーコンデバイスコードを受信し、チェックイン信号をアカウント管理システムに送信するための方法を示すブロックフロー図である。
【図６】いくつかの例による、ユーザコンピューティングデバイスによって、支払アプリケーションがユーザコンピューティングデバイスのオペレーティングシステムのバックグラウンドで動作している間に、マーチャントビーコンデバイスによってブロードキャストされたマーチャントビーコン識別子を受信し、後続のチェックイン信号をアカウント管理システムに送信するための方法を示すブロックフロー図である。
【図７】いくつかの例による、アカウント管理システムによってユーザアカウントのチェックインステータスを監視するための方法を示すブロックフロー図である。
【図８】いくつかの例による、ユーザによってマーチャントシステム販売時点デバイスにおけるトランザクションを開始するための方法を示すブロックフロー図である。
【図９】いくつかの例による、アカウント管理システムによってトランザクションを処理するための方法を示すブロックフロー図である。
【図１０】いくつかの例による、コンピューティングマシンおよびモジュールを示すブロック図である。
【発明を実施するための形態】
【０００８】
概説
図1を参照すると、本明細書で説明する例は、いくつかの例による、ビーコンデバイス120のハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作するサービスアプリケーション113による、ロケーションにおけるビーコンデバイス120の繰り返し検出を可能にするコンピュータ実装技法を提供する。
【０００９】
一例では、ユーザ101は、ユーザコンピューティングデバイス110を介してサービスプロバイダシステム130とのアカウントを確立し、サービスプロバイダシステム130に関連付けられたサービスアプリケーション113をネットワーク170を介してユーザコンピューティングデバイス110にダウンロード/インストールする。一例では、ユーザ101は、サービスプロバイダシステム130に登録する。たとえば、ユーザ101は、ユーザ101に関連付けられたユーザコンピューティングデバイス110を介してサービスプロバイダシステムのウェブサイト139にアクセスする。ユーザ101は、サービスプロバイダシステム130に登録し、サービスアプリケーション113をユーザコンピューティングデバイス110にダウンロードする。一例では、ユーザ101は、金融アカウントデータなどのデータを、サービスアプリケーション113を介して、サービスプロバイダシステム130を介してユーザ101のアカウントにアップロードする。
【００１０】
一例では、サービスプロバイダシステム130、またはマーチャントシステムなどのサービスプロバイダシステム130に関連付けられたシステムは、ロケーションに設置された1つまたは複数のビーコンデバイス120を含む。たとえば、マーチャントは、1つまたは複数のビーコンデバイス120を、マーチャントの実店舗ロケーションなどのマーチャントシステムロケーションに設置する。この例では、マーチャントおよび/またはサービスプロバイダシステム130は、ワイヤレス通信ネットワーク、たとえば、Bluetooth(登録商標) Low-Energy(「BLE」)ネットワーク180を介して、ロケーションにおいてそれぞれのマーチャントビーコンデバイス120のハードウェア識別子をブロードキャストするように、ロケーションにおける各ビーコンデバイス120を構成する。たとえば、ハードウェア識別子は、それぞれのビーコンデバイス120に関連付けられた媒体アクセス制御アドレス(「MACアドレス」)または他のハードウェア識別子を含む。いくつかの例では、マーチャントおよび/またはサービスプロバイダシステム130は、1つまたは複数のビーコンデバイス120に加えて、1つまたは複数の販売時点デバイス160、1つまたは複数のカメラデバイス150、および/あるいは1つまたは複数の他のコンピューティングデバイスをロケーションに設置することができる。
【００１１】
ユーザ101は、ユーザコンピューティングデバイス110上のサービスアプリケーション113にサインインし、設置されたビーコンデバイスに関連付けられたロケーションに入る。一例では、ユーザ101がサービスアプリケーション113にサインインすると、サービスアプリケーション113はユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。この例では、ユーザ101がユーザコンピューティングデバイス110上で別のアプリケーションを選択した場合、サービスアプリケーション113はフォアグラウンドで動作するのをやめ、オペレーティングシステムのバックグラウンドで動作し始めるが、別のアプリケーションはユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。別の例では、ユーザコンピューティングデバイス110はスリープモードまたは他の節電モードで動作し、ユーザコンピューティングデバイスのユーザインターフェース111は無効化され、サービスアプリケーション113はユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する。一例では、ユーザコンピューティングデバイス110上の1つのアプリケーションだけが一度にフォアグラウンドで動作することができる。この例では、バックグラウンドで動作するアプリケーションは、限られた処理能力を有するが、フォアグラウンドで動作するアプリケーションは、ユーザコンピューティングデバイス110上で自由に実行することができる。より具体的には、オペレーティングシステムのバックグラウンドで実行されるサービスアプリケーション113は、特定のビーコンデバイス120が同じMACアドレスをブロードキャストするので、特定のビーコンデバイス120を検出し続けることができない。サービスアプリケーション113は最初に、ブロードキャストされたMACアドレスに基づいて特定のビーコンデバイス120を検出する。その後、サービスアプリケーションは、特定のビーコンデバイスのMACアドレスとは異なる、ビーコンデバイスのMACアドレスのみを検出する。ユーザ101は、設置されたビーコンデバイス120に関連付けられたロケーションに入る。たとえば、ユーザ101は、ユーザコンピューティングデバイス110を用いてロケ
ーションに入る。一例では、ユーザ101は、ロケーションにおけるビーコンデバイス120の距離内でユーザコンピューティングデバイス110を持ち運び、その距離は、ビーコンデバイス120の検出範囲内である。一例では、ロケーションにおけるビーコンデバイス120は、ロケーションにおけるBluetooth Low-Energy(「BLE」)ネットワーク180または他のワイヤレスネットワークを介して、ロケーションにおいて第1のビーコンデバイス120のハードウェア識別子および他のデータをブロードキャストする。一例では、ビーコンデバイス120は、別のタイプのローカルワイヤレスネットワーク、たとえば、Bluetoothネットワークまたは近距離無線通信(「NFC」)ネットワークを介して、ロケーションにおいてハードウェア識別子および他のデータをブロードキャストする。一例では、他のデータは、ビーコンデバイス120の名前、BLEネットワーク180の接続名、または他のデータを含む。
【００１２】
一例では、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドまたはフォアグラウンドで動作するサービスアプリケーション113は、ロケーションにおけるBLEネットワーク180または他のワイヤレスネットワークを介して、ビーコンデバイス120から第1のビーコンデバイス120のハードウェア識別子および他のデータを受信する。ビーコンデバイス120のハードウェア識別子を受信したことに応答して、サービスアプリケーション113は、ロケーションにおけるユーザ101のチェックインステータスをログし、ネットワーク170を介してチェックインステータス信号をサービスプロバイダシステム130に送信する。一例では、サービスプロバイダシステム130は、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを維持する。所定の時間期間にわたって第1のビーコンデバイス120のハードウェア識別子をブロードキャストした後、ビーコンデバイス120は、乱数生成器123を介して、後続のビーコンデバイス120のハードウェア識別子を生成し、BLEネットワーク180または他のローカルワイヤレスネットワークを介して、ロケーションにおいて他のデータとともに後続のビーコンデバイス120のハードウェア識別子をブロードキャストする。例示的なビーコンデバイス120のハードウェア識別子は、ランダムに生成された一連の英数字および/または記号文字を含む。たとえば、各所定の時間期間が経過した後、ビーコンデバイスは、新しいビーコンデバイス120のハードウェア識別子をランダムに生成して、ロケーションにおけるBLEネットワーク180または他のローカルワイヤレスネットワークを介して、ロケーションにおいて他のデータとともにブロードキャストする。
【００１３】
ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作するサービスアプリケーション113は、ロケーションにおけるBLEネットワーク180または他のローカルワイヤレスネットワークを介して、ビーコンデバイス120から後続のビーコンデバイス120のハードウェア識別子および他のデータを受信する。ビーコンデバイス120から後続のビーコンデバイス120のハードウェア識別子を受信したことに応答して、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作するサービスアプリケーション113は、ロケーションにおけるユーザ101の後続のチェックインステータスをログし、ネットワーク170を介して後続のチェックインステータス信号をサービスプロバイダシステム130に送信する。サービスプロバイダシステム130は、サービスまたはデータをロケーションにおけるユーザコンピューティングデバイス110または別のコンピューティングデバイスに提供することができる一方、サービスプロバイダシステム130は、ロケーションにおけるユーザ101のチェックインステータスを維持する。サービスプロバイダシステムが、ユーザコンピューティングデバイス110から以前のチェックインステータス信号を受信した後、しきい値長さの時間内にネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックインステータス信号を受信しない場合、サービスプロバイダシステムは、チェックアウトステータスまたは未チェックインステータスをログすることができる。
【００１４】
一例では、ユーザ101がロケーションにおいて現在チェックインしている場合、販売時点デバイス(「POSデバイス」)160は、サービスプロバイダシステム130に関連付けられたデータを使用してトランザクションを処理するだけであってもよい。別の例では、ユーザ101がロケーションにおいて現在チェックインしていない場合、POSデバイス160は、サービスプロバイダシステム130に関連付けられたデータを使用してトランザクションを処理することができない。一例では、POSデバイス160は、サービスプロバイダシステム130が、POSデバイスのオペレータ102によるトランザクションの開始に応答して、ユーザ101に関連付けられたデータを用いてトランザクションを処理することを要求してもよい。この例では、サービスプロバイダシステム130は、ロケーションに関連付けられたチェックインログにアクセスする。ユーザ101がロケーションにおいてチェックインしているものとして現在ログされている場合、サービスプロバイダシステムは、サービスプロバイダシステム130によってアカウント内で維持されている、ユーザ101に関連付けられたデータを使用してトランザクションを処理するために、イシュアシステム(Issuer System)140と通信する。この例では、ユーザ101がロケーションにおいてチェックインしているものとして現在ログされていない場合、サービスプロバイダシステムは、トランザクションを処理することができないというメッセージをPOSデバイス160に送信する。
【００１５】
ロケーションにおけるユーザコンピューティングデバイスのチェックインステータスを維持するための従来のアプリケーションは、ユーザコンピューティングデバイスが、ロケーションにおける同じビーコンデバイスから後続のハードウェア識別子を周期的に受信することによって、ユーザコンピューティングデバイスのバックグラウンドで動作するアプリケーションを介してチェックインステータス信号を送信することを可能にしない。本明細書で説明する方法およびシステムを使用し、それらに頼ることによって、サービスプロバイダシステム130、ビーコンデバイス120、およびユーザコンピューティングデバイス110は、ビーコンデバイス120によってブロードキャストされたコードを周期的に変更することによって、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する支払アプリケーション113による、ロケーションにおけるビーコンデバイス120の繰り返し検出を可能にする。
【００１６】
例示的なシステムアーキテクチャ
次に、図全体を通して同様の数字が同様の(ただし必ずしも同一ではない)要素を示す図面を参照して、例について詳細に説明する。
【００１７】
図1は、いくつかの例による、ビーコンデバイス120のハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイス110のサービスアプリケーション113による、ロケーションにおけるビーコンデバイス120の繰り返し検出を可能にするシステム100を示すブロック図である。図1に示すように、システム100は、1つまたは複数のネットワーク170を介して互いと通信するように構成されたネットワークコンピューティングデバイス110、120、130、140、150、および160を含む。いくつかの実施形態では、デバイスに関連付けられたユーザは、本明細書で説明する技法の利益を得るために、アプリケーションのインストールおよび/または機能選択を行わなければならない。
【００１８】
例では、ネットワーク170は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、イントラネット、インターネット、ストレージエリアネットワーク(「SAN」)、パーソナルエリアネットワーク(「PAN」)、メトロポリタンエリアネットワーク(「MAN」)、ワイヤレスローカルエリアネットワーク(「WLAN」)、仮想プライベートネットワーク(「VPN」)、セルラーもしくは他のモバイル通信ネットワーク、Wi-Fi、Bluetooth、Bluetooth low energy(「BLE」)、NFC、またはそれらの任意の組合せ、あるいは、信号、データ、および/またはメッセージの通信を容易にする任意の他の適切なアーキテクチャまたはシステムを含むことができる。例の説明を通して、「データ」および「情報」という用語は、テキスト、画像、オーディオ、ビデオ、またはコンピュータベースの環境に存在することができる任意の他の形態の情報を指すために、本明細書では交換可能に使用されることを理解されたい。
【００１９】
各ネットワークコンピューティングデバイス110、120、130、140、150、および160は、ネットワーク170を介してデータを送信および受信することが可能な通信モジュールを有するデバイスを含む。たとえば、各ネットワークコンピューティングデバイス110、130、140、150、および160は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、1つまたは複数のプロセッサが埋め込まれたおよび/または結合されたテレビジョン、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末(「PDA」)、ビーコンデバイス、または任意の他のワイヤードもしくはワイヤレスのプロセッサ駆動型デバイスを含むことができる。図1に示す例では、ネットワークコンピューティングデバイス110、120、130、140、150、および160は、それぞれ、ユーザ101、ビーコンデバイス120のオペレータ、サービスプロバイダシステム130のオペレータ、イシュアシステム140のオペレータ、カメラデバイス150のオペレータ、販売時点(「POS」)デバイス160のオペレータ、および支払処理システム160のオペレータによって操作される。
【００２０】
図1に示す例では、ネットワークコンピューティングデバイス110は、ユーザコンピューティングデバイス110として具現化される。例示的なユーザコンピューティングデバイス110は、アンテナ111と、Bluetooth low energy(「BLE」)コントローラ112と、サービスアプリケーション113と、ユーザインターフェース115と、データ記憶ユニット116と、ウェブブラウザ118と、通信アプリケーション119とを備える。
【００２１】
一例では、アンテナ111は、ユーザコンピューティングデバイス110とビーコンデバイス120との間、およびネットワーク170との通信のためのハードウェアデバイスである。一例では、BLEコントローラ112は、アンテナ111を介して信号を出力するか、またはロケーションにおけるBLEネットワーク180もしくは他のローカルワイヤレスネットワークを介してビーコンデバイス120からの信号を受信する。別の例では、Bluetoothコントローラまたは近距離無線通信(「NFC」)コントローラが使用される。
【００２２】
一例では、BLEコントローラ112は、BLE指定の手順に従って、データを送信および受信すること、認証機能および暗号化機能を実行すること、ユーザコンピューティングデバイス110がどのようにビーコンデバイス120からの送信をリッスンおよび受信するかを指示すること、またはユーザコンピューティングデバイス110を様々な節電モードに構成することが可能である。別の例では、ユーザコンピューティングデバイス110は、同様の機能を実行することが可能なBluetoothコントローラ、Wi-Fiコントローラ、またはNFCコントローラを備える。例示的なBLEコントローラ112は、サービスアプリケーション113と通信し、ワイヤレスBLEネットワーク180を介してデータを送信および受信することが可能である。別の例では、Bluetoothコントローラ112またはNFCコントローラ112は、BluetoothプロトコルまたはNFCプロトコルを使用してBLEコントローラ112と同様の機能を実行する。一例では、BLEコントローラ112は、ユーザコンピューティングデバイス110とビーコンデバイス120との間にBLE通信チャネルなどのワイヤレス通信チャネルを作成するために、アンテナ111を有効化する。ユーザコンピューティングデバイス110は、アンテナ111を介してビーコンデバイス120と通信する。一例では、ユーザコンピューティングデバイス110が有効化されているとき、BLEコントローラ112はアンテナ111を介して信号をポーリングするか、またはビーコンデバイス120からの信号をリッスンおよび受信する。
【００２３】
一例では、サービスアプリケーション113は、プログラム、関数、ルーチン、アプレット、またはユーザコンピューティングデバイス110上に存在し、ユーザコンピューティングデバイス110上でその動作を実行する同様のエンティティであり、ユーザコンピューティングデバイス110のオペレーティングシステムにおいて実行される。いくつかの例では、ユーザ101は、本明細書で説明する技法の利益を得るために、サービスアプリケーション113のインストールおよび/またはユーザコンピューティングデバイス110上での機能選択を行わなければならない。一例では、ユーザ101は、ユーザインターフェース115を介してユーザコンピューティングデバイス110上のサービスアプリケーション113にアクセスすることができる。一例では、サービスアプリケーション113は、サービスプロバイダシステム130に関連付けられてもよい。別の例では、サービスアプリケーション113は、ロケーションにおけるビーコンデバイス120、販売時点デバイス160、および/またはカメラデバイス150に関連付けられたマーチャントシステムに関連付けられてもよい。
【００２４】
一例では、ユーザインターフェース115は、ユーザ101がサービスアプリケーション113および/またはウェブブラウザ118と対話することを可能にする。たとえば、ユーザインターフェース115は、タッチスクリーン、音声ベースのインターフェース、または、ユーザ101が入力を与え、ユーザコンピューティングデバイス110上のアプリケーションもしくはモジュールからの出力を受信することを可能にする任意の他のインターフェースであってもよい。一例では、ユーザ101は、サービスプロバイダシステム130上でユーザ101のアカウントを構成するために、ユーザインターフェース115を介してサービスアプリケーション113および/またはウェブブラウザ118と対話する。別の例では、ユーザ101は、必要であれば、ハンズフリー支払など、サービスプロバイダシステム130によって提供されるサービスを可能にするために、ユーザインターフェース115を介してサービスアプリケーション113および/またはウェブブラウザ118と対話する。
【００２５】
一例では、データ記憶ユニット116は、情報を記憶するのに適した、ユーザコンピューティングデバイス110がアクセス可能なローカルまたはリモートのデータ記憶構造を備える。
【００２６】
一例では、ユーザ101は、ネットワーク170を介してドキュメントまたはウェブページを閲覧する、ダウンロードする、アップロードする、または他の方法でそれらにアクセスするために、ウェブブラウザ118のアプリケーションまたはスタンドアロンアプリケーションなどの通信アプリケーション119を使用することができる。
【００２７】
一例では、ウェブブラウザ118は、ユーザ101がユーザコンピューティングデバイス110を使用してウェブページと対話することを可能にすることができる。一例では、ユーザ101は、ウェブブラウザ118を介して、サービスプロバイダシステム130によって維持されているユーザ101のアカウントにアクセスすることができる。別の例では、ユーザ101は、ウェブブラウザ118を介して、サービスプロバイダシステムのウェブサイト139にアクセスすることができる。本明細書で説明するいくつかの例では、サービスアプリケーション113によって実行される1つまたは複数の機能は、サービスプロバイダシステム130に関連付けられたウェブブラウザ118のアプリケーションによって実行されることもある。
【００２８】
一例では、通信アプリケーション119は、ユーザコンピューティングデバイス110とサービスプロバイダシステム130のウェブサーバ138とを含む、ネットワーク170に接続されたウェブサーバまたは他のコンピューティングデバイスと対話することができる。
【００２９】
いくつかの例では、サービスアプリケーション113によって実行されるものとして説明される本明細書の1つまたは複数の機能は、ウェブブラウザ118のアプリケーション、たとえば、サービスプロバイダシステム130のウェブサイト139に関連付けられたまたはサービスプロバイダシステム130に関連付けられたウェブブラウザ118のアプリケーションによって実行されることもある。いくつかの例では、サービスアプリケーション113によって実行されるものとして説明される本明細書の1つまたは複数の機能は、ユーザコンピューティングデバイス110のオペレーティングシステムによって実行されることもある。いくつかの例では、ウェブブラウザ118を介して実行されるものとして説明される本明細書の1つまたは複数の機能は、サービスアプリケーション113を介して実行されることもある。
【００３０】
図1に示す例では、ネットワークコンピューティングデバイス120は、ビーコンデバイス120として具現化される。例示的なビーコンデバイス120は、アンテナ121と、BLEコントローラ122と、乱数生成器123とを備える。例示的なビーコンデバイス120は、BLEネットワーク180または他のローカルワイヤレスネットワークを介して、特定のマーチャントビーコンデバイス120のハードウェア識別子およびビーコンデバイス120に関連付けられた他のデータを、ビーコンデバイス120の通信範囲内の任意のユーザコンピューティングデバイス110にブロードキャストする、発する、または他の方法で送信するようにプログラムされる。別の例では、BLEネットワーク180は代わりに、Bluetoothネットワーク、NFCネットワーク、または任意の他の適切なローカルワイヤレスネットワークを含んでもよく、ビーコンデバイス120はそれに応じて、Bluetoothネットワークコントローラ、NFCネットワークコントローラ、または任意の他の適切なローカルワイヤレスネットワークコントローラを含んでもよい。
【００３１】
一例では、アンテナ121は、ユーザコンピューティングデバイス110とロケーションに設置されたビーコンデバイス120との間の通信のためのハードウェア構成要素である。一例では、BLEコントローラ122は、アンテナ121を介して信号を出力するか、またはユーザコンピューティングデバイス110からの信号をリッスンおよび受信する。別の例では、Bluetoothコントローラまたは近距離無線通信(「NFC」)コントローラが使用される。
【００３２】
一例では、BLEコントローラ122は、BLE指定の手順に従って、データを送信および受信すること、認証機能および暗号化機能を実行すること、ビーコンデバイス120がどのようにユーザコンピューティングデバイス110からの送信をリッスンするかを指示すること、またはビーコンデバイス120を様々な節電モードに構成することが可能である。別の例では、ビーコンデバイス120は、同様の機能を実行することが可能なBluetoothコントローラまたはNFCコントローラを備える。例示的なBLEコントローラ122は、サービスアプリケーション113と通信し、ワイヤレスBLE通信チャネルを介してデータを送信および受信することが可能である。別の例では、BluetoothコントローラまたはNFCコントローラは、BluetoothプロトコルまたはNFCプロトコルを使用してBLEコントローラ122と同様の機能を実行する。一例では、BLEコントローラ122は、ユーザコンピューティングデバイス110とビーコンデバイス120との間にワイヤレス通信チャネルを作成するために、アンテナ121を有効化する。ビーコンデバイス120は、アンテナ121を介してユーザコンピューティングデバイス110と通信する。一例では、ビーコンデバイス120が有効化されているとき、BLEコントローラ122はアンテナ121を介して信号をポーリングするか、またはユーザコンピューティングデバイス110からの信号をリッスンおよび受信する。
【００３３】
例示的な乱数生成器123は、ビーコンデバイス120のハードウェア識別子を生成する。例示的なビーコンデバイス120のハードウェア識別子は、媒体アクセス制御(「MAC」)アドレスを含む。一例では、乱数生成器123は、周期的な時間間隔で、たとえば、5分ごとに、後続のMACアドレスまたは他のハードウェア識別子を生成する。一例では、乱数生成器123は、続いて生成されたハードウェア識別子をBLEコントローラ122に通信し、BLEコントローラ122は、以前のビーコンデバイス120のハードウェア識別子をブロードキャストするのをやめ、ロケーションにおけるBLEネットワーク180を介して、続いて生成されたビーコンデバイス120のハードウェア識別子をブロードキャストする。
【００３４】
図1に示す例では、ネットワークコンピューティングデバイス130は、サービスプロバイダシステム130として具現化される。例示的なサービスプロバイダシステム130は、アカウント管理モジュール131と、データ記憶ユニット136と、トランザクション処理モジュール137と、サーバ138と、ウェブサイト139とを備える。
【００３５】
一例では、アカウント管理モジュール131は、1つまたは複数のユーザ101のアカウントを管理する。一例では、ユーザ101のアカウントは、デジタルウォレットアカウント、電子メールアカウント、ソーシャルネットワーキングアカウント、またはサービスプロバイダシステム130に関連付けられた任意の他の適切なアカウントを含んでもよい。一例では、アカウント管理モジュール131は、サービスプロバイダシステム130とのユーザ101のアカウントを有するユーザ101に関連付けられたユーザコンピューティングデバイス110上で動作するサービスアプリケーション113と通信する。一例では、ユーザ101は、支払アカウント情報などのデータを、サービスアプリケーション113を介してユーザ101のアカウントに入力し、アカウント管理モジュール131は、ネットワーク170を介してデータを受信し、受信されたデータをユーザ101のアカウントに関連付ける。
【００３６】
一例では、データ記憶ユニット136は、情報を記憶するのに適した、サービスプロバイダシステム130がアクセス可能なローカルまたはリモートのデータ記憶構造を備える。
【００３７】
一例では、処理モジュール137は、マーチャント販売時点(「POS」)デバイス160からのまたはロケーションにおける別のデバイスからのデータと、トランザクションを開始するというまたはサービスを提供するという要求とを受信する。一例では、処理モジュール137は、トランザクション要求またはサービス要求を受信し、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしているユーザコンピューティングデバイス110のリストを含むログにアクセスする。一例では、処理モジュール137は、ユーザコンピューティングデバイス110がロケーションにおいてチェックインしていると決定したことに応答して、ユーザ101のアカウントからアカウント情報を抽出する。別の例では、処理モジュール137は、ユーザコンピューティングデバイス110がロケーションにおいてチェックインしていないと決定する。一例では、ユーザコンピューティングデバイス110がロケーションにおいてチェックインしている場合、トランザクション処理モジュール137は、許可要求をイシュアシステム140または他の適切なシステムなどのサードパーティシステムに送信する。たとえば、例示的な支払許可要求は、マーチャントシステム支払アカウント情報、ユーザ101の支払アカウント情報、およびトランザクションの総額を含んでもよい。この例では、イシュアシステム140または他の適切なシステムが支払許可要求またはサービス要求を処理した後、処理モジュール137は、ネットワーク170を介してイシュアシステム140または他の適切なシステムから支払許可要求またはサービス要求の承認または否認を受信する。この例では、処理モジュール137は、トランザクションまたはサービス要求の概要を含む受領書をマーチャントPOSデバイス160および/またはユーザコンピューティングデバイス110に送信する。
【００３８】
図1に示す例では、ネットワークコンピューティングデバイス140は、イシュアシステム140として具現化される。例示的なイシュアシステム140は、サービスプロバイダシステム130から受信された支払許可要求を承認または否認する。一例では、イシュアシステム140は、ネットワーク170を介してサービスプロバイダシステム130と通信する。一例では、イシュアシステム140は、クレジット許可を承認し、サービスプロバイダシステム130および/またはマーチャントシステムに対して支払を行うために、アクワイアラシステム(図示せず)と通信する。たとえば、アクワイアラシステムは、サードパーティの支払処理会社である。
【００３９】
図1に示す例では、ネットワークコンピューティングデバイス150は、カメラデバイス150として具現化される。例示的なカメラデバイス150は、プロセッサと、データ記憶ユニットと、カメラモジュールと、通信アプリケーションと(図示せず)を備える。一例では、カメラデバイス150は、ビーコンデバイス120に近接したロケーションに設置される。たとえば、カメラデバイス150およびビーコンデバイス120は、共通のマーチャントシステムストアロケーションに設置される。一例では、カメラプロセッサは、マーチャントカメラデバイス150によって実行されるものとして本明細書で説明する1つまたは複数の機能を実行する。一例では、カメラデバイス150のデータ記憶ユニットは、情報を記憶するのに適した、カメラデバイス150がアクセス可能なローカルまたはリモートのデータ記憶構造を備える。一例では、カメラデバイス150のカメラモジュールは、ビデオ入力をキャプチャするか、またはカメラデバイス150の外部環境のデジタル画像をキャプチャする、カメラデバイス150の任意のモジュールまたは機能であってもよい。カメラモジュールは、カメラデバイス150上に、またはカメラデバイス150に論理的に接続された任意の方式で存在してもよい。たとえば、カメラモジュールは、ネットワーク170を介してカメラデバイス150に接続されてもよい。カメラモジュールは、個々の画像またはビデオスキャンを取得することが可能であり得る。任意の他の適切な画像キャプチャデバイスは、カメラデバイス150のカメラモジュールによって表され得る。一例では、カメラデバイス150の通信アプリケーションは、マーチャントカメラデバイス150がサービスプロバイダシステム130のサーバ138と通信することを可能にする。
【００４０】
図1に示す例では、ネットワークコンピューティングデバイス160は、販売時点デバイス160として具現化される。例示的な販売時点デバイス160は、支払アプリケーション163と、ユーザインターフェース165と、データ記憶ユニット166と、通信アプリケーション169とを備える。
【００４１】
一例では、支払アプリケーション163は、プログラム、関数、ルーチン、アプレット、または販売時点デバイス160上に存在し、販売時点デバイス160上でその動作を実行する同様のエンティティである。いくつかの例では、販売時点(「POS」)デバイスのオペレータ102または他のマーチャントシステムオペレータは、本明細書で説明する技法の利益を得るために、支払アプリケーション163のインストールおよび/または販売時点デバイス160上での機能選択を行わなければならない。一例では、POSデバイスのオペレータ102は、ユーザインターフェース165を介してPOSデバイス160上の支払アプリケーション163にアクセスすることができる。一例では、支払アプリケーション163は、サービスプロバイダシステム130に関連付けられてもよい。別の例では、支払アプリケーション163は、ロケーションに設置されたビーコンデバイス120およびカメラデバイス150に関連付けられたマーチャントシステムに関連付けられてもよい。
【００４２】
一例では、ユーザインターフェース165は、POSデバイスのオペレータ102がPOSデバイス160と対話することを可能にする。たとえば、ユーザインターフェース165は、タッチスクリーン、音声ベースのインターフェース、または、POSデバイスのオペレータ102が入力を与え、POSデバイス160上のアプリケーションもしくはモジュールからの出力を受信することを可能にする任意の他のインターフェースであってもよい。一例では、POSデバイスのオペレータ102は、ユーザインターフェース165を介して支払アプリケーション163と対話する。
【００４３】
一例では、データ記憶ユニット166は、情報を記憶するのに適した、マーチャントPOSデバイス160がアクセス可能なローカルまたはリモートのデータ記憶構造を備える。
【００４４】
一例では、ウェブブラウザアプリケーションまたはスタンドアロンアプリケーションなどの通信アプリケーション169は、POSデバイス160のオペレータが、分散ネットワーク170を介してドキュメントまたはウェブページを閲覧する、ダウンロードする、アップロードする、または他の方法でそれらにアクセスすることを可能にする。たとえば、通信アプリケーション169は、ネットワーク170を介した支払処理システム160との通信を可能にすることができる。
【００４５】
示されているネットワーク接続は例であり、コンピュータとデバイスとの間の通信リンクを確立する他の手段が使用され得ることを諒解されたい。さらに、本開示の利益を有する当業者であれば、図1に示すユーザコンピューティングデバイス110、ビーコンデバイス120、サービスプロバイダシステム130、イシュアシステム140、カメラデバイス150、および販売時点デバイス160は、いくつかの他の適切なコンピュータシステム構成のうちのいずれかを有することができることを諒解されよう。たとえば、モバイルフォンまたはハンドヘルドコンピュータとして具現化されるユーザコンピューティングデバイス110は、上記で説明したすべての構成要素を含んでもよく、または含まなくてもよい。
【００４６】
例では、ネットワークコンピューティングデバイスおよび本明細書で提示する技術に関連付けられた任意の他のコンピューティングマシンは、限定はしないが、図2に関してより詳細に論じるものなどの任意のタイプのコンピューティングマシンであってもよい。さらに、本明細書で説明するものまたは本明細書で提示する技術に関連付けられた任意の他のもの(たとえば、スクリプト、ウェブコンテンツ、ソフトウェア、ファームウェア、ハードウェア、またはモジュール)など、これらのコンピューティングマシンのうちのいずれかに関連付けられた任意の機能、アプリケーション、または構成要素は、図2に関してより詳細に論じる構成要素のうちのいずれかであってもよい。本明細書で論じるコンピューティングマシンは、ネットワーク170および180などの1つまたは複数のネットワークを介して、互いと、ならびに他のコンピューティングマシンまたは通信システムと通信することができる。ネットワーク170および180は、図2に関して論じるネットワーク技術のうちのいずれかを含む、任意のタイプのデータネットワークまたは通信ネットワークを含み得る。
【００４７】
例示的なプロセス
例示的な動作環境100の構成要素に関して、図2〜図9に示す例示的な方法について以下で説明する。図2〜図9の例示的な方法は、他のシステムを用いて他の環境において実行されることもある。
【００４８】
図2は、いくつかの例による、ビーコンデバイスのハードウェア識別子を周期的に変更することによって、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する支払アプリケーション113による、ロケーションにおけるビーコンデバイス120の繰り返し検出を可能にするための方法200を示すブロック図である。方法200について、図1に示す構成要素を参照しながら説明する。
【００４９】
ブロック210において、ユーザ101は、アカウントをアカウント管理システム130に登録する。ユーザ101によってアカウントをアカウント管理システム130に登録するための方法について、図3で説明する方法を参照しながら以下でより詳細に説明する。
【００５０】
図3は、ユーザ101によってアカウント管理システム130に登録するための方法210を示すブロック図である。方法210について、図1に示す構成要素を参照しながら説明する。
【００５１】
ブロック310において、ユーザ101は、ユーザコンピューティングデバイス110を介してアカウント管理システム130のウェブサイト139にアクセスする。たとえば、ユーザ101は、ユーザコンピューティングデバイス110のウェブブラウザ118を介してアカウント管理システムのウェブサイト139にアクセスする。別の例では、ユーザ101は、ユーザ101のアカウントを登録するために、アカウント管理システム130に他の方法でコンタクトすることができる。
【００５２】
ブロック320において、ユーザ101は、アカウント管理システム130に登録する。ユーザ101は、ユーザ101のアカウント番号を取得するか、ユーザコンピューティングデバイス110上にインストールするための適切なアプリケーションおよびソフトウェアを受信するか、ハンズフリー支払処理に参加するための許可を要求するか、またはアカウント管理システム130が必要とする任意のアクションを実行することができる。ユーザ101は、ユーザ101のアカウントを登録および構成するために、ユーザインターフェース111およびウェブブラウザ118などのユーザコンピューティングデバイス110の機能を利用することができる。一例では、ユーザ101は、1つまたは複数のユーザ101のアカウント、たとえば、1つまたは複数のクレジットアカウント、1つまたは複数の銀行アカウント、1つまたは複数のストアドバリューアカウント、および/あるいは他の適切なアカウントに関連付けられた支払アカウント情報を、アカウント管理システム130によって維持されているユーザ101のアカウントに入力することができる。
【００５３】
ブロック330において、ユーザ101は、支払アプリケーション113をユーザコンピューティングデバイス110にダウンロードする。一例では、ユーザコンピューティングデバイス110上で動作する支払アプリケーション113は、ネットワーク170を介してアカウント管理システム130と通信することができる。
【００５４】
ブロック340において、ユーザ101は、支払アプリケーション113を介して支払アカウント情報をアカウントに入力する。一例では、ユーザ101は、支払アプリケーション113を介して、ユーザ101のアカウント設定を構成するか、または支払アカウント情報を追加、削除、もしくは編集することができる。一例では、ユーザ101は、アカウント管理システム130がハンズフリートランザクションを処理するための許可を有効化または無効化するオプションを選択することができる。たとえば、ハンズフリートランザクションは、ユーザ101がユーザコンピューティングデバイス110と対話することを必要としないか、またはマーチャントシステムとのトランザクションを開始するためにユーザコンピューティングデバイス110との最小限のユーザ101の対話を必要とする、トランザクションを含む。
【００５５】
ブロック340から、方法210は図2のブロック220に進む。
【００５６】
図2に戻ると、ブロック220において、マーチャントシステムは、アカウントをアカウント管理システム130に登録し、ハードウェアをマーチャントシステムロケーションに設置する。マーチャントシステムによってアカウント管理システム130に登録し、ハードウェアをマーチャントシステムロケーションに設置するための方法について、図4で説明する方法を参照しながら以下でより詳細に説明する。
【００５７】
図4は、いくつかの例による、マーチャントシステムによってアカウント管理システム130に登録し、ハードウェアをマーチャントシステムロケーションに設置するための方法220を示すブロック図である。方法220について、図1に示す構成要素を参照しながら説明する。
【００５８】
本明細書で説明する例では、マーチャントシステムは、ハードウェア、たとえば、1つまたは複数のビーコンデバイス120および1つまたは複数の販売時点(「POS」)デバイス160を、任意の特定の順序で例示的なマーチャントシステムロケーションに設置することを必要としない。方法220は、ハードウェアをマーチャントロケーションに設置する1つの例示的な方法について説明する。しかしながら、マーチャントシステムまたはマーチャントハードウェアを設置する他のシステムは、1つまたは複数のマーチャントPOSデバイス160あるいは1つまたは複数のビーコンデバイス120を本明細書で説明する順序で設置することを必要としない。
【００５９】
ブロック410において、マーチャントシステムは、アカウント管理システム130に登録する。一例では、マーチャントシステムのエージェントは、アカウント管理システムのウェブサイト139にアクセスし、ウェブサイト139を介してマーチャントシステムのアカウントをアカウント管理システム130に登録する。一例では、マーチャントシステムは、マーチャントシステムの支払アカウントに関連付けられた支払アカウント情報を、アカウント管理システム130によって管理されているマーチャントアカウントに追加する。一例では、マーチャントシステムは、1つまたは複数のマーチャントシステムロケーションを含む。たとえば、マーチャントシステムは、1つまたは複数の物理的な店舗ロケーションを含んでもよい。例示的なマーチャントロケーションは、1つまたは複数のマーチャント販売時点(「POS」)デバイス160を含む。一例では、1つまたは複数のマーチャントPOSデバイス160のオペレータは、マーチャントシステムロケーションにおける1つまたは複数のマーチャントPOSデバイス160を操作する。
【００６０】
ブロック420において、マーチャントシステムのオペレータは、マーチャント販売時点デバイス160上に支払アプリケーション163をインストールする。別の例では、マーチャントシステムのオペレータは、マーチャントPOSデバイス160上にプリインストールされた支払アプリケーション163を用いて、アカウント管理システム130からマーチャントPOSデバイス160を購入する。一例では、マーチャントPOSデバイス160は、支払アプリケーション113を受信するために、ネットワーク170を介してアカウント管理システム130と通信することができる。一例では、マーチャントPOSデバイス160は、ネットワーク170上で支払アプリケーション163を介してアカウント管理システム130と通信する。たとえば、マーチャントPOSデバイス160は、アカウント管理システム130がトランザクションを処理することを可能にするために、ネットワーク170上で支払アプリケーション163を介してトランザクション詳細をアカウント管理システム130に送信することができる場合がある。別の例では、マーチャントPOSデバイス160は、トランザクションが成功したかどうかをマーチャントPOSデバイス160のオペレータに通知する受領書をアカウント管理システム130から受信することができる場合がある。
【００６１】
ブロック430において、マーチャントシステムのオペレータは、マーチャントPOSデバイス160に対応するように、ビーコンデバイス120をマーチャントシステムロケーションに設置する。一例では、マーチャントシステムのオペレータは、各ビーコンデバイス120を、関連するマーチャントPOSデバイス160の近くに設置する。例示的なマーチャントビーコンデバイス120は、ワイヤレスネットワーク170を介して、特定のマーチャントビーコンデバイス120のコードを、ワイヤレスネットワーク170を維持するために必要とされるしきい値距離、事前定義された距離、または指定された距離内の任意のユーザコンピューティングデバイス110にブロードキャストする、発する、または他の方法で送信するようにプログラムされる。
【００６２】
一例では、アカウント管理システム130は、マーチャント販売時点デバイス160の識別子を受信し、それをビーコンデバイス120の対応するビーコンデバイス120のコードに関連付ける。別の例では、アカウント管理システム130は、マーチャント販売時点デバイス160の識別子を、マーチャント販売時点デバイス160が設置されているマーチャントシステムロケーションに対応するマーチャントシステムロケーション識別子に関連付ける。一例では、設置された各ビーコンデバイス120は、アカウント管理システム130によって、マーチャントシステムロケーションに設置された特定のマーチャント販売時点デバイス160に関連付けられる。たとえば、アカウント管理システム130は、関連するマーチャント販売時点デバイス160および/またはマーチャントシステムロケーションについて、ビーコンデバイス120のコードをマーチャント販売時点デバイス160の識別子および/またはマーチャントシステムロケーション識別子と相関させるデータベースを含んでもよい。たとえば、マーチャント販売時点デバイス160の識別子は、シリアルナンバーまたはMAC IDなど、デバイスに固有のハードウェア識別子を含んでもよい。別の例では、ビーコンデバイス120のコードは、ビーコンデバイスに固有のハードウェア識別子、またはアカウント管理システム130によって生成され、ビーコンデバイス120に記憶された識別子を含んでもよい。例示的なマーチャントシステムロケーション識別子は、特定のマーチャントシステムロケーションを一意に識別する識別子を含む。
【００６３】
ブロック440において、ビーコンデバイス120は、マーチャントシステムのロケーションにおいて、ワイヤレス通信ネットワーク170を介してビーコンデバイスコードをブロードキャストする。一例では、ビーコンデバイス120は、アカウント管理システム130から新しいビーコンデバイスコードを受信するまで、マーチャントシステムロケーションにおいて、ローカルワイヤレスネットワーク170を介して、アカウント管理システム130から受信されたビーコンデバイスコードをブロードキャストする。この例では、ネットワーク170を介してアカウント管理システム130から新しいビーコンデバイスコードを受信したことに応答して、ビーコンデバイス120は、アカウント管理システム130から後続の新しいビーコンデバイスコードを受信するまで、ローカルワイヤレスネットワーク170を介して、マーチャントシステムロケーションにおいて新しいビーコンデバイスコードをブロードキャストする。
【００６４】
一例では、ビーコンデバイス120は、ワイヤレスネットワーク170の媒体を介してマーチャントビーコンコードをブロードキャストし、ビーコンデバイス120のしきい値近傍内にある1つまたは複数のユーザコンピューティングデバイス110は、ローカルワイヤレスネットワーク170を介してビーコンデバイスコードを受信することができる。一例では、ローカルワイヤレスネットワーク170を介したビーコンデバイス120との通信を可能にするために、ユーザコンピューティングデバイス110および/またはマーチャントシステムロケーションにあるデバイスのみが、ビーコンデバイス120の事前定義された近傍を確立することができる。たとえば、ローカルワイヤレスネットワーク170の接続を確立するために必要とされるしきい値近傍は、ビーコンデバイス120によって利用されるネットワーク170の通信プロトコルに依存する。たとえば、ビーコンデバイス120は、Wi-Fi、Bluetooth、Bluetooth low energy(「BLE」)、近距離無線通信(「NFC」)、または他の適切な通信プロトコルを介して、ビーコンデバイスコードを含むデータを、ビーコンデバイス120のしきい値近傍内のマーチャントシステムロケーションにある1つまたは複数のユーザコンピューティングデバイス110にブロードキャストする、発する、または他の方法で送信することができる。いくつかの例では、ビーコンデバイス120は、ビーコンデバイスコードを送信する前の時点で、ビーコンデバイス120と1つもしくは複数のユーザコンピューティングデバイス110および/またはビーコンデバイス120のしきい値近傍、事前定義された近傍、もしくは指定された近傍内のマーチャントシステムロケーションにあるマーチャントPOSデバイス160との間のネットワーク170の接続を確立するように動作可能である。
【００６５】
いくつかの例では、ビーコンデバイス120は、マーチャントPOSデバイス160の構成要素であるか、あるいはマーチャントPOSデバイス160にワイヤレスにまたは物理的に接続され、マーチャントPOSデバイス160の1つまたは複数のプロセッサによって制御される。いくつかの例では、ビーコンデバイス120によって実行される1つまたは複数の機能は、マーチャントPOSデバイス160によって実行されることもある。
【００６６】
ブロック440から、方法220は図2のブロック230に進む。
【００６７】
図2に戻ると、ブロック230において、ユーザ101は、支払処理システム150に登録する。ユーザ101によって支払処理システム150に登録するための方法について、図4で説明する方法220を参照しながら以下でより詳細に説明する。
【００６８】
図4は、いくつかの例による、ユーザ101によって支払処理システム150に登録するための方法220を示すブロック図である。方法220について、図1に示す構成要素を参照しながら説明する。
【００６９】
図2に戻ると、ブロック230において、ユーザ101は、ユーザコンピューティングデバイス110を介して支払アプリケーション113にサインインし、マーチャントシステムロケーションに入る。一例では、ユーザは、マーチャントシステムロケーションに入る前に支払アプリケーション113にサインインする。別の例では、ユーザ101は、ユーザ101がマーチャントシステムロケーションに入ると同時にまたはその後に支払アプリケーション113にサインインする。一例では、支払アプリケーション113にサインインするために、ユーザ101は、ユーザ101のアカウント管理システムアカウントに関連付けられたユーザ名およびパスワードを入力し、「サインイン(sign in)」と書かれているユーザインターフェース111上のオブジェクトを選択してもよい。この例では、支払アプリケーション113は、ネットワーク170を介してユーザ名およびパスワードをアカウント管理システム130に通信する。この例では、アカウント管理システム130は、ユーザ101のアカウントについてユーザ名およびパスワードを検証する。この例では、ユーザ名およびパスワードが正しい場合、アカウント管理システム130は、ネットワーク170を介してユーザコンピューティングデバイス110上で支払アプリケーション113との通信を確立する。
【００７０】
ブロック240において、ユーザコンピューティングデバイス110は、ビーコンデバイス120によってブロードキャストされたビーコンデバイス120のコードを受信し、チェックイン信号をアカウント管理システム130に送信する。ユーザコンピューティングデバイス110によって、ビーコンデバイス120によってブロードキャストされたビーコンデバイス120のコードを受信し、チェックイン信号をアカウント管理システム130に送信するための方法について、図5で説明する方法240を参照しながら以下でより詳細に説明する。
【００７１】
図5は、いくつかの例による、ユーザコンピューティングデバイス110によって、ビーコンデバイス120によってブロードキャストされたビーコンデバイス120のコードを受信し、チェックイン信号をアカウント管理システム130に送信するための方法240を示すブロック図である。方法240について、図1に示す構成要素を参照しながら説明する。
【００７２】
ブロック510において、ユーザ101は、マーチャントシステムロケーションにおけるビーコンデバイス120のしきい値距離内でユーザコンピューティングデバイス110を持ち運ぶ。一例では、しきい値距離は、ユーザコンピューティングデバイス110がマーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介してビーコンデバイス120からのデータを受信するのに必要な、ビーコンデバイス120とユーザコンピューティングデバイス110との間の最大距離を含む。たとえば、ユーザ101は、ユーザコンピューティングデバイス110を用いてマーチャントPOSデバイス160に近づく。
【００７３】
ブロック520において、ユーザコンピューティングデバイス110は、ビーコンデバイス120によってブロードキャストされたビーコンデバイス120のコードを受信する。一例では、ビーコンデバイス120は、ビーコンデバイス120のコードを継続的にまたは周期的にブロードキャストする。たとえば、ビーコンデバイス120は、ビーコンデバイス120のコードを5秒ごとにブロードキャストする。一例では、ユーザコンピューティングデバイス110は、ビーコンデバイス120がローカルワイヤレスネットワーク170を介してコードを送信する頻度に従ってビーコンデバイス120のコードを周期的に受信する。一例では、ユーザ101が支払アプリケーション113にサインインすると、支払アプリケーション113は、ユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。この例では、ユーザ101がユーザコンピューティングデバイス110上で別のアプリケーションを選択した場合、支払アプリケーション113は、フォアグラウンドで動作するのをやめ、オペレーティングシステムのバックグラウンドで動作し始めるが、選択された別のアプリケーションは、ユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。別の例では、ユーザコンピューティングデバイス110はスリープモードまたは他の節電モードで動作し、ユーザコンピューティングデバイスのユーザインターフェース111は無効化され、支払アプリケーション113はユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する。一例では、ユーザコンピューティングデバイス110上の1つのアプリケーションだけがいつでもフォアグラウンドで動作することができる。この例では、バックグラウンドで動作するアプリケーションは、限られた処理能力を有するが、フォアグラウンドで動作するアプリケーションは、ユーザコンピューティングデバイス110上で自由に実行することができる。より具体的には、オペレーティングシステムのバックグラウンドで実行される支払アプリケーション113は、特定のビーコンデバイス120が同じビーコンデバイス120のコードをブロードキャストするとき、特定のビーコンデバイス120を検出し続けることができない。支
払アプリケーション113は最初に、ブロードキャストされたビーコンデバイス120のコードに基づいて特定のビーコンデバイス120を検出する。一例では、ビーコンデバイス120のコードは、ビーコンデバイス120に関連付けられた媒体アクセス制御(「MAC」)アドレスまたはハードウェア識別子を含む。その後、支払アプリケーション113は、特定のビーコンデバイスについてのビーコンデバイス120のコードとは異なる、ビーコンデバイスについてのビーコンデバイス120のコードのみを検出する。一例では、ロケーションにおけるビーコンデバイス120は、ロケーションにおけるBluetooth Low-Energy(「BLE」)ネットワーク170または他のワイヤレスネットワークを介して、ロケーションにおいて第1のビーコンデバイス120のコードをブロードキャストする。一例では、ビーコンデバイス120は、別のタイプのローカルワイヤレスネットワーク、たとえば、Bluetoothネットワーク、Wi-Fiネットワーク、オーディオネットワーク、または近距離無線通信(「NFC」)ネットワークを介して、ロケーションにおいてビーコンデバイス120のコードおよび他のデータをブロードキャストする。一例では、他のデータは、ビーコンデバイス120の名前、ネットワーク170の接続名、または他のデータを含む。一例では、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドまたはフォアグラウンドで動作する支払アプリケーション113は、ロケーションにおけるBLEネットワーク170または他のワイヤレスネットワークを介して、ビーコンデバイス120から第1のビーコンデバイス120のコードおよび他のデータを受信する。
【００７４】
ブロック530において、ユーザコンピューティングデバイス110は、チェックイン信号およびユーザ101のアカウント識別子をアカウント管理システム130に送信する。一例では、ビーコンデバイス120のコードを受信したことに応答して、支払アプリケーション113は、ユーザ101のチェックインステータスをログし、チェックインステータス信号およびユーザ101のアカウントに関連付けられたユーザ101のアカウント識別子を、ネットワーク170を介してアカウント管理システム130に送信する。一例では、ビーコンデバイス120のコードを受信したことに応答して、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110のロケーションデータをログし、ロケーションデータを含むチェックイン信号と、ビーコンデバイス120に関連付けられたハードウェア識別子と、ユーザ101のアカウント識別子とを、ネットワーク170を介してアカウント管理システム130に送信する。
【００７５】
ブロック540において、アカウント管理システム130は、チェックイン信号およびユーザ101のアカウント識別子を受信する。一例では、アカウント管理システム130は、ネットワーク170を介してチェックイン信号およびユーザ101のアカウント識別子を受信する。
【００７６】
ブロック550において、アカウント管理システム130は、チェックイン信号およびユーザ101のアカウント識別子の受領をログし、ユーザ101のアカウントをチェックインしたものとして指定する。一例では、アカウント管理システム130は、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを維持する。一例では、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログは、ビーコンデバイス120のハードウェア識別子に関連付けられる。この例では、チェックイン信号の一部として、アカウント管理システム130は、ビーコンデバイス120のハードウェア識別子を受信し、受信されたハードウェア識別子に基づいて、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを識別する。別の例では、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログは、ロケーションデータに関連付けられる。この例では、チェックイン信号の一部として、アカウント管理システム130は、ユーザコンピューティングデバイス110によってログされたロケーションデータを受信し、受信されたロケーションデータに基づいて、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを識別する。たとえば、アカウント管理システム130は、チェックイン信号の一部としてユーザコンピューティングデバイス110から受信された、ログされたロケーションデータが、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログに関連付けられたロケーションからのしきい値距離内にあると決定する。一例では、アカウント管理システム130は、後続のチェックイン信号をメモリまたはデータ記憶ユニット136にログする。一例では、アカウント管理システム130は、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックイン
している現在のユーザコンピューティングデバイス110のログをデータ記憶ユニット136において維持する。一例では、アカウント管理システム130は、チェックイン信号の受領時点での現在のタイムスタンプをログし、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログにおいて、ログされたタイムスタンプを受信されたチェックイン信号に関連付ける。たとえば、ログされたタイムスタンプは、日、月、年、時、分、秒を含む時点および/またはログされた現在のタイムスタンプに関連付けられた時点を識別する他の指定を含む。
【００７７】
ブロック550から、方法240は図2のブロック250に進む。
【００７８】
図2に戻ると、ブロック250において、ユーザコンピューティングデバイス110は、支払アプリケーション113がユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する間に、後続のビーコンデバイス120のコードを受信し、後続のチェックイン信号をアカウント管理システム130に送信する。ユーザコンピューティングデバイス110によって、支払アプリケーション113がユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作している間に、ビーコンデバイス120によってブロードキャストされた後続のビーコンデバイス120のコードを受信し、後続のチェックイン信号をアカウント管理システム130に送信するための方法について、図6で説明する方法250を参照しながら以下でより詳細に説明する。
【００７９】
図6は、いくつかの例による、ユーザコンピューティングデバイス110によって、支払アプリケーション113がユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作している間に、ビーコンデバイス120によってブロードキャストされた後続のビーコンデバイス120のコードを受信し、後続のチェックイン信号をアカウント管理システム130に送信するための方法250を示すブロック図である。方法250について、図1に示す構成要素を参照しながら説明する。
【００８０】
ブロック610において、支払アプリケーション113は、ユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する。一例では、ユーザ101が支払アプリケーション113にサインインすると、支払アプリケーション113は、ユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。この例では、ユーザ101がユーザコンピューティングデバイス110上で別のアプリケーションを選択した場合、支払アプリケーション113は、フォアグラウンドで動作するのをやめ、オペレーティングシステムのバックグラウンドで動作し始めるが、選択された別のアプリケーションは、ユーザコンピューティングデバイス110のオペレーティングシステムのフォアグラウンドで動作する。この例では、支払アプリケーション113がユーザコンピューティングデバイス110上でバックグラウンドで動作している間に、ユーザ101が支払アプリケーション113を選択したことまたは支払アプリケーション113と対話したことに応答して、支払アプリケーション113は、ユーザコンピューティングデバイス110のフォアグラウンドで動作し始める。この例では、ユーザ101がユーザコンピューティングデバイス110上で支払アプリケーション113以外の別のアプリケーションを選択したことまたはその別のアプリケーションと対話したことに応答して、フォアグラウンドで動作する支払アプリケーション113は、ユーザコンピューティングデバイス110のバックグラウンドで動作し始める。別の例では、ユーザコンピューティングデバイス110はスリープモードまたは他の節電モードで動作し、ユーザコンピューティングデバイスのユーザインターフェース111は無効化され、支払アプリケーション113はユーザコンピューティングデバイス110のオペレーティングシステムのバックグラウンドで動作する。一例では、ユーザコンピューティングデバイス110上の1つのアプリケーションだけがいつでもフォアグラウンドで動作することができる。この例では、バックグラウンドで動作するアプリケーションは、限られた処理能力を有するが、フォアグラウンドで動作するアプリケーションは、ユーザコンピューティングデバイス110上で自由に実行することができる。より具体的には、オペレー
ティングシステムのバックグラウンドで実行される支払アプリケーション113は、特定のビーコンデバイス120が同じビーコンデバイス120のコードをブロードキャストするとき、特定のビーコンデバイス120を検出し続けることができない。支払アプリケーション113は最初に、ブロードキャストされたビーコンデバイス120のコードに基づいて特定のビーコンデバイス120を検出する。一例では、ビーコンデバイス120のコードは、ビーコンデバイス120に関連付けられた媒体アクセス制御(「MAC」)アドレスまたはハードウェア識別子を含む。その後、支払アプリケーション113は、特定のビーコンデバイスについてのビーコンデバイス120のコードとは異なる、ビーコンデバイスについてのビーコンデバイス120のコードのみを検出する。
【００８１】
ブロック620において、ビーコンデバイス120は、ビーコンデバイス120のコードをブロードキャストするのを停止し、後続のビーコンデバイス120のコードを生成する。一例では、ビーコンデバイス120は、指定された間隔で指定された長さの時間にわたって、ビーコンデバイス120のコードをブロードキャストする。たとえば、ビーコンデバイス120は、5秒間隔で5分間、ビーコンデバイス120のコードをブロードキャストする。別の例では、ビーコンデバイス120は、指定された長さの時間にわたって継続的にビーコンデバイス120のコードをブロードキャストする。一例では、ビーコンデバイス120は、乱数生成器123を介して後続のビーコンデバイス120のコードを生成する。後続のビーコンデバイス120のコードは、乱数生成器123によって生成された英数字および/または記号文字を含んでもよい。一例では、最初のビーコンデバイス120のコードは、ビーコンデバイス120のハードウェア識別子またはMACアドレスを含み、後続のビーコンデバイス120のコードは、ハードウェア識別子またはMACアドレスとは異なる、乱数生成器123によって生成されたコードを含む。
【００８２】
ブロック630において、ビーコンデバイス120は、後続のビーコンデバイス120のコードをブロードキャストする。一例では、ビーコンデバイス120は、指定された間隔で指定された長さの時間にわたって、後続のビーコンデバイス120のコードおよびビーコンデバイス120に関連付けられたハードウェア識別子をブロードキャストする。たとえば、ビーコンデバイス120は、5秒間隔で5分間、後続のビーコンデバイス120のコードをブロードキャストする。別の例では、ビーコンデバイス120は、指定された長さの時間にわたって継続的に後続のビーコンデバイス120のコードをブロードキャストする。一例では、ビーコンデバイス120はさらに、乱数生成器123を介して、後続のビーコンデバイス120のコードに続いて、連続するビーコンデバイス120のコードを生成する。一例では、ビーコンデバイス120は、指定された長さの時間にわたって後続のビーコンデバイス120のコードをブロードキャストした後、指定された間隔で指定された長さの時間にわたって、または指定された長さの時間にわたって継続的に、連続するビーコンデバイス120のコードの各々をブロードキャストする。たとえば、5分ごとに、ビーコンデバイス120は、ビーコンデバイス120によってブロードキャストされた以前のビーコンデバイス120のコードとは異なる、新しいビーコンデバイス120のコードをブロードキャストする。一例では、ビーコンデバイス120は、BLEネットワーク170または他のローカルワイヤレスネットワーク170を介して、マーチャントロケーションにおいて他のデータとともに後続のビーコンデバイス120のコードをブロードキャストする。
【００８３】
ブロック640において、ユーザコンピューティングデバイス110は、ビーコンデバイス120によってブロードキャストされた後続のビーコンデバイス120のコードを受信する。一例では、ユーザコンピューティングデバイス110は、マーチャントシステムロケーションにおいてBLEネットワーク170または他のワイヤレスネットワークを介してビーコンデバイス120によってブロードキャストされた後続のビーコンデバイス120のコードを受信する。一例では、ユーザコンピューティングデバイス110の支払アプリケーション113は、ユーザコンピューティングデバイス110のオペレーティングシステム上でバックグラウンドで動作している。一例では、後続のビーコンデバイス120のコードは、ユーザコンピューティングデバイス110によって以前に受信されたビーコンデバイス120のコードとは異なるので、支払アプリケーション113は、後続のビーコンデバイス120のコードを検出する。
【００８４】
ブロック650において、ユーザコンピューティングデバイス110は、後続のチェックイン信号およびユーザ101のアカウント識別子をアカウント管理システム130に送信する。一例では、後続のビーコンデバイス120のコードを検出したことに応答して、支払アプリケーション113は、ネットワーク170を介して、後続のチェックイン信号およびユーザ101のアカウントに関連付けられたユーザ101のアカウント識別子をアカウント管理システム130に送信する。一例では、後続のビーコンデバイス120のコードを受信したことに応答して、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110の後続のロケーションデータをログし、後続のロケーションデータを含む後続のチェックイン信号と、ビーコンデバイス120に関連付けられたハードウェア識別子と、ユーザ101のアカウント識別子とを、ネットワーク170を介してアカウント管理システム130に送信する。
【００８５】
ブロック660において、アカウント管理システム130は、後続のチェックイン信号およびユーザ101のアカウント識別子を受信する。たとえば、アカウント管理システム130は、ネットワーク170を介してユーザコンピューティングデバイス110から、チェックイン信号、ユーザ101のアカウント識別子、ビーコンデバイス120のハードウェア識別子、および/またはロケーションデータを受信する。一例では、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログは、ビーコンデバイス120のハードウェア識別子に関連付けられる。この例では、後続のチェックイン信号の一部として、アカウント管理システム130は、ビーコンデバイス120のハードウェア識別子を受信し、受信されたハードウェア識別子に基づいて、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを識別する。別の例では、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログは、ロケーションデータに関連付けられる。この例では、後続のチェックイン信号の一部として、アカウント管理システム130は、ユーザコンピューティングデバイス110によってログされた後続のロケーションデータを受信し、受信された後続のロケーションデータに基づいて、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを識別する。たとえば、アカウント管理システム130は、チェックイン信号の一部としてユーザコンピューティングデバイス110から受信された、ログされた後続のロケーションデータが、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログに関連付けられたロケーションからのしきい値距離内にあると決定する。
【００８６】
ブロック670において、アカウント管理システム130は、後続のチェックイン信号およびユーザ101のアカウント識別子の受領をログし、ユーザ101のアカウント指定をチェックインしたものとして維持する。例示的な実施形態では、アカウント管理システム130は、受信されたユーザ101のアカウント識別子に基づいてユーザ101のアカウントを識別し、識別されたユーザ101のアカウントに関連付けられたものとして、後続のチェックイン信号をログする。一例では、アカウント管理システム130は、後続のチェックイン信号をメモリまたはデータ記憶ユニット136においてログする。一例では、アカウント管理システム130は、データ記憶ユニット136における、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを監視し、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログにおいて、後続のチェックイン信号をログする。一例では、アカウント管理システム130は、後続のチェックイン信号の受領時点での現在のタイムスタンプをログし、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログにおいて、ログされたタイムスタンプを受信された後続のチェックイン信号に関連付ける。たとえば、ログされたタイムスタンプは、日、月、年、時、分、秒を含む時点および/またはログされた現在のタイムスタンプに関連付けられた時点を識別する他の指定を含む。
【００８７】
ブロック670から、方法250は図2のブロック260に進む。
【００８８】
図2に戻ると、ブロック260において、アカウント管理システム130は、ユーザ101のアカウントのチェックインステータスを監視する。たとえば、アカウント管理システム130は、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを監視する。この例では、アカウント管理システム130は、ユーザコンピューティングデバイス110から受信された1つまたは複数のチェックイン信号または後続のチェックイン信号に基づいて、ユーザコンピューティングデバイス110に関連付けられたユーザ101のアカウント識別子を追加および削除する。アカウント管理システム130によって、ユーザ101のアカウントのチェックインステータスを監視するための方法について、図7で説明する方法260を参照しながら以下でより詳細に説明する。
【００８９】
図7は、いくつかの例による、アカウント管理システム130によって、ユーザ101のアカウントのチェックインステータスを監視するための方法260を示すブロック図である。方法260について、図1に示す構成要素を参照しながら説明する。
【００９０】
ブロック710において、アカウント管理システム130は、チェックイン信号を受信したことに応答して、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログにおいて、ユーザ101のアカウントのチェックインステータスをログする。たとえば、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログは、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを含む。たとえば、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログにおいて、ユーザ101のアカウントのチェックインステータスをログするための方法について、本明細書のブロック510〜550において説明する。
【００９１】
ブロック720において、アカウント管理システム130は、指定された時間期間の後に、後続のチェックイン信号が受信されたかどうかを決定する。たとえば、アカウント管理システム130が、ユーザ101のアカウントについてのユーザコンピューティングデバイス110から受信された最初のチェックイン信号をログし、最初のチェックイン信号を受信した後の時点で、後続のチェックイン信号が受信される。例示的な実施形態では、指定された時間期間は、30秒、2分、5分、10分、または他の適切な長さの時間を含む。
【００９２】
アカウント管理システム130が、最初のチェックイン信号に関連付けられた時点からの指定された時間期間の後に後続のチェックイン信号を受信しない場合、方法260はブロック740に進む。たとえば、ユーザ101のアカウントについての最初のチェックイン信号は、ネットワーク170を介してユーザコンピューティングデバイス110から3:50:15に受信された。この例では、アカウント管理システム130は、ログされたチェックイン信号に関連付けられたタイムスタンプに基づいて、ユーザ101のアカウントについての最初のチェックイン信号が3:50:15に受信されたと決定する。この例では、3:56:30に、アカウント管理システム130は、ネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号が受信されておらず、指定された時間期間が5分であることを検出する。この例では、アカウント管理システム130は、アカウント管理システム130が指定された時間期間内にネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号を受信していないと決定する。
【００９３】
ブロック740において、アカウント管理システムは、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログからユーザ101のアカウント識別子を除去する。たとえば、アカウント管理システム130が指定された時間期間内にネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号を受信していないと決定したことに応答して、アカウント管理システムは、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログからユーザ101のアカウント識別子を除去する。一例では、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログからユーザ101のアカウント識別子を除去した後の時点で、アカウント管理システム130は、アカウント管理システム130がネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号を受信した場合、ユーザ101のアカウント識別子をマーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログに再び追加してもよい。たとえば、ユーザ101のアカウント識別子をマーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログに追加するための例示的な方法について、図5において本明細書で説明する。
【００９４】
ブロック740から、方法260は図2のブロック270に進む。
【００９５】
ブロック720に戻ると、アカウント管理システム130が、最初のチェックイン信号をログしてから指定された時間期間の後に後続のチェックイン信号を受信した場合、方法260はブロック730に進む。たとえば、ユーザ101のアカウントについての最初のチェックイン信号は、ネットワーク170を介してユーザコンピューティングデバイス110から3:50:15に受信された。この例では、3:53:30に、アカウント管理システム130は、後続のチェックイン信号を受信するか、またはさもなければ、ネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号が受信されており、指定された時間期間が5分であることを検出する。この例では、アカウント管理システム130は、アカウント管理システム130が指定された時間期間内にネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号を受信したと決定する。
【００９６】
ブロック730において、アカウント管理システムは、マーチャントロケーションについてのユーザ101のアカウントのチェックインステータスログにおいて、ユーザ101のアカウントのチェックインステータスを維持する。例示的な実施形態では、アカウント管理システム130が指定された時間期間内にネットワーク170を介してユーザコンピューティングデバイス110から後続のチェックイン信号を受信したと決定したことに応答して、アカウント管理システム130は、後続のタイムスタンプをログし、後続のタイムスタンプをログされた後続のチェックイン信号に関連付ける。この例では、アカウント管理システムは、チェックイン信号およびチェックイン信号に関連付けられたログされたタイムスタンプを削除し、後続のチェックイン信号および後続のチェックイン信号に関連付けられた後続のログされたタイムスタンプを、マーチャントロケーションについての現在のユーザ101のアカウントのチェックインステータスログに追加する。
【００９７】
ブロック730から、方法260は図2のブロック270に進む。
【００９８】
図2に戻ると、ブロック270において、ユーザ101は、マーチャントシステム販売時点デバイス160におけるトランザクションを開始する。ユーザ101によって、マーチャント販売時点デバイス160におけるトランザクションを開始するための方法について、図8で説明する方法270を参照しながら以下でより詳細に説明する。本明細書で説明する例では、ユーザ101は、マーチャントPOSデバイス160における「ハンズフリートランザクション」を開始する。例示的なハンズフリートランザクションは、ユーザ101側のユーザコンピューティングデバイス110とのいかなる対話も必要としない。別の例では、ハンズフリートランザクションは、ユーザ101によるユーザコンピューティングデバイス110との最小限の対話のみを必要とする。
【００９９】
図8は、いくつかの例による、ユーザ101によって、マーチャント販売時点デバイス160におけるトランザクションを開始するための方法270を示すブロック図である。方法270について、図1に示す構成要素を参照しながら説明する。
【０１００】
ブロック810において、ユーザ101はマーチャント販売時点デバイス160に近づく。一例では、マーチャントPOSデバイス160に近づく前の時点で、ユーザ101はマーチャントシステムロケーションをブラウズし、購入する1つまたは複数のアイテムを選択する。この例では、ユーザ101は、1つまたは複数のアイテムを集め、物理的なかごまたはショッピングカートを用いて1つまたは複数のアイテムをマーチャントPOSデバイス160に運ぶか、または他の方法で輸送してもよい。
【０１０１】
ブロック820において、マーチャント販売時点デバイス160のオペレータは、ユーザ101が購入するアイテムの総額を求める。一例では、マーチャントPOSデバイス160のオペレータは、1つまたは複数のアイテムに取り付けられたバーコードをスキャンするか、または1つまたは複数のアイテムに関連付けられた明細および価格を他の方法でマーチャントPOSデバイス160に入力する。一例では、アイテムをスキャンするかまたは手作業でマーチャントPOSデバイス160に入力した後、マーチャントPOSデバイスのオペレータは、支払アプリケーション163を介してマーチャントPOSデバイス160のユーザインターフェース165上のオブジェクトを作動させて、マーチャントPOSデバイス160にアイテムの総額を求めるよう指示する。一例では、マーチャントPOSデバイス160は、ユーザインターフェース165を介して、総額をユーザ101に表示する。一例では、マーチャント販売時点デバイス160のオペレータは、ユーザ101に支払オプションを選択するよう頼む。一例では、マーチャントPOSデバイス160は、ユーザ101がトランザクションにおいて使用することを選択することができる1つまたは複数の支払オプションを表示する。例示的な支払オプションは、アカウント管理システム130に関連付けられた支払アプリケーション113を介した支払、現金による支払、小切手による支払、クレジットカードによる支払、デビットカードによる支払、および/またはマーチャントシステムがユーザ101からの支払を受け入れることができるもしくは受け入れる用意がある任意の他の支払の手段を含んでもよい。一例では、1つまたは複数の支払オプションは、ユーザインターフェース165上のオブジェクトとして表示され、ユーザ101がマーチャントPOSデバイス160のオペレータに選択を行うよう指示したことに応答して、マーチャントPOSデバイス160のオペレータによって選択可能である。一例では、ユーザ101は、マーチャント販売時点デバイス160のオペレータに支払アプリケーション113を介してトランザクションを開始するよう指示する。一例では、支払オプションとして支払アプリケーション113を選択するというユーザ101からの口頭の要求を受けたことに応答して、マーチャントPOSデバイス160のオペレータは、支払アプリケーション113の支払オプションに対応する、マーチャントPOSデバイス160のユーザインターフェース165上のオブジェクトを作動させる。
【０１０２】
ブロック830において、マーチャント販売時点デバイス160のオペレータは、支払アプリケーション113を使用してトランザクションを開始するために、マーチャント販売時点デバイス160上のオプションを選択する。一例では、マーチャントPOSデバイス160は、マーチャントPOSデバイス160のオペレータが支払アプリケーション113を使用してトランザクションを開始するオプションを選択した後に、確認画面を表示する。例示的な確認画面は、潜在的なトランザクションを要約し、トランザクション総額、ユーザ101によって購入される1つまたは複数のアイテムの明細、ユーザ101がトランザクションの支払の方法として支払アプリケーション113を選択したという指示のうちの1つまたは複数を含む情報を表示してもよい。例示的な確認画面はさらに、トランザクションを確認するかまたはトランザクションを取り消すオプションを表示してもよい。一例では、ユーザ101は確認画面を見直し、確認画面上に表示された情報が正しいと決定し、トランザクションを続行すると決定し、マーチャントPOSデバイス160のオペレータにユーザインターフェース165を介してトランザクションを確認するオプションを選択するよう指示する。
【０１０３】
別の例では、ユーザ101は、情報が間違っているので、または、ユーザ101が考えを変えて、アイテムを購入しないと決定したので、トランザクションを放棄すると決定する。また別の例では、確認画面は、トランザクション詳細を編集するオプションをさらに含む。この例では、マーチャントPOSデバイス160のオペレータは、ユーザ101の指示で、トランザクション詳細を編集するオプションを選択してもよく、次いで、トランザクションにおけるアイテムのうちの1つまたは複数を編集、追加、または削除するか、あるいはトランザクションの支払詳細または支払方法を編集してもよい。
【０１０４】
ブロック840において、マーチャント販売時点デバイス160は、トランザクションを処理するという要求をアカウント管理システム130に送信する。一例では、マーチャント販売時点デバイス160は、販売時点デバイス160のユーザ名およびパスワードを含むトランザクションを処理するという要求を、ネットワーク170を介してアカウント管理システム130に送信する。一例では、マーチャントシステムがアカウント管理システム130に登録すると、マーチャントシステムは、マーチャントシステムロケーションにおける各マーチャントPOSデバイス160に関連付けられた別個のユーザ名およびパスワードを確立する。一例では、マーチャントPOSデバイス160のオペレータは、マーチャントPOSデバイス160に関連付けられたユーザ名およびパスワードをマーチャントPOSデバイス160の支払アプリケーション163を介して構成する。この例では、アカウント管理システム130は、マーチャントシステムロケーションにおけるマーチャントPOSデバイス160ごとのマーチャントPOSデバイス160の識別子を含むデータベースを維持する。たとえば、マーチャントPOSデバイス160の識別子は、媒体アクセス制御(「MAC」)アドレスまたはインターネットプロトコル(「IP」)アドレスを含んでもよい。
【０１０５】
ブロック850において、アカウント管理システム130は、トランザクションを処理するという要求を受信する。一例では、アカウント管理システム130は、トランザクションを処理するという要求と、販売時点デバイス160のユーザ名およびパスワードとをネットワーク170を介して受信する。一例では、アカウント管理システム130は、マーチャントPOSデバイス160に関連付けられた受信されたユーザ名およびパスワードに基づいて、マーチャントPOSデバイス160およびマーチャントシステムロケーションを識別する。
【０１０６】
ブロック860において、アカウント管理システム130は、現在の顧客ログをマーチャント販売時点デバイス160に送信し、マーチャント販売時点デバイス160は、現在の顧客ログを表示する。一例では、アカウント管理システム130は、識別されたマーチャントシステムロケーションについての現在の顧客ログを識別し、検索する。たとえば、現在の顧客ログは、ビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログを含む。一例では、ロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログは、チェックイン信号および/または後続のチェックイン信号が指定された長さの時間内に受信されたユーザコンピューティングデバイス110のリストを含む。例示的な実施形態では、アカウント管理システム130は、ユーザ101の顔画像、各ユーザ101のアカウントに関連付けられたチャレンジおよび/またはレスポンス、あるいは、各ユーザコンピューティングデバイス110、またはビーコンデバイス120に関連付けられたロケーションにおいて現在チェックインしている現在のユーザコンピューティングデバイス110のログに記載されたユーザ101のアカウントに関連付けられた他の識別データとともに、現在の顧客ログを送信する。
【０１０７】
ブロック870において、マーチャントPOSデバイス160のオペレータは、ユーザ101のアカウントが現在の顧客ログに記載されているかどうかを決定する。いくつかの例では、マーチャントPOSデバイス160のオペレータは、チャレンジおよびレスポンスによってユーザ101を識別する。たとえば、マーチャントPOSデバイス160のオペレータ102は、チャレンジをユーザ101に発行する。一例では、マーチャントPOSデバイス160のオペレータは、ユーザ101にユーザ101のイニシャルを尋ねる。別の例では、マーチャントPOSデバイス160のオペレータは、ユーザ101にユーザ101の電話番号の最後の4桁を尋ねる。別の例では、マーチャントPOSデバイス160のオペレータは、ユーザ101に設定済みパスワードを尋ねる。任意の適切なチャレンジがマーチャントPOSデバイス160のオペレータによって発行され得る。一例では、チャレンジに対するレスポンスは、いかなるセキュアなまたはプライベートの情報も提供しない。この例では、ユーザ101がチャレンジレスポンスを提供する。例示的なチャレンジで説明したように、レスポンスは、ユーザ101のイニシャル、ユーザ101の電話番号の最後の4桁、設定済みパスワード、またはユーザ101に関連付けられた任意の他のデータであってもよい。任意の設定済みチャレンジレスポンスが利用されてもよい。いくつかの実施形態では、レスポンスは、口頭でのレスポンス、手のジェスチャー、キーパッド入力、識別カードの表示、または任意の適切なレスポンスであってもよい。一例では、販売時点デバイス160のオペレータは、レスポンスをマーチャント販売時点デバイス160に入力する。マーチャントPOSデバイス160のオペレータは、ユーザ101のチャレンジレスポンスを入力する。一例では、ユーザ101のイニシャルが「AC」であるとユーザ101が示した場合、マーチャントPOSデバイスのオペレータは、「AC」をマーチャントPOSデバイス160の支払アプリケーション163に入力する。一例では、マーチャントPOSデバイス160のユーザインターフェース165は、ユーザ101のレスポンスの入力に対する要求を表示する。マーチャントPOSデバイスのオペレータは、仮想もしくは物理キーボード、音声ディクテーションによって、または任意の適切な方式で、レスポンスを入力する。代替例では、ユーザ101は、レスポンスをマーチャントPOSデバイス160のユーザインターフェース165に入力する。この例では、マーチャント販売時点デバイス160は、チャレンジレスポンスに基づいて、潜在的なユーザ101を表示する。マーチャントPOSデバイス160は、チャレンジレスポンスに基づいて、潜在的なユーザ101を表示する。チャレンジレスポンスに関連付けられたユーザ101のリストは、マーチャントPOSデバイス160上でマーチャントPOSデバイス160のオペレータに表示される。たとえば、10人の顧客が、関連するマーチャントビーコンデバイス120およびチェックイン信号または後続のチェックイン信号をアカウント管理システム130に送信した10人の顧客の各々に関連付けられたユーザコンピューティングデバイス110の近くにいる場合、マーチャントPOSデバイス160は、現在の顧客ログとともに、それぞれの10人の顧客のユーザ101のアカウントの各々に関連付けられたチャレンジレスポンスをアカウント管理システム130から受信した可能性がある。マーチャントPOSデバイス160がチャレンジレスポンス入力を受信すると、チャレンジレスポンスに関連付けられた潜在的なユーザ101のみが、ユーザインターフェース165を介して、現在の顧客ログからマーチャントPOSデバイス160のオペレータに表示される。
【０１０８】
支払アプリケーション163は、提示された潜在的なユーザ101のアカウントの画像をマーチャントPOSデバイス160のオペレータに表示してもよい。たとえば、各ユーザ101は、画像をユーザ101のアカウントに関連付けてもよい。マーチャントPOSデバイス160が1つまたは複数の潜在的なユーザ101のアカウントをマーチャントPOSデバイスのオペレータに提示すると、マーチャントPOSデバイスのオペレータは、トランザクションを行うユーザ101に一致する画像に基づいて、適切なユーザ101のアカウントを選択することができる。画像の代わりに、または画像に加えて、他の識別情報が提示されてもよい。たとえば、ユーザ101の名前が表示されてもよく、マーチャントPOSデバイスのオペレータ102は、その名前で潜在的なユーザ101を識別することができる。任意の他の適切な識別情報が提示されてもよい。
【０１０９】
ユーザ101のアカウントが現在の顧客ログに記載されていないとマーチャントPOSデバイス160のオペレータが決定した場合、方法270はブロック880に進む。たとえば、現在の顧客ログは、トランザクションを行うことを望むユーザ101に関連付けられた情報を含まない、ならびに/あるいは、マーチャントPOSデバイス160のオペレータは、現在の顧客ログ内の情報および/またはチェックアウト中にユーザ101によって提供される情報に基づいてユーザ101を識別することができない。
【０１１０】
ブロック880において、マーチャントPOSデバイス160のオペレータは、トランザクションを取り消す。たとえば、顔画像、アカウント情報、または表示された現在の顧客ログ内の他の識別情報はいずれも、トランザクションを行うことを望むユーザ101の情報のいずれとも一致しない。一例では、マーチャントPOSデバイス160のオペレータは、マーチャントPOSデバイス160のユーザインターフェース165上のオブジェクトを作動させることによってトランザクションを取り消すか、ユーザ101に不一致を通知するか、または任意の他の適切なアクションを実行してもよい。別の例では、マーチャントPOSデバイス160は、トランザクションで使用するためのユーザ101からの代替の支払方法を要求するようマーチャントPOSデバイス160に命令するために、ユーザインターフェース165と対話する。
【０１１１】
ブロック870に戻ると、ユーザ101のアカウントが現在の顧客ログに記載されているとマーチャントPOSデバイス160のオペレータが決定した場合、方法270はブロック890に進む。
【０１１２】
ブロック890において、マーチャントPOSデバイス160のオペレータは、現在の顧客ログから、ユーザ101に対応するユーザ101のアカウントを選択する。たとえば、マーチャント販売時点デバイスのオペレータは、トランザクションで使用するためのユーザ101のアカウントを選択する。ユーザ101の表示された画像を識別した後、マーチャントPOSデバイス160のオペレータは、画像に関連付けられたユーザインターフェース165の制御を作動させることによって、または任意の適切な方式で選択を入力することによって、ユーザ101の選択を入力することができる。
【０１１３】
一例では、単一のユーザ101のアカウントのみが潜在的なユーザ101のリストに提示される。単一のユーザ101のアカウントのみが識別された場合、方法は、表示された画像がユーザ101と一致することをマーチャントPOSデバイス160のオペレータが確認した後に続行することができる。画像が一致しない場合、マーチャントPOSデバイス160のオペレータは、トランザクションを取り消すか、ユーザ101に不一致を通知するか、または任意の他の適切なアクションを実行してもよい。いくつかの例では、マーチャントPOSデバイス160のオペレータは、たとえば、ユーザ101の身元書類を見ることを要求することによって、トランザクションのためにユーザ101の識別子を選択することに進む前にユーザ101の身元を確認するためのさらなるステップを取ってもよい。
【０１１４】
ブロック890から、方法270は図2のブロック280に進む。
【０１１５】
図2に戻ると、ブロック280において、アカウント管理システム130は、マーチャントシステムロケーションにおいて開始されたトランザクションを処理する。アカウント管理システム130によってトランザクションを処理するための方法280について、図9で説明する方法280を参照しながら以下でより詳細に説明する。
【０１１６】
図9は、いくつかの例による、アカウント管理システム130によってトランザクションを処理するための方法280を示すブロック図である。方法280について、図1に示す構成要素を参照しながら説明する。
【０１１７】
ブロック910において、アカウント管理システム130は、ユーザ101の識別子を含むトランザクションを処理するという要求をマーチャントPOSデバイス160から受信する。たとえば、マーチャント販売時点デバイスのオペレータが、トランザクションで使用するためのユーザ101のアカウントを選択したことに応答して、マーチャントPOSデバイス160は、トランザクションを処理するという要求とともに、ネットワーク170を介してアカウント管理システム130に、選択されたユーザ101のアカウントに関連付けられたユーザ101のアカウント識別子を送信するか、またはさもなければユーザ101のアカウントの選択の指示を送信する。一例では、アカウント管理システム130はさらに、マーチャントシステムの支払アカウントの識別子、トランザクションの総額、トランザクションで購入される1つまたは複数のアイテムの明細、および他の関連するトランザクション詳細を含むトランザクション詳細を、ネットワーク170を介してアカウント管理システム130に送信する。トランザクション詳細は、マーチャントシステムの支払アカウントに関連付けられた有効期限またはマーチャントシステムのアドレスなど、アカウント管理システム130がトランザクションを処理するために必要な情報を含んでもよい。一例では、アカウント管理システム130は、マーチャントシステムに関連付けられたアカウント内に、トランザクション詳細のうちのいくつかまたはすべてをすでに含んでいる。
【０１１８】
ブロック920において、アカウント管理システム130は、選択されたユーザ101のアカウントのアカウント情報をマーチャント販売時点デバイス160に送信する。たとえば、アカウント管理システム130に対するユーザ101のアカウントは、ユーザ101の1つまたは複数の支払アカウントに関連付けられた支払アカウント情報を含む。ユーザ101の例示的な支払アカウントは、クレジットアカウント、銀行アカウント、ストアドバリューアカウント、ギフトカード、マーチャントシステムチャージアカウント、または他の関連するユーザ101のアカウントを含む。一例では、マーチャントPOSデバイス160は、ユーザ101の支払アカウントのうちの1つまたは複数についての完全な支払情報を受信しない。たとえば、支払情報は、難読化される(obfuscated)か、遮蔽される(occluded)か、または切り詰められる(truncated)場合がある。たとえば、マーチャントPOSデバイス160は、ユーザ101がユーザインターフェース165を介して支払アカウントを識別するのに十分な短縮された支払情報のみを受信してもよい。
【０１１９】
ブロック930において、マーチャント販売時点デバイス160は、選択されたユーザ101のアカウントを表示する。一例では、マーチャントPOSデバイス160は、ユーザインターフェース165上にユーザ101の完全なアカウント情報を表示しない。たとえば、クレジットカードアカウントの場合、マーチャントPOSデバイスのユーザインターフェース165は、クレジットカードに関連付けられた名前、クレジットカード番号の最後の4桁、および有効期限のみを表示してもよい。
【０１２０】
ブロック940において、マーチャント販売時点デバイス160のオペレータは、トランザクションのためのユーザ101のアカウントを選択し、ユーザ101の許可によってトランザクションを確認する。たとえば、ユーザ101は、ユーザインターフェース165上に表示されたアカウントオプションを直接見るか、またはマーチャントPOSデバイス160のオペレータがユーザ101の支払アカウントオプションをユーザ101に読み上げるのを聞く。一例では、ユーザ101は、トランザクションで使用する支払アカウントオプションを選択する。たとえば、ユーザ101は、クレジットカードアカウントを使用すると決定する。一例では、ユーザ101は、トランザクションで使用するための支払アカウントの選択をマーチャントPOSデバイス160のオペレータに伝える。一例では、支払アカウントについてのユーザ101の指示を受けたことに応答して、マーチャントPOSデバイス160のオペレータは、ユーザ101によって示された支払アカウントをマーチャントPOSデバイスのユーザインターフェース165上で選択する。
【０１２１】
ブロック950において、マーチャント販売時点デバイス160は、トランザクション詳細および選択された特定の支払アカウントの指示をアカウント管理システム130に送信する。たとえば、マーチャントPOSデバイス160は、トランザクション総額、マーチャントシステムのアカウント識別子、およびユーザ101のアカウントの支払オプションの選択を含むトランザクション詳細を送信する。一例では、アカウント管理システム130は、ネットワーク170を介してトランザクション詳細を受信する。一例では、アカウント管理システム130は、ユーザ101の支払アカウントの受信された選択に対応する支払アカウント情報をユーザ101のアカウントから抽出する。
【０１２２】
ブロック960において、アカウント管理システム130は、トランザクション許可要求をイシュアシステム140に送信する。一例では、アカウント管理システム130は、ユーザ101の支払アカウント情報、マーチャントシステムの支払アカウント情報、およびトランザクションの総額を含むトランザクション許可要求を生成する。一例では、アカウント管理システム130は、ネットワーク170を介してアカウント管理システム130からトランザクション許可要求を受信する。
【０１２３】
ブロック970において、イシュアシステム140は、トランザクション許可要求を承認し、トランザクション許可承認を支払処理システム150に送信する。一例では、イシュアシステム140は、ユーザ101のクレジットアカウントに関連付けられたユーザ101のクレジット上限からユーザ101の現在のアカウント残高を差し引く。一例では、クレジット上限とクレジット残高の差がトランザクションの総額よりも大きい整数である場合、イシュアシステム140はトランザクション許可を承認する。たとえば、ユーザ101は、トランザクションが承認されたとしてもクレジット上限を超えないので、イシュアシステム140はトランザクション許可要求を承認する。一例では、支払処理システム150は、イシュアシステム140からトランザクション許可承認を受信する。別の例では、支払処理システム150は、イシュアシステム140がトランザクション許可要求を拒絶したことに応答して、トランザクション許可要求の否認を受信する。一例では、イシュアシステム140がトランザクション許可要求を承認した場合、イシュアシステム140はマーチャントシステムのアカウントの貸方に記入し、請求をユーザ101のクレジットアカウント明細書、銀行アカウント明細書、または他の適切な明細書に追加する。
【０１２４】
ブロック980において、アカウント管理システム130は、トランザクション受領書をマーチャント販売時点デバイス160に送信する。たとえば、アカウント管理システム130は、トランザクションの承認の確認または拒絶されたトランザクションの通知を、ネットワーク170を介してマーチャントPOSデバイス160に送信する。一例では、マーチャントPOSデバイス160は、マーチャントPOSデバイス160の構成要素であるか、またはさもなければマーチャントPOSデバイス160に通信可能に結合されたプリンタデバイスによって、成功したまたは失敗したトランザクションの概要を含む受領書を印刷する。別の例では、アカウント管理システム130が、ユーザコンピューティングデバイス上で表示されるように、トランザクション受領書をユーザコンピューティングデバイス110に送信してもよい。また別の例では、マーチャントPOSデバイス160が、ユーザコンピューティングデバイス上で表示されるように、トランザクション受領書をユーザコンピューティングデバイス110に送信する。
【０１２５】
他の例
図10は、いくつかの例によるコンピューティングマシン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は、モジュール2050、データ、または任意の他の情報などの、1つまたは複数のオペレーティングシステム、アプリケーションプログラムおよびプログラムモジュールを記憶し得る。記憶媒体2040は、コンピューティングマシン2000の一部であるか、またはコンピューティングマシン2000に接続され得る。記憶媒体2040はまた、サーバ、データベースサーバ、クラウドストレージ、ネットワークアタッチトストレージなどの、コンピューティングマシン2000と通信している1つまたは複数の他のコンピューティングマシンの一部であり得る。
【０１３０】
モジュール2050は、コンピューティングマシン2000が本明細書で提示する様々な方法および処理機能を実行するのを容易にするように構成された1つまたは複数のハードウェア要素またはソフトウェア要素を備え得る。モジュール2050は、システムメモリ2030、記憶媒体2040、またはその両方に関連してソフトウェアまたはファームウェアとして記憶された命令の1つまたは複数のシーケンスを含み得る。したがって、記憶媒体2040は、プロセッサ2010によって実行するための命令またはコードが記憶され得るマシン可読媒体またはコンピュータ可読媒体の例を表し得る。マシン可読媒体またはコンピュータ可読媒体は、一般に、命令をプロセッサ2010に与えるために使用される任意の1つまたは複数の媒体を指し得る。モジュール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の全部として、またはシステムバス2020とともに動作するように構成され得る。I/Oインターフェース2060は、1つまたは複数の外部デバイス、内部デバイス、コンピューティングマシン2000、またはプロセッサ2010の間の送信をバッファするための1つまたは複数のバッファを含み得る。
【０１３２】
I/Oインターフェース2060は、コンピューティングマシン2000を、マウス、タッチスクリーン、スキャナ、電子デジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロフォン、キーボード、任意の他のポインティングデバイス、またはそれらの任意の組合せを含む様々な入力デバイスに結合し得る。I/Oインターフェース2060は、コンピューティングマシン2000を、ビデオディスプレイ、スピーカ、プリンタ、プロジェクタ、触覚フィードバックデバイス、自動制御、ロボット構成要素、アクチュエータ、モータ、ファン、ソレノイド、バルブ、ポンプ、送信機、信号エミッタ、ライトなどを含む様々な出力デバイスに結合し得る。
【０１３３】
コンピューティングマシン2000は、ネットワーク2080にわたる1つまたは複数の他のシステムまたはコンピューティングマシンへのネットワークインターフェース2070を通じた論理接続を使用して、ネットワーク化環境において動作し得る。ネットワーク2080は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイヤレスアクセスネットワーク、ワイヤードネットワーク、モバイルネットワーク、電話ネットワーク、光ネットワーク、またはそれらの組合せを含み得る。ネットワーク2080は、パケット交換、回線交換、または任意のトポロジであってもよく、任意の通信プロトコルを使用し得る。ネットワーク2080内の通信リンクは、光ファイバケーブル、自由空間光通信、導波路、導電体、ワイヤレスリンク、アンテナ、無線周波数通信などの、様々なデジタル通信媒体またはアナログ通信媒体を伴い得る。
【０１３４】
プロセッサ2010は、システムバス2020を通じてコンピューティングマシン2000のその他の要素または本明細書で論じる様々な周辺機器に接続され得る。システムバス2020は、プロセッサ2010の内部にあってもよく、プロセッサ2010の外部にあってもよく、またはその両方であってもよいことを諒解されたい。いくつかの実施形態によれば、プロセッサ2010、コンピューティングマシン2000のその他の要素、または本明細書で論じる様々な周辺機器のうちのいずれかは、システムオンチップ(「SOC」)、システムオンパッケージ(「SOP」)、またはASICデバイスなどの単一のデバイスに統合されてもよい。
【０１３５】
ここで論じるシステムがユーザについての個人情報を収集するか、または個人情報を利用する可能性がある状況では、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの好み、またはユーザの現在のロケーションについての情報)を収集するかどうかを制御するための、あるいは、ユーザにより関連があり得るコンテンツサーバからコンテンツを受信するかどうかおよび/またはどのようにコンテンツを受信するかを制御するための機会またはオプションを与えられ得る。加えて、ある一定のデータは、個人を識別できる情報が除去されるように、記憶されるかまたは使用される前に1つまたは複数のやり方で取り扱われ得る。たとえば、ユーザの身元は、ユーザについて個人を識別できる情報を決定することができないように取り扱われ得るか、または、ユーザの地理的ロケーションは、ロケーション情報が取得される場合、ユーザの特定のロケーションを決定することができないように(都市、郵便番号、または州レベルなどに)一般化され得る。したがって、ユーザは、ユーザについてどのように情報が収集され、コンテンツサーバによって使用されるかを制御することができる。
【０１３６】
実施形態は、本明細書で説明および図示する機能を具現化するコンピュータプログラムを含んでもよく、コンピュータプログラムは、マシン可読媒体に記憶された命令と命令を実行するプロセッサとを含むコンピュータシステムにおいて実装される。しかしながら、コンピュータプログラミングにおいて実施形態を実装する多くの異なるやり方があり得ること、実施形態はコンピュータプログラム命令の任意の1つのセットに限定されるものとして解釈されるべきではないことは明らかであるはずである。さらに、熟練したプログラマーであれば、添付のフローチャートおよび本出願の本文における関連する説明に基づいて、開示した実施形態のうちの一実施形態を実装するためにそのようなコンピュータプログラムを書くことができるであろう。したがって、プログラムコード命令の特定のセットの開示は、実施形態をどのように作成および使用するかを適切に理解するために必要であるとは見なされない。さらに、当業者であれば、本明細書で説明する実施形態の1つまたは複数の態様は、1つまたは複数のコンピューティングシステムにおいて具現化され得る場合に、ハードウェア、ソフトウェア、またはそれらの組合せによって実行され得ることを諒解されよう。さらに、コンピュータによって実行される行為へのいかなる言及も、2つ以上のコンピュータがその行為を実行し得るので、単一のコンピュータによって実行されるものとして解釈されるべきではない。
【０１３７】
本明細書で説明する例は、本明細書で説明する方法および処理機能を実行するコンピュータハードウェアおよびソフトウェアとともに使用され得る。本明細書で説明するシステム、方法、および手順は、プログラマブルコンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路において具現化され得る。ソフトウェアは、コンピュータ可読媒体上に記憶され得る。たとえば、コンピュータ可読媒体は、フロッピーディスク、RAM、ROM、ハードディスク、リムーバブル媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、CD-ROMなどを含むことができる。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロック論理、フィールドプログラマブルゲートアレイ(FPGA)などを含むことができる。
【０１３８】
以前に提示した実施形態において説明した例示的なシステム、方法、および行為は、例示的なものであり、代替実施形態では、いくつかの行為は、異なる順序で実行される、互いと並行して実行される、完全に省略される、および/または異なる例の間で組み合わされる場合があり、ならびに/あるいは、いくつかの追加の行為は、様々な実施形態の範囲および趣旨から逸脱することなしに実行される場合がある。したがって、そのような代替実施形態は以下の特許請求の範囲に含まれ、特許請求の範囲は、そのような代替実施形態を包含するように最も広い解釈を与えられるべきである。
【０１３９】
特定の実施形態について上記で詳細に説明したが、説明は例示を目的とするものにすぎない。したがって、上記で説明した多くの態様は、別段に明示的に述べられていない限り、必要な要素または必須の要素として意図されないことを諒解されたい。上記で説明したものに加えて、例の開示した態様の修正形態、およびそれらの態様に対応する同等の構成要素または行為は、以下の特許請求の範囲で定義する実施形態の趣旨および範囲から逸脱することなしに、本開示の利益を有する当業者によって作成することができ、特許請求の範囲は、そのような修正形態および同等の構造を包含するように最も広い解釈を与えられるべきである。
【符号の説明】
【０１４０】
100  システム、動作環境
101  ユーザ
102  オペレータ
110  ユーザコンピューティングデバイス、ネットワークコンピューティングデバイス
111  アンテナ、ユーザインターフェース
112  Bluetooth low energy(「BLE」)コントローラ、BLEコントローラ、Bluetoothコントローラ、NFCコントローラ
113  サービスアプリケーション、支払アプリケーション
115  ユーザインターフェース
116  データ記憶ユニット
118  ウェブブラウザ
119  通信アプリケーション
120  ビーコンデバイス、ネットワークコンピューティングデバイス
121  アンテナ
122  BLEコントローラ
123  乱数生成器
130  サービスプロバイダシステム、ネットワークコンピューティングデバイス、アカウント管理システム
131  アカウント管理モジュール
136  データ記憶ユニット
137  トランザクション処理モジュール、処理モジュール
138  サーバ
139  ウェブサイト
140  イシュアシステム、ネットワークコンピューティングデバイス
150  カメラデバイス、ネットワークコンピューティングデバイス、支払処理システム
160  販売時点デバイス、POSデバイス、販売時点(「POS」)デバイス、マーチャントPOSデバイス、マーチャント販売時点デバイス、ネットワークコンピューティングデバイス、支払処理システム
163  支払アプリケーション
165  ユーザインターフェース
166  データ記憶ユニット
169  通信アプリケーション
170  ネットワーク、分散ネットワーク、ワイヤレスネットワーク、ワイヤレス通信ネットワーク、ローカルワイヤレスネットワーク、Bluetooth Low-Energy(「BLE」)ネットワーク、BLEネットワーク
180  Bluetooth Low-Energy(「BLE」)ネットワーク、BLEネットワーク、ネットワーク
200  方法
210  方法
220  方法
240  方法
250  方法
260  方法
270  方法
280  方法
2000  コンピューティングマシン
2010  プロセッサ
2020  システムバス
2030  システムメモリ
2040  記憶媒体
2050  モジュール
2060  入力/出力インターフェース、I/Oインターフェース
2070  ネットワークインターフェース
2080  ネットワーク
【図１】
2019514231.tif 000003
【図２】
2019514231.tif 000004
【図３】
2019514231.tif 000005
【図４】
2019514231.tif 000006
【図５】
2019514231.tif 000007
【図６】
2019514231.tif 000008
【図７】
2019514231.tif 000009
【図８】
2019514231.tif 000010
【図９】
2019514231.tif 000011
【図１０】
2019514231.tif 000012
【手続補正書】
【提出日】平成30年8月3日(2018.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にする、コンピュータにより実行される方法であって、
ユーザコンピューティングデバイスによって、サービスプロバイダシステムのロケーションにおけるビーコンデバイスから、第1のビーコンデバイスコードを受信するステップと、
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するステップと、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ユーザコンピューティングデバイスによって、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するステップと、
前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するステップと
を含む方法。
【請求項２】
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項1に記載の方法。
【請求項５】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項4に記載の方法。
【請求項６】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項1に記載の方法。
【請求項７】
コンピュータプログラムであって、
コンピュータによって実行されると、ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にすることを前記コンピュータに行わせるコンピュータ実行可能プログラム命令を含み、前記コンピュータ実行可能プログラム命令が、
ビーコンデバイスから、第1のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と
を含む、コンピュータプログラム。
【請求項８】
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム。
【請求項９】
前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム。
【請求項１０】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項7に記載のコンピュータプログラム。
【請求項１１】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項10に記載のコンピュータプログラム。
【請求項１２】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項7に記載のコンピュータプログラム。
【請求項１３】
前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項7に記載のコンピュータプログラム。
【請求項１４】
ビーコンデバイスコードを周期的に変更することによって、ユーザコンピューティングデバイスによる繰り返しチェックイン信号を可能にするシステムであって、
記憶デバイスと、
前記記憶デバイスに通信可能に結合されたプロセッサとを備え、前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
ビーコンデバイスから、第1のビーコンデバイスコードを受信することと、
前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信することと、
前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信することと、
前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信することと
を行わせる、システム。
【請求項１５】
前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
を行わせるようにさらに構成される、請求項14に記載のシステム。
【請求項１６】
前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
を行わせるようにさらに構成される、請求項14に記載のシステム。
【請求項１７】
前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項14に記載のシステム。
【請求項１８】
前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項17に記載のシステム。
【請求項１９】
前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項14に記載のシステム。
【請求項２０】
前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項14に記載のシステム。
【国際調査報告】
2019514231.tif 000013
2019514231.tif 000014