用于使用社交移动应用来发现属性的方法和装置制造方法

文档序号:6497700阅读:118来源:国知局
用于使用社交移动应用来发现属性的方法和装置制造方法
【专利摘要】在一个主要方面中,一种计算机可读存储介质可以被配置为存储在被执行时使处理器执行过程的指令。指令可以包括用于在第一设备处接收与第一用户账户关联的目标属性并且访问代表目标属性并且包括多个值的代码的指令。指令可以包括用于向第二设备发送代码的一部分和代码的该部分在代码内的相对位置的指示符并且从第二设备接收指示符的指令,该指示符是在来自与多个属性关联的多个代码的至少一个代码内的该相对位置处包括代码的该部分,该多个属性与第二用户账户关联。
【专利说明】用于使用社交移动应用来发现属性的方法和装置
【技术领域】
[0001]本说明书涉及社交网络属性发现。
【背景技术】
[0002]一些已知计算设备由于它们可以发射短程无线信号而能够检测其它附近的计算设备。在附近的计算设备已经被检测到之后,可以建立通信,从而使得计算设备的用户可以参与社交交互(例如,聊天)。然而,在参与社交交互之前,可能希望发现附近的计算设备的用户是否具有相似兴趣等。然而,已知应用缺乏用于在用户参与附加社交交互之前私密地发现选择的信息和/或滤除某些通信的能力。

【发明内容】

[0003]在一个主要方面中,一种计算机可读存储介质可以被配置为存储在被执行时使处理器执行过程的指令。指令可以包括用于在第一设备处接收与第一用户账户关联的目标属性并且访问代表目标属性并且包括多个值的代码的指令。指令可以包括用于向第二设备发送代码的一部分和代码的该部分在代码内的相对位置的指示符并且从第二设备接收指示符的指令,该指示符是在来自与多个属性关联的多个代码的至少一个代码内的该相对位置处包括代码的该部分,该多个属性与第二用户账户关联。
[0004]在另一主要方面中,一种方法可以包括在第一设备处接收与第一用户账户关联的目标属性并且访问代表目标属性并且包括多个值的代码。该方法可以包括向第二设备发送代码的一部分和代码的该部分在代码内的相对位置的指示符并且从第二设备接收指示符,该指示符是在来自与多个属性关联的多个代码的至少一个代码内的该相对位置处包括代码的该部分,该多个属性与第二用户账户关联。
[0005]在另一主要方面中,一种系统可以包括目标属性处理器,目标属性处理器被配置为在第一设备处接收与第一用户账户关联的目标属性并且被配置为访问代表目标属性并且包括多个值的代码。目标属性处理器可以被配置为向第二设备发送代码的一部分和代码的该部分在代码内的相对位置的指示符。该系统可以包括响应处理器,响应处理器被配置为从第二设备接收指示符,该指示符是在来自与多个属性关联的多个代码的至少一个代码内的该相对位置处包括代码的该部分,该多个属性与第二用户账户关联。
[0006]在另一主要方面中,一种计算机可读存储介质可以被配置为存储在被执行时使处理器执行过程的指令。指令可以包括用于以下操作的指令:接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性;并且响应于指示符,向对等设备送包括目标属性的属性集合。指令可以包括用于以下操作的指令:接收来自属性集合的属性与第二用户账户的多个属性的不匹配数目的指示符;并且基于不匹配数目计算在第二用户账户的多个属性中包括目标属性的概率。
[0007]在另一主要方面中,一种方法可以包括:接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性;并且响应于指示符,向对等设备送包括目标属性的属性集合。该方法可以包括:接收来自属性集合的属性与第二用户账户的多个属性的不匹配数目的指示符;并且基于不匹配数目计算在第二用户账户的多个属性中包括目标属性的概率。
[0008]在另一主要方面中,一种系统包括目标属性处理器,目标属性处理器被配置为接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性,并且被配置为响应于指示符,向对等设备送包括目标属性的属性集合。该系统可以包括响应处理器,响应处理器被配置为接收来自属性集合的属性与第二用户账户的多个属性的不匹配数目的指示符,并且被配置为基于不匹配数目计算在第二用户账户的多个属性中包括目标属性的概率。
[0009]在又一主要方面中,一种方法可以包括:接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性;并且定义属性的哈希值。该方法可以包括:向对等设备发送哈希值;并且接收在对等设备处计算的多个哈希值与向对等设备发送的哈希值的匹配数目的指示符。该方法还可以包括:基于匹配数目计算在第二用户账户的多个属性中包括属性的概率。
[0010]在又一主要方面中,一种计算机可读存储介质可以被配置为存储在被执行时使处理器执行过程的指令。指令可以包括用于以下操作的指令:接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性;并且定义属性的哈希值。指令可以包括用于以下操作的指令:向对等设备发送哈希值;并且接收在对等设备处计算的多个哈希值与向对等设备发送的哈希值的匹配数目的指示符。指令可以包括用于以下操作的指令:基于匹配数目计算在第二用户账户的多个属性中包括属性的概率。
[0011]在又一主要方面中,一种系统可以包括:目标属性处理器,目标属性处理器被配置为接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性;以及哈希模块,哈希模块被配置为定义属性的哈希值。目标属性处理器可以被配置为向对等设备发送哈希值。系统可以包括响应处理器,响应处理器被配置为接收在对等设备处计算的多个哈希值与向对等设备发送的哈希值的匹配数目的指示符,并且被配置为基于匹配数目计算在第二用户账户的多个属性中包括属性的概率。
[0012]在附图和以下描述中阐述一个或者多个实现方式的细节。其它特征将从描述和附图以及从权利要求中变得清楚。
【专利附图】

【附图说明】
[0013]图1是图示了被配置为发现属性的设备的示图。
[0014]图2A是图示了根据一个实施例的属性模块的示图。
[0015]图2B是根据一个实施例的目标属性隐藏的示例。
[0016]图3是图示了交换属性以经由主机设备发现相互兴趣的示图。
[0017]图4是图示了根据一个实施例的用于处理目标属性的过程的流程图。
[0018]图5是图示了根据一个实施例的用于属性发现的过程的示图。
[0019]图6是图示了根据一个实施例的用于处理目标属性的另一过程的流程图。
[0020]图7是图示了根据一个实施例的与可以用于属性发现的一个或者多个代码关联的属性的示图。[0021]图8是图示了根据一个实施例的用于处理目标属性的又一过程的流程图。
【具体实施方式】
[0022]图1是图示了被配置为发现属性的设备的图。源设备110被配置为向目的地设备102发送与用户账户A关联的属性Al的至少一部分,并且目的地设备120被配置为确认属性Al的该部分是否与关联于用户账户B的属性BI的至少一部分匹配(或者不匹配)。具体而言,源设备110和目的地设备120被配置为共同地确定来自属性Al的目标属性14是否与关联于用户账户B的属性BI的至少一部分匹配(或者具有匹配的可能性)。目标属性14可以被称为目标属性,因为目标属性14以与属性BI的至少一部分比较(或者在该至少一部分中发现)为目标。因而,以与其它属性比较为目标的任何属性可以被称为目标属性。属性BI可以称为目的地属性,因为它们是在目的地设备120处可用于与目标属性14比较的属性。在一些实施例中,匹配或者不匹配的指示符可以被称为比较响应或者被称为比较指示符。
[0023]源设备110被称为源设备是因为目标属性是从源设备110向目的地设备120发送的。虽然未在图1中示出,但是如果从目的地设备120向源设备110发送属性BI的至少一部分作为目标属性,则目的地设备120可以作为源设备工作(并且可以被这样称谓)而源设备110可以作为目的地设备工作(并且可以被这样称谓)。虽然在这一实施例中描述了单个目标属性14,但是在一些实施例中,来自属性Al的多个属性可以作为目标属性被处理。在源设备110与目的地设备120之间对属性Al、BI (或者其目标部分)的比较由属性模块42、52处理。至少结合例如图2A讨论了在属性模块42、52中包括的模块的更具体讨论。
[0024]用户账户A、B可以是分别与社交媒体应用40、50关联的社交媒体账户。例如,可以与不同用户关联的用户账户A、B可以是社交媒体账户,用户可以通过这些社交媒体账户经由社交媒体应用40、50与关联于用户的用户(例如,好友、亲属、同事、业务合作者)网络共享内容(例如,图像、视频、评论等)和/或其它信息。在一些实施例中,社交媒体应用40、50可以是或者可以包括与在主机设备(未示出)处操作或者在设备(例如,源设备110、目的地设备120)本地操作的社交媒体应用关联的社交媒体用户界面。
[0025]可以执行如这里描述的属性交换,从而使得用户可以维护私密(例如,揭示相对少的个人信息)而仍然能够在参与进一步社交交互之前例如发现(例如,确认)相互兴趣(以属性A、B的形式)。可以在一个或者多个目标属性内表示以比较为目标的相互兴趣。在已经确认(例如,用阈值概率确认)了相互兴趣之后,用户可以可选地参与进一步社交交互。
[0026]可以执行属性Al、BI的至少一部分的比较,从而使得源设备110的用户可以接收关于来自属性Al的目标属性14是否与可以被称为目的地属性的属性BI中的一个或者多个属性BI匹配(或者不匹配)的确认(例如,用阈值概率的确认)而未显式揭示(例如,屏蔽、隐瞒、伪装、隐藏)目标属性14。目标属性14可以是用户账户A的用户可能希望在参与与用户账户B的用户的社交交互(例如,聊天、会面、电话对话)之前与用户账户B的用户确认的属性,比如用户账户A的用户的社交兴趣(例如,社交群的标识符、音乐兴趣、社交偏好)、个人属性(例如,性别指示符、年龄指示符)等。换言之,源设备110的用户可以触发在属性请求16 (也可以被称为属性发现请求)内向目的地设备120发送目标属性14以在参与与用户账户B的用户的社交交互之前发现目标属性14是否与用户账户B的属性BI中的一个或者多个属性BI匹配。可以在属性响应18(也可以被称为匹配响应)中包括的确认可以由目的地设备120定义(例如,由目的地设备120的用户触发以由目的地设备120定义),从而使得可以未向源设备110的用户显式揭示属性BI。在相互确认(例如,超出阈值概率确认)目标属性14为属性Al和属性BI所共有之后,可以可选地显式揭示目标属性14。
[0027]也可以执行属性Al、BI的至少一部分的比较,从而使得可以未显式揭示与用户账户A、B关联的身份。换言之,与用户账户A、B关联的用户可以在属性Al、BI (或者作为目标的其部分)的比较期间保持匿名。在已经比较了属性Al、BI的至少一部分之后,可以可选地揭示与用户账户A、B关联的身份。在一些实施例中,可以在属性A1、B1中的至少一些属性的比较期间可选地揭示与用户账户A、B关联的身份。
[0028]作为具体示例,用户账户A的用户可以(从属性Al)选择将在属性请求16 (也可以被称为属性确认请求或者属性发现请求)内从源设备110向目的地设备120发送的目标属性14,从而使得用户账户B的用户可以确认目标属性14是否与属性BI的至少一部分匹配(或者基本上匹配)。可以经由社交媒体应用40的属性模块42和社交媒体应用50的属性模块52分别在源设备110和目的地设备120处执行属性A1、B1的处理。目标属性14可以是用户账户A的用户可能希望在参与与用户账户B的用户的社交交互(例如,聊天、会面、电话对话)之前与用户账户B的用户确认的属性,比如用户账户A的用户的社交兴趣(例如,社交群的标识符、音乐兴趣、社交偏好)、个人属性(例如,性别指示符、年龄指示符)等。可以从源设备110向目的地设备120发送目标属性14,从而使得隐藏目标属性14而未揭示用户账户A的用户的身份至少直至目标属性4(或者其一部分)的确认已经出现。换言之,可以在源设备110处定义属性请求16,从而使得可以隐藏(例如,屏蔽、未揭示)可以在属性请求16中包括的目标属性14。在一些实施例中,可以与多个其它属性(不是目标属性并且可以被称为虚拟属性)一起发送目标属性14,从而使得目的地设备120的用户将不能检测(例如,辨别)属性中的哪个属性是源设备110作为用于确认(例如,用于发现)的目标的属性。因而,可以未将目标属性14揭示为目标属性。
[0029]响应于属性请求16,目的地设备120可以基于目标属性14与属性BI的比较定义属性响应18。可以从目的地设备120向源设备110发送属性响应。在一些实施例中,属性响应18可以包括不匹配而不是匹配的指示符。不匹配数目(或者匹配数目)可以是将向源设备110发送与属性BI中的一个或者多个属性BI匹配的目标属性14的概率的指示符或者可以用来计算该概率。因而,可以定义属性响应18,从而使得源设备110的用户将不能决定性地标识(例如,检测、辨别)属性BI中的哪个属性BI与在目的地设备120处的用户账户B关联。换言之,属性响应18可以由目的地设备120定义(例如,由目的地设备120的用户触发以由目的地设备120定义),从而使得可以未在属性响应18中向源设备110的用户显式揭示属性BI。
[0030]如果来自属性Al的目标属性14已经与属性BI的至少一部分匹配(例如,用阈值概率匹配)(并且已经在属性响应18中从目的地设备120向源设备110传达),则用户账户A的用户可以可选地参与与用户账户B的用户的社交交互。例如,响应于目标属性14与属性BI的至少一部分匹配(例如,用至少阈值概率匹配),则用户账户A的用户可以经由社交媒体应用40请求经由社交媒体应用50与用户账户B的用户的聊天。响应于请求,用户账户B的用户可以批准请求并且参与与用户账户A的用户的聊天。在一些实施例中,用户账户A的用户和/或用户账户B的用户可以在比较属性之前、在比较属性之时和/或在已经比较属性之后(例如,在社交交互期间)可选地揭示他们的相应身份。
[0031]虽然未被示出,但是在一些实施例中,用户账户B的用户可以在属性请求内以隐藏(例如,屏蔽)的方式从目的地设备120向源设备110发送属性BI的至少一部分作为目标属性。换言之,用户账户B的用户可以请求确认属性BI的至少一部分与关联于用户账户A的用户的属性Al的至少一部分匹配(或者不匹配)(经由属性请求)。在这样的实施例中,目的地设备120可以作为源设备工作,而源设备110可以作为目的地设备工作。
[0032]在一些实施例中,源设备110和/或目的地设备120可以例如是有线设备和/或无线设备(例外,具有w1-fi功能的设备)并且可以例如是计算实体(例如,个人计算设备)、服务器设备(例如,web服务器)、移动电话、个人数字助理(PDA)、电子阅读器等。源设备110和/或目的地设备120可以被配置为基于可以包括一个或者多个类型的硬件、软件、固件、操作系统、运行时库等的一个或者多个平台(例如,一个或者多个相似或者不同平台)操作。
[0033]图2A是图示了根据一个实施例的属性模块200的示图。如图2A中所示,属性模块200包括源部分202和目的地部分204。源部分202包括被配置为在包括属性模块200的设备206作为源设备工作时操作的模块,并且目的地部分204包括被配置为在设备206作为目的地设备工作时操作的模块。虽然未在图2A中被示出,但是属性模块200可以与社交媒体应用关联。
[0034]属性模块200被配置为处理在设备206的存储器270中存储的属性20。在一些实施例中,属性20可以与用户的用户账户(例如,社交媒体账户)(未示出)关联。在一些实施例中,可以从与社交媒体应用关联的用户账户取回并且在存储器270中存储属性20,其中属性20可以由属性模块200处理。在一些实施例中,可以从未在设备206中包括的存储器(例如,远程存储器)访问(例如,调用、取回)属性20。在一些实施例中,属性20在设备206作为源设备工作时可以被称为源属性。在一些实施例中,属性20在设备206作为目的地设备工作时可以被称为目的地属性。
[0035]如图2A中所示,属性模块200的源部分202包括被配置为定义属性请求的目标属性处理器210。在设备206作为源设备工作时,目标属性处理器210被配置为在设备206 (作为源设备工作)与目的地设备(未示出)之间对属性的比较期间从设备206向目的地设备发送属性请求,该属性请求包括被标识为目标属性的属性20中的一个或者多个属性。在这一实施例中,属性Ql和Q2被标识为目标属性22。在一些实施例中,可以在定义属性请求的一个或者多个分组(例如,数据分组)中向目的地设备发送目标属性22。在一些实施例中,目标属性处理器210可以被配置为定义属性请求,从而使得可以对目的地设备隐藏目标属性22中的一个或者多个目标属性。
[0036]属性模块200的源部分202也包括被配置为处理属性响应的响应处理器230。在设备206作为源设备工作时,响应处理器230被配置为处理来自目的地设备(未示出)的属性响应,该属性响应(在比较指示符中)指示从设备206向目的地设备发送的目标属性中的一个或者多个目标属性是否与目标属性22匹配或者不匹配。
[0037]流模块200的目的地部分204的属性分析器220被配置为处理属性请求。在设备206作为目的地设备工作时,属性分析器220被配置为接收例如包括如下属性的属性请求,这些属性可以是从源设备(未示出)发送的目标属性或者虚拟属性。属性分析器220可以被配置为比较在属性请求内接收的目标属性与在设备206处可访问(例如,存储、可取回)的属性20。属性分析器220可以被配置为确定在来自源设备的属性请求内接收的属性中的任何属性是否与在设备206处可访问的属性匹配(或者不匹配)。
[0038]目的地部分204的响应定义模块240可以被配置为在属性请求已经在设备206处被处理之后定义并且向源设备(未示出)发送属性响应。属性响应可以在设备206作为目的地设备工作之时包括在从源设备(未示出)接收的属性与在设备206处可访问的属性之间的匹配(或者不匹配)的一个或者多个指示符(例如,比较指示符)。
[0039]如以上描述的那样,目标属性处理器210被配置为执行处理以隐藏(例如,屏蔽)来自属性20的在属性请求中被标识为目标属性的属性。结合图2B描述目标属性隐藏的具体示例。如图2B中所示,设备206的目标属性处理器210可以在包括目标属性22和(有影线的)虚拟属性的组合的、被标注为Rl至R3的多个目标属性集合24中包括目标属性22。例如,目标属性集合Rl包括目标属性Ql以及虚拟属性Q3至Q5。目标属性集合R2包括目标属性Ql和Q2以及虚拟属性Q6和Q7。目标属性集合R3包括目标属性Ql和Q2以及虚拟属性Q8和Q9。
[0040]可以向目的地设备(未示出)发送目标属性集合24。目的地设备(例如,目的地设备的属性分析器)可以比较目的地设备的目的地属性26与来自目标属性集合24中的每个目标属性集合的属性。在这一实施例中,目的地设备可以被配置为确定目的地属性26均未与在目标属性集合Rl中包括的属性匹配。目的地设备可以被配置为确定来自目的地属性26的属性Q2和Q6分别与在目标属性集合R2中包括的属性Q2和Q6匹配。目的地设备也可以被配置为确定来自目的地属性26的属性Q2和Q9分别与在目标属性集合R3中的属性Q2和Q9匹配。
[0041]响应于在目的地设备处执行的比较,目的地设备可以被配置为定义(例如,使用目的地设备的响应定义模块来定义)属性响应。属性响应可以包括与来自目标属性集合24的属性匹配的一个或者多个属性的指示符(例如,比较指示符)。例如,属性响应可以指示目的地属性26未包括与在目标属性集合Rl中包括的属性的任何匹配、包括与在目标属性集合R2中包括的属性的两个匹配并且包括与在目标属性集合R3中包括的属性的两个匹配。
[0042]可以从目的地设备发送并且在设备206的响应处理器230处接收在目的地设备处定义的属性响应(或者多个属性响应)。基于在属性响应(或者多个属性响应)中包括的匹配数目,设备206的响应处理器230可以被配置为确定(例如,用指定的概率确定)目的地设备的目的地属性26不包括与目的地属性22 二者的匹配。具体而言,由于在目标属性Ql中包括的目标属性集合Rl和目的地属性26不包括与在目标属性集合Rl中包括的属性中的任何属性的匹配,所以响应处理器230可以被配置为确定目的地属性26不包括属性Ql0
[0043]在这一实施例中,属性响应包括与来自目标属性集合24的属性的一个或者多个属性匹配的指示符。在一些实施例中,属性响应可以包括与目标属性集合24的不匹配(例如,数量)的一个或者多个指示符。例如,目的地设备可以定义属性响应,该属性响应指示目的地属性26不与在目标属性集合R2中包括的两个属性匹配。通过指示不匹配而不是匹配,可以在一些场景中以希望的方式对设备206隐藏在目的地属性26内包括的属性。
[0044]在一些实施例中,已经在属性响应(或者多个属性响应)内标识的匹配(或者不匹配)可以用来计算在目的地属性26中包括目标属性22的概率(例如,概率值)。在一些实施例中,可以基于目标属性集合24的相对大小、在目标属性集合24中的每个目标属性集合中包括的目标属性数目、在目标属性集合24中包括的目标属性数目等计算概率。作为具体示例,两个不匹配和两个匹配在目标属性集合R3内存在。因而,有在目标属性26中包括Ql或者Q2的近似50%概率。一般而言,如果在相对大的目标属性集合中包括单个目标属性并且与目标属性集合的不匹配数目相对高,则在目的地属性集合中包括单个目视属性的概率可以相对低(例如,相对低的概率百分比、相对低的概率值)。而且,如果在相对小的目标属性集合中包括单个目标属性并且与目标属性集合的不匹配数目相对低,则在目的地属性集合中包括单个目标属性的概率可以相对高(例如,相对高的概率百分比、相对高的概率值)。
[0045]在一些实施例中,可以例如使用自然语言处理技术来执行属性的比较(以标识匹配属性)。例如,可以基于语言比较一个属性与另一属性,该语言用来使用属性中的每个属性的自然语言处理来定义属性中的每个属性。作为具体示例,可以肯定地匹配一个用户的在属性中为“对体育感兴趣”的描述与另一用户的在另一属性中为“体育狂热者”的描述。在一些实施例中,属性可以与可以用来标识匹配属性的标识符(例如,文字数字标识符、唯一标识符、预定义的标识符)关联。
[0046]在一些实施例中,可以从设备206 (作为源设备工作)向目的地设备(例如,被配置为访问目的地属性26的目的地设备)串行和/或并行地发送目标属性集合24。例如,可以从设备206向目的地设备在属性请求中发送目标属性集合24中的多于一个目标属性集合。作为另一示例,设备206可以被配置为在发送目标属性集合R2之前向目的地设备发送目标属性集合R1。在这样的实施例中,设备206可以被配置为仅在已经接收了与目标属性集合Rl有关的属性响应之后发送目标属性集合R2。如果在结合图2B描述的实施例中Ql是仅有的目标属性22,则由于目的地属性26都未与在目标属性集合Rl中包括的属性中的任何属性匹配,所以可以终止与目的地设备的进一步通信而未发送附加目标属性集合24。
[0047]虽然未在图2B中示出,但是在一些实施例中,目的地设备可以被配置为作为源设备工作。例如,作为目的地设备工作的第一设备可以被配置为从作为源设备工作的第二设备接收一个或者多个目标属性集合。第一设备也可以被配置为通过定义并且向第二设备发送一个或者多个目标属性来作为源设备工作,该第二设备将关于目标属性作为目的地设备工作。
[0048]在这一实施例中,目标属性集合24中的每个目标属性集合包括确切的四个属性。在一些实施例中,目标属性集合可以包括多于四个属性或者少于四个属性。而且,在这一实施例中,目标属性集合24中的每个目标属性集合包括相同数量(例如,数目)的属性。在一些实施例中,来自目标属性集合24的目标属性集合中的每个目标属性集合可以不包括相同数量(例如,数目)的属性。[0049]在一些实施例中,目标属性22可以被用户指明为目标属性。例如,与属性20关联的用户账户的用户可以选择属性Ql和Q2作为目标属性22。在一些实施例中,用户可以被属性模块200的通知模块250提示选择一个或者多个目标属性。例如,响应于设备206检测到设备206可以与之交换属性(以用于发现相互属性)的对等设备,通知模块250可以通知用户(经由一个或者多个用户界面提示)。在一些实施例中,也可以提示用户(经由一个或者多个用户界面提示)选择一个或者多个目标属性以用于与对等设备确认。在一些实施例中,目标属性可以在检测到设备206可以与之交换属性以用于发现相互属性的对等设备之前被用户指明为目标属性。
[0050]在一些实施例中,在目标属性集合24中包括的虚拟属性可以被用户指明为虚拟属性、被随机选择(例如,在定义属性请求时被目标属性处理器210随机选择)等。在一些实施例中,可以从与用户的用户账户关联的属性20或者从可以与或者可以不与属性20相交的属性池选择虚拟属性。
[0051]虽然未在图2B中被示出,但是在一些实施例中,一个或者多个目标属性集合可以不包括一个或者多个目标属性。例如,源设备可以被配置为定义仅包括虚拟属性(或者用户不感兴趣的属性)的目标属性集合。
[0052]在一些实现方式中,属性模块200可以被配置为在主机设备处操作。在这样的实现方式中,属性模块200可以通过网络被可以对于属性模块200作为客户端工作的设备206访问。因而,可以在按照需要的基础上调用和/或执行属性模块200的功能。在一些实现方式中,属性模块200可以作为结合设备206(和/或附加设备)操作的后台应用工作。在一些实现方式中,属性模块200可以作为可以经由应用编程接口(API)访问的应用(或者服务)工作。例如,结合图3阐述与在主机设备处操作的属性模块200有关的更多细节。
[0053]属性模块200可以是或者可以包括被配置为处理属性的任何类型的硬件和/或软件。在一些实现方式中,在图2A中的属性模块200中所示的部件的一个或者多个部分可以是或者可以包括基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块和/或基于软件的模块(例如,可以在计算机处被执行的计算机代码模块、计算机可读指令集合)。例如,在一些实现方式中,属性模块200的一个或者多个部分可以是或者可以包括被配置用于由至少一个处理器(未示出)执行的软件模块。在一些实现方式中,可以在与在图2A中所示的模块和/或部件不同的模块和/或不同的部件中包括部件的功能。例如,虽然未被示出,但是可以在与属性模块200的目标属性处理器210不同的模块中包括属性模块200的目标属性处理器210的功能或者可以将该功能划分成若干不同模块。
[0054]虽然未被示出,但是在一些实现方式中,属性模块200 (或者其部分)和/或设备206(或者其部分)可以被配置为例如在数据中心(例如,云计算环境)、计算机系统、一个或者多个服务器/主机设备等内操作。在一些实现方式中,属性模块200 (或者其部分)和/或设备206 (或者其部分)可以被配置为在网络内操作。因此,属性模块200 (或者其部分)和/或设备206 (或者其部分)可以被配置为在可以包括一个或者多个设备和/或一个或者多个服务器设备的各种类型的网络环境内工作。例如,网络可以是或者可以包括局域网(LAN)、广域网(WAN)等。网络可以是或者可以包括例如使用网关设备、网桥、交换机等实施的无线网络和/或无线网络。网络可以包括一个或者多个段和/或可以具有基于各种协议(比如网际协议(IP)和/或专有协议)的部分。网络可以包括因特网的至少一部分。
[0055]如以上讨论的那样,在一些实现方式中,可以在社交媒体应用(未示出)中包括属性模块200或者属性模块200可以与社交媒体应用关联。社交媒体应用可以是可以被用户用来与关联于用户的用户(例如,好友、亲属、同事、业务合作者)网络共享内容和/或其它信息的任何类型的应用(例如,智能电话应用、单独应用)。在一些实现方式中,社交媒体应用可以是可以被用户访问的基于web的应用。在一些实现方式中,社交媒体应用可以被称为社交媒体系统并且可以是社交媒体平台的部分。在一些实现方式中,社交媒体应用可以与社交网络服务关联。在一些实现方式中,社交媒体应用可以是协作环境,一个或者多个用户(比如内容的共享者和/或消费者)可以通过该协作环境参与协作网络。在一些实现方式中,社交媒体应用可以包括一个或者多个搜索引擎、社交网络服务、论坛、即时消息接发/聊天应用、虚拟环境、对等到对等通信应用等。在一些实现方式中,社交媒体应用可以包括或者可以基于一个或者多个开放应用编程接口(API)。
[0056]属性模块200 (或者设备206的任何其它部分)可以被配置为基于可以包括一个或者多个类型的硬件、软件、固件、操作系统、运行时库等的一个或者多个平台(例如,一个或者多个相似或者不同平台)操作。在一些实现方式中,设备206可以代表设备群集(例如,服务器群)。在这样的实现方式中,可以向设备群集的若干设备分布属性模块20的功能和处理。
[0057]虽然未被示出,但是在一些实现方式中,存储器270可以被实施为与属性模块200关联的多于一个存储器部件(例如,多于一个随机存取存储器(RAM)部件或者盘驱动存储器)。在一些实现方式中,存储器270可以是数据库存储器。在一些实现方式中,存储器270可以是或者可以包括非本地存储器。例如,存储器270可以是或者可以包括由多个设备(未示出)共享的存储器。在一些实现方式中,存储器270可以与在网络内并且被配置为服务于属性模块200的服务器设备(未示出)关联。
[0058]回顾图1,在一些实施例中,即使目标属性14未被明确地确认为与属性BI中的至少一些属性BI匹配,用户账户A的用户仍然可以继续参与与用户账户B的用户的社交交互。例如,可以用指定的概率(可以小于100%)将目标属性14(或者其部分)确认为与属性BI中的至少一些属性BI匹配。在这样的实例中,用户账户A的用户可以基于(或者响应于)指定的概率继续参与与用户账户B的用户的社交交互。
[0059]在一些实施例中,可以经由安全连接执行在源设备110与目的地设备120之间的通信。在一些实施例中,安全连接可以例如是加密的连接。在一些实施例中,可以使用公用密钥和私有密钥的任何组合来建立安全连接。在一些实施例中,可以使用对称密钥算法、不对称密钥算法等来建立安全连接。在一些实施例中,可以将安全连接分类为私有连接。
[0060]在一些实施例中,在源设备110与目的地设备120之间的连接可以是出于匹配属性Al、BI中的一个或者多个属性的目的而被建立的暂时连接。换言之,可以暂时建立在源设备110与目的地设备120之间的连接,从而使得源设备110可以向目的地设备120发送目标属性14以用于与在目的地设备120处可访问的属性BI中的一个或者多个属性匹配(或者发现)。如果目标属性14不与属性BI中的一个或者多个属性BI匹配,则可以终止暂时连接。如果目标属性14与属性BI中的一个或者多个属性BI匹配,则可以在源设备110与目的地设备120之间维持社交交互的连接。在一些实施例中,在确认目标属性14与属性BI中的一个或者多个属性BI匹配之后,在源设备110与目的地设备120之间可以建立不同连接(并且可以终止暂时连接)。
[0061]虽然未在图1中被示出,但是在一些实施例中,源设备110可以被配置为以隐藏方式发送目标属性14以用于(除了目的地设备120之外还)与多个目的地设备与至少一些属性比较。例如,源设备110可以被配置为向多个目的地设备发送目标属性14(经由一个或者多个安全连接)。在一些实施例中,可以向多个目的地设备中的至少一部分串行或者并行地发送目标属性14。多个目的地设备中的每个目的地设备可以被配置为确定在目的地设备中的每个目的地设备处可用的属性的至少一部分是否与目标属性14匹配。响应于匹配可用属性与目标属性14,源设备110的用户可以参与与一个或者多个目的地设备的一个或者多个用户的一个或者多个社交交互。
[0062]在一些实施例中,可以与目标属性14 一起从源设备110向目的地设备120发送暂时标识符,从而使得可以不揭示与用户账户A关联的身份。因而,暂时标识符可以与用户账户A关联以用于属性A1、B1中的至少一些属性的比较。在一些实施例中,可以从与源设备110通信的多个目的地设备向每个目的地设备发送不同的暂时标识符。在一些实施例中,在源设备110处从目的地设备120接收的标识符可以是暂时标识符(例如,与用户账户B关联的暂时标识符)。
[0063]在一些实施例中,一个或者多个暂时标识符可以与用于在源设备110与目的地设备120之间建立安全连接的密钥(例如,加密密钥)关联。例如,源设备110可以被配置为生成可以用来在源设备110与目的地设备120之间建立安全连接的密钥。在一些实施例中,密钥可以作为源设备110的标识符工作或者可以被包括在该标识符中。在一些实施例中,可以在用来在源设备110与目的地设备120之间建立安全连接的密钥中包括标识符。
[0064]虽然未在图1中被示出,但是在一些实施例中,源设备110可以被配置为基于一个或者多个目的地设备与源设备110的邻近(例如,阈值邻近)向一个或者多个目的地设备发送目标属性14的至少一部分。例如,源设备Iio可以被配置为响应于指示符向目的地设备120发送目标属性14,该指示符是在目的地设备120与源设备110之间的距离在阈值距离内。在一些实施例中,可以例如基于全球定位系统(GPS)坐标、在源设备110与目的地设备之间交换的无线信号等确定在目的地设备120与源设备110之间的距离。
[0065]在一些实施例中,可以响应于检测到目的地设备120在源设备110的阈值距离内从源设备110和目的地设备120自动发送目标属性14以用于比较。例如,源设备110可以被配置为发送出相对短程的无线信标(或者Ping)信号。在目的地设备120接收信标信号时,目的地设备120可以在指示符内对源设备110做出响应,该指示符是目的地设备120已经接收了信标信号。响应于来自目的地设备120的响应,源设备110可以被配置为向目的地设备120发送目标属性14以用于与在目的地设备120处可访问的属性BI中的一个或者多个属性BI比较。在一些实施例中,目标属性14的发送可以由社交媒体应用40的属性模块42处理,并且属性BI的比较可以由社交媒体应用50的属性模块52处理。在一些实施例中,可以在发送目标属性14中的一个或者多个目标属性14之前请求允许(例如,由通知模块(比如在图2A中所示的通知模块250)请求)。
[0066]在一些实施例中,可以响应于由源设备110的用户或者目的地设备120的用户执行的动作从源设备Iio和目的地设备120发送目标属性14以用于比较。例如,源设备110可以被配置为确定目的地设备120在源设备110的阈值距离内。因而,可以向源设备110的用户(例如,与用户账户A关联的用户)通知目的地设备120在源设备110的阈值距离内。响应于通知,可以配置源设备110,从而使得用户可以触发向目的地设备120发送目标属性14以用于与在目的地设备120处可访问的属性BI中的一个或者多个属性BI比较。在一些实施例中,目标属性14的发送可以由社交媒体应用40的属性模块42处理,并且属性BI的比较可以由社交媒体应用50的属性模块52处理。
[0067]如图1中所示,用于发现相互兴趣的属性交换是对等到对等交换。换言之,执行属性交换而未例如在主机设备处处理属性。但是,这并未排除属性交换可以经由可以包括一个或者多个主机设备的网络出现的可能性。在一些实施例中,可以经由无线通信和/或有线通信执行在源设备110与目的地设备120之间的通信。在一些实施例中,可以使用在源设备110和/或目的地设备120中包括的一个或者多个收发器(例如,无线收发器、有线收发器)建立在源设备110与目的地设备120之间的连接。结合图3描述经由主机设备的用于发现相互兴趣的属性交换的示例。
[0068]图3是图示了经由主机设备330的用于发现相互兴趣的属性交换的示图。在这一实施例中,源设备310被配置为经由主机设备330发送或者触发从主机设备330发送属性请求。相似地,目的地设备被配置为经由主机设备330发送或者触发从主机设备330发送属性响应。
[0069]在一些实施例中,主机设备330可以被配置为存储与用于源设备310的用户和/或用于目的地设备320的用户的一个或者多个用户账户关联的属性。因而,主机设备330可以包括在图2A中所示的设备206的功能。具体而言,主机设备330可以包括其中存储属性的存储器或者可以具有对该存储器的访问,并且主机设备330可以包括属性模块200。主机设备330可以被配置为定义属性请求、执行属性比较、定义属性响应等。
[0070]在一些实施例中,主机设备330可以被配置为代表源设备310或者目的地设备320中的仅一个设备执行与属性模块关联的功能。例如,源设备310可以被配置为定义属性请求,并且可以被配置为经由主机设备330向目的地设备320发送属性请求。取代在目的地设备320处处理属性请求并且定义属性响应,目的地设备320可以被配置为响应于属性请求来触发主机设备330以定义属性响应。在这样的实施例中,主机设备330可以具有对与目的地设备320的用户有关的属性的访问(和/或可以存储这些属性),从而使得主机设备330可以定义属性响应。
[0071]图4是图示了根据一个实施例的用于处理目标属性的方法的流程图。该方法的部分可以至少部分例如由在图2A中所示的属性模块200执行。
[0072]接收指示符,该指示符是来自第一用户账户的多个属性的属性可以被标识为目标属性(块410)。在一些实施例中,可以在图2A中所示的目标属性处理器210处接收指示符。在一些实施例中,来自多个属性的属性可以被第一用户账户的用户标识为目标属性。目标属性可以是以用于在参与与另一用户账户的用户的社交交互之前从另一用户账户发现为目标的属性。
[0073]响应于指示符,向对等设备发送包括目标属性的属性集合(块420)。在一些实施例中,可以定义并且从在图2A中所示的目标属性处理器210发送属性集合。在一些实施例中,可以在属性请求中包括属性集合,该属性集合包括目标属性。在一些实施例中,可以响应于对等设备在与如下设备的相对近的邻近内(例如,小于阈值邻近)向对等设备发送属性请求,第一用户账户在该设备处正被访问。在一些实施例中,可以在属性集合内与一个或者多个虚拟属性一起包括目标属性。在一些实施例中,对等设备可以被配置为作为目的地设备工作。
[0074]接收来自属性集合的属性与第二用户账户的多个属性的不匹配数目的指示符(块430)。在一些实施例中,可以在图2A中所示的响应处理器230处接收属性的不匹配数目的指示符。在一些实施例中,可以在目的地设备处定义的属性响应中包括不匹配数目的指示符。目的地设备可以被配置为访问第二用户账户的多个属性。
[0075]基于不匹配数目计算在第二用户账户的多个属性中包括目标属性的概率(块440)。在一些实施例中,可以在图2A中所示的响应处理器230处计算概率。换言之,计算目标属性与第二用户账户的多个属性中的至少一个属性匹配的概率。在一些实施例中,如果概率超过阈值概率,则第一用户账户的用户可以可选地发送对于参与与第二用户账户的用户的社交交互(例如,聊天、电话对话)的请求。
[0076]图5是图示了根据一个实施例的用于属性发现的方法的示图。图5图示了包括属性模块52的源设备510和也包括属性模块54的目的地设备520。属性模块52包括哈希模块51,并且属性模块54包括哈希模块53。虽然可以在属性模块52、54中包括附加模块(例如,在图2A中所示的模块中的一个或者多个模块),但是在这一示例实施例中仅示出了哈希模块51、53。
[0077]如图5中所示,哈希模块51基于被标示为目标属性的属性Ul计算哈希值、即哈希值XP。虽然未在图5中被示出,但是在一些实施例中,可以从与社交媒体应用的用户账户(例如,源用户账户)关联的一组源属性选择属性U1。在已经在源设备510处计算了目标属性Ul的哈希值XP之后,可以在属性请求中向目的地设备520发送哈希值XP。
[0078]在这一实施例中,哈希值空间与属性空间比较相对小。因而,属性中的若干属性在被哈希模块51哈希时可以产生相同哈希值。换言之,哈希值空间被定义为与属性空间比较相对小,从而使得在哈希值之间的冲突将出现。在一些实施例中,可以定义哈希值空间(该哈希值空间可以包括指定数量的哈希值或者潜在哈希值),从而使得来自属性空间的每个属性将被哈希成(例如,可以被映射到)与来自属性空间(该属性空间可以包括指定数量的属性或者潜在属性)的另一属性公共的哈希值。通过与属性空间比较定义相对小的哈希值空间,即使通报基于属性计算的哈希值,仍然可以屏蔽被指明为目标属性的属性。具体而言,除了属性Ul之外,若干属性也可以产生哈希值XP。因而,通报哈希值XP未必指示目标属性是属性U1,因为也可以基于若干属性计算哈希值XP。
[0079]响应于接收属性请求,目的地设备520的哈希模块53可以被配置为基于在目的地设备520处可访问的目的地属性58计算哈希值。在这一实施例中,基于属性Ul和属性U3二者计算哈希值XP,基于属性U2计算哈希值XQ,并且基于属性U4计算哈希值XS。如以上提到的那样,由于哈希值空间与属性空间比较相对小,所以在哈希值之间的冲突可能出现。这是二者与哈希值XP有关(例如,被哈希成哈希值XP)的属性值Ul和U3的情况。
[0080]在已经基于目的地属性58计算了哈希值之后,目的地设备520可以被配置为定义属性响应,该属性响应指示在目的地设备520处计算的至少两个哈希值与在来自源设备510的属性请求中接收的哈希值XP匹配。即使目的地设备520可以揭示由目的地设备520计算的哈希值XP与由源设备510计算的哈希值XP匹配,目的地设备520和源设备510 二者仍然未精确地揭示任何属性,因为多个属性可以被哈希以形成哈希值XP。
[0081]基于属性响应,源设备510的属性模块52可以被配置为计算在目的地属性58中包括属性Ul (该属性Ul被指明为目标属性)的概率。在一些实施例中,可以基于哈希值空间的与属性空间比较的相对大小计算概率。在一些实施例中,(除了属性Ul之外还)可以基于可以被哈希成哈希值XP的属性数目计算概率。例如,在这一实施例中,如果定义了哈希值空间,从而使得不多于两个属性值可以被哈希成单个哈希值,则保障在目的地属性58中包括在源设备510处被指明为目标属性的属性U1,因为来自目的地属性58的属性中的至少两个属性被哈希成哈希值XP。作为另一示例,可以定义哈希值空间,从而使得不多于两个属性值可以被哈希成单个哈希值。在这样的实施例中,如果来自目的地属性58的属性中的仅一个属性被哈希成哈希值XP,则在源设备510处被指明为目标属性的属性Ul可以仅有被包括在目的地属性58中的近似50%概率,因为来自目的地属性58的属性中的仅一个属性被哈形成哈希值XP (并且潜在地另一属性值可以被哈希成哈希值XP)。
[0082]在一些实施例中,可以配置由源设备510和/或目的地设备520处理的属性的至少一部分(例如,在源设备510处的属性U1、目的地属性58),从而使得可以使用由哈希模块51、53实施的一个或者多个哈希算法(例如,哈希过程)来哈希它们。例如,属性Ul可以与可以使用由哈希模块51、53实施的一个或者多个哈希算法来哈希的值关联或者可以被定义为该值。在一些实施例中,由源设备510和/或目的地设备520处理的属性可以具有可以使用由哈希模块51、53来实施的一个或者多个哈希算法处理的格式。
[0083]在一些实施例中,取代计算哈希值,属性可以被映射到映射值集合。在一些实施例中,可以本地存储或者在远程位置存储映射值集合,它们可以在该远程位置被源设备510和/或目的地设备520访问。映射值(比如哈希值)的值空间可以包括比在属性空间中包括的值数目更小数目的值。因而,多个属性可以被映射到单个映射值,并且属性值可以被一个设备对另一设备隐藏(通过映射到映射值)。在一些实施例中,可以应用其它类型的映射和/或哈希值技术,比如光晕滤波(bloom filtering)技术等。
[0084]图6是图示了根据一个实施例的用于处理目标属性的另一方法的流程图。该方法的部分可以至少部分例如由在图5中所示的属性模块执行。
[0085]接收指示符,该指示符是来自第一用户账户的多个属性的属性已经被标识为目标属性(块610)。在一些实施例中,属性可以被与目标属性关联的用户账户的用户指明为目标属性。
[0086]定义属性的哈希值(块620)。在一些实施例中,哈希值可以被称为被确定或者计算。哈希值可以例如由在图5中所示的哈希模块51定义。在一些实施例中,可以响应于检测到(例如,在指定的邻近内检测到)对等设备来计算哈希值。
[0087]向对等设备发送哈希值(块630)。在一些实施例中,可以在属性请求中向对等设备发送哈希值。
[0088]接收在对等设备处计算的哈希值与向对等设备发送的哈希值的匹配数目的指示符(块640)。在一些实施例中,可以在对等设备处基于在对等设备处可访问的一个或者多个目的地属性计算哈希值。在一些实施例中,可以在对等设备处定义并且向源设备发送的属性响应中包括匹配数目。在一些实施例中,可以例如使用在图5中所示的哈希模块53来计算在对等设备处计算的哈希值。在一些实施例中,匹配数目可以大于一。
[0089]基于匹配数目计算在第二用户账户的多个属性中包括属性的概率(块650)。在一些实施例中,可以基于与哈希值关联的哈希值空间的大小和/或与属性关联的属性空间的大小计算概率。
[0090]图7是图示了根据一个实施例的与可以用于属性发现的一个或者多个代码关联的属性的示图。如图7中所示,包括Pl至PN的属性72与代码70(可以被称为代码值)关联。在这一实施例中,代码70被图示为16位二进制值。在被标注为Kl至KN的代码70以上图示位值位置I至16 (其为在代码70内的相对位置)。在一些实施例中,代码70中的每个代码可以对于属性72中的每个属性是唯一的,并且可以是对于用于用户账户集合的属性公共的代码70。换言之,用于来自用户账户集合的用户账户中的每个用户账户的属性可以各自与代码70中的至少一个代码关联。换言之,在代码空间中包括的值(例如,代码值)数目(或者数量)可以等于在属性空间中包括的属性数目(或者数量)。在一些实施例中,与以上描述的哈希值和/或映射值相似,代码70可以对于属性72中的每个属性不是唯一的。在一些实施例中,代码70可以被预定义(取代被动态地产生)并且映射到属性72。[0091 ] 作为代码70的使用的具体示例,例如,将属性P4指明为目标属性的源设备可以被配置为在属性请求中发送指示符,这些指示符是目标属性P4在位置8包括二进制值“O”并且在位置11包括二进制值“O”。即使代码K4对于属性P4是唯一的,仍然不会在属性请求中与目的地设备共享整个代码(和属性P4)。基于在属性请求中与目的地设备共享的二进制值和关联位置,目的地设备可以确定与目的地属性关联的一个或者多个代码是否可以与目标属性匹配。如果目的地属性包括属性P4和属性PN,则目的地设备可以定义属性响应,该属性响应指示两个属性与在位置8和11 (例如,相同或者对应的相对位置)包括二进制值“O”的代码(即,编码的K4和KN)关联。虽然在这一实施例中在属性请求中发送了代码K4的两个部分,但是在一些实施例中,可以在属性请求中包括代码的仅单个部分或者代码的多于两个部分。
[0092]基于在位置8和11包括二进制值“O”的代码70的数目。源设备可以计算目的地设备的目的地属性包括目标属性的概率(例如,概率值)。基于概率,源设备(和源用户账户)的用户可以可选地参与与目的地设备(和目的地用户账户)的用户的附加社交交互。在一些实施例中,概率可以根据在属性请求中包括的代码的部分的大小变化。例如,如果在属性请求中包括代码的相对大的部分(例如,大量位值),则与目标属性肯定地匹配的概率可以高于如果在属性请求中包括代码的相对小的部分。与相对大的部分的可能的冲突数目可以小于与相对小的部分的可能的冲突数目。
[0093]虽然在这一实施例中被图示为二进制值,但是在一些实施例中,一个或者多个代码可以包括不同类型的值(例如,文字数字值)。而且,在这一实施例中,代码70被图示为具有16位。在一些实施例中,一个或者多个代码可以具有大于16位的按位长度。在一些实施例中,代码集合可以包括具有不同长度的代码。
[0094]在一些实施例中,可以基于算法选择与在属性请求中包括的属性关联的代码的一部分(和代码的该部分在代码内的相对位置)。在一些实施例中,可以基于例如使用随机数生成器(未示出)生成的随机值选择代码的部分。在一些实施例中,选择的并且在属性请求中包括的代码的部分可以例如由用户(例如,用户的偏好)定义。在一些实施例中,可以基于可以在与目的地属性关联的至少一个代码中包括代码的部分的预测的概率选择代码的部分(例如,部分的大小、相对位置)。可以例如基于代码空间的大小、被选择用于匹配的代码的一部分的大小、目标属性数目、位值的序列等计算预测的概率。
[0095]例如,可以选择代码的为大(相对于按位代码长度)的一部分,从而使得如果发现与目的地属性的匹配,则目的地属性与目标属性相同的置信度(或者概率)可以相对高。可以选择代码的部分的大小,从而使得置信度将超过指定的置信度。
[0096]图8是图示了根据一个实施例的用于处理目标属性的又一方法的流程图。该方法的部分可以至少部分例如由在图2A中所示的属性模块200执行。
[0097]在第一设备处,接收与第一用户账户关联的目标属性(块810)。在一些实施例中,目标属性可以被与目标属性关联的用户账户的用户指明为目标属性。
[0098]访问代表目标属性并且包括多个值的代码(块820)。在一些实施例中,代码可以来自与属性关联的公共代码集合。换言之,代码可以来自与用户账户关联的属性公共的代码集合。在一些实施例中,可以在服务器处存储公共代码集合,它们可以在该服务器处被一个或者多个设备(例如,源设备、目的地设备)访问。在一些实施例中,代码可以是或者可以包括二进制值集合。
[0099]检测与第一设备具有指定的邻近的第二设备(块830)。在一些实施例中,第二设备可以被第一设备无线检测。
[0100]向第二设备发送代码的一部分和代码的该部分在代码内的相对位置的指示符(块840)。在一些实施例中,代码的部分可以是一个或者多个值(例如,二进制值、文字数字值)。在一些实施例中,可以标识并且例如在属性请求中向第二设备发送在代码内的多于
一个位置。
[0101]接收来自第二设备的指示符,该指示符是在来自与多个属性关联的多个代码的至少一个代码内的该相对位置包括代码的部分,该多个属性与第二用户账户关联(块850)。在一些实施例中,可以在属性响应中包括来自第二设备的指示符。
[0102]在一些实施例中,可以在任何组合中使用以上描述的技术。例如,结合图5和图6描述的哈希值技术可以与结合图2至图4描述的虚拟属性技术结合被使用。在这样的实施例中,匹配(或者不匹配)可以基于哈希值。作为另一示例,结合图5和图6描述的哈希值技术可以与结合图7和图8描述的代码技术结合被使用。在这样的实施例中,哈希值可以作为可以从中选择部分的代码工作。
[0103]可以在数字电子电路中或者在计算机硬件、固件、软件中或者在它们的组合中实施这里描述的各种技术的实现方式。实现方式可以被实施为用于由数据处理装置(例如,可编程处理器、一个计算机或者多个计算机)处理或者控制数据处理装置的操作的计算机程序产品(例如,在信息载体、机器可读存储设备、计算机可读介质、有形计算机可读介质中有形地体现的计算机程序)。在一些实现方式中,有形计算机可读存储介质可以被配置为存储在被执行时使处理器执行过程的指令。可以用包括编译或者解译语言的任何形式的编程语言编写计算机程序(比如以上描述的计算机程序),并且可以用任何形式部署计算机程序,包括作为单独程序或者作为适合用于在计算环境中使用的模块、部件、子例程或者其它单元。计算机程序可以被部署成在一个计算机上或者在一个地点或者跨越多个地点分布并且由通信网络互连的多个计算机上被处理。[0104]方法步骤可以由一个或者多个可编程处理器执行,该一个或者多个可编程处理器执行计算机程序以通过对输入数据操作并且生成输出来执行功能。方法步骤也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))执行,并且也可以将装置实施为该专用逻辑电路。
[0105]适合用于处理计算机程序的处理器例如包括通用和专用微处理器二者和任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的单元可以包括用于执行指令的至少一个处理器以及用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机也可以包括用于存储数据的一个或者多个海量存储设备(例如,磁盘、磁光盘或者光盘)或者被操作地耦合成从一个或者多个海量存储设备接收数据或者向一个或者多个海量存储设备传送数据或者二者。适合用于体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如,包括半导体存储器设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或者可移除盘);磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者被并入于专用逻辑电路中。
[0106]为了提供与用户的交互,实现方式可以被实施于计算机上,该计算机具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)、发光二极管(LED)或者液晶显示器(LCD)显示设备)以及用户可以用来向计算机提供输入的键盘和指点设备(例如,鼠标或者轨迹球)。其它种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
[0107]实现方式可以被实施于计算系统中,该计算系统包括后端部件(例如,作为数据服务器)或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有图形用户界面或者Web浏览器的客户端计算机)(用户可以通过该前端部件与实现方式交互),或者这样的后端、中间件或者前端部件的任何组合。部件可以由任何数字数据通信形式或者介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,因特网)。
[0108]尽管已经如这里描述的那样例示了描述的实现方式的某些特征,但是许多修改、替换、改变和等效现在将为本领域技术人员所想到。因此,将理解,所附权利要求旨在于覆盖如落入实现方式的范围内的所有这样的修改和改变。应当理解,已经仅通过示例而不是限制呈现了它们并且可以进行在形式和细节上的各种改变。除了互斥组合之外,可以在任何组合中组合这里描述的装置和/或方法的任何部分。这里描述的实现方式可以包括描述的不同实现方式的功能、部件和/或特征的各种组合和/或子组合。
【权利要求】
1.一种计算机可读存储介质,存储在被执行时使处理器执行过程的指令,所述指令包括用于以下操作的指令: 在第一设备处接收与第一用户账户关联的目标属性; 访问代表所述目标属性并且包括多个值的代码; 向第二设备发送所述代码的一部分和所述代码的所述一部分在所述代码内的相对位置的指示符;并且 从所述第二设备接收指示符,所述指示符表明在来自与多个属性关联的多个代码的至少一个代码内的所述相对位置处包括所述代码的所述一部分,所述多个属性与第二用户账户关联。
2.根据权利要求1所述的计算机可读存储介质,还包括用于以下操作的指令: 检测所述第二设备在与所述第一设备的阈值邻近内,用于发送的所述指令响应于所述第二设备在与所述第一设备的阈值邻近内被触发。
3.根据权利要求1所述的计算机可读存储介质,其中来自所述多个代码的至少一个代码和与所述目标属性关联的所述代码来自公共预定义代码集合。
4.根据权利要求 1所述的计算机可读存储介质,其中所述多个值的至少一部分是二进制值。
5.根据权利要求1所述的计算机可读存储介质,其中所述代码的所述一部分包括在所述至少一个代码内的与关联于所述目标属性的所述代码的所述一部分的所述相对位置对应的相对位置中。
6.根据权利要求1所述的计算机可读存储介质,还包括用于以下操作的指令: 基于所述指示符计算所述目标属性包括在所述多个属性中的概率。
7.根据权利要求1所述的计算机可读存储介质,还包括用于以下操作的指令: 基于所述代码的所述一部分包括在来自所述多个代码的所述至少一个代码中的预测的概率来选择所述代码的所述一部分。
8.根据权利要求1所述的计算机可读存储介质,还包括用于以下操作的指令: 基于随机值选择所述代码的所述一部分。
9.根据权利要求1所述的计算机可读存储介质,其中所述第一用户账户和所述第二用户账户与社交媒体应用关联。
10.根据权利要求1所述的计算机可读存储介质,其中所述代码是来自代码空间的唯一代码。
11.一种计算机可读存储介质,存储有在被执行时使处理器执行过程的指令,所述指令包括用于以下操作的指令: 接收指示符,所述指示符表明来自第一用户账户的多个属性的属性已经被标识为目标属性; 响应于所述指示符,向对等设备发送包括所述目标属性的属性集合; 接收来自所述属性集合的属性与第二用户账户的多个属性的不匹配数目的指示符;以及 基于所述不匹配数目来计算所述目标属性包括在所述第二用户账户的所述多个属性中的概率。
12.根据权利要求11所述的计算机可读存储介质,其中所述属性集合是第一属性集I=I, 所述指令还包括用于以下操作的指令: 响应于所述指示符,向所述对等设备发送与所述第一属性集合不同并且包括所述目标属性的第二属性集合;以及 接收来自所述第二属性集合的属性与所述第二用户账户的所述多个属性的不匹配数目的指示符,所述概率基于所述第一属性集合和所述第二属性集合被计算。
13.根据权利要求11所述的计算机可读存储介质,还包括用于以下操作的指令: 响应于由所述对等设备产生的无线信号检测所述对等设备,用于发送的所述指令响应于所述对等设备的所述检测被执行。
14.根据权利要求11所述的计算机可读存储介质,还包括用于以下操作的指令: 发送与公用密钥密码过程有关的密钥,所述属性集合的所述发送基于所述密钥。
15.根据权利要求11所述的计算机可读存储介质,其中所述属性集合包括至少一个虚拟属性。
16.根据权利要求11所述的计算机可读存储介质,其中所述目标属性是第一目标属性,所述属性集合包括与所述第一目标属性不同的第二目标属性。
17.根据权利要求11所述的计算机可读存储介质,其中所述属性集合是第一属性集I=I, 还包括用于以下操作的指令: 从所述对等设备接收第二属性集合; 计算来自所述第二属性集合的属性与所述第一用户账户的所述多个属性的不匹配数目;以及 向所述对等设备发送所述不匹配数目的指示符。
18.—种方法,包括: 接收指示符,所述指示符表明来自第一用户账户的多个属性的属性已经被标识为目标属性; 定义所述属性的哈希值; 向对等设备发送所述哈希值; 接收在所述对等设备处计算的多个哈希值与向所述对等设备发送的所述哈希值的匹配数目的指示符;以及 基于所述匹配数目计算所述属性包括在所述第二用户账户的所述多个属性中的概率。
19.根据权利要求18所述的方法,其中所述哈希值与哈希值空间关联,所述哈希值空间包括比在与所述多个属性关联的属性空间中包括的属性数目更小数目的哈希值。
20.根据权利要求18所述的方法,还包括: 在所述概率的所述计算之后向所述对等设备发送对于参与社交交互的请求。
21.根据权利要求18所述的方法,其中从源设备向所述对等设备发送所述哈希值,所述哈希值的所述定义响应于在所述对等设备与所述源设备之间的距离被触发。
【文档编号】G06Q50/30GK103999072SQ201280062384
【公开日】2014年8月20日 申请日期:2012年11月1日 优先权日:2011年11月8日
【发明者】J·N·赫迪奇, P·J·赫顿 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1