数据组装、传送和存储的制作方法

文档序号:6533054阅读:179来源:国知局
数据组装、传送和存储的制作方法
【专利摘要】用户向服务器系统注册并且提供用户数据(例如个人信息)。服务器系统将用户数据划分成多个成分。在设备集合中的每个设备接收用户数据的成分用于存储。在用户通过主机设备访问包括可以向其中录入用户数据的一个或者多个数据字段的网页时,主机设备从在集合中的设备接收用户数据的成分。主机设备基于所接收的成分组装用户数据。在用户用来自设备集合的存储设备执行授权手势时,主机设备在数据字段中插入用户数据。
【专利说明】数据组装、传送和存储
[0001]有关申请的交叉引用
[0002]本申请要求对提交于2012年11月27日并且通过完全引用而结合于此的第61/730,093号临时申请的权益。

【技术领域】
[0003]描述的实施例涉及用于数据组装、数据传送和数据存储的系统和方法。

【背景技术】
[0004]随着电子模式越来越多用于进行个人和企业业务以及电子娱乐越来越流行,个人越来越需要向电子系统中录入细节。
[0005]例如为了使用在线购物服务,通常必须通过提供标识、开账单和投递数据用于存储和商户以后使用来向网站注册;或者每当执行交易时提供这一数据。即使数据被商户存储,用户仍然需要经过登录过程从而每当她访问站点时录入她的用户名和口令。这可能对于提供数据的个人颇为繁琐。另外随着其中许多没有全尺寸键盘的便携计算设备的流行,这一任务的执行需要一些灵巧。结果是在线购物服务的许多用户由于这一过程的难度而放弃他们的购买从而造成商户销售损失。
[0006]也有其中要求用户以结构化方式提供数据用于经由通信信道向另一方传输的许多其它情境。聊举一例,在计算设备上运行的许多软件应用可能要求以结构化方式录入数据用于向另一设备传输以例如购买商品或者服务、注册用户对某个事件或者活动感兴趣、进行预约、录入登录证书等。这些情形也引起与以上给出的在线购物示例相同的问题在于用户需要以结构化方式向应用中录入数据。


【发明内容】

[0007]描述的实施例提供用于数据组装、数据传送和数据存储的方法、计算机可读存储介质和系统。用户向服务器系统注册并且提供用户数据(例如个人信息)。服务器系统将用户数据划分成多个成分。在设备集合中的每个设备接收用户数据的成分用于存储。设备集合可以例如包括主机设备、服务器系统和一个或者多个存储设备。
[0008]通过主机设备,用户从一个或者多个网络服务器访问网页。例如用户可以访问网页以从商户购买物品或者执行其它类型的交易。在主机设备访问的网页包括用户可以向其中录入用户数据的一个或者多个数据字段时,主机设备从在集合中的设备接收用户数据的成分。主机设备基于接收的成分重新组装用户数据。在用户用来自设备集合的存储设备执行授权手势时,主机设备在数据字段中插入用户数据。授权手势包括用户用存储设备执行的一个或者多个物理移动。用户执行授权手势指示用户希望主机设备自动填充数据字段。
[0009]在这一
【发明内容】
和以下【具体实施方式】中描述的特征和优点并非囊空。许多附加特征和优点将鉴于附图、说明书及其权利要求书而为本领域普通技术人员所清楚。

【专利附图】

【附图说明】
[0010]图1是图示根据一个实施例的一起操作的设备集合的示意框图。
[0011]图2是图示根据一个实施例的卡设备的功能框图。
[0012]图3是图示根据一个实施例的在设备连接期间在设备之间的数据流的交互图。
[0013]图4是图示根据一个实施例的在页面识别过程中在设备之间的数据流的交互图。
[0014]图5是图示根据一个实施例的在用于数据组装的过程中在设备之间的数据流的交互图。
[0015]图6是图示根据一个实施例的在用于数据传送授权的过程中在设备之间的数据流的交互图。
[0016]图7是图示根据一个实施例的用于填充数据字段的过程的流程图。
[0017]图8是图示根据另一实施例的一起操作的设备集合的示意框图。
[0018]图9是图示根据一个实施例的用于用作主机设备、存储设备、服务器系统和/或网络服务器的典型计算机系统的功能视图的框图。
[0019]各图仅出于示例目的而描绘各种实施例。本领域技术人员将从以下讨论容易认识可以运用这里举例说明的结构和方法的备选实施例而未脱离这里描述的实施例的原理。

【具体实施方式】
[0020]图1是图示根据一个实施例的一起操作的设备集合10的示意框图。设备集合10包括主机设备12、两个存储设备14和16以及服务器系统20。设备12、14和16经由网络18与服务器系统20数据通信。主机设备12也与托管包括系列网页的网站的网络服务器22数据通信。如将认识的那样,在这一类型的系统中,许多用户可以具有以相似方式操作的相似设备集合。在这一情况下,服务器系统20将形成用于许多用户的许多设备集合的部分。然而为了清楚,仅举例说明与单个用户关联的设备集合。
[0021]在一个实施例中,主机设备12的用户寻求执行从主机设备12向网络服务器22的数据传送。这一数据传送可以例如是向网络服务器22传输用户的个人数据以执行交易、t匕如经由网络服务器22从商户购买物品或者在银行的网络服务器22上执行银行交易。
[0022]在这一示例中,主机设备12是移动计算设备、比如膝上型计算机或者平板计算机。主机设备12经由任何适当有线或者无线网络(或者它们的组合)连接到网络18,从而它可以与其它设备交换数据。对于本例,假设主机设备12是平板计算机、比如Cupertino的Apple Inc.的 iPad、Suwon 或者 South Korea 的 Samsung Electronics C0.Ltd.的 Galaxy并且主机设备12经由网络18、比如因特网与网络服务器22和服务器系统20通信。
[0023]在这一示例中,存储设备16是可以与主机设备12不同或者相同类型的另一移动计算设备。在这一示例中,设备16是经由蜂窝电信网络、比如GSM、WCDMA或者LTE移动网络或者局域网、比如W1-Fi或者蓝牙网络与网络18通信的智能电话、比如Apple Inc.的iPhone ο
[0024]设备14是另一移动计算设备。在这一示例中,设备14是可以存储数据并且经由通信信道与另一设备通信的卡这一形式的专用令牌。通信信道可以是有限范围无线连接、比如蓝牙连接(例如蓝牙低能连接)。然而在其它实施例中,设备14可以是移动电话、平板计算机、个人数字助理(PDA)或者令牌/表链。图2是图示在这一实施例中使用的卡设备14的功能框图。设备14具有承载卡设备14的部件的设备本体200。在这一情况下,本体被成形以便向设备14给予交易卡(例如银行卡、借记卡、信用卡)的外形、但是可以是包括但不限于的钥匙链钱夹、钥匙、系索、手表、钢笔、硬币、夹子、铭牌和扣子外形的任何其它外形。
[0025]设备14包括:电源202 (例如以电池形式)、通信模块204、感测系统206、存储器208、数据处理系统210和用户接口 212。通信模块204实现与其它设备的通信(例如经由有限范围无线通信信道、比如蓝牙、ZigBee (IEEE 802.15)、无线USB、WiF1、近场通信或者其它专用网络通信信道)。感测系统206提供用于感测设备14的移动的机制。在一个实施例中,感测系统206通过感测设备14的加速度和/或定向来操作。例如感测系统在各种实施例中包括一个或者多个加速度计、陀螺仪或者配置为感测在一个或者多个维度中向设备14施加的力的其它设备。存储器208是易失性和/或非易失性存储器。存储器208在其上存储可以如以下描述的那样传送的数据或者为了控制设备14的操作而需要的数据。
[0026]数据处理系统210被配置为如以下描述的那样控制设备14的操作。数据处理系统210可以例如包括处理器、实时时钟和AES加密硬件以及可选用户接口 212 (例如以一个或者多个按钮、显示器、LED、IXD显示器、静止或者视频相机、蜂鸣器或者扬声器、机械开关或者其它接口元件的形式,经由该接口元件可以向用户传达信息或者从用户接收输入)。
[0027]除了存储用户的数据的部分之外,在一个实施例中还可以在授权方案中使用设备
14。这一方案包括用户用设备14执行设备14可以感测的授权动作以便完成从主机设备的数据传输。授权动作可以是关于设备14采取的任何物理动作——例如感测到设备14以预定方式被持有、已经以预定方式在绝对意义上或者相对于另一设备移动它。这一授权动作可以被设备14本身(例如使用机载触摸传感器、加速度计、成像器等)或者被另一设备(例如使用设备16 (或者连接到设备16)的相机或者运动传感器)感测。在两个设备上的传感器可以配合以感测设备14的运动。如将认识的那样,可以相对于设备14的原有定位和/或定向或者相对于设备16或者相对于重力方向感测所感测的运动。
[0028]在一个实施例中,授权动作是也可以称为授权手势的物理手势。通过以预定方式用设备14执行一个或者多个物理移动来执行授权手势。在这一示例中,设备14包括感测设备14的运动的3轴加速度计。向处理器210提供感测系统206的输出,该处理器分析传感器数据并且根据试探规则确定已经执行什么类型的手势。例如手势可以是敲击或者系列敲击、挥击或者旋转至少一个设备或者这样的动作的组合。
[0029]为了向主机设备12指示已经执行手势,设备14如以下描述的那样经由协议消息向主机12发送代表执行手势的数据。这一消息可以包括执行的手势类型或者简单地是指示已经感测到某个手势的状态消息。备选地,取代在设备14上处理传感器数据,可以向主机设备12传输代表感测系统206的输出的数据,该主机设备可以确定手势的正确执行。
[0030]由于设备14是电池供电的设备,所以感测系统206可以保持不激活直至被需要。在一个实施例中,感测系统207仅一旦设备14从另一设备接收向它告知需要手势的触发信号才被激活。触发信号在一个实施例中是对于传输设备存储的用户数据成分的请求而不是专用信号。
[0031]在一个实施例中,在能够执行设备14的如这里描述的功能的另一设备、比如智能电话等中实施设备14的功能。
[0032]在使用时,设备12、14、16中的每个设备能够经由网络18与服务器系统20通信,从而它们可以配合以如以下描述的那样实现存储、组装和传输数据。设备14经由设备16连接到服务器,因此设备16这里可以称为中间设备。设备14和16经由有限范围连接通信。在一个实施例中,设备14通过设备16传递的数据被加密,因此它仅能被既定目的地而不能被设备16或者另一其它中介解密。
[0033]服务器系统20可以存储每个用户的数据的部分。在一个实施例中,服务器系统20执行以下各项:接收协议消息并且维护用于设备集合10的状态信息;向在集合10中的设备发送协议消息以更新系统状态;提供捕获并且向设备12、14、16中加载数据的手段;允许用户重新组装存储的数据用于从主机设备12传输以及编辑存储的数据;以及充当用于系统在添加和/或从设备集合10去除设备时和/或用户希望改变存储的数据时创建、分发和废除证书和哈希密钥的证书权限。
[0034]以下将进一步描述设备12、14、16中的每个设备和服务器系统20在数据组装、数据传送和数据存储过程中的作用。
[0035]设备注册和登记
[0036]在一个实施例中,初始设备设置涉及到注册过程。在注册过程中,用户例如使用在设备之一、比如主机设备12上运行的浏览器来访问与服务器系统20关联的网站。在一个实施例中,使用支付卡行业(PCI)相符机制、比如具有256位RSA或者AES加密的TLS 1.2或者SSL 3.0来进行浏览器连接。在这一会话期间,用户用如下用户提供的证书建立用户账户,这些证书可以包括以下各项中的一项或者多项:用户名、口令、电邮地址、与卡设备14关联的设备标识符(例如在卡设备14上印刷的唯一卡标识号、条形码、QR码等)、账号(由系统在注册期间生成)、用于两因素认证的一次性密钥或者其它系统。
[0037]作为注册过程的部分,用户可以可选地通过使用供应的电邮地址向用户发送电邮来确认用户的细节和账户信息。电邮包含回到网页的链接,该网页在被用户遵循时授权注册并且确认在注册提供的电邮地址可由用户访问。
[0038]在注册期间或者在建立用户账户之后,用户可以提供用户数据用于存储。用户数据可以例如是用户的个人信息,该个人信息将用来自动填充在网页或者应用中的数据字段以避免需要在每当需要这些细节时重新键入它们。用户数据可以包括以下各项中的一项或者多项:姓名、出生日期、住址、开账单地址、递送地址、电邮地址、电话号码、别名或者优选姓名、用于一个或者多个交易卡(例如借记或者信用卡)的交易卡细节(例如类型、持有人姓名、卡号、到期日、卡安全码/卡验证值)、用于一个或者多个商店账户的账户/客户号、银行账户细节、用于多个不同服务的用户名和口令、就座偏好(例如用于会议、航班等)、饮食偏好(例如敏感症等)、雇佣数据(例如工作头衔、雇佣日、公司、工作联系人细节)、俱乐部成员资格细节(编号、成员资格日、到期日)、忠诚计划等级细节(计划、状态、积分)和用于两因素认证的一次性密钥或者其它系统。
[0039]一旦建立账户,用户关联一组设备与她的账户以定义她的数据将被拆分(划分)用于存储的设备集合10。这通过经由网络连接将每个设备连接到服务器系统20来执行。可以利用用于登记和配置设备的专有应用或者使用与应用在其上运行的浏览器或者操作系统提供的密钥、使用安全连接经由网页来进行连接。对于登记的每个设备,用户通过设备向服务器系统20提供在注册期间提供的登录证书(例如用户名、口令、电邮地址和卡id)。服务器系统20为用户生成自动下载并且在设备上安装的用于与系统20使用的公用密钥安全证书。
[0040]在用于设备的登记过程结束时,在设备集合10中的设备具有证书,该证书包含它的用于公用密钥加密系统的私用密钥和公用密钥。服务器系统20具有与在设备集合10中的设备关联的公用密钥和私用密钥的列表以及它自己的私用密钥。如以上指出的那样,在卡设备14的情况下,中间设备16充当代理并且在服务器系统20与设备14之间中继数据流。
[0041]在已经完成设备登记之后,服务器系统20使用以下将更具体描述的过程将接收的用户数据拆分成多个部分(也可以称为“成分”)用于在设备集合10中的设备之中存储。如将认识的那样,情况可以是在设备集合10中的仅一些设备(12,16)将能够在主机设备的作用中操作,该主机设备是请求用户的数据用于组装和数据传送的设备,但是所有设备能够执行数据存储设备的作用。
[0042]服务器系统10加密拆分的数据的每个部分,从而它可以被能够充当主机设备的设备中的任何设备解密。具体而言,服务器系统20加密用于在设备集合10内的每个设备(12,16)的每个用户数据部分,该设备可以请求该用户数据部分。在一个实施例中,在已经执行加密时,除了数据的将被服务器系统20存储的任何部分和服务器系统20的私用密钥之外,从服务器系统20删除用户数据和用于每个设备的私用密钥。
[0043]在本例中,设备集合10包括服务器系统20、作为存储设备14操作的卡设备、作为主机设备12操作的平板计算机和作为存储设备16操作的智能电话。
[0044]用户数据的在卡设备14上存储的部分这里称为PI (卡)。服务器系统20使用卡设备的私用密钥和主机设备的公用密钥来加密PI (卡)以生成crypt (公用_密钥(平板),私用_密钥(卡),PI (卡)),称之为PEI (平板,卡)。跨越安全链路向卡设备14发送这一数据用于在卡设备的存储器208中存储。由于智能电话16也可以作为主机设备操作,所以也在卡设备14上存储PEI (电话,卡)。
[0045]在用于平板计算机12组装包括来自卡设备14的数据的数据的过程期间,平板计算机12请求用户数据的卡设备部分。卡用PEI (浏览器,卡)做出响应。由于数据的在卡设备14上存储的部分在向卡设备14提供用于存储之前被服务器系统20预先加密,所以卡设备14无需执行任何密码操作以在对请求做出响应之前加密数据。通过预加密数据,它最小化卡设备14需要的处理、由此最大化卡设备14的电池寿命。
[0046]为了修改在设备之中存储的数据或者添加/去除设备,用户将在设备集合10中的设备重新连接到服务器系统20并且执行改变。可以异步执行重新连接设备,从而在连接设备时更新它们。直至更新所有设备,系统20才可以用于重新组装数据用于传输。
[0047]在改变用户数据或者添加或者从用户的设备集合去除设备时,以下各项出现--为在集合10中的每个设备创建新的公用密钥和私用密钥,在集合10中的设备和服务器系统20之中重新拆分用户数据。此外,重新加密拆分的数据。跨越安全连接向相应设备传输新密钥和重新加密的数据块。
[0048]向在集合10中的每个设备传输的数据替换在设备上已经存储的用户数据。在集合10中的设备接收它的相应数据部分和密钥时,它向服务器系统20通知更新完成。在一个实施例中,为了防止数据不一致,在更新期间直至每个设备确认更新完成才允许其它协议交易。服务器系统20通过忽略其它协议消息来实施这一限制。
[0049]如将认识的那样,可以扩展数据存储方案以用结构化方式分离地加密用户数据例如个人信息的具体字段。在这样存储数据时,来自在集合中的设备的对于用户数据的请求将包含需要的字段的列表,并且设备向主机设备12仅传输需要的字段。这减少冗余传输数量、因此提高在传输设备上的电池寿命。
[0050]如果在集合10中的设备丢失或者被窃,则服务器系统20废除设备的证书并且向在集合10中的其它设备中的每个设备发送废除消息。接收废除消息的设备删除与废除的设备关联的任何证书和信息。
[0051]在一个实施例中,使用PCI相符SSL 3.0或者TLS 1.2连接协议来将这里描述的数据连接中的每个数据连接实施为安全连接。也可以在每个设备上的预定义的通信端口上实施连接,从而无需明文到加密交接(例如StartTLS)。
[0052]数据存储
[0053]为了增强用户数据的安全性,使用秘密共享系统、比如在G.R.Blakley在Proceedings of the Nat1nal Computer Conference 48:313 - 317 (1979)中的标题为"Safeguarding cryptographic keys〃 和 Adi Shamir 在 Communicat1ns of the ACM22 (11):612 - 613(1979)中的标题为〃 How to share a secret 〃的公开文本中公开的秘密共享系统在设备集合10中的设备之中拆分和共享用户数据。公开文本通过引用而完全结合于此。
[0054]为了重新组装用户数据,主机设备10需要它的用户数据部分和来自其它参与设备的数据部分。在一个实施例中,在重新组装数据之前,主机设备12要求用户提供认证用户的恰当通行码。参与用户数据的秘密共享系统的设备数目可以小于在设备集合10中的设备数目。作为重新组装用户数据的部分,主机设备12从参与秘密共享系统的设备请求相应设备存储的用户数据部分。主机设备12接收请求的数据部分。主机设备12解密用户数据部分并且重新组装用户数据,从而它可以例如用来自动填充在主机设备12上运行的浏览器或者另一应用中包括的字段。
[0055]如以上指出的那样,在每个设备上使用设备的私用密钥和主机设备12的公用密钥以预先加密形式存储用户数据部分以便使对来自主机设备12的数据请求的响应快速和简单。在一个实施例中,数据存储设备传输数据涉及到基于与主机设备12关联的标识符执行表查找以标识正确的待传输数据。以预先加密形式向主机设备12传输标识的数据。如以上指出的那样,服务器系统20在拆分用户数据期间完成预先加密用户数据。
[0056]在网站上执行自动填充的示例
[0057]现在结合图3至5描述图1的设备的示例使用以举例说明如何以网络服务器22托管的网站的形式自动填充功能。
[0058]在这一示例中,平板计算机作为主机设备12操作并且运行网络浏览器应用。此夕卜,卡设备作为存储设备14操作,并且智能电话作为存储设备16操作。平板计算机12、卡设备14和智能电话16各自运行使它们能够实施这里描述的发明过程的一个实施例的软件应用。
[0059]将设备集合连接到服务器
[0060]该过程在图3中从设备认证和建立通信信道以及将在集合10中的设备中的每个设备连接到服务器系统20开始。设备12、14、16可以按照任何顺序在它们被接通/关断、进入/退出范围等时连接到服务器系统20和从服务器系统20断开。以下描述典型场景。在每个步骤中的括号O中的编号指代在关联交互图(图3至6)中的编号的数据流。
[0061]卡设备14例如使用智能电话的操作系统的标准BLE功能来与智能电话16建立有限范围通信信道(例如BLE(蓝牙低能)连接)。经由标准操作系统通知系统向智能电话16通知设备连接,并且智能电话16保存这一设备连接状态。智能电话16与服务器系统20建立网络连接并且发送向服务器系统20告知智能电话16想要连接到它的kACPhoneConnecting消息。服务器系统20在已注册设备数据库中查找智能电话16,并且如果存在于识别的设备集合中,则服务器系统20更新数据库以指示智能电话16存在。月艮务器系统20然后设置智能电话16作为主电话设备并且用设备集合状态更新消息向在集合10中的每个连接的设备做出响应(3)。在这一阶段,电话是仅有的连接的设备,从而设备集合状态更新消息仅去往智能电话16。
[0062]服务器系统20在从设备接收连接中或者已连接消息时或者在接收网络套接字断开事件或者与服务器系统20的操作系统可识别的设备有关的其它通信中断时发布设备集合状态更新消息。向在包含连接或者断开设备的设备集合中的当前连接到服务器系统20的所有设备发送这一消息。设备集合状态更新消息包含所有设备的状态、连同服务器系统20存储的任何附加设备状态。此外,在消息结构中也包括当前连接的设备的列表。这允许设备检查它是否被连接、但是不是主设备、然后如果用户选择请求变成主设备则这样请求。
[0063]在卡设备14连接到智能电话16时,智能电话16向服务器20发送(4)kAC卡连接消息。如果卡设备14在智能电话16连接到服务器系统20之前连接到智能电话16,则一旦用指示智能电话16被连接的设备集合状态更新消息确认电话连接到服务器系统20,智能电话16向服务器系统20发送kAC卡连接消息。响应于接收kAC卡连接消息,服务器系统20在它的数据库中查找卡设备14,并且如果卡设备14存在于设备集合中,则服务器系统20更新数据库以指示卡设备14存在。服务器系统20设置卡设备14作为主卡设备14并且通过向在设备集合中的每个连接的设备发送(5)设备集合状态更新消息来做出响应。
[0064]接着,平板计算机12连接到服务器系统20。平板计算机12可以运行修改的网络浏览器(例如具有用于执行这里描述的方法的插件)或者具有浏览器功能并且用来访问网站(在该网站上执行自动填充)的专用应用。在设备12上运行的平板计算机12建立(6)与服务器系统20的网络连接并且发送向服务器系统20告知它想要连接到服务器系统20的kAC浏览器主机连接消息。
[0065]服务器系统20然后在它的数据库中查找平板计算机12,并且如果设备12存在于设备集合中,则服务器20更新它的数据库以指示平板计算机12存在。服务器系统20设置平板计算机12作为主主机设备并且用设备集合状态更新消息向在设备集合10中的每个连接的设备做出响应(7,8)。如将指出的那样,发送两个设备集合状态更新消息。
[0066]在一个实施例中,为了与网络服务器22托管的网站交互,平板计算机12需要运行网络浏览器应用,因此在该过程中的接下来步骤涉及到激活浏览器13并且启动系统软件,从而浏览器13可以加入自动填充过程。浏览器13可以是形成实施这里描述的过程的软件应用或者应用套件的部分的专用浏览器或者可以是运行插件的通用浏览器,该插件提供用于实施这些过程的功能。
[0067]在用户希望使用平板计算机12来访问网页时,用户激活浏览器13。浏览器13与服务器系统20建立(9)网络连接并且发送向服务器系统20告知它想要连接到服务器系统20的kAC浏览器连接消息。
[0068]服务器系统20在它的数据库中查找浏览器13,并且如果浏览器13存在于设备集合中,则服务器系统20更新数据库以指示浏览器13存在。服务器系统20设置浏览器13作为主浏览器并且用设备集合状态更新消息向在设备集合10中的每个连接的设备和浏览器13做出响应(10,11,12)。
[0069]平板计算机12现在可以向用户显示用于卡设备14、智能电话16和服务器系统20的当前连接状态,该当前连接状态代表在设备集合状态更新消息中接收的数据。在这一状态中,在用户在浏览器13中浏览到网站时,在平板计算机12中的指示符示出设备的状态。显示的状态可以包括:无服务器系统连接、无智能电话16连接、无卡设备14连接、连接所有设备、连接所有设备但平板计算机12不是主浏览设备以及连接所有设备但未识别页面。
[0070]如果平板计算机12当前不是主浏览设备,则状态连接指示符将作为“请求变成主设备”按钮工作,这时将向服务器系统20发送kAC变成主设备消息(未示出)。
[0071]浏览到包含表单的网页
[0072]在该过程中的这一点,在平板计算机12的用户浏览到某个识别的网页时,有可能组装数据用于用在设备之中存储的用户数据自动填充在网页上的表单。图4中所示这一过程从分析网页并且确定需要组装什么数据以完成表单开始。
[0073]在用户浏览到网页时,浏览器13扫描页面的内容以标识页面。为了执行这一扫描,浏览器13向查看的页面中注入JavaScript程序。JavaScript程序例如通过取得页面标题和域名来生成页面标识符并且使用哈希函数、比如MD5或者SHA-1来创建哈希值。
[0074]浏览器13向服务器系统20发送(13)页面哈希值消息。服务器系统20比对页面数据库校验页面哈希值消息以确定是否已知页面包括数据字段(这可以在购物站点中发生,其中站点跨越它的结账/支付系统具有相同页面名称和域)。如果在页面数据中未包括页面,则服务器系统20向浏览器13发送(14)请求页面字段消息。请求页面字段消息请求来自浏览器13的关于页面是否包括数据字段以及如果是则包括什么字段的信息。在一个实施例中,即使在页面数据库中包括页面,服务器系统20仍然发送请求页面字段消息。可以完成这一点以便确定页面的内容是否已经改变(例如添加或者去除字段)。
[0075]如果浏览器13接收请求页面字段消息,则JavaScript通过向服务器系统20发送
(15)页面字段消息来用关于页面是否包括字段的信息做出响应。服务器系统20校验在页面字段消息中接收的信息并且设置的内部浏览器页面识别状态,该内部浏览器页面识别状态指示页面被识别为包括可以填充的数据字段还是被识别为不包括数据字段。如果页面被识别为包括可以填充的数据字段,则服务器系统20向每个设备12和16以及浏览器13发送(16,17,18)设备集合状态更新消息以指示网页能够被自动填充。
[0076]数据取回和组装
[0077]一旦服务器系统20已经证实用户已经浏览到适当网页,用户可以启动取回他们的数据并且组装它用于向网络服务器22传输作为完成的网页表单。在图5中图示这一过程。如果当前网页被识别,则服务器系统20向在设备集合中的每个设备与浏览器13的公用密钥一起发送(19)kAC加密数据请求消息,该设备存储为了自动填充网页的数据字段而需要的用户数据的至少一个部分。
[0078]服务器系统20也向浏览器13发送(20)包含它的用户数据份额的加密数据分组消息。在智能电话16从服务器系统20接收kAC加密数据请求消息时,它向卡设备14发送
(21)kAC加密数据请求消息。它也向服务器系统20发送(22)包含它的与浏览器公用密钥对应的用户数据的部分的加密数据分组消息。在卡设备14从智能电话16接收kAC加密数据请求(21)时,它向智能电话16发送(23)包含它的与浏览器公用密钥对应的用户数据的加密部分的加密数据分组消息。
[0079]智能电话16从卡设备14接收加密数据分组并且向服务器系统20传递(24)该数据分组作为加密数据分组消息。服务器系统20作为用于卡设备14的代理从智能电话16接收加密数据分组消息并且向浏览器13传递(25)该数据分组作为加密数据分组消息。月艮务器系统20接收具有智能电话16的数据部分的加密数据分组消息,并且它向浏览器13传递(26)该数据作为加密数据分组。
[0080]在这一点,浏览器13处理在卡设备14、智能电话16和服务器系统20上存储的用户数据的加密部分以及它可以本地存储的任何部分。这些部分被浏览器13解密和重新组装,并且网页的字段数据由浏览器13自动填充。在一个实施例中,解密和自动填充过程需要完成授权过程。在这一示例中,浏览器等待确认用户已经用卡设备14执行授权动作。在图6中图示这一过程。应当指出在一些实施例中可以省略这一授权过程。
[0081]授权动作
[0082]参照图6,使用设备集合状态更新消息,智能电话16监视卡设备14、智能电话16、浏览器13的连接状态以及页面识别状态并且向卡设备14发送(27)要求它在所有状态为真时启用它的手势识别功能的kAC启用手势识别消息。如果设备中的任何设备断开或者页面未被识别,则智能电话16也发送kAC停用手势识别(未示出)以节约在卡设备14上的电池寿命。
[0083]在接收kAC启用手势识别消息时,卡设备14启用它的加速度计手势识别码并且监视传感器输出等待用户用卡设备14执行手势。在用户使用卡设备14来执行手势并且手势识别例程识别手势为授权手势时,卡设备14向智能电话16发送(28)指示已经执行手势并且可选地标识手势的kAC手势执行。
[0084]智能电话16然后向服务器系统20发送(29)指示已经执行手势并且可选地标识手势的kAC手势执行。相似地,服务器系统20向浏览器13发送(30)指示已经执行手势并且可选地标识手势的kAC手势执行消息。在接收kAC手势执行消息、具有卡设备14存储的数据的加密数据分组、具有智能电话16存储的数据的加密数据分组和具有服务器系统存储的数据的加密数据分组时,浏览器13解密和重新组合数据部分。浏览器创建用于页面的自动填充数据并且向在页面上的字段中插入数据。因此,组装数据用于向网络服务器22传输。向网络服务器22传输数据可以由在网页内的普通机制启动、比如通过用户点击“提交”按钮等来启动。
[0085]在一个实施例中,平板计算机12直至平板计算机12接收已经用卡设备14执行授权手势这样的指示才请求来自设备的用户数据部分。在另一实施例中,在标识可以自动填充的网页时请求数据部分,但是直至接收授权手势被执行的指示才自动填充字段。
[0086]用户继续网站的下一页面、例如结账过程的下一阶段,并且如果有需要自动填充数据的附加网页,则识别页面并且重复数据组装过程。
[0087]已经在这一示例中关于来自网络服务器的页面描述自动填充数据字段的过程。然而这里描述的过程可以应用于包括数据字段的任何其它类型的文档、比如移动应用的页面、字处理器文档、电子表格等。
[0088]图7是图示根据一个实施例的用于填充数据字段的过程700的流程图。本领域技术人员将认识到其它实施例可以按照不同顺序执行图7的步骤。另外,其它实施例可以包括与这里描述的步骤不同和/或附加的步骤。
[0089]出于这一示例的目的,假设设备集合10如图8中所示包括主机设备12、存储设备14和服务器系统20。在主机设备12与存储设备14之间建立有限范围无线连接802。向服务器系统20注册主机设备12和存储设备20。还假设服务器系统20将数据划分成至少三个部分而主机设备12、存储设备14和服务器系统各自存储至少一个部分。
[0090]回顾图7,主机设备12接收702和显示来自网络服务器的网页。网页包括其中可以录入数据的至少一个数据字段(即数据字段可接收数据)。在一个实施例中,网页实现从商户(例如购物车结账页面)购买物品。在其它实施例中,网页用于执行其它类型的交易、比如用于登录到系统中、执行银行交易、填写表单等。
[0091]主机设备12从存储设备14和服务器系统20接收704用户数据的数据部分。主机设备12经由有限范围无线连接802接收存储设备的数据部分。在一个实施例中,主机设备12在确定网页包括可以填充的至少一个数据字段之后从存储设备14和服务器系统20接收数据部分。在另一实施例中,主机设备12在主机设备12确定用存储设备14执行授权手势之后接收数据部分。
[0092]主机设备12解密706接收的数据部分并且基于数据部分重新组装708用户数据。主机设备12基于用存储设备14执行的认证手势在数据字段中插入710组装的用户数据。
[0093]图9是图示根据一个实施例的用于作为图1的实体(主机设备12、存储设备14、存储设备16和/或服务器系统20)中的一个或者多个实体使用的典型计算机系统的功能视图的框图。
[0094]图示至少一个处理器902耦合到芯片组904。存储器906、存储设备908、键盘910、图形适配器912、指示设备914和网络适配器916也耦合到芯片组904。显示器918耦合到图形适配器912。在一个实施例中,芯片组904的功能由内存控制中心920和I/O控制中心922提供。在另一实施例中,存储器906直接耦合到处理器902而不是芯片组904。
[0095]存储设备908为非瞬态计算机可读存储介质、比如硬驱动、紧致盘只读存储器(⑶-ROM)、DVD或者固态存储器设备。存储器906保持处理器902使用的指令和数据。指示设备914可以是鼠标、跟踪球或者其它类型的指示设备并且与键盘910组合用来向计算机系统900中输入数据。图形适配器912在显示器918上显示图像和其它信息。网络适配器916将计算机系统900耦合到网络18。计算机系统900的一些实施例具有与图9中所示部件不同和/或其它的部件。
[0096]计算机系统900被适配为执行用于提供这里描述的功能的计算机程序模块。如这里所用,术语“模块”指代用于提供指定的功能的计算机程序指令和其它逻辑。可以在硬件、固件和/或软件中实施模块。模块通常存储于存储设备908上、向存储器906中加载并且由处理器902执行。
[0097]模块可以包括一个或者多个过程和/或仅由过程的部分提供。这里描述的实体的实施例可以包括与这里描述的模块不同和/或其它的模块。此外,归于模块的功能可以在其它实施例中由其它或者不同模块执行。另外,这一描述出于清楚和方便的目的而偶尔省略术语“模块”。
[0098]图1和图8的实体使用的计算机系统900的类型根据实施例和实体使用的处理功能而变化。例如作为移动电话的主机设备2通常具有有限处理能力、小型显示器918并且可能缺乏物理键盘910和指示设备914。对照而言,服务器系统20和网络服务器22可以包括一起工作以提供这里描述的功能的多个刀片服务器。
[0099]以上描述的一些部分在对信息的操作的算法和符号表示方面呈现实施例的特征。这些算法描述和表示是数据处理领域技术人员用来向本领域其他技术人员最有效地传达他们的工作实质的手段。这些操作尽管在功能上或者在逻辑上被描述、但是被理解为由计算机程序实施。另外,将这些操作布置称为模块或者冠以功能名称也已经证明有时是方便的而不失一般性。
[0100]除非如从以上讨论中清楚的那样另外具体陈述,则将认识贯穿说明书,利用术语、t匕如“处理”或者“计算”或者“运算”或者“确定”或者“显示”等的讨论指代计算机系统或者相似电子计算设备的动作和过程,该计算机系统或者这些相似电子计算设备操纵和变换在计算机系统存储器或者寄存器或者其它这样的信息存储、传输或者显示设备内表示为物理(电子)数量的数据。
[0101]实施例的某些方面包括这里以算法的形式描述的步骤和指令。应当指出实施例的过程步骤和指令可以在软件、固件或者硬件中被体现而在软件中被体现时可以被下载为在实时网络操作系统上驻留并且从实时网络操作系统使用的不同平台被操作。
[0102]实施例的公开内容旨在于举例说明而不是限制实施例的在所附权利要求中阐述的完全范围。
【权利要求】
1.一种计算机实施的方法,包括: 在主机设备上显示通过网络从网络服务器接收的网页,所述网页实现从商户购买物品并且包括至少一个数据字段; 由所述主机设备从移动设备请求在所述移动设备上存储的用户个人信息的第一成分,所述用户个人信息先前被拆分成多个成分,所述多个成分包括至少所述第一成分和第二成分,所述个人信息的所述第二成分由与所述移动设备不同的实体存储; 由所述主机设备从所述移动设备接收所述个人信息的所述第一成分; 由所述主机设备基于所述个人信息的所接收的第一成分和所述第二成分组装所述个人信息; 由所述主机设备从所述移动设备接收包括信息的通知,所述信息指示授权手势由所述用户通过所述移动设备的一个或者多个物理移动来执行; 由所述主机设备基于从所述移动设备接收的所述通知在所述数据字段中插入所组装的个人信息;以及 由所述主机设备向所述网络服务器传输所述个人信息。
2.根据权利要求1所述的方法,其中存储所述个人信息的所述第二成分的所述实体是所述主机设备。
3.根据权利要求1所述的方法,其中存储所述个人信息的所述第二成分的所述实体是将所述个人信息拆分成所述多个成分的服务器系统,其中所述服务器系统向所述主机设备传输所述第二成分用于组装所述个人信息。
4.根据权利要求3所述的方法,其中所述多个成分包括所述主机设备存储的第三成分,所述个人信息基于所述第一成分、所述第二成分和所述第三成分来被组装。
5.根据权利要求1所述的方法,其中所述移动设备是交易卡的外形。
6.根据权利要求1所述的方法,其中所述移动设备是移动电话。
7.根据权利要求1所述的方法,其中所述主机设备是平板计算机。
8.根据权利要求1所述的方法,其中所述主机设备是移动电话。
9.一种计算机实施的方法,包括: 在主机设备上向用户显示文档,所述文档包括可接收数据输入的至少一个数据字段; 由所述主机设备从移动设备接收与所述用户关联的用户数据的第一成分,所述用户数据的所述第一成分由所述移动设备存储; 由所述主机计算机系统基于所述用户数据的所述第一成分和第二成分组装所述用户数据;以及 由所述主机计算机基于由所述用户通过所述移动设备的一个或者多个物理移动而执行的授权手势在所述数据字段中插入所组装的用户数据。
10.根据权利要求9所述的方法,还包括: 向服务器系统传输与所述文档关联的信息,所述服务器系统确定文档是否适合用于自动填充所述数据字段。
11.根据权利要求9所述的方法,其中服务器系统将所述用户数据拆分成包括所述第一成分、所述第二成分和第三成分的多个成分,所述第二成分由所述服务器系统提供给主机设备用于存储并且所述第三成分由所述服务器系统存储。
12.根据权利要求11所述的方法,还包括:基于所述主机设备接收包括所述数据字段的所述文档: 由所述主机设备从所述移动设备接收所述第一成分; 由所述主机设备从所述服务器系统接收所述第三成分;以及 由所述主机设备基于所述第一成分、所述第二成分和所述第三成分组装所述用户数据。
13.根据权利要求9所述的方法,其中服务器系统将所述用户数据拆分成包括所述第一成分、所述第二成分、第三成分和第四成分的多个成分,其中: 所述第三成分由所述服务器系统提供给所述主机设备用于存储; 所述第四成分由所述服务器系统存储;并且 所述第一成分和所述第二成分由所述服务器系统提供给存储设备,所述存储设备经由有限范围无线连接向所述移动设备转发所述第一成分用于存储,所述第二成分由所述存储设备存储。
14.根据权利要求13所述的方法,还包括:基于所述主机设备接收包括所述数据字段的所述文档: 由所述主机设备从所述存储设备接收所述第一成分和所述第二成分,所述第一成分由所述存储设备经由所述有限范围无线连接从移动设备接收; 由所述主机设备从所述服务器系统接收所述第三成分;以及 由所述主机设备基于所述第一成分、所述第二成分、所述第三成分和第四成分组装所述用户数据。
15.根据权利要求13所述的方法,还包括:基于所述主机设备接收包括所述数据字段的所述文档: 由所述主机设备从所述服务器系统接收所述第一成分、所述第二成分和所述第三成分,所述服务器系统从所述存储设备接收所述第一成分和所述第二成分; 由所述主机设备基于所述第一成分、所述第二成分、所述第三成分和所述第四成分组装所述用户数据。
16.根据权利要求13所述的方法,其中所述有限范围无线连接是蓝牙连接。
17.根据权利要求9所述的方法,其中所述第一成分响应于确定在所述文档中标识出所述数据字段而被接收。
18.根据权利要求9所述的方法,其中所述第一成分响应于所述执行所述授权手势而被接收。
19.根据权利要求9所述的方法,其中所述授权手势是以下各项中的一项或者多项:用所述移动设备的一个或者多个敲击移动、用所述移动设备的挥击移动和所述移动设备的旋转。
20.一种具有计算机程序指令的非瞬态计算机可读存储介质,所述计算机程序指令配置一个或者多个处理器以执行操作,所述操作包括: 在主机设备上向用户显示文档,所述文档包括可接收数据输入的至少一个数据字段; 由所述主机设备从移动设备接收与所述用户关联的用户数据的第一成分,所述用户数据的所述第一成分由所述移动设备存储; 由所述主机计算机系统基于所述用户数据的所述第一成分和第二成分组装所述用户数据;以及 由所述主机计算机基于由所述用户通过所述移动设备的一个或者多个物理移动执行的授权手势在所述数据字段中插入所组装的用户数据。
【文档编号】G06F21/30GK104137090SQ201380009245
【公开日】2014年11月5日 申请日期:2013年11月27日 优先权日:2012年11月27日
【发明者】M·登顿, H·W·P·比德尔, J·A·纳雷, S·P·纳雷, J·I·默奇森 申请人:美新纳瑞私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1