JP6643485B2 - ビーコンデバイスによってブロードキャストされたコードを回転させることによるユーザデバイスステータスの識別 - Google Patents

ビーコンデバイスによってブロードキャストされたコードを回転させることによるユーザデバイスステータスの識別 Download PDF

Info

Publication number
JP6643485B2
JP6643485B2 JP2018531075A JP2018531075A JP6643485B2 JP 6643485 B2 JP6643485 B2 JP 6643485B2 JP 2018531075 A JP2018531075 A JP 2018531075A JP 2018531075 A JP2018531075 A JP 2018531075A JP 6643485 B2 JP6643485 B2 JP 6643485B2
Authority
JP
Japan
Prior art keywords
user
beacon device
check
computing device
beacon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018531075A
Other languages
English (en)
Other versions
JP2019514231A (ja
Inventor
サシカンス・チャンドラセカラン
ミハル・パルチェウスキー
ヴァロウ・チティリアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2019514231A publication Critical patent/JP2019514231A/ja
Application granted granted Critical
Publication of JP6643485B2 publication Critical patent/JP6643485B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/04Details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/24Credit schemes, i.e. "pay after"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3224Transactions dependent on location of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に完全に組み込まれる、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 ネットワーク

Claims (20)

  1. ビーコンデバイスコードを周期的に変更することによって、繰り返しチェックイン信号を可能にする、ユーザコンピューティングデバイスにより実行される方法であって、
    前記ユーザコンピューティングデバイスによって、サービスプロバイダシステムのロケーションにおけるビーコンデバイスから、第1のビーコンデバイスコードを受信するステップと、
    前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するステップと、
    前記第1のビーコンデバイスコードを受信した後の時点で、前記ユーザコンピューティングデバイスによって、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するステップと、
    前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するステップと
    を含む方法。
  2. 前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
  3. 前記第2のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
  4. 前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項1に記載の方法。
  5. 前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項4に記載の方法。
  6. 前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項1に記載の方法。
  7. コンピュータプログラムであって、
    ユーザコンピューティングデバイスによって実行されると、ビーコンデバイスコードを周期的に変更することによって、繰り返しチェックイン信号を可能にすることを前記ユーザコンピューティングデバイスに行わせるコンピュータ実行可能プログラム命令を含み、前記コンピュータ実行可能プログラム命令が、
    ビーコンデバイスから、第1のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
    前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と、
    前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信するためのコンピュータ実行可能プログラム命令と、
    前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信するためのコンピュータ実行可能プログラム命令と
    を含む、コンピュータプログラム。
  8. 前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム。
  9. 前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信するためのコンピュータ実行可能プログラム命令をさらに含む、請求項7に記載のコンピュータプログラム。
  10. 前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項7に記載のコンピュータプログラム。
  11. 前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項10に記載のコンピュータプログラム。
  12. 前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項7に記載のコンピュータプログラム。
  13. 前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項7に記載のコンピュータプログラム。
  14. ビーコンデバイスコードを周期的に変更することによって、繰り返しチェックイン信号を可能にするユーザコンピューティングデバイスであって、
    記憶デバイスと、
    前記記憶デバイスに通信可能に結合されたプロセッサとを備え、前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記ユーザコンピューティングデバイスに、
    ビーコンデバイスから、第1のビーコンデバイスコードを受信することと、
    前記第1のビーコンデバイスコードを受信したことに応答して、1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードとユーザアカウントに関連付けられたユーザアカウント識別子とを含む第1のチェックイン信号を送信することと、
    前記第1のビーコンデバイスコードを受信した後の時点で、前記ビーコンデバイスから、第2のビーコンデバイスコードを受信することと、
    前記第2のビーコンデバイスコードを受信したことに応答して、前記1つまたは複数のコンピューティングデバイスに、前記第1のビーコンデバイスコードと前記ユーザアカウント識別子とを含む第2のチェックイン信号を送信することと
    を行わせる、ユーザコンピューティングデバイス
  15. 前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記ユーザコンピューティングデバイスに、
    前記第1のビーコンデバイスコードを受信したことに応答して、前記ユーザコンピューティングデバイスの第1のロケーションデータをログし、前記第1のチェックイン信号とともに、前記第1のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
    を行わせるようにさらに構成される、請求項14に記載のユーザコンピューティングデバイス
  16. 前記プロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記ユーザコンピューティングデバイスに、
    前記ユーザコンピューティングデバイスの第2のロケーションデータをログし、前記第2のチェックイン信号とともに、前記第2のロケーションデータを前記1つまたは複数のコンピューティングデバイスに送信すること
    を行わせるようにさらに構成される、請求項14に記載のユーザコンピューティングデバイス
  17. 前記1つまたは複数のコンピューティングデバイスが、前記第1のチェックイン信号および第1のタイムスタンプを受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項14に記載のユーザコンピューティングデバイス
  18. 前記1つまたは複数のコンピューティングデバイスが、前記第1のタイムスタンプの時点からの指定された時間内に前記第2のチェックイン信号を受信したことに応答して、前記ユーザアカウントのチェックインステータスをログする、請求項17に記載のユーザコンピューティングデバイス
  19. 前記第1のビーコンデバイスコードが前記ビーコンデバイスのハードウェア識別子を含み、前記第2のビーコンデバイスコードが前記ビーコンデバイスによって生成された乱数を含む、請求項14に記載のユーザコンピューティングデバイス
  20. 前記ビーコンデバイスがサービスプロバイダシステムのロケーションにある、請求項14に記載のユーザコンピューティングデバイス
JP2018531075A 2016-02-23 2017-02-23 ビーコンデバイスによってブロードキャストされたコードを回転させることによるユーザデバイスステータスの識別 Active JP6643485B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662298975P 2016-02-23 2016-02-23
US62/298,975 2016-02-23
PCT/US2017/019159 WO2017147315A1 (en) 2016-02-23 2017-02-23 Identifying user device status via rotating codes broadcast by a beacon device

Publications (2)

Publication Number Publication Date
JP2019514231A JP2019514231A (ja) 2019-05-30
JP6643485B2 true JP6643485B2 (ja) 2020-02-12

Family

ID=58264613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018531075A Active JP6643485B2 (ja) 2016-02-23 2017-02-23 ビーコンデバイスによってブロードキャストされたコードを回転させることによるユーザデバイスステータスの識別

Country Status (6)

Country Link
US (1) US10278006B2 (ja)
EP (1) EP3375172B1 (ja)
JP (1) JP6643485B2 (ja)
KR (1) KR102109875B1 (ja)
CN (1) CN108496342B (ja)
WO (1) WO2017147315A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10278006B2 (en) 2016-02-23 2019-04-30 Google Llc Identifying user device status via rotating codes broadcast by a beacon device
WO2017151859A1 (en) * 2016-03-02 2017-09-08 Tinoq Inc. Systems and methods for efficient face recognition
CN112866575A (zh) 2016-03-30 2021-05-28 蒂诺克股份有限公司 用于用户检测和识别的***和方法
US10491598B2 (en) * 2016-06-30 2019-11-26 Amazon Technologies, Inc. Multi-factor authentication to access services
US10523387B2 (en) * 2018-01-24 2019-12-31 GM Global Technology Operations LLC Method and system for transmission of signals with efficient bandwidth utilization
US11263418B2 (en) 2018-08-21 2022-03-01 Tinoq Inc. Systems and methods for member facial recognition based on context information
CN111770430A (zh) * 2019-03-12 2020-10-13 ***通信有限公司研究院 一种信息处理方法及***、设备
US11265711B2 (en) 2019-09-13 2022-03-01 Microsoft Technology Licensing, Llc Proximity-based management of a computing device
EP4298574A4 (en) * 2021-02-26 2024-07-31 Nypro Inc APPARATUS, SYSTEM AND METHOD FOR PROVIDING SELF-REPLENISHMENT FOR A CONSUMABLE PRODUCT CONTAINER
JP7428447B1 (ja) 2023-06-22 2024-02-06 Tangerine株式会社 情報処理システム、情報処理方法、送信装置、受信装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265593B2 (en) * 2007-08-27 2012-09-11 Alcatel Lucent Method and system of communication using extended sequence number
US8645213B2 (en) * 2010-01-15 2014-02-04 Ebay, Inc. Transactions associated with a mobile device
KR101227519B1 (ko) * 2010-10-17 2013-01-31 엘지전자 주식회사 위치측정용 참조신호 전송방법 및 기지국과, 위치측정용 참조신호 수신방법 및 사용자기기
JP6203730B2 (ja) * 2011-09-23 2017-09-27 クアルコム,インコーポレイテッド 近接フィンガープリントによる位置推定
US20130268378A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Transaction validation between a mobile communication device and a terminal using location data
MX346551B (es) * 2013-03-11 2017-03-24 Fustes Manuel Cobro de peaje con dispositivo de comunicación.
US9185648B2 (en) * 2013-03-13 2015-11-10 Qualcomm Incorporated Intelligent beaconing by software-enabled access point
US9544869B2 (en) * 2013-05-16 2017-01-10 Qualcomm Incorporated Method for adapting to venue positioning capabilities
US20160195547A1 (en) * 2013-07-31 2016-07-07 Pharnext Diagnostic tools for alzheimer's disease
US9356819B2 (en) * 2013-09-27 2016-05-31 Ebay Inc. Systems and methods for checking a user into a location using a packet sequence including location information
KR102139998B1 (ko) * 2014-03-21 2020-08-03 에스케이플래닛 주식회사 비콘의 보안을 위한 제어 시스템 및 방법 그리고 그 제어 장치
WO2015149032A1 (en) * 2014-03-28 2015-10-01 Brian Roundtree Beacon based privacy centric network communication, sharing, relevancy tools and other tools
WO2015151981A1 (ja) * 2014-03-31 2015-10-08 株式会社Nttドコモ 通信システム、通信端末、通信方法、及びプログラム
CN103874021B (zh) * 2014-04-02 2018-07-10 银理安金融信息服务(北京)有限公司 安全区域识别方法、识别设备及用户终端
US9648652B2 (en) * 2014-04-08 2017-05-09 Paypal, Inc. Facilitating wireless connections using a BLE beacon
CN110049489B (zh) * 2014-06-05 2022-01-28 创新先进技术有限公司 传输信标数据的方法及装置
AU2015280010A1 (en) 2014-06-24 2016-12-22 Retailmenot, Inc. Cross-device geolocation sensing to geotarget offers
WO2016007445A1 (en) * 2014-07-11 2016-01-14 Google Inc. Hands-free transactions
US9642173B2 (en) * 2014-07-15 2017-05-02 Paypal, Inc. Systems and methods for reusing generic tokens using Bluetooth® low energy (BLE) beacons
US9378494B2 (en) * 2014-08-22 2016-06-28 Paypal, Inc. Suspending and resuming transactions through wireless beacon communications
US10055707B2 (en) * 2015-04-07 2018-08-21 Paypal, Inc. Location detection devices for use in a courier services network
US20160300216A1 (en) * 2015-04-13 2016-10-13 Paypal, Inc. Wireless beacon devices for preventing fraud using loyalty information for a user
US10278006B2 (en) 2016-02-23 2019-04-30 Google Llc Identifying user device status via rotating codes broadcast by a beacon device

Also Published As

Publication number Publication date
EP3375172A1 (en) 2018-09-19
KR102109875B1 (ko) 2020-05-12
WO2017147315A1 (en) 2017-08-31
WO2017147315A8 (en) 2017-10-19
EP3375172B1 (en) 2020-04-29
KR20180091872A (ko) 2018-08-16
US10278006B2 (en) 2019-04-30
US20170245101A1 (en) 2017-08-24
JP2019514231A (ja) 2019-05-30
CN108496342B (zh) 2021-07-16
CN108496342A (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
JP6643485B2 (ja) ビーコンデバイスによってブロードキャストされたコードを回転させることによるユーザデバイスステータスの識別
US11694175B2 (en) Identifying consumers in a transaction via facial recognition
JP7160883B2 (ja) ハンズフリー取引のための顔の外形の修正
JP6476352B1 (ja) Ipホワイトリスト登録による近接度に基づくネットワークセキュリティ
CN107527198B (zh) 识别特定于用户计算设备的位置
CN108040495B (zh) 经由面部识别标识交易中的顾客的方法、***和存储介质
KR102273818B1 (ko) 오프라인 사용자 식별
US20170255941A1 (en) Facial Template And Token Pre-Fetching In Hands Free Service Requests
US20210342813A1 (en) Symmetric Discovery Over Audio
US20180053176A1 (en) Tap And Pair Via Proximity Sensing
EP3616392B1 (en) Pairing computing devices via audio communication channels

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200106

R150 Certificate of patent or registration of utility model

Ref document number: 6643485

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250