用于通过聚合将用户数据匿名的方法和设备的制作方法

文档序号:6497345阅读:171来源:国知局
用于通过聚合将用户数据匿名的方法和设备的制作方法
【专利摘要】在通过聚合将用户数据匿名的方法中,至少一个服务器侧装置(1)从用户客户端装置(2)接收匿名聚合命令。匿名聚合命令包括用户集合的规定和要被采取的动作。产生满足在匿名聚合命令中的规定的用户列表。验证作为满足用于匿名聚合的至少一个标准的满足规定的用户列表。关于满足规定的验证的用户列表触发匿名聚合命令中要被采取的动作。
【专利说明】用于通过聚合将用户数据匿名的方法和设备
【技术领域】
[0001]本发明涉及一种用于通过聚合(aggregation,汇集)将用户数据匿名的方法和设备。
【背景技术】
[0002]存在其中一个人想知道其他人的活动并且可能引起关于这些其他人采取某些动作的很多实例。例如,一个人可能想了解关于其他人如何使用某些数据或与其交互的至少某些信息。
[0003]作为特定实例,用户通常想知道谁已经读取了他们发送的电子邮件消息,或许只是为了由其他用户显示的对电子邮件的兴趣的一般反馈或允许与电子邮件的那些读者进行某些联系。然而,读者通常对分享这些信息都很警惕。存在诸如电子邮件读取报告的特征,但这些只在读取用户的选择下才发送并且许多用户将简单地拒绝使他们对消息的读取报告给发件人(由于很多任何原因,包括隐私)。某些其它实例是例如存储在公司内部的共享位置的文档文件、公司的内部维基(wiki)的页面以及甚至是公共网站(诸如维基百科)上的页面。已经编辑了共享公司文件或内部维基页面的用户的列表通常对于公司的任何人都是可获得的。类似地,已经在公共维基上编辑了页面的用户的列表通常是可见的。然而,通常不具有关于谁读取了共享文档或维基页面等的信息。作为又一实例,用户也可能喜欢与正在致力于类似于他们自己的工程或具有类似兴趣或能力的其他用户联系。这可通过检查其他用户正在发送的电子邮件消息的主题行来评估。然而,同样,其他用户将通常不愿意使该信息变成普遍可获得的,即使是在他们自己的组织内。

【发明内容】

[0004]根据本发明的第一个方面,提供了一种通过聚合将用户数据匿名的方法,该方法包括至少一个服务器侧装置:
[0005]从用户客户端装置接收匿名聚合命令,匿名聚合命令包括用户集合的规定和要被采取的动作;
[0006]产生满足匿名聚合命令中的规定的用户列表;
[0007]验证作为满足匿名聚合的至少一个标准的满足规定的用户列表;以及
[0008]关于所验证的满足规定的用户列表触发匿名聚合命令中要被采取的动作。
[0009]本发明的实施方式以聚合和匿名形式提供了关于用户数据的信息,诸如关于用户的个人数据,或更典型地,用户的活动的主题,并允许采取关于那些用户的动作,经过一定的安全措施以保护用户的隐私。仅作为一个实例,诸如在不移除那些用户的匿名性(即那些用户不会被发起该过程的客户端装置的用户识别)的情况下发生将电子邮件发送到所有用户的动作。以聚合形式呈现的信息不再需要处于单个中心位置。例如,在实施方式中,分布系统支持通过聚合被制成匿名的查询。优选的实施方式因此允许创建可由另一用户共同地作用于的用户聚合,而不会使其他用户能够单独地作用于或联系或识别聚合中的任何用户。在实施方式中,在使用相同的用户识别机制的分开的系统上产生的用户聚合可被组合,而不会损害聚合的匿名性。此外,在实施方式中,在使用不同的用户识别机制的不同系统上产生的用户聚合可被组合,而无需机制之间的完整映射且不会损害聚合的匿名性。
[0010]在实施方式中,该方法包括在事件索引中存储与已经发生的关于用户的事件相关的事件信息。产生用户列表可包括在事件索引中执行查询以检索满足匿名聚合命令中的规定的用户列表。所存储的事件索引允许快速访问满足规定的用户,并且可被不断地聚集和添加到执行相关活动(诸如发送电子邮件、读取某些网面、读取某些共享文件等)的系统的用户。
[0011]在实施方式中,关于事件的事件信息被存储在多个事件索引中,并且产生用户列表包括在多个事件索引中执行查询以检索满足匿名聚合命令中的规定的用户列表。至少两个事件索引可存储与不同类型的服务相关的事件信息。至少两个事件索引可以分布式方式存储在不同的网络节点中。
[0012]该方法优选地包括在事件索引中存储关于由用户执行的动作的主题内容的主题数据。主题数据可例如是或从电子邮件消息的主题行、维基页面或文档的标题、文件名、日历项的主题等得到。索引中的主题可彼此匹配。匹配无需依赖于准确的简单的文本匹配,并且使用例如评分系统优选地允许至少某些近似匹配以被更广泛地使用。
[0013]产生用户列表可涉及列表共享方法,凭借该列表共享方法,例如用户或数据和目标的列表以分布式方式存储在系统的多个节点之间,并且能够由另一节点为共同元件检查由一个节点创建的列表,而无需其它节点能够读取整个列表。
[0014]在实施方式中,该方法包括在事件索引中执行关于客户端装置的用户的查询以便为该用户验证匿名聚合命令中的规定。例如,用户可仅被给予关于与他们自己的“积极活动”匹配的主题的信息。在这个意义上的“积极活动”可包括例如组织会议、发送电子邮件、写文档、编辑维基页面、创建任务、接受任务分配等的一个或多个。通过积极行动的资格认证可防止投机的浏览索引。
[0015]在另一种实施方式中,产生用户列表包括使查询被发起以检索与已经发生的关于用户的事件相关的事件信息。这可被用来代替编译和存储事件索引本身。相反,查询可由服务器侧装置发送到提供所需的关于用户的数据的另一系统或其他系统,诸如电子邮件系统、网络访问记录等。可根据所接收的对发起的查询的响应产生满足规定的用户列表。
[0016]在实施方式中,可使查询被发起以检索与用户客户端装置的用户相关的事件信息以为该用户验证匿名聚合命令中的规定。
[0017]通常,产生用户列表可包括如上文提到的在事件索引中执行多个查询和/或如上述提到的使多个查询被发起以检索与已经发生的有关用户的事件相关的事件信息,查询的结果以某种方式(例如通过使用其本身是已知的集合操作)组合。
[0018]在实施方式中,采取动作包括创建寻址到所验证的用户列表中的每个用户的对象(object)。对象可以是例如通知,该通知被输出到所验证的用户列表中的每个用户。这可以是例如电子邮件、SMS(短消息服务或移动电话“文本”)等,其被发送到这些用户的每一个。在另一实例中,对象可以是或包括所验证的用户列表中的每个用户的任务,其可例如被添加到他们的(电子)日历。对象可提供与发起匿名聚合命令的用户客户端装置相关联的用户的详细信息。这允许用户与满足规定的所验证的用户列表联系,尽管不为用户提供那些其他用户的详细信息从而使得例如他们的名字、电子邮件地址、电话号码等不为用户所知。
[0019]在实施方式中,采取动作包括输出在所验证的用户列表中的用户数量的指示以被发起匿名聚合命令的用户客户端装置接收。这允许为用户提供例如有多少人已经读取了特定电子邮件或已经读取了关于特定主题的电子邮件或已经接受了出席会议(可能关于特定主题的)的邀请。
[0020]根据本发明的第二方面,提供了 一种触发关于其数据已经通过聚合而被匿名的用户的要被采取的动作,该方法包括客户端装置:
[0021]发起匿名聚合命令以被服务器侧装置接收,匿名聚合命令包括:对代表其发出命令的用户的参考(reference,引用);用户集合的规定;以及关于满足规定并被验证为满足用于匿名聚合的至少一个标准的用户而由服务器侧装置采取的动作。
[0022]这为用户提供了自动客户端配置,该配置使关于例如被视为与主题相关但是以聚合和匿名形式从而用户不知道其详细信息的多个用户的动作被采取。
[0023]在实施方式中,该方法包括从服务器侧装置接收关于满足规定的所验证的用户列表的客户侧装置数据。在简单实例中,该数据可能仅是满足规定(读取关于特定主题的电子邮件、读取特定文件等)且可为客户端装置的用户显示的用户的数量。
[0024]根据本发明的第三个方面,提供了一种设备,其包括用于通过聚合将用户数据匿名的一个或多个服务器侧装置,该设备提供处理系统,该处理系统被构造和布置为:
[0025]从用户客户端装置接收匿名聚合命令,匿名聚合命令包括用户集合的规定和要被采取的动作;
[0026]产生满足匿名聚合命令中的规定的用户列表;
[0027]验证作为满足用于匿名聚合的至少一个标准的满足规定的用户列表;以及
[0028]关于满足规定的验证的用户列表触发匿名聚合命令中要被采取的动作。
[0029]处理系统可包括至少一个处理器和包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为利用至少一个处理器使装置至少如上所述地操作。处理系统可有效地以分布式方式设置在多个服务器侧装置之间,其中,功能的一个或多个部分由一个服务器侧装置提供并且功能的一个或多个部分由一个或多个其它服务器侧装置提供。
[0030]根据本发明的第四个方面,提供了一种客户端侧装置,其用于关于其数据已经通过聚合而匿名的用户触发要被采取的动作,该装置包括处理系统,该处理系统被构造和布置为:
[0031]发起匿名聚合命令以被服务器侧装置接收,匿名聚合命令包括:对代表其发出命令的用户的参考;用户集合的规定;以及关于满足规定并被验证为满足用于匿名聚合的至少一个标准的用户而由服务器侧装置采取的动作。
[0032]还提供了一种计算机程序,其包括一组计算机可读指令,当由处理系统执行时,该计算机可读指令使处理系统执行如上所述的方法。计算机程序可存储在非瞬时性计算机可读存储介质中或其上。
[0033]通过仅通过实例的方式给出的并参照附图进行的本发明的优选实施方式的以下描述,本发明进一步的特征和优点将变得显而易见。【专利附图】

【附图说明】
[0034]图1示意性地示出了使用本发明的实施方式的布置;
[0035]图2示出了设置在根据本发明的实施方式的用户装置上的界面或显示器的实例;
[0036]图3示出了设置在根据本发明的实施方式的用户装置上的界面或显示器的另一个实例;
[0037]图4示意性地示出了根据本发明的实施方式的客户端、服务器、节点与主系统之间的交互的实例的概括;
[0038]图5示意性地示出了示例集合规定;
[0039]图6示意性地示出了使用单个索引网络的匿名聚合处理的实例;
[0040]图7示意性地示出了单个方案列表共享的实例;以及
[0041]图8示意性地示出了多方案列表共享的实例。
【具体实施方式】
[0042]参照图1,示意地示出了使用本发明的实施方式的布置。一个或多个服务器或其它计算装置I经由网络3 (其可以是局域网、广域网,互联网等,诸如WiF1、蜂窝式(移动)电话网络等的无线网络,或者它们的组合)与多个用户装置2通信。服务器I可类似地直接地和/或如所述的经由网络3彼此通信。每个服务器I具有处理器4、存储器(诸如随机存取存储器或RAM) 5、非易失性数据存储区(诸如一个或多个硬盘、固态存储装置等)6等。每个用户装置2类似地具有处理器7、存储器8、非易失性数据存储区9等。无线用户装置2(特别是包括移动装置2)还具有必要的无线通信设备,包括例如天线10。“无线装置”一般包括能够无线连接到网络的任何装置,并且特别包括移动装置,其包括移动电话或蜂窝电话(包括所谓的“智能电话”)、个人数字助理、寻呼机、平板计算机和膝上型计算机、内容消费或产生装置(用于例如音乐和/或视频)、数据卡、USB加密狗等,以及固定的或多个静态装置,诸如个人计算机、游戏控制台和其他一般地静态娱乐装置,各种其它住宅和非住宅机器和装置等。处理器4、7在存储在数据存储区6、9中的软件的控制下执行指令,如计算装置本身那样的将数据存储在存储器5、8中并进行访问。
[0043]首先在广义方面,在实施方式中,用户装置2具有存储和运行的客户端软件,其使装置2的用户能够发起(“手动”地,即在用户的推动下,或者自动地)匿名聚合命令,匿名聚合命令通过网络3发送到服务器I以由服务器I采取动作。命令包括对发起代表其的命令的用户的参考,即它们识别该用户。用户确定被视为与该命令相关的用户集合的规定并且还确定对满足规定的用户集合所采取的动作,并且命令包括用于服务器I的相应数据和/或指令。客户端软件可以是专用匿名聚合应用的一部分,其可独立于其它运行的软件或应用在用户装置2上运行,在这种情况下,命令将响应于用户动作被发送,并且结果将显示在专用匿名聚合应用上。可替代地,客户端软件可作为某些其它软件或应用(例如电子邮件应用)的一部分或集成到其中来运行。在这种情况下,命令可在后台被发送,其中,结果的显示被集成到主应用的用户界面。
[0044]服务器I存储和运行适当的服务器侧软件。当服务器I的其中一个接收由用户装置2发起的匿名聚合命令时,服务器I可与子集发生器(subset generator)连接以处理命令。子集发生器与存储关于已经在主系统中发生的事件的信息的事件索引连接。主系统可以是很多类型的其中一种,其包括例如电子邮件服务器、个人信息管理服务器、日历服务器、维基主机等。事件索引支持关于其存储的数据的查询。取代事件索引,如下面进一步讨论地,可使用事件索引虚拟机。子集发生器和事件索引产生满足聚合组中的规定的用户的一个或多个列表。一个或多个列表被验证以确定最终结果集合是否有资格作为匿名聚合。子集发生器可与子集寻址器(subset adressor)连接以执行对于或关于最终结果集合中的用户的动作(其在由用户装置2发送的命令中规定)。
[0045]可具有多个子集发生器、事件索引/事件索引虚拟机和子集寻址器。这些部分可组成在匿名聚合网络中、分散在多个服务器I之间。匿名聚合网络的多个服务器I可以类似于上面概述的方式处理匿名聚合命令并且可分配处理而不会损害匿名性。
[0046]本发明的实施方式的实例为用户提供关于它们所发送的电子邮件的反馈。例如,对十个收件人发送电子邮件消息的发件人可看到这十个人中有多少个人读取了消息,并且可例如看到有多少人在给定的一天读取了该消息。然而,发件人不了解十个收件人中有哪几个已经读取了该消息并且也无法找出十个收件人中有哪几个还没有读取该消息。可设置阈值。例如,在实施方式中,对少数收件人发送电子邮件消息的发件人不会知道阅读者的任何数量等,以帮助避免发送人能够计算出谁可能已经或可能没有读取电子邮件。这样的一个实例在图2中被示意性地示出,图2示出了通过客户端软件设置在用户装置2上的界面或显示器的实例。在此,用户已经发送了电子邮件并观看如通过客户端软件提供的所发送的电子邮件。在本发明的实施方式中,除了通常的项目(诸如电子邮件的标题或主题11、地址或收件人的列表12、收件人的总数13、消息的文本14)之外,还显示了实际读取电子邮件的收件人的数量的计数15 (尽管没有实际上已经读取了电子邮件的特定个人的指示)。
[0047]作为另一个实例,用户可能想将关于特定主题的电子邮件或其它消息发送给可能对该主题感兴趣的人。在实施方式中,在某些实施方式中,该消息将被递送到已经发送了具有给定主题或类似主题的消息的每个用户,此外,用户不会被告知那些用户是谁。这可被限制为仅在有限情况下被启动,从而用户必须在他们能够以此方式发送某主题的电子邮件之前已经组织了由至少十人出席的关于该主题的会议。这样的实例在图3中被示意性地示出,图3示出了通过客户端软件设置在用户装置2上的界面或显示器的另一个实例。在此,用户是正显示在用户装置2上的并且涉及主题“低占用空间JavaSCript”21的维基页面的编辑者20。用户具有选项22 (在用户装置2上显示为“可点击的”图标)以使由用户装置2发起的命令了解有多少人已经发送了有关“低占用空间Javascript”的电子邮件。也对用户呈现了作为匿名聚合命令的结果被提供的维基页面的读者的数量的显示23,匿名聚合命令在例如用户打开维基页面以进行编辑或者在保存编辑时可能已经被自动发送。用户装置2上的显示器也可包括可点击的图标24,其可被“点击”以启动进一步相关的命令,诸如通过电子邮件的用户发送到维基页面的那些读者的每一个。
[0048]作为另一个实例,用户组织会议并发送邀请。在实施方式中,当足够多的人接受了邀请时,为该用户在其客户端装置上显示多个计数。例如,组织者可看到有多少有关会议主题的消息已由所确认的出席者发送的计数。作为另一个实例,组织者可看到已经创建了与会议的主题相关的任务的出席者的计数。又作为另一个实例,组织者可看到已经读取了从邀请链接的维基页面的出席者的计数。可被提供给组织者的相关信息的很多其它实例是可以的。
[0049]在示例性实施方式中,可应用多个阈值。例如,在读取电子邮件可有资格作为积极动作之前,可具有最小数量的电子邮件的收件人。作为另一个实例,还可具有用于对于有目的的聚合所需的最小数量的动作的阈值。作为简单的实例,如果电子邮件仅被发送给两个人,则确定如果该电子邮件经过索引和通知返回给发件人两个收件人的动作,收件人的匿名性不能受到适当的保护。
[0050]在很多实际实施中的特别重要的阈值关注的是确保满足匿名聚合命令中的规定的最终结果的用户集合实际上有资格作为匿名聚合。例如,在该集合中可能需要最小数量的用户,诸如至少两个用户,并且更通常地,尽管没有限制,但是2与20个用户之间的某些值表示了限制。作为另一个实例,为了有资格作为匿名聚合,该集合中的用户的最小数量可以是网络或系统所涉及的用户(即引起其事件信息被存储在一个具体实例中的事件的那些用户)的总数的某一部分或百分比。这可以是企业(诸如商业或大学或学校等)中的用户的总数并且最小数量例如可以是其百分比,诸如1%、2%或者大约1%与10%之间的某些其它值(通常非常小的值)。应理解,优选或最佳值将取决于很多因素,包括例如用户是否在相同或相关的组织中、实际上可能私人之间彼此认识、在地理上彼此接近等。另一个可能的因素是由用户或企业或其它组织(他们的匿名性实际上被保护)所需的信任程度。某些组织对此可能要求很严格并因此需要将最小值设置在较高水平,而其它组织可能并不那么严格,并且确实希望鼓励在用户之间的通信,并且因此可设置较低的阈值。另一个因素是所涉及的数据的性质或类型,这可能会导致组织或企业寻求更高或更低的阈值。通常在网络层设置数量,其中考虑例如所关注的用户的总数。
[0051]在示例性实施方式中,被动的动作被添加到索引。被动的动作包括例如读取电子邮件、读取维基页面、读取文档等。应注意,为了这些目的,仅接收电子邮件优选地不算作被动的动作并且不会被添加到索引。
[0052]现在参照图4,其示出了运行适当的客户端软件25的客户端装置2,客户端软件25可将匿名聚合命令发送到其中由适当服务器侧软件26作用于命令的匿名聚合服务器I。在该实例中,匿名聚合服务器I将用于处理的命令传递到其它服务器1,有时在本文中称为匿名聚合节点I。而且,将理解,在实践中可使用多个服务器或节点1,其中,数据以分布式方式被存储在不同服务器/节点I处并且在不同服务器/节点I处执行处理。
[0053]上述事件索引30由从某些“主系统” 31 (诸如电子邮件和个人信息管理(PM)服务器、维基主机、文件管理系统等)接收事件信息并将其存储在事件数据库32中的节点I形成。(应理解,PM通常包括联系人、日历、任务并且有时包括备忘录)。因此,例如,节点I从电子邮件服务器31接收关于已经由用户发送的电子邮件的详细信息,该信息包括例如电子邮件发送的日期和时间、发送人和收件人的详细联系信息、邮件的主题等。作为另一个实例,节点I从文档管理系统31接收关于已经由用户“打开”或读取的文档的详细信息,该信息包括例如文档被打开或读取的日期和时间、打开或读取文档的发送人和用户的详细联系信息、文档的标题和文件名等。不同的节点I可与不同的主系统31 (例如属于不同的组织)通信,并且每个节点I可与一个或多个主系统31通信。
[0054]事件索引30可支持来自子集发生器33(其中规定项目或主题参考以及事件的类型)的直接查询,并且查询返回具有提及的项目或主题的规定类型的事件发生于其的用户的列表。事件索引30还可支持来自子集发生器33(其中规定事件的项目参考或类型)的间接查询,并且查询返回具有其话题匹配所提及的项目的话题的项目或主题的所规定的类型的事件发生于其的用户的列表。事件索引30使用主题匹配器34以识别索引中的事件的主题与经由服务器I和子集发生器33从客户端2获得的匿名聚合命令之间的匹配。可存储在事件索引中的用于该匹配的可能主题的某些实例是电子邮件消息的主题行、维基页面或文档的标题、文件名、日历项的主题等。主题的匹配可使用简单的精确的文本匹配,尽管优选地使用至少某些近似匹配的方法,其使用例如语音算法或积分系统,诸如例如本身已知的探测法(Soundex)。
[0055]在示例性实施方式中,用户仅被给予关于与其自己的“积极活动”匹配的主题的信息。在该背景下的积极活动包括组织会议、发送电子邮件、写文档、编辑维基页面、创建任务、接受任务分配等。仅仅读取本身的电子邮件在该背景下通常不会算作积极活动。参加会议将算作积极的,可能是因为用户已经对邀请发送了响应电子邮件以出席会议。以这种方式通过积极动作来赋予资格可防止用户在投机的浏览索引中的主题。
[0056]如上所述,不是在服务器I中使用事件索引30或除此之外,子集发生器33可与呈现与事件索引30相同的界面而无需存储数据本身的事件索引虚拟机连接。这种虚拟机无论在何时必须处理从子集发生器33接收的查询时,查询其相关联的主系统31。事件索引虚拟机实际上是数据结构和查询的映射器。
[0057]可能出现在索引事件中的事件的某些实例:
[0058]用户Ul发送电子邮件消息Ml
[0059]用户U2读取电子邮件消息Ml
[0060]用户U3编辑维基页面PI
[0061]用户U4读取维基页面P2
[0062]等
[0063]在实例中,为每个事件存储下面的信息:
[0064]事件类型:事件(例如发送电子邮件消息)类型的代码。
[0065]项目参考:对主系统31中的项目的唯一参考。这是事件发生于其的项目。
[0066]用户参考:主系统31内的用户帐户的唯一参考。这是事件中的用户。
[0067]项目话题:项目的话题或“主题”,或可匹配其它话题的主题的散列值(hash,无用信息)。需注意,在实例中,向其投放话题的唯一用途是用于匹配其它项目中的话题,并且因此无用信息是足够的。通过从事件索引30并因此从匿名聚合网络中作为整体去除一块清晰的数据,存储无用信息可帮助保护匿名性。
[0068]事件索引30支持关于该存储的信息的查询。
[0069]节点I中的子集寻址器35接收子集发生器的输出并执行从客户端2接收的匿名聚合命令中规定的动作,诸如将电子邮件消息发送给所定义的聚合中的每个人。子集寻址器35不与事件索引30本身相关联。应注意,子集寻址器35代表发起用户执行动作,并且这些动作总是同样地被识别。例如,作为匿名聚合命令的动作而发送的电子邮件将并显示为从该用户到其收件人。
[0070]来自用户装置2的匿名聚合命令中的聚合规定可以指其事件被存储在事件索引30中的主系统31中的多个项目。匿名聚合命令中的聚合规定可根据与所提及的项目(即,精确的对应)或与匹配项目(即,如定义的“类似的”)一起发生的事件的类型规定在聚合集合中的用户。此外,匿名聚合命令中的聚合规定可规定组合用户列表的集合操作。子集发生器33根据在匿名聚合命令中规定的任何集合操作组合用户列表,从而产生最终结果
口 O
[0071]如上所述,子集发生器33验证最终结果集是否有资格作为聚合并且如果没有则不采取进一步的动作。子集发生器33和事件索引30也可执行命令的发起用户具有对在命令的聚合规定中提及的项目的“请求(claim,要求,声明)”的检查。例如,如上所述,用户可仅被给予关于与他们自己的“积极活动”(诸如组织会议、发送电子邮件、写文档、编辑维基页面、创建任务,接受信息任务分配等)匹配的主题的信息。
[0072]可具有多个事件索引30(和/或事件索引虚拟机)、子集发生器33和子集寻址器35。这些组成部分可被组织在以类似于上面概述的方式处理匿名聚合命令的匿名聚合网络中。网络中的组成部分可分配处理,而不会损害匿名性,并且实际上这可有助于确保匿名性。匿名聚合网络的事件索引30可为不同类型的服务存储事件数据。匿名聚合网络可以类似于上面概述的方式处理匿名聚合命令(其聚合规定覆盖不同类型服务的事件数据)。
[0073]现在将描述本发明的实施方式的实例的具体操作实例。将理解,超出在此描述的那些具体实例的很多变形也是可以的。
[0074]匿名聚合命今
[0075]下面是可通过用户装置2 (运行在其上的客户端软件)发送的匿名聚合命令的实例。客户端软件可被布置为使得仅在由用户提示(诸如手动地)时或跟随由用户采取的动作之后自动地发送命令,可选地,用户能够将某些设置和选项保存为默认值。
[0076]1.如果用户已经发送了电子邮件消息E1,查询有多少收件人已经读取了 E1。
[0077]2.如果用户已经组织了会议M1,查询有多少出席者已经读取了用户编辑的维基页面W1。
[0078]3.如果用户已经编辑了具有标题W2T的维基页面W2,将电子邮件发送至已经自己发送了具有类似于W2T的主题的电子邮件的每个其他用户。
[0079]4.如果用户已经将具有标题E3T的电子邮件E3发送至大量收件人,查找具有类似于E3T的标题的任何维基页面。
[0080]5.如果用户已经编写了两个维基页面Wl和W2,检查有多少人已经读取了 Wl但没有读取W2。
[0081]6.如果用户已经发送了两封电子邮件El和E2,检查有多少收件人已经读取了 El或E2。
[0082]在特定实例中,匿名聚合命令由以下几部分组成:
[0083](i)用户参考:如果是手动地,正在发送命令的用户的详细信息,或者如果是自动地,代表其执行命令的用户的详细信息。见上文,用户参考被列于事件索引中。
[0084](ii)聚合规定:聚合规定定义在聚合中的用户集合。如下面进一步讨论地,聚合规定是集合规定。
[0085](iii)动作:用于将采取的关于被发现在规定的聚合中的用户的动作的符号代码和可能附加的内容。子集寻址器将代码映射至动作并相应地处理任何附加的内容。例如,动作可仅仅是返回已经读取了特定电子邮件或关于特定主题的电子邮件、读取了特定维基页面等的用户的数量。作为另一个实例,具有电子邮件消息附件的“发送邮件”代码将使所附加的消息被发送至所产生的聚合中的每个用户。另一个实例将是给在企业PM系统内那些用户分配任务。作为另一个实例,动作可仅仅是向用户返回已经读取了电子邮件或维基页面等或者参加了关于特定主题的会议等的其它用户的数量。如下面进一步讨论的,在至少某些情况下,如果例如聚合被发现过小或过大,则可能不会采取动作。
[0086]集合规定被用于定义聚合的成员。每个命令都包括集合规定。
[0087]在实例中,集合规定可以是两种类型的其中一种,即列表(list,序列)规定或表达式(expression,符号)规定。
[0088]列表型规定以直接的形式定义用户列表,从而查询可通过事件索引执行以产生集合。在实例中,列表规定包括以下元素:
[0089](i)项目参考:对主系统中的项目(例如电子邮件消息)的唯一参考。正在发送命令的用户必须具有对他们的命令所提及的所有项目的声明;进一步见下文由服务器I对其进行的检查。此外,项目在它们是能够被有效地称为匿名聚合命令的一部分的某事物的意义上必须是有效的;进一步见下文由服务器I对其进行的检查。
[0090](ii)匹配标记:列表上的用户是否必须存在于所提及的项目本身的事件中或其话题匹配所提及的项目的任何事件的标记。应注意,这并不一定是精确的匹配,而是可替代为基于近似的匹配,使用例如Soundex代码或类似的技术。
[0091](iii)事件:用户与所提及的或匹配的项目之间的事件的符号代码。事件的实例是:
[0092](a)消息读取事件:如果匹配标记是明确的则是指阅读所提及的项目的用户,或者如果设置匹配标记则是指阅读匹配项目的用户。所提及的或匹配的项目可以是电子邮件消息,或在社交网站(SNS)内发送的消息等。
[0093](b)消息发送人事件:如果匹配标记是明确的,是指发送所提及的项目(其必须是消息)的用户。如果设置匹配标记,则是指发送其主题行匹配所提及的项目(其可以是任何类型的项目)的主题行的消息的用户。
[0094]另一方面,表达式型规定根据将在两个参数集合的处理的集合操作来定义集合。参数集合本身分别由集合规定定义。表达式规定具有以下元素:
[0095](i)操作:集合操作,其规定如何组合两个参数集合。实例是:
[0096]并集:该集合由任一参数集合中的项目组成。在两个集合中出现的项目在该集合中仅出现一次;
[0097]交集:该集合由处于这两个参数集合中的项目组成;
[0098]补集:该集合由在第一参数集合中但不在第二参数集合中的项目组成。
[0099](ii)第一参数:集合规定,其本身可以是列表类型或表达式类型。
[0100](iii)第二参数:另一集合规定,其本身又可以是列表类型或表达式类型。
[0101]最简单的集合规定将仅由列表规定组成。在另一极端,更复杂的集合规定可被看作是“树”数据结构,其具有在“叶”节点的列表规定和在“叶”节点内部的表达式规定。
[0102]事件类型表格
[0103]下列表格列出了事件索引能够存储的某些事件类型。如上所述,事件索引每个事件可存储多个字段。表格列出了某些可能的事件类型并描述了数据字段的内容。
【权利要求】
1.一种通过聚合将用户数据匿名的方法,所述方法包括至少一个服务器侧装置: 从用户客户端装置接收匿名聚合命令,所述匿名聚合命令包括用户集合的规定和要被采取的动作; 产生满足在所述匿名聚合命令中的所述规定的用户列表; 验证作为满足用于匿名聚合的至少一个标准的满足所述规定的所述用户列表;以及 关于满足所述规定的所验证的用户列表触发所述匿名聚合命令中要被采取的动作。
2.根据权利要求1所述的方法,包括: 在事件索引中存储与已经发生的有关用户的事件相关的事件信息。
3.根据权利要求2所述的方法,其中,产生用户列表包括在所述事件索引中执行查询以检索满足所述匿名聚合命令中的所述规定的所述用户列表。
4.根据权利要求1所述的方法,其中,与事件相关的事件信息被存储在多个事件索引中,并且产生用户列表包括在所述多个事件索引中执行查询以检索满足所述匿名聚合命令中的所述规定的所述用户列表。
5.根据权利要求4所述的方法,其中,至少两个所述事件索引以分布式方式存储在不同的网络节点中。
6.根据权利要求2至5中任一项所述的方法,包括关于所述用户客户端装置的所述用户在所述事件索引中执行查询以便为该用户验证所述匿名聚合命令中的所述规定。
7.根据权利要求2至6中任一项所述的方法,包括在所述事件索引中存储关于由用户执行的动作的主题内容的主题数据。
8.根据权利要求1所述的方法,其中,产生用户列表包括: 使查询被发起以检索与已经发生的关于用户的事件相关的事件信息。
9.根据权利要求8所述的方法,包括根据接收的对所发起的查询的响应产生满足所述规定的所述用户列表。
10.根据权利要求8或9所述的方法,包括使查询被发起以检索与所述用户客户端装置的所述用户相关的事件信息以便为该用户验证所述匿名聚合命令中的所述规定。
11.根据权利要求1至10中任一项所述的方法,其中,产生用户列表涉及列表共享方法,利用所述列表共享方法,用户、数据和对象的至少一个的列表以分布式方式存储在多个网络节点上,并且由一个节点创建的列表能够通过另一节点来检查共同的元素,而无需所述另一节点能够读取整个所述列表。
12.根据权利要求1至11中任一项所述的方法,其中,采取动作包括创建寻址到在所验证的用户列表中的每个所述用户的对象。
13.根据权利要求1至12中任一项所述的方法,其中,采取动作包括输出在所验证的用户列表中的用户数量的指示以被发起所述匿名聚合命令的所述用户客户端装置接收。
14.一种关于其数据已经通过聚合而被匿名的用户触发要被采取的动作的方法,所述方法包括客户端装置: 发起匿名聚合命令以被服务器侧装置接收,所述匿名聚合命令包括:对所述用户的参考,其中,代表所述用户发起命令;用户集合的规定;以及关于满足所述规定并被验证为满足用于匿名聚合的至少一个标准的用户而由所述服务器侧装置采取的动作。
15.根据权利要求14所述的方法,包括在客户端侧装置处接收来自所述服务器侧装置的关于满足所述规定的验证的用户列表的数据。
16.一种设备,包括用于通过聚合将用户数据匿名的一个或多个服务器侧装置,所述设备提供被构造和布置为如下的处理系统: 从用户客户端装置接收匿名聚合命令,所述匿名聚合命令包括用户集合的规定和要被采取的动作; 产生满足在所述匿名聚合命令中的所述规定的用户列表; 验证作为满足用于匿名聚合的至少一个标准的满足所述规定的所述用户列表;以及 关于满足所述规定的所验证的用户列表触发所述匿名聚合命令中要被采取的动作。
17.根据权利要求16所述的设备,所述处理系统被构造和布置为: 在事件索引中存储与已经发生的关于用户的事件相关的事件信息。
18.根据权利要求17所述 的设备,所述处理系统被构造和布置为在所述事件索引中执行查询以检索满足在所述匿名聚合命令中的所述规定的所述用户列表。
19.根据权利要求18所述的设备,其中,与事件相关的事件信息被存储在多个事件索引中,所述处理系统被构造和布置为: 通过在所述多个事件索引中执行查询产生用户列表以检索满足所述匿名聚合命令中的所述规定的所述用户列表。
20.根据权利要求17至19中任一项所述的设备,所述处理系统被构造和布置为关于所述用户客户端装置的所述用户而在所述事件索引中执行查询以便为该用户验证在所述匿名聚合命令中的所述规定。
21.根据权利要求17至20中任一项所述的设备,所述处理系统被构造和布置为在所述事件索引中存储关于由用户执行的动作的主题内容的主题数据。
22.根据权利要求16所述的设备,所述处理系统被构造和布置为使查询被发起以检索与已经发生的关于用户的事件相关的事件信息。
23.根据权利要求22所述的设备,所述处理系统被构造和布置为根据接收的对所发起的查询的响应来产生满足所述规定的所述用户列表。
24.根据权利要求22或23所述的设备,所述处理系统被构造和布置为使查询被发起以检索与所述用户客户端装置的所述用户相关的事件信息以便为该用户验证在所述匿名聚合命令中的所述规定。
25.根据权利要求16至24中任一项所述的设备,所述处理系统被构造和布置为使得产生用户列表涉及列表共享方法,利用所述列表共享方法,用户、数据和对象中的至少一个的列表以分布式方式存储在网络的多个节点上,并且由一个节点创建的列表能够由另一节点检查共同的元素,而无需所述另一节点能够读取整个所述列表。
26.根据权利要求16至25中任一项所述的设备,所述处理系统被构造和布置为创建寻址到所验证的用户列表中的每个所述用户的对象。
27.根据权利要求16至26中任一项所述的设备,所述处理系统被构造和布置为输出在所验证的用户列表中的用户数量的指示以被发起所述匿名聚合命令的所述用户客户端装置接收。
28.一种用于关于其数据已经通过聚合而被匿名的用户触发要被采取的动作的客户端侧装置,所述装置包括处理系统,所述处理系统被构造和布置为:发起匿名聚合命令以被服务器侧装置接收,所述匿名聚合命令包括:对所述用户的参考,其中,代表所述用户发出所述命令;用户集合的规定;以及关于满足所述规定并被验证为满足用于匿名聚合的至少一个标准的用户而由所述服务器侧装置采取的动作。
29.根据权利要求28所述的客户端侧装置,所述处理系统被构造和布置为关于从所述服务器侧装置接收的有关满足所述规定的验证的用户列表的数据来执行动作。
30.一种计算机程序,包括一组计算机可读指令,当所述计算机可读指令由处理系统执行时,使所述处理系统实施根据权利要求1至13中任一项所述的方法。
31.一种计算机程序,包括一组计算机可读指令,当所述计算机可读指令由处理系统执行时,使所述处 理系统执行根据权利要求14或权利要求15所述的方法。
【文档编号】G06F21/62GK103946857SQ201280056667
【公开日】2014年7月23日 申请日期:2012年11月15日 优先权日:2011年11月17日
【发明者】西亚瓦什·詹姆斯·约拉卜基安·霍金斯 申请人:良好科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1