[go: up one dir, main page]

HK1207190B - Profile noise anonymity for mobile users - Google Patents

Profile noise anonymity for mobile users Download PDF

Info

Publication number
HK1207190B
HK1207190B HK15107781.1A HK15107781A HK1207190B HK 1207190 B HK1207190 B HK 1207190B HK 15107781 A HK15107781 A HK 15107781A HK 1207190 B HK1207190 B HK 1207190B
Authority
HK
Hong Kong
Prior art keywords
user data
user
attribute
users
attributes
Prior art date
Application number
HK15107781.1A
Other languages
Chinese (zh)
Other versions
HK1207190A1 (en
Inventor
O.塔瓦科尔
L.V.利塔
Original Assignee
蓝凯股份有限公司
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 US13/595,764 external-priority patent/US10204351B2/en
Application filed by 蓝凯股份有限公司 filed Critical 蓝凯股份有限公司
Priority claimed from PCT/US2013/056370 external-priority patent/WO2014035816A1/en
Publication of HK1207190A1 publication Critical patent/HK1207190A1/en
Publication of HK1207190B publication Critical patent/HK1207190B/en

Links

Description

用于移动用户的简档噪声匿名性Profile noise anonymity for mobile users

相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS

本专利申请要求2012年8月27日提交的标题为“用于移动用户的简档噪声匿名性(Profile Noise Anonymity For Mobile Users)”的美国专利申请No.13/595,764的优先权,通过引用的方式将其合并在此。This patent application claims priority to U.S. Patent Application No. 13/595,764, filed on August 27, 2012, entitled “Profile Noise Anonymity For Mobile Users,” which is incorporated herein by reference.

技术领域Technical Field

本发明总体上涉及管理在线用户数据,并且更加特别地而非排他地涉及向用户数据购买者提供非唯一用户数据的聚集子集,其可以被采用作为确定在线广告宣传活动的目标的基础。The present invention relates generally to managing online user data and, more particularly, but not exclusively, to providing aggregated subsets of non-unique user data to user data buyers that can be employed as a basis for targeting online advertising campaigns.

背景技术Background Art

在线广告行业利用用户数据来提供目标化的广告宣传活动,其可以优化广告投放、广告内容、实时竞价等等。可以针对个人或者个人的群组来收集该用户数据,并且其可以包括人口统计数据(例如性别、年龄、种族)、心理统计数据(例如兴趣、意见)、地理数据(例如邮政编码、州、国家)、市场中数据(例如用户对于豪华车、到波利尼西亚旅游的兴趣)以及社交媒体数据。随着时间从多个来源收集各种类型的用户数据。在历史上,对于目标化广告宣传活动来说,对于个人不唯一的群组用户数据常常不是非常有用。尽管个人唯一的用户数据与群组用户数据相比对于目标化广告宣传活动可能要有用得多,但是针对个人用户的此类唯一用户数据的收集可能具有侵入性,并且唯一用户数据本身可能会侵犯个人用户的隐私权。因此,关于这些考虑因素以及其他考虑因素提出了本发明。The online advertising industry uses user data to provide targeted advertising campaigns, which can optimize ad placement, ad content, real-time bidding, and the like. This user data can be collected for individuals or groups of individuals and can include demographic data (e.g., gender, age, race), psychographic data (e.g., interests, opinions), geographic data (e.g., zip code, state, country), in-market data (e.g., user interest in luxury cars, travel to Polynesia), and social media data. Various types of user data are collected from multiple sources over time. Historically, group user data that is not unique to an individual is often not very useful for targeted advertising campaigns. Although individual unique user data may be much more useful for targeted advertising campaigns than group user data, the collection of such unique user data for individual users may be invasive, and the unique user data itself may infringe on the privacy rights of individual users. Therefore, the present invention is proposed with respect to these and other considerations.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

后面将参照附图描述本发明的非限制性并且非穷举性的实施例。在附图中,除非另行规定,否则相同的附图标记在各幅图中始终指代相同的部分。Non-limiting and non-exhaustive embodiments of the present invention will be described below with reference to the accompanying drawings, in which like reference numerals refer to like parts throughout the various figures unless otherwise specified.

为了更好地理解本发明,后面将参照应当与附图相关联地阅读的具体实施方式部分,其中:For a better understanding of the present invention, reference will now be made to the detailed description which should be read in conjunction with the accompanying drawings, in which:

图1是可以在其中实施本发明的实施例的环境的系统图示;FIG1 is a system diagram of an environment in which embodiments of the present invention may be implemented;

图2示出了可以包括在如在图1中示出的系统中的客户端设备的一个实施例;FIG2 illustrates one embodiment of a client device that may be included in the system shown in FIG1 ;

图3示出了可以包括在如在图1中示出的系统中的网络设备的一个实施例;FIG3 illustrates one embodiment of a network device that may be included in the system shown in FIG1 ;

图4示出了总体上示出用于解析针对用户数据的查询并且向用户数据购买者提供聚集用户数据的总览处理的一个实施例的逻辑流程图;FIG4 illustrates a logic flow diagram generally illustrating one embodiment of a process for resolving queries for user data and providing an overview of aggregated user data to a user data buyer;

图5示出了总体上示出了用于收集和存储用户数据的处理的一个实施例的逻辑流程图;FIG5 illustrates a logic flow diagram generally illustrating one embodiment of a process for collecting and storing user data;

图6示出了总体上示出用于解析针对用户数据的查询的处理的一个实施例的逻辑流程图,这是通过基于所述查询聚集用户数据以便生成非唯一用户数据的多个子集;FIG6 illustrates a logic flow diagram generally illustrating one embodiment of a process for resolving a query for user data by aggregating the user data based on the query to generate multiple subsets of non-unique user data;

图7示出了总体上示出用于收集和存储用户数据的处理的一个替换实施例的逻辑流程图;FIG7 illustrates a logic flow diagram generally illustrating an alternative embodiment of a process for collecting and storing user data;

图8示出了使用情况的一个实施例,其中示出了可以被利用来从用户数据供应者收集用户数据并且向用户数据购买者提供聚集用户数据的系统的系统图示;FIG8 illustrates one embodiment of a use case, showing a system diagram of a system that may be utilized to collect user data from user data suppliers and provide aggregated user data to user data buyers;

图9示出了总体上示出用于确定直接和/或推荐属性并且将其包括在用户简档中的总览处理的一个实施例的逻辑流程图;FIG9 illustrates a logic flow diagram generally illustrating one embodiment of an overview process for determining direct and/or recommended attributes and including them in a user profile;

图10示出了总体上示出用于根据属性之间的映射确定推荐属性的处理的一个实施例的逻辑流程图;FIG10 illustrates a logic flow diagram generally illustrating one embodiment of a process for determining recommended attributes based on mappings between attributes;

图11示出了总体上示出用于生成多项属性之间的映射的处理的一个实施例的逻辑流程图;FIG11 illustrates a logic flow diagram generally illustrating one embodiment of a process for generating a mapping between multiple attributes;

图12示出了总体上示出用于根据其他类似用户的属性确定对应于用户的推荐属性的处理的一个实施例的逻辑流程图;以及FIG12 illustrates a logic flow diagram generally illustrating one embodiment of a process for determining recommended attributes for a user based on attributes of other similar users; and

图13示出了使用情况的一个实施例,其中示出了对应于多个用户的多项属性之间的映射。FIG. 13 illustrates one embodiment of a use case, showing mappings between multiple attributes corresponding to multiple users.

具体实施方式DETAILED DESCRIPTION

除非上下文明确地另有所指,否则在说明书和权利要求书中,下面的术语始终采取在这里明确地相关联的含义。这里所使用的短语“在一个实施例中”不一定指代相同的实施例,但是其可以指代相同的实施例。此外,这里所使用的短语“在另一个实施例中”不一定指代不同的实施例,但是其可以指代不同的实施例。因此,正如后面所描述的那样,在不背离本发明的范围或精神的情况下可以很容易组合本发明的各个实施例。Unless the context clearly indicates otherwise, throughout the specification and claims, the following terms will be taken to have the meanings explicitly associated herein. As used herein, the phrase "in one embodiment" does not necessarily refer to the same embodiment, but it may. Additionally, as used herein, the phrase "in another embodiment" does not necessarily refer to a different embodiment, but it may. Thus, as described below, the various embodiments of the present invention may be readily combined without departing from the scope or spirit of the invention.

此外,除非上下文明确地另有所指,否则这里所使用的术语“或者”是包含性的“或”运算符,并且等效于术语“和/或”。除非上下文明确地另有所指,否则术语“基于”不是排他性的,并且允许基于未做描述的附加因素。此外,在说明书中,“一个”、“一项”的含义包括复数。“在...中”的含义包括“在...中”和“在...上”。Furthermore, unless the context clearly indicates otherwise, the term "or" as used herein is an inclusive "or" operator and is equivalent to the term "and/or." Unless the context clearly indicates otherwise, the term "based on" is not exclusive and allows for being based on additional factors not described. Furthermore, in this specification, the meanings of "a," "an," and "an" include the plural. The meaning of "in..." includes "in" and "on."

这里所使用的短语“用户数据”通常指代关于一个或多个用户的信息。用户数据可以包括邮政编码、扩展的邮政编码、一项或多项属性以及/或者其任意组合。这里所使用的术语“属性”通常指代用户数据的类型信息和/或特性。属性可以包括而不限于:年龄;性别;职业;位置;其他人口统计信息;由用户利用的应用;用户的在线或离线行为和动作;对应于特定产品、事件或实体的直接或间接通信和/或倾向或偏好;以及/或者关于用户喜好的直接或间接指示、包括或排除在特定群组或类别中等等。这样的在线行为可以包括而不限于浏览、搜索、购买等等。缺少特定行为和/或负面喜好也可以被用作属性。属性还可以包括由用户利用的设备的特性,比如而不限于设备能力、设备标识符等等。The phrase "user data" as used herein generally refers to information about one or more users. User data may include a zip code, an extended zip code, one or more attributes, and/or any combination thereof. The term "attribute" as used herein generally refers to type information and/or characteristics of user data. Attributes may include, without limitation: age; gender; occupation; location; other demographic information; applications utilized by a user; the user's online or offline behavior and actions; direct or indirect communications and/or tendencies or preferences corresponding to specific products, events, or entities; and/or direct or indirect indications of user preferences, inclusion or exclusion in specific groups or categories, and the like. Such online behavior may include, without limitation, browsing, searching, purchasing, and the like. Lack of specific behavior and/or negative preferences may also be used as attributes. Attributes may also include characteristics of a device utilized by a user, such as, without limitation, device capabilities, device identifiers, and the like.

术语“属性”还可以指代由用户看到或体验到的宣传活动。这样的宣传活动可以包括广告宣传活动、促销宣传活动、信息宣传活动等等。这样的宣传活动可以由用户通过投放在网站或其他web服务上的在线广告体验到,其中包括电子邮件、SMS、IM消息等等;或者几乎任何介质中的其他离线广告,其中包括而不限于电视、无线电广播、印刷、物理显示等等。The term "attribute" may also refer to a promotional activity that is seen or experienced by a user. Such promotional activity may include advertising campaigns, promotional campaigns, informational campaigns, and the like. Such promotional activity may be experienced by a user through online advertising placed on a website or other web service, including email, SMS, IM messages, and the like; or other offline advertising in virtually any medium, including, but not limited to, television, radio, print, physical displays, and the like.

在一些实施例中,术语“直接属性”可以指代基于为用户提供的用户数据而对于所述用户确定的属性,这例如是通过对用户数据进行分析而获得的。在至少一个实施例中,直接属性还可以被称作直接行为。在其他实施例中,术语“推荐属性”可以指代独立于为用户提供的用户数据以及/或者从为用户提供的用户数据而对于所述用户间接地确定的属性,这例如是基于属性的映射、其他类似用户的属性、随机属性等等。In some embodiments, the term "direct attributes" may refer to attributes determined for a user based on user data provided for the user, such as those obtained by analyzing the user data. In at least one embodiment, direct attributes may also be referred to as direct behaviors. In other embodiments, the term "recommended attributes" may refer to attributes determined for the user independently of and/or indirectly from the user data provided for the user, such as those based on a mapping of attributes, attributes of other similar users, random attributes, and the like.

这里所使用的术语“用户数据购买者”(其也被称作“购买者”)指的是可以购买、租用、租借、竞价和/或以其他方式获得聚集用户数据的任何实体、个人、合作关系、公司、企业等等。在一个实施例中,用户数据购买者可以指代可能希望从另一项应用接收用户数据的应用。As used herein, the term "user data buyer" (also referred to as a "buyer") refers to any entity, individual, partnership, company, enterprise, etc. that may purchase, rent, lease, bid for, and/or otherwise acquire aggregated user data. In one embodiment, a user data buyer may refer to an application that may wish to receive user data from another application.

这里所使用的术语“用户数据供应者”(其也被称作“供应者”)指的是可以收集用户数据并且可以向用户数据聚集者销售、出租、租借和/或以其他方式提供所收集的用户数据的任何实体、个人、合作关系、公司、企业等等。在一个实施例中,用户数据购买者可以指代可能希望与另一项应用共享用户数据的应用。The term "user data supplier" (also referred to as a "supplier") as used herein refers to any entity, individual, partnership, company, enterprise, etc. that may collect user data and may sell, rent, lease, and/or otherwise provide the collected user data to a user data aggregator. In one embodiment, a user data buyer may refer to an application that may wish to share user data with another application.

后面将简要描述本发明的实施例以便提供关于本发明的某些方面的基本理解。这一简要描述不意图作为详尽总览。其不意图标识出关键的或决定性的元素,也不意图界定或者以其他方式收窄其范围。其目的仅仅是以简化形式给出一些概念,以作为后面给出的更加详细的描述的前导。The following will briefly describe embodiments of the present invention to provide a basic understanding of certain aspects of the present invention. This brief description is not intended to be an exhaustive overview. It is not intended to identify key or critical elements, nor is it intended to define or otherwise narrow its scope. Its purpose is simply to present some concepts in a simplified form as a prelude to the more detailed description that will be given later.

简而言之,各个实施例是针对从多个用户收集、聚集并且索引唯一和非唯一用户数据。在聚集用户数据的多个子集中提供针对用户数据的这一索引聚集的查询的结果。聚集用户数据的每一个子集对应于所述多个用户的一个特定部分。此外,用户的这些特定部分当中的每一个都被设定成至少大到足以对于各个单独用户提供一般匿名性。虽然可以通过多种方式收集用户数据,但是在各个实施例的至少其中一个中,多个第三方实体可以收集并且向用户数据聚集者提供用户数据,或者用户数据聚集者可以自己收集用户数据的至少一部分。在各个实施例的至少其中一个中,用户数据可以作为唯一用户数据、非唯一用户数据和/或其任意组合而被收集。唯一用户数据通常包括单一地标识用户的信息,并且非唯一用户数据通常标识共享共同的成员关系、兴趣等等的用户群组。In short, various embodiments are directed to collecting, aggregating, and indexing unique and non-unique user data from multiple users. Results of queries targeting this indexed aggregation of user data are provided across multiple subsets of the aggregated user data. Each subset of the aggregated user data corresponds to a specific portion of the multiple users. Furthermore, each of these specific portions of users is configured to be at least large enough to provide general anonymity for each individual user. While user data can be collected in a variety of ways, in at least one of the various embodiments, multiple third-party entities may collect and provide user data to a user data aggregator, or the user data aggregator may collect at least a portion of the user data itself. In at least one of the various embodiments, user data may be collected as unique user data, non-unique user data, and/or any combination thereof. Unique user data typically includes information that uniquely identifies a user, while non-unique user data typically identifies a group of users who share common memberships, interests, and the like.

在各个实施例的至少其中一个中,可以提供聚集用户数据的多个子集以作为针对关于目标化行为的查询的结果。在各个实施例中,可以由用户数据购买者、用户数据聚集者等等提供查询。在各个实施例中,可以基于非唯一地理信息来聚集用户数据的子集,比如五位邮政编码、九位详细邮政编码、邻域、国家代码等等和/或其任意组合。在至少一个实施例中,聚集用户数据的每一个子集可以包括表明其对于查询的相关性的加权。In at least one of the various embodiments, multiple subsets of aggregated user data may be provided as a result of a query regarding targeted behavior. In various embodiments, the query may be provided by a user data buyer, a user data aggregator, or the like. In various embodiments, the subsets of user data may be aggregated based on non-unique geographic information, such as a five-digit zip code, a nine-digit zip code, a neighborhood, a country code, and/or any combination thereof. In at least one embodiment, each subset of aggregated user data may include a weight indicating its relevance to the query.

在各个实施例中,可以减少或增加每一个聚集用户数据子集中的匿名化用户的数目,只要所述用户数目不小于至少部分地用来保护用户的匿名性的最小数量即可。在至少一个实施例中,对于请求具有对应于更小数目的匿名化用户的聚集用户数据子集的搜索结果的用户数据购买者,可以收取更高的费用。此外,对于请求具有对应于更大数目的匿名化用户的聚集用户数据子集的搜索结果的用户数据购买者,可以收取更低的费用。在一些实施例中,用户数据购买者可以利用搜索结果来允许在线广告宣传活动针对与至少一项目标化行为相关的用户。In various embodiments, the number of anonymized users in each aggregated user data subset can be reduced or increased, as long as the number of users is not less than a minimum number that is at least partially responsible for protecting the anonymity of the users. In at least one embodiment, a user data buyer requesting search results for an aggregated user data subset corresponding to a smaller number of anonymized users can be charged a higher fee. Additionally, a user data buyer requesting search results for an aggregated user data subset corresponding to a larger number of anonymized users can be charged a lower fee. In some embodiments, the user data buyer can utilize the search results to allow online advertising campaigns to target users associated with at least one targeted behavior.

在一些其他实施例中,可以修改用户的简档以便包括直接属性和/或推荐属性。在至少一个实施例中,可以将属性存储在简档中,从而使其在简档中关于是为用户提供还是为用户推荐方面不可区分,这样可以对用户的简档增加噪声。通过将推荐属性包括在用户的简档中,可以提高用户的匿名性,同时保持所述属性对于用户的相关性。在一些实施例中,可以确定对应于为用户提供的数据的至少一项直接属性。在一些其他实施例中,可以确定至少一项推荐属性,其可以与直接属性相关。在一些实施例中,推荐属性可以基于属性的映射。在其他实施例中,推荐属性可以基于类似于所述用户的其他用户的属性。In some other embodiments, a user's profile can be modified to include direct attributes and/or recommended attributes. In at least one embodiment, attributes can be stored in the profile so that they are indistinguishable in the profile as to whether they are provided or recommended for the user, which can add noise to the user's profile. By including recommended attributes in the user's profile, the user's anonymity can be increased while maintaining the relevance of the attributes to the user. In some embodiments, at least one direct attribute corresponding to the data provided for the user can be determined. In some other embodiments, at least one recommended attribute can be determined, which can be related to the direct attribute. In some embodiments, the recommended attributes can be based on a mapping of attributes. In other embodiments, the recommended attributes can be based on attributes of other users similar to the user.

说明性操作环境Illustrative operating environment

图1示出了可以在其中实践本发明的环境的一个实施例的各个组件。并不需要所有组件来实践本发明,并且在不背离本发明的精神或范围的情况下可以在组件设置和类型方面做出改变。Figure 1 illustrates various components of one embodiment of an environment in which the present invention may be practiced. Not all components are required to practice the present invention, and changes may be made in component arrangement and type without departing from the spirit or scope of the present invention.

如图所示,图1的系统100包括局域网(“LAN”)/广域网(“WAN”)-(网络)108、无线网络107、客户端设备102-105、用户数据供应者服务器(“UDSS”)109以及用户数据聚集者服务器(“UDAS”)111。网络108与系统100的每一个元件通信并且允许系统100的每一个元件之间的通信。无线网络107还允许与无线设备,比如客户端设备103-105进行通信。As shown, system 100 of FIG1 includes a local area network ("LAN")/wide area network ("WAN") (network) 108, a wireless network 107, client devices 102-105, a user data supplier server ("UDSS") 109, and a user data aggregator server ("UDAS") 111. Network 108 communicates with each element of system 100 and allows communication between each element of system 100. Wireless network 107 also allows communication with wireless devices, such as client devices 103-105.

后面将结合图2更加详细地描述客户端设备102-105的一个实施例。在一个实施例中,至少其中一些客户端设备102-105可以通过有线和/或无线网络,比如网络107和108操作。通常来说,客户端设备102-105可以包括能够通过网络进行通信以便发送和接收信息(其中包括即时消息传送)、实施各种在线活动等等的几乎任何计算设备。应当认识到,在例如这里所描述的系统内可以包括更多或更少的客户端设备,因此实施例不受所采用的客户端设备的数目或类型的约束。An embodiment of client devices 102-105 will be described in more detail below in conjunction with FIG2 . In one embodiment, at least some of the client devices 102-105 may operate over a wired and/or wireless network, such as networks 107 and 108. Generally speaking, client devices 102-105 may include virtually any computing device capable of communicating over a network to send and receive information (including instant messaging), perform various online activities, and the like. It should be appreciated that more or fewer client devices may be included in a system such as that described herein, and thus, embodiments are not limited by the number or type of client devices employed.

可以作为客户端设备102操作的设备可以包括通常利用有线或无线通信介质进行连接的设备,比如个人计算机、服务器、多处理器系统、基于微处理器的或可编程消费电子装置、网络PC等等。在一些实施例中,客户端设备102-105可以包括能够连接到另一个计算设备并且接收信息的几乎任何便携式计算设备,比如膝上型计算机103、智能电话104、平板计算机105等等。但是便携式计算机设备不限于此,并且还可以包括其他便携式设备,比如蜂窝电话、显示寻呼机、射频(“RF”)设备、红外(“IR”)设备、个人数字助理(“PDA”)、手持式计算机、组合前面提到的一个或多个设备的可穿戴计算机集成设备等等。因此,客户端设备102-105在能力和特征方面通常范围较广。此外,客户端设备102-105可以提供对于各种计算应用的使用,其中包括浏览器或者其他基于web的应用。Devices that can operate as client devices 102 may include devices that typically connect using wired or wireless communication media, such as personal computers, servers, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like. In some embodiments, client devices 102-105 may include virtually any portable computing device capable of connecting to another computing device and receiving information, such as laptop computer 103, smartphone 104, tablet computer 105, and the like. However, portable computing devices are not limited thereto and may also include other portable devices, such as cellular phones, display pagers, radio frequency ("RF") devices, infrared ("IR") devices, personal digital assistants ("PDAs"), handheld computers, wearable computer integrated devices that combine one or more of the aforementioned devices, and the like. Consequently, client devices 102-105 generally have a wide range of capabilities and features. Furthermore, client devices 102-105 may provide access to a variety of computing applications, including browsers or other web-based applications.

具有web功能的客户端设备可以包括浏览器应用,其被配置成接收和发送网页、基于web的消息等等。所述浏览器应用可以被配置成接收和显示图形、文字、多媒体等等,其中采用几乎任何基于web的语言,包括无线应用协议消息(“WAP”)等等。在一个实施例中,所述浏览器被允许采用手持式设备标记语言(“HDML”)、无线标记语言(“WML”)、WMLScript、JavaScript、标准通用标记语言(“SGML”)、超文本标记语言(“HTML”)、可扩展标记语言(“XML”)等等,以便显示和发送消息。在一个实施例中,客户端设备的用户可以采用浏览器应用来通过网络(在线)实施各种活动。但是也可以使用另一项应用来实施各种在线活动。A web-enabled client device may include a browser application configured to receive and send web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like using virtually any web-based language, including wireless application protocol ("WAP") messages and the like. In one embodiment, the browser is enabled to use Handheld Device Markup Language ("HDML"), Wireless Markup Language ("WML"), WMLScript, JavaScript, Standard Generalized Markup Language ("SGML"), Hypertext Markup Language ("HTML"), Extensible Markup Language ("XML"), and the like to display and send messages. In one embodiment, a user of the client device may use the browser application to perform various activities over the network (online). However, various online activities may also be performed using another application.

客户端设备102-105还可以包括至少一项其他客户端应用,其被配置成在另一个计算设备之间接收和/或发送数据。客户端应用可以包括提供发送和/或接收内容的能力等等。客户端应用还可以提供标识其自身的信息,其中包括类型、能力、名称等等。在一个实施例中,客户端设备102-105可以通过多种机制当中的任一种唯一地标识其自身,其中包括电话号码、移动标识号(“MIN”)、电子序列号(“ESN”)或者其他移动设备标识符。所述信息还可以表明移动设备被允许采用的内容格式。这样的信息可以被提供在网络分组中等等,并且在其他客户端设备、UDSS 109或其他计算设备之间发送。The client devices 102-105 may also include at least one other client application that is configured to receive and/or send data between another computing device. The client application may include the ability to send and/or receive content, etc. The client application may also provide information identifying itself, including type, capabilities, name, etc. In one embodiment, the client device 102-105 may uniquely identify itself through any of a variety of mechanisms, including a telephone number, mobile identification number ("MIN"), electronic serial number ("ESN"), or other mobile device identifier. The information may also indicate the content format that the mobile device is allowed to use. Such information may be provided in network packets, etc., and sent between other client devices, UDSS 109, or other computing devices.

客户端设备102-105还可以被配置成包括客户端应用,其允许末端用户登录到可以通过另一个计算设备管理的末端用户帐户,所述另一个计算设备比如是UDSS 109、UDAS111等等。在一个非限制性实例中,这样的末端用户帐户可以被配置成允许末端用户管理一项或多项在线活动,这在一个非限制性实例中包括搜索活动、社交网络活动、浏览各种网站、与其他用户通信、参与游戏、与各种应用交互等等。但是对于在线活动的参与也可以在无需登录到末端用户帐户的情况下实施。The client devices 102-105 may also be configured to include a client application that allows an end user to log into an end user account that can be managed through another computing device, such as UDSS 109, UDAS 111, etc. In a non-limiting example, such an end user account may be configured to allow the end user to manage one or more online activities, which in a non-limiting example include search activities, social networking activities, browsing various websites, communicating with other users, participating in games, interacting with various applications, etc. However, participation in online activities may also be carried out without logging into an end user account.

无线网络107被配置成将客户端设备103-105及其组件与网络108耦合。无线网络107可以包括多种无线子网络当中的任一种,其还可以覆盖独立的自组织网络等等,以便为客户端设备102-105提供面向基础设施的连接。这样的子网络可以包括网状网络、无线LAN(“WLAN”)网络、蜂窝网络等等。在一个实施例中,所述系统可以包括多于一个无线网络。Wireless network 107 is configured to couple client devices 103-105 and their components to network 108. Wireless network 107 may include any of a variety of wireless subnetworks, which may also encompass independent ad hoc networks, etc., to provide infrastructure-oriented connectivity for client devices 102-105. Such subnetworks may include mesh networks, wireless LAN ("WLAN") networks, cellular networks, etc. In one embodiment, the system may include more than one wireless network.

无线网络107还可以包括通过无线无线电链路等等连接的终端、网关、路由器等等的自主系统。这些连接器可以被配置成自由并且随机地移动,并且对其自身进行任意组织,从而使得无线网络107的拓扑可以快速改变。The wireless network 107 may also include an autonomous system of terminals, gateways, routers, etc. connected by wireless radio links, etc. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, so that the topology of the wireless network 107 may change rapidly.

无线网络107还可以采用多种接入技术,其中包括用于蜂窝网络的第二代(2G)、第三代(3G)、第四代(4G)无线电接入、WLAN、无线路由器(“WR”)网格等等。例如2G、3G、4G之类的接入技术以及未来的接入网络可以允许针对移动设备的广域覆盖,比如具有各种程度的移动性的客户端设备103-105。在一个非限制性实例中,无线网络107可以允许通过无线电网络接入的无线电连接,比如全球移动通信系统(“GSM”)、通用分组无线电服务(“GPRS”)、增强型数据GSM环境(“EDGE”)、宽带码分多址(“WCDMA”)等等。实质上,无线网络107可以包括使得信息可以在客户端设备103-105与另一个计算设备、网络等等之间行进的几乎任何无线通信机制。The wireless network 107 may also employ a variety of access technologies, including second generation (2G), third generation (3G), fourth generation (4G) radio access for cellular networks, WLAN, wireless router ("WR") mesh, and the like. Access technologies such as 2G, 3G, 4G, and future access networks may allow wide area coverage for mobile devices, such as client devices 103-105 with varying degrees of mobility. In one non-limiting example, the wireless network 107 may allow radio connectivity through radio network access, such as Global System for Mobile Communications ("GSM"), General Packet Radio Service ("GPRS"), Enhanced Data GSM Environment ("EDGE"), Wideband Code Division Multiple Access ("WCDMA"), and the like. In essence, the wireless network 107 may include nearly any wireless communication mechanism that enables information to travel between the client devices 103-105 and another computing device, a network, and the like.

网络108被配置成将网络设备与包括UDSS 109、UDAS 111在内的其他计算设备耦合,并且通过无线网络107耦合到客户端设备102-105。网络108被允许采用任何形式的计算机可读介质以用于从一个电子设备向另一个电子设备传送信息。此外,网络108除了LAN之外还可以包括因特网、WAN、直接连接(比如通过通用串行总线(“USB”)端口)、其他形式的计算机可读介质或者其任意组合。在LAN的互连集合上(其中包括基于不同的架构和协议的那些LAN),路由器充当LAN之间的链接,从而允许从一个LAN向另一个LAN发送消息。此外,LAN内的通信链路通常包括双绞线或同轴电缆,网络之间的通信链路则可以利用模拟电话线、包括T1、T2、T3和/或T4的完全或部分专用数字线路以及/或者其他载体机制,其中例如包括E载体、综合服务数字网络(“ISDN”)、数字订户线(“DSL”)、包括卫星链路在内的无线链路或者本领域技术人员已知的其他通信链路。此外,通信链路还可以采用多种数字信令技术当中的任一种,其中例如包括而不限于DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48等等。此外,远程计算机和其他有关的电子设备可以通过调制解调器和临时电话链路远程连接到LAN或WAN。在一个实施例中,网络108可以被配置成传输互联网协议(“IP”)的信息。实质上,网络108包括使得信息可以在计算设备之间行进的任何通信方法。Network 108 is configured to couple network devices with other computing devices, including UDSS 109 and UDAS 111, and to client devices 102-105 via wireless network 107. Network 108 is permitted to utilize any form of computer-readable media for transmitting information from one electronic device to another. Furthermore, network 108 may include, in addition to a LAN, the Internet, a WAN, a direct connection (such as via a Universal Serial Bus ("USB") port), other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs (including those based on different architectures and protocols), routers act as links between LANs, allowing messages to be sent from one LAN to another. While communication links within a LAN typically include twisted pair or coaxial cable, communication links between networks may utilize analog telephone lines, fully or partially dedicated digital lines including T1, T2, T3, and/or T4, and/or other carrier mechanisms, including, for example, E-carrier, Integrated Services Digital Network ("ISDN"), Digital Subscriber Line ("DSL"), wireless links including satellite links, or other communication links known to those skilled in the art. In addition, the communication link can also use any of a variety of digital signaling technologies, including, for example, but not limited to, DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48, etc. In addition, remote computers and other related electronic devices can be remotely connected to the LAN or WAN via a modem and a temporary telephone link. In one embodiment, the network 108 can be configured to transmit Internet Protocol ("IP") information. Essentially, the network 108 includes any communication method that allows information to travel between computing devices.

此外,通信介质通常具体实现计算机可读指令、数据结构、程序模块或者其他传输机制,并且包括任何信息递送介质。举例来说,通信介质包括例如双绞线、同轴电缆、光纤、波导和其他有线介质之类的有线介质,以及例如声学、RF、红外和其他无线介质之类的无线介质。Furthermore, communication media typically embodies computer-readable instructions, data structures, program modules, or other transport mechanisms, and includes any information delivery media. For example, communication media includes wired media such as twisted pair, coaxial cable, optical fiber, waveguides, and other wired media, and wireless media such as acoustic, RF, infrared, and other wireless media.

后面结合图3更加详细地描述了UDSS 109的一个实施例。但是简而言之,UDSS 109包括几乎任何网络设备,其可用来从客户端设备102-105、网站服务器110、提供对于无线网络107的访问的载体网络、提供对于网络107和108的访问的服务提供商等等收集用户数据,并且将所收集的用户数据提供到UDAS 111。在一些实施例中,UDSS 109可以作为网站服务器操作,其从访问由UDSS 109托管的网站和/或由例如网站服务器110之类的其他装置托管的其他网站收集用户数据。在其他实施例中,UDSS 109可以作为服务器操作,其对于例如智能电话应用程序之类的应用在线存储数据。在各个实施例的至少其中一个中,UDSS 109可以收集唯一用户数据、非唯一用户数据和/或其任意组合。在至少一个实施例中,UDSS 109可以将所收集的用户数据提供到UDAS 111以作为聚集用户数据。可以被设置成作为UDSS109操作的设备包括各种网络设备,其中包括而不限于个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程消费电子装置、网络PC、服务器设备、网络电器等等。An embodiment of UDSS 109 is described in greater detail below in conjunction with FIG. In short, UDSS 109 comprises virtually any network device that can be used to collect user data from client devices 102-105, website server 110, carrier networks providing access to wireless network 107, service providers providing access to networks 107 and 108, and so forth, and provide the collected user data to UDAS 111. In some embodiments, UDSS 109 can operate as a website server, collecting user data from visits to websites hosted by UDSS 109 and/or other websites hosted by other devices, such as website server 110. In other embodiments, UDSS 109 can operate as a server, storing data online for applications, such as smartphone applications. In at least one of the various embodiments, UDSS 109 can collect unique user data, non-unique user data, and/or any combination thereof. In at least one embodiment, UDSS 109 can provide the collected user data to UDAS 111 as aggregated user data. Devices that may be configured to operate as UDSS 109 include a variety of network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server equipment, network appliances, and the like.

虽然图1将UDSS 109图示为单一计算设备,但是本发明不限于此。举例来说,UDSS109的一项或多项功能可以分布在一个或多个不同的网络设备上。此外,UDSS 109不限于特定配置。因此,在一个实施例中,UDSS 109可以包含用以从客户端设备102-105收集用户数据的多个网络设备。类似地,在另一个实施例中,UDSS 109可以包含利用主/从方法来操作的多个网络设备,其中UDSS 109的所述多个网络设备的其中之一操作来管理和/或以其他方式协调其他网络设备的操作。在其他实施例中,UDSS 109可以作为集群架构、对等架构和/或甚至云架构内的多个网络设备来操作。因此,本发明不应被解释成限制到单一环境,并且还设想到其他配置和架构。Although FIG1 illustrates UDSS 109 as a single computing device, the present invention is not limited thereto. For example, one or more functions of UDSS 109 may be distributed across one or more different network devices. Furthermore, UDSS 109 is not limited to a particular configuration. Thus, in one embodiment, UDSS 109 may include multiple network devices for collecting user data from client devices 102-105. Similarly, in another embodiment, UDSS 109 may include multiple network devices operating using a master/slave approach, wherein one of the multiple network devices of UDSS 109 operates to manage and/or otherwise coordinate the operations of the other network devices. In other embodiments, UDSS 109 may operate as multiple network devices within a cluster architecture, a peer-to-peer architecture, and/or even a cloud architecture. Therefore, the present invention should not be construed as limited to a single environment and other configurations and architectures are also contemplated.

后面结合图3更加详细地描述了UDAS 111的至少一个实施例。但是简而言之,UDAS111可以包括能够生成非唯一用户数据的多个聚集子集的几乎任何网络设备。在一些实施例中,UDAS 111可以响应于查询向用户数据购买者提供对应于匿名化用户的聚集用户数据的多个子集。用户数据购买者可以在在线广告宣传活动中利用所提供的聚集用户数据子集。在各个实施例的至少其中一个中,UDAS 111可以被配置成实施UDSS 109的至少其中一些操作,比如收集用户数据。可以作为UDAS 111操作的设备包括各种网络设备,其中包括而不限于个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程消费电子装置、网络PC、服务器设备、网络电器等等。At least one embodiment of the UDAS 111 is described in greater detail below in conjunction with FIG. 3 . However, in short, the UDAS 111 may comprise virtually any network device capable of generating multiple aggregated subsets of non-unique user data. In some embodiments, the UDAS 111 may provide multiple subsets of aggregated user data corresponding to anonymized users to user data buyers in response to queries. The user data buyers may utilize the provided aggregated user data subsets in online advertising campaigns. In at least one of the various embodiments, the UDAS 111 may be configured to implement at least some of the operations of the UDSS 109, such as collecting user data. Devices capable of operating as the UDAS 111 include various network devices, including, but not limited to, personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server equipment, network appliances, and the like.

虽然图1将UDAS 111图示为单一计算设备,但是本发明不限于此。举例来说,UDAS111的一项或多项功能可以分布在一个或多个不同的网络设备上。此外,UDAS 111不限于特定配置。因此,在一个实施例中,UDAS 111可以包含用以聚集用户数据的多个网络设备。类似地,在另一个实施例中,UDAS 111可以包含利用主/从方法来操作的多个网络设备,其中UDAS 111的所述多个网络设备的其中之一操作来管理和/或以其他方式协调其他网络设备的操作。在其他实施例中,UDAS111可以作为集群架构、对等架构和/或甚至云架构内的多个网络设备来操作。因此,本发明不应被解释成限制到单一环境,并且还设想到其他配置和架构。Although FIG1 illustrates UDAS 111 as a single computing device, the present invention is not limited thereto. For example, one or more functions of UDAS 111 may be distributed across one or more different network devices. Furthermore, UDAS 111 is not limited to a particular configuration. Thus, in one embodiment, UDAS 111 may include multiple network devices for aggregating user data. Similarly, in another embodiment, UDAS 111 may include multiple network devices operating using a master/slave approach, wherein one of the multiple network devices of UDAS 111 operates to manage and/or otherwise coordinate the operations of the other network devices. In other embodiments, UDAS 111 may operate as multiple network devices within a cluster architecture, a peer-to-peer architecture, and/or even a cloud architecture. Therefore, the present invention should not be construed as limited to a single environment, and other configurations and architectures are also contemplated.

说明性客户端设备Illustrative Client Devices

图2示出了可以被包括在实施本发明的实施例的系统中的客户端设备200的一个实施例。客户端设备200可以包括比图2中所示出的多很多或者少很多的组件。但是所示出的组件足以公开用于实践本发明的一个说明性实施例。客户端设备200例如可以代表图1的客户端设备102-105的至少其中之一的一个实施例。FIG2 illustrates one embodiment of a client device 200 that can be included in a system implementing an embodiment of the present invention. Client device 200 may include many more or fewer components than those shown in FIG2 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. Client device 200 may, for example, represent an embodiment of at least one of client devices 102-105 of FIG1 .

如图中所示,客户端设备200包括通过总线234与大容量存储器226通信的中央处理单元(“CPU”)202。客户端设备200还包括电力供给装置228、一个或多个网络接口236、音频接口238、显示器240、小键盘242、照明器244、视频接口246、输入/输出接口248、触觉接口250以及全球定位系统(“GPS”)接收器232。As shown, client device 200 includes a central processing unit ("CPU") 202 in communication with mass storage 226 via a bus 234. Client device 200 also includes a power supply 228, one or more network interfaces 236, an audio interface 238, a display 240, a keypad 242, an illuminator 244, a video interface 246, an input/output interface 248, a tactile interface 250, and a global positioning system ("GPS") receiver 232.

电力供给装置228向客户端设备200提供电力。可以使用可再充电或不可再充电电池来提供电力。还可以通过外部电源来提供电力,比如对电池进行补充和/或再充电的AC适配器或供电对接支架(docking cradle)。The power supply 228 provides power to the client device 200. Rechargeable or non-rechargeable batteries may be used to provide power. Power may also be provided by an external power source, such as an AC adapter or a powered docking cradle that replenishes and/or recharges the batteries.

客户端设备200可以可选地与基站(未示出)或者直接与另一个计算设备通信。网络接口236包括用于将客户端设备200耦合到一个或多个网络的电路,并且被构造成用于一种或多种通信协议和技术,其中包括而不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)、时分多址(“TDMA”)、用户数据报协议(“UDP”)、传输控制协议/互联网协议(“TCP/IP”)、短消息服务(“SMS”)、通用分组无线电服务(“GPRS”)、WAP、超宽带(“UWB”)、IEEE802.16全球微波接入互操作性(“WiMax”)、会话发起协议/实时传输协议(“SIP/RTP”)或者多种其他无线通信协议当中的任一种。网络接口236有时也被称作收发器、收发设备或者网络接口卡(“NIC”)。The client device 200 may optionally communicate with a base station (not shown) or directly with another computing device. The network interface 236 includes circuitry for coupling the client device 200 to one or more networks and is configured for one or more communication protocols and technologies, including, but not limited to, Global System for Mobile Communications ("GSM"), Code Division Multiple Access ("CDMA"), Time Division Multiple Access ("TDMA"), User Datagram Protocol ("UDP"), Transmission Control Protocol/Internet Protocol ("TCP/IP"), Short Message Service ("SMS"), General Packet Radio Service ("GPRS"), WAP, Ultra-Wideband ("UWB"), IEEE 802.16 Worldwide Interoperability for Microwave Access ("WiMax"), Session Initiation Protocol/Real-Time Transport Protocol ("SIP/RTP"), or any of a variety of other wireless communication protocols. The network interface 236 is sometimes also referred to as a transceiver, a transceiver device, or a network interface card ("NIC").

音频接口238被设置成产生并且接收例如人类语音的声音之类的音频信号。举例来说,音频接口238可以耦合到扬声器和麦克风(未示出),以便与其他人进行远程通信以及/或者生成针对某种动作的音频确认。Audio interface 238 is arranged to produce and receive audio signals such as the sound of human speech.For example, audio interface 238 can be coupled to a speaker and microphone (not shown) to communicate remotely with other people and/or generate audio confirmation for some action.

显示器240可以是液晶显示器(“LCD”)、气体等离子显示器、发光二极管(“LED”)或者与计算设备一同使用的任何其他类型的显示器。显示器240还可以包括触敏屏幕,其被设置成接收来自例如触笔或人类手指之类的物体的输入。Display 240 may be a liquid crystal display ("LCD"), a gas plasma display, a light emitting diode ("LED"), or any other type of display used with computing devices. Display 240 may also include a touch-sensitive screen configured to receive input from an object such as a stylus or a human finger.

小键盘242可以包括被设置成接收来自用户的输入的任何输入设备。举例来说,小键盘242可以包括按钮数字拨号盘或键盘。小键盘242还可以包括与选择和发送图像相关联的命令按钮。The keypad 242 may include any input device configured to receive input from a user. For example, the keypad 242 may include a button numeric dial or a keyboard. The keypad 242 may also include command buttons associated with selecting and sending images.

照明器244可以提供状态指示和/或提供光。照明器244可以对于特定时间段或者响应于事件而保持活跃。举例来说,当照明器244活跃时,其可以背光照明小键盘242上的按钮,并且可以在客户端设备被供电时保持开启。此外,照明器244还可以在实施特定动作(比如拨叫另一个客户端设备)时以各种图案背光照明这些按钮。照明器244还可以使得位于客户端设备的透明或半透明外壳内的光源响应于动作进行照明。Illuminator 244 can provide status indication and/or provide light. Illuminator 244 can remain active for a specific time period or in response to an event. For example, when illuminator 244 is active, it can backlight the buttons on keypad 242 and can remain on while the client device is powered. In addition, illuminator 244 can also backlight these buttons in various patterns when performing specific actions (such as dialing another client device). Illuminator 244 can also cause a light source located within a transparent or translucent housing of the client device to illuminate in response to an action.

视频接口246被设置成捕获视频图像,比如静止照片、视频片段、红外视频等等。举例来说,视频接口246可以耦合到数字视频摄影机、网络摄像头等等。视频接口246可以包括镜头、图像传感器以及其他电子装置。图像传感器可以包括互补金属氧化物半导体(“CMOS”)集成电路、电荷耦合设备(“CCD”)或者用于感测光的任何其他集成电路。The video interface 246 is configured to capture video images, such as still photos, video clips, infrared video, and the like. For example, the video interface 246 can be coupled to a digital video camera, a webcam, and the like. The video interface 246 can include a lens, an image sensor, and other electronics. The image sensor can include a complementary metal oxide semiconductor ("CMOS") integrated circuit, a charge coupled device ("CCD"), or any other integrated circuit for sensing light.

客户端设备200还包括用于与外部设备通信的输入/输出接口248,比如头戴式耳机或者未在图2中示出的其他输入或输出设备。输入/输出接口248可以利用一种或多种通信技术,比如USB、红外、BluetoothTM等等。触觉接口250被设置成向客户端设备的用户提供触觉反馈。举例来说,触觉接口250可以被采用来当计算设备的另一个用户呼叫时以特定方式振动客户端设备200。The client device 200 also includes an input/output interface 248 for communicating with external devices, such as a headset or other input or output device not shown in FIG2 . The input/output interface 248 can utilize one or more communication technologies, such as USB, infrared, Bluetooth , etc. A tactile interface 250 is configured to provide tactile feedback to the user of the client device. For example, the tactile interface 250 can be used to vibrate the client device 200 in a specific manner when another user of the computing device calls.

GPS收发器232可以确定客户端设备200在地球表面上的物理坐标。GPS收发器232在某些实施例中可以是可选的。GPS收发器232通常输出作为纬度和经度值的位置。但是GPS收发器232还可以采用其他地理定位机制,其中包括而不限于三角定位、辅助GPS(“AGPS”)、增强型观测时间差(“E-OTD”)、蜂窝标识符(“CI”)、服务区域标识符(“SAI”)、增强型定时提前(“ETA”)、基站子系统(“BSS”)等等,以便进一步确定客户端设备200在地球表面上的物理位置。应当理解的是,在不同条件下,GPS收发器232可以在毫米尺度内确定对应于客户端设备200的物理位置;并且在其他情况下,所确定的物理位置可能没有那么精确,比如在米尺度内或者大得多的距离。但是在一个实施例中,移动设备可以通过其他组件提供可以被采用来确定设备的物理位置的其他信息,其中例如包括介质接入控制(“MAC”)地址、IP地址等等。The GPS transceiver 232 can determine the physical coordinates of the client device 200 on the Earth's surface. The GPS transceiver 232 may be optional in certain embodiments. The GPS transceiver 232 typically outputs a location as latitude and longitude values. However, the GPS transceiver 232 may also employ other geolocation mechanisms, including, but not limited to, triangulation, Assisted GPS ("AGPS"), Enhanced Observed Time Difference ("E-OTD"), Cell Identifier ("CI"), Service Area Identifier ("SAI"), Enhanced Timing Advance ("ETA"), Base Station Subsystem ("BSS"), and the like, to further determine the physical location of the client device 200 on the Earth's surface. It should be understood that under various conditions, the GPS transceiver 232 may determine the physical location corresponding to the client device 200 within millimeters; and in other cases, the determined physical location may be less precise, such as within meters or at much larger distances. However, in one embodiment, the mobile device may provide other information, including, for example, a Media Access Control ("MAC") address, an IP address, and the like, that can be employed to determine the device's physical location through other components.

大容量存储器226包括随机存取存储器(“RAM”)204、只读存储器(“ROM”)222以及其他存储装置。大容量存储器226示出了用于存储信息的计算机可读存储介质(设备)的一个实例,所述信息比如有计算机可读指令、数据结构、程序模块或其他数据。大容量存储器226存储基本输入/输出系统(“BIOS”)224以用于控制客户端设备200的低层级操作。大容量存储器还存储操作系统206以用于控制客户端设备200的操作。应当认识到,这一组件可以包括例如UNIX的某一版本或者LINUXTM之类的通用操作系统,或者包括专用客户端通信操作系统,比如Microsoft Corporation的Windows MobileTM、Apple Corporation的iOSTM、Google Corporation的AndroidTM或操作系统。所述操作系统可以包括Java虚拟机模块或者与之接口,其允许通过Java应用程序控制硬件组件和/或操作系统操作。The mass storage 226 includes random access memory ("RAM") 204, read-only memory ("ROM") 222, and other storage devices. The mass storage 226 illustrates an example of a computer-readable storage medium (device) for storing information, such as computer-readable instructions, data structures, program modules, or other data. The mass storage 226 stores a basic input/output system ("BIOS") 224 for controlling low-level operations of the client device 200. The mass storage also stores an operating system 206 for controlling the operation of the client device 200. It should be appreciated that this component may include a general-purpose operating system such as a version of UNIX or LINUX , or a dedicated client communication operating system such as Microsoft Corporation's Windows Mobile , Apple Corporation's iOS , Google Corporation's Android , or an operating system. The operating system may include or interface with a Java virtual machine module that allows control of hardware components and/or operating system operations via Java applications.

大容量存储器226还包括一个或多个数据存储装置208,其可以由客户端设备200利用来特别存储应用214和/或数据。举例来说,数据存储装置208还可以被采用来存储描述客户端设备200的各种能力的信息。所述信息随后可以基于多种事件当中的任一种被提供给另一个设备,其中包括在通信期间作为报头的一部分发送、在请求时发送等等。数据存储装置208还可以被采用来存储社交网络信息,其中包括地址簿、好友列表、别称、用户简档信息等等。此外,数据存储装置208还可以存储消息、网页内容或者多种用户生成的内容当中的任一种。所述信息的至少一部分可以被存储在网络设备200的另一个组件上,其中包括而不限于客户端设备200内的处理器可读存储介质230、盘驱动器或其他计算机可读存储介质(未示出)。The mass storage 226 also includes one or more data storage devices 208, which can be utilized by the client device 200 to store, among other things, applications 214 and/or data. For example, the data storage device 208 can also be used to store information describing various capabilities of the client device 200. The information can then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, being sent upon request, and the like. The data storage device 208 can also be used to store social network information, including address books, friend lists, nicknames, user profile information, and the like. In addition, the data storage device 208 can also store messages, web page content, or any of a variety of user-generated content. At least a portion of the information can be stored on another component of the network device 200, including, but not limited to, a processor-readable storage medium 230, a disk drive, or other computer-readable storage medium (not shown) within the client device 200.

处理器可读存储介质230可以包括通过任何方法或技术实施的易失性、非易失性、可移除和不可移除介质以用于存储信息,比如计算机或处理器可读指令、数据结构、程序模块或其他数据。计算机可读存储介质的实例包括RAM、ROM、电可擦写可编程只读存储器(“EEPROM”)、闪存或其他存储器技术,紧致盘只读存储器(“CD-ROM”)、数字通用盘(“DVD”)或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储所期望的信息并且可以由计算设备访问的任何其他物理介质。处理器可读存储介质230在这里也可以被称作计算机可读存储介质。The processor-readable storage medium 230 may include volatile, nonvolatile, removable, and non-removable media implemented by any method or technology for storing information, such as computer or processor-readable instructions, data structures, program modules, or other data. Examples of computer-readable storage media include RAM, ROM, electrically erasable programmable read-only memory ("EEPROM"), flash memory or other memory technology, compact disk read-only memory ("CD-ROM"), digital versatile disk ("DVD") or other optical storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other physical medium that can be used to store the desired information and can be accessed by a computing device. The processor-readable storage medium 230 may also be referred to herein as computer-readable storage media.

应用214可以包括计算机可执行指令,其在由客户端设备200执行时传送、接收和/或以其他方式处理网络数据。网络数据可以包括而不限于消息(例如SMS、多媒体消息服务(“MMS”)、即时消息(“IM”)、电子邮件和/或其他消息)、音频、视频,并且允许与另一个客户端设备的另一个用户进行远程通信。应用214例如可以包括消息器(messenger)216、浏览器218以及其他应用220。其他应用220可以包括而不限于日历、搜索程序、电子邮件客户端、IM应用、SMS应用、互联网协议语音(“VOIP”)应用、联系人管理器、任务管理器、转码器、数据库程序、字处理程序、安全性应用、电子数据表程序、游戏、搜索程序等等。在一些实施例中,其他应用220可以收集并且存储用户数据,其可以被提供到图1的UDSS 109。Applications 214 may include computer-executable instructions that, when executed by client device 200, transmit, receive, and/or otherwise process network data. Network data may include, without limitation, messages (e.g., SMS, Multimedia Messaging Service (MMS), Instant Messaging (IM), email, and/or other messages), audio, video, and may allow for remote communication with another user of another client device. Applications 214 may include, for example, a messenger 216, a browser 218, and other applications 220. Other applications 220 may include, without limitation, calendars, search programs, email clients, IM applications, SMS applications, Voice over Internet Protocol (VOIP) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and the like. In some embodiments, other applications 220 may collect and store user data, which may be provided to UDSS 109 of FIG. 1 .

消息器216可以被配置成利用多种消息传送通信当中的任一种来管理消息传送会话,其中包括而不限于电子邮件、SMS、IM、MMS、互联网中继聊天(“IRC”)、Microsoft IRC(“mIRC”)、简易信息聚合(“RSS”)馈送等等。例如在一个实施例中,消息器216可以被配置成IM应用,比如AOL(America Online)Instant Messenger、Yahoo!Messenger、.NETMessenger Server、ICQ(“我在找你”)等等。在一个实施例中,消息器216可以被配置成包括邮件用户代理(“MUA”),比如Elm、Pine、Message Handling(“MH”)、Outlook、Eudora、MacMail、Mozilla Thunderbird等等。在另一个实施例中,消息器216可以是被配置成集成并且采用多种消息传送协议的客户端应用,其中包括而不限于用于客户端设备200的各种推送和/或拉取机制。在一个实施例中,消息器216可以与浏览器218进行交互以便管理消息。这里所使用的术语“消息”指代多种消息传送格式或通信形式当中的任一种,其中包括而不限于电子邮件、SMS、IM、MMS、IRC等等。Messenger 216 can be configured to manage messaging sessions using any of a variety of messaging communications, including, but not limited to, email, SMS, IM, MMS, Internet Relay Chat ("IRC"), Microsoft IRC ("mIRC"), Really Simple Syndication ("RSS") feeds, and the like. For example, in one embodiment, messenger 216 can be configured as an IM application, such as AOL (America Online) Instant Messenger, Yahoo! Messenger, .NET Messenger Server, ICQ ("I'm Looking for You"), and the like. In one embodiment, messenger 216 can be configured to include a mail user agent ("MUA"), such as Elm, Pine, Message Handling ("MH"), Outlook, Eudora, MacMail, Mozilla Thunderbird, and the like. In another embodiment, messenger 216 can be a client application configured to integrate and employ a variety of messaging protocols, including, but not limited to, various push and/or pull mechanisms for client device 200. In one embodiment, messenger 216 can interact with browser 218 to manage messages. As used herein, the term "message" refers to any of a variety of messaging formats or forms of communication, including but not limited to email, SMS, IM, MMS, IRC, and the like.

浏览器218可以包括被配置成接收和显示图形、文字、多媒体、消息等等并且采用几乎任何基于web的语言的几乎任何应用。在一个实施例中,浏览器应用被允许采用HDML、WML、WMLScript、JavaScript、SGML、HTML、XML等等,以便显示和发送消息。但是可以采用多种其他基于web的编程语言当中的任一种。在一个实施例中,浏览器218可以允许客户端设备200的用户与另一个网络设备进行通信,比如图1的UDSS 109和/或UDAS 111。The browser 218 can include almost any application configured to receive and display graphics, text, multimedia, messages, etc., and can use almost any web-based language. In one embodiment, the browser application is allowed to use HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, etc. to display and send messages. However, any of a variety of other web-based programming languages can be used. In one embodiment, the browser 218 can allow the user of the client device 200 to communicate with another network device, such as the UDSS 109 and/or UDAS 111 of Figure 1.

说明性网络设备Illustrative Network Equipment

图3示出了根据本发明的一个实施例的网络设备300的一个实施例。网络设备300可以包括比图中所示出的多很多或者少很多的组件。但是所示出的组件足以公开用于实践本发明的一个说明性实施例。网络设备300可以被配置成作为服务器、客户端、对等方、主机或者任何其他设备来操作。网络设备300例如可以代表图1的UDSS 109、UDAS 111以及/或者其他网络设备。FIG3 illustrates an embodiment of a network device 300 according to an embodiment of the present invention. Network device 300 may include many more or fewer components than those shown. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. Network device 300 may be configured to operate as a server, client, peer, host, or any other device. Network device 300 may, for example, represent UDSS 109, UDAS 111, and/or other network devices of FIG1 .

网络设备300包括全部通过总线326彼此通信的中央处理单元302、处理器可读存储介质332、网络接口单元330、输入/输出接口332、硬盘驱动器334、视频显示适配器336和大容量存储器。所述大容量存储器通常包括RAM 304、ROM 322以及一个或多个永久性大容量存储设备,比如硬盘驱动器334、带驱动器、光学驱动器和/或软盘驱动器。所述大容量存储器存储操作系统306以用于控制网络设备300的操作。可以采用任何通用操作系统。还提供基本输入/输出系统(“BIOS”)以用于控制网络设备300的低层级操作。如图3中所示,网络设备300还通过网络接口单元330与因特网或者某种其他通信网络进行通信,所述网络接口单元330被构造成用于包括TCP/IP协议在内的各种通信协议。网络接口单元330有时被称作收发器、收发设备或网络接口卡(“NIC”)。Network device 300 includes a central processing unit 302, a processor-readable storage medium 332, a network interface unit 330, an input/output interface 332, a hard drive 334, a video display adapter 336, and mass storage, all of which communicate with each other via bus 326. The mass storage typically includes RAM 304, ROM 322, and one or more permanent mass storage devices, such as a hard drive 334, a tape drive, an optical drive, and/or a floppy disk drive. The mass storage stores an operating system 306 for controlling the operation of network device 300. Any general-purpose operating system can be used. A basic input/output system ("BIOS") is also provided for controlling the low-level operations of network device 300. As shown in Figure 3, network device 300 also communicates with the Internet or some other communication network via network interface unit 330, which is configured to use various communication protocols including TCP/IP. Network interface unit 330 is sometimes referred to as a transceiver, transceiver device, or network interface card ("NIC").

网络设备300还包括用于与外部设备通信的输入/输出接口332,比如键盘或者未在图3中示出的其他输入或输出设备。输入/输出接口332可以利用一种或多种通信技术,比如USB、红外、BluetoothTM等等。Network device 300 also includes an input/output interface 332 for communicating with external devices, such as a keyboard or other input or output devices not shown in Figure 3. Input/output interface 332 may utilize one or more communication technologies, such as USB, infrared, Bluetooth , and the like.

前面所描述的大容量存储器示出了另一种类型的计算机可读介质,即计算机可读存储介质和/或处理器可读存储介质,其中包括处理器可读存储介质328。处理器可读存储介质328可以包括通过任何方法或技术实施的易失性、非易失性、可移除和不可移除介质以用于存储信息,比如计算机可读指令、数据结构、程序模块或其他数据。处理器可读存储介质的实例包括RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储所期望的信息并且可以由计算设备访问的任何其他介质。The mass storage described above illustrates another type of computer-readable media, namely computer-readable storage media and/or processor-readable storage media, including processor-readable storage media 328. Processor-readable storage media 328 may include volatile, non-volatile, removable, and non-removable media implemented by any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Examples of processor-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computing device.

如图所示,数据存储装置308可以包括数据库、文本、电子数据表、文件夹、文件等等,其可以被配置来保持和存储用户帐户标识符、用户简档、电子邮件地址、IM地址和/或其他网络地址等等。数据存储装置308还可以包括程序代码、数据、算法等等,以供例如外部处理单元302之类的处理器使用来执行和实施动作。在一个实施例中,至少其中一些数据存储装置308也可能被存储在网络设备300的另一个组件上,其中包括而不限于处理器可读存储介质328、硬盘驱动器334等等。As shown, data storage 308 may include databases, files, spreadsheets, folders, documents, etc., which may be configured to maintain and store user account identifiers, user profiles, email addresses, IM addresses, and/or other network addresses, etc. Data storage 308 may also include program code, data, algorithms, etc. for use by a processor, such as external processing unit 302, to execute and implement actions. In one embodiment, at least some of data storage 308 may also be stored on another component of network device 300, including, but not limited to, processor-readable storage medium 328, hard drive 334, etc.

数据存储装置308还可以存储用户数据310。用户数据310可以存储所收集的关于客户端设备的用户的用户数据,比如图1的客户端设备102-105。在一些实施例中,用户数据310可以存储唯一用户数据、非唯一用户数据、聚集用户数据和/或其任意组合。用户数据310可以包括多种属性,比如五位邮政编码、扩展的九位邮政编码等等。The data storage device 308 may also store user data 310. The user data 310 may store user data collected about users of client devices, such as the client devices 102-105 of FIG. 1 . In some embodiments, the user data 310 may store unique user data, non-unique user data, aggregated user data, and/or any combination thereof. The user data 310 may include various attributes, such as a five-digit zip code, an extended nine-digit zip code, and the like.

所述大容量存储器还可以存储程序代码和数据。一项或多项应用314可以被加载到大容量存储器中并且运行在操作系统306上。应用程序的实例可以包括转码器、调度器、日历、数据库程序、字处理程序、超文本传输协议(“HTTP”)程序、可定制用户接口程序、IPSec应用、加密程序、安全性程序、SMS消息服务器、IM消息服务器、电子邮件服务器、帐户管理器等等。消息传送服务器316、网站服务器318、用户数据聚集者服务器320和/或用户数据供应者服务器321也可以作为应用程序被包括在应用314内。The mass storage device can also store program code and data. One or more applications 314 can be loaded into the mass storage device and run on the operating system 306. Examples of application programs can include transcoders, schedulers, calendars, database programs, word processors, hypertext transfer protocol ("HTTP") programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, etc. A messaging server 316, a website server 318, a user data aggregator server 320, and/or a user data supplier server 321 can also be included in the application 314 as application programs.

消息传送服务器316可以包括几乎任何一个或多个计算组件,其被配置和设置成转发来自消息用户代理和/或其他消息服务器的消息,并且将消息递送到例如数据存储装置308之类的本地消息存储库等等。因此,消息传送服务器316可以包括采用多种电子邮件协议当中的任一种来传送消息的消息传输管理器,其中包括而不限于简单邮件传输协议(“SMTP”)、邮局协议(“POP”)、互联网消息访问协议(“IMAP”)、网络新闻传输协议(“NNTP”)等等。消息传送服务器316还可以由消息传送服务器316的一个或多个组件管理。因此,消息传送服务器316还可以被配置成管理SMS消息、IM、MMS、IRC、RSS馈送或者多种其他消息类型当中的任一种。在一个实施例中,消息传送服务器316可以允许用户发起和/或以其他方式实施聊天会话、VOIP会话等等。The messaging server 316 may include virtually any one or more computing components configured and arranged to forward messages from a message user agent and/or other messaging servers and deliver the messages to a local message repository, such as the data store 308, or the like. Thus, the messaging server 316 may include a message transfer manager that transmits messages using any of a variety of email protocols, including, but not limited to, the Simple Mail Transfer Protocol ("SMTP"), the Post Office Protocol ("POP"), the Internet Message Access Protocol ("IMAP"), the Network News Transfer Protocol ("NNTP"), and the like. The messaging server 316 may also be managed by one or more components of the messaging server 316. Thus, the messaging server 316 may also be configured to manage SMS messages, IM, MMS, IRC, RSS feeds, or any of a variety of other message types. In one embodiment, the messaging server 316 may allow users to initiate and/or otherwise conduct chat sessions, VOIP sessions, and the like.

网站服务器318可以代表被配置成通过网络向另一个计算设备提供内容(包括消息)的多种信息和服务当中的任一种。因此,网站服务器318例如可以包括web服务器、文件传输协议(“FTP”)服务器、数据库服务器、内容服务器等等。网站服务器318可以利用多种格式当中的任一种通过网络提供包括消息的内容,所述格式包括而不限于WAP、HDML、WML、SGML、HTML、XML、紧凑型HTML(“cHTML”)、可扩展HTML(“xHTML”)等等。网站服务器318还可以被配置成允许客户端设备(比如图1的客户端设备102-105)的用户浏览网站、上传用户数据、观看并且与广告进行交互等等。The website server 318 can represent any of a variety of information and services configured to provide content (including messages) to another computing device over a network. Thus, the website server 318 can include, for example, a web server, a file transfer protocol ("FTP") server, a database server, a content server, and the like. The website server 318 can provide content, including messages, over a network using any of a variety of formats, including, but not limited to, WAP, HDML, WML, SGML, HTML, XML, compact HTML ("cHTML"), extensible HTML ("xHTML"), and the like. The website server 318 can also be configured to allow users of client devices (such as the client devices 102-105 of FIG. 1 ) to browse websites, upload user data, view and interact with advertisements, and the like.

用户数据聚集者服务器320被配置成聚集用户数据以便提供给用户数据购买者以用于广告宣传活动。在一个实施例中,用户数据聚集者服务器320可以被配置成从用户数据供应者服务器321接收所收集的用户数据。在一些实施例中,用户数据聚集者服务器320可以接收针对用户数据的查询。基于所述查询,用户数据聚集者服务器320可以生成聚集用户数据的多个子集。在一些实施例中,用户数据聚集者服务器320可以被包括在网络设备中,比如图1的UDAS 111。The user data aggregator server 320 is configured to aggregate user data for provision to user data buyers for use in advertising campaigns. In one embodiment, the user data aggregator server 320 may be configured to receive collected user data from a user data supplier server 321. In some embodiments, the user data aggregator server 320 may receive queries for user data. Based on the queries, the user data aggregator server 320 may generate multiple subsets of the aggregated user data. In some embodiments, the user data aggregator server 320 may be included in a network device, such as the UDAS 111 in FIG. 1 .

用户数据供应者服务器321被配置成收集用户数据。在一个实施例中,用户数据供应者服务器321可以被配置成将所收集的用户数据提供到用户数据聚集者服务器320。在一些实施例中,用户数据聚集者服务器320可以收集和/或提供唯一用户数据和/或非唯一用户数据。在一个实施例中,用户数据聚集者服务器320可以聚集所收集的用户数据。在一些实施例中,用户数据供应者服务器321可以被包括在网络设备中,比如图1的UDSS 109。The user data provider server 321 is configured to collect user data. In one embodiment, the user data provider server 321 may be configured to provide the collected user data to the user data aggregator server 320. In some embodiments, the user data aggregator server 320 may collect and/or provide unique user data and/or non-unique user data. In one embodiment, the user data aggregator server 320 may aggregate the collected user data. In some embodiments, the user data provider server 321 may be included in a network device, such as the UDSS 109 of FIG. 1 .

总体操作Overall operation

现在将关于图4-6描述本发明的某些方面的操作。图4示出了总体上示出用于解析针对用户数据的查询并且向用户数据购买者提供聚集用户数据的总览处理的一个实施例的逻辑流程图。在一些实施例中,图4的处理400可以由单一网络设备(比如图3的网络设备300)实施并且/或者在单一网络设备上执行。在其他实施例中,图4的处理400或者处理400的某些部分可以由多个网络设备,比如图3的网络设备300实施并且/或者在多个网络设备上执行。The operation of certain aspects of the present invention will now be described with respect to Figures 4-6. Figure 4 illustrates a logic flow diagram generally illustrating one embodiment of a process for resolving queries for user data and providing an overview of aggregated user data to a user data buyer. In some embodiments, process 400 of Figure 4 can be implemented by and/or executed on a single network device (such as network device 300 of Figure 3). In other embodiments, process 400 of Figure 4, or portions of process 400, can be implemented by and/or executed on multiple network devices, such as network device 300 of Figure 3.

在开始方框之后,处理400开始于方框402,后面将结合图5更加详细地进行描述。但是简而言之,在方框402处,可以收集、聚集并且索引关于多个用户的用户数据,从而可以对用户数据进行搜索。在一些实施例中,用户数据可以由一个或多个用户数据供应者,比如图1的UDSS 109来收集,并且被提供到用户数据聚集者,比如图1的UDAS 111。在其他实施例中,用户数据聚集者(比如图1的UDAS 111)自身可以收集用户数据的至少一部分。After the start block, process 400 begins at block 402, which will be described in more detail below in conjunction with FIG5. Briefly, however, at block 402, user data about a plurality of users may be collected, aggregated, and indexed so that the user data can be searched. In some embodiments, the user data may be collected by one or more user data providers, such as UDSS 109 of FIG1 , and provided to a user data aggregator, such as UDAS 111 of FIG1 . In other embodiments, a user data aggregator (such as UDAS 111 of FIG1 ) may itself collect at least a portion of the user data.

接下来处理400继续到方框404,后面将结合图6更加详细地进行描述。但是简而言之,在方框404处,解析针对已索引用户数据的查询,并且在聚集用户数据的多个子集中提供其结果。在一些实施例中,所述查询可以接收自用户数据购买者。在其他实施例中,所述查询可以由用户数据聚集者提供。在至少一个实施例中,用户数据聚集者可以向用户数据购买者提供针对查询的预先解析的结果。处理400在方框406处继续,其中可以将聚集用户数据提供给用户数据购买者。在一些实施例中,可以将聚集用户数据提供给用户数据购买者,以交换针对聚集用户数据的付费。在各个实施例的至少其中一个中,聚集用户数据可以包括非唯一用户数据的多个聚集子集。在各个实施例的至少其中一个中,非唯一用户数据的每一个聚集子集可以包括唯一地标识该子集的标识符。在一个实施例中,聚集用户数据可以被销售、许可、租借和/或以其他方式被提供给用户数据购买者。在一些实施例中,可以在预定义的限制下将聚集用户数据提供给用户数据购买者。这样的预定义限制可以包括而不限于对于预定时间量、对于特定目的(例如特定目标化广告宣传活动)等等使用所述聚集用户数据。在一个实施例中,每一项预定义限制可以与来自用户数据购买者的不同付费金额相关联。Process 400 then continues to block 404, which will be described in more detail below in conjunction with FIG. 6 . Briefly, however, at block 404, a query against the indexed user data is parsed, and its results are provided in multiple subsets of the aggregated user data. In some embodiments, the query may be received from a user data purchaser. In other embodiments, the query may be provided by a user data aggregator. In at least one embodiment, the user data aggregator may provide pre-parsed results for the query to the user data purchaser. Process 400 continues at block 406, where the aggregated user data may be provided to the user data purchaser. In some embodiments, the aggregated user data may be provided to the user data purchaser in exchange for payment for the aggregated user data. In at least one of the various embodiments, the aggregated user data may include multiple aggregated subsets of non-unique user data. In at least one of the various embodiments, each aggregated subset of non-unique user data may include an identifier uniquely identifying the subset. In one embodiment, the aggregated user data may be sold, licensed, leased, and/or otherwise provided to the user data purchaser. In some embodiments, the aggregated user data may be provided to the user data purchaser under predefined restrictions. Such predefined restrictions may include, but are not limited to, using the aggregated user data for a predetermined amount of time, for a specific purpose (e.g., a specific targeted advertising campaign), etc. In one embodiment, each predefined restriction may be associated with a different payment amount from the user data buyer.

在一些实施例中,非唯一用户数据的每一个聚集子集可以包括与对应于该子集的用户有关而没有唯一地标识各个单独用户的一般信息。在一个非穷举性并且非限制性的实例中,非唯一用户数据的子集可以表明存在14个女性用户和17个男性用户;七个用户是律师并且是社交媒体站点1的成员;六个用户喜欢钓鱼,11个用户喜欢美式足球;一个用户是教师;并且八个用户使用公共交通。在这样的实例中,非唯一用户数据的子集可以不标识出哪些用户既是律师又喜欢美式足球,所述教师是否使用公共交通等等。In some embodiments, each aggregated subset of non-unique user data may include general information about the users corresponding to the subset without uniquely identifying each individual user. In one non-exhaustive and non-limiting example, the subset of non-unique user data may indicate that there are 14 female users and 17 male users; seven users are lawyers and members of social media site 1; six users like fishing, 11 users like American football; one user is a teacher; and eight users use public transportation. In such an example, the subset of non-unique user data may not identify which users are both lawyers and like American football, whether the teacher uses public transportation, etc.

在其他实施例中,非唯一用户数据的每一个聚集子集可以包括用以表明满足某项查询或者对其具有相关性的与所述子集相关联的用户数目的权重或其他因数。举例来说,一项查询可以是针对作为邮政编码98101中的律师的女性用户,其通过扩展九位邮政编码来聚集。非唯一用户数据的每一个聚集子集可以对应于邮政编码98101中的一个不同的扩展九位邮政编码,并且每一个子集可以包括用以表明作为该扩展邮政编码中的律师的女性用户的数目的权重。In other embodiments, each aggregated subset of non-unique user data may include a weight or other factor indicating the number of users associated with the subset that satisfy or are relevant to a query. For example, a query may be for female users who are lawyers in zip code 98101, aggregated by extended nine-digit zip code. Each aggregated subset of non-unique user data may correspond to a different extended nine-digit zip code within zip code 98101, and each subset may include a weight indicating the number of female users who are lawyers in that extended zip code.

在一个实施例中,所述权重可以是表明聚集子集内的满足查询的用户数目的值。在另一个实施例中,每一项权重可以对应于一个用户范围。举例来说,权重0可以表明少于两个用户满足查询,权重1可以表明两个到五个用户满足查询,后面以此类推。但是本发明不限于此,并且可以单独地采用其他权重或者与其他权重、标量、公式等等相组合。In one embodiment, the weights may be values indicating the number of users within the aggregated subset that satisfy the query. In another embodiment, each weight may correspond to a range of users. For example, a weight of 0 may indicate that fewer than two users satisfy the query, a weight of 1 may indicate that two to five users satisfy the query, and so on. However, the present invention is not limited thereto, and other weights may be employed alone or in combination with other weights, scalars, formulas, and the like.

在任何情况下,处理400接下来继续到方框408,其中可以由用户数据购买者采用聚集用户数据以使用在广告宣传活动中。这样的广告可以包括而不限于目标化横幅宣传活动、文字宣传活动、赞助搜索、视频宣传活动、直接邮件、电话营销等等。但是本发明并不严格限于广告,相反,聚集用户数据还可以被利用于其他目的,比如而不限于网站应用优化、应用个性化、一般性研究、分析等等。在一个实施例中,可以将非唯一用户数据的多个子集提供给用户数据购买者以用于在线广告宣传活动。In any case, process 400 then continues to block 408, where the aggregated user data may be employed by the user data buyer for use in an advertising campaign. Such advertising may include, but is not limited to, targeted banner campaigns, text campaigns, sponsored search, video campaigns, direct mail, telemarketing, and the like. However, the present invention is not strictly limited to advertising; rather, the aggregated user data may be utilized for other purposes, such as, but not limited to, website application optimization, application personalization, general research, analytics, and the like. In one embodiment, multiple subsets of non-unique user data may be provided to the user data buyer for use in online advertising campaigns.

在一个实施例中,用户数据购买者可以向与非唯一用户数据的多个聚集子集当中的一个或多个相关联的用户提供广告。用户数据购买者可以基于聚集子集的权重来向与所述聚集子集相关联的用户提供广告。举例来说,用户数据购买者可以向与包括高于最小阈值的权重的非唯一用户数据的聚集子集相关联的用户提供广告,所述最小阈值例如是3(在本例中假设权重范围是从0-5)。但是本发明不限于此,并且用户数据购买者可以基于其他标准,比如而不限于与聚集用户数据相关联的其他属性等等,向用户提供广告。接下来,在方框408之后,处理400返回调用处理以实施其他动作。In one embodiment, the user data buyer may provide advertisements to users associated with one or more of a plurality of aggregated subsets of non-unique user data. The user data buyer may provide advertisements to users associated with the aggregated subsets based on the weights of the aggregated subsets. For example, the user data buyer may provide advertisements to users associated with an aggregated subset of non-unique user data that includes weights above a minimum threshold, such as 3 (assuming in this example that the weight range is from 0-5). However, the present invention is not limited thereto, and the user data buyer may provide advertisements to users based on other criteria, such as, but not limited to, other attributes associated with the aggregated user data, and the like. Next, after block 408, processing 400 returns to the calling process to implement other actions.

图5示出了总体上示出用于收集和存储用户数据的处理的一个实施例的逻辑流程图。在一些实施例中,图5的处理500可以由单一网络设备(比如图3的网络设备300)实施并且/或者在单一网络设备上执行。在其他实施例中,图5的处理500或者处理500的某些部分可以由多个网络设备(比如图3的网络设备300)实施并且/或者在多个网络设备上执行。在一个实施例中,处理500可以由用户数据供应者和/或用户数据聚集者实施并且/或者在用户数据供应者和/或用户数据聚集者上执行,比如分别是图1的UDSS 109和/或UDAS 111。FIG5 illustrates a logic flow diagram generally illustrating one embodiment of a process for collecting and storing user data. In some embodiments, process 500 of FIG5 can be implemented by and/or executed on a single network device (e.g., network device 300 of FIG3 ). In other embodiments, process 500 of FIG5 , or portions thereof, can be implemented by and/or executed on multiple network devices (e.g., network device 300 of FIG3 ). In one embodiment, process 500 can be implemented by and/or executed on a user data provider and/or user data aggregator, such as UDSS 109 and/or UDAS 111 of FIG1 , respectively.

在开始方框之后,处理500开始于方框501,其中可以接收用户数据。所接收的用户数据可以包括关于多个用户的用户数据。在一些实施例中,用户数据可以由用户直接提供,比如用户简档数据等等。在其他实施例中,用户数据可以从用户间接接收,例如用户与网站的交互等等。在一些实施例中,用户可以选择加入(opt in)并且具有关于该用户收集的用户数据。在其他实施例中,用户可以选择退出(opt out)并且不具有关于该用户收集的用户数据。After the start block, process 500 begins at block 501 where user data may be received. The received user data may include user data about a plurality of users. In some embodiments, the user data may be provided directly by the user, such as user profile data, etc. In other embodiments, the user data may be received indirectly from the user, such as through the user's interaction with a website, etc. In some embodiments, a user may opt in and have user data collected about the user. In other embodiments, a user may opt out and not have user data collected about the user.

在一些实施例中,所接收的用户数据可以包括唯一用户数据、非唯一用户数据和/或其任意组合。在一个实施例中,唯一用户数据可以单独地标识与所述唯一用户数据相关联的每一个用户。在另一个实施例中,非唯一用户数据可以标识与所述非唯一用户数据相关联的用户而不会标识各个单独的用户。在各个实施例的至少其中一个中,用户数据可以是接收自一个或多个用户数据供应者,比如图1的UDSS 109。In some embodiments, the received user data may include unique user data, non-unique user data, and/or any combination thereof. In one embodiment, the unique user data may individually identify each user associated with the unique user data. In another embodiment, the non-unique user data may identify the user associated with the non-unique user data without identifying each individual user. In at least one of the various embodiments, the user data may be received from one or more user data providers, such as UDSS 109 of FIG. 1 .

处理500在判定方框502处继续,其中可以确定所接收的用户数据是否唯一用户数据。在一些实施例中,如果用户数据标识每一个单独的用户,则所述用户数据可以是唯一的。在一个实施例中,唯一用户数据可以包括各个单独用户的个人标识符,比如用户姓名、社会保障号码、电子邮件地址、设备标识符等等。在另一个实施例中,唯一用户数据可以不包括个人标识符,而是可以包括可以被利用来单独地标识每一个用户的多项属性。举例来说,唯一用户数据可以标识出:用户1是男性,29岁,是邮政编码98101中的会计师;用户2是男性,34岁,是邮政编码98101中的医生;用户3是女性,33岁,是邮政编码98101中的医生;后面以此类推。在本例中,用户数据可以是唯一的,这是因为每一个单独的用户由多项属性单独标识。Processing 500 continues at decision block 502, where a determination may be made as to whether the received user data is unique user data. In some embodiments, the user data may be unique if the user data identifies each individual user. In one embodiment, the unique user data may include a personal identifier for each individual user, such as a user's name, social security number, email address, device identifier, and the like. In another embodiment, the unique user data may not include a personal identifier, but may include multiple attributes that may be utilized to individually identify each user. For example, the unique user data may identify: User 1 is a male, 29 years old, and an accountant in zip code 98101; User 2 is a male, 34 years old, and a doctor in zip code 98101; User 3 is a female, 33 years old, and a doctor in zip code 98101; and so on. In this example, the user data may be unique because each individual user is individually identified by multiple attributes.

在其他实施例中,如果用户数据是对应于一组用户,则用户数据可以是非唯一的。在一个实施例中,非唯一用户数据可以标识一组用户以及关于该组用户的一般属性,但是无法唯一地标识每一个单独的用户。举例来说,非唯一用户数据可以标识具有扩展邮政编码98101-1005的20个用户。该非唯一用户数据还可以包括关于所述一组用户的属性。举例来说,在所述20个用户当中:六个用户是男性,14个用户是女性;两个用户的年龄介于20-30之间,18个用户的年龄介于30-40之间;七个用户是会计师、五个用户是医生,八个用户是教师。在本例中,由于缺少标识每一个单独用户的信息(例如标识每一个单独用户的年龄、性别和职业),因此所述用户数据可以是非唯一用户数据。In other embodiments, if the user data corresponds to a group of users, the user data may be non-unique. In one embodiment, the non-unique user data may identify a group of users and general attributes about the group of users, but cannot uniquely identify each individual user. For example, the non-unique user data may identify 20 users with the extended zip codes 98101-1005. The non-unique user data may also include attributes about the group of users. For example, among the 20 users: six users are male, 14 users are female; two users are between 20-30 years old, and 18 users are between 30-40 years old; seven users are accountants, five users are doctors, and eight users are teachers. In this example, due to the lack of information that identifies each individual user (such as the age, gender, and occupation of each individual user), the user data may be non-unique user data.

如果用户数据是唯一的,则处理流程继续到方框504;否则处理流程继续到方框506。If the user data is unique, process flow continues to block 504 ; otherwise, process flow continues to block 506 .

在方框504处,可以聚集唯一用户数据。在一个实施例中,可以将唯一用户数据聚集到非唯一用户数据中。在一些实施例中,对于唯一用户数据的聚集可以是可选的。在各个实施例的至少其中一个中,可以在一个或多个预定粒度下聚集唯一用户数据。在一些实施例中,可以基于用户数据购买者的需求、易于解析针对用户数据的查询、由用户数据聚集者预先确定等等来确定所述一个或多个预定粒度。At block 504, unique user data may be aggregated. In one embodiment, unique user data may be aggregated into non-unique user data. In some embodiments, aggregation of unique user data may be optional. In at least one of the various embodiments, unique user data may be aggregated at one or more predetermined granularities. In some embodiments, the one or more predetermined granularities may be determined based on requirements of user data buyers, ease of resolving queries for user data, predetermined by a user data aggregator, and the like.

在一些实施例中,可以通过邮政编码、扩展九位邮政编码、一项或多项属性以及/或者其任意组合来聚集唯一用户数据。继续前面的唯一用户数据实例,在一个实施例中,可以通过扩展九位邮政编码98101-1005来聚集唯一用户数据。在另一个实施例中,可以通过年龄和性别来聚集唯一用户数据。但是本发明不限于此,并且可以利用与唯一用户数据相关联的其他属性来聚集唯一用户数据,比如而不限于所访问的网站、所购买的商品、所浏览的广告、所利用的应用、社交媒体成员关系、用户的设备信息(例如设备ID(例如地区代码)、设备能力、载体等等)等等。In some embodiments, unique user data may be aggregated by zip code, extended nine-digit zip code, one or more attributes, and/or any combination thereof. Continuing with the previous unique user data example, in one embodiment, unique user data may be aggregated by extended nine-digit zip code 98101-1005. In another embodiment, unique user data may be aggregated by age and gender. However, the present invention is not limited thereto, and other attributes associated with unique user data may be utilized to aggregate unique user data, such as, but not limited to, websites visited, items purchased, ads viewed, applications utilized, social media memberships, user's device information (e.g., device ID (e.g., region code), device capabilities, carrier, etc.), and the like.

在一些实施例中,可以在多个不同粒度下聚集唯一用户数据。在一个实施例中,可以通过邮政编码来聚集或者通过一项或多项属性单独聚集唯一用户数据。在另一个实施例中,可以通过不同的属性集合来聚集唯一用户数据。处理流程随后继续到方框508。In some embodiments, unique user data may be aggregated at multiple different granularities. In one embodiment, unique user data may be aggregated by zip code or by one or more attributes alone. In another embodiment, unique user data may be aggregated by a different set of attributes. Process flow then continues to block 508.

在判定方框502处,如果所接收的用户数据是非唯一用户数据,则处理500的流程继续到方框506。在方框506处,可以聚集非唯一用户数据。在各个实施例的至少其中一个中,可以按照类似于在方框504处描述的聚集唯一用户数据的方式来聚集非唯一用户数据。在一个实施例中,可以通过邮政编码、扩展九位邮政编码、一项或多项共同属性和/或其任意组合来聚集非唯一用户数据。举例来说,一组非唯一用户数据可以包括年龄介于20-30岁之间的20个女性用户,其中七个用户是医生,九个用户是教师,四个用户是会计师。继续本例,另一组非唯一用户数据可以包括年龄介于20-30岁之间的10个女性用户,其中八个用户打高尔夫球,两个用户打软式棒球。在本例中,可以通过性别(女性用户)和年龄(20-30岁之间的用户)的共同属性将两组非唯一用户数据聚集到一组中。At decision block 502, if the received user data is non-unique user data, the flow of process 500 continues to block 506. At block 506, the non-unique user data may be aggregated. In at least one of the various embodiments, the non-unique user data may be aggregated in a manner similar to the aggregation of unique user data described at block 504. In one embodiment, the non-unique user data may be aggregated by zip code, extended nine-digit zip code, one or more common attributes, and/or any combination thereof. For example, one set of non-unique user data may include 20 female users between the ages of 20 and 30, seven of whom are doctors, nine of whom are teachers, and four of whom are accountants. Continuing with this example, another set of non-unique user data may include 10 female users between the ages of 20 and 30, eight of whom play golf and two of whom play softball. In this example, the two sets of non-unique user data may be aggregated into one set based on the common attributes of gender (female users) and age (users between the ages of 20 and 30).

在一些实施例中,可以在多个不同粒度下聚集非唯一用户数据。在一个实施例中,可以通过邮政编码来聚集并且通过一项或多项属性单独聚集非唯一用户数据。在另一个实施例中,可以通过不同的属性集合来聚集非唯一用户数据。In some embodiments, non-unique user data can be aggregated at multiple different granularities. In one embodiment, non-unique user data can be aggregated by zip code and separately aggregated by one or more attributes. In another embodiment, non-unique user data can be aggregated by a different set of attributes.

在任何情况下,处理500在方框508处继续,其中存储聚集用户数据。在一些实施例中,可以将聚集非唯一用户数据和聚集唯一用户数据组合、索引并且一同存储在共同的数据库中。在一个实施例中,可以通过邮政编码、扩展邮政编码、一项或多项共同属性和/或其任意组合来分组和存储聚集用户数据。在其他实施例中,可以分开保持和存储聚集非唯一用户数据和聚集唯一用户数据。在一个实施例中,唯一用户数据可以不被聚集,并且可以由单独的用户存储。In any case, process 500 continues at block 508 where the aggregated user data is stored. In some embodiments, the aggregated non-unique user data and the aggregated unique user data may be combined, indexed, and stored together in a common database. In one embodiment, the aggregated user data may be grouped and stored by zip code, extended zip code, one or more common attributes, and/or any combination thereof. In other embodiments, the aggregated non-unique user data and the aggregated unique user data may be maintained and stored separately. In one embodiment, unique user data may not be aggregated and may be stored by individual user.

如前所述,在各个实施例的至少其中一个中,处理500可以由用户数据供应者实施来收集用户数据。在这样一个实施例中,所收集的用户数据(即聚集非唯一用户数据、聚集唯一用户数据和/或其任意组合)可以被提供给并且存储在用户数据聚集者处以用于解析查询。As previously mentioned, in at least one of the various embodiments, process 500 may be implemented by a user data provider to collect user data. In such an embodiment, the collected user data (i.e., aggregated non-unique user data, aggregated unique user data, and/or any combination thereof) may be provided to and stored at the user data aggregator for use in resolving queries.

图6示出了总体上示出用于解析针对用户数据的查询的处理的一个实施例的逻辑流程图,这是通过基于所述查询聚集用户数据以便生成非唯一用户数据的多个子集实现的。在一些实施例中,图6的处理600可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图6的处理600或者处理600的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。FIG6 illustrates a logic flow diagram generally illustrating one embodiment of a process for resolving a query for user data by aggregating the user data based on the query to generate multiple subsets of non-unique user data. In some embodiments, process 600 of FIG6 can be implemented by and/or executed on a single network device, such as network device 300 of FIG3. In other embodiments, process 600 of FIG6, or portions thereof, can be implemented by and/or executed on multiple network devices, such as network device 300 of FIG3.

在开始方框之后,处理600开始于方框601,其中可以接收针对用户数据的查询。在一个实施例中,所述查询可以接收自用户数据购买者。在另一个实施例中,所述查询可以由用户数据聚集者确定。在一些实施例中,所述查询可以表明将要聚集的用户数据的类型。在其他实施例中,所述查询可以被利用来生成非唯一用户数据的多个聚集子集。在各个实施例的至少其中一个中,所述查询可以包括邮政编码、扩展九位邮政编码、一项或多项属性以及/或者其任意组合。在一些实施例中,可以向用户数据购买者显示图形用户接口,以便允许用户数据购买者将所述查询提供给用户数据聚集者,以用于聚集用户数据上的后续搜索。After the start block, process 600 begins at block 601 where a query for user data may be received. In one embodiment, the query may be received from a user data buyer. In another embodiment, the query may be determined by a user data aggregator. In some embodiments, the query may indicate the type of user data to be aggregated. In other embodiments, the query may be utilized to generate multiple aggregated subsets of non-unique user data. In at least one of the various embodiments, the query may include a zip code, an extended nine-digit zip code, one or more attributes, and/or any combination thereof. In some embodiments, a graphical user interface may be displayed to the user data buyer to allow the user data buyer to provide the query to the user data aggregator for subsequent searches on the aggregated user data.

在各个实施例的至少其中一个中,如果用户数据购买者对于聚集用户数据付费,则用户数据购买者可以提供查询。在一些实施例中,用户数据购买者可以在提供查询之前预先购买聚集用户数据。在一个实施例中,用户数据购买者可以对于每项查询付费,以基于查询的聚集用户数据的大小为基础付费,按照聚集用户数据的类型付费,对于聚集用户数据的特定用途付费等等。In at least one of the various embodiments, a user data buyer may provide a query if the user data buyer pays for the aggregated user data. In some embodiments, the user data buyer may pre-purchase the aggregated user data before providing the query. In one embodiment, the user data buyer may pay per query, based on the size of the aggregated user data queried, based on the type of aggregated user data, based on a specific use of the aggregated user data, and so on.

在任何情况下,处理600在判定方框602处继续,其中可以确定所述查询是否包括一项或多项属性以便聚集用户数据。在一些实施例中,所述属性可以包括一般属性,比如而不限于体育运动、旅行兴趣、性别、年龄等等。在其他实施例中,所述属性可以包括特定属性,比如而不限于男性用户、喜欢美式足球的用户等等。在一个实施例中,一项查询可以包括一般属性和特定属性。举例来说,一项查询可以包括五项属性,比如而不限于男性用户、作为社交媒体网站1的成员的用户、使用应用AAAA的用户、使用应用BBBB的用户以及喜欢美式足球的用户。如果可以通过属性聚集用户数据,则处理流程继续到方框618;否则处理流程继续到判定方框604。In any case, processing 600 continues at decision block 602, where it can be determined whether the query includes one or more attributes for aggregating user data. In some embodiments, the attributes may include general attributes, such as, but not limited to, sports, travel interests, gender, age, and the like. In other embodiments, the attributes may include specific attributes, such as, but not limited to, male users, users who like American football, and the like. In one embodiment, a query may include general attributes and specific attributes. For example, a query may include five attributes, such as, but not limited to, male users, users who are members of social media site 1, users who use application AAAA, users who use application BBBB, and users who like American football. If user data can be aggregated by attributes, the processing flow continues to block 618; otherwise, the processing flow continues to decision block 604.

在方框618处,可以通过一项或多项属性聚集用户数据。通过聚集用户数据可以生成非唯一用户数据的一个或多个子集。在一个实施例中,如果查询包括特定属性,则可以基于所述查询生成单一的一组聚集非唯一用户数据。利用前面的实例,可以从以下属性生成单一的一组聚集非唯一用户数据:男性用户,作为社交媒体网站1的成员的用户,使用应用AAAA的用户,使用应用BBBB的用户,以及喜欢美式足球的用户。所得到的聚集用户数据可以表明在满足查询属性的用户当中,20个用户打曲棍球,31个用户是教师,45个用户是社交媒体网站2的成员,后面以此类推。At block 618, user data may be aggregated by one or more attributes. Aggregating the user data may generate one or more subsets of non-unique user data. In one embodiment, if a query includes specific attributes, a single set of aggregated non-unique user data may be generated based on the query. Using the previous example, a single set of aggregated non-unique user data may be generated from the following attributes: male users, users who are members of social media site 1, users who use application AAAA, users who use application BBBB, and users who like American football. The resulting aggregated user data may indicate that, among the users who meet the query attributes, 20 users play hockey, 31 users are teachers, 45 users are members of social media site 2, and so on.

在其他实施例中,如果查询包括至少一项一般属性,则可以基于所述查询生成非唯一用户数据的多个聚集子集。举例来说,如果查询包括一般属性“体育运动”,则用户数据可以是例如曲棍球、美式足球、足球等聚集子集,但是不限于此。在一个实施例中,每一个聚集子集可以包括关于与该子集相关联的用户的附加属性。举例来说,对应于曲棍球的聚集子集可以表明存在15个男性用户、14个女性用户、5个医生等等。In other embodiments, if a query includes at least one general attribute, multiple aggregated subsets of non-unique user data may be generated based on the query. For example, if the query includes the general attribute "sports," the user data may be aggregated subsets such as, but not limited to, hockey, American football, soccer, etc. In one embodiment, each aggregated subset may include additional attributes about the users associated with that subset. For example, an aggregated subset corresponding to hockey may indicate that there are 15 male users, 14 female users, 5 doctors, and so on.

处理在判定方框604处继续,其中可以确定查询是否包括邮政编码。在一个实施例中,邮政编码可以是五位邮政编码或者其他基于位置的标识符。在一些实施例中,查询可以包括针对邮政编码的一般请求,以及/或者针对一个或多个特定邮政编码的特定请求。如果查询包括邮政编码,则处理流程继续到方框606;否则处理流程继续到判定方框608。Processing continues at decision block 604, where a determination can be made as to whether the query includes a postal code. In one embodiment, the postal code can be a five-digit postal code or other location-based identifier. In some embodiments, the query can include a general request for postal codes and/or a specific request for one or more specific postal codes. If the query includes a postal code, processing flow continues at block 606; otherwise, processing flow continues at decision block 608.

在方框606处,可以通过邮政编码聚集用户数据。在一些实施例中,如果查询包括特定邮政编码,则可以基于所述查询生成单一的一组聚集非唯一用户数据。在其他实施例中,如果查询包括针对邮政编码或者多个特定邮政编码的一般请求,则可以基于所述查询生成非唯一用户数据的多个聚集子集。At block 606, the user data may be aggregated by zip code. In some embodiments, if the query includes a specific zip code, a single set of aggregated non-unique user data may be generated based on the query. In other embodiments, if the query includes a general request for a zip code or multiple specific zip codes, multiple aggregated subsets of non-unique user data may be generated based on the query.

在一些实施例中,可以基于一项或多项属性将用户数据聚集到一组聚集用户数据中,并且随后基于邮政编码划分到非唯一用户数据的各个子集中。在其他实施例中,可以基于邮政编码将用户数据聚集到一组聚集用户数据中,并且随后基于一项或多项属性划分到非唯一用户数据的各个子集中。In some embodiments, user data may be aggregated into a set of aggregated user data based on one or more attributes, and then partitioned into subsets of non-unique user data based on zip code. In other embodiments, user data may be aggregated into a set of aggregated user data based on zip code, and then partitioned into subsets of non-unique user data based on one or more attributes.

处理在判定方框608处继续,其中可以确定查询是否包括扩展邮政编码。在一个实施例中,查询可以包括针对通过扩展邮政编码聚集的用户数据的一般请求。在这样的一个实施例中,可以生成非唯一用户数据的多个子集,其中每一个子集包括对应于一个或多个扩展邮政编码的聚集用户数据。如果查询包括针对扩展邮政编码的请求,则处理流程继续到方框610;否则处理流程继续到方框612。Processing continues at decision block 608, where a determination can be made as to whether the query includes an extended ZIP code. In one embodiment, the query can include a general request for user data aggregated by extended ZIP code. In such an embodiment, multiple subsets of non-unique user data can be generated, each subset including aggregated user data corresponding to one or more extended ZIP codes. If the query includes a request for an extended ZIP code, processing flow continues at block 610; otherwise, processing flow continues at block 612.

在方框610处,可以通过扩展邮政编码聚集用户数据。在各个实施例的至少其中一个中,通过扩展邮政编码聚集用户数据可以是指把与特定扩展邮政编码相关联的所有用户数据组合到一组中而不会(也就是独立于)标识各个单独的用户。在一些实施例中,扩展邮政编码可以是五位邮政编码加上附加的四位,其也被称作ZIP+4。在一个实施例中,所述附加的四位可以标识出五位邮政编码内的一个地址子集。但是本发明不限于ZIP+4,并且还可以采用现在已知的或者后面开发的其他基于扩展邮政编码或位置的细分标识符。At block 610, user data may be aggregated by extended ZIP code. In at least one of the various embodiments, aggregating user data by extended ZIP code may refer to grouping all user data associated with a particular extended ZIP code into a group without (i.e., independently) identifying individual users. In some embodiments, the extended ZIP code may be a five-digit ZIP code plus an additional four digits, also referred to as ZIP+4. In one embodiment, the additional four digits may identify a subset of addresses within the five-digit ZIP code. However, the present invention is not limited to ZIP+4, and other subdivision identifiers based on extended ZIP codes or locations, now known or later developed, may also be employed.

在一些其他实施例中,可以基于一项或多项属性和/或邮政编码将用户数据聚集到一组用户数据中,并且随后基于扩展邮政编码细分到非唯一用户数据的各个子集中。如前所述,在一个实施例中,非唯一用户数据的每一个子集可以包括表明满足查询的用户数目的权重。在一些其他实施例中,扩展邮政编码可以是对应于与聚集用户数据的相应子集相关联的用户组的非唯一标识符。In some other embodiments, user data can be aggregated into a set of user data based on one or more attributes and/or zip code, and then subdivided into subsets of non-unique user data based on extended zip code. As previously described, in one embodiment, each subset of non-unique user data can include a weight indicating the number of users that satisfy the query. In some other embodiments, the extended zip code can be a non-unique identifier corresponding to a group of users associated with the corresponding subset of aggregated user data.

举例来说,一项查询可以是针对通过扩展邮政编码聚集的邮政编码98101中的作为律师的男性用户。可以基于作为律师的邮政编码98101中的男性用户将用户数据聚集到单一的一组中。可以基于扩展邮政编码将所述单一聚集组细分到非唯一用户数据的各个子集中,其中每一个子集包括满足所述查询的用户数目的权重。其结果是,98101-1005可以具有权重12,98101-1010可以具有权重0,98101-1015可以具有权重25,后面以此类推。在任何情况下,处理流程随后可以继续到判定方框612。For example, a query may be for male users who are lawyers in zip code 98101, clustered by extended zip code. The user data may be clustered into a single group based on male users in zip code 98101 who are lawyers. The single clustered group may be subdivided into subsets of non-unique user data based on extended zip code, where each subset includes a weight based on the number of users that meet the query. As a result, 98101-1005 may have a weight of 12, 98101-1010 may have a weight of 0, 98101-1015 may have a weight of 25, and so on. In any case, the process flow may then continue to decision block 612.

处理600在判定方框612处继续,其中确定非唯一用户数据的每一个聚集子集是否对应于超出阈值用户数目的至少一定数量的用户。在一些实施例中,聚集子集的权重可以不同于与所述聚集子集相关联的用户数目。举例来说,49个用户可以与对应于扩展邮政编码98101-1051的聚集子集相关联,但是所述聚集子集可以具有权重5。在本例中,权重5可以表明在49个用户当中,5个用户满足所接收的查询(例如喜欢美式足球的男性用户)。Process 600 continues at decision block 612 where it is determined whether each aggregated subset of non-unique user data corresponds to at least a certain number of users that exceeds a threshold number of users. In some embodiments, the weight of an aggregated subset may be different from the number of users associated with the aggregated subset. For example, 49 users may be associated with an aggregated subset corresponding to the zip code extension 98101-1051, but the aggregated subset may have a weight of 5. In this example, a weight of 5 may indicate that, out of the 49 users, 5 users satisfy the received query (e.g., male users who like American football).

在一些实施例中,所述阈值用户数目可以是预定义的最小阈值。在一个实施例中,所述预定义最小阈值可以基于隐私标准,比如在一个非限制性实例中是10个用户。在一些实施例中,隐私标准可以是指对于保持各个单独用户的匿名性所需要的与一组聚集非唯一用户数据相关联的最小用户数目。这样的隐私标准可以由州和/或政府法律和/或法规、私有公司和/或机构等等定义。In some embodiments, the threshold number of users can be a predefined minimum threshold. In one embodiment, the predefined minimum threshold can be based on a privacy standard, such as 10 users in one non-limiting example. In some embodiments, the privacy standard can refer to the minimum number of users associated with a set of aggregated non-unique user data required to maintain the anonymity of each individual user. Such privacy standards can be defined by state and/or government laws and/or regulations, private companies and/or institutions, and the like.

在其他实施例中,所述阈值用户数目可以基于由用户数据购买者支付的金额。在一些实施例中,这样的阈值可以被称作用户粒度购买价格。在一个实施例中,用户数据购买者可以购买、租借、租用和/或以其他方式支付对应于与聚集用户数据相关联的用户数目的金额。在一些实施例中,所述阈值可以是一定用户范围,比如而不限于多于20个用户、20到100个之间的用户等等。In other embodiments, the threshold number of users may be based on an amount paid by a user data purchaser. In some embodiments, such a threshold may be referred to as a user-granularity purchase price. In one embodiment, a user data purchaser may purchase, rent, lease, and/or otherwise pay an amount corresponding to the number of users associated with the aggregated user data. In some embodiments, the threshold may be a range of users, such as, but not limited to, more than 20 users, between 20 and 100 users, and so forth.

在一些实施例中,所述阈值可以对应于与作为一个整体的聚集用户数据相关联的用户数目。在其他实施例中,所述阈值可以对应于与非唯一用户数据的每一个聚集子集相关联的用户数目。举例来说,可以为对应于多于10个用户的聚集子集固定第一价格,可以为对应于多于20个用户的聚集子集固定第二价格,可以为对应于多于100个用户的聚集子集固定第三价格,后面以此类推。In some embodiments, the threshold may correspond to the number of users associated with the aggregated user data as a whole. In other embodiments, the threshold may correspond to the number of users associated with each aggregated subset of non-unique user data. For example, a first price may be fixed for aggregated subsets corresponding to more than 10 users, a second price may be fixed for aggregated subsets corresponding to more than 20 users, a third price may be fixed for aggregated subsets corresponding to more than 100 users, and so on.

如果非唯一用户数据的每一个聚集子集对应于超出阈值用户数目的至少一定数量的用户,则处理流程继续到方框614;否则处理流程继续到方框616。在一个实施例中,如果非唯一用户数据的各个聚集子集当中的一个子集对应于超出所述阈值的至少一定数量的用户,则对于各个聚集子集当中的对应于超出所述阈值的至少一定数量的用户的子集,处理流程可以继续到方框614。虽然没有示出,但是可以根据所请求的粒度增大或减小所述阈值,所述粒度也就是可以对应于聚集用户数据的每一个子集的匿名化用户的最大数目。但是保持匿名化用户的最小阈值数目以便保护与聚集用户数据的每一个子集相关联的用户的隐私和匿名性。If each aggregated subset of non-unique user data corresponds to at least a certain number of users exceeding a threshold number of users, then process flow continues to block 614; otherwise, process flow continues to block 616. In one embodiment, if one of the aggregated subsets of non-unique user data corresponds to at least a certain number of users exceeding the threshold, then process flow may continue to block 614 for the subset of the aggregated subsets that corresponds to at least a certain number of users exceeding the threshold. Although not shown, the threshold value may be increased or decreased based on the requested granularity, i.e., the maximum number of anonymized users that may correspond to each subset of aggregated user data. However, a minimum threshold number of anonymized users is maintained to protect the privacy and anonymity of the users associated with each subset of aggregated user data.

在方框616处,可以提示用户数据购买者输入新的查询。在一些实施例中,用户数据购买者可以提供一项或多项新的和/或附加的属性、另一个邮政编码、扩展九位邮政编码等等和/或其任意组合。在一个实施例中,如果初始查询是由用户数据聚集者确定的,则用户数据聚集者可以确定新的查询。处理600随后循环到判定方框602。At block 616, the user data buyer may be prompted to enter a new query. In some embodiments, the user data buyer may provide one or more new and/or additional attributes, another zip code, an extended nine-digit zip code, and/or any combination thereof. In one embodiment, if the initial query was determined by the user data aggregator, the user data aggregator may determine the new query. Process 600 then loops to decision block 602.

在判定方框612处,如果非唯一用户数据的每一个聚集子集对应于超出可选阈值用户数目的至少一定数量的用户,则处理流程继续到方框614。在方框614处,可以向用户数据购买者提供聚集用户数据。在一些实施例中,方框614可以采用图4的方框406的实施例来向用户数据购买者提供聚集用户数据。在方框614之后,处理600返回调用处理以实施其他动作。At decision block 612, if each aggregated subset of non-unique user data corresponds to at least a certain number of users exceeding a selectable threshold number of users, process flow continues to block 614. At block 614, the aggregated user data may be provided to a user data buyer. In some embodiments, block 614 may employ the embodiment of block 406 of FIG. 4 to provide the aggregated user data to a user data buyer. After block 614, process 600 returns to the calling process to perform other actions.

图7示出了总体上示出用于收集和存储用户数据的处理的一个替换实施例的逻辑流程图。在一些实施例中,图7的处理700可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图7的处理700或者处理700的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。FIG7 illustrates a logic flow diagram generally illustrating an alternative embodiment of a process for collecting and storing user data. In some embodiments, process 700 of FIG7 may be implemented by and/or executed on a single network device, such as network device 300 of FIG3. In other embodiments, process 700 of FIG7 or portions of process 700 may be implemented by and/or executed on multiple network devices, such as network device 300 of FIG3.

在开始方框之后,处理700开始于方框701,其中可以接收用户数据。在一个实施例中,方框701可以采用图5的方框501的实施例以接收用户数据。After the start block, process 700 begins at block 701 where user data may be received. In one embodiment, block 701 may employ the embodiment of block 501 of FIG. 5 to receive user data.

处理700继续到判定方框702,其中可以确定所接收的用户数据是否包括对应于所述用户数据的唯一标识符(“ID”)。所述唯一ID可以由用户数据聚集者生成,比如图1的UDAS111,并且被提供给用户数据供应者,比如图1的UDSS 109。在一些实施例中,在向图1的UDAS111提供用户数据时,图1的UDSS 109可以包括唯一ID。在各个实施例的至少其中一个中,唯一用户数据、非唯一用户数据、聚集唯一用户数据、聚集非唯一用户数据和/或其任意组合可以与一个或多个唯一ID相关联(例如来自扩展九位邮政编码98101-1001的用户数据可以与第一唯一ID相关联,并且还可以与对应于邮政编码98101的第二唯一ID相关联)。Process 700 continues to decision block 702, where a determination may be made as to whether the received user data includes a unique identifier ("ID") corresponding to the user data. The unique ID may be generated by a user data aggregator, such as UDAS 111 of FIG. 1 , and provided to a user data provider, such as UDSS 109 of FIG. 1 . In some embodiments, UDSS 109 of FIG. 1 may include the unique ID when providing the user data to UDAS 111 of FIG. 1 . In at least one of the various embodiments, unique user data, non-unique user data, aggregated unique user data, aggregated non-unique user data, and/or any combination thereof may be associated with one or more unique IDs (e.g., user data from an extended nine-digit zip code 98101-1001 may be associated with a first unique ID and may also be associated with a second unique ID corresponding to zip code 98101).

在一些实施例中,用户数据可以包括基于邮政编码、扩展九位邮政编码和/或一项或多项属性的唯一ID。举例来说,对应于来自邮政编码98101的应用一的男性用户的用户数据可以与第一唯一ID相关联,并且对应于来自邮政编码03301的应用一的女性用户的用户数据可以与第二唯一ID相关联。在另一个实例中,对应于应用一的用户的用户数据可以与第三唯一ID相关联。In some embodiments, user data may include a unique ID based on a zip code, an extended nine-digit zip code, and/or one or more attributes. For example, user data corresponding to a male user of Application One from zip code 98101 may be associated with a first unique ID, and user data corresponding to a female user of Application One from zip code 03301 may be associated with a second unique ID. In another example, user data corresponding to a user of Application One may be associated with a third unique ID.

如果所接收的用户数据包括唯一ID,则处理流程继续到方框712;否则处理流程继续到判定方框704。If the received user data includes a unique ID, process flow continues to block 712 ; otherwise, process flow continues to decision block 704 .

在判定方框704处,确定所接收的用户数据是否是唯一用户数据。在各个实施例的至少其中一个中,方框704可以采用图5的方框502的实施例来确定所接收的用户数据是否是唯一用户数据。如果所接收的用户数据是唯一用户数据,则处理流程继续到方框707;否则处理流程继续到方框706。At decision block 704, a determination is made as to whether the received user data is unique user data. In at least one of the various embodiments, block 704 may employ the embodiment of block 502 of FIG. 5 to determine whether the received user data is unique user data. If the received user data is unique user data, the process continues at block 707; otherwise, the process continues at block 706.

在方框707处,可以聚集唯一用户数据。在各个实施例的至少其中一个中,方框707可以采用图5的方框504的实施例来聚集唯一用户数据。处理流程随后继续到方框708。At block 707 , unique user data may be aggregated. In at least one of the various embodiments, block 707 may employ the embodiment of block 504 of FIG5 to aggregate unique user data. Process flow then continues to block 708 .

在判定方框704处,如果确定所接收的用户数据不是唯一用户数据,则处理流程继续到方框706,其中可以聚集非唯一用户数据。在各个实施例的至少其中一个中,方框706可以采用图5的方框506的实施例来聚集非唯一用户数据。At decision block 704, if it is determined that the received user data is not unique user data, then the process flow continues to block 706 where the non-unique user data may be aggregated. In at least one of the various embodiments, block 706 may employ the embodiment of block 506 of FIG. 5 to aggregate the non-unique user data.

处理700在方框708处继续,其中对于聚集用户数据生成新的唯一ID。在各个实施例的至少其中一个中,可以基于邮政编码、扩展九位邮政编码、一项或多项属性的唯一组合和/或其任意组合来生成所述新的唯一ID。在一些实施例中,可以对于聚集用户数据生成多个新的唯一ID,其中每一新的唯一ID基于属性、邮政编码和/或扩展九位邮政编码的不同组合。Process 700 continues at block 708, where a new unique ID is generated for the aggregated user data. In at least one of the various embodiments, the new unique ID may be generated based on a zip code, an extended nine-digit zip code, a unique combination of one or more attributes, and/or any combination thereof. In some embodiments, multiple new unique IDs may be generated for the aggregated user data, where each new unique ID is based on a different combination of attributes, zip code, and/or extended nine-digit zip code.

继续到方框710,可以将新的唯一ID提供给用户数据供应者。在一些实施例中,可以通过电子邮件等等将所述新的唯一ID提供给用户数据供应者,比如UDSS 109。Continuing to block 710, the new unique ID may be provided to the user data provider. In some embodiments, the new unique ID may be provided to the user data provider, such as UDSS 109, via email or the like.

继续到方框712,可以在所述唯一ID下存储用户数据。在一个实施例中,方框712可以采用图5的方框508的实施例来存储用户数据。在一些实施例中,可以利用唯一ID将来自一个用户数据供应者的用户数据匹配到来自另一个用户数据供应者的用户数据。举例来说,第一用户数据供应者和第二用户数据供应者可以在相同的唯一ID下提供对应于邮政编码98101的用户的用户数据。在方框712之后,处理返回调用处理以实施其他动作。Continuing at block 712, the user data can be stored under the unique ID. In one embodiment, block 712 can employ the embodiment of block 508 of FIG. 5 to store the user data. In some embodiments, the unique ID can be utilized to match user data from one user data provider to user data from another user data provider. For example, a first user data provider and a second user data provider can provide user data corresponding to a user in zip code 98101 under the same unique ID. After block 712, processing returns to the calling process to perform other actions.

图8示出了使用情况的一个实施例,其中示出了可以被利用来从用户数据供应者收集用户数据并且向用户数据购买者提供聚集用户数据的系统的系统图示。系统800可以包括用户数据供应者801、用户数据供应者802、用户数据聚集者803和用户数据购买者804。用户数据供应者801和802可以是例如图1的UDSS 109之类的用户数据供应者。用户数据聚集者803可以是例如图1的UDAS 111之类的用户数据聚集者。FIG8 illustrates one embodiment of a use case, showing a system diagram of a system that can be utilized to collect user data from user data suppliers and provide aggregated user data to user data buyers. System 800 may include user data suppliers 801, user data suppliers 802, user data aggregators 803, and user data buyers 804. User data suppliers 801 and 802 may be user data suppliers such as UDSS 109 of FIG1 . User data aggregators 803 may be user data aggregators such as UDAS 111 of FIG1 .

用户数据聚集者803可以从用户数据供应者801和用户数据供应者802收集用户数据,并且将聚集用户数据提供给用户数据购买者804。The user data aggregator 803 may collect user data from the user data supplier 801 and the user data supplier 802 and provide the aggregated user data to the user data buyer 804 .

用户数据供应者801可以为用户数据聚集者803提供关于利用“应用一”的用户的用户数据的以下实例:存在来自邮政编码98101的100个男性用户,其中70个用户喜欢钓鱼并且60个用户喜欢美式足球。用户数据供应者802可以为用户数据聚集者803提供关于利用“应用二”的用户的用户数据的以下实例:存在来自邮政编码98101的40个男性用户,其中25个教师。User data provider 801 may provide user data aggregator 803 with the following example of user data regarding users utilizing “Application One”: there are 100 male users from zip code 98101, 70 of whom like fishing and 60 of whom like American football. User data provider 802 may provide user data aggregator 803 with the following example of user data regarding users utilizing “Application Two”: there are 40 male users from zip code 98101, 25 of whom are teachers.

用户数据聚集者803可以收集并且存储来自用户数据供应者801和802的用户数据。用户数据聚集者803可以从用户数据购买者804接收针对用户数据的查询。在一个非限制性实例中,所述查询可以针对通过扩展九位邮政编码聚集的来自邮政编码98101的男性用户。用户数据聚集者803可以利用所述查询把接收自用户数据供应者801和802的用户数据聚集到非唯一用户数据的多个聚集子集中,这例如是通过使用图6的处理600而实现的。举例来说,对应于扩展邮政编码98101-1005的子集1可以表明7个男性用户喜欢钓鱼,6个男性用户喜欢美式足球,并且2个男性用户是教师,对应于扩展邮政编码98101-1010的子集2可以表明2个男性用户喜欢足球,并且3个男性用户喜欢美式足球等等。User data aggregator 803 can collect and store user data from user data providers 801 and 802. User data aggregator 803 can receive queries for user data from user data buyers 804. In one non-limiting example, the query can be for male users from ZIP code 98101, aggregated by nine-digit ZIP extension. User data aggregator 803 can use the query to aggregate the user data received from user data providers 801 and 802 into multiple aggregated subsets of non-unique user data, for example, by using process 600 of FIG. 6 . For example, subset 1, corresponding to ZIP extensions 98101-1005, can indicate that seven male users like fishing, six male users like American football, and two male users are teachers. Subset 2, corresponding to ZIP extensions 98101-1010, can indicate that two male users like soccer, three male users like American football, and so on.

如果每一个聚集子集对应于超出预定义最小阈值(例如10个用户)的至少一定数量的用户,则用户数据聚集者803可以将非唯一用户数据的多个聚集子集提供给用户数据购买者804。The user data aggregator 803 may provide multiple aggregated subsets of non-unique user data to the user data buyer 804 if each aggregated subset corresponds to at least a certain number of users exceeding a predefined minimum threshold (eg, 10 users).

用户数据购买者804可以利用聚集用户数据来向用户提供广告。举例来说,用户数据购买者804可以向与子集1而不是子集2相关联的用户提供钓鱼广告。在另一个实例中,用户数据购买者804可以向利用“应用三”的来自邮政编码98101的男性用户提供广告(例如与钓鱼、足球、美式足球和/或教师有关的广告)。User data buyer 804 can use the aggregated user data to provide advertisements to users. For example, user data buyer 804 can provide fishing advertisements to users associated with subset 1 but not subset 2. In another example, user data buyer 804 can provide advertisements (e.g., advertisements related to fishing, soccer, American football, and/or teachers) to male users from zip code 98101 who utilize "App Three."

简档噪声匿名性Profile noise anonymity

现在将关于图9-12来描述本发明的某些方面的操作。图9示出了总体上示出用于确定直接和/或推荐属性并且将其包括在用户简档中的总览处理的一个实施例的逻辑流程图。在一些实施例中,图9的处理900可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图9的处理900或者处理900的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。在一些实施例中,在提供对应于用户(其在某些实施例中可以被称作目标用户)的数据时,可以对于多个用户当中的每一个实施处理900。The operation of certain aspects of the present invention will now be described with respect to Figures 9-12. Figure 9 shows a logic flow diagram generally illustrating one embodiment of an overview process for determining direct and/or recommended attributes and including them in a user profile. In some embodiments, process 900 of Figure 9 can be implemented by and/or performed on a single network device, such as network device 300 of Figure 3. In other embodiments, process 900 of Figure 9 or portions of process 900 can be implemented by and/or performed on multiple network devices, such as network device 300 of Figure 3. In some embodiments, process 900 can be implemented for each of a plurality of users when providing data corresponding to a user (who in some embodiments may be referred to as a target user).

在开始方框之后,处理900开始于方框902,其中可以提供对应于用户的数据。在一些实施例中,用户数据可以由用户提供,比如利用移动设备和/或其他网络设备。在至少一个实施例中,网络设备可以是已知的,从而可以从对应于用户简档的网络设备提供用户数据。在一些其他实施例中,用户数据可以由收集和/或提供用户数据的第三方实体提供,例如用户数据供应者。After the start block, process 900 begins at block 902, where data corresponding to a user may be provided. In some embodiments, the user data may be provided by the user, such as using a mobile device and/or other network device. In at least one embodiment, the network device may be known, such that the user data may be provided from a network device corresponding to the user profile. In some other embodiments, the user data may be provided by a third-party entity that collects and/or provides user data, such as a user data provider.

处理900在方框904处继续,其中可以确定对应于用户数据的至少一项直接属性。举例来说,如果用户搜索Seattle Seahawks美式足球门票,则可以确定一项或多项直接属性,其中包括而不限于用户喜欢美式足球、用户住在Seattle、用户在线购买体育运动门票等等。Process 900 continues at block 904 where at least one direct attribute corresponding to the user data may be determined. For example, if the user searches for Seattle Seahawks football tickets, one or more direct attributes may be determined including, but not limited to, that the user likes football, that the user lives in Seattle, that the user purchases sports tickets online, and so forth.

可以基于许多不同的分析工具和/或算法从所提供的用户数据确定直接属性,其中包括而不限于归类工具、分类工具、分析工具等等或者其任意组合。在一些实施例中,可以通过采用这些工具/算法确定用户数据的类型、用户数据中的关键字等等来确定直接属性。Direct attributes can be determined from the provided user data based on many different analytical tools and/or algorithms, including but not limited to classification tools, categorization tools, analysis tools, etc., or any combination thereof. In some embodiments, direct attributes can be determined by using these tools/algorithms to determine the type of user data, keywords in the user data, etc.

在至少一个实施例中,可以识别出用户数据内的和/或与用户数据相关联的一个或多个关键字。在至少一个实施例中,可以采用所述关键字以作为直接属性。举例来说,如果用户搜索花,则可以识别出关键字“花”并且将其利用为直接属性。在另一个实施例中,可以采用关键字从属性列表中选择一项或多项直接属性。所述属性列表可以是静态的和/或动态的。在一个实施例中,可以由运营商预先确定并且/或者基于简单的属性集合预先确定所述属性列表。在另一个实施例中,基于从多个用户提供的用户数据,所述属性列表可以随着时间动态地改变。In at least one embodiment, one or more keywords within and/or associated with the user data may be identified. In at least one embodiment, the keywords may be used as direct attributes. For example, if a user searches for flowers, the keyword "flowers" may be identified and used as a direct attribute. In another embodiment, the keywords may be used to select one or more direct attributes from a list of attributes. The list of attributes may be static and/or dynamic. In one embodiment, the list of attributes may be predetermined by the operator and/or based on a simple set of attributes. In another embodiment, the list of attributes may change dynamically over time based on user data provided by multiple users.

在任何情况下,处理900继续到方框906,其中可以确定至少一项推荐属性。在一些实施例中,所述推荐属性可以与直接属性有关和/或相关联,后面将结合图10和12更加详细地进行描述。但是简而言之,在一个实施例中,可以基于对应于多个用户的多项属性之间的映射来确定推荐属性,这是通过采用(如在方框904处确定的)直接属性来选择所映射的推荐属性而实现的。在另一个实施例中,可以基于其他用户的属性来确定推荐属性,所述其他用户的特征可以类似于所提供数据的用户。在其他实施例中,推荐属性可以是随机属性。在至少一个这样的实施例中,所生成的随机属性可以被采用来确定所述至少一项推荐属性。In any case, processing 900 continues to block 906, where at least one recommended attribute can be determined. In some embodiments, the recommended attribute can be related to and/or associated with a direct attribute, which will be described in more detail below in conjunction with Figures 10 and 12. But in short, in one embodiment, the recommended attribute can be determined based on a mapping between multiple attributes corresponding to multiple users, which is achieved by using the direct attribute (as determined at block 904) to select the mapped recommended attribute. In another embodiment, the recommended attribute can be determined based on attributes of other users, and the characteristics of the other users can be similar to the user of the provided data. In other embodiments, the recommended attribute can be a random attribute. In at least one such embodiment, the generated random attribute can be used to determine the at least one recommended attribute.

处理900接下来继续到方框908,其中所述至少一项直接属性和至少一项推荐属性可以被包括在用户的简档中。在至少一个实施例中,所述直接属性和推荐属性可以被存储在简档中,从而使其在简档中关于是为用户提供还是为用户推荐方面不可区分。在一些实施例中,所述属性可以被存储在简档中,而没有可以表明所述属性在何处以及/或者如何被获得(也就是说被提供还是被推荐)的任何标签、标记、描述符和/或其他标识符。因此,查看简档的人可能无法推断出哪些属性是直接属性,以及哪些属性是推荐属性。举例来说,在用户搜索Seattle Seahawk美式足球门票之后,该用户的简档可以包括以下属性:用户喜欢美式足球,用户喜欢Seattle Seahawks,住在Seattle,用户喜欢Seattle Mariners棒球队,用户购买过烤肉架,以及用户购买体育运动纪念品。但是所述简档可以排除关于哪些属性是直接属性以及哪些属性是推荐属性的指示。Process 900 then continues to block 908, where the at least one direct attribute and the at least one recommended attribute may be included in the user's profile. In at least one embodiment, the direct attributes and the recommended attributes may be stored in the profile so that they are indistinguishable in the profile as to whether they are provided or recommended for the user. In some embodiments, the attributes may be stored in the profile without any labels, tags, descriptors, and/or other identifiers that indicate where and/or how the attributes are obtained (i.e., whether they are provided or recommended). Therefore, a person viewing the profile may not be able to infer which attributes are direct attributes and which attributes are recommended attributes. For example, after a user searches for Seattle Seahawks American football tickets, the user's profile may include the following attributes: user likes American football, user likes Seattle Seahawks, lives in Seattle, user likes Seattle Mariners baseball team, user has purchased barbecue grills, and user purchases sports memorabilia. However, the profile may exclude an indication of which attributes are direct attributes and which attributes are recommended attributes.

在一些实施例中,可以向用户数据购买者提供一个或多个用户的简档的至少一部分,正如前面关于图4更加详细地描述的那样。但是简而言之,用户数据购买者可以提供针对相关用户属性的查询。可以基于所述查询确定多个用户。在至少一个实施例中,可以基于所述查询与用户简档中的属性的比较来确定所述多个用户,采用前面所描述的实施例等等。可以将查询的结果提供给用户数据购买者。在一些实施例中,所述结果可以包括基于所述查询确定的多个用户当中的每一个用户的简档的至少一部分。在至少一个实施例中,所述多个用户当中的每一个用户的简档的所述部分(即结果)可以被使用在在线广告宣传活动中。In some embodiments, at least a portion of the profile of one or more users may be provided to a user data buyer, as described in more detail above with respect to FIG. 4 . In short, however, a user data buyer may provide a query for relevant user attributes. Multiple users may be determined based on the query. In at least one embodiment, the multiple users may be determined based on a comparison of the query with attributes in the user profiles, employing the embodiments described above, and so forth. The results of the query may be provided to the user data buyer. In some embodiments, the results may include at least a portion of the profile of each of the multiple users determined based on the query. In at least one embodiment, the portion of the profile of each of the multiple users (i.e., the results) may be used in an online advertising campaign.

在任何情况下,在方框908之后,处理900可以返回调用处理以实施其他动作。在一些其他实施例中,处理900可以循环(未示出)回到方框902以提供对应于用户的附加数据(并且确定附加的直接属性和/或推荐属性并且将其包括在用户的简档中)。In any case, after block 908, process 900 may return to the calling process to perform other actions. In some other embodiments, process 900 may loop (not shown) back to block 902 to provide additional data corresponding to the user (and determine and include additional direct attributes and/or recommended attributes in the user's profile).

图10示出了总体上示出用于根据属性之间的映射确定推荐属性的处理的一个实施例的逻辑流程图。在一些实施例中,图10的处理1000可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图10的处理1000或者处理1000的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。FIG10 shows a logic flow diagram generally illustrating one embodiment of a process for determining recommended attributes based on a mapping between attributes. In some embodiments, process 1000 of FIG10 can be implemented by and/or executed on a single network device, such as network device 300 of FIG3. In other embodiments, process 1000 of FIG10 or portions of process 1000 can be implemented by and/or executed on multiple network devices, such as network device 300 of FIG3.

在开始方框之后,处理1000开始于方框1002,其在后面结合图11更加详细地进行了描述。但是简而言之,在方框1002处,可以生成多项属性之间的映射。在至少一个实施例中,所述映射可以发生在对应于具有预定分离程度的多个用户的多项属性之间。在一些实施例中,可以利用表或者其他适当的数据结构将各项属性映射到彼此。后面结合图13更加详细地描述了多项属性之间的映射的使用情况图示的一个实施例。After the start block, process 1000 begins at block 1002, which is described in more detail below in conjunction with FIG. 11 . Briefly, however, at block 1002, a mapping between multiple attributes may be generated. In at least one embodiment, the mapping may occur between multiple attributes corresponding to multiple users with a predetermined degree of separation. In some embodiments, a table or other suitable data structure may be utilized to map the attributes to each other. An embodiment of a use case diagram for mapping between multiple attributes is described in more detail below in conjunction with FIG. 13 .

在一些实施例中,所述映射可以是对应于所有用户的一般性映射。在其他实施例中,用户的不同子集(即群组)可以与不同的映射相关联。举例来说,New York City的用户可以与一项映射相关联,而Seattle(Washington)的用户则可以与不同的映射相关联。在一些实施例中,与应用于所有用户的一般性映射相比,通过采用不同的映射可以允许对于用户确定更具相关性的推荐属性。举例来说,与Seattle的用户相比,如果New York City的用户购买美式足球门票则其更有可能购买篮球门票,这是因为Seattle没有篮球队。但是实施例并不受限于此,并且实际上可以采用任何适当数目的用户映射和/或分组。In some embodiments, the mapping may be a general mapping corresponding to all users. In other embodiments, different subsets (i.e., groups) of users may be associated with different mappings. For example, users in New York City may be associated with one mapping, while users in Seattle (Washington) may be associated with a different mapping. In some embodiments, the use of different mappings may allow more relevant recommended attributes to be determined for a user compared to a general mapping applied to all users. For example, a user in New York City may be more likely to buy basketball tickets if they buy American football tickets than a user in Seattle, because Seattle does not have a basketball team. However, the embodiments are not limited thereto, and in fact any appropriate number of user mappings and/or groupings may be used.

在任何情况下,处理1000在方框1004处继续,其中可以提供对应于用户的数据。在至少一个实施例中,方框1004可以采用图9的方框902的实施例来提供用户数据。In any case, process 1000 continues at block 1004 where data corresponding to the user may be provided. In at least one embodiment, block 1004 may employ the embodiment of block 902 of FIG. 9 to provide user data.

处理1000接下来继续到方框1006,其中可以确定对应于用户数据的至少一项直接属性。在至少一个实施例中,方框1006可以采用图9的方框904的实施例来确定至少一项直接属性。Process 1000 then continues to block 1006 where at least one direct attribute corresponding to the user data may be determined. In at least one embodiment, block 1006 may employ the embodiment of block 904 of FIG. 9 to determine at least one direct attribute.

处理1000接下来在方框1008处继续,其中可以采用(如在方框1002处生成的)属性的映射来确定至少一项推荐属性。在至少一个实施例中,所述至少一项推荐属性可以对应于和/或映射到在方框1006处确定的至少一项直接属性。举例来说,如果属性“花”映射到属性“巧克力”并且对于用户所确定的直接属性是“花”,则针对该用户的推荐属性可以是“巧克力”。Process 1000 then continues at block 1008, where at least one recommended attribute may be determined using the mapping of attributes (as generated at block 1002). In at least one embodiment, the at least one recommended attribute may correspond to and/or map to the at least one direct attribute determined at block 1006. For example, if the attribute "flower" maps to the attribute "chocolate" and the direct attribute determined for the user is "flower," then the recommended attribute for the user may be "chocolate."

处理1000继续到方框1010,其中可以把所述至少一项直接属性和至少一项推荐属性包括在用户的简档中。在至少一个实施例中,方框1010可以采用图9的方框908的实施例来将属性包括在用户的简档中。Process 1000 continues to block 1010 where the at least one direct attribute and the at least one recommended attribute may be included in the user's profile. In at least one embodiment, block 1010 may employ the embodiment of block 908 of FIG. 9 to include attributes in the user's profile.

处理1000在判定方框1012处继续,其中可以确定所述映射是否可以被更新。在一些实施例中,这一确定可以基于(例如由运营商做出的)针对动态地改变属性映射的选择。在至少一个实施例中,可以更新所述映射以便包括用户简档中的推荐属性与其他属性之间的映射,以及/或者用户简档中的直接属性与其他属性之间的映射。Process 1000 continues at decision block 1012 where a determination can be made as to whether the mapping can be updated. In some embodiments, this determination can be based on a selection (e.g., made by an operator) to dynamically change attribute mappings. In at least one embodiment, the mapping can be updated to include mappings between recommended attributes and other attributes in the user profile, and/or mappings between direct attributes and other attributes in the user profile.

举例来说,假设系统确定直接属性“巧克力”和推荐属性“租用礼车”。此外,假设用户的简档包括属性“花”。在本例中,可以更新所述映射以便包括属性“巧克力”与“花”之间的关联以及属性“租用礼车”与“花”之间的关联。For example, suppose the system identifies the direct attribute "chocolate" and the recommended attribute "rent a limousine." Furthermore, suppose the user's profile includes the attribute "flowers." In this example, the mapping can be updated to include an association between the attributes "chocolate" and "flowers," as well as an association between the attributes "rent a limousine" and "flowers."

如果属性映射可以被更新,则处理1000可以循环到方框1002;否则处理1000可以循环到方框1004。If the attribute map can be updated, process 1000 may loop to block 1002 ; otherwise, process 1000 may loop to block 1004 .

图11示出了总体上示出用于生成多项属性之间的映射的处理的一个实施例的逻辑流程图。在一些实施例中,图11的处理1100可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图11的处理1100或者处理1100的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。FIG11 illustrates a logic flow diagram generally illustrating one embodiment of a process for generating a mapping between multiple attributes. In some embodiments, process 1100 of FIG11 may be implemented by and/or executed on a single network device, such as network device 300 of FIG3. In other embodiments, process 1100 of FIG11 or portions of process 1100 may be implemented by and/or executed on multiple network devices, such as network device 300 of FIG3.

在开始方框之后,处理1100开始于方框1102,其中可以确定用户样本集合。样本集合中的每一个用户可以具有相应的简档,其可以包括多项属性。在至少一个实施例中,用户样本集合可以是系统中的所有用户的一个随机子集。在另一个实施例中,用户样本集合可以是预定的用户集合。在一些其他实施例中,用户样本集合可以是具有分别包括最小数目的相同属性的简档的用户的集合。After a start block, process 1100 begins at block 1102, where a sample set of users may be determined. Each user in the sample set may have a corresponding profile, which may include multiple attributes. In at least one embodiment, the sample set of users may be a random subset of all users in the system. In another embodiment, the sample set of users may be a predetermined set of users. In some other embodiments, the sample set of users may be a set of users whose profiles each include a minimum number of identical attributes.

处理1100继续到方框1104,其中可以从用户样本集合中选择一个用户。在一些实施例中,所述用户可以被随机选择、按照预定顺序选择等等。Process 1100 continues to block 1104 where a user can be selected from the sample set of users. In some embodiments, the user can be selected randomly, in a predetermined order, or the like.

处理1100接下来继续到方框1106,其中可以选择所选用户的第一属性。在一些实施例中,所述第一属性可以被随机选择、按照预定顺序选择(例如按照字母顺序、通过属性标识符选择等等)等等。Process 1100 then continues to block 1106 where a first attribute of the selected user may be selected. In some embodiments, the first attribute may be selected randomly, in a predetermined order (e.g., alphabetically, by attribute identifier, etc.), or the like.

处理1100接下来继续到方框1108,其中可以选择所选用户的第二属性。在一些实施例中,所述第二属性可以被随机选择、按照预定顺序选择(例如按照字母顺序、通过属性标识符选择等等)等等。在其他实施例中,可以基于用以将用户简档中的每一项属性映射到所述用户简档中的每一项其他属性的方案来选择第二属性。Process 1100 then continues to block 1108, where a second attribute of the selected user may be selected. In some embodiments, the second attribute may be selected randomly, in a predetermined order (e.g., alphabetically, by attribute identifier, etc.), etc. In other embodiments, the second attribute may be selected based on a scheme that maps each attribute in a user profile to each other attribute in the user profile.

在各个实施例的至少其中一个中,可以基于第一属性的类别和第二属性的类别来选择第二属性。举例来说,如果第一属性被归类为“体育运动”,则可以把同样被归类为“体育运动”的所选用户的一项属性选择成第二属性。在一些实施例中,每一项属性可以被分组到一个或多个属性类别(和/或子类别)中。在一个非限制性、非穷尽性的实例中,属性可以被归类为体育运动、健康和美容、旅行等等。在至少一个实施例中,通过采用属性类别(和/或子类别),系统可以增加相关属性之间的映射,同时减少不相关属性的映射。在至少一个实施例中,每一项属性可以与一个或多个类别相关联。In at least one of the various embodiments, the second attribute can be selected based on the category of the first attribute and the category of the second attribute. For example, if the first attribute is categorized as "sports", an attribute of the selected user that is also categorized as "sports" can be selected as the second attribute. In some embodiments, each attribute can be grouped into one or more attribute categories (and/or subcategories). In a non-limiting, non-exhaustive example, attributes can be categorized as sports, health and beauty, travel, etc. In at least one embodiment, by adopting attribute categories (and/or subcategories), the system can increase the mapping between related attributes while reducing the mapping of irrelevant attributes. In at least one embodiment, each attribute can be associated with one or more categories.

继续到方框1110,可以将第二属性映射到第一属性。在各个实施例的至少其中一个中,将第二属性映射到第一属性可以包括比如在属性映射表或其他适当的数据结构中将所述两项属性关联。在一些实施例中(图11中未示出),可以将多于两项属性映射在一起。Continuing to block 1110, the second attribute can be mapped to the first attribute. In at least one of various embodiments, mapping the second attribute to the first attribute can include, for example, associating the two attributes in an attribute mapping table or other appropriate data structure. In some embodiments (not shown in Figure 11), more than two attributes can be mapped together.

在任何情况下,处理1100继续到判定方框1112,其中可以确定是否要把另一项第二属性映射到第一属性。在一些实施例中,这一确定可以基于与所选用户的简档相关联的属性的数目。在至少一个实施例中,可以继续选择第二属性,直到第一属性被映射到所选用户的简档中的每一项其他属性为止。如果另一项第二属性可以被映射到第一属性,则处理1100可以循环到方框1108以选择另一项第二属性;否则处理1100的流程可以继续到判定方框1114。In any case, process 1100 continues to decision block 1112, where a determination can be made as to whether another second attribute should be mapped to the first attribute. In some embodiments, this determination can be based on the number of attributes associated with the selected user's profile. In at least one embodiment, the selection of second attributes can continue until the first attribute has been mapped to every other attribute in the selected user's profile. If another second attribute can be mapped to the first attribute, process 1100 can loop back to block 1108 to select another second attribute; otherwise, flow of process 1100 can continue to decision block 1114.

在判定方框1114处,可以确定是否要选择另一项第一属性。在一些实施例中,这一确定可以是基于与所选用户的简档相关联的属性的数目而做出的。在至少一个实施例中,可以继续选择第一属性,直到所选用户的简档中的每一项属性被映射到所选用户的简档中的每一项其他属性为止。如果可以选择另一项第一属性,则处理1114可以循环到方框1106以选择另一项第一属性;否则处理1100的流程可以继续到判定方框1116。At decision block 1114, a determination can be made as to whether another first attribute should be selected. In some embodiments, this determination can be based on the number of attributes associated with the selected user's profile. In at least one embodiment, the selection of first attributes can continue until every attribute in the selected user's profile is mapped to every other attribute in the selected user's profile. If another first attribute can be selected, process 1114 can loop back to block 1106 to select another first attribute; otherwise, process 1100 can continue to decision block 1116.

在判定方框1116中,可以确定是否要选择另一个用户以映射属性。在至少一个实施例中,如果在用户样本集合中存在具有未被映射的属性的另一个用户,则可以选择另一个用户。如果可以选择另一个用户,则处理1100可以循环到方框1104;否则处理1100可以返回调用处理以实施其他动作。In decision block 1116, a determination may be made as to whether another user should be selected for attribute mapping. In at least one embodiment, if another user with unmapped attributes exists in the sample set of users, then another user may be selected. If another user can be selected, process 1100 may loop back to block 1104; otherwise, process 1100 may return to the calling process to perform other actions.

虽然图11描述了用于映射每一个单独用户的属性的迭代处理,但是实施例不限于此。例如在一些其他实施例中,如果两个或更多用户简档包括相同的属性,则可以将属性映射在一起。举例来说,如果来自用户样本集合的两个用户简档包括“棒球”和“美式足球”全部二者,则可以将“棒球”映射到“美式足球”。Although FIG11 describes an iterative process for mapping attributes for each individual user, embodiments are not limited thereto. For example, in some other embodiments, if two or more user profiles include the same attributes, the attributes may be mapped together. For example, if two user profiles from a sample set of users include both "baseball" and "American football," "baseball" may be mapped to "American football."

图12示出了总体上示出用于根据其他类似用户的属性确定对应于用户的推荐属性的处理的一个实施例的逻辑流程图。在一些实施例中,图12的处1200可以由单一网络设备实施并且/或者在单一网络设备上执行,比如图3的网络设备300。在其他实施例中,图12的处理1200或者处理1200的某些部分可以由多个网络设备实施并且/或者在多个网络设备上执行,比如图3的网络设备300。FIG12 illustrates a logic flow diagram generally illustrating one embodiment of a process for determining recommended attributes for a user based on attributes of other similar users. In some embodiments, process 1200 of FIG12 may be implemented by and/or executed on a single network device, such as network device 300 of FIG3. In other embodiments, process 1200 of FIG12 or portions thereof may be implemented by and/or executed on multiple network devices, such as network device 300 of FIG3.

在开始方框之后,处理1200开始于方框1202,其中可以提供对应于目标用户的数据。在至少一个实施例中,方框1202可以采用图9的方框902的实施例来提供用户数据。After the start block, process 1200 begins at block 1202 where data corresponding to a target user may be provided. In at least one embodiment, block 1202 may employ the embodiment of block 902 of FIG. 9 to provide user data.

处理1200继续到方框1204,其中可以确定对应于用户数据的至少一项直接属性。在至少一个实施例中,方框1204可以采用图9的方框904的实施例来确定至少一项直接属性。Process 1200 continues to block 1204 where at least one direct attribute corresponding to the user data may be determined. In at least one embodiment, block 1204 may employ the embodiment of block 904 of FIG. 9 to determine the at least one direct attribute.

处理1200接下来在方框1206处继续,其中可以确定类似于目标用户的至少一个其他用户。在一些实施例中,被确定为类似于目标用户的其他用户可以是其简档与目标用户的简档最为相似的那些用户。在至少一个实施例中,可以把多个其他用户当中的每一个的简档(其中每一个简档包括至少一项属性)与目标用户的简档进行比较。在一些实施例中,可以采用比较算法(或其他评分量度)基于相应的简档和目标用户的简档确定对应于所述多个其他用户当中的每一个的分数。Process 1200 then continues at block 1206, where at least one other user similar to the target user may be determined. In some embodiments, the other users determined to be similar to the target user may be those users whose profiles are most similar to the target user's profile. In at least one embodiment, a profile of each of the plurality of other users (where each profile includes at least one attribute) may be compared to the target user's profile. In some embodiments, a comparison algorithm (or other scoring metric) may be employed to determine a score for each of the plurality of other users based on the corresponding profile and the target user's profile.

基于多个其他用户当中的每一个的分数,可以确定所述多个其他用户当中的一个子集。在一些实施例中,所述其他用户的子集的大小(即用户数目)可以是预定数目的用户,比如10个用户。但是可以基于确定推荐属性对于目标用户的可能相关程度来修改所述其他用户的子集的大小。在一些实施例中,与其他用户的更大子集(例如20个用户)相比,其他用户的较小子集(例如五个用户)可以允许对于目标用户更具相关性的推荐属性。但是实施例不限于此。举例来说,在其他实施例中,可以根据高于一定阈值的其他用户的分数来确定所述其他用户的子集。在一些实施例中,所述阈值可以是预定的、可修改的等等。Based on the score of each of the multiple other users, a subset of the multiple other users can be determined. In some embodiments, the size of the subset of other users (i.e., the number of users) can be a predetermined number of users, such as 10 users. However, the size of the subset of other users can be modified based on determining the possible relevance of the recommended attributes to the target user. In some embodiments, a smaller subset of other users (e.g., five users) can allow recommended attributes that are more relevant to the target user compared to a larger subset of other users (e.g., 20 users). However, the embodiment is not limited to this. For example, in other embodiments, the subset of other users can be determined based on the scores of other users that are above a certain threshold. In some embodiments, the threshold can be predetermined, modifiable, and the like.

在任何情况下,处理1200接下来继续到方框1208,其中可以基于其他类似用户的属性确定至少一项推荐属性。在至少一个实施例中,所述至少一项推荐属性可以是所述其他用户的子集的简档中的属性。In any case, process 1200 then continues to block 1208 where at least one recommended attribute may be determined based on the attributes of other similar users. In at least one embodiment, the at least one recommended attribute may be an attribute in the profiles of a subset of the other users.

处理1200在判定方框1210处继续,其中可以确定推荐属性是否处于目标用户的简档中。在至少一个实施例中,这一确定可以基于所述至少一项推荐属性与当前处于目标用户的简档中的属性的比较。在一些实施例中,一些推荐属性可以处于目标用户的简档中,并且其他推荐属性可能不处于目标用户的简档中。如果推荐属性处于目标用户的简档中,则处理1200的流程可以继续到方框1214;否则处理1200的流程可以继续到方框1212。在至少一个实施例中,可以对于不处于目标用户的简档中的每一项推荐属性采用方框1212。Process 1200 continues at decision block 1210, where a determination can be made as to whether the recommended attribute is in the target user's profile. In at least one embodiment, this determination can be based on a comparison of the at least one recommended attribute with attributes currently in the target user's profile. In some embodiments, some recommended attributes can be in the target user's profile, and other recommended attributes may not be in the target user's profile. If the recommended attribute is in the target user's profile, flow of process 1200 can continue to block 1214; otherwise, flow of process 1200 can continue to block 1212. In at least one embodiment, block 1212 can be employed for each recommended attribute that is not in the target user's profile.

在方框1212处,所述至少一项推荐属性可以被包括在目标用户的简档中。在至少一个实施例中,方框1212可以采用图9的方框908的实施例以将所述推荐属性存储在目标用户的简档中,从而使其与其他属性关于该属性是为用户提供还是为用户推荐方面不可区分。At block 1212, the at least one recommended attribute may be included in the target user's profile. In at least one embodiment, block 1212 may employ the embodiment of block 908 of FIG. 9 to store the recommended attribute in the target user's profile so that it is indistinguishable from other attributes with respect to whether the attribute is provided or recommended for the user.

处理1200继续到方框1214,其中可以将所述至少一项直接属性包括在目标用户的简档中。在至少一个实施例中,方框1214可以采用图9的方框908的实施例来将所述直接属性存储在目标用户的简档,从而使其与其他属性关于该属性是为用户提供还是为用户推荐方面不可区分。Process 1200 continues to block 1214, where the at least one direct attribute may be included in the target user's profile. In at least one embodiment, block 1214 may employ the embodiment of block 908 of FIG. 9 to store the direct attribute in the target user's profile, thereby making it indistinguishable from other attributes with respect to whether the attribute is provided or recommended for the user.

在方框1214之后,处理1200可以返回调用处理以实施其他动作。After block 1214, process 1200 can return to the calling process to perform other actions.

应当理解的是,流程图图示的每一个方框以及流程图图示中的方框组合可以通过计算机程序指令来实施。这些程序指令可以被提供到处理器以产生一台机器,从而使得在处理器上执行的指令产生用于实施在一个或多个流程图方框中规定的动作的装置。所述计算机程序指令可以由处理器执行,以使得由处理器实施一系列操作步骤从而产生计算机实施的处理,从而使得在处理器上执行的指令提供用于实施在一个或多个流程图方框中规定的动作的步骤。所述计算机程序指令还可以使得并行地实施在流程图的方框中示出的至少其中一些操作步骤。此外,其中一些步骤还可以在多于一个处理器上实施,比如可能在多处理器计算机系统中发生的情况。此外,在不背离本发明的范围或精神的情况下,流程图图示中的一个或多个方框或方框组合还可以与其他方框或方框组合同时实施,或者甚至按照不同于所示出的序列来实施。It should be understood that each square block of the flowchart diagram and the square block combination in the flowchart diagram can be implemented by computer program instructions. These program instructions can be provided to a processor to produce a machine, so that the instructions executed on the processor produce a device for implementing the action specified in one or more flowchart square blocks. The computer program instructions can be executed by the processor so that a series of operating steps are implemented by the processor to produce a computer-implemented process, so that the instructions executed on the processor provide steps for implementing the action specified in one or more flowchart square blocks. The computer program instructions can also be implemented in parallel at least some of the operating steps shown in the square block of the flowchart. In addition, some of these steps can also be implemented on more than one processor, such as the situation that may occur in a multi-processor computer system. In addition, without departing from the scope or spirit of the present invention, one or more square blocks or square block combinations in the flowchart diagram can also be implemented simultaneously with other square blocks or square block combinations, or even implemented according to a sequence different from that shown.

因此,流程图图示的方框支持用于实施所规定的动作的装置的组合、用于实施所规定的动作的步骤的组合以及用于实施所规定的动作的程序指令装置。还应当理解的是,流程图图示的每一个方框以及流程图图示中的方框组合可以通过实施所规定的动作或步骤的基于专用硬件的系统来实施,或者通过专用硬件与计算机指令的组合来实施。前面的实例不应当被解释成做出限制和/或穷举,而是应当被解释成用以表明本发明的各个实施例当中的至少一个的实现方式的说明性使用情况。Thus, the blocks of the flowchart illustration support a combination of means for implementing the specified actions, a combination of steps for implementing the specified actions, and program instruction means for implementing the specified actions. It should also be understood that each block of the flowchart illustration and the combination of blocks in the flowchart illustration can be implemented by a dedicated hardware-based system that implements the specified actions or steps, or by a combination of dedicated hardware and computer instructions. The foregoing examples should not be interpreted as limiting and/or exhaustive, but rather as illustrative uses to illustrate at least one implementation of the various embodiments of the present invention.

映射属性的使用情况实例Example usage of mapped attributes

图13示出了使用情况的一个实施例,其中示出了对应于多个用户的多项属性之间的映射。如图所示,多个用户(例如用户1302-1305)可以分别具有相应的简档,比如简档1310。简档1310可以包括对应于相应的用户的一项或多项属性。简档1310可以存储属性,从而使得所述属性在其是对应于用户的直接属性还是对应于用户的推荐属性方面不可区分。如图所示,对应于用户1302的简档1310可以包括属性“美式足球”、“住在Seattle”和“到NewYork旅行”。Figure 13 shows an embodiment of a use case, wherein a mapping between multiple attributes corresponding to multiple users is shown. As shown, multiple users (e.g., users 1302-1305) can each have a corresponding profile, such as profile 1310. Profile 1310 can include one or more attributes corresponding to the corresponding user. Profile 1310 can store attributes so that the attributes are indistinguishable as to whether they correspond to the user's direct attributes or the user's recommended attributes. As shown, profile 1310 corresponding to user 1302 can include the attributes "American football," "living in Seattle," and "traveling to New York."

表1308可以是对应于多个用户的多项属性之间的映射的一个实施例。属性1312和1314可以包括在用户1302-1305的简档中所包括的每一项属性。在表1308中的每一个单元内,“X”可以表明被映射(即关联)在一起的相应属性1312和相应属性1314。Table 1308 may be one embodiment of a mapping between multiple attributes corresponding to multiple users. Attributes 1312 and 1314 may include each attribute included in the profiles of users 1302-1305. Within each cell in table 1308, an "X" may indicate that the corresponding attribute 1312 and the corresponding attribute 1314 are mapped (i.e., associated) together.

在至少一个实施例中,如果两项属性都被包括在相同的简档中,则可以将其彼此映射。举例来说,对应于用户1302的简档1310包括属性“美式足球”和“住在Seattle”。因此,表1308可以包括从“美式足球”到“住在Seattle”(被标记为1316)以及从“住在Seattle”到“美式足球”(被标记为1318)的映射。在其他实施例中(未示出),如果两项属性都被包括在多于一个简档中,则可以将其彼此映射。In at least one embodiment, if two attributes are included in the same profile, they can be mapped to each other. For example, profile 1310 corresponding to user 1302 includes the attributes "American football" and "lives in Seattle." Therefore, table 1308 can include a mapping from "American football" to "lives in Seattle" (labeled 1316) and from "lives in Seattle" to "American football" (labeled 1318). In other embodiments (not shown), if two attributes are included in more than one profile, they can be mapped to each other.

在一些实施例中,表1308可以被采用来基于直接属性确定至少一项推荐属性(在图10的方框1008处)。举例来说,为了采用表1308来确定至少一项推荐属性,属性1312可以是直接属性,并且属性1314可以是推荐属性。例如假设用户1305搜索棒球纪念品。系统可以将“棒球”确定为对应于用户1305的直接属性(在图10的方框1006处)。(属性1312当中的)与“棒球”相关联的列可以被利用来确定相应的映射属性。如图所示,“棒球”被映射到“美式足球”,其可以被利用作为所述至少一项推荐属性。相应地,“美式足球”以及“棒球”可以被添加(未示出)到用户1305的简档。In some embodiments, table 1308 can be used to determine at least one recommended attribute based on the direct attribute (at block 1008 of FIG. 10 ). For example, to determine at least one recommended attribute using table 1308, attribute 1312 can be a direct attribute and attribute 1314 can be a recommended attribute. For example, assume that user 1305 searches for baseball memorabilia. The system can determine "baseball" as a direct attribute corresponding to user 1305 (at block 1006 of FIG. 10 ). The column associated with "baseball" (among attributes 1312) can be used to determine the corresponding mapped attribute. As shown, "baseball" is mapped to "American football," which can be used as the at least one recommended attribute. Accordingly, "American football" and "baseball" can be added (not shown) to the profile of user 1305.

前面的详述、实例和数据提供了关于本发明的构成、制造和使用的完整描述。由于在不背离本发明的精神和范围的情况下可以得到本发明的许多实施例,因此本发明存在于所附权利要求书中。The above specification, examples and data provide a complete description of the structure, manufacture and use of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims (16)

1.一种计算机实现的方法,包括:1. A computer-implemented method, comprising: 收集与多个用户设备相关联的用户数据,所述用户数据是从一个或多个数据源收集的,并且所述用户数据表示所述多个用户设备中的用户设备与网站之间的一个或多个交互;Collect user data associated with multiple user devices, the user data being collected from one or more data sources, and the user data representing one or more interactions between the user devices and a website; 至少部分地基于所收集的用户数据来生成第一用户简档和第二用户简档中的每一个,所述第一用户简档对应于指示第一用户设备和第一网站之间的第一交互的第一特性的至少一个第一直接属性,并且所述第二用户简档对应于指示第二用户设备和第二网站之间的第二交互的第二特性的至少一个第二直接属性;Each of a first user profile and a second user profile is generated based at least in part on the collected user data, the first user profile corresponding to at least one first direct attribute of a first characteristic indicating a first interaction between a first user device and a first website, and the second user profile corresponding to at least one second direct attribute of a second characteristic indicating a second interaction between a second user device and a second website. 确定所述至少一个第一直接属性与所述至少一个第二直接属性之间存在关联,所述关联是基于所述第一交互的所述第一特性与所述第二交互的所述第二特性之间的比较而确定的;An association is determined between the at least one first direct attribute and the at least one second direct attribute, the association being determined based on a comparison between the first characteristic of the first interaction and the second characteristic of the second interaction; 响应于确定所述关联存在,自动确定所述至少一个第二直接属性是针对所述第一用户简档的推荐属性;In response to determining that the association exists, the at least one second direct attribute is automatically determined to be a recommended attribute for the first user profile; 在服务器处维护计算设备处的非瞬时性计算机可读介质中的映射表,所述映射表包括多个条目,所述多个条目中的至少一个条目表示所述第一用户简档的所述至少一个第一直接属性和所述推荐属性之间的关联,所述多个条目中的一个或多个其他条目中的每一个对应于用户简档的直接属性与从另一用户简档的直接属性确定的推荐属性之间的关联,并且所述映射表至少使用所收集的用户数据来填充;和A mapping table is maintained at the server location in a non-transitory computer-readable medium at the computing device location. The mapping table includes multiple entries, at least one of which represents an association between at least one first direct attribute and a recommended attribute of a first user profile. Each of one or more other entries corresponds to an association between a direct attribute of a user profile and a recommended attribute determined from a direct attribute of another user profile. The mapping table is populated using at least collected user data. 从用户数据请求方接收对用户简档的查询,所述查询包括用于查询目标用户的至少一个目标属性;Receive a query for a user profile from the user data requester, the query including at least one target attribute for querying the target user; 通过以下来响应于所述查询而处理所收集的用户数据:The collected user data is processed in response to the query in the following ways: 使用所述至少一个目标属性来查询所收集的用户数据;Use the at least one target attribute to query the collected user data; 生成作为查询结果的数据集,所述数据集包括所述数据集的一个或多个子集,所述数据集的所述一个或多个子集中的每个子集包括与所述至少一个目标属性相关联的一个或多个用户简档,并且所述数据集的所述一个或多个子集中的特定子集包括所述第一用户简档;Generate a dataset as query results, the dataset comprising one or more subsets of the dataset, each subset of the dataset comprising one or more user profiles associated with the at least one target attribute, and a particular subset of the dataset comprising the first user profile; 为所述数据集的所述一个或多个子集中的每个子集通过使用包括在所述子集中的用户简档的数目来计算权重,所述权重表示包括在所述子集中的用户简档的数目,并且所述权重能由用户数据请求方使用来确定要传送给用户的内容;For each subset of the dataset, a weight is calculated using the number of user profiles included in the subset, the weight representing the number of user profiles included in the subset, and the weight can be used by the user data requester to determine the content to be delivered to the user. 确定所述第一用户简档包括唯一地识别与所述第一用户简档相关联的用户的唯一用户数据,所述确定使所述服务器禁止响应于所述查询而传送所述数据集;The determination that the first user profile includes unique user data that uniquely identifies a user associated with the first user profile causes the server to prevent the transmission of the dataset in response to the query; 响应于确定第一用户简档包括唯一用户数据,访问映射表以选择一个或多个推荐属性以掩蔽所述唯一用户数据;In response to determining that the first user profile includes unique user data, a mapping table is accessed to select one or more recommended attributes to mask the unique user data; 使用所述映射表确定推荐属性与所述至少一个第一直接属性相关联;The mapping table is used to determine the association between the recommended attribute and the at least one first direct attribute; 通过将所述推荐属性添加到所述第一用户简档来自动修改所述第一用户简档,修改后的第一用户简档对应于所述至少一个第一直接属性和所述推荐属性中的每一个,修改所述第一用户简档通过向所述第一用户简档添加噪声来为所述第一用户设备提供匿名性,并且所述噪声掩蔽所述唯一用户数据;和The first user profile is automatically modified by adding the recommended attributes to it. The modified first user profile corresponds to each of the at least one first direct attribute and the recommended attributes. Modifying the first user profile provides anonymity for the first user device by adding noise to the first user profile, and the noise masks the unique user data. 响应于所述查询,将所述数据集发送到所述用户数据请求方,所述数据集包括所述修改后的第一用户简档,所述修改后的第一用户简档包括所述至少一个第一直接属性和所述推荐属性中的每一个,所述至少一个第一直接属性和所述推荐属性中的每一个被存储在所述第一用户简档内而无需任何能指示个体属性是直接属性还是推荐属性的标识符,其中所述至少一个第一直接属性和所述推荐属性在所述修改后的第一用户简档中不能区分它们是为所述第一用户设备提供的还是为所述第一用户设备推荐的,其中所述修改后的第一用户简档通过在所述第一用户简档中包括其他用户的属性来为所述用户提供匿名性,并且其中接收所述数据集使所述用户数据请求方能够根据与所述特定子集相关联的权重来选择内容,并且将所选择的内容发送给与所述第一用户简档相关联的第一用户设备。In response to the query, the dataset is sent to the user data requester. The dataset includes the modified first user profile, which includes each of the at least one first direct attribute and the recommended attribute. Each of the at least one first direct attribute and the recommended attribute is stored within the first user profile without any identifier indicating whether an individual attribute is a direct attribute or a recommended attribute. The at least one first direct attribute and the recommended attribute are indistinguishable in the modified first user profile as being provided for or recommended for the first user device. The modified first user profile provides anonymity to the user by including attributes of other users in the first user profile. Receiving the dataset enables the user data requester to select content based on weights associated with the specific subset and send the selected content to the first user device associated with the first user profile. 2.根据权利要求1所述的计算机实现的方法,其中,确定所述推荐属性还包括:2. The computer-implemented method according to claim 1, wherein determining the recommendation attribute further includes: 采用用于具有与所述第一用户设备的所确定的分离程度的多个用户的多项属性之间的映射来确定对应于所述至少一个第一直接属性的推荐属性。The recommended attribute corresponding to the at least one first direct attribute is determined by employing a mapping between multiple attributes of multiple users having a determined degree of separation from the first user device. 3.根据权利要求1所述的计算机实现的方法,其中,确定所述推荐属性还包括:3. The computer-implemented method according to claim 1, wherein determining the recommendation attribute further includes: 其中所述多个用户设备的子集是通过至少基于与所述多个用户设备的所述子集中的每一个相关联的简档来至少给所述多个用户设备中的每一个评分而确定的。The subset of said plurality of user devices is determined by rating at least each of the plurality of user devices based at least on a profile associated with each of the subset of said plurality of user devices. 4.根据权利要求1所述的计算机实现的方法,其中,确定所述推荐属性还包括:4. The computer-implemented method according to claim 1, wherein determining the recommendation attribute further includes: 采用随机属性生成器来确定所述推荐属性。The recommended attributes are determined using a random attribute generator. 5.根据权利要求1所述的计算机实现的方法,还包括:5. The computer-implemented method according to claim 1, further comprising: 提供针对相关用户属性的查询;Provides queries targeting relevant user attributes; 基于所述查询确定多个用户;以及Multiple users are identified based on the query; and 提供包括所述多个用户中的每一个的简档的至少一部分的查询结果。Provide query results that include at least a portion of the profile of each of the plurality of users. 6.根据权利要求5所述的计算机实现的方法,其中,提供所述结果还包括:6. The computer-implemented method according to claim 5, wherein providing the result further includes: 采用所述多个用户中的每一个的简档的至少所述部分以用于在线广告宣传活动中。At least a portion of the profile of each of the plurality of users is used for online advertising campaigns. 7.一种用于响应于查询而通过网络设备提供相关用户数据的方法,包括:7. A method for providing relevant user data via a network device in response to a query, comprising: 采用所述网络设备从多个源收集关于多个用户的唯一和非唯一用户数据;The network device described above is used to collect unique and non-unique user data about multiple users from multiple sources; 采用所述网络设备聚集所收集的用户数据并索引所聚集的用户数据;The network device is used to aggregate the collected user data and index the aggregated user data; 响应于所述查询,确定对应于所述多个用户的相应部分的所聚集的唯一和非唯一用户数据的多个相关子集,其中每个部分中的用户数大于阈值以为该部分中的每个用户提供匿名性,并且其中所述阈值基于所请求的粒度而增大或减小;以及In response to the query, multiple relevant subsets of aggregated unique and non-unique user data corresponding to relevant portions of the plurality of users are determined, wherein the number of users in each portion is greater than a threshold to provide anonymity for each user in that portion, and wherein the threshold is increased or decreased based on the requested granularity; and 提供包括对应于所述多个用户的部分的所确定的非唯一用户数据的多个子集的结果。The results provide multiple subsets of determined non-unique user data corresponding to the portions of the multiple users. 8.根据权利要求7所述的方法,其中,提供所述结果还包括采用所述非唯一用户数据以用于在线广告宣传活动中。8. The method of claim 7, wherein providing the result further comprises using the non-unique user data for use in online advertising campaigns. 9.根据权利要求7所述的方法,其中,所述聚集操作还包括基于邮政编码、扩展的九位邮政编码以及所述用户数据的属性中的至少一者来聚集所收集的用户数据。9. The method of claim 7, wherein the aggregation operation further comprises aggregating the collected user data based on at least one of a postal code, an extended nine-digit postal code, and an attribute of the user data. 10.根据权利要求7所述的方法,其中,从用户数据购买者和用于所收集的用户数据的聚集者设备中的至少一者提供查询。10. The method of claim 7, wherein the query is provided from at least one of the user data purchaser and the aggregator device for the collected user data. 11.根据权利要求7所述的方法,其中,所述多个子集中的每一个包括关于非唯一用户数据的每个子集与所述查询的相关性的权重。11. The method of claim 7, wherein each of the plurality of subsets includes a weight of the relevance of each subset of non-unique user data to the query. 12.根据权利要求7所述的方法,还包括确定所述多个用户中的最小部分,其为该部分中的每个单独用户提供匿名性。12. The method of claim 7, further comprising determining a minimum subset of the plurality of users, providing anonymity for each individual user within that subset. 13.根据权利要求7所述的方法,还包括:13. The method of claim 7, further comprising: 基于所述结果的购买者支付的增加量选择性地降低所述多个用户中对应于所述用户数据子集的单独部分的大小;以及Based on the results, the increase in purchaser payments selectively reduces the size of individual portions of the user data subsets among the plurality of users; and 基于所述结果的购买者支付的减小量选择性地增加所述多个用户中对应于所述用户数据子集的单独部分的大小。The reduction in payments made by buyers based on the results selectively increases the size of individual portions of the user data corresponding to the subsets of user data among the plurality of users. 14.根据权利要求7所述的方法,还包括为每个用户数据源提供唯一的匿名标识符,其中所述源重复使用所述标识符以随后随着时间为唯一的用户提供唯一的用户数据。14. The method of claim 7, further comprising providing a unique anonymous identifier for each user data source, wherein the source reuses the identifier to subsequently provide unique user data for a unique user over time. 15.一种用于通过网络管理数据的系统,包括:15. A system for managing data via a network, comprising: 至少一个网络设备,包括:At least one network device, including: 操作为至少存储指令的存储器设备;以及A memory device that operates to store at least instructions; and 操作为执行所述指令以实现根据权利要求1-14中任一项所述的方法的处理器设备。The operation is to execute the instructions to implement the method according to any one of claims 1-14. 16.一种包括用于通过网络管理数据的指令的处理器可读非瞬时性存储介质,其中,通过由处理器执行所述指令实现根据权利要求1-14中任一项所述的方法。16. A processor-readable non-transitory storage medium comprising instructions for managing data over a network, wherein the method according to any one of claims 1-14 is implemented by the processor executing the instructions.
HK15107781.1A 2012-08-27 2013-08-23 Profile noise anonymity for mobile users HK1207190B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/595,764 2012-08-27
US13/595,764 US10204351B2 (en) 2012-04-24 2012-08-27 Profile noise anonymity for mobile users
PCT/US2013/056370 WO2014035816A1 (en) 2012-08-27 2013-08-23 Profile noise anonymity for mobile users

Publications (2)

Publication Number Publication Date
HK1207190A1 HK1207190A1 (en) 2016-01-22
HK1207190B true HK1207190B (en) 2020-04-29

Family

ID=

Similar Documents

Publication Publication Date Title
US12411985B2 (en) Associating anonymous information with personally identifiable information in a non-identifiable manner
US11170387B2 (en) Profile noise anonymity for mobile users
US11645676B2 (en) Extending audience reach in messaging campaigns using probabilistic ID linking
US10460353B2 (en) Real-time cross-device user category synchronization in an advertising campaign
US10521818B2 (en) Extending audience reach in messaging campaigns using super profiles
US8468158B2 (en) Adaptive weighted crawling of user activity feeds
US11310324B2 (en) System and method for determining relevance of social content
US9087106B2 (en) Behavior targeting social recommendations
US8515908B2 (en) Determining related keywords based on lifestream feeds
US10230672B2 (en) Inserting a search box into a mobile terminal dialog messaging protocol
US20140095611A1 (en) Personalization through dynamic social channels
US20160127289A1 (en) Operating a match cooperative without handling personally identifiable information
US11263664B2 (en) Computerized system and method for augmenting search terms for increased efficiency and effectiveness in identifying content
US9596205B2 (en) System and method for mailing list identification and representation
WO2012159011A2 (en) Method to increase content relevance using insights obtained from user activity updates
US20160239533A1 (en) Identity workflow that utilizes multiple storage engines to support various lifecycles
US20130282493A1 (en) Non-unique identifier for a group of mobile users
US9805392B2 (en) Simulating online user activity to generate an advertising campaign target audience list
WO2014035816A1 (en) Profile noise anonymity for mobile users
US20150026266A1 (en) Share to stream
HK1207190B (en) Profile noise anonymity for mobile users
HK1141878B (en) Enabling clustered search processing via text messaging
HK1141878A1 (en) Enabling clustered search processing via text messaging