CN111201504A - 键盘输入模仿 - Google Patents
键盘输入模仿 Download PDFInfo
- Publication number
- CN111201504A CN111201504A CN201880066348.7A CN201880066348A CN111201504A CN 111201504 A CN111201504 A CN 111201504A CN 201880066348 A CN201880066348 A CN 201880066348A CN 111201504 A CN111201504 A CN 111201504A
- Authority
- CN
- China
- Prior art keywords
- data set
- computing device
- computer
- data
- identifier
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0219—Special purpose keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
计算设备接收包括与标识符对应的一个或多个数据集的响应。所述计算设备识别所述响应中的第一数据集标识符,该第一数据集标识符发信号通知所述第一数据集的开始,并将所述第一数据集编辑为包括由第二计算设备理解为将所述第一数据集定义为第一特定类型的数据的第一键盘击键输入前缀以及由所述第二计算设备理解为定义所述第一数据集的结束的键盘击键输入后缀。所述计算设备识别并编辑第二数据集。所述编辑后的第一数据集和第二数据集被传输到所述第二计算设备,所述第二计算设备基于所述键盘击键输入前缀处理所述数据集并基于所述键盘击键输入后缀识别所述数据集的结束。
Description
相关申请的交叉引用
本专利申请要求于2017年10月11日提交的标题为“Keyboard Input Emulation”的美国专利申请No.62/570,820的优先权。上述申请的全部内容通过引用整体并入本文。
技术领域
本文公开的技术涉及模仿键盘输入的数据输入的创建。
背景技术
近场通信(“NFC”)技术是一种基于标准的无线通信技术,该技术允许在彼此之间处于某个预定义接近度内的设备之间交换数据。传统上,启用NFC的设备已预配置有特殊的硬件和应用,以可实现敏感数据的传送。但是,改变某些类型的可能不启用NFC的计算设备的制造硬件常常非常困难。
此外,这些计算设备的编程需要具体的键盘击键输入来处理不同类型的数据集。传统上,计算设备操作者需要手动按下按钮或输入键盘击键集合以发信号通知输入的每种类型数据集的开始和结束。因而,需要能够从启用了NFC的设备与这些计算设备交换数据并模仿手动键盘输入。
发明内容
本文的技术提供了计算机实现的方法来模仿键盘输入。在示例中,计算设备与移动计算设备建立无线通信信道。该计算设备向移动计算设备传输标识符,并从移动计算设备接收包括与该标识符对应的一个或多个数据集的响应。该计算设备识别响应中发信号通知(signalling)第一数据集的开始的第一数据集标识符。该计算设备将第一数据集编辑为包括(1)由第二计算设备理解为将第一数据集定义为第一特定类型的数据的第一键盘击键输入前缀,以及(2)由第二计算设备理解为定义第一数据集的结束的键盘击键输入后缀。该计算设备识别响应中发信号通知第二数据集的开始的第二数据集标识符,并将第二数据集编辑为包括(1)由第二计算设备理解为将第二数据集定义为第二特定类型的数据的第二键盘击键输入前缀,以及(2)由第二计算设备理解为定义第二数据集的结束的键盘击键输入后缀。该计算设备向第二计算设备传输编辑后的第一数据集和编辑后的第二数据集,其中第二计算设备(1)基于第一键盘击键输入前缀处理第一数据集、(2)基于键盘击键输入后缀识别第一数据集的结束、(3)基于第二键盘击键输入前缀处理第二数据集,以及(4)基于键盘击键输入后缀识别第二数据集的结束。
在本文描述的某些其它示例方面,提供了模仿键盘输入的系统和计算机程序产品。
在考虑以下所示示例的详细描述之后,示例的这些和其他方面、目的、特征和优点对于本领域普通技术人员将变得显而易见。
附图说明
图1是描绘根据某些示例的模仿键盘输入的系统的框图。
图2是描绘根据某些示例的模仿键盘输入的方法的流程框图。
图3是描绘根据某些示例的用于处理APDU标识符响应数据的方法的流程框图。
图4是描绘根据某些示例的计算机器和模块的框图。
具体实施方式
概述
本文描述的示例提供了用于键盘模仿的计算机实现的技术。在示例中,读取器计算设备可通信地连接到商家计算设备。示例读取器计算设备能够将从用户计算设备接收到的忠诚度信息、优惠(offer)、礼品卡账户信息、支付信息和其它与交易相关的信息中的一个或多个传送给商家计算设备。在示例中,读取器计算设备处理从用户计算设备接收的数据以提取数据集并将提取出的数据转换成商家计算设备理解的数据。该示例转换处理包括键盘代码的输入,这些键盘代码模仿由出纳员或商家系统操作者输入到商家计算设备中的键盘击键。
在示例中,将用户计算设备放置在读取器计算设备的预定阈值距离内并建立无线通信信道,通过该无线通信信道交换应用协议数据单元(“APDU”)命令和响应。在示例中,读取器计算设备通过通信信道将APDU命令传输到用户计算设备。示例APDU命令包括兼容性代码。用户计算设备接收APDU兼容性代码命令并将APDU兼容性响应发送到读取器计算设备。在示例中,APDU兼容性命令-响应对确认用户计算设备能够与读取器计算设备通信。在示例中,读取器计算设备接收APDU兼容性响应并将APDU标识符命令传输到用户计算设备。
在示例中,用户计算设备接收APDU标识符命令并识别与包含在APDU标识符命令中的标识符对应的忠诚度信息、优惠、礼品卡账户信息或其它与商家相关的信息。在示例中,用户计算设备准备包括识别出的信息的APDU标识符响应。示例APDU标识符响应包括与APDU标识符命令中包含的标识符对应的忠诚度信息、优惠、礼品卡账户信息或其它与商家相关的信息。在示例中,用户计算设备将APDU标识符响应传输到读取器计算设备。在示例中,读取器计算设备接收APDU标识符响应并且将用户计算设备从读取器计算设备的预定阈值距离中移除。在示例中,读取器计算设备处理接收到的APDU标识符响应。例如,读取器计算设备解析接收到的数据以识别一个或多个数据集。在示例中,读取器计算设备通过评估数据被格式化的方式来识别数据集。在示例中,读取器计算设备读取APDU标识符响应并提取识别出的每个数据集。
在示例中,读取器计算设备编辑提取出的数据集。在示例中,商家计算设备需要一个或多个键盘击键输入,以将数据识别为忠诚度账户信息、优惠信息和/或礼品卡信息。例如,在将忠诚度账户信息、优惠信息和/或礼品卡信息直接正常输入到商户计算设备期间,要求出纳员或商家操作者按下商家计算设备上的、在各种信息之前添加具体前缀的键或按钮。一旦收银员或商家操作者按下该键或按钮,商家计算设备就将识别出在按下与忠诚度账户、优惠和/或礼品卡对应的键或按钮之后的扫描条形码或键入的输入。
在示例中,读取器计算设备识别提取出的数据集的每种类型,并确定商家计算设备处理对应类型的数据所需的键盘代码。读取器计算设备通过编辑数据集以在每种类型的数据之前包括所需的前缀来模仿键盘击键的输入(例如,出纳员或商家操作者按下键或按钮)。在数据集之前输入编辑后的键盘击键向商家计算设备发信号通知输入的前缀后面的数据是对应类型的数据。
在示例中,商家计算设备需要指定的键盘击键来用信号通知数据集的完成。例如,在将数据直接正常地输入到商家计算设备中之后,要求出纳员或商家操作者按下商家计算设备上的键或按钮以指示完成忠诚度账户信息的输入。一旦收银员或商家操作者按下该键或按钮,商家计算设备就将理解已经输入了完整的数据集。在示例中,读取器计算设备通过在编辑后的会员账户信息之后输入键盘击键来模仿键盘击键的输入(例如,出纳员或商家操作者对键或按钮的按压)。
在示例中,读取器计算设备提取多于一种类型的数据集。在这个示例中,针对每种不同类型的数据集重复这些方法。一旦每个数据集已经被编辑,读取器计算设备就准备向商家计算设备的传输,该传输包括编辑后的标识符响应数据集的列表。在这个示例中,传输包括不同的忠诚度账户标识符、优惠标识符、礼品卡账户标识符、礼品卡账户密码或PIN,或从APDU标识符响应中识别出并被编辑为包括键盘模仿的击键的其它与交易相关的信息集,因此数据集可以被商家计算设备识别。
在示例中,读取器计算设备通信地耦合到商家计算设备并且通过有线或无线通信信道将编辑后的标识符响应数据集的列表传输到商家计算设备。商家计算设备理解模仿的键盘击键并且可以处理数据集,而无需收银员、用户或商家操作者输入附加按钮或键。
通过使用和依赖本文描述的方法和系统,键盘模仿系统可以用作硬件附加设备,该硬件附加设备与用户计算设备通信,以便以可被商家计算设备理解的方式接收和编辑数据,而无需改变商家计算设备的处理能力。传统上,诸如销售点设备之类的商家计算设备被制造为具有标准处理能力。考虑到销售点设备的广泛使用以及围绕支付处理的严格的ISO准则,改变标准处理功能以与用户计算设备通信是困难的。照此,本文所述的系统和方法可以被用于允许处理来自用户计算设备的数据,而不会损害销售点设备的结构和功能,并且无需改变在用户计算设备上制造的硬件。因此,以模仿传统上由收银员输入的击键的方式提供与销售点设备结合操作以编辑从用户计算设备接收到的数据的插件硬件设备改善了计算机和支付系统的功能。
在下面的描述中,结合图示程序流程的附图,将更详细地解释各种示例。
现在转向附图,其中在所有附图中相似的数字表示相似(但不一定完全相同)的元件,将详细描述示例。
示例系统架构
图1是描绘根据某些示例的模仿键盘输入的系统的框图。如图1中所描绘的,示例操作环境100包括被配置为经由一个或多个网络或经由计算设备的通信信道140彼此通信的系统110、120和130。在另一个示例中,这些系统中的两个或更多个(包括系统110、120和130)集成到同一系统中。在一些示例中,与设备相关联的用户必须安装应用和/或进行特征选择以获得本文描述的技术的益处。
每个通信信道140包括有线或无线电信机制,系统(包括系统110、120和130)可以通过该机制通信并交换数据。例如,每个通信信道140可以被实现为蓝牙、低功耗蓝牙(BLE)、近场通信网络(NFC)、标准化射频的任何形式、红外、声音(例如,可听见的声音、旋律和超声)、其它短距离通信信道或其任意组合或者促进信号、数据和/或消息(通称为数据)的通信的任何其它适当的体系结构或系统,或者可以是其一部分。在整个说明书中,应当理解的是,术语“数据”和“信息”在本文中可互换使用,以指代文本、图像、音频、视频或可以存在于基于计算机的环境中的任何其它形式的信息。
在示例中,每个系统(包括系统110、120和130)包括具有能够通过网络140传输和接收数据的通信模块的设备。例如,每个网络系统(包括系统110、120和130)可以包括服务器、个人计算机、移动设备(例如,笔记本计算机、平板计算机、上网本计算机、个人数字助理(PDA)、视频游戏设备、GPS定位器设备、蜂窝电话、智能手机或其它移动设备)、具有嵌入其中和/或耦合到其的一个或多个处理器的电视,或者包括或耦合到web浏览器或用于经由通信信道140通信的其它应用的其它合适的技术。在图1中所描绘的示例中,系统(包括系统110、120和130)分别由用户和商家操作。
商家计算系统包括至少一个商家计算设备130。示例商家计算设备133包括用户界面131、应用133和数据存储单元139。
在示例中,商家计算设备130是能够处理由用户发起的购买交易的销售点(POS)终端,例如收银机。在示例中,商家经营商业商店并且用户通过在POS终端上呈现支付形式来指示进行购买的愿望。在另一个示例中,商家计算设备130可以是个人计算机、移动设备(例如,笔记本计算机、平板计算机、上网本计算机、个人数字助理(PDA)、视频游戏设备、GPS定位器设备、蜂窝电话、智能手机或其它移动设备)、电视、可穿戴计算设备(例如,手表、戒指或眼镜)或者包括或耦合到web服务器(或其它用于与网页文件交互的适合应用)或包括或耦合到应用133的其它合适的技术。
商家可以使用商家计算设备130经由用户界面131和应用133处理购买交易。例如,用户界面131包括触摸屏、基于语音的界面或允许商家提供输入并从应用133接收输出的任何其它界面。在示例中,商家经由用户界面131与应用133交互。
应用133是存在于商家计算设备130上并在其上执行其操作的程序、函数、例程、小程序或类似实体。例如,应用133可以是购物应用、商家计算系统应用、互联网浏览器、数字钱包应用、忠诚卡应用、另一个增值应用、用户界面131应用或在商家计算设备130上操作的其它合适应用中的一个或多个。在一些示例中,商家必须在商家计算设备130上安装应用133和/或进行特征选择,以获得本文所述技术的好处。
在示例中,数据存储单元139可以是驻留在商家计算设备130上的单独的存储器单元。示例数据存储单元139使得能够存储销售数据、优惠数据、忠诚度信息和购买数据。在示例中,数据存储单元139可以包括适于存储信息的商家计算设备130可访问的任何本地或远程数据存储结构。在示例中,数据存储单元139存储加密信息,诸如HTML5本地存储装置。
在示例中,商家计算设备130能够经由应用133与读取器计算设备120通信。根据替代示例,应用133可以是商家计算设备130的集成部分,或者可以是独立硬件设备(未示出)。
在示例中,商家计算系统包括能够经由应用123与用户计算设备110和商家计算设备130通信的读取器计算设备120。示例读取器计算设备120包括与商家计算设备130结合操作的附加硬件设备。在示例中,读取器计算设备可以是个人计算机、移动设备(例如,笔记本计算机、平板计算机、上网本计算机、个人数字助理(PDA)、视频游戏设备、GPS定位器设备、蜂窝电话、智能手机或其它移动设备)、电视、可穿戴计算设备(例如,手表、戒指或眼镜)或者包括或耦合到web服务器(或用于与网页文件交互的其它合适应用)或包括或耦合到应用123的其它适当技术。在示例中,读取器计算设备120插入到经由有线或无线通信信道连接到商家计算设备。在示例中,数据经由有线或无线通信信道从读取器计算设备120传送到商家计算设备130。
在示例中,读取器计算设备120能够使用NFC通信方法与用户计算设备110通信。在另一个示例中,读取器计算设备120能够使用蓝牙通信方法与用户计算设备110通信。在又一个示例中,读取器计算设备120能够使用Wi-Fi通信方法与用户计算设备110通信。
示例应用123是存在于读取器计算设备120上并在其上执行其操作的程序、函数、例程、小程序或类似实体。例如,应用123可以是购物应用、商家计算系统应用、数字钱包应用、忠诚卡应用、另一个增值应用或在读取器计算设备120上操作的其它合适应用中的一个或多个。
在示例中,数据存储单元129可以是驻留在读取器计算设备120上的单独的存储器单元。示例数据存储单元129使得能够存储销售数据、优惠数据、忠诚度信息和购买数据。在示例中,数据存储单元129可以包括适于存储信息的读取器计算设备120可访问的任何本地或远程数据存储结构。在示例中,数据存储单元129存储加密信息,诸如HTML5本地存储装置。
在示例中,用户向商家计算系统请求购买、交换忠诚度数据、交换优惠数据或交换礼品卡数据。在示例中,与读取器计算设备120的交换是通过用户计算设备110的无线“轻击(tap)”来发起的。在示例中,在读取器计算设备120与用户计算设备110之间建立通信信道140。然后可以通过建立的通信信道140交换数据。
在示例中,从用户计算设备110接收的数据由读取器计算设备120上的应用123处理。在示例中,数据被处理并且数据的至少一部分被转换成由商家计算设备130理解的数据。示例经转换的数据包括键盘代码的输入。
示例用户计算设备110包括用户界面111、应用113、数据存储单元119、控制器115和天线117。在示例中,用户计算设备110可以个人计算机、移动设备(例如,笔记本计算机、平板计算机、上网本计算机、个人数字助理(PDA)、视频游戏设备、GPS定位器设备、蜂窝电话、智能手机或其它移动设备)、电视、可穿戴计算设备(例如,手表、戒指或眼镜)或者包括或耦合到web服务器(或其它用于与网页文件交互的适合应用)或包括或耦合到应用113的其它合适的技术。
用户可以使用用户计算设备110与读取器计算设备120通信,并经由用户界面111和应用113交换数据。例如,用户界面111包括触摸屏、基于语音的界面或允许用户提供输入并从应用113接收输出的任何其它界面。在示例中,用户经由用户界面111与应用113交互。
应用113是存在于用户计算设备110上并在其上执行其操作的程序、函数、例程、小程序或类似实体。例如,应用113可以是购物应用、商家计算系统应用、互联网浏览器、数字钱包应用、忠诚卡应用、另一个增值应用、用户界面111应用或在用户计算设备110上操作的其它合适应用中的一个或多个。在一些示例中,用户必须在用户计算设备110上安装应用113和/或进行特征选择,以获得本文所述技术的好处。
在示例中,数据存储单元119和应用113可以在用户计算设备110上的安全元件或其它安全存储器(未示出)中实现。在另一个示例中,数据存储单元119可以是驻留在用户计算设备110上的单独的存储器单元。示例数据存储单元119使得能够存储忠诚度数据、优惠、礼品卡数据和支付数据。在示例中,数据存储单元119可以包括适于存储信息的用户计算设备110可访问的任何本地或远程数据存储结构。在示例中,数据存储单元119存储加密信息,诸如HTML5本地存储装置。
在示例中,控制器115能够发送和接收数据、执行认证和加密功能,并指导用户计算设备110将如何监听来自商家计算设备120的传输或将用户计算设备110配置为各种省电模式。在另一个示例中,用户计算设备110包括能够执行类似功能的蓝牙控制器、蓝牙低功耗(“BLE”)控制器或NFC控制器。示例控制器115与应用113通信并且能够通过无线通信信道140发送和接收数据。在另一个示例中,控制器115包括使用蓝牙、BLE、Wi-Fi或NFC协议执行类似功能的蓝牙控制器、BLE控制器、Wi-Fi控制器或NFC控制器。
在示例中,控制器115激活天线117以在用户计算设备110与读取器计算设备120之间创建无线通信信道140。例如,用户计算设备110经由天线117与读取器计算设备120通信。在示例中,当用户计算设备110已被激活时,控制器115通过天线117轮询(poll through)无线电信号,或监听来自读取器计算设备120的无线电信号。
在示例中,天线117是用户计算设备110与读取器计算设备120之间的通信手段。在示例中,控制器115通过天线117输出无线电信号,或监听来自读取器计算设备120的无线电信号。
示例用户计算设备110包括可以存在于可移动智能芯片或可以嵌入在用户计算设备110上的固定芯片内的安全数字(SD)卡中的安全元件或安全存储器(未示出),或者被实现为安全性增强的操作系统的安全隔间。在某些示例中,订户身份模块(SIM)卡可以能够托管安全元件,例如NFC SIM卡。安全元件允许驻留在用户计算设备110上并且可由设备用户访问的软件应用与安全元件内的某些功能安全地交互,同时保护存储在安全元件内的信息。在另一个示例中,作为可选实施方式,安全元件被配置为包括非EMV类型的非接触式智能卡。安全元件与用户计算设备110中的应用113通信。在示例中,安全元件能够存储加密的用户信息并且仅允许受信任的应用访问所存储的信息。在示例中,控制器115与安全密钥加密的应用进行交互,以在安全元件中进行解密和安装。
在另一个示例中,代替安全元件或与安全元件结合,使用主机卡模仿(“HCE”)。在示例中,HCE使应用113能够使用密码处理来提供安全访问和处理(例如,支付账户和忠诚度账户)访问,而无需物理安全元件。使用HCE,可以在启用NFC的读取器计算设备120和用户计算设备110上的应用113之间安全地交换数据。在示例中,这种交换被配置为充当或假装模仿安全元件的功能响应。在示例中,从读取器计算设备120接收的数据请求被路由到用户计算设备110的主操作系统(未示出),而代替被路由到本地基于硬件的安全元件。
在示例中,网络计算设备和与本文给出的技术相关联的任何其它计算机可以是任何类型的计算机,诸如但不限于关于图4更详细讨论的那些计算机。此外,与这些计算机中的任何一个相关联的任何功能、应用或部件,诸如本文所述的那些或与本文中给出的技术相关联的任何其它功能(例如,脚本、web内容、软件、固件、硬件或模块),可以是关于图4更详细讨论的部件中的任何一个。本文讨论的计算机器可以在诸如网络2080之类的一个或多个网络上彼此通信,以及与其它计算机器或通信系统通信。网络2080可以包括任何类型的数据或通信网络,包括关于图4讨论的任何网络技术。
示例处理
在下文中,将参考图2-3中所示的示例方法来描述示例操作环境100的部件。图2-3的示例方法也可以在其它系统和其它环境中执行。关于图2-3中的任何一个描述的操作可以被实现为存储在计算机或机器可读的非暂态有形存储介质(例如,软盘、硬盘、ROM、EEPROM、非易失性RAM、CD-ROM等),这些是基于由使用一个或多个集成电路实现的处理器电路执行代码而完成的;本文描述的操作还可以被实现为在一个或多个非暂态有形介质(例如,可编程逻辑阵列或设备、现场可编程门阵列、可编程阵列逻辑、专用集成电路等)中编码以供执行的可执行逻辑。
图2是描绘根据某些示例的模仿键盘输入的方法200的方框流程图。方法200是参考图1中所示的部件来描述的。在示例中,读取器计算设备120通信地连接到商家计算设备130。示例读取器计算设备120能够将从用户计算设备110接收到的忠诚度信息、优惠、礼品卡账户信息、支付信息和其它与交易相关的信息中的一个或多个传送给商家计算设备130。在示例中,读取器计算设备120处理从用户计算设备110接收到的数据以提取数据集并将提取出的数据转换成商家计算设备130理解的数据。示例转换处理包括输入键盘代码,这些代码模仿出纳员或商家系统操作者输入到商家计算设备130的键盘击键。
在方框205中,将用户计算设备110放置在读取器计算设备120的预定义距离内。在示例中,将用户计算设备110放置在读取器计算设备120的预定义阈值距离内包括无线“轻击”。示例预定义阈值距离包括在指示的位置处与读取器计算设备120的物理接触。在另一个示例中,预定义阈值距离包括距读取器计算设备120上指示的位置小于几英寸的距离,例如小于4英寸。示例无线轻击建立无线通信信道140,通过该无线通信信道140交换应用协议数据单元(“APDU”)命令和响应。在示例中,在交换APDU命令响应对期间,用户计算设备110保持在读取器计算设备120的预定义距离内。示例APDU命令-响应对结构是根据ISO标准定义的。
在方框210中,读取器计算设备120通过通信信道140向用户计算设备110传输APDU命令。示例APDU命令包括兼容性代码。
在方框215中,用户计算设备110接收APDU兼容性代码命令。在示例中,用户计算设备110接收APDU兼容性命令,并且在用户计算设备110上操作的应用113处理APDU兼容性命令以确定设备(110和120)是否兼容。在另一个示例中,内置在用户计算设备110的操作系统中的处理器处理APDU兼容性命令并准备APDU兼容性响应。
在方框220中,用户计算设备110将APDU兼容性响应传输到读取器计算设备120。在示例中,APDU兼容性命令-响应对确认用户计算设备110能够与读取器计算设备120通信。在示例中,在轻击用户计算设备110的同时,用户计算设备110通过通信信道140将APDU兼容性响应传输到读取器计算设备120。
在方框225中,读取器计算设备120接收APDU兼容性响应。在示例中,APDU兼容性响应确认用户计算设备110能够与读取器计算设备120通信。
在方框230中,读取器计算设备120将APDU标识符命令传输到用户计算设备110。示例APDU标识符命令包括与商家系统、商家计算设备130对应的标识符代码、或可以被用户计算设备110用于识别与商家对应的信息的其它标识符。
在方框235中,用户计算设备110接收APDU标识符命令并将该命令路由到核心操作系统。在示例中,主机卡模仿(“HCE”)内置在用户计算设备110的操作系统中,以允许用户计算设备110在不使用安全元件的情况下安全地处理和传送数据。在另一个示例中,用户计算设备110将APDU标识符命令路由到安全元件、应用113或其它安全硬件,以允许用户计算设备110处理数据并与读取器计算设备120传送数据。
在方框240中,用户计算设备110识别与APDU标识符命令中包含的标识符对应的忠诚度信息、优惠、优惠券、礼品卡账户信息或其它与商家相关的信息。例如,APDU标识符命令包括商家X的标识符。在这个示例中,用户计算设备110检索(retrieve)商家X的忠诚度账户标识符、可以在商家X处兑换的三个优惠、商家X礼品卡账户信息以及商家X礼品卡的密码或PIN信息。
在另一个示例中,APDU标识符命令指导用户计算设备110识别用在购买交易中的一个或多个数据集。在又一个示例中,APDU标识符命令指导用户计算设备110识别用在优惠兑换或忠诚度交易中的一个或多个数据集。
在示例中,用户计算设备110准备包括识别出的信息的APDU标识符响应。示例APDU标识符响应包括与APDU标识符命令中包含的标识符对应的忠诚度信息、优惠、礼品卡账户信息或其它与商家相关的信息。
继续前面的示例,APDU标识符响应包括商家X的忠诚度账户标识符、可以在商家X兑换的三个优惠、商家X礼品卡账户信息以及商家X礼品卡密码或PIN信息。
在方框245中,用户计算设备110将APDU标识符响应传输到读取器计算设备120。在示例中,在轻击用户计算设备110的同时,APDU标识符响应经由通信信道140被传输到读取器计算设备120。
在方框250中,读取器计算设备120接收APDU标识符响应。在示例中,APDU标识符响应的交换完成了读取器计算设备120与用户计算设备110之间的数据交换。在示例中,读取器计算设备120将显示指示符(indicator)以发信号通知交换的完成,例如,绿灯。在另一个示例中,用户计算设备110将显示指示符以发信号通知数据交换的完成。在示例中,可以在完成数据交换之后将用户计算设备110从读取器计算设备120的预定义阈值距离中移除。
在方框260中,读取器计算设备120通过解析接收到的数据以识别一个或多个数据集来开始处理APDU标识符响应。在示例中,每个数据集与不同的忠诚度账户标识符、优惠标识符、礼品卡账户标识符、礼品卡账户密码或PIN或其它与交易相关的信息对应。
在方框270中,读取器计算设备120识别一个或多个数据集。在示例中,读取器计算设备120通过评估数据被格式化的方式来识别数据集。例如,读取器计算设备120识别固定值、预定义前缀、重复值、预定义数据值长度或发信号通知数据集的开始或结束的其它标识符。
在方框275中,读取器计算设备120提取每个识别出的数据集。在示例中,每个提取出的数据集包括不同的忠诚度账户标识符、优惠标识符、礼品卡账户标识符、礼品卡账户密码或PIN或其它与交易相关的信息集合。
在方框280中,读取器计算设备120编辑提取出的数据集。在下文中将参考图3中描述的方法更详细地描述用于编辑提取出的APDU标识符响应数据集的方法。在示例中,读取器计算设备120识别提取出的数据集的每种类型并将提取出的数据集编辑为包括前缀和/或后缀,该前缀和/或后缀模仿商家计算设备130识别该数据集所需的键盘击键的输入。
图3是描述根据某些示例的处理APDU标识符响应数据的方法280的方框流程图,如在方框280中所引用的。方法280参考图1中所示的部件进行描述。
在方框305中,读取器计算设备120查看第一提取出的数据集并确定第一提取出的数据集是否包括忠诚度账户信息。在示例中,读取器计算设备120通过确定数据集是否包括预定义量或数字列表来确定第一提取出的数据集是否包括忠诚度账户信息。
如果第一数据集包括忠诚度账户信息,那么方法280前进到方框310。在方框310中,读取器计算设备120确定商家计算设备130处理忠诚度账户信息所需的键盘代码。在示例中,商家计算设备130需要一个或多个键盘击键输入以将数据识别为忠诚度账户信息。例如,在将忠诚度账户信息直接正常输入到商家计算设备130期间,要求收银员或商家操作者按下商家计算设备130上的在忠诚度账户信息之前添加具体前缀的键或按钮。一旦收银员或商家操作者按下该键或按钮,商家计算设备130就将按下该键或按钮之后的扫描的条形码或键入的输入识别为与忠诚度账户对应。
在方框320中,读取器计算设备120通过编辑数据集以在忠诚度账户信息之前包括所需的前缀来模仿键盘击键的输入(例如,收银员或商家对键或按钮的按压)。例如,读取器计算设备120识别出忠诚度账户标识符1234567890并提取出数据集1234567890。继续这个示例,读取器计算设备120将在忠诚度账户标识符1234567890之前输入键盘击键LYL。这个示例中,编辑后的忠诚度账户标识符变为LYL1234567890。在忠诚度账户标识符之前输入LYL键盘击键向商家计算设备130发信号通知LYL前缀后面的数据是忠诚度账户标识符。
在方框325中,商家计算设备130需要指定的键盘击键来用信号通知数据集的完成。例如,在将忠诚度账户信息直接正常输入到商家计算设备130中之后,要求收银员或商家操作者按下商家计算设备130上的键或按钮,以发信号通知完成忠诚度账户信息的输入。一旦收银员或商家操作者按下键或按钮,商家计算设备130就将输入了完整的忠诚度账户信息。在示例中,读取器计算设备120通过在编辑后的忠诚度账户信息之后输入键盘击键来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。
在示例中,所需的键或按钮包括硬回车符。继续前面的示例,读取器计算设备120编辑忠诚度账户信息LYL1234567890以包括[ENTER]。在这个示例中,编辑后的忠诚度账户标识符变为LYL1234567890[ENTER]。
在另一个示例中,所需的键或按钮包括后缀值,例如“/r”、回车符、硬回车符或分号。继续前面的示例,读取器计算设备120编辑忠诚度账户信息LYL1234567890以包括分号。在这个示例中,编辑后的忠诚度账户标识符变为LYL1234567890;。
如果第一数据集不包括忠诚度账户信息,那么该方法280前进到方框330。在其它示例中,读取器计算设备120提取多于一个数据集。在这个示例中,读取器计算设备120识别提取出的第二类型的数据集。
在方框330中,读取器计算设备120查看提取出的数据集并确定提取出的数据集是否包括优惠信息。在示例中,读取器计算设备120通过确定数据集是否包括预定义的前缀或预定义量或数字列表来确定提取出的数据集是否包括优惠信息。
如果数据集包括优惠信息,那么方法280前进到方框340。在方框340中,读取器计算设备120确定商家计算设备130处理优惠信息所需的键盘代码。在示例中,商家计算设备130需要一个或多个键盘击键输入以将数据识别为优惠信息。例如,在优惠信息直接正常输入到商家计算设备130中期间,要求收银员或商家操作者按下商家计算设备130上的在每个优惠之前添加具体前缀的键或按钮。一旦收银员或商家操作者按下该键或按钮,商家计算设备130就将按下该键或按钮之后的扫描条形码或键入的输入识别为与优惠对应。
在方框345中,读取器计算设备120通过编辑数据集以在优惠之前包括所需的前缀来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。例如,读取器计算设备120识别出优惠AABBCC并提取出数据集AABBCC。继续这个示例,读取器计算设备120将在优惠AABBCC之前输入键盘击键OFF。在这个示例中,编辑后的优惠变为OFFAABBCC。在优惠之前输入OFF键盘击键向商家计算设备130发信号通知OFF前缀后面的数据是优惠。
在方框350中,商家计算设备130需要指定的键盘击键以发信号通知数据集的完成。例如,在将优惠直接正常输入到商家计算设备130中之后,要求收银员或商家操作者按下商家计算设备130上的键或按钮以发信号通知优惠输入的完成。一旦收银员或商家操作者按下该键或按钮,商家计算设备130就将输入了完整的优惠。在示例中,读取器计算设备120通过在编辑后的优惠信息之后输入键盘击键来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。在示例中,所需的键或按钮包括硬回车符。继续前面的示例,读取器计算设备120将优惠OFFAABBCC编辑为包括[ENTER]。在这个示例中,编辑后的忠诚度账户标识符变为OFFAABBCC[ENTER]。
在示例中,读取器计算设备120识别多于一个优惠。在这个示例中,读取器计算设备120编辑每个优惠。例如,读取器计算设备120识别出优惠AAXXZZ并提取出数据集AAXXZZ。继续这个示例,读取器计算设备120将在优惠AAXXZZ之前输入键盘击键OFF。在这个示例中,编辑后的优惠变为OFFAAXXZZ。读取器计算设备120将优惠OFFAAXXZZ编辑为包括[ENTER]。在这个示例中,编辑后的优惠变为OFFAAXXZZ[ENTER]。
如果数据集不包括优惠,那么方法280前进到方框360。在其它示例中,读取器计算设备120提取多于一个数据集。在这个示例中,读取器计算设备120识别提取出的第二或第三类型的数据集。
在方框360中,读取器计算设备120识别提取出的第三类型的数据集。在示例中,读取器计算设备120检查提取出的数据集并确定提取出的数据集是否包括礼品卡信息。在示例中,读取器计算设备120通过确定数据集是否包括预定义的前缀或预定义数或数字列表来确定提取出的数据集是否包括礼品卡信息。
如果数据集包括礼品卡信息,那么方法280前进到方框370。在方框370中,读取器计算设备120确定商家计算设备130处理礼品卡信息所需的键盘代码。在示例中,商家计算设备130需要一个或多个键盘击键输入以将数据识别为礼品卡帐号和礼品卡PIN。例如,在直接将礼品卡信息正常输入到商家计算设备130中期间,要求收银员或商家操作者按下商家计算设备上的在礼品卡账户信息之前添加具体前缀的键或按钮。一旦收银员或商家操作者按下该键或按钮,商家计算设备130就将按下该键或按钮之后的扫描条形码或键入的输入识别为与礼品卡账户信息对应。
在方框375中,读取器计算设备120通过将数据集编辑为包括信息之前所需的前缀来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。例如,读取器计算设备120将礼品卡账户标识符识别为11110987654321并提取出数据集11110987654321。继续这个示例,读取器计算设备120将在礼品卡账户标识符11110987654321之前输入键盘击键PAY。在这个示例中,编辑后的礼品卡账户标识符为PAY11110987654321。在礼品卡账户标识符之前输入PAY键盘击键向商家计算设备130发信号通知PAY前缀后面的数据是支付选项。
在另一个示例中,在直接将PIN信息正常输入到商家计算设备130期间,要求收银员、用户或商家操作者按下商家计算设备130上的在礼品卡PIN信息之前添加具体前缀的键或按钮。一旦收银员或商家操作者按下该键或按钮,商家计算设备130就将按下该键或按钮之后键入的输入识别为与礼品卡账户PIN对应。在示例中,读取器计算设备120通过将数据集编辑为在信息之前包括所需前缀来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。
例如,读取器计算设备120将礼品卡账户PIN识别为5678并提取出数据集5678。继续这个示例,读取器计算设备120将在礼品卡账户PIN5678之前输入键盘击键PIN。在这个示例中,编辑后的礼品卡账户标识符变为PIN5678。在礼品卡账户PIN之前输入PIN键盘击键向商家计算设备130发信号通知PIN前缀后面的数据是支付账户PIN。
在方框380中,商家计算设备130需要指定的键盘击键来用信号通知数据集的完成。例如,在直接将支付选项正常输入到商家计算设备130中之后,要求收银员、用户或商家操作者按下商家计算设备上的键或按钮以发信号通知优惠输入的完成。一旦收银员、用户或商家操作者按下该键或按钮,商家计算设备130将输入了完整的支付信息。在示例中,读取器计算设备120通过在编辑后的礼品卡信息之后输入键盘击键来模仿键盘击键的输入(例如,收银员或商家操作者对键或按钮的按压)。在示例中,所需的键或按钮包括硬回车符。继续前面的示例,读取器计算设备120将礼品卡信息PAY11110987654321PIN5678编辑为包括[ENTER]。在这个示例中,编辑后的礼品卡标识符变为PAY11110987654321PIN5678[ENTER]。
如果数据集不包括礼品卡,那么方法280进行到图2中的方框290。
返回图2,在方框290中,读取器计算设备120准备向商家计算设备130的传输,该传输包括编辑后的标识符响应数据集的列表。在这个示例中,传输包括不同的忠诚度账户标识符、优惠标识符、礼品卡账户标识符、礼品卡账户密码或PIN,和/或从APDU标识符响应中识别出并被编辑为包括键盘模仿击键的其它与交易相关的信息集,以便数据集可以被商家计算设备130识别。继续前面的示例,传输包括:
LYL1234567890[ENTER]
OFFAABBCC[ENTER]
OFFAAXXZZ[ENTER]
PAY11110987654321PIN5678[ENTER]
在这个示例中,“[ENTER]”指示在商家计算设备130上的硬回车符输入。在示例中,读取器计算设备120通信地耦合到商家计算设备130并通过有线或无线通信信道向商家计算设备130传输编辑后的标识符响应数据集的列表。
在示例中,商家计算设备130理解模仿的键盘击键并且可以处理数据集,而无需收银员、用户或商家操作者输入附加的按钮或键。继续前面的示例,商家计算设备130识别出所传输的数据包括忠诚度账户标识符、两个优惠以及具有PIN的礼品卡。
在其它示例中,商家计算设备130不识别每个数据集。例如,读取器计算设备120传输忠诚度账户标识符、第一优惠代码、第二优惠代码和具有PIN的礼品卡代码。在这个示例中,商家计算设备130识别出第一忠诚度账户标识符和第一优惠代码,但是识别不出第二优惠代码。在这个示例中,商家计算设备130通过输入具有PIN的礼品卡代码的键盘模仿来继续并且识别出具有PIN的礼品卡代码。
其它示例
图4描绘了根据某些示例的计算机器2000和模块2050。计算机器2000可以与给出的各种计算机、服务器、移动设备、嵌入式系统或计算系统中的任何一个对应。模块2050可以包括被配置为促进计算机器2000执行本文给出的各种方法和处理功能的一个或多个硬件或软件元件。计算机器2000可以包括各种内部或附接的部件,诸如处理器2010、系统总线2020、系统存储器2030、存储介质2040、输入/输出接口2060以及用于与网络2080通信的网络接口2070。
计算机器2000可以被实现为常规计算机系统、嵌入式控制器、膝上型计算机、服务器、移动设备、智能电话、机顶盒、信息亭、路由器或其它网络节点、车辆信息系统、与电视相关联的一个或多个处理器、定制的机器、任何其它硬件平台,或其任何组合或多样性。计算机器2000可以是被配置为使用经由数据网络或总线系统互连的多个计算机器而起作用的分布式系统。
处理器2010可以被配置为执行代码或指令以执行本文所述的操作和功能、管理请求流和地址映射,以及执行计算并生成命令。处理器2010可以被配置为监视和控制计算机器2000中的部件的操作。处理器2010可以是通用处理器、处理器核、多处理器、可重构处理器、微控制器、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、图形处理单元(“GPU”)、现场可编程门阵列(“FPGA”)、可编程逻辑设备(“PLD”)、控制器、状态机、门控逻辑、离散硬件部件、任何其它处理单元,或其任何组合或多样性。处理器2010可以是单个处理单元、多个处理单元、单个处理核心、多个处理核心、专用处理核心、协处理器或其任何组合。根据某些示例,处理器2010连同计算机器2000的其它部件可以是在一个或多个其它计算机器内执行的虚拟化计算机器。
系统存储器2030可以包括非易失性存储器,诸如只读存储器(“ROM”)、可编程只读存储器(“PROM”)、可擦可编程只读存储器(“EPROM”)、闪存存储器,或任何其它能够在施加或不施加电力的情况下存储程序指令或数据的设备。系统存储器2030还可以包括易失性存储器,诸如随机存取存储器(“RAM”)、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)和同步动态随机存取存储器(“SDRAM”)。其它类型的RAM也可以被用于实现系统存储器2030。系统存储器2030可以使用单个存储器模块或多个存储器模块来实现。虽然系统存储器2030被描绘为计算机2000的一部分,但是本领域技术人员将认识到的是,在不背离本技术范围的情况下,系统存储器2030可以与计算机2000分离。还应当认识到的是,系统存储器2030可以包括诸如存储介质2040之类的非易失性存储设备或与之结合操作。
存储介质2040可以包括硬盘、软盘、光盘只读存储器(“CD-ROM”)、数字多功能光盘(“DVD”)、蓝光盘、磁带、闪存存储器、其它非易失性存储器设备、固态驱动器(“SSD”)、任何磁存储设备、任何光存储设备、任何电存储设备、任何半导体存储设备、任何基于物理的存储设备,任何其它数据存储设备,或其任何组合或多样性。存储介质2040可以存储一个或多个操作系统、应用程序和程序模块(诸如模块2050)、数据或任何其它信息。存储介质2040可以是计算机器2000的一部分或连接到计算机器2000。存储介质2040也可以是与计算机器2000通信的一个或多个其它计算机(诸如服务器、数据库服务器、云存储装置、网络附加存储装置等)的一部分。
模块2050可以包括一个或多个硬件或软件元件,其被配置为促进计算机器2000执行本文给出的各种方法和处理功能。模块2050可以包括与系统存储器2030、存储介质2040或两者相关联地存储为软件或固件的一个或多个指令序列。因此,存储介质2040可以表示可以在其上存储指令或代码以供处理器2010执行的机器或计算机可读介质的示例。机器或计算机可读介质一般可以指用于向处理器2010提供指令的任何介质。与模块2050相关联的这种机器或计算机可读介质可以包括计算机软件产品。应当认识到的是,包括模块2050的计算机软件产品还可以与一种或多种用于经由网络2080、任何承载信号的介质或任何其它通信或递送技术将模块2050递送到计算机器2000的处理或方法相关联。模块2050还可以包括硬件电路或用于配置硬件电路的信息(诸如微代码或用于FPGA或其它PLD的配置信息)。
输入/输出(“I/O”)接口2060可以被配置为耦合到一个或多个外部设备,以从一个或多个外部设备接收数据,以及向一个或多个外部设备发送数据。此类外部设备以及各种内部设备也可以被称为外围设备。I/O接口2060可以包括用于将各种外围设备可操作地耦合到计算机器2000或处理器2010的电连接和物理连接。I/O接口2060可以被配置为在外围设备、计算机器2000或处理器2010之间传送数据、地址和控制信号。I/O接口2060可以被配置为实现任何标准接口,诸如小型计算机系统接口(“SCSI”)、串行附接的SCSI(“SAS”)、光纤信道、外围组件互连(“PCI”)、PCI Express(PCIe)、串行总线、并行总线、高级技术附件(“ATA”)、串行ATA(“SATA”)、通用串行总线(“USB”)、Thunderbolt、FireWire、各种视频总线等。I/O接口2060可以被配置为仅实现一种接口或总线技术。可替代地,I/O接口2060可以被配置为实现多种接口或总线技术。I/O接口2060可以被配置为系统总线2020的一部分、其全部或与其一起操作。I/O接口2060可以包括一个或多个缓冲器,用于缓冲一个或多个外部设备、内部设备、计算机器2000或处理器2010之间的传输。
I/O接口2060可以将计算机器2000耦合到各种输入设备,包括鼠标、触摸屏、扫描仪、电子数字化器、传感器、接收器、触摸板、轨迹球、照相机、麦克风、键盘、任何其它指点设备,或其任何组合。I/O接口2060可以将计算机2000耦合到各种输出设备,包括视频显示器、扬声器、打印机、投影仪、触觉反馈设备、自动化控制、机器人部件、致动器、马达、风扇、螺线管、阀门、泵、变送器、信号发射器、灯等。
计算机器2000可以使用通过网络接口2070到网络2080上的一个或多个其它系统或计算机器的逻辑连接而在联网的环境中操作。网络2080可以包括广域网(WAN)、局域网(LAN)、企业内部网、互联网、无线接入网络、有线网络、移动网络、电话网络、光网络,或其组合。网络2080可以是任何拓扑的分组交换、电路交换,并且可以使用任何通信协议。网络2080内的通信链路可以涉及各种数字或模拟通信介质,诸如光纤电缆、自由空间光学器件、波导、电导体、无线链路、天线、射频通信等。
处理器2010可以通过系统总线2020连接到计算机器2000或本文讨论的各种外围设备的其它元件。应当认识到的是,系统总线2020可以在处理器2010内、处理器2010外,或两者兼有。根据某些示例,处理器2010、计算机器2000的其它元件或本文讨论的各种外围设备中的任何一个都可以集成到单个设备中,诸如芯片上系统(“SOC”)、包装上系统(“SOP”)或ASIC设备。
在这里讨论的系统收集关于用户的个人信息或可以利用个人信息的情况下,可以为用户提供控制程序或功能是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户当前位置的信息)或控制是否和/或如何从内容服务器接收与用户更相关的内容的机会或选项。此外,在存储或使用某些数据之前,可以以一种或多种方式处理某些数据,以便移除个人可识别信息。例如,可以处理用户的身份以便无法为该用户确定任何个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(诸如一般化到城市、邮政编码或州级别),因此无法确定用户的位置。因此,用户可以控制如何收集关于用户的信息以及如何被内容服务器使用。
示例可以包括体现本文描述和示出的功能的计算机程序,其中计算机程序在计算机系统中实现,该计算机系统包括存储在机器可读介质中的指令和执行该指令的处理器。但是,应当显而易见的是,在计算机编程中可以有许多不同的方式来实现示例,并且这些示例不应当解释为限于任何一个计算机程序指令集。另外,熟练的程序员将能够基于在申请文本中的所附流程图和相关描述来编写这样的计算机程序以实现所公开示例的示例。因此,对于充分理解如何制作和使用示例,特定的程序代码指令集的公开不被认为是必要的。另外,本领域技术人员将认识到的是,本文描述的示例的一个或多个方面可以由硬件、软件或其组合来执行,如可以在一个或多个计算系统中实施的。而且,对由计算机执行的动作的任何引用都不应当被解释为由单个计算机执行,因为多于一个计算机可以执行该动作。
本文描述的示例可以与执行本文描述的方法和处理功能的计算机硬件和软件一起使用。本文描述的系统、方法和处理可以在可编程计算机、计算机可执行软件或数字电路系统中设施。软件可以存储在计算机可读介质上。例如,计算机可读介质可以包括软盘、RAM、ROM、硬盘、可移动介质、闪存存储器、记忆棒、光学介质、磁光介质、CD-ROM等。数字电路系统可以包括集成电路、门阵列、构建块逻辑、现场可编程门阵列(FPGA)等。
先前给出的示例中描述的示例系统、方法和动作是说明性的,并且在替代示例中,在不背离各个示例的范围和精神的情况下,某些动作可以以不同的次序执行,彼此并行、完全省略和/或可以在不同示例之间进行组合,和/或可以执行某些附加动作。因而,此类替代示例包括在所附权利要求的范围内,所附权利要求的范围应当与最宽泛的解释相一致,以涵盖此类替代示例。
虽然以上已经详细描述了具体示例,但是该描述仅仅出于说明的目的。因此,应当认识到的是,除非另有明确说明,否则上述许多方面并非旨在作为必需或必要的要素。除了上述各方面之外,在不背离以下权利要求书中定义的示例的精神和范围的情况下,受益于本公开的本领域普通技术人员还可以对示例的所公开方面进行修改以及与示例的所公开方面对应的等效部件或动作,本公开的范围要符合最宽泛的解释,以涵盖此类修改以及等同结构。
Claims (20)
1.一种模仿键盘输入的计算机实现的方法,包括:
由计算设备向移动计算设备传输标识符;
由所述计算设备并从所述移动计算设备接收包括与所述标识符对应的两个或更多个数据集的响应;
由所述计算设备识别所述响应中的第一数据集标识符,所述第一数据集标识符发信号通知第一数据集的开始;
由所述计算设备将所述第一数据集编辑为包括:(1)由第二计算设备理解为将所述第一数据集定义为第一特定类型的数据的第一键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第一数据集的结束的键盘击键输入后缀;
由所述计算设备识别所述响应中的第二数据集标识符,所述第二数据集标识符发信号通知第二数据集的开始;
由所述计算设备将所述第二数据集编辑为包括:(1)由所述第二计算设备理解为将所述第二数据集定义为第二特定类型的数据的第二键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第二数据集的结束的键盘击键输入后缀;以及
由所述计算设备向所述第二计算设备传输编辑后的第一数据集和编辑后的第二数据集,其中所述第二计算设备(1)基于所述第一键盘击键输入前缀处理所述第一数据集、(2)基于所述键盘击键输入后缀识别所述第一数据集的结束、(3)基于所述第二键盘击键输入前缀处理所述第二数据集、以及(4)基于所述键盘击键输入后缀识别所述第二数据集的结束。
2.如权利要求1所述的计算机实现的方法,还包括由所述计算设备从所述响应中提取所述第一数据集。
3.如权利要求1所述的计算机实现的方法,还包括由所述计算设备从所述响应中提取所述第二数据集。
4.如权利要求1所述的计算机实现的方法,还包括:
由所述计算设备识别所述响应中的第三数据集标识符,所述第三数据集标识符发信号通知第三数据集的开始;以及
由所述计算设备将所述第三数据集编辑为包括:(1)由所述第二计算设备理解为将所述第三数据集定义为第二特定类型的数据的第三键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第三数据集的结束的键盘击键输入后缀。
5.如权利要求4所述的计算机实现的方法,其中向所述第二计算设备传输编辑后的第一数据集和编辑后的第二数据集还包括传输编辑后的第三数据集。
6.如权利要求5所述的计算机实现的方法,其中所述第二计算设备(5)基于所述第三键盘击键输入前缀处理所述第三数据集、以及(6)基于所述键盘击键输入后缀识别所述第三数据集的结束。
7.如权利要求1所述的计算机实现的方法,还包括在所述计算设备和所述移动计算设备之间建立无线通信信道,其中所述标识符被传输到所述移动计算设备,并且通过所述建立的无线计算信道从所述移动计算设备接收所述响应。
8.一种模仿键盘输入的系统,包括:
存储设备;以及
处理器,通信耦合到所述存储设备,其中所述处理器执行存储在所述存储设备中的应用代码指令,以使所述系统:
向移动计算设备传输标识符;
从所述移动计算设备接收包括与所述标识符对应的两个或更多个数据集的响应;
识别所述响应中的第一数据集标识符,所述第一数据集标识符发信号通知第一数据集的开始;
将所述第一数据集编辑为包括:(1)由第二计算设备理解为将所述第一数据集定义为第一特定类型的数据的第一键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第一数据集的结束的键盘击键输入后缀;
识别所述响应中的第二数据集标识符,所述第二数据集标识符发信号通知第二数据集的开始;
将所述第二数据集编辑为包括:(1)由所述第二计算设备理解为将所述第二数据集定义为第二特定类型的数据的第二键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第二数据集的结束的键盘击键输入后缀;以及
向所述第二计算设备传输编辑后的第一数据集和编辑后的第二数据集,其中所述第二计算设备(1)基于所述第一键盘击键输入前缀处理所述第一数据集、(2)基于所述键盘击键输入后缀识别所述第一数据集的结束、(3)基于所述第二键盘击键输入前缀处理所述第二数据集、以及(4)基于所述键盘击键输入后缀识别所述第二数据集的结束。
9.如权利要求8所述的系统,其中所述处理器还被配置为执行存储在所述存储设备中的应用代码指令,以使所述系统从所述响应中提取所述第一数据集。
10.如权利要求8所述的系统,其中所述处理器还被配置为执行存储在所述存储设备中的应用代码指令,以使所述系统从所述响应中提取所述第二数据集。
11.如权利要求8所述的系统,其中所述处理器还被配置为执行存储在所述存储设备中的应用代码指令,以使所述系统:
识别所述响应中的第三数据集标识符,所述第三数据集标识符发信号通知第三数据集的开始;以及
将所述第三数据集编辑为包括:(1)由所述第二计算设备理解为将所述第三数据集定义为第二特定类型的数据的第三键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第三数据集的结束的键盘击键输入后缀。
12.如权利要求11所述的系统,其中向所述第二计算设备传输编辑后的第一数据集和编辑后的第二数据集还包括传输编辑后的第三数据集。
13.如权利要求12所述的系统,其中所述第二计算设备(5)基于所述第三键盘击键输入前缀处理所述第三数据集、以及(6)基于所述键盘击键输入后缀识别所述第三数据集的结束。
14.一种计算机程序产品,包括:
非暂态计算机可读存储设备,其具有实施在其中的计算机可执行程序指令,所述计算机可执行程序指令在由计算机执行时使所述计算机模仿键盘输入,所述计算机可读程序指令包括:
用于向移动计算设备传输标识符的计算机可读程序指令;
用于从所述移动计算设备接收包括与所述标识符对应的两个或更多个数据集的响应的计算机可读程序指令;
用于识别所述响应中的第一数据集标识符的计算机可读程序指令,所述第一数据集标识符发信号通知第一数据集的开始;
用于将所述第一数据集编辑为包括:(1)由第二计算设备理解为将所述第一数据集定义为第一特定类型的数据的第一键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第一数据集的结束的键盘击键输入后缀的计算机可读程序指令;
用于识别所述响应中的第二数据集标识符的计算机可读程序指令,所述第二数据集标识符发信号通知第二数据集的开始;
用于将所述第二数据集编辑为包括:(1)由所述第二计算设备理解为将所述第二数据集定义为第二特定类型的数据的第二键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第二数据集的结束的键盘击键输入后缀的计算机可读程序指令;以及
用于向所述第二计算设备传输所述编辑后的第一数据集和所述编辑后的第二数据集的计算机可读程序指令,其中所述第二计算设备(1)基于所述第一键盘击键输入前缀处理所述第一数据集、(2)基于所述键盘击键输入后缀识别所述第一数据集的结束、(3)基于所述第二键盘击键输入前缀处理所述第二数据集,以及(4)基于所述键盘击键输入后缀识别所述第二数据集的结束。
15.如权利要求14所述的计算机程序产品,还包括用于从所述响应中提取所述第一数据集的计算机可读程序指令。
16.如权利要求14所述的计算机程序产品,还包括用于从所述响应中提取所述第二数据集的计算机可读程序指令。
17.如权利要求14所述的计算机程序产品,还包括:
用于识别所述响应中的第三数据集标识符的计算机可读程序指令,所述第三数据集标识符发信号通知第三数据集的开始;以及
用于将所述第三数据集编辑为包括:(1)由所述第二计算设备理解为将所述第三数据集定义为第二特定类型的数据的第三键盘击键输入前缀、以及(2)由所述第二计算设备理解为定义所述第三数据集的结束的键盘击键输入后缀的计算机可读程序指令。
18.如权利要求17所述的计算机程序产品,其中向所述第二计算设备传输编辑后的第一数据集和编辑后的第二数据集还包括传输编辑后的第三数据集。
19.如权利要求18所述的计算机程序产品,其中所述第二计算设备(5)基于所述第三键盘击键输入前缀处理所述第三数据集、以及(6)基于所述键盘击键输入后缀识别所述第三数据集的结束。
20.如权利要求14所述的计算机程序产品,还包括用于在所述计算设备和所述移动计算设备之间建立无线通信信道的计算机可读程序指令,其中,所述标识符被传输到所述移动计算设备,并且通过所述建立的无线计算信道从所述移动计算设备接收所述响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762570820P | 2017-10-11 | 2017-10-11 | |
US62/570,820 | 2017-10-11 | ||
PCT/US2018/042152 WO2019074566A1 (en) | 2017-10-11 | 2018-07-13 | KEYBOARD INPUT EMULATION |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111201504A true CN111201504A (zh) | 2020-05-26 |
Family
ID=63244951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880066348.7A Pending CN111201504A (zh) | 2017-10-11 | 2018-07-13 | 键盘输入模仿 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10788898B2 (zh) |
EP (1) | EP3679458A1 (zh) |
CN (1) | CN111201504A (zh) |
WO (1) | WO2019074566A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488133B2 (en) * | 2019-06-21 | 2022-11-01 | Five Stars Loyalty, Inc. | Add-on application for point of sale device |
US11614824B2 (en) * | 2021-07-29 | 2023-03-28 | Talent Unlimited Online Services Pvt. Ltd. | System and method to measure latency in displaying a key tap event |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102729661A (zh) * | 2011-04-13 | 2012-10-17 | 苏州乐盈科技有限公司 | 一种出票自动检测的彩票打印方法 |
CN103116481A (zh) * | 2013-03-11 | 2013-05-22 | 北京八七彩科技有限公司 | 打印票据的辅助系统、设备及方法 |
CN104933547A (zh) * | 2015-05-27 | 2015-09-23 | 浪潮软件集团有限公司 | 一种数据输入的方法、装置和系统 |
US20170017940A1 (en) * | 2015-07-17 | 2017-01-19 | Google Inc. | Merchant-specific functionality services |
CN106504042A (zh) * | 2016-10-27 | 2017-03-15 | 百望电子发票数据服务有限公司 | 电子发票抬头信息处理方法、开票客户端和相关设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5045994A (en) * | 1986-09-23 | 1991-09-03 | Bell Communications Research, Inc. | Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems |
US5214785A (en) * | 1989-09-27 | 1993-05-25 | Third Point Systems, Inc. | Controller with keyboard emulation capability for control of host computer operation |
US5576734A (en) * | 1993-10-28 | 1996-11-19 | The Mitre Corporation | Keyboard emulator system |
US5793356A (en) * | 1995-07-31 | 1998-08-11 | Microsoft Corporation | System and method for the software emulation of a computer joystick |
US6664982B1 (en) * | 1995-10-16 | 2003-12-16 | Nec Corporation | Multi-user on-screen keyboard |
US6654816B1 (en) * | 2000-05-31 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Communication interface systems for locally analyzing computers |
US6968462B2 (en) * | 2000-12-11 | 2005-11-22 | International Business Machines Corporation | Verifying physical universal serial bus keystrokes |
US8265396B2 (en) * | 2007-12-12 | 2012-09-11 | International Business Machines Corporation | Data entry retrieval |
US20130285916A1 (en) * | 2012-04-30 | 2013-10-31 | Research In Motion Limited | Touchscreen keyboard providing word predictions at locations in association with candidate letters |
US9875204B2 (en) * | 2012-05-18 | 2018-01-23 | Dell Products, Lp | System and method for providing a processing node with input/output functionality provided by an I/O complex switch |
US20150160855A1 (en) * | 2013-12-10 | 2015-06-11 | Google Inc. | Multiple character input with a single selection |
US9811480B2 (en) * | 2014-03-14 | 2017-11-07 | Google Inc. | Universal serial bus emulation of peripheral devices |
US9772956B2 (en) * | 2014-03-14 | 2017-09-26 | Google Inc. | Universal serial bus emulation of a host connection |
US10838510B2 (en) * | 2016-02-12 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Generating modified keyboard data received from a client device to reduce unintended key repetition |
-
2018
- 2018-07-13 EP EP18755950.5A patent/EP3679458A1/en not_active Withdrawn
- 2018-07-13 WO PCT/US2018/042152 patent/WO2019074566A1/en unknown
- 2018-07-13 CN CN201880066348.7A patent/CN111201504A/zh active Pending
- 2018-07-13 US US16/034,908 patent/US10788898B2/en active Active
-
2020
- 2020-09-28 US US17/034,824 patent/US11275452B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102729661A (zh) * | 2011-04-13 | 2012-10-17 | 苏州乐盈科技有限公司 | 一种出票自动检测的彩票打印方法 |
CN103116481A (zh) * | 2013-03-11 | 2013-05-22 | 北京八七彩科技有限公司 | 打印票据的辅助系统、设备及方法 |
CN104933547A (zh) * | 2015-05-27 | 2015-09-23 | 浪潮软件集团有限公司 | 一种数据输入的方法、装置和系统 |
US20170017940A1 (en) * | 2015-07-17 | 2017-01-19 | Google Inc. | Merchant-specific functionality services |
CN106504042A (zh) * | 2016-10-27 | 2017-03-15 | 百望电子发票数据服务有限公司 | 电子发票抬头信息处理方法、开票客户端和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20190107898A1 (en) | 2019-04-11 |
US10788898B2 (en) | 2020-09-29 |
EP3679458A1 (en) | 2020-07-15 |
WO2019074566A1 (en) | 2019-04-18 |
US11275452B2 (en) | 2022-03-15 |
US20210011558A1 (en) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902411B2 (en) | Host-formatted select proximity payment system environment response | |
US11861648B2 (en) | Loyalty account identification | |
US11694190B2 (en) | Providing payment account information associated with a digital wallet account to a user at a merchant point of sale device | |
US20230289777A1 (en) | Confirming Physical Possession of Plastic NFC Cards with a Mobile Digital Wallet Application | |
US20200250646A1 (en) | Processing Payment Transactions without A Secure Element | |
US20160371716A1 (en) | Loyalty rewards in offline payment system | |
US20150019417A1 (en) | Updating a digital wallet from financial account issuer | |
US20150278803A1 (en) | Near field communication field detection | |
US20200394643A1 (en) | Symmetric Discovery Over Audio | |
US20180053176A1 (en) | Tap And Pair Via Proximity Sensing | |
US20170048210A1 (en) | Re-programmable secure device | |
US11275452B2 (en) | Keyboard input emulation | |
EP3616392B1 (en) | Pairing computing devices via audio communication channels | |
US10275766B2 (en) | Encrypting financial account numbers such that every decryption attempt results in valid account numbers | |
US20160005023A1 (en) | Conducting financial transactions by telephone | |
CN111149121A (zh) | 机器可读码处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |