在社交网络应用中匿名地共享秘密的制作方法_2

文档序号:9290089阅读:来源:国知局
此夕卜,如果仍没有关于秘密的评论,秘密GUI构成要素可以以不同于显示已具有评论的秘密的格式显示评论⑶I元素。例如,如2图中所示,评论⑶I元素215被显示具有填充颜色以及在第二秘密GUI构成要素212中的评论GUI元素被娴熟不具有填充颜色。
[0043]在新闻提要235中显示的每一个秘密⑶I构成要素包括心爱⑶I元素。心爱⑶I元素促进用户“喜欢”指示用户喜欢秘密的秘密。例如,在第一秘密构成要素中的心爱GUI元素220促进用户“喜欢”第一秘密205。心爱GUI元素还可以指示在秘密GUI构成要素中显示的秘密接收到的“喜欢”的数量。例如,所显示的心爱⑶I元素220指示第一秘密205已收到三百一十二( “312”)条“喜欢”。在一些实施例中,当用户的唯一的朋友可以对由该用户发布的特别的秘密进行评论,而特别的秘密与之共享的任何用户都可以“喜欢”该特别秘密。如果特别秘密没有收到任何“喜欢”,秘密GUI构成要素可能无法显示与心爱GUI元素(例如,如在第二秘密GUI构成要素212中示出的)相关的任何数字。
[0044]此外,如果秘密没有“喜欢”,这个秘密⑶I构成要素可以以不同于显示已经收到了 “喜欢”的秘密的格式显示心爱⑶I元素。例如,如图2所示,心爱⑶I元素220显示具有填充颜色,以及第二秘密⑶I构成要素212中的心爱⑶I元素被显示不具有填充颜色。此外,在一些实施例中,当用户“喜欢”秘密时,心爱GUI元素可以被显示特定格式,该特定格式指示用户“喜欢”秘密。例如,如果用户105a “喜欢”第一秘密205,心爱⑶I元素220可以被显示具有填充颜色,如红色,该颜色指示用户105a喜欢该秘密。此外,心爱⑶I元素220的这样的表示,例如,红色的填充颜色,可以只呈现给喜欢秘密的用户105a。也就是说,如果用户105a喜欢第一秘密205,只有用户105a可以看到的红色的爱心,而不是其他的用户。
[0045]在一些实施例中,每一个秘密⑶I构成要素可以包括身分标记,其指示相应的秘密的作者的通用身分信息。在一些实施例中,身分标记可以显示指示秘密的作者的位置的位置信息。例如,身分标记230显示关于第一秘密205的作者的位置的信息。在一些实施例中,身分标记可以显示关系信息,其指示秘密的作者和用户(例如,正在查看用户装置IlOa上的秘密的用户105a)之间的关系。例如,在第二秘密⑶I构成要素212中的身分标记显示有关第二秘密210的作者和用户105a之间的关系的信息。
[0046]在一些实施例中,关系信息指示秘密的作者和用户(例如,用户105a)之间的一定程度的关系。例如,如果用户“A”是用户“B”的朋友,那么用户“A”和“B”被认为是共享的第一等级的关系。例如,如果用户“A”是用户“B”的朋友以及用户“B”是用户“C”的朋友,也就是用户“C”是用户“A”的朋友的朋友(“FoF”),那么用户“A”和“C”被认为是共享第二等级的关系。超过第二等级的关系(例如,既不是朋友,也不是FoF)的任何关系可视为多等级的关系。显示的关系信息可以包括诸如“朋友”,“朋友的朋友”,“你的圈子”的信息。在一些实施例中,具有关系信息“朋友”的秘密的身分标记指示该秘密是被用户105a的朋友发布的。在一些实施例中,具有关系信息“朋友的朋友”的秘密的身分标记指示该秘密由用户105a的FoF发布的。在一些实施例中,具有关系信息“您的圈子”的秘密的身分标记指示该秘密由用户发布105a的朋友或FoF发布的。上述显示在身分标记中的关系信息只是一些例子。身分标记可以显示使用各种其他字和短语的关系信息。
[0047]显示的位置信息可以是诸如城市(如旧金山)、州(如加州)、国家、从用户105a到秘密的作者的距离(如2.5英里),等信息。如图2所示,第一秘密⑶I构成要素207显示指示第一秘密205的作者的城市的身分标记230。
[0048]在身分标记中将显示的信息是根据各种因素决定的,比如,用户105a在社交网络应用150中拥有的一些朋友或秘密的作者和用户105a之间的一定程度的关系。例如,如果用户105a拥有的朋友数低于特定阈值时,身分标记显示为“您的圈子”,而不论秘密是否是由用户105a的朋友或朋友的朋友所发布的。在另一个例子中,如果特别秘密是被除了用户105a的朋友或FoF之外的用户发布的(例如,不与用户105a共享第一等级或第二等级关系的用户),则身分标记显示特别秘密的作者的位置。相对于身分标记的其他详细信息至少参考图5被描述。
[0049]再次参照图1,社交网络应用150的传送机制确定用户(如用户105a)的朋友/追随者是谁以及将由用户105a发布的秘密与用户105a的一些朋友或全部的朋友共享。在一些实施例中,用户105a的朋友是在用户105a的联系列表(例如,用户105a的地址簿)中的个人(也被称为“联系人”),其也是社交网络应用150的成员。在一些实施例中,地址簿存储在用户装置IlOa上。在一些实施例中,地址簿是由用户105a使用的第三方应用或服务以存储实体(例如,一个人)的联系人信息。当用户105A向社交网络应用150注册,用户105a的联系人信息以及在用户105a的地址簿中的联系人被上传到服务器120。在一些实施例中,联系人信息包括实体的电话号码和/或实体的电子邮件ID。联系人的联系信息可以在被上传到服务器120之前进行本地散列,以使得联系人被匿名到服务器120。散列可以使用盐渍来进行。在密码学中,盐渍是随机数据,其被用来作为附加输入到进行散列的数据(例如密码或口令)的单向函数。
[0050]在一些实施例中,盐渍的作用是抵挡字典攻击和预计算的彩虹表攻击。新的盐渍可为每个联系人的联系信息随机产生。当联系人信息被使用盐渍进行散列时,电话号码,例如[+15552786005]可以成为散列的数据如[a22d75c92a630725f4]以及被散列的数据被发送到服务器120。联系人的原始电话号码可以不从用户装置被上传。虽然只有用户105a的联系人的联系信息的被散列的数据被上传到服务器120,用户105a的联系人信息可被以散列的和非散列的格式进行上传。
[0051]用户装置110a-d和服务器120之间的通信的可以使用安全通信协议被加固。在一些实施例中,用户装置110a-d使用加密协议(例如安全套接字层(SSL))发送联系人信息到服务器120。
[0052]图3A示出了新的用户(如用户105a)的联系人信息和用户105a的联系人的表示的框图。联系人物件容器305表示用户105a的联系人细节和作为存储在计算装置IlOa上的用户105a的联系人。在计算装置IlOa执行上的社交网络应用150 (例如,社交网络应用)的客户端部分如散列物件容器310所示地对用户105a的联系人信息和用户105a的联系人进行散列。客户端部分然后发送散列物件容器310到服务器120。
[0053]在服务器120接收在地址簿中的用户105a的联系人信息和用户105a的联系人之后,服务器120存储联系人信息作为用户数据物件,例如,如用户数据物件315所示的。用户数据物件315以如图2中所示的散列的和非散列的格式存储用户105a的联系人信息。用户数据物件315在联系人数据物件中存储用户105a的联系人的联系人信息。联系人数据物件存储用户105a的每一个的联系人的联系人信息作为散列数据。在一些实施例中,服务器120存储联系人的散列数据作为二进制大物件(“BLOBs”)。用户数据物件315可被存储在与服务器120 (如数据库)相关联的存储介质125中。社交网络应用150的客户端部分执行上传用户105a-d和用户的联系人的联系人信息以及为每个向社交网络应用150注册的用户105a-d创建用户数据物件的过程。
[0054]当用户105a向社交网络应用150注册时,服务器120确定是否有任何用户105a的联系人也在社交网络应用150之中。服务器120比较用户105a的每一个联系人的联系人信息的散列数据与向社交网络应用150注册的所有其他用户的散列的联系人信息,以确定是否有任何匹配。如果存在在用户105a的第一联系人的散列的联系人信息和对应于第一用户的用户数据物件中的第一用户的散列信息之间的匹配,则服务器120确定用户105a中是社交网络应用150中的第一联系人的“朋友“或” “追随者”。但是,如果第一次联系人不具有在他/她的联系人列表中的用户105a的联系人信息,则第一联系人不是用户105a的追随者。在识别用户105a的所有朋友后,服务器120生成包含用户105a的朋友的联系人信息的散列数据的朋友图形物件,例如,如朋友图形物件320所示的。服务器120为在社交网络应用150中的每个用户生成朋友图形物件。
[0055]图3B是示出用于确定社交网络应用150中的用户的朋友和朋友的朋友的图示350的例子。在一些实施例中,图350和表365可以由服务器120利用参照图3A所描述的物件来确定。在图示350中,用户A352,用户B354,用户C356,用户D358和用户E360是社交网络应用150的用户。如表365所指出的,用户A352被认为是用户B354的朋友或追随者,因为用户A352在他/她的地址簿中有用户B354。然而,用户B354不被视为用户A352的朋友或追随者,因为用户B354在他/她的地址簿中不具有用户352。对于用户来说,用户C356和用户D358,他们被认为是彼此的朋友或追随者,因为他们中的每一个都在他们的地址簿中具有其他用户。
[0056]用户B354是用户D358的FoF,因为用户B354是用户C356的朋友,而用户C356是用户D358的朋友。所有的朋友都直接连接,并被认为是共享第一等级的关系。该FoF具有两个等级的分离且被认为共享第二等级的关系。超过两个等级的分离,例如,FoF的朋友(“FoFoF”),被认为是共享多等级的关系。在图示350中,用户、用户A352和用户D358共孚多等级的关系。
[0057]返回到秘密的传送机制,当用户105A发布秘密时,服务器120确定用户105a的朋友的列表,例如,使用朋友图表物件320。服务器120然后可以发送秘密给用户105a的朋友。在一些实施例中,服务器120可发送秘密到用户105a的朋友的子集。服务器120确定朋友的子集作为各个传播因子的函数,传播因子包括朋友拥有的一个或多个的朋友数,朋友作出的评论数,秘密已经收到的爱心的数,朋友的声誉,一天内的时间,朋友是否已封锁了用户,朋友是否已被用户封锁,朋友的地理位置,朋友发布的特别的秘密上接收到的爱心的数,等等。在朋友的子集被确定之后,服务器120发送秘密到朋友的子集。朋友们稍后可能会看到关于社交网络应用150的新闻提要的秘密。
[0058]进一步地,秘密可以在不同的时间被发送到不同的朋友。例如,由用户105a发布的秘密可能不与用户105a的特定朋友共享,直到秘密已收到预定数量的“喜欢”,或直到特定的朋友已经发布了预定数目的秘密等。在另一个例子中,当秘密被发送到特定的朋友/与特定的朋友共享的时刻也可以取决于特定的朋友的声誉。
[0059]此外,秘密可以被传播到用户的FoF。例如,当用户105a的朋友喜欢或爱心由用户105a发布的秘密,秘密也可以被传播到用户105a的FoF。作为与朋友一起,秘密将被传输至的FoFs确定作为各个传播因子的函数。
[0060]图4是用于在社交网络应用150中共享秘密的过程400的流程图。在一些实施例中,过程400可以在图1的环境中进行。在步骤405,社交网络应用150从用户收到消息,该消息必须被发布作为在社交网络应用150中的秘密。构成秘密的消息的用户也称为秘密的作者。作者可以各种方式输入消息至社交网络应用150。例如,作者可以使用社交网络应用150的客户端部分(如移动应用)输入秘密消息。在另一个例子中,作者可能通过发送电子邮件,推特,或发短信到社交网络应用150来输入秘密的谢谢。在又一示例中,作者可以通过从第三方应用发布消息到社交网络应用150来输入秘密的消息。第三方应用可以通过社交网络应用150提供的应用编程接口(API)传输秘密的消息到社交网络应用150。
[0061]在步骤410,服务器120将邮件进行匿名。在一些实施例中,匿名消息可以包括从消息中隔离发布消息的用户的用户身分信息。服务器120可从消息中提取用户身分信息,然后传送不具有用户信息的消息,例如,作为一个秘密。服务器120可以存储与从数据库中的秘密分离出的秘密相关联的用户身分信息。在一些实施例中,用户具有从用户已经发布的秘密中脱离他/她自己的选择,在此情况下,秘密的作者可能不被任何实体(包括社交网络应用150)发现。
[0062]在步骤415,服务器120在存储介质125,例如,在数据库中,存储秘密。在步骤420,服务器120发送该秘密给作者。作者可以在社交网络应用150的新闻提要上查看秘密。在步骤425,服务器120确定秘密已被传送至的作者的朋友,例如,如上述至少参考图1、图3A和3B的。
[0063]在步骤430,服务器120将秘密发送到作者的至少一些朋友。朋友们稍后可能会在社交网络应用150的新闻提要上看到秘密。在一些实施例中,服务器120确定秘密被传送至的朋友的子集作为至少参考图1和3A如上所述的各个传播因子的函数。秘密也可以被传播到的作者的FoF。另外,秘密可以在不同的时间被发送到不同的朋友。
[0064]例如,假设用户C352发布了秘密。服务器120确定用户C356的朋友是用户B354、用户D358和用户E360。服务器120可确定用户B354的声誉是在用户C325的朋友中最好的,并因此可以立即秘密发送到用户B354。服务器120可确定用户C356已封锁用户D358,并因此
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1