CN107005599A - 改善位置传感器查准率的系统和方法 - Google Patents

改善位置传感器查准率的系统和方法 Download PDF

Info

Publication number
CN107005599A
CN107005599A CN201680003807.8A CN201680003807A CN107005599A CN 107005599 A CN107005599 A CN 107005599A CN 201680003807 A CN201680003807 A CN 201680003807A CN 107005599 A CN107005599 A CN 107005599A
Authority
CN
China
Prior art keywords
identifier
handling system
data set
determined
data handling
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.)
Granted
Application number
CN201680003807.8A
Other languages
English (en)
Other versions
CN107005599B (zh
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
Priority claimed from US14/808,634 external-priority patent/US9716697B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of CN107005599A publication Critical patent/CN107005599A/zh
Application granted granted Critical
Publication of CN107005599B publication Critical patent/CN107005599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • H04W4/022Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences with dynamic range variability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

这里描述了经由网络密码地保护在服务器之间传送的位置数据以调谐位置引擎的系统和方法。第一加密模块确定每个位置确定的第一散列值,使用第一加密协议对每个位置确定的第一散列值进行加密,以生成第一加密数据集,并将第一加密数据集传输到服务器。第一加密模块从服务器接收具有由服务器的第二加密模块使用第二加密协议生成的第二散列值的第二加密数据集。第一加密模块从第二加密数据集创建第一双加密数据集。调谐器将第一双加密数据集与从服务器接收的第二双加密数据集进行比较,以调整位置引擎。

Description

改善位置传感器查准率的系统和方法
相关申请的交叉引用
本申请要求在2016年2月12日提交的美国申请No.15/043,394的优先权的权益,该申请作为在2015年7月24日提交的美国专利申请No.14/808,634的部分的继续要求在35U.S.C.§120下的优先权的权益,其全部内容通过引用并入本文。
背景技术
在诸如互联网的计算机网络环境中,诸如人员或公司的实体可以通过web服务器提供用于在在线内容上公开显示的信息。当客户端设备向实体的各种web服务器发送对于在线内容的请求并从实体的相应web服务器接收在线内容时,web服务器可以根据各种格式维护这样的计算设备网络活动和交互的日志。
发明内容
至少一个方面涉及一种系统,该系统通过计算机网络密码地保护在多个服务器之间传送的位置数据,以调谐位置引擎。该系统可以包括桥接模块、第一加密模块、通信接口和调谐器。桥接模块、第一加密模块、通信接口和调谐器可以由数据处理系统的一个或多个处理器执行。桥接模块可以从存储在存储器中的位置数据库中检索由所述数据处理系统的所述位置引擎进行的多个位置确定。每个位置确定可以与相应的第一标识符相关联。桥接模块可以使用映射函数将每个相应的第一标识符映射到相应的第二标识符。第一加密模块可以使用应用于由每个位置确定的第二标识符和时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值。第一加密模块可以使用第一加密协议来加密用于每个位置确定的第一散列值,以生成第一加密数据集。通信接口可以经由计算机网络将第一加密数据集传输到一个或多个服务器。服务器可以处理电子交易。通信接口可以从一个或多个服务器接收包括由第二加密模块针对电子交易生成的第二散列值的第二加密数据集。第二散列值中的每个第二散列值可以由第二加密模块经由将第二散列函数应用于由电子交易中的每个电子交易的标识符和时间戳形成的元组来生成。第二加密数据集可以由第二加密模块用第二加密协议加密。第一加密协议和第二加密协议是能够交换(commutative)的加密协议。第一加密模块可以使用第一加密协议来加密从一个或多个服务器接收的第二加密数据集,以生成第一双加密数据集。所述通信接口可以从所述一个或多个服务器接收由所述第二加密模块通过将所述第二加密协议应用于由所述数据处理系统传输到所述一个或多个服务器的所述第一加密数据集而生成的第二双加密数据集。调谐器可以将第一双加密数据集与第二双加密数据集进行比较,以基于正确位置确定的总数、位置确定的总数和实际位置事件的总数来确定查准率度量和查全率度量。调谐器可以基于查准率度量或查全率度量中的至少一个来调谐位置引擎的调谐参数。
至少一个方面涉及一种密码地保护经由计算机网络在多个服务器之间传送的位置数据以调谐位置引擎的方法。该方法可以包括由数据处理系统的一个或多个处理器执行的桥接模块检索由数据处理系统的位置引擎进行的多个位置确定。每个位置确定可以与相应的第一标识符相关联,并且桥接模块可以从存储在存储器中的位置数据库接收多个位置确定。该方法可以包括桥接模块使用映射函数将每个相应的第一标识符映射到相应的第二标识符。该方法可以包括由一个或多个处理器执行的第一加密模块使用应用于由每个位置确定的第二标识符和时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值。该方法可以包括第一加密模块使用第一加密协议对每个位置确定的第一散列值进行加密,以生成第一加密数据集。该方法可以包括数据处理系统的通信接口经由计算机网络将第一加密数据集传输到被配置为处理电子交易的一个或多个服务器。该方法可以包括通信接口从一个或多个服务器接收包括由第二加密模块针对电子交易生成的第二散列值的第二加密数据集。第二散列值中的每个第二散列值可以由第二加密模块通过将第二散列函数应用于由每个电子交易的标识符和时间戳形成的元组来生成,第二加密数据集由第二加密模块使用第二个加密协议加密。第一个加密协议和第二个加密协议可以是能够交换的加密协议。该方法可以包括第一加密模块使用第一加密协议来加密从一个或多个服务器接收的第二加密数据集,以生成第一双加密数据集。该方法可以包括通信接口从一个或多个服务器接收由第二加密模块通过向由数据处理系统传输给一个或多个服务器的第一加密数据集应用第二加密协议而生成的第二双加密数据集。该方法可以包括由一个或多个处理器执行的调谐器将第一双加密数据集与第二双加密数据集比较,以基于正确位置确定的总数、位置确定的总数和实际位置事件的总数来确定查准率度量和查全率度量。该方法可以包括调谐器基于查准率量度或查全率度量中的至少一个调谐位置引擎的调谐参数。
至少一个方面涉及一种在多个数据集之间匹配标识符的方法。该方法可以包括向第三方服务器传输第一标识符向量。第一标识符向量可以包括第一标识符、多个第一参数和多个第二参数。该方法可以包括接收基于与第三方服务器相关联的第三方加密而加密的第一标识符向量。该方法可以包括从第三方服务器接收基于与第三方服务器相关联的第三方加密来加密的第二标识符向量。第二标识符向量可以包括第二标识符、多个第三参数和多个第四参数。该方法可以包括基于多个第一参数中的一些和多个第三参数中的一些之间以及多个第二参数中的一些和多个第四参数中的一些之间的匹配来确定在第一标识符向量和第二标识符向量之间的相关计数。该方法可以包括基于在第一标识符向量和第二标识符向量之间的相关计数高于确定的阈值来确定第一标识符对应于第二标识符。该方法可以包括:响应于确定第一标识符对应于第二标识符,生成用于第一标识符和第二标识符两者的一个标识符密钥。
至少一个方面涉及用于在多个数据集之间匹配标识符的系统。该系统可以包括数据处理系统,其包括映射模块。数据处理系统可以向第三方服务器传输第一标识符向量。第一标识符向量可以包括第一标识符、多个第一参数和多个第二参数。数据处理系统可以从第三方服务器接收基于与第三方服务器相关联的第三方加密来加密的第一标识符向量。数据处理系统可以接收基于与第三方服务器相关联的第三方加密进行加密的第二标识符向量。第二标识符向量可以包括第二标识符、多个第三参数和多个第四参数。数据处理系统可以基于在多个第一参数中的一些和多个第三参数中的一些之间以及在多个第二参数中的一些和多个第四参数的一些之间的匹配来确定第一标识符向量和第二标识符向量之间的相关计数。数据处理系统可以基于第一标识符向量和第二标识符向量之间的相关计数高于确定的阈值来确定第一标识符对应于第二标识符。响应于确定第一标识符对应于第二标识符,数据处理系统可以生成用于第一标识符和第二标识符两者的一个标识符密钥。
下面将详细讨论这些和其他方面和实施方式。上述信息和以下详细描述包括各种方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了各种方面和实施方式的说明和进一步理解,并且被并入本说明书并构成本说明书的一部分。
附图说明
本说明书中描述的主题的一个或多个实施方式的细节在附图和下面的描述中阐述。通过说明书、附图和权利要求,主题的其它特征、方面和优点将变得显而易见。
图1是根据实施方式的经由网络来密码地保护位置数据以调谐位置引擎的系统的功能框图的图示。
图2是根据实施方式的经由网络密码地保护位置数据以调谐位置引擎的系统的图示。
图3是描绘根据实施方式的在不同数据集之间匹配标识符的方法的流程图。
图4是描绘根据实施方式的经由网络密码地保护位置数据以调谐位置引擎的方法的流程图。
图5是图示根据实施方式的、可以用于实施方式图1和2所示的系统和图3和4所示的方法的各种元件的计算机系统的一般架构的框图。
各种附图中相同的附图标记和标号表示相同的元件。
具体实施方式
本公开的系统和方法涉及通过网络密码地保护在实体或服务器之间传输的位置数据,并且使用一个或多参数来评估位置数据来调谐位置引擎。例如,本公开的数据处理系统可以使用已经以隐藏第三方使用的加密协议的方式加密的来自第三方实体的信息来评估位置引擎的性能。数据处理系统可以基于评估自动调谐位置引擎,以提高位置引擎进行的位置确定的准确性。
诸如GPS、蜂窝电话三角测量、WIFI三角测量的定位技术可能具有有限的分辨率。例如,使用某些定位技术来精确地识别移动设备是否处于人口密集区域内的特定商店中可能是困难的。此外,由于每个实体使用其自己的加密协议来加密或隐藏其数据,所以交叉引用由各种位置引擎、服务器、计算设备或实体收集或确定的数据可能是有挑战性的。因此,位置引擎准确地确定位置并且将位置确定与其他源进行比较以验证位置确定可能在技术上是有挑战性的。本技术解决方案通过确定查全率度量和查准率度量来解决这一技术挑战,该查全率度量和查准率度量可用于以密码地保护实体的数据而不对至少一些数据进行解密的方式来调谐位置引擎。
为了确定位置引擎的性能,数据处理系统可以接收或访问与位置确定相关联的地面真实数据,以确定查全率度量和查准率度量。地面真实数据指示物理世界中的实际位置事件。例如,诸如信用卡交易处理器的第三方服务提供者可以经由网络接收电子请求,以处理来自位于商家实体商店的销售点设备的卡交易。由商家处的销售点设备启动的卡交易可以指示地面真实位置事件,因为与电子交易相关联的数据分组识别商家标识符或位置。卡交易处理器可以存储地面真实位置事件,并将地面真实数据集提供给数据处理系统。
查全率度量可以被定义为由数据处理系统的位置引擎进行的正确的位置确定的数目除以基于从诸如卡交易处理器的第三方接收到的真实数据的总位置记录的数目。查准率度量可以被定义为由数据处理系统的位置引擎进行的正确的位置确定的数目除以由数据处理系统的位置引擎进行的位置确定的总数。
为了密码地保护卡交易处理器的卡交易数据以及由位置引擎进行的位置确定,数据处理系统可以使用双加密技术来维护用户的匿名性并隐藏用于加密数据的加密技术。例如,数据处理系统可以使用以下技术来确定查全率度量和查准率度量:
·数据处理系统可以接收由数据处理系统的位置引擎进行的多个位置确定,其中每个位置确定与相应的第一标识符相关联;
·数据处理系统可以从第三方实体(例如卡交易处理器)接收位置交易记录,其中每个位置交易记录与相应的第二标识符相关联;
·数据处理系统可以使用预定的映射、桥接或匹配功能将第一相应标识符映射、桥接或匹配到第二相应标识符;
·为了准备数据以用于互换(exchange),数据处理系统可以使用应用于由每个记录的第二标识符和时间戳形成的二元组的第一散列函数来确定每个记录的散列值;
·通过经由对由第二标识符和时间戳形成的二元组应用第二散列函数确定每个记录的第二散列值,第三方实体可以类似地准备数据以用于互换;
·数据处理系统可以对第一个散列值应用第一加密;并且第三方实体可以对第二散列值应用第二加密;其中第一和第二加密函数是不同的,但是都是可交换的;
·数据处理系统可以从第三方实体接收用第二加密函数加密的第二散列值,然后应用第一加密函数,创建第一双加密数据集;
·第三方实体可以接收用第一加密函数加密的第一散列值,然后应用第二加密函数,创建第二双加密数据集;
·数据处理系统可以接收第二个双加密数据集,并将其与第一个双加密数据集进行比较,以识别:1)正确位置确定的总数;2)所进行的位置确定的总数;和3)实际位置事件的总数;
·数据处理系统可以使用上述1-3来生成查准率度量和查全率度量;和
·数据处理系统可以1)根据查全率度量和查准率度量调整位置引擎的调谐参数,以提高位置引擎的性能;或2)使用查全率度量和查准率度量来促进实时内容选择。
图1图示了根据实施方式的、通过网络对位置数据进行密码地保护以调谐位置引擎的系统的功能框图。环境100包括一个或多个商家,诸如商户170A-N。商户可以指的是零售点位置、实体店的位置、餐厅、办事处、药房、营业场所、服务提供者、自助洗衣店、商场或广场的零售点、电子亭或自动售货机。商户170A-N可以在地理上分散或人口密集。例如,在城市环境或商场中,商户170A-N可以彼此靠近或彼此相邻。
商户170A可以使用与交易卡125交互的销售点设备115进行电子交易。销售点设备115可以响应于经由用户界面接收到输入来启动电子交易,包括在诸如商家、药店、零售店、医疗供应商店等实体或提供商品或服务的其他实体。交易可以经由销售点终端或设备115发生。销售点设备115可以包括结算设备、电子销售点设备或包括用于促成交易的硬件和软件的其他设备。销售点设备115可以被配置为经由交易卡125经由用户界面接收金融交易信息。交易卡125可以指的是并包括塑料信用卡或电子无线支付方法。例如,用户可以被配置为接收对应于经由诸如借记卡、pin码、移动支付设备、近场通信使能设备、蓝牙、智能电话、智能手表、可穿戴通信设备、RFID或其他移动电信设备的交易卡125识别的金融账户的信息,并且与一个或多个服务器160或数据库进行通信以验证金融交易信息,识别客户的对应电子账户,以及启动或促进资金从客户账户转移到商家170A。交易可以与诸如账户标识符、时间戳、商家标识符、商家位置或交易金额的信息相关联。该信息可以实时地提供给由卡交易处理器160的服务器维护和管理的交易存储库。
卡交易处理器160或卡交易服务器160可以经由网络105接收由销售点设备115响应于进行电子交易而生成的数据分组。数据分组可以包括报头信息和有效载荷信息。多个数据分组可以按顺序串联在一起。报头信息可以指包括源端口、目的端口、序列号、肯定应答号码或窗口大小等的字段的TCP/IP报头。数据分组的有效载荷信息可以包括与交易、商家或顾客相关的信息。服务器160可以接收具有报头信息和有效载荷信息的数据分组,并处理分组以获得用于进一步处理的信息。有效载荷可以包括识别商家、电子账户、时间戳、商家位置或电子交易的金额的数据。服务器160可以对位置信息或时间戳进行分段或量化。服务器160可以将电子交易的账户标识符映射到对账户标识符匿名化的第二标识符。服务器160可以包括第二加密模块165,其使用账户标识符,第二标识符时间戳或位置信息中的一个或多个生成散列值,并且使用加密协议来加密散列值。服务器160可以将加密的交易数据存储在服务器160的数据仓库中。
诸如移动设备的计算设备110可以经由网络105与数据处理系统120交互。数据处理系统120可以ping计算设备110,或者计算设备110可以发起与数据处理系统120的通信。数据处理系统120可以包括基于交互来确定或识别计算设备110的位置的位置引擎135。例如,计算设备110可以向数据处理系统120提供位置信息(例如,地址、地理坐标、地图瓦片标识符),或者数据处理系统120可以基于接收到的信息(例如,蜂窝电话塔三角测量、IP地址或WIFI三角测量)来确定位置。数据处理系统120可以确定与计算设备110相关联的时间戳或计算设备标识符。数据处理系统120可以对时间戳或位置信息进行分段或量化。数据处理系统120可以将计算设备标识符映射到匿名化计算设备标识符的第二标识符。数据处理系统120(例如,经由第一加密模块145)可以使用位置确定、时间戳、或第二标识符中的一个或多个来生成散列值,并且使用加密协议对散列值进行加密。数据处理系统120可以将加密的位置确定和对应的信息存储在数据存储库155中。
数据处理系统120的通信接口可以传输包括由数据处理系统120的位置引擎135确定的加密位置确定的第一加密数据集。数据处理系统120能够提供或可以不提供用于加密数据的加密协议的标识或其参数。
数据处理系统120的通信接口10经由网络105从服务器160接收加密的数据集。通信接口130从服务器160接收双加密数据集。例如,第二加密模块165可以加密从数据处理系统120接收的数据集。第二加密模块165和第一加密模块145使用的加密协议可以相同或不同。加密协议可以具有可交换属性并且是可交换加密协议。如果更改加密顺序不会改变结果,则加密可以具有交换属性。例如,第一加密协议可以是A(),可以用于从散列函数h(location_data)加密散列值,如下所示:A(h(location_data))。第二加密协议B()可用于加密散列值如下:B(h(location_data))。第一A()和第二B()加密协议可能不同,但如果双加密数据集相同,则它们可能具有可交换属性,如下所示:A(B(h(location_data)))=B(A(h(location_data)))。可交换加密协议或密码系统可以包括基于数论的加密协议,这可能取决于可交换代数结构。例如,可交换加密协议可以包括公钥密码系统,诸如RSA密码系统(例如,其中,加密密钥是公开的,并且与隐藏或保密的解密密钥不同;由于这种不对称性,由于难以对两个大素数的乘积进行分解,所以在没有解密密钥的情况下解密在技术上是具有挑战性的)或椭圆曲线密码(例如,基于有限域上的椭圆曲线的代数结构的公钥密码学)。
数据处理系统120可以从卡交易服务器160接收由第二加密模块165生成的双加密数据集。在接收到双加密数据集时,数据处理系统120可以将接收的双加密数据集与由数据处理系统120的第一加密模块145创建的双加密数据集相比较。将两个加密处理应用于数据集中的每个数据集以创建双加密数据集;该差异可以是以将加密应用于数据集的顺序。在某些情况下,两个加密协议可以是相同的加密协议、不同的加密协议或具有不同参数的相同加密方案或技术。
数据处理系统120(例如,经由调谐器150)可以比较该两个双加密数据集,以识别数据集中的匹配条目或记录的数目。匹配条目或记录的数目可以指示由数据处理系统120的位置引擎135进行的正确的位置确定的数目。由服务器160生成的交易数据集中的总条目的数目可以指示实际数目或访问数目或地面真实数据,因为它是基于在商户位置处发生的交易。数据处理系统120(例如,经由调谐器150)可以将查全率度量确定为由数据处理系统的位置引擎进行的正确的位置确定的数目除以基于从诸如卡交易处理器的第三方收到的真实数据的总位置记录的数目。数据处理系统120(例如,经由调谐器150)可以将查准率度量确定为由数据处理系统的位置引擎进行的正确的位置确定的数目除以由数据处理系统120的位置引擎135进行的位置确定的总数。
图2图示了根据实施方式的、通过网络对位置数据进行密码地保护以调谐位置引擎的系统。系统200可以包括内容选择基础设施。系统200可以包括经由网络105与内容提供者225、内容发布者215或计算设备110中的一个或多个进行通信的数据处理系统120。网络105可以包括计算机网络,例如互联网、局域、广域、城域或其他区域网络、内联网、卫星网络和诸如语音或数据移动电话网络的其他通信网络。网络105可以用于访问可以显示在至少一个计算设备110(诸如膝上型、桌面型、平板、个人数字助理、智能电话或便携式计算机)的信息资源,诸如网页、网站、域名或统一资源定位符。例如,通过网络105,计算设备110的用户可以访问由至少一个网站运营商或内容发布者215提供的网页。在该示例中,计算设备110的web浏览器可以访问网站运营商或内容发布者215的web服务器,以检索用于在计算设备110的监视器上显示的网页。网站运营商或内容发布者215通常包括操作网页的实体。在一个实施方式中,网站运营商或内容发布者215包括至少一个网页服务器,其与网络105进行通信以使该网页可用于计算设备110。
网络105可以是任何类型或形式的网络,并且可以包括以下任何一个:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括诸如红外信道或卫星频带的无线链路。网络105的拓扑可以包括总线、星形或环形网络拓扑。网络可以包括使用用于在移动设备之间通信的任何一个或多个协议的移动电话网络,该协议包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线电业务(“GPRS”)或通用移动通信系统(“UMTS”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
系统200可以包括至少一个数据处理系统120。数据处理系统120可以包括:至少一个逻辑设备,诸如具有处理器的计算设备,用于经由网络105例如与计算设备110、网站运营商或内容发布者计算设备215(或内容发布者215)进行通信;以及至少一个内容提供者计算设备225(或提供者设备225或内容提供者225)。数据处理系统120可以包括至少一个服务器。例如,数据处理系统120可以包括位于至少一个数据中心处的多个服务器。数据处理系统120可以包括多个逻辑分组的服务器并且促进分布式计算技术。服务器的逻辑组可以称为服务器场或机器场。服务器也可以在地理上分散。机器场可以作为单个实体来管理,或者机器场可以包括多个机器场。每个机器场中的服务器可以是异构的——一个或多个服务器或机器可以根据一种或多种类型的操作系统平台来操作。
机器场中的服务器可以存储在高密度机架系统以及相关的存储系统中,并位于企业数据中心。例如,以这种方式整合服务器可以通过在本地化高性能网络上定位服务器和高性能存储系统来提高系统的可管理性、数据安全性、系统的物理安全性和系统性能。集中服务器和存储系统并将其与先进的系统管理工具相结合可以更有效地利用服务器资源。
数据处理系统120可以包括具有至少一个服务器的内容放置系统。数据处理系统120可以包括以下中的一个或多个:至少一个通信接口130、至少一个位置引擎135、至少一个桥接模块140、至少一个第一加密模块145、至少一个调谐器150或至少一个数据存储库155。通信接口130、位置引擎135、桥接模块140、第一加密模块145和调谐器150可以各自包括:至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎;或被配置为与数据库存储库或数据库155进行通信的模块。通信接口130、位置引擎135、桥接模块140、第一加密模块145和调谐器150可以是单独的组件、单个组件或数据处理系统120的一部分。系统200及其组件(诸如数据处理系统)可以包括诸如一个或多个处理器、逻辑设备或电路的硬件元件。数据存储库155可以在存储器或其它存储设备(诸如位置数据结构或数据库230、映射数据结构或数据库235、散列数据结构或数据库240、参数数据结构或数据库245和度量数据结构或数据库250)中存储一个或多个数据结构或数据库。在一些实施方式中,数据处理系统120可以访问第三方服务器160,诸如包括第二加密模块165的卡交易处理器的服务器。第三方服务器160可以处理通过商家的一个或多个销售点设备进行的电子交易。
数据处理系统120可以获得与多个计算设备110相关联的匿名计算机网络活动信息。计算设备110的用户可以肯定地授权数据处理系统120获得对应于用户的计算设备110的网络活动信息。例如,数据处理系统120可以提示计算设备110的用户同意获得一种或多种类型的网络活动信息。计算设备110的用户的身份可以保持匿名,并且计算设备110可以与唯一的标识符相关联(例如,由数据处理系统或计算设备的用户提供的用户或计算设备的唯一标识符)。数据处理系统可以将每个观察与对应的唯一标识符相关联。
对于这里讨论的系统收集关于用户的个人信息或可以利用个人信息的情况,可以向用户提供控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社会动作或活动、用户偏好或用户的当前位置的信息)或者控制是否或如何从内容服务器接收可能与用户更相关的内容的机会。此外,在存储或使用某些数据之前可以以一种或多种方式处理所述数据,从而在生成参数(例如,人口统计参数)时移除关于用户的某些信息。例如,可以对用户的身份进行处理,使得不能为用户确定识别信息,或者在获得位置信息(诸如城市、邮政编码或州级)时可以一般化用户的地理位置,使得不能确定用户的特定位置。因此,用户可以控制如何收集关于用户并由内容服务器使用的信息。
在一些实施方式中,数据处理系统120可以包括内容选择器。内容选择器可以分析、解析或以其它方式处理候选内容项的主题,以确定候选内容项的主题是否对应于网页。内容选择器可以使用图像处理技术、字符识别技术或数据库查找来识别、分析或辨认候选内容项的词项(terms)、字符、文本、符号或图像。候选内容项可以包括表示候选内容项的主题的元数据,在这种情况下,内容选择器可以处理元数据,以确定候选内容项的主题是否对应于网页或搜索查询。
当设置包括内容项的内容活动(campaign)时,内容提供者225可以提供附加的指示符。内容提供者225可以通过使用关于候选内容项的信息执行查找,在内容选择器可以识别的内容活动或内容组级别提供信息。例如,候选内容项可以包括可以映射到内容组、内容活动或内容提供者的唯一标识符。内容选择器可以基于存储在数据存储库155中关于内容提供者的信息来确定。
数据处理系统120可以使用各种技术来选择内容。例如,数据处理系统120可以从来自合作伙伴内容选择网络的推荐或引导中选择内容。在一些实施方式中,可以不使用关键字或匹配技术来选择内容,而是基于推荐或引导来选择。
例如,数据处理系统120可以接收对内容的请求。该请求可以包括关键字或诸如输入到数据处理系统的搜索引擎中的搜索查询的查询。输入查询可以包括例如文本、字符或符号。数据处理系统120可以经由网络105从计算设备110接收输入查询。输入查询可以包括诸如计算设备110的用户所说出并经由网络105和界面输入到数据处理系统的搜索引擎的词语的音频。该请求可以包括或者关联于有助于响应于该请求选择内容的信息。信息可以包括例如关于要在其上显示所选择的内容的电子文档、网页、电子应用或有机的非广告链接的上下文信息。数据处理系统120可以提供显示输入文本框、按钮、下拉列表或其他小部件(客户端的用户可以通过它们选择或以其它方式指示用于搜索的类别)的界面。
数据处理系统120(例如,通过内容选择器)响应于搜索查询或其他对内容(例如,电子广告)的请求,可以识别、选择或以其他方式获得将通过进行请求的计算设备110或与对内容的请求相关联的某个其他计算设备110提供或呈现的内容。在一些实施方式中,数据处理系统120可以不响应于接收任何请求而识别、选择或以其他方式获得内容。内容可以包括例如文本、字符、符号、图像、视频、音频、或多媒体内容。内容可以包括电话号码、虚拟电话号码或呼叫分机。内容项可以包括由内容提供者提供并由数据处理系统(例如,经由内容选择器)包含的用于与搜索结果页面一起显示的赞助链接形式的广告。该内容项可以包括有助于向内容提供者提供报告数据的指向电话号码的链接或按钮。在内容项包括虚拟电话号码或呼叫分机的情况下,内容项可以被称为呼叫内容项。对内容的请求可以包括对在线广告、文章、促销、优惠券或产品描述的请求。数据处理系统120可以从诸如例如计算设备110的计算设备接收请求。例如,数据处理系统120可以经由在计算设备110上执行的应用来接收请求,该应用诸如是在移动设备(例如智能电话或平板电脑)上执行的移动应用。在一些情况下,数据处理系统120可以不接收单独的对内容的请求,而是响应于搜索查询或使用搜索结果来选择和提供内容(例如,广告)。在一些情况下,网页可以响应于移动设备110的用户访问网页(例如,经由移动设备110)来请求来自数据处理系统120的内容。
对内容的请求可以包括有助于内容选择的信息。例如,数据处理系统120可以从计算设备110请求信息以便于识别内容或内容选择。数据处理系统120可以响应于从计算设备110接收到对内容的请求来请求或获取信息。该信息可以包括关于在计算设备110上显示内容(例如,内容时隙大小或位置)或计算设备110的可用于显示或以其他方式操纵内容的资源的信息。
数据处理系统120可以识别响应于内容请求的多个内容项(例如,第一候选内容项和第二候选内容项),或者否则是在在线文档(例如,网页)上显示的候选项。数据处理系统可以启动或利用在线拍卖过程来选择多个内容项中的一个或多个以在在线文档上显示。拍卖系统可以确定要在在线文档中显示的内容项的两个或更多个出价。拍卖系统可以通过拍卖过程来运行出价,以确定一个或多个最高排名的出价或中标出价。可以选择对应于最高排名出价或中标出价的内容项来显示在在线文档上或与在线文档一起显示。
数据处理系统120可以包括设计和构造为接收、识别或确定计算设备110的位置的位置引擎135。位置引擎135可以接收与计算设备110相关联的地理位置数据点,并且可以由用于确定计算设备110的位置的一个或多参数或调谐参数来配置。数据处理系统120可以经由计算机网络105经由TCP/IP协议、蜂窝电话数据网络或计算机网络105的另一个通信协议接收数据点。数据点可以包括位置信息和时间信息,或者数据处理系统120可以在从计算设备110接收到数据点时确定与接收的数据点相关联的位置或时间信息。数据处理系统120还可以接收与数据点相关联的第一标识符,诸如唯一的计算设备标识符或与在计算设备110上执行的应用相关联的用户名。在计算设备110上执行的应用(例如,移动应用、移动操作系统、web浏览器或地图应用)可以传输地理位置数据点,其包括位置信息。移动计算设备110可以定期地对数据处理系统120或其他中间系统进行ping,以提供位置或时间信息。在一些情况下,智能电话或其他蜂窝使能的计算设备110可以ping蜂窝电话塔系统,其然后可以向数据处理系统120提供位置或时间信息。
数据处理系统120可以实时地或者以诸如定期基础的预定时间间隔(例如,10分钟、5分钟、1分、30秒或者可以促进在此公开的系统和方法的另一个时段)接收地理位置数据点或ping。位置引擎135的调谐参数可以包括预定的时间间隔。数据处理系统120可以在定期地运行的批量处理中接收数据点,其中可以在单个上传过程中将与计算设备110或多个计算设备110相关联的多个地理位置数据点提供给数据处理系统120。在一些情况下,计算设备110可以实时地、定期基础上、或者在批处理中将数据点推送到数据处理系统120。
数据点可以包括,或者数据处理系统120可以基于例如GPS、Wi-Fi、IP地址、蓝牙、信标技术、射频识别(RFID)、近场通信技术或蜂窝塔三角测量技术来确定地理位置数据点的地理位置信息。在一些实施方式中,数据处理系统120可以确定纬度和经度坐标并且识别包括纬度和经度坐标的较大地理区域或小区。地理位置可以对应于纬度或经度坐标,或者地理位置可以对应于例如更大或更小的区域。
在一些实施方式中,所接收的数据点可以包括,或者数据处理120可以确定地理位置信息,包括例如纬度和经度坐标、地理信息系统(“GIS”)信息、国家、州、城市、县、镇或区域。数据处理系统120可以经由应用编程接口(“API”)接收或以其他方式识别与计算设备110相关联的地理位置信息,该应用编程接口(“API”)可以提供对与计算设备110相关联的地理位置信息的脚本访问。例如,地理API规范可以包括与万维网联盟(“W3C”)相关联的规范。在一个实施方式中,计算设备110的用户通过登记到某个位置或以其他方式对在计算设备110上执行的应用或数据处理系统声明用户在某个位置来主动声明一个位置。
在一些实施方式中,计算设备110的地理位置可以通过全球定位系统(“GPS”)、蜂窝塔三角测量或Wi-Fi热点中的至少一个来确定。在一些实施方式中,数据处理系统120可以识别或确定用于确定地理位置的技术,以便确定所确定的地理位置数据点的准确性(例如,基于GPS的位置信息可能比基于IP的位置信息更精确)。数据处理系统120还可以基于用户与信息资源的交互来确定地理位置信息。在一些实施方式中,计算设备110可以包括全球定位系统(“GPS”)。在一些实施方式中,数据处理系统120可以基于互联网协议(“IP”)地址来确定地理位置。例如,计算设备110可以包括GPS传感器或天线,并且被配置为确定计算设备110的GPS位置。数据处理系统120还可以通过使用从一个或多个蜂窝塔获得的信息来确定地理位置以对计算设备110的位置进行三角测量。例如,基于从一个蜂窝塔、两个蜂窝塔或三个蜂窝塔接收的一个信息确定的地理位置可能足以进行内容选择。在一些实施方式中,Wi-Fi热点可以有助于确定地理位置,因为Wi-Fi热点可以是静止的,并且可以用作地标。例如,计算设备110相对于Wi-Fi热点的关系可以有助于确定计算设备110的地理位置。
在一些情况下,位置引擎135可聚类从计算设备110接收或与计算设备110相关联的位置ping或位置数据点,以确定计算设备110的位置。位置引擎135可以基于时间间隔、距离阈值或时间间隔和距离阈值两者来聚类位置ping或数据点。
例如,位置引擎135可以生成包括第一数据点(或初始数据点)和后续数据点的位置集群。数据点可以包括或指示纬度和经度坐标、时间戳、或计算设备标识符。第一数据点可以指中心数据点,数据处理系统120可以使用中心数据点来识别哪些后续数据点满足距离阈值以便生成位置集群。虽然被称为后续数据点,但后续数据点可以但不必由数据处理系统120在时间上相对于第一数据点稍后接收。数据处理系统120可以基于时间因素、位置因素或其他逻辑来识别第一数据点。数据处理系统120可以将第一数据点识别为半径(例如,10英里、20英里、50英里)内的最早接收的数据点。在另一实施方式中,数据处理系统120可以基于识别在预定时间间隔内接收的多个数据点(例如,在5分钟、10分钟、15分钟、30分钟或1小时的间隔中接收的所有数据点)并且然后(例如,通过映射数据点并识别最靠近中心的数据点)识别多个数据点的中心数据点来识别第一数据点。
在其中第一数据点是基于时间的第一数据点的一个实施方式中,后续数据点指的是在第一数据点之后接收(或包含时间戳)的数据点。后续数据点可以是具有紧随第一数据点之后的时间戳的一个或多个数据点。在识别第一数据点时,数据处理系统120可以通过确定每个后续数据点是否满足距离阈值来生成具有后续数据点的集群。数据处理系统120可以识别第一数据点,然后将第一数据点的位置与第二数据点的位置进行比较。如果第二数据点在第一数据点的距离阈值内,则数据处理系统120生成包括第一数据点和第二数据点的位置集群。数据处理系统120可以识别第二数据点之后的第三数据点,并且将第三数据点与第一数据点进行比较。在该示例中,数据处理系统120将每个后续数据点的距离与第一数据点进行比较。如果第一数据点和第三数据点之间的距离满足阈值距离,则数据处理系统120可以生成具有第三数据点的集群或向正在生成的集群增加第三数据点。如果第三数据点不满足阈值距离(例如,超过阈值距离),则数据处理系统120可以不包括位置集群中的数据点。在一些情况下,数据处理系统120可以将第三点识别为第二位置集群的新的初始或新的第一数据点,并且以与上述类似的方式继续处理第三数据点之后的数据点。
位置引擎135可以配置有对应于不同距离(例如,10米、20米、30米、50米或有助于进行计算设备110的位置确定的其他距离阈值)的一个或多个距离阈值(例如,第一、第二、第三、第四距离阈值)。使用各种距离阈值,系统可以生成不同大小的多个位置集群。这可以有助于在不同环境(如农村和城市环境)或与不同规模的商业实体(如百货公司、体育馆、会议中心或精品店)相关地生成有效集群。位置引擎135可以使用对应于距离阈值的调谐参数进行调谐。例如,调谐参数可以是距离阈值,并且调谐器150可以通过调整位置引擎135所使用的距离阈值调谐参数来调谐位置引擎135以确定计算设备的位置。
距离阈值可以是静态或动态的。阈值距离可以是静态值(例如,50米、100米或200米)。在另一实施方式中,阈值距离可以由调谐器150基于度量、反馈或优化技术进行微调。例如,数据处理系统120可以确定集群大小太大,因为它们不指示与不满意的查全率度量或查准率度量相关联的用户访问商店,并且因此降低阈值距离值。在另一实施方式中,数据处理系统120(例如经由调谐器150)可以确定阈值距离相对于商业实体的大小太小,因为针对商业实体生成了太多的集群。
数据处理系统120可以基于查全率度量、查准率度量或可用位置信息的粒度来改变阈值距离。例如,WiFi、小区三角测量和GPS提供具有变化的查准率或分辨率的位置信息。数据点可以包括关于正在使用的定位技术的信息,或者数据处理系统120可以基于包括在数据点中的数据的类型来确定所使用的定位技术。如果位置信息准确到100米以内,则阈值距离可以是100米。如果位置信息准确到50米以内,则阈值距离可以是50米。
在一个实施方式中,数据处理系统120(例如,经由调谐器150)可以调整对应于集群的数据点的最小或最大数目的调谐参数。最小值和最大值可以是静态或动态的(例如,预定数目或基于优化过程而变化的数目;基于地理位置(例如,城市地区对农村地区)而变化的数目)。在一些情况下,数据处理系统120可以不将集群识别为位置集群,除非位置集群包括最小数目的数据点(例如,3、4、5或有助于生成有效集群的另一个值)。数据处理系统120还可以在生成第二集群之前为集群设置最大数目的数据点。可以基于静态值(例如,3、4、5、10、20或有助于生成有效集群的另一值)或动态(例如,基于地理位置)来设置最大数目。
因此,位置引擎的参数或调谐参数可以包括例如用于从计算设备接收位置ping的时间间隔、用于确定计算设备的位置的位置ping的时间间隔或频率、要使用的位置信息的源(例如,GPS、WIFI、蜂窝电话三角测量或信标)、一个或多个要使用的源的组合、集群距离阈值、集群时间阈值、形成集群的最小数据点数目或者形成集群的最达数据点数目。
数据处理系统120可以包括设计和构造为从存储在存储器中的位置数据库检索由数据处理系统的位置引擎进行的多个位置确定的桥接模块140。每个位置确定可以与相应的第一标识符相关联。第一标识符可以对应于由数据处理系统120或位置引擎135用于识别计算设备110的标识符。第一标识符可以被隐藏或对数据处理系统120是唯一的。不同的实体可以使用不同的标识符或不同类型的标识符识别计算设备110或交易。例如,数据处理系统120可以使用第一标识符来识别计算设备110和计算设备110在商户170A处的位置。然而,交易处理器160的第三方服务器160可以使用第三方标识符来识别与交易卡125相关联的交易。交易卡125的用户可以是与计算设备110相同的用户。在某些情况下,交易卡125的用户可以不同于计算设备110。数据处理系统120可以加密或以其他方式隐藏第一标识符。卡交易处理器160可以加密或以其他方式隐藏第三方标识符。数据处理系统120可以将具有对应的第一标识符的位置确定存储在第一数据集中;并且卡交易处理器160可以存储由与对应的第三方标识符的交易所做的位置确定。第三方服务器可以将第三方标识符映射到匿名第二标识符。这个匿名的第二标识符可以映射到由第三方服务器160或卡交易处理器使用的永久的第三方标识符。
桥接模块140可以确定数据处理系统120已知的第一标识符集合与第三方实体160已知的第二标识符集合之间的映射,这两个标识符都指的是或与关联于与第一标识符和第二标识符相关联的相同的计算设备110或用户。桥接模块140可以使用加密的位置和时间信息来建立在数据处理系统120和第三方160之间的直接桥接。通过跨越两个数据在多个场合在相同的地点和相同的时间观察计算设备110,数据处理系统120可以创建从第一标识符到第二标识符的映射函数。
第一标识符可以指由桥接模块140创建的第一桥接标识符。第一标识符可以指代对应于计算设备110的实际标识符的匿名标识符。桥接模块140可以通过加密与计算设备110相关联的实际标识符(例如,用户名、电话号码、屏幕名称、登录标识符或简档名称)来创建第一标识符。
第二标识符可以指由第三方服务器160或卡交易处理器创建的第二桥接标识符。第二标识符可以指与计算设备110或计算设备110的用户相关联的实际标识符对应的匿名标识符。第三方服务器160可以通过加密与计算设备110相关联的实际标识符(例如,账户标识符、用户名、电话号码、屏幕名称、登录标识符或简档名称)来创建第二标识符。第一标识符和第二标识符可以是不同的标识符,因为数据处理系统120和第三方服务器160可能使用不同的加密技术。
因此,数据处理系统120可以不具有关于卡交易处理器160如何识别与卡交易相关联的计算设备110或用户的信息。数据处理系统120、卡交易处理器160或其管理员可能不希望传输专有或机密信息。
例如,计算设备110可以访问经由数据处理系统120提供的在线资源或文档(例如,网页、内容项或广告)。数据处理系统120可以为计算设备110分配第一标识符。响应于计算设备110经由数据处理系统120访问资源或文档,数据处理系统120可以为计算设备110分配第一标识符。数据处理系统120可以加密或以其他方式隐藏计算设备的标识符以创建第一个标识符。第一标识符可以是对应于计算设备110的实际标识符的加密标识符。
计算设备110的用户可以在商户A处的销售点115处进行卡交易。卡交易处理器160可以确定与交易相关联的第三方标识符。卡交易处理器160可以生成使用匿名第二标识符来加密或以其他方式隐藏第三方标识符的第二标识符。第二标识符可以是对应于与卡交易或用户相关联的实际第三方标识符的加密标识符。
数据处理系统120可以使用盲加密技术来允许各方确定使用加密技术加密的它们相应的标识符(例如,第一标识符和第二标识符)之间的相关性。数据处理系统120和第三方服务器160(例如,具有一个或多个处理器的计算系统)可以加密包含计算设备交互的日志数据的接收到的标识符向量,并互换加密的标识符向量。在一些情况下,在互换用于商家位置的数据之前,数据处理系统120可以应用每商店隐私阈值。例如,数据处理系统120可以将数据集中的标识符或条目的数目与阈值(例如,100、500或1000)或在某个时间间隔(例如,24小时、48小时、72小时、1周、30天或60天)内的阈值进行比较,并且如果条目数目小于或等于阈值,则阻止互换。计算设备交互可以包括例如对来自服务器的在线内容的请求、对网站的访问以及计算设备标识符认证或计算设备和服务器之间的任何其他活动。使用互换和加密的标识符向量,桥接模块140或第三方服务器160可以使用映射函数来确定其他标识符中的哪些与其标识符相对应,并且为相应的标识符中的每个相应的标识符生成标识符密钥。
例如,数据处理系统120可以向第三方服务器160传输第一标识符向量。第一标识符向量可以包括一个或多个第一标识符(例如,使用加密技术加密的实际标识符或用户名)、第一参数集合和第二参数集合。一个或多个第一标识符可以对应于一个或多个计算设备110。第一标识符向量还可以包括第一标识符的加密和基于相应的第一参数和相应的第二参数的组合的密钥集合。第一标识符可以包括或对应于与特定计算设备相关联的设备标识符或与例如简档、地址或账户相关联的账户标识符。密钥可以基于相应的第一参数和相应的第二参数的组合。数据处理系统120可以使用应用于第一参数和第二参数的散列函数来生成密钥。第一参数和第二参数中的每一个可以是日志行条目的一部分,其指定例如对应的日志记录的计算设备交互的位置和时间。
数据处理系统120可以经由网络105将第一标识符向量传输到第三方服务器160。第三方服务器160可以使用加密算法来加密第一标识符向量。第三方服务器160可以将加密的第一标识符向量传输回数据处理系统120。数据处理系统120可以从第三方服务器160接收加密的第一标识符向量。
此外,数据处理系统120可以基于第三方服务器160的日志数据从第三方服务器接收第二标识符向量。第二标识符向量可以包括一个或多个第二标识符、第三参数集合、以及第四参数集合。一个或多个第二标识符可以对应于与一个或多个交易卡125对应的加密的第三方标识符或与由第三方服务器160收集或确定的地面真实数据相关联的其他标识符。第二标识符向量还可以包括第二标识符(例如,实际第三方标识符的加密)和基于相应的第三参数和相应的第四参数的组合的密钥集合。第三方服务器160使用的第二标识符可以与数据处理系统120所使用的第一标识符不同。由第三方服务器160应用的加密可以与由数据处理系统120应用的加密不同。由第三方服务器160应用的加密可以与由数据处理系统120应用的加密相同或相似。第三方服务器160或数据处理系统120可以隐藏所使用的加密类型。第三参数可以对应于与第一参数相同类型的日志信息。第四参数可以对应于与第三参数相同类型的日志信息。第三参数和第四参数中的每一个可以包括指定例如对应的日志记录的计算设备交互的位置和时间的日志行条目。位置和时间信息可以根据粒度或分辨率进行分段或量化。例如,时间可以四舍五入到最近的1分、30秒、10秒、5秒、1秒或1毫秒。该位置可以映射到具有诸如50米半径、100米半径、10米半径或5米半径的尺寸的瓦片或地理区域(例如,矩形、正方形或正方形)。
数据处理系统120可以对从第三方服务器160接收的第二标识符向量应用加密算法。数据处理系统120可以基于第一参数和第三参数之间以及第二参数和第四参数之间的匹配确定第一标识符向量与第二标识符向量之间的相关性或映射。例如,第一参数和第三参数包括关于用户交互的位置信息,第二参数和第四参数包括关于用户交互的时间信息。在该示例中,当数据处理系统处于定义的阈值距离和时间范围内时,数据处理系统120可以确定各参数之间存在匹配。然后,当这种匹配的数目高于定义的阈值时,数据处理系统120可以确定第一标识符和第二标识符彼此对应。使用该对应关系,数据处理系统120可以生成桥或匹配标识符密钥,并将密钥存储在数据存储库155中的映射数据结构235中。
仍然参考桥接模块140,数据处理系统120可以向第三方服务器160传输第一标识符向量。第一标识符向量可以包括与一个或多个计算设备110对应的一个或多个第一标识符、多个第一参数和多个第二参数。可以将第一标识符、多个第一参数和多个第二参数存储在一个或多个数据库155中并从其获得。第一标识符向量可以是例如索引元组、一个或多个多维数组、容器、链表、树或适于存储或以其他方式索引日志记录的用户交互的任何数据结构的形式,诸如第一标识符、多个第一参数和多个第二参数。第一标识符可以包括例如加密的账户标识符、加密的设备标识符、加密的电话号码或其组合或与计算设备110相关联的任何其他加密的标识符。第一标识符可以是例如除了其他之外的字母数字串、随机或伪随机生成的数字或字符串的形式。多个第一参数和多个第二参数各自可以编目或以其他方式索引化由一个或多个计算设备110经由网络105与数据处理系统120、内容提供者计算设备225或内容发布者计算设备215进行的交互的日志数据。一个或多个客户端设备125的交互的日志数据可以存储在一个或多个数据库155中并从一个或多个数据库155获得。多个第一参数可以包括相关联的记录交互的位置标识符。多个第二参数可以包括相关联的记录交互的时间戳。多个第一参数和多个第二参数可以包括用于编目或记录由一个或多个客户端设备125进行的交互的日志数据的其他参数或数据。在数学上表示,第一标识符向量可以是例如形式:
其中X是第一个标识符向量,IDX是第一个标识符,pn是第n个所记录的交互的第一参数,qn是第n个所记录的交互的第二参数。例如,第一参数可以是所记录的交互的位置标识符,第二参数可以是所记录的交互的时间戳。此外,具有设备标识符“x345q$”的计算设备110可以在2015年7月14日15:34:11从加利福尼亚州San Jose传输对网页的请求,然后在2015年7月15日在9:12:34从加利福尼亚州Folsom传输对另一个网页的另一个请求,数据处理系统120在一个或多个数据库155处记录两个请求。在该示例中,IDA会是“x345q$”,p1会是“San Jose,CA”,q1会是“2015年7月14日15:34:11”,p2会是“Folsom,CA”,而q2会是“2015年7月15日9:12:34”。
桥接模块140可以基于多个第一参数的相应值或多个第二参数的相应值,将多个第一参数和多个第二参数分类为多个第一类别。桥接模块140可以基于多个第一参数的第一量化,将多个第一参数和多个第二参数分类为多个第一类别。桥接模块140可以基于多个第二参数的第二量化来将多个第一参数和多个第二参数分类为多个第二类别。第一量化可以定义或以其他方式指定多个第一参数中的哪一个被分类为相应的第一类别。第二量化可以定义或以其他方式指定多个第二参数中的哪一个被分类为相应的第二类别。可以分别使用第一量化和第二量化来分配、分类或归类第一参数和第二参数到更通用的类别。桥接模块140可以生成多个第一类别值和多个第二类别值。多个第一类别中的每一个和多个第二类别中的每一个可以与类别值或索引(例如随机生成的字母数字值)相关联。从前面的示例中,如果第一量化是按城市并且第二量化是按日期,则桥接模块140可以基于相应类别的量化将在2015年7月14日15:34:11来自加利福尼亚州San Jose的对网页的请求归类在不同于2015年7月15日9:12:34的来自加利福尼亚州Folsom的其他网页的请求的类别中。此外,这些类别中的每一个可以被分配不同的随机字母数字值。以数学方式表示,第一标识符向量可以是例如以下形式:
其中X是第一个标识符向量,IDX是第一标识符,pn是第n个所记录的交互的第一参数,qn是第n个所记录的交互的第二参数,而<...>i表示基于第一参数值或第二参数值或其组合对第一参数pn和第二参数qn进行分类到的第i个相应类别值。数据处理系统120可以向第三方服务器160传输包括第一标识符和多个第一类别值或多个第二类别值的第一标识符向量。数据处理系统120可以传输包括第一标识符和多个第一类别或多个第二类别的第一标识符向量到第三方服务器160。
桥接模块140可以生成多个第一参数和多个第二参数的多个第一组合。可以例如基于多个第一参数的每一个和多个第二参数中的每一个的散列函数或密码函数来生成多个第一组合中的每个。以数学方式表示,使用位置标识符的散列函数作为第一参数,并且使用时间戳作为第二参数,第一标识符向量可以是例如以下形式:
其中X是第一个标识符向量,IDX是第一个标识符,ln是第n个所记录的交互的位置标识符,tn是第n个所记录的交互的时间戳,而<...>i表示基于位置标识符或时间戳对位置标识符ln和时间戳tn进行分类到的第i个相应类别值,并且h(·)是散列函数。数据处理系统120可以向第三方服务器160传输包括第一标识符和多个第一组合的第一标识符向量。
桥接模块140可以基于第一加密来加密第一标识符、多个第一参数和多个第二参数。桥接模块140可以加密第一标识符、多个第一参数和多个第一组合。在一些情况下,桥接模块140可以基于第一加密来调用第一加密模块145来加密第一标识符、多个第一参数和多个第二参数。桥接模块140可以将第一标识符、多个第一参数和多个第二参数提供或传输给第一加密模块145以进行加密。在一些情况下,桥接模块140可以启动或以其他方式使第一加密模块145基于第一加密来加密第一标识符、多个第一参数和多个第二参数。
数据处理系统120可以包括设计和构造为使用第一加密或一个或多个加密算法加密数据的第一加密模块140。例如,第一加密可以包括非对称加密算法、密码散列函数、指纹或可以是可交换的任何其他加密算法。第一加密模块145可以使用RSA密码系统技术,其中加密密钥对于每个计算设备可以是已知的,并且可以不同于可以被保密的解密密钥。在该示例中,不对称可以基于将两个大素数的乘积分解的困难度。以数学方式表示,使用位置标识符的散列函数作为第一参数和使用时间戳作为第二参数,基于第一加密来加密的第一标识符向量可以是例如以下形式:
其中是加密的第一标识符向量,X是第一个标识符向量,A是第一加密矩阵,IDX是第一个标识符,ln是第n个所记录的交互的位置标识符,tn是第n个所记录的交互的时间戳,<...>i表示位置标识符ln和时间戳tn被分类到的第i个相应类别值,并且h(·)是散列函数。在该示例中,使用第一加密矩阵A,第一加密模块145可以针对第一标识符和多个第一类别的相应类别值和多个第二类别的相应类别值中的每个或一些应用相同或不同的加密算法。在基于第一加密来加密第一标识符、多个第一参数和多个第二参数之后或响应于此,数据处理系统120可以将基于第一加密而加密的第一标识符向量传输到第三方服务器160。
数据处理系统120可以从第三方服务器160接收基于与第三方服务器160相关联的第三方加密而加密的第一标识符向量。第三方服务器160可以响应于从数据处理系统120接收到第一标识符向量而已经加密了第一标识符向量。例如,由第三方服务器160接收第一标识符向量可以引起或以其他方式触发第三方服务器160或与第三方服务器160相关联的一个或多个实体或设备以基于第三方加密对接收到的第一标识符向量进行加密。在向第三方服务器160传输第一标识符向量之后或同时,数据处理系统120还可向第三方服务器160传输加密第一标识符向量的请求。加密第一标识符向量的请求还可以引起或以其他方式触发第三方服务器160或与第三方服务器160相关联的一个或多个实体基于第三方加密来加密第一标识符向量。第三方加密的示例可以包括非对称加密算法、密码散列函数、指纹或可交换的任何其他加密算法。以数学方式表示,使用位置标识符的散列函数作为第一参数和使用时间戳作为第二参数,基于第三方加密进一步加密的第一标识符向量可以是例如以下形式:
其中是通过第一加密和第三方加密双重加密的第一标识符向量,是通过第一加密来加密的第一标识符向量,X是第一标识符向量,B是第三方加密矩阵,A是第一加密矩阵,IDX是第一标识符,ln是第n个所记录的交互的位置标识符,tn是第n个所记录的交互的时间戳,<...>i表示基于位置标识符或时间戳将位置标识符ln和时间戳tn分类到的第i个相应的类别值,并且h(·)是散列函数。
数据处理系统120可以从第三方服务器160接收基于与第三方服务器160相关联的第三方加密来加密的第二标识符向量。第二标识符向量可以包括第二标识符、多个第三参数和多个第四参数。可以将第二标识符、多个第三参数和多个第四参数存储在第三方服务器160中或与第三方服务器160相关联的一个或多个数据库中并且从其获得。多个第三参数和多个第一参数可以是第一种类型的参数。多个第四参数和多个第二参数可以是第二类型的参数。例如,如果多个第一参数和多个第二参数分别是位置标识符和时间戳,它们每一个标识由一个或多个数据库155记录的交互的位置和时间,则多个第三参数和多个第四参数也可以分别是由第三方服务器160所记录的交互的位置标识符和时间戳。第二标识符向量可以是例如索引元组、一维或多维数组、容器、链表、树或适于存储或以其他方式索引所日志记录的用户交互的任何数据结构的形式,诸如第二标识符、多个第三参数和多个第四参数。第二标识符可以包括例如账户标识符、用户名、卡标识符、设备标识符、电话号码或其组合或者用于标识特定用户或计算设备110的任何其他标识符。在某些情况下,第二标识符可以包括例如加密的账户标识符、加密的用户名、加密的卡标识符、加密的设备标识符、加密的电话号码或其组合或任何其他标识符,该用于标识特定用户或计算设备110的任何其他标识符。多个第三参数和多个第四参数每个可以编目或以其他方式索引一个或多个计算设备110经由网络105与第三方服务器160、内容提供者计算设备225或内容发布者计算设备215的交互的日志数据。一个或多个计算设备110的交互的日志数据可以存储在在第三方服务器160处或与其相关联的一个或多个数据库中并从其获得。多个第三参数可以包括相关联的所记录交互的位置标识符。多个第四参数可以包括相关联的交互的时间戳。多个第三参数和多个第四参数可以包括用于编目或记录由一个或多个计算设备110进行的交互的日志数据的其他参数或数据。
数据处理系统120可以向第三方服务器160传输对第二标识符向量的请求。接收向第三方服务器160的对第二标识符向量的请求可以导致或以其他方式触发第三方服务器160加密第二标识符向量,并将加密的第二标识符向量传输到数据处理系统120。由第三方服务器160接收第一标识符向量还可以引起或以其他方式触发第三方服务器160加密第二标识符向量,并传输加密的第二标识符向量到数据处理系统120。数据处理系统120还可以在向第三方服务器160传输对第二标识符向量或第一标识符向量的请求之前,从第三方服务器160接收基于与第三方服务器160相关联的第三方加密而加密的第二标识符向量。第三方加密的示例可以包括非对称加密算法、密码散列函数、指纹或可以交换的任何其他加密算法。以数学方式表示,基于第三方加密来加密的第二标识符向量可以是以下形式:
其中是加密的第二标识符向量,Y是第二标识符向量,B是第三方加密矩阵,IDY是第二标识符,rm是第m个所记录的交互的第三参数,sm是第m个所记录的交互的第四参数。使用第三方加密矩阵B,可以将不同的加密算法应用于第二标识符、多个第三参数以及多个第四参数中的每一个或一些。例如,第三参数可以是所记录的交互的位置标识符,第四参数可以是所记录的交互的时间戳。此外,与账户标识符“cr3a1q@example_mail.com”相关联的一个或多个计算设备110可以在2015年7月15日在时间8:50:02从位于加利福尼亚州San Jose的实体商店(例如,商家170A)进行购买,然后在2015年7月15日在9:19:59从加利福尼亚州Folsom在用户计算设备110上从网页进行另一采购订单,两个采购订单被记录在第三方服务器160处的一个或多个数据库处。在这个例子中,IDY可以是“cr3a1q@example_mail.com”,r1会是“加利福尼亚州San Jose”,s1会是“2015年7月15日8:50:02”,r2会是“加利福尼亚州Folsom”,并且s2是“2015年7月15日9:19:59”。
数据处理系统120可以从第三方服务器160接收包括第二标识符和多个第三类别值或多个第四类别值的第二标识符向量。多个第三类别值或多个第四类别值可以基于多个第三类别和多个第四类别。可以基于多个第三参数的相应值或多个第四参数的相应值或者其组合,将多个第三参数和多个第四参数分配、分类或以其他方式归类为多个第三类别。基于多个第三参数的第三量化,可以将多个第三参数和多个第四参数分配、分类或以其他方式归类为多个第三类别。基于多个第四参数的第四量化,可以将多个第三参数和多个第四参数分配、分类或以其他方式归类为多个第四类别。第三量化可以定义或以其他方式指定多个第三参数中的哪一个被分类为相应的第三类别。第四量化可以定义或以其他方式指定多个第四参数中的哪一个被分类为相应的第四类别。多个第三类别中的每一个和多个第四类别中的每一个可以与诸如随机生成的字母数字值的类别值或索引相关联。使用前面的例子,如果第四个量化指定了在7月15日12:00:00之前下的所有采购订单都被分类到单个类别,则2015年7月15日8:50:02下的采购订单和2015年7月15日9:19:59下的采购订单可以分类到同一类别并与同一类别索引相关联。以数学方式表示,位置标识符作为第三参数,时间戳作为第四参数,第二标识符向量可以是例如以下形式:
其中是加密的第二标识符向量,Y是第二标识符向量,B是第三方加密矩阵,IDY是第二标识符,rm是第m个所记录的交互的第三参数,sm是用于第m个所记录的交互的第四参数,并且<...>j表示第三参数rm和第四参数sm根据第三参数或第四参数的值或其组合被分类到的第j个相应类别值。
数据处理系统120可以从第三方服务器160接收包括第二标识符和多个第三参数和多个第四参数的多个第二组合的第二标识符向量。多个第二组合中的每个可以例如基于多个第一参数的每一个和多个第二参数中的每一个的散列函数或密码函数来生成。以数学方式表示,使用位置标识符的散列函数作为第三参数,并且使用时间戳作为第四参数,第二标识符向量可以是例如以下形式:
其中是加密的第二标识符向量,Y是第二标识符向量,IDY是第二标识符,B是第三方加密矩阵,λm是第m个所记录的交互的位置标识符,τm是第m个所记录的交互的时间戳,<...>j表示基于位置标识符或时间戳或其组合对第三参数λm和时间戳τm进行分类到的第j个相应类别值,并且χ(·)是散列函数。由第三方服务器160应用的散列函数χ(·)可以与由加密模块140应用的散列函数h(·)相同或不同。数据处理系统120可以从第三方服务器160接收包括第二标识符和多个第二组合的第二标识符向量。
响应于从第三方服务器160接收到第二标识符向量,第一加密模块145可以基于第一加密来加密第二标识符向量。第一加密模块145可以基于第一加密而加密第二标识符、多个第三参数以及多个第四参数。第一加密模块145可以基于与第一加密模块145用于加密第一标识符、多个第一参数和多个第二参数的相同的加密技术来加密第二标识符、多个第三参数和多个第四参数。以数学方式表示,使用位置标识符的散列函数作为第三参数,并且使用时间戳作为第四参数,基于第一加密进一步加密的第二标识符向量可以是以下形式:
其中是通过第一加密和第三方加密双重加密的第二标识符向量,是通过第一加密来加密的第二标识符向量,Y是第二标识符向量,B是第三方加密矩阵,A是第一加密矩阵,IDY是第二标识符,λm是第m个所记录的交互的位置标识符,τm是第m个所记录的交互的时间戳,<...>j表示第三参数λm和时间戳τm根据位置标识符或时间戳或其组合被分类到的第j个相应的类别值,χ(·)是散列函数。
桥接模块140可以基于在多个第一参数中的一些与多个第三参数中的一些之间以及在多个第二参数中的一些和多个第四参数的一些之间的匹配来确定在第一标识符向量和第二标识符向量之间的相关计数。桥接模块140可以基于多个第一类别和多个第二类别对多个第三类别和多个第四类别之间的匹配来确定多个类别的相应类别的相关计数。匹配可以指示在多个第一参数中的一些和多个第三参数中的一些之间以及在多个第二参数中的一些与多个第四参数中的一些之间的身份、相似性、相关性或其他对应关系。例如,第一标识符向量可以包括作为第一参数的位置参数和作为第二参数的时间戳,其被分类为在2015年7月15日在14:00:00至16:00:00之间从加利福尼亚州圣荷西发生的网站请求的类别。此外,第二标识符向量可以包括作为第三参数的位置参数和作为第四参数的时间戳,其被分类为2015年7月15日在14:00:00至16:00:00之间从加利福尼亚州圣荷西发生的采购订单的类别。在该示例中,基于相同的第一加密和相同的第三方加密,第一标识符向量和第二标识符向量都可以已经被双重加密。由于第一加密和第三方加密都是可交换的,因此桥接模块140可以基于来自所述类别的密码的相同的匹配来确定在加密的第一参数和加密的第三参数之间以及在加密的第二参数和加密的第四参数之间存在匹配。响应于确定在多个加密的第一参数和多个加密的第三参数之间以及在多个加密的第二参数与多个加密的第四参数之间存在匹配,桥接模块140可以递增相关计数。
桥接模块140可以基于多个第一参数中的一些在多个第三参数的第一余量(margin)内并且多个第二参数中的一些位于多个第四参数的第二余量内确定相关计数。桥接模块140可以基于多个第一类别值中的一些在多个第三类别值的类别余量内并且多个第二类别值中的一些位于多个第四参数的第二余量内确定相关计数。桥接模块140可以基于多个第一参数中的一些在多个第三参数中的一些的阈值距离内,并且多个第二参数中的一些具有时间窗口来确定相关计数。例如,第一标识符向量可以包括作为第一参数的位置参数和作为第二参数的时间戳,其被分类为在2015年7月15日的14:00:00至16:00:00之间从邮政编码95630发生的网站请求的类别。此外,第二标识符向量可以包括作为第三参数的位置参数和作为第四参数的时间戳,其被分类为在2015年7月15日16:00:00至18:00:00之间从邮政编码95763发生的采购订单的类别。可以通过第一加密和第三方加密对第一标识符向量和第二标识符向量的相应类别索引进行双重加密。在该示例中,阈值距离可以被指定为相邻邮政编码,并且时间戳可以被指定为连续的时间帧。桥接模块140可以访问来自一个或多个数据库155的邮政编码列表,并确定邮政编码95630和邮政编码95763彼此相邻。桥接模块140可以确定时间帧14:00:00至16:00:00与16:00:00至18:00:00相邻。响应于这些确定,映射模块135可以确定在第一参数和第三参数以及第二参数和第四参数之间存在匹配,并且增加相应类别的相关计数。
桥接模块140可以基于第一标识符向量和第二标识符向量之间的相关计数高于确定的阈值来确定第一标识符对应于第二标识符。除了其他之外,确定的阈值可以基于整数、分数或百分比等。除了其他之外,确定阈值也可以是恒定的、变化的或随机生成的。桥接模块140可以基于多个第一参数、多个第二参数、多个第三参数和多个第四参数的长度来确定所确定的阈值。例如,多个第一参数和多个第二参数的长度各为15000。此外,多个第三参数和多个第四参数的长度可以各是3000。在该示例中,桥接模块140可以计算多个第一参数和多个第二参数的长度对多个第三参数和多个第四参数的长度之间的比率。桥接模块140然后可以基于长度之间的比率的分数乘法因子来确定相关计数的所确定的阈值。在该示例中,桥接模块140然后可以基于相关计数高于所确定的阈值来确定第一标识符(例如,“x345q$”)对应于第二标识符(例如,“cr3a1q@example_mail.com”)。
响应于确定第一标识符对应于第二标识符,桥接模块140可以为第一标识符和第二标识符二者生成一个标识符密钥。该一个标识符密钥可以是例如字母数字串、随机生成的数字或字符串等的形式。该一个标识符密钥可以包括存储在数据处理系统120的数据库存储库155中的第一标识符。例如,如果第一标识符是诸如电子邮件地址的账户标识符,则桥接模块140可以将电子邮件地址设置为所述一个标识符密钥。该标识符密钥可以存储在数据存储库155的映射数据结构235中。
因此,桥接模块140可以基于标识符密钥使用映射函数将第一标识符映射到第二标识符。数据处理系统120可以在数据库155中存储某个第三方服务器160或卡交易处理器的映射功能和标识符密钥。桥接模块140可以选择对应的卡交易处理器160的映射功能和标识符密钥,然后将第一标识符映射到由卡交易处理器160使用的第二标识符。
桥接模块140可以使用映射功能将由数据处理系统120使用的第一标识符映射到由卡交易处理器160使用的第二标识符。桥接模块140可以创建具有位置引擎135所做的位置确定的数据结构,其包括如表1所示的第二个标识符:
第一标识符 第二标识符 位置 时间戳
123 ABC Location_A Time_1
456 DEF Location_B Time_2
表1:具有映射到第二标识符的第一标识符的说明性位置确定
如表1所示,位置引擎135进行位置确定并将位置确定与第一标识符相关联。位置确定可以包括位置(例如,Location_A)和时间戳(例如,Time_1)。位置可以是分段或量化的位置。时间戳可以是分段或量化的时间戳。桥接模块140可以使用映射函数将第一标识符映射到第二标识符。桥接模块140可以创建或在数据存储库155中存储映射到第二标识符的位置确定。在一些情况下,桥接模块140更新位置数据结构以包括第二标识符。在一些情况下,桥接模块140用第二标识符替换第一标识符。
第一加密模块145可以检索具有映射的第二标识符的一个或多个位置确定。第一加密模块145可以通过基于位置执行查找来检索位置确定。例如,第一加密模块145可以在数据存储库155中执行对对应于商户170A的所有位置确定的查找,所述位置确定具有对应于最近30天的时间戳或者在2015年11月1日至2015年12月31日之间的时间戳。在另一示例中,第一加密模块145可以在数据存储库155中执行对所有位置确定的查找,该所有位置确定具有对应于最近30天或2015年11月1日至2015年12月31日之间的时间戳的商户170A-N。
第一加密模块145可以使用应用于由第二标识符和每个位置确定的时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值。在一些情况下,第一加密模块145可以使用应用于由第二标识符、时间戳和每个位置确定的位置形成的元组的第一散列函数来确定每个位置确定的第一散列值。第一加密模块145可以将第一散列函数应用于一个或多个字段,以便生成单个散列值。在一些情况下,第一加密模块145可以使用第一加密协议来加密用于每个位置确定的第一散列值,以生成第一加密数据集。
表2:包括为每个位置确定生成的散列值的示例数据结构
表2图示了第一加密模块145,其使用由第二标识符、时间戳或位置形成的元组来生成每个位置确定的散列值。然后,第一加密模块145可以加密散列值以形成如表3所示的加密数据集。
表3:包含加密散列值的示例数据结构
表3图示了第一加密模块145,其使用第一加密协议(例如,G(x))来加密散列值,以生成加密散列值。第一加密协议可以包括可交换加密协议。第一加密模块145可以形成具有在表3的第二列中示出的加密散列值的第一加密数据集。
第一加密模块145可以存储或传输第一加密数据集。第一加密模块145可以将第一加密数据集存储在数据储存库155中以供稍后处理或使用。数据处理系统120可以经由网络105传输第一加密数据集。例如,数据处理系统120可以包括设计和构造为经由计算机网络105将第一加密数据集传输到第三方服务器160的通信接口130。第三方服务器160可能已经处理了经由在商家处的一个或多个销售点设备进行的电子交易,或者第三方服务器160可以以其他方式与处理经由销售点设备进行的电子交易的卡处理器相关联。
通信接口130可以包括一个或多个通信端口、网络端口、网络接口或网卡,其被配置为与网络105和内容提供者225、内容发布者215、计算设备110或第三方服务器160中的一个或多个进行通信。通信接口130可以经由网络105与第三方服务器160建立安全通信信道。通信接口130可以建立安全的TCP/IP通信信道。通信接口130可以使用认证证书建立安全通信信道。通信接口130可以向第三方服务器推送、传输或以其他方式提供第一加密数据集。在一些情况下,数据处理系统120(例如,经由通信接口130)可以指示第三方服务器160从数据存储库155拉取第一加密数据集。
第三方服务器160可以创建第二加密数据集。第三方服务器160(例如,经由第二加密模块165)可以创建第二加密数据集。第二加密数据集可以包括与由数据处理系统120创建的第一加密数据集类似的一个或多个字段。例如,第三方服务器160可以从第三方服务器160的数据库检索关于由第三方服务器160或与第三方服务器160相关联的服务器处理的电子交易的信息。电子交易可以存储在如表4所示的数据记录中。每个数据记录可以具有第二标识符、位置或时间戳。第三方服务器160可以通过将第二散列函数应用于包括第二标识符、位置和时间戳的元组来创建散列值。第二散列函数可以与由数据处理系统120用于生成包括在第一加密数据集中的散列值所使用的第一散列函数相同。第三方服务器160可以通过使用第二加密协议(例如,T(x))加密散列值来创建第二加密数据集。第二加密协议可以不同于第一加密协议。第二加密协议可以是可交换的。因此,由数据处理系统120和第三方服务器160用于生成散列值的散列函数可以是一致的,而数据处理系统120和第三方服务器160对散列值施加的加密协议可以不同。
表4:由第三方服务器维护的示例数据记录
表4图示了由第三方服务器160维护或管理的电子交易数据记录。电子交易记录包括第二标识符字段、位置字段和时间戳字段。第三方服务器160可以从每个记录的这些字段的值生成散列值,如列所示。第三方服务器160可以使用相同或不同的散列函数来生成散列值。然后,第三方服务器160可以通过使用第二加密协议加密第四列中的散列值来生成第二加密数据集。在表4的第5列中示出加密的散列值。第三方服务器160可以从列5中所图示的加密散列值创建第二加密数据集。
通信接口130可以从第三方服务器160接收包括由第二加密模块为电子交易生成的第二散列值的第二加密数据集。通信接口130可以向第一加密模块145转发或以其他方式提供第二加密数据集。第一加密模块145可以加密第二加密数据集以创建或生成第一双加密数据集。双重加密可以指已经由两个不同方(例如第三方服务器160和数据处理系统120)加密的数据集。第一加密模块145可以使用也用于加密第一加密数据集的第一加密协议(例如G(x))来加密第二加密数据集。因此,第一加密数据集可以是:第一双加密数据集=G(second encrypted data set(第二加密数据集))=G(T(hash_value))=G(T(h(second_identifier,location(位置),timestamp(时间戳))))。
第三方服务器160(例如,经由第二加密模块165)也可以创建双加密数据集。例如,第三方服务器160可以使用第二加密协议(例如,T(x))来加密从数据处理系统120接收的第一加密数据集,以生成如下的第二双加密数据集:第二双加密数据集=T(first encrypteddata set)=T(G(Hash_value))=T(G(h(second_identifier,location,timestamp)))。第三方服务器160可以向数据处理系统120提供第二双加密数据集。
数据处理系统120(例如,经由通信接口130)可以经由网络105从第三方服务器160接收第二双加密数据集。数据处理系统120可以将第二双加密数据集存储在数据储存库155中用于进一步处理。表5图示了第一双加密数据集和第二双加密数据集。
表5:示例第一个双加密数据集和第二个双加密数据集
数据处理系统120可以包括设计来处理、分析或比较第一双加密数据集与第二双加密数据集的调谐器150。调谐器160可以处理第一双加密数据集和第二双加密数据集以确定一个或多个度量,诸如查准率度量和查全率度量。调谐器160可以基于正确位置确定的总数、位置确定的总数和实际位置事件的总数来确定度量。使用度量,调谐器可以基于查准率度量或查全率度量中的至少一个来调整位置引擎的调谐参数。
调谐器150可以确定由位置引擎135进行的正确位置确定的总数。由于第一双加密数据集和第二双加密数据集都被相同的两个可交换加密协议(例如,G(x)和T(x)或第一加密协议和第二加密协议)加密,所以如果第一加密数据集和第二加密数据集中的条目对应于通过将散列函数应用于第二标识符和时间戳(或第二标识符,时间戳和位置)而生成的相同散列值,则它们可以彼此匹配。因此,调谐器160可以确定与第二双加密数据集中的条目匹配的第一双加密数据集中的条目数目。调谐器150可以确定匹配条目(例如,查准率或相同的匹配)以指示正确的位置确定。
如表5所示,第一双加密数据集中的第一记录与第二双加密数据集中的第一记录匹配(例如,AA1=AA1)。调谐器150可以响应于记录匹配来确定该条目对应于正确的位置确定。调谐器150还可以确定第二记录不匹配(例如,DC2与DB2不匹配)。调谐器150可以响应于记录不匹配来确定第二记录是不正确的位置。调谐器150可以确定第二双加密数据集中的正确位置确定的总数为1。
调谐器150可以通过确定第二双加密数据集中的条目数目(例如,size(seconddouble encrypted data set))来确定位置引擎135对该数据集进行的位置确定的总数。条目的数目可以对应于在一段时间间隔期间针对某位置进行的位置确定的数目。例如,位置确定的数目可以是2。
调谐器150可以使用地面真实数据来确定某位置处的实际位置事件的总数。由于第一双加密数据集对应于从由第三方服务器处理的电子交易生成的散列值,因此可将第一双加密数据集(或第二加密数据集)称为地面真实数据。调谐器150可以通过确定第一双加密数据集的大小来确定实际位置事件的数目。例如,实际事件的数目可以是2。
在确定正确的位置确定的数目、总位置确定的数目和实际位置事件的数目时,调谐器150可以如下确定一个或多个度量,诸如查准率度量和查全率度量:
查准率=正确位置确定的数目/总位置确定数。
查全率=正确位置确定的数目/总实际位置事件的数目。
例如,第一个加密数据集的查准率度量可以是=1/2=50%;并且查全率度量可以是:1/2=50%。如果由第三方服务器160观察或记录的实际位置事件的数目增加(例如10),但是正确的位置确定的数目表示相同,则查准率度量可以保持相同(例如,1/2),而查全率度量可以降至1/10=10%。在另一示例中,如果位置确定的数目增加(例如,5),而正确的位置确定的数目保持不变,则查全率度量可以保持相同(例如,1/2),而查准率度量可以减小到1/5=20%。
在一些实施方式中,查准率度量可以被确定为:查准率=正确位置确定的数目/(总位置确定的数目*电子交易率)。电子交易率可以指示对导致电子交易的商家的访问次数。数据处理系统120可以从第三方服务器160接收电子交易率。数据处理系统120可以经由网络105访问数据库以检索电子交易率。第三方服务器160可以通过将在某个时间间隔期间在商家中发生的电子交易的数目除以在该时间间隔期间对商家的访问次数来确定电子交易率。在一些情况下,商家可以向第三方服务器160提供对商家的访问次数或电子交易的数目。
调谐器150可以基于查准率度量、查全率度量或二者来调整参数。调谐器160可以调整参数以改善位置引擎135的性能、查准率或查全率。调谐器150可以通过允许内容选择器使用在线内容项拍卖中的查准率或查全率度量选择要在计算设备110上显示的内容项来调整内容选择器的参数。例如,内容提供者225可以建立具有基于位置的内容项的内容项活动,并指令数据处理系统120选择内容活动的内容项以在与地理位置相关联的计算设备上显示,对于该地理位置而言,位置引擎135可以以大于查准率阈值的查准率度量(或大于查全率阈值的查全率度量)来确定正确位置。
调谐器150可以调整位置引擎135的调谐参数,诸如用于从计算设备接收位置ping的时间间隔、用于确定计算设备的位置的位置ping的时间间隔或频率、要使用的位置信息的源(例如,GPS、WIFI、蜂窝电话三角测量或信标)、要使用的一个或多个源的组合、集群距离阈值、集群时间阈值,形成集群的最小数据点数目或形成集群的最大数据数点数目。
例如,数据处理系统120可以调整调谐参数以提高查准率或查全率度量。数据处理系统120可以调整调谐参数以降低计算设备110的资源消耗(例如,电池消耗、处理器利用率、存储使用或网络数据使用)。数据处理系统120可以调整调谐参数以降低数据处理系统120的资源消耗(例如,降低处理器利用率、存储消耗或网络数据使用)。
例如,调谐器150可以确定查准率度量高于查准率阈值(例如,50%、60%、70%、90%或95%),或者查全率度量高于查全率阈值(例如,50%、60%、70%、90%或95%)。调谐器150可以确定由于度量高于阈值,所以数据处理系统120可以降低从计算设备110接收到的位置ping的频率,同时仍然达到令人满意的查准率和查全率度量。调谐器150可以确定由于度量高于阈值,所以数据处理系统120可以降低存储在数据储存库155中的位置条目的数目,同时仍然达到令人满意的查准率和查全率度量。调谐器150可以确定由于度量高于阈值,所以数据处理系统120可以降低用于确定位置或者从计算设备110接收的位置信息(例如,GPS、WIFI、蜂窝电话三角测量或信标)的源的数目,同时仍然获得令人满意的查准率和查全率度量。调谐器160还可以调整集群阈值以使得集群处理技术更有效(例如,需要更多的数据点来创建集群以便过滤较小的集群)。
调谐器150可以确定查准率度量低于查准率阈值(例如,30%、40%、50%、60%、70%、90%或95%)或者查全率度量低于查全率阈值(例如,30%、40%、50%、60%、70%、90%或95%)。响应于确定度量低于阈值,调谐器150可以调整调谐参数以改善位置引擎135的性能。例如,如果查准率度量低于阈值,则调谐器150可以确定位置引擎135正在做出不令人满意的数目的不正确的位置确定。由于查准率度量是正确位置确定的数目除以位置确定的总数,因此调谐器150可以调整参数以便于增加正确确定的数目,降低所做出的位置确定的数目或两者。
例如,调谐器150可以增加集群时间阈值、集群距离阈值或用于形成集群的最小数目的数据点,以便降低由位置引擎进行的位置确定的总数。调谐器150可以迭代地增加或整阈值。例如,调谐器150可以调整一参数,收集附加数据以确定更新的度量,然后如果更新的度量不令人满意,则重新调整参数或调整新参数(例如,查准率度量仍然低于查准率阈值)。增加集群时间阈值可以减少由位置引擎135生成的有效集群的数目,从而降低所做出的位置确定的数目,并且增加查准率度量。
在一些情况下,调谐器150可以调整调谐参数以增加正确位置确定的数目。例如,调谐器150可以调整对应于位置引擎135使用来进行位置确定的位置源的数目或类型的调谐参数。调谐器150可以指令位置引擎135使用至少两个位置源(例如,3或4)进行位置确定。调谐器150可以指令位置引擎135使用某些类型的位置源来进行位置确定,诸如GPS、WiFi三角测量、蜂窝塔三角测量、信标技术或IP地址中的一个或多个。例如,调谐器150可以指令位置引擎135使用至少两个位置源,其中两个位置源中的一个包括蜂窝塔三角测量。
调谐器150可以确定查全率度量小于阈值。响应于查全率度量小于阈值,调谐器150可以增加由位置引擎使用以进行多个位置确定的位置ping的频率。通过增加位置引擎使用的位置ping的频率,调谐器150可以增加正确的位置确定的数目,因为位置引擎135可以访问更高质量的数据点或增加的数目的数据点。
在一些情况下,调谐器可以减小由位置引擎使用以进行多个位置确定的集群距离阈值,以便增加查全率度量。通过降低集群距离,位置引擎135可以生成更大数目的位置集群。生成更多的位置集群可以对应于正确位置集群的数目的增加。例如,第一位置集群可以对应于商家A,并且第二位置集群可以对应于位于商家A的附近或邻近的商家B。通过降低集群距离阈值,位置引擎135可以区分两个商家,从而提高由位置引擎13进行的正确位置确定的数目。
图3是描绘根据说明性实施方式的匹配不同数据集之间的标识符的示例方法300的流程图。可以执行方法300将第一标识符桥接或映射到第二标识符。可以执行方法300以确定用于将第一标识符映射到第二标识符的映射函数或密钥。第一标识符可以对应于由数据处理系统生成的标识符,第二标识符可以对应于由第三方服务器生成的标识符。本文中关于方法300描述的功能可以由系统100、系统200、数据处理系统120或图1、2或5中所示的任何其他模块或组件执行或以其他方式实施。方法300可以按照范围从每几秒或几分钟一次到每预定天数一次的各种时间间隔执行或实施。方法300可以在满足条件(例如由数据处理系统120确定或接收的条件,诸如累积预定数目的多个第一参数和多个第二参数)时执行或实施。可以响应于来自数据处理系统120的请求来执行方法300。
在框305,数据处理系统可以向第三方服务器传输第一标识符向量。例如,数据处理系统可以经由网络向第三方服务器传输第一标识符向量。数据处理系统可以传输基于第一加密而加密的第一标识符向量。第一标识符向量可以包括第一标识符、多个第一参数和多个第二参数。多个第一参数中的每一个和多个第二参数中的每一个可以包括网络活动的日志数据或与由第一标识符相关联的一个或多个计算设备与数据处理系统的交互。
在框310,数据处理系统可以接收由第三方服务器加密的第一标识符向量。例如,数据处理系统可以经由网络接收由第三方服务器加密的第一标识符向量。应用于第一标识符向量的加密技术可以是与第三方服务器相关联的第三方加密。
在框315,数据处理系统可以接收由第三方服务器加密的第二标识符向量。例如,数据处理系统可以经由网络从第三方服务器接收第二标识符向量。第二标识符向量可以包括第二标识符、多个第三参数和多个第四参数。多个第三参数中的每一个和多个第四参数中的每一个可以包括网络活动的日志数据或与第二标识符相关联的一个或多个计算设备与第三方服务器的交互。应用于第二标识符向量的加密技术可以是与第三方服务器相关联的第三方加密。
在框320,数据处理系统可以确定第一标识符向量和第二标识符向量之间的相关计数。例如,数据处理系统可以基于确定多个第一参数中的一些和多个第三参数中的一些之间以及在多个第二参数中的一些和多个第四参数中的一些之间是否存在匹配来确定在第一标识符向量与第二标识符向量之间的相关计数。例如,当多个第一参数中的一个在多个第二参数之一的第一余量之内时,并且当多个第三参数中的一个在多个第四参数之一的第二余量内时,数据处理系统可以确定相应参数之间存在匹配。
在框325,数据处理系统可以基于相关计数来确定第一标识符与第二标识符相对应。例如,数据处理系统可以基于相关计数高于确定的阈值来确定第一标识符对应于第二标识符。数据处理系统可以基于多个第一参数、多个第二参数、多个第三参数和多个第四参数的长度来确定阈值。
在框330,数据处理系统可以为第一标识符和第二标识符生成一个标识符密钥。例如,响应于确定第一标识符对应于第二标识符,数据处理系统可以为第一标识符和第二标识符两者生成一个标识符密钥。数据处理系统可以将第一标识符设置为一个标识符密钥。
图4是描绘根据实施方式的经由网络密码地保护位置数据以调谐位置引擎的方法的流程图。方法400可以经由图1、图2或图5所图示的一个或多个系统、组件或接口(包括例如数据处理系统、通信接口、位置引擎、桥接模块、第一加密模块、调谐器或数据存储库)来执行。简而言之,并且在一些实施方式中,方法400包括数据处理系统在410检索每个与第一标识符相关联的位置确定,并且使用映射函数将第一标识符映射到第二标识符。在415,数据处理系统确定每个位置确定的第一散列值。在420,数据处理系统加密第一散列值以生成第一加密数据集,并将第一加密数据集传输到第三方服务器。在425,数据处理系统从第三方服务器接收包括由第三方服务器生成的第二散列值的第二加密数据集。在430,数据处理系统加密第二加密数据集以生成第一双加密数据集。在435,数据处理系统从第三方服务器接收第二双加密数据集。在440,数据处理系统将第一双加密数据集与第二双加密数据集比较以确定度量。数据处理系统可以使用度量来促进内容选择或提高位置引擎的性能。
仍然参考图4,并且更详细地,方法400包括数据处理系统在410处检索每个与第一标识符相关联的位置确定并使用映射函数将第一标识符映射到第二标识符。例如,数据处理系统的桥接模块可以从存储在存储器中的位置数据库检索由数据处理系统的位置引擎进行的位置确定。每个位置确定可以与相应的第一标识符相关联。该位置可以对应于诸如零售商店、餐馆、服务提供者或其他实体的商家处的计算设备的位置。数据处理系统可以在某个时间间隔期间使用从一个或多个计算设备接收的位置信息来确定位置。
数据处理系统可以在数据库中执行查找以检索满足准则的位置确定。例如,数据处理系统可以在数据库中执行查找以检索对应于某个商家、地理区域、城市、州或邮政编码的位置确定。数据处理系统可以执行查找以检索在某个时间间隔内或在第一日期或时间戳和第二日期或时间戳之间发生的位置确定。
例如,数据处理系统可以接收由计算设备(例如,便携式计算设备)的传感器确定的地理坐标。数据处理系统可以从便携式设备的网络接口接收地理坐标,诸如被配置为通过网络105进行通信的通信接口。数据处理系统可以基于地理坐标来确定便携式设备的位置。数据处理系统可以将便携式设备的位置存储在位置数据库中以供将来处理。
在一些情况下,数据处理系统可以接收使用多个位置源确定的便携式设备的位置信息。例如,数据处理系统可以经由便携式设备的全球定位传感器、便携式设备的无线网络接口、蜂窝电话塔三角测量或信标中的至少两个来接收由便携式设备确定的位置信息。在一些情况下,便携式设备可以分析和合成由两个或更多个源确定的位置信息,并向数据处理系统提供位置确定。在一些情况下,数据处理系统可以指令便携式设备使用某数目的可用位置源或某种类型的位置源。
在一些情况下,便携式设备可以提供由每个源确定的单独的位置信息,并且数据处理系统可以分析位置信息以进行位置确定。位置引擎可以基于来自源中的每个源的位置信息来确定便携式设备的位置。例如,数据处理系统的位置引擎可以比较从多个源接收到的位置数据点并对位置数据点进行加权以确定中心位置。例如,位置引擎可以确定将GPS数据点加权至低于信标或蜂窝电话塔三角测量数据点。通过将GPS数据点加权得较低,数据处理系统可以使蜂窝电话塔三角测量数据点驱动位置确定。
数据处理系统(例如经由桥接模块)可以使用映射函数将每个相应的第一标识符映射到相应的第二标识符。例如,数据处理系统可以使用映射函数将第一标识符映射到第二标识符。第二标识符可以对应于第三方服务器使用并且也为数据处理系统已知的公共标识符。数据处理系统可以使用映射函数或桥接技术将第一标识符变换、转换或以其他方式映射到第二标识符。
在415,数据处理系统确定每个位置确定的第一散列值。数据处理系统(例如,经由第一加密模块)可以使用应用于由第二标识符和每个位置确定的时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值。在一些情况下,数据处理系统可以使用应用于由第二标识符、时间戳和每个位置确定的位置形成的元组的第一散列函数来确定每个位置确定的第一散列值。时间戳或位置可以被分段或量化。例如,时间戳可以被分段或舍入到最接近的10秒、30秒、60秒或2分钟。位置可以被分段或舍入到纬度和经度精度、地址、地图瓦片、地图象限、半径、25平方米、50平方米、或100平方米。在确定每个位置确定的散列值之前,数据处理系统可以对每个位置确定的时间戳应用预定的量化。
在420,数据处理系统加密第一散列值以生成第一加密数据集,并将第一加密数据集传输到第三方服务器。数据处理系统(例如,第一加密模块)可以使用第一加密协议来加密用于每个位置确定的第一散列值,以生成第一加密数据集。数据处理系统可以将相同的加密协议应用于每个散列值,或者将不同的加密协议应用于某些散列值。
数据处理系统(例如,通信接口)可以将第一加密数据集传输到第三方服务器。例如,第三方服务器可以包括或关联于一个或多个服务器,该服务器处理通过商户处的一个或多个销售点设备进行的电子交易。第三方服务器可以提供数据处理系统可以用来确定性能指标的地面真实数据。
在425,数据处理系统从第三方服务器接收包括由第三方服务器生成的第二散列值的第二加密数据集。第三方服务器可以通过将散列函数应用于第二标识符和时间戳来生成第二散列值。第三方服务器可以通过将散列函数应用于第二标识符、时间戳和位置来生成第二散列值。第三方服务器可以以与数据处理系统生成第一散列值相同的方式生成第二散列值。例如,数据处理系统可以使用第三方服务器用于生成第一散列值的相同的散列函数来生成第二散列值。数据处理系统和第三方服务器也可以使用相同的第二标识符。数据处理系统和第三方服务器也可以对时间戳或位置使用相同的分段大小或量化。
例如,第三方服务器可以在生成第二散列值之前将预定量化应用于电子交易中的每个电子交易的时间戳。在一些情况下,数据处理系统可以向第三方服务器提供预定的量化。在一些情况下,数据处理系统可以从第三方服务器接收预定量化,并使用预定量化来生成第一散列值。
第三方服务器可以通过对第二散列值应用第二加密协议来生成第二加密数据集。第二加密协议可以不同于第一加密协议。例如,第二加密协议和第一加密协议可以使用不同的算法、密钥或参数。数据处理系统和第三方服务器可以隐藏用于生成加密数据集的加密协议的类型。第一和第二加密协议二者都可以是可交换加密协议。如果应用加密协议的顺序不改变结果,则第一和第二加密协议可以具有可交换属性。例如,G(T(h(x)))=T(G(h(x))),其中G是第一加密协议,T是第二加密协议。
在430,数据处理系统加密第二加密数据集以生成第一双加密数据集。数据处理系统(例如,经由第一加密模块)可以使用第一加密协议来加密从第三方服务器接收的第二加密数据集,以生成第一双加密数据集。第一双加密数据集可以对应于地面真实数据,因为它对应于电子交易。
在435,数据处理系统从第三方服务器接收第二双加密数据集。数据处理系统(例如,经由通信接口)可以接收第二双加密数据。第三方服务器(例如,经由第二加密模块)可以通过将第二加密协议应用于由数据处理系统传输给第三方服务器的第一加密数据集来生成第二双加密数据集。
在440,数据处理系统将第一双加密数据集与第二双加密数据集比较以确定度量。数据处理系统可以使用度量来促进内容选择或提高位置引擎的性能。数据处理系统(例如,经由调谐器)可以将第一双加密数据集与第二双加密数据集进行比较,以基于正确位置确定的总数、位置确定总数和实际位置事件的总数确定查准率度量和查全率度量。调谐器可以基于查准率度量或查全率度量中的至少一个来调整位置引擎的调谐参数。
为了确定查准率度量,数据处理系统可以基于与第一双加密数据集的条目匹配的第二双加密数据集的条目的数目来确定正确位置确定的总数。匹配可以是完全匹配,使得两个条目是相同的。数据处理系统可以基于第二双加密数据集的条目的数目来确定位置确定的总数。数据处理系统可以通过将正确位置确定的总数除以位置确定的总数来确定查准率度量。在一些情况下,数据处理系统可以通过将正确位置确定的总数除以位置确定总数和电子交易率的乘积来确定查准率度量。电子交易率可以指对商家访问的每个数目(例如,20中的1个、5%或3/100)发声的交易数目。
为了确定查全率度量,数据处理系统可以基于第一双加密数据集的条目的数目来确定实际位置事件的总数。数据处理系统可以通过将正确位置确定的总数除以实际位置事件的总数来确定查全率度量。
数据处理系统可以使用性能度量来调整位置引擎的参数或用于其他目的。例如,数据处理系统可以使用用于一个或多个商户或地理区域的性能度量来生成报告。例如,数据处理系统可以确定由于彼此相邻的商家的数目,人口密集的城市具有不良的性能度量。在另一示例中,数据处理系统可以确定位置引擎在具有多个零售商店的室内商场中执行位置确定不佳。这可能是因为没有GPS访问、差的或没有蜂窝电话接收、缺少位置源或不准确位置源(例如,从物体反弹的GPS信号引起不正确的时间读数)。数据处理系统响应于识别不良性能度量,可以确定用于提高数据处理系统的性能或调整功能的技术。
例如,数据处理系统可以通过指令商家在商家位置处提供或配置WIFI路由器以提高位置准确性来提高性能。在另一个例子中,数据处理系统可以调谐内容选择以解决低质量的定位。例如,数据处理系统可以确定位置引擎不能足够有信心地确定计算设备是在咖啡店还是在税务人员办公室中。由于基于咖啡店位置选择的广告可能与基于税务人员办公室所选择的广告不同,所以数据处理系统可以确定在不使用位置准则的情况下选择广告。在某些情况下,数据处理系统可以确定选择符合两个位置准则的广告。
因此,本公开的系统和方法可以密码地保护在数据处理系统和第三方服务器之间传送的位置数据,以便确定性能度量,并调谐数据处理系统的组件或功能以改善组件或功能。例如,数据处理系统可以使用性能度量来提高位置引擎的查准率或查全率,改进内容选择,或降低计算设备或数据处理系统的资源消耗。
图5是根据说明性实施方式的计算机系统500的框图。计算机系统或计算设备500可用于实现系统100、系统200、内容提供者225、计算设备110、内容发布者215、数据处理系统120、通信接口130、位置引擎135、桥接模块140、第一加密模块145、调谐器150、数据存储库155、第三方服务器160、第二加密模块165、销售点设备115或交易卡125。计算系统500包括用于通信信息的总线505或其他通信组件和用于处理信息的处理器510或耦合到总线505的处理电路。计算系统500还可以包括耦合到总线用于处理信息的一个或多个处理器510或处理电路。计算系统500还包括耦合到总线505的用于存储信息以及由处理器510执行的指令的主存储器515,诸如随机存取存储器(RAM)或其他动态存储装置。主存储器515也可以用于在由处理器510执行指令期间存储位置信息、临时变量或其他中间信息。计算系统500还可以包括耦合到总线505用于存储静态信息和用于处理器510的指令的只读存储器(ROM)520或其他静态存储设备。诸如固态设备、磁盘或光盘的存储设备525耦合到总线505,用于持久存储信息和指令。
计算系统500可以经由总线505耦合到显示器535,诸如液晶显示器或有源矩阵显示器,用于向用户显示信息。诸如包括字母数字和其他键的键盘的输入设备530可以耦合到总线505,用于将信息和命令选择通信到处理器510。输入设备530可以包括触摸屏显示器535。输入设备530可以还包括诸如鼠标、轨迹球或光标方向键的光标控制,用于将方向信息和命令选择通信到处理器510并用于控制显示器535上的光标移动。
本文描述的过程、系统和方法可以由计算系统500响应于处理器510执行包含在主存储器515中的指令的布置来实现。这样的指令可以从诸如存储设备525的另一计算机可读介质读取到主存储器515中。包含在主存储器515中的指令的布置的执行使得计算系统500执行本文所述的说明性处理。多处理布置中的一个或多个处理器也可以用于执行包含在主存储器515中的指令。在替选实施方式中,可以使用硬连线电路代替软件指令或与软件指令组合以实现说明性实施方式。因此,实施方式不限于硬件电路和软件的任何特定组合。
虽然在图5中已经描述了示例性计算系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物或者在它们中的一个或多个的组合。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其结构等同物或它们的一个或多个的组合。本说明书中描述的主题的实施方式可以被实现为一个或多个计算机程序,即,一个或多个计算机程序指令的电路,其被编码在一个或多个计算机存储介质上以用于由数据处理装置执行或控制数据处理装置的操作。替选地或补充地,程序指令可以在人工生成的传播信号(例如机器生成的电、光或电磁信号)上进行编码,该信号被生成以编码用于传输到合适的接收机设备的信息,以供数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们的一个或多个的组合。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的组件或介质(例如,多个CD、磁盘或其它存储设备)中。
本说明书中描述的操作可以由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行。
术语“数据处理装置”或“计算设备”包括用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、芯片上的系统或上述的多个或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明性或程序语言,并且其可以以任何形式部署,包括作为独立程序或作为电路、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,在专用于所讨论的程序的单个文件中,或在多个协调文件(例如,存储一个或多个电路、子程序或代码的部分的文件)。可以将计算机程序部署为在一个计算机上或位于一个站点上或者分布在多个站点上并由通信网络互连的多个计算机上执行。
适于执行计算机程序的处理器例如包括通用和专用微处理器二者以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或可操作地耦合以从用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘)接收数据和向其传送数据或两者。但是,计算机不必具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),此处仅举几例。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储器件,例如EPROM、EEPROM和闪速存储器件;磁盘,例如内部硬盘或可移动盘;磁光盘;和CD-ROM和DVD-ROM磁盘。处理器和存储器可由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监控器)和用户可以通过其向计算机提供输入的键盘和指示设备(例如鼠标、轨迹球等)的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
虽然在图5中已经描述了示例性计算系统,本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物或者在它们中的一个或多个的组合。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其结构等同物或它们的一个或多个的组合。本说明书中描述的主题的实施方式可以被实现为一个或多个计算机程序,即,一个或多个计算机程序指令的电路,其被编码在一个或多个计算机存储介质上以用于由数据处理装置执行或控制数据处理装置的操作。替选地或补充地,程序指令可以在人工生成的传播信号(例如机器生成的电、光或电磁信号)上进行编码,该信号被生成以编码用于传输到合适的接收机设备的信息,以供数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们的一个或多个的组合中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的组件或介质(例如,多个CD、磁盘或其它存储设备)中。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而是作为特定发明的特定实施方式特有的特征的描述。在本说明书中在单独实施方式的上下文中描述的某些特征也可以在单个实施方式中组合地实现。相反,在单个实施方式的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施方式中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求如此保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被删除,并且所要求保护的组合可以针对子组合或子组合的变化。
已经描述了主题的具体实施方式。其他实施方式在所附权利要求的范围内。虽然在图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或依序执行此类操作,或者需要执行所有所示的操作。本文描述的动作可以以不同的顺序执行。此外,附图中所描绘的过程不一定需要所示的特定顺序或依序来获得期望的结果。在某些实施方式中,多任务和并行处理可以是有利的。
各种系统组件的分离不要求在所有实施方式中分离,并且所描述的程序组件可以被包括在单个硬件或软件产品中。例如,桥接模块140和第一加密模块145可以是单个模块、具有一个或多个处理电路的逻辑设备或在线内容项放置系统的一部分。
现在已经描述了一些说明性的实施方式,但是显而易见的是,已经通过示例的方式呈现的前述内容是说明性而非限制性的。特别地,尽管本文中呈现的许多示例涉及方法动作或系统元素的具体组合,但是这些动作和那些元素可以以其他方式组合以实现相同的目标。与一个实施方式相关地讨论的动作、元素和特征并不旨在被排除在其他一个或多个实施方式中类似的作用之外。
本文使用的措辞和术语是为了描述的目的,不应被视为限制。在此的“含有”,“包括”,“具有”,“包含”,“涉及”,“特征在于”,“表征为”及其变体意味着包括其后列出的项、其等同内容以及附加项以及由其后排他地列出的项组成的替选实施方式。在一个实施方式中,本文描述的系统和方法由所描述的元件、动作或组件中的一个、多个的每个组合或全部组成。
对本文以单数形式提及的系统和方法的实施方式或元件或动作的任何引用也可以包含包括多个这些元素的实施方式,并且对在本文中的任何实施方式或元件或动作的复数形式的任何引用也可以包含仅包括单一元素的实施方式。单数或复数形式的引用不旨在将目前公开的系统或方法、其组件、动作或元件限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中动作或元素至少部分地基于任何信息动作或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例相结合,并且对“实施方式”、“一些实施方式”、“替选实施方式”、“各种实施方式”或“一个实施方式”等的引用不一定是相互排斥的,并且旨在表示与实施方式结合地描述的特定特征、结构或特性可以包括在至少一个实施方式或实施例中。这里使用的术语并不一定都是指同一实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包括地或排他性地组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何词项可以指示所描述的词项中的单个、多于一个和全部的任何一个。
在附图、详细说明或任何权利要求中的技术特征之后是附图标记的情况下,已经包括附图标记以增加附图、详细说明和权利要求的清晰度。因此,无论附图标记存在或不存在都对任何权利要求要素的范围没有任何限制效果。
在不脱离其特征的情况下,本文所述的系统和方法可以以其它具体形式实施。上述实施方式是说明性的而不是限制所描述的系统和方法。因此,本文所述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同物的含义和范围内的变化包括在其中。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而是作为特定发明的特定实施方式特有的特征的描述。在本说明书中在分立实施方式的上下文中描述的某些特征也可以在单个实施方式中组合地实施方式。相反,在单个实施方式的上下文中描述的各种特征也可以分立地或以任何合适的子组合在多个实施方式中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求如此保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被删除,并且所要求保护的组合可以针对子组合或子组合的变化。

Claims (20)

1.一种经由计算机网络密码地保护在多个服务器之间传送的位置数据以调谐位置引擎的系统,包括:
桥接模块,由数据处理系统的一个或多个处理器执行,以从存储在存储器中的位置数据库检索由所述数据处理系统的所述位置引擎进行的多个位置确定,每个位置确定与相应的第一标识符相关联;
所述桥接模块被配置为使用映射函数将每个相应的第一标识符映射到相应的第二标识符;
第一加密模块,由所述一个或多个处理器执行,以使用应用于由每个位置确定的所述第二标识符和时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值;
所述第一加密模块被配置为使用第一加密协议来加密用于每个位置确定的所述第一散列值,以生成第一加密数据集;
所述数据处理系统的通信接口,用于经由所述计算机网络将所述第一加密数据集传输到被配置为处理电子交易的一个或多个服务器;
所述通信接口被配置为从所述一个或多个服务器接收第二加密数据集,所述第二加密数据集包括由所述第二加密模块针对所述电子交易生成的第二散列值,所述第二散列值中的每个第二散列值由所述第二加密模块经由向由所述电子交易中的每个电子交易的标识符和时间戳形成的元组应用第二散列函数而生成,所述第二加密数据集由所述第二加密模块用第二加密协议加密,其中所述第一加密协议和所述第二加密协议是能够交换的加密协议;
所述第一加密模块被配置为使用所述第一加密协议来加密从所述一个或多个服务器接收的所述第二加密数据集,以生成第一双加密数据集;
所述通信接口被配置为从所述一个或多个服务器接收第二双加密数据集,所述第二双加密数据集由所述第二加密模块经由将所述第二加密协议应用到由所述数据处理系统传输到所述一个或多个服务器的所述第一加密数据集而生成;
调谐器,由所述一个或多个处理器执行以将所述第一双加密数据集与所述第二双加密数据集进行比较,以基于正确位置确定的总数、位置确定的总数和实际位置事件的总数来确定查准率度量和查全率度量;以及
所述调谐器被配置为基于以下中的至少一个来调整所述位置引擎的调谐参数:所述查准率度量或所述查全率度量。
2.根据权利要求1所述的系统,其中所述位置引擎被配置为:
经由便携式设备的网络接口接收由所述便携式设备的传感器确定的地理坐标;
基于所述地理坐标确定所述便携式设备的位置;以及
在所述位置数据库中存储所述便携式设备的所述位置。
3.根据权利要求1或2所述的系统,包括:
所述通信接口被配置为经由便携式设备的网络接口接收经由以下中的至少两个来确定的位置信息:所述便携式设备的全球定位传感器、所述便携式设备的无线网络接口、蜂窝电话塔三角测量或信标;
所述位置引擎被配置为基于所述位置信息来确定所述便携式设备的位置;以及
所述位置引擎被配置为在所述位置数据库中存储所述便携式设备的所述位置。
4.根据权利要求1至3中任一项所述的系统,其中所述调谐器被配置为:
基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
基于所述第二双加密数据集的条目数目来确定所述位置确定的总数;以及
通过将所述正确位置确定的总数除以所述位置确定的总数来确定所述查准率度量。
5.根据权利要求1至3中任一项所述的系统,其中所述调谐器被配置为:
基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
基于所述第二双加密数据集的条目数目来确定所述位置确定的总数;以及
通过将所述正确位置确定的总数除以所述位置确定总数和电子交易率的乘积来确定所述查准率度量。
6.根据权利要求1至3中任一项所述的系统,其中所述调谐器被配置为:
基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
基于所述第一双加密数据集的条目数目来确定所述实际位置事件的总数;以及
通过将所述正确位置确定的总数除以所述实际位置事件的总数来确定所述查全率度量。
7.根据权利要求1至6中任一项所述的系统,其中,所述第一加密模块被配置为:
在确定每个位置确定的所述散列值之前,对每个位置确定的所述时间戳应用预定的量化。
8.根据权利要求7所述的系统,其中包括所述第二散列值的所述第二加密数据集由所述第二加密模块生成,所述第二加密模块被配置为在生成所述第二散列值之前将所述预定的量化应用于所述电子交易中的每个电子交易的时间戳。
9.根据权利要求7所述的系统,其中所述第一加密模块被配置为:
从所述一个或多个服务器接收所述预定的量化。
10.根据权利要求1至9中任一项所述的系统,其中所述调谐器被配置为:
确定所述查准率度量小于阈值;以及
响应于所述查准率度量小于所述阈值来调整所述位置引擎的所述调谐参数,以使所述位置引擎增加所述位置引擎用于进行所述多个位置确定的位置信息源的最小数目或质量。
11.根据权利要求1至9中任一项所述的系统,其中所述调谐器被配置为:
确定所述查准率度量小于阈值;以及
响应于所述查准率度量小于所述阈值,调整所述位置引擎的所述调谐参数,以增加所述位置引擎用于进行所述多个位置确定的集群时间阈值。
12.根据权利要求1至11中任一项所述的系统,其中所述调谐器被配置为:
确定所述查全率度量小于阈值;以及
响应于所述查全率度量小于所述阈值而调整所述位置引擎的所述调谐参数,以使所述位置引擎增加所述位置引擎使用来进行所述多个位置确定的位置ping的频率。
13.根据权利要求1至11中任一项所述的系统,其中所述调谐器被配置为:
确定所述查全率度量小于阈值;以及
响应于所述查全率度量小于所述阈值而调整所述位置引擎的所述调谐参数,以减少所述位置引擎使用来进行所述多个位置确定的集群距离阈值。
14.一种经由计算机网络密码地保护在多个服务器之间传送的位置数据以调谐位置引擎的方法,包括:
通过由数据处理系统的一个或多个处理器执行的桥接模块从存储在存储器中的位置数据库检索由所述数据处理系统的所述位置引擎进行的多个位置确定,每个位置确定与相应的第一标识符相关联;
通过所述桥接模块使用映射函数将每个相应的第一标识符映射到相应的第二标识符;
通过由所述一个或多个处理器执行的第一加密模块,使用应用于由每个位置确定的所述第二标识符和时间戳形成的元组的第一散列函数来确定每个位置确定的第一散列值;
由所述第一加密模块使用第一加密协议对每个位置确定的所述第一散列值进行加密以生成第一加密数据集;
通过所述数据处理系统的通信接口经由所述计算机网络将所述第一加密数据集传输到被配置为处理电子交易的一个或多个服务器;
通过所述通信接口从所述一个或多个服务器接收第二加密数据集,所述第二加密数据集包括由第二加密模块针对所述电子交易生成的第二散列值,所述第二散列值中的每个第二散列值由所述第二加密模块经由向由所述电子交易中的每个电子交易的标识符和时间戳形成的元组应用第二散列函数而生成,所述第二加密数据集由所述第二加密模块用第二加密协议加密,其中所述第一加密协议和所述第二加密协议是能够交换的加密协议;
由所述第一加密模块使用所述第一加密协议来加密从所述一个或多个服务器接收的所述第二加密数据集,以生成第一双加密数据集;
通过所述通信接口从所述一个或多个服务器接收第二双加密数据集,所述第二双加密数据集由所述第二加密模块经由将所述第二加密协议应用到由所述数据处理系统传输到所述一个或多个服务器的所述第一加密数据集而生成;
通过由所述一个或多个处理器执行的调谐器将所述第一双加密数据集与所述第二双加密数据集进行比较,以基于正确位置确定的总数、位置确定总数和实际位置事件的总数来确定查准率度量和查全率度量;以及
由所述调谐器基于以下中的至少一个来调整所述位置引擎的调谐参数:所述查准率度量或所述查全率度量。
15.根据权利要求14所述的方法,包括:
由所述数据处理系统经由便携式设备的网络接口接收由所述便携式设备的传感器确定的地理坐标;
由所述数据处理系统基于所述地理坐标确定所述便携式设备的位置;以及
由所述位置数据库中的所述数据处理系统存储所述便携式设备的所述位置。
16.根据权利要求14或15所述的方法,包括:
由所述数据处理系统经由便携式设备的网络接口接收经由以下中的至少两个来确定的位置信息:所述便携式设备的全球定位传感器、所述便携式设备的无线网络接口、蜂窝电话塔三角测量或信标;
由所述数据处理系统基于所述位置信息确定所述便携式设备的位置;以及
由所述数据处理系统在所述位置数据库中存储所述便携式设备的所述位置。
17.根据权利要求14至16中任一项所述的方法,包括:
由所述数据处理系统基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
由所述数据处理系统基于所述第二双加密数据集的条目数目来确定所述位置确定的总数;以及
由所述数据处理系统通过将所述正确位置确定的总数除以所述位置确定的总数来确定所述查准率度量。
18.根据权利要求14至16中任一项所述的方法,包括:
由所述数据处理系统基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
由所述数据处理系统基于所述第二双加密数据集的条目数目来确定所述位置确定的总数;以及
由所述数据处理系统通过将所述正确位置确定的总数除以所述位置确定总数和电子交易率的乘积来确定所述查准率度量。
19.根据权利要求14至16中任一项所述的方法,包括:
由所述数据处理系统基于与所述第一双加密数据集的条目匹配的所述第二双加密数据集的条目数目来确定所述正确位置确定的总数;
由所述数据处理系统基于所述第一双加密数据集的条目数目来确定所述实际位置事件的总数;以及
由所述数据处理系统通过将所述正确位置确定的总数除以所述实际位置事件的总数来确定所述查全率度量。
20.根据权利要求14至19中任一项所述的方法,包括:
由所述数据处理系统在确定每个位置确定的所述散列值之前,对每个位置确定的所述时间戳应用预定的量化。
CN201680003807.8A 2015-07-24 2016-07-19 改善位置传感器查准率的系统和方法 Active CN107005599B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/808,634 2015-07-24
US14/808,634 US9716697B2 (en) 2015-07-24 2015-07-24 Generating bridge match identifiers for linking identifiers from server logs
US15/043,394 US10142296B2 (en) 2015-07-24 2016-02-12 Systems and methods for improving precision of a location sensor
US15/043,394 2016-02-12
PCT/US2016/042925 WO2017019377A1 (en) 2015-07-24 2016-07-19 Systems and methods for improving precision of a location sensor

Publications (2)

Publication Number Publication Date
CN107005599A true CN107005599A (zh) 2017-08-01
CN107005599B CN107005599B (zh) 2020-03-10

Family

ID=56557913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003807.8A Active CN107005599B (zh) 2015-07-24 2016-07-19 改善位置传感器查准率的系统和方法

Country Status (6)

Country Link
US (1) US10142296B2 (zh)
EP (1) EP3278537B1 (zh)
JP (1) JP6391853B1 (zh)
KR (1) KR102040784B1 (zh)
CN (1) CN107005599B (zh)
WO (1) WO2017019377A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111226207A (zh) * 2017-08-18 2020-06-02 贝宝公司 自愈实时数据处理
CN111723702A (zh) * 2020-06-08 2020-09-29 苏州工业职业技术学院 数据监控方法、装置以及支付系统
CN115022089A (zh) * 2022-07-23 2022-09-06 刘志伟 一种数据加密传输的电子商务交易系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108012581A (zh) * 2015-06-23 2018-05-08 飞利浦照明控股有限公司 用于保护位置信息的系统
TWI602166B (zh) * 2016-03-03 2017-10-11 金寶電子工業股份有限公司 電子地圖上顯示信標收訊狀態之電腦實施方法
US10805311B2 (en) * 2016-08-22 2020-10-13 Paubox Inc. Method for securely communicating email content between a sender and a recipient
US10764041B2 (en) 2017-03-03 2020-09-01 Google Llc Systems and methods for establishing a link between identifiers without disclosing specific identifying information
CN110213216B (zh) * 2018-08-22 2024-02-09 腾讯科技(北京)有限公司 确定不同账号集合中相同账号的方法、装置及存储介质
KR102272699B1 (ko) * 2019-10-17 2021-07-06 숭실대학교산학협력단 복수개의 단말과 엣지 노드를 포함하는 네트워크에서 엣지 노드의 데이터 처리 방법
US11038683B1 (en) * 2020-01-24 2021-06-15 Via Science, Inc. Secure data processing
US11330472B2 (en) * 2020-08-17 2022-05-10 Verizon Patent And Licensing Inc. Systems and methods for dynamic pseudo-cooperative load balancing by independent nodes based on differentiated attributes and volume
US12009946B2 (en) * 2020-09-16 2024-06-11 Datakrew Pte. Ltd. Gateway and bridge devices for secure internet of things
US11494510B2 (en) 2021-03-04 2022-11-08 Inmarket Media, Llc Multi-touch attribution and control group creation using private commutative encrypted match service
CN113051599B (zh) * 2021-05-31 2021-10-29 杭州海康威视数字技术股份有限公司 一种异构密码卡并行计算方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110141967A1 (en) * 2009-12-14 2011-06-16 Lane Sean L Methods and apparatus related to substantially real-time data transmission and analysis for sensors
US20130251150A1 (en) * 2010-06-15 2013-09-26 Olivier Chassagne Method of providing an authenticable time-and-location indication
US20150149763A1 (en) * 2013-11-27 2015-05-28 Microsoft Corporation Server-Aided Private Set Intersection (PSI) with Data Transfer

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868119A (en) 1986-12-11 1989-09-19 Genetics Institute, Inc. Hematopoietic growth factors
US6952769B1 (en) 2000-04-17 2005-10-04 International Business Machines Corporation Protocols for anonymous electronic communication and double-blind transactions
US7482973B2 (en) * 2004-07-20 2009-01-27 Global Precision Solutions, Llp. Precision GPS driven utility asset management and utility damage prevention system and method
WO2007021930A2 (en) * 2005-08-12 2007-02-22 Safe Data Sharing Inc. System and method for securely analyzing data and controlling its release
US20090037492A1 (en) 2007-07-31 2009-02-05 Ahmad Baitalmal Framework for Synchronizing Applications
GB2469673A (en) 2009-04-23 2010-10-27 Sapior Ltd Encrypting data tags, metadata and labels in datasets to protect the identity of individuals when combining datasets or databases
US8634853B2 (en) 2009-05-04 2014-01-21 Nearverse, Inc. Method for enhancing location identity through incorporation of shorter-range communication and sensing (nearlocate)
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8468119B2 (en) * 2010-07-14 2013-06-18 Business Objects Software Ltd. Matching data from disparate sources
US8429086B2 (en) 2011-01-20 2013-04-23 Csr Technology Inc. System for location based transaction security
WO2013003468A2 (en) 2011-06-27 2013-01-03 Cadio, Inc. Triggering collection of information based on location data
GB201112665D0 (en) 2011-07-22 2011-09-07 Vodafone Ip Licensing Ltd Data anonymisation
US8572379B2 (en) 2011-08-08 2013-10-29 Xerox Corporation Private access to hash tables
US9059840B2 (en) 2012-05-31 2015-06-16 Apple Inc. Recipient blind cryptographic access control for publicly hosted message and data streams
US9934511B2 (en) 2012-06-29 2018-04-03 Mastercard International Incorporated System and method for determining merchant location and availability using transaction data
JP6075017B2 (ja) * 2012-11-09 2017-02-08 富士通株式会社 情報分析システム及び情報分析方法
US9292707B1 (en) 2013-06-03 2016-03-22 Management Science Associates, Inc. System and method for cascading token generation and data de-identification
US8745390B1 (en) * 2013-11-13 2014-06-03 Google Inc. Mutual authentication and key exchange for inter-application communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110141967A1 (en) * 2009-12-14 2011-06-16 Lane Sean L Methods and apparatus related to substantially real-time data transmission and analysis for sensors
US20130251150A1 (en) * 2010-06-15 2013-09-26 Olivier Chassagne Method of providing an authenticable time-and-location indication
US20150149763A1 (en) * 2013-11-27 2015-05-28 Microsoft Corporation Server-Aided Private Set Intersection (PSI) with Data Transfer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111226207A (zh) * 2017-08-18 2020-06-02 贝宝公司 自愈实时数据处理
CN111723702A (zh) * 2020-06-08 2020-09-29 苏州工业职业技术学院 数据监控方法、装置以及支付系统
CN111723702B (zh) * 2020-06-08 2024-02-27 苏州工业职业技术学院 数据监控方法、装置以及支付系统
CN115022089A (zh) * 2022-07-23 2022-09-06 刘志伟 一种数据加密传输的电子商务交易系统

Also Published As

Publication number Publication date
JP6391853B1 (ja) 2018-09-19
CN107005599B (zh) 2020-03-10
EP3278537A1 (en) 2018-02-07
WO2017019377A1 (en) 2017-02-02
KR102040784B1 (ko) 2019-11-06
KR20170133466A (ko) 2017-12-05
US20170026345A1 (en) 2017-01-26
JP2018530172A (ja) 2018-10-11
US10142296B2 (en) 2018-11-27
EP3278537B1 (en) 2020-01-29

Similar Documents

Publication Publication Date Title
CN107005599A (zh) 改善位置传感器查准率的系统和方法
Xu et al. Information security in big data: privacy and data mining
Zhai et al. Mapping the popularity of urban restaurants using social media data
CN107851267A (zh) 用于经由动态分配的虚拟电话号码来同步与语音呼叫相关的数据的系统和方法
CN107636715A (zh) 用于提供内容的系统和方法
Xu et al. Integrated collaborative filtering recommendation in social cyber-physical systems
CN105190595A (zh) 唯一地识别网络连接实体
US20080270248A1 (en) System and device for social shopping on-line
US20160189218A1 (en) Systems and methods for sponsored search ad matching
US20170083522A1 (en) Smart Exploration Methods For Mitigating Item Cold-Start Problem In Collaborative Filtering Recommendation Systems
US11363006B2 (en) Generating bridge match identifiers for linking identifiers from server logs
US12079307B2 (en) Personalized data model utilizing closed data
CN114398553A (zh) 对象推荐方法、装置、电子设备以及存储介质
CN105519154A (zh) 移动身份
US20240095545A1 (en) Data transmission between two systems to improve outcome predictions
Fang et al. Boost movie ticket sales by location-based advertising: a Bayesian VAR approach
US9276757B1 (en) Generating viral metrics
US20150051988A1 (en) Detecting marketing opportunities based on shared account characteristics systems and methods
Thakur et al. Bayesian Belief Networks–Based Product Prediction for E-Commerce Recommendation
Zhu Research on multi‐source mobile commerce service recommendation model of data fusion based on tree network
Piao et al. A novel scheme on service recommendation for mobile users based on location privacy protection
Choudhury et al. A Comparative Study on'E-Commerce Verses M-Commerce: The Future of Online Marketing'
Ivwighren et al. Correlational study of channels of digital advertising and consumers’ behaviour: A study of Delta State
Yao et al. Utilizing the bidirectional effect of evolutive trust-rating for recommendation in E-commerce
Hou Quality evaluation model study of B2C e-commerce website

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant