用于管理数据的计算系统转让专利

申请号 : CN201280030601.6

文献号 : CN103635890B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : G·基米驰R·巴伽V·古普塔Z·阿普特S·帕帕里佐斯

申请人 : 微软技术许可有限责任公司

摘要 :

描述了用于管理数据的系统和方法的各种实施例。该系统可包括被配置成进行对等通信的设备组,该设备组包括计算设备以及一个或多个对等计算设备。该系统包括被实现为在该计算设备以及每一个对等计算设备上执行的设备组应用编程接口(API)客户机的跨设备API。每一个设备组API客户机都包括许可模块,该许可模块被配置成确定请求是否满足用于访问存储在与设备组相关联的任何设备上的数据的设备组专用许可。当请求被授权时,文件存储模块被配置成检索并输出所请求的文件。

权利要求 :

1.一种包括跨设备应用编程接口API的用于管理数据的计算系统,包括:

在与设备组相关联的计算设备上执行的设备组API客户机,所述API客户机包括:

被配置成发现与所述设备组相关联的一个或多个对等计算设备的设备发现模块;

对等P2P模块,所述P2P模块被配置成经由在所述设备组中的所述一个或多个对等计算设备上执行的各自的设备组API客户机来参与与所述一个或多个对等计算设备中的每一个的P2P通信;

文件存储模块,所述文件存储模块被配置成使所述设备组API客户机能够在所述计算设备上本地地和/或使用经由所述P2P模块发送的通信来在所述一个或多个对等计算设备上远程地访问存储在分布式文件存储中的文件,所述文件存储模块被配置成经由所述设备组API客户机从计算机程序接收访问存储在所述分布式文件存储中的所请求的文件的请求;

许可模块,所述许可模块被配置成确定所述请求是否满足用于对存储在与所述设备组相关联的任何设备上的数据的访问许可的设备组专用许可之一,并且如果满足,则授权所述请求访问所请求的文件,否则拒绝所述请求访问所请求的文件,其中所述设备组专用许可包括内部许可和外部许可,所述内部许可包括用于在所述计算设备和所述一个或多个对等计算设备之间共享各种类别的用户数据的用户数据隐私设置,所述外部许可包括访问所述计算设备和所述一个或多个对等计算设备中的任一个的外部请求需要满足的设备组专用许可;并且当所述请求被所述许可模块授权时,所述文件存储模块被配置成从所述分布式文件存储中检索所请求的文件并将所请求的文件输出到所述计算机程序;

其中所述设备发现模块被配置成动态地发现满足至少一个设备组准则的当前未与所述设备组相关联的非成员计算设备,并将所述非成员计算设备添加到所述设备组。

2.如权利要求1所述的计算系统,其特征在于,所述设备组是具有第一设备组专用许可集的第一设备组,而所述设备组API客户机是第一设备组API客户机,所述第一设备组API客户机的许可模块被配置成确定所述请求是否满足所述第一设备组专用许可集,并且如果满足,则授权所述请求访问所请求的文件,否则拒绝所述请求访问所请求的文件,所述系统还包括具有第二设备组专用许可集的第二设备组,所述计算设备是所述第二设备组的成员并且包括包含许可模块的第二设备组API客户机,所述第二设备组API客户机的许可模块被配置成确定所述请求是否满足所述第二设备组专用许可集,并且如果满足,则授权所述请求访问所请求的文件,否则拒绝所述请求访问所请求的文件。

3.如权利要求1所述的计算系统,其特征在于,所请求的文件包括来自多个用户数据类别中的至少一个的用户数据,所述用户数据类别选自包括应用使用历史、浏览器历史、媒体数据、联系人数据、日历数据和社交网络数据的组,并且所述许可模块被配置成允许用户为所述用户数据类别中的每一个设置隐私设置。

4.如权利要求3所述的计算系统,其特征在于,所述API客户机包括广告模块,所述广告模块被配置成从所述计算设备以及所述对等计算设备中的至少一个收集聚集的用户数据,将包括所述聚集的用户数据的广告请求发送到远程服务器上的广告引擎,所述聚集的用户数据被授权根据所述设备组专用许可来发送,所述广告模块还被配置成响应于所述广告请求来接收广告,并在所述计算设备和/或所述对等计算设备中的至少一个上显示所述广告。

5.如权利要求1所述的计算系统,其特征在于,所述许可模块还被配置成在所述请求满足所述设备组专用许可的情况下授予部分访问特权,所述部分访问特权允许只访问文件中的数据的一部分和/或只允许为了授权用途访问所述文件中的数据。

6.如权利要求1所述的计算系统,其特征在于,所述计算机程序是媒体播放器,而所请求的文件是媒体文件,并且所述API客户机包括搜索模块,所述搜索模块被配置成在所述分布式文件存储中搜索所述媒体文件,并且如果所述请求满足所述设备组专用许可,则经由所述P2P模块将所请求的文件流传输到所述媒体播放器。

7.如权利要求1所述的计算系统,其特征在于,所述设备发现模块标识满足至少一个设备组准则的、当前未与所述设备组相关联的非成员计算设备,并将所述非成员计算设备添加到所述设备组。

8.一种用于管理数据的方法,在计算设备处,所述方法包括:

形成包括所述计算设备以及至少一个对等计算设备的设备组;

建立所述计算设备和所述至少一个对等计算设备之间的对等通信;

在所述计算设备上本地地和/或在所述至少一个对等计算设备上远程地将文件存储在分布式文件存储中;

从计算机程序接收访问存储在所述分布式文件存储中的所请求的文件的请求;

确定所述请求是否满足用于对存储在与所述设备组相关联的任何设备上的数据的访问许可的设备组专用许可之一,并且如果满足,则授权所述请求访问所请求的文件,否则拒绝所述请求访问所请求的文件,其中所述设备组专用许可包括内部许可和外部许可,所述内部许可用于在所述计算设备和所述至少一个对等计算设备之间共享各种类别的用户数据的用户数据隐私设置,所述外部许可包括访问所述计算设备和所述至少一个对等计算设备中的任一个的外部请求需要满足的设备组专用许可;

如果所述请求被授权,则从所述分布式文件存储中检索所请求的文件并将所请求的文件输出到所述计算机程序;以及动态地发现满足至少一个设备组准则的当前未与所述设备组相关联的非成员计算设备,并将所述非成员计算设备添加到所述设备组。

9.如权利要求8所述的方法,其特征在于,所述请求是第一请求,所请求的文件是第一所请求的文件,所述分布式文件存储是第一分布式文件存储,而所述设备组是第一设备组,所述第一设备组具有针对所述第一设备组的第一设备组专用许可集,所述方法还包括:形成所述计算设备是其成员的第二设备组,所述第二设备组具有用于对存储在与所述第二设备组相关联的任何设备上的数据的访问许可的第二设备组专用许可集;

在所述计算设备上本地地和/或在对等计算设备上远程地将文件存储在第二分布式文件存储中;

从所述计算机程序接收访问存储在所述第二分布式文件存储中的第二所请求的文件的第二请求;以及

确定所述第二请求是否满足所述第二设备组专用许可集,并且如果满足,则授权所述第二请求访问所述第二所请求的文件,否则拒绝所述第二请求访问所述第二所请求的文件。

10.如权利要求8所述的方法,其特征在于,还包括:

至少部分地通过动态地发现满足设备组准则的、当前未与所述设备组相关联的非成员计算设备来形成所述设备组。

说明书 :

用于管理数据的计算系统

[0001] 背景
[0002] 随着包括智能电话、平板、笔记本计算机等的移动计算设备的普及,用户可将个人信息和数据存储在多个不同设备上。具有多个计算设备的用户可能发现难以跨他们的各种设备管理他们的数据。一种现有的解决方案已经使用户将他们的数据存储在云计算环境中的远程服务器上,该云计算环境指的是其中客户机设备能够与服务器进行通信以便跨因特网将文件存储在这些服务器上的联网计算环境。以此方式,用户可以从可访问云的任何计算机访问存储在云服务器上的他们的数据。然而,用户对将他们的数据存储在远程服务器上可能具有隐私和/或安全顾虑,因为存储该数据的物理设备不在该用户的实际控制下。单个用户的多个设备之间以及网络中的不同用户的多个设备之间的数据管理也可能是困难的。另外,方便来自网络之外的对网络内的数据的请求可能是困难的。
[0003] 概述
[0004] 本文公开了用于跨设备组内的各个设备管理数据的系统和方法。一个系统可包括设备组,该设备组包括计算设备以及一个或多个对等计算设备。该系统包括被实现为在该计算设备以及每一个对等计算设备上执行的设备组应用编程接口(API)客户机的跨设备API。
[0005] 每一个设备组API客户机包括被配置成发现与设备组相关联的对等计算设备的设备发现模块。每一个设备组API客户机还包括被配置成经由对等计算设备各自的设备组API客户机来参与与设备组中的每一个对等计算设备的对等(P2P)通信的P2P模块。每一个设备组API客户机还包括文件存储模块,该文件存储模块被配置成使设备组API客户机能够在本地设备上本地地和/或使用经由P2P模块发送的通信来在一个或多个对等计算设备上远程地访问存储在分布式文件存储中的文件。文件存储模块还被配置成经由设备组API客户机从计算机程序接收访问存储在分布式文件存储中的所请求的文件的请求。
[0006] 每一个设备组API客户机还包括许可模块,该许可模块被配置成确定请求是否满足用于对存储在与设备组相关联的任何设备上的数据的访问许可的设备组专用许可,并且如果满足,则授权该请求访问所请求的文件,否则拒绝该请求访问所请求的文件。当请求被许可模块授权时,文件存储模块还被配置成从分布式文件存储中检索所请求的文件并将所请求的文件输出到计算机程序。
[0007] 提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0008] 附图简述
[0009] 图1是包括作为第一设备组和第二设备组的成员的计算设备的用于管理数据的计算系统的示意图。
[0010] 图2是示出包括第一设备组API客户机的计算设备的组件的图1的计算设备的详细示意图。
[0011] 图3是示出用于管理数据的方法且示出计算设备、第一设备组对等计算设备、第二设备组对等计算设备和服务器之间的通信和活动的图示。
[0012] 图4是示出图3的方法中的请求处理部分的一个示例的图示,该示例包括接收和处理广告请求。
[0013] 图5是示出图3的方法中的请求处理部分的另一示例的图示,该示例包括接收和处理对媒体文件的请求。
[0014] 详细描述
[0015] 图1是用于经由计算设备102以及一个或多个对等计算设备104之间的对等(P2P)通信来管理数据的计算系统100的示意图。计算设备102通过跨网络的P2P连接与对等计算设备104通信,这些网络在所公开的实施例中是局域网(LAN)106和116。如以下更详细地描述的,该系统包括在计算设备102和对等计算设备104上的客户机中实现的跨设备应用编程接口(API)。跨设备API使计算设备102能够成为可具有不同许可和不同的对等计算设备成员的多个设备组的成员。在其它示例中,多个设备组可具有不同许可和相同的对等计算设备。在又一些示例中,多个设备组可具有相同许可但不同的对等计算设备。
[0016] 计算设备102和对等计算设备104可采取以下形式:台式计算机、笔记本计算机、平板计算机、交互式电视机、移动计算设备、移动通信设备、游戏设备等。另外,将会理解,LAN106和116也可采取以下形式:广域网(WAN)、个域网(PAN)或其组合,包括因特网。
[0017] 现在参考图2,计算设备102包括大容量存储108、显示器110、存储器112和处理器114。存储在大容量存储108上的程序可由处理器114使用存储器112来执行以实现本文描述的各种功能。大容量存储108包括操作系统118、文件系统120、一个或多个应用程序(APP)
122和浏览器124。如下文更详细地描述的,大容量存储108还包括第一设备组API客户机
130A。
[0018] 返回到图1,计算设备102是第一设备组132的成员,该第一设备组132还包括台式计算机形式的对等计算设备104A、膝上型计算机形式的对等计算设备104B和交互式电视机形式的对等计算设备104C作为成员。在其它示例中,第一设备组132还可包括附加对等计算设备,并且对等计算设备104A、104B和/或104C可以是不同于图1所描绘的那些计算设备的计算设备。计算设备102以及第一设备组132中的每一个其它成员包括图1中大致指示的第一设备组API客户机130的实例,该第一设备组API客户机使得能够在第一设备组132的成员之间进行P2P通信。更具体而言,计算设备102包括第一设备组API客户机130A,对等计算设备104A包括第一设备组API客户机130B,对等计算设备104B包括第一设备组API客户机130C,而对等计算设备104C包括第一设备组API客户机130D。
[0019] 计算设备102也是第二设备组140的成员,该第二设备组140包括不同于第一设备组132中的对等计算设备104A、104B和104C的对等计算设备104E和104F。第二设备组140中的每一个成员包括图1中大致指示的第二设备组API客户机142的实例,该第二设备组API客户机使得能够在第二设备组140的成员之间进行P2P通信。更具体而言,计算设备102包括第二设备组API客户机142A,对等计算设备104E包括第二设备组API客户机142B,而对等计算设备104F包括第二设备组API客户机142C。如同第一设备组132,在其它示例中,第二设备组140还可包括附加对等计算设备,并且对等计算设备104E和/或104F可以是不同于图1所描绘的那些计算设备的计算设备。
[0020] 现在参考图2,第一设备组API客户机130A包括多个软件模块150。将会理解,分别在对等计算设备104A、104B和104C上的其它第一设备组API客户机130B、130C和130D包括具有如下文描述的功能的多个相同的软件模块150。还将理解,第二设备组API客户机142A、142B和142C还可包括多个相同的软件模块150或者一个或多个不同的软件模块。为了容易描述,软件模块150将只参考第一设备组API客户机130A来描述。
[0021] 软件模块150包括P2P模块154,该P2P模块154被配置成经由第一设备组132中的其它对等计算设备104A、104B和104C各自的第一设备组API客户机130B、130C和130D来参与与这些对等计算设备中的每一个的P2P通信。以此方式,在遵从下文更详细地描述的设备组专用许可的情况下,第一设备组132中的每一个成员都可直接访问该组中的其它成员的数据和资源。
[0022] 软件模块150包括设备发现模块156,该设备发现模块156被配置成动态地发现当前与第一设备组132相关联的一个或多个对等计算设备或者当前未与第一设备组132相关联的其它非成员计算设备,这些非成员计算设备可以在自组织的基础上被添加到该组。当设备发现模块156标识出非成员计算设备时,设备发现模块156可确定该非成员设备是否满足存储在许可模块158中的一个或多个设备组准则。
[0023] 在一个示例中,设备组准则可包括非成员计算设备的位置在计算设备102或者对等计算设备104A、104B或104C中的一个的预定义范围内。在另一示例中,设备组准则可包括非成员计算设备的用户的社交距离在计算设备102或者对等计算设备104A、104B或104C中的一个的用户的预定义距离内。该预定义距离可包括非成员设备的用户在社交网站上具有相对于计算设备102或者对等计算设备104A、104B或104C中的一个的用户的特定社交指定(诸如“朋友”或“朋友的朋友”)。
[0024] 在另一示例中,设备组准则可包括非成员计算设备的所有权指定与计算设备102或者对等计算设备104A、104B或104C中的一个的用户相关联。在一个示例中,计算设备102是用户A所拥有的笔记本计算机。用户A购买被设备发现模块156发现为非成员设备的新移动电话。当确定该移动电话是也拥有笔记本计算机/计算设备102的用户A所拥有时,设备发现模块156将该移动电话添加到第一设备组132。
[0025] 在另一示例中,当非成员计算设备变成第一设备组132内的对等计算设备时,第一设备组API客户机130A可被展示给诸如服务器162上的广告引擎176等外部web服务,以允许该web服务发现新的或修改后的第一设备组132。第一设备组132然后可允许该web服务在第一设备组中的成员设备上编写新应用。
[0026] 软件模块150还包括文件存储模块160,该文件存储模块160被配置成使第一设备组API客户机130A能够访问存储在与第一设备组132相关联的分布式文件存储中的文件。分布式文件存储可以本地地驻留在计算设备102上和/或远程地驻留在对等计算设备104A、104B和104C中的一个或多个上。文件存储模块160还被配置成从计算机程序接收访问存储在分布式文件存储中的所请求的文件的请求。在一个示例中,做出请求的计算机程序能够以诸如媒体播放器等应用程序122的形式本地地驻留在计算设备102上。在其它示例中,计算机程序可以驻留在对等计算设备104A、104B或104C中的一个上或者远程地驻留在服务器
162上。
[0027] 如上所述,软件模块150还包括许可模块158,该许可模块158被配置成确定文件存储模块160接收到的请求是否满足用于对存储在计算设备102和/或对等计算设备104A、104B和104C中的任一个上的数据的访问许可的一个或多个设备组专用许可164。设备组专用许可164可包括内部许可166和外部许可168。内部许可166可包括例如用于在第一设备组
132的成员之间共享各种类别的用户数据的用户数据隐私设置。各种类别的用户数据可包括例如应用使用历史、浏览器历史、媒体数据、联系人数据、日历数据和社交网络数据。许可模块158可被配置成允许用户设置针对一个或多个用户数据类别的隐私设置。外部许可168可包括访问计算设备102和/或对等计算设备104A、104B和104C中的任一个的外部请求(诸如对存储在这些第一设备组成员中的任一个上的数据的请求)需要满足的设备组专用许可。如下文更详细地描述的,外部许可168可包括例如在可将广告从服务器162上的广告引擎176提供至第一设备组132之前必须满足的许可。
[0028] 现在参考图1,将会理解计算设备102是第一设备组132和第二设备组140两者的成员。因此,计算设备102包括第一设备组API客户机130A和第二设备组API客户机142A。在一个示例中,服务器162可以经由WAN170和计算设备102上的第一设备组API客户机130A向第一设备组132请求文件。许可模块158确定该请求是否满足第一设备组专用许可集,并且如果满足,则许可模块授权该请求访问文件。第一存储模块160然后从分布式文件存储中检索该文件并将该文件输出到服务器162。如果该请求未满足第一设备组专用许可集,则拒绝该请求。
[0029] 在另一示例中,如果该请求满足第一设备组专用许可集,则许可模块158还可被配置成基于适用于做出请求的用户的通过程序确定的部分访问特权来授予对该文件的不同级别的访问特权。例如,许可模块158可被配置成授予部分访问特权,该部分访问特权只允许访问文件中的数据的一部分和/或只允许为了授权用途访问文件中的数据。该部分访问特权例如可根据隐私保护功能来制定以便在一个示例中保护用户隐私;在该示例中,请求可被授权只访问所请求的文件中的部分信息(诸如非个人可标识信息)和/或仅仅出于以非个人可标识方式聚集这类数据的目的来访问个人可标识信息。在一个用例示例中,请求可寻求访问存储在用户的移动设备上的薪水信息。在该薪水信息遵从隐私保护功能(诸如在一组用户之间聚集该信息)的情况下,许可模块158可授权该请求访问该薪水信息。
[0030] 服务器162还可以经由WAN170和计算设备102上的第二设备组API客户机142A向第二设备组140请求文件。第二设备组API客户机142A中的许可模块确定该请求是否满足第二设备组专用许可集,并且如果满足,则许可模块授权该第二请求访问文件。第二设备组API客户机142A上的文件存储模块然后从第二设备组分布式文件存储中检索该文件并将该文件输出到服务器162。如果该请求未满足第二设备组专用许可集,则拒绝该请求。
[0031] 在一个示例中,计算设备102上的应用程序122可以是媒体播放器。媒体播放器可以在第一设备组132和第二设备组140的分布式文件存储中搜索特定媒体文件。如果媒体播放器在第一设备组132的分布式文件存储中定位到该媒体文件,则该媒体播放器可以向第一设备组API客户机130A发送对该媒体文件的设备组专用请求。第一设备组API客户机130A中的搜索模块172被配置成在分布式文件存储中搜索媒体文件。如果媒体播放器请求满足设备组专用许可164,则搜索模块172经由P2P模块154将该媒体文件流传输到媒体播放器。
[0032] 在另一示例中,第一设备组API客户机130A中的广告模块174被配置成根据包括例如组级范围的隐私设置在内的设备组专用许可164来从第一设备组132的成员收集聚集的用户数据。如上所述,各种类别的用户数据可包括例如应用使用历史、浏览器历史、媒体数据、联系人数据、日历数据和社交网络数据。在收集聚集的用户数据时,广告模块174联系许可模块158以确定聚集的用户数据是否满足设备组专用许可164,包括诸如选择广告设置等管控可以与第三方服务共享的用户数据类别的用户数据隐私设置。许可模块158然后授权根据设备组专用许可164可发送的用户数据。
[0033] 当发生诸如浏览器124下载网页等触发事件时,广告模块174将包括已授权的聚集的用户数据在内的广告请求发送到远程服务器162上的广告引擎176。广告请求还可包括第一设备组132的组级特性,诸如组成员之间的关联或公共连接、组的社交图关联、成员设备的位置等。广告模块174然后接收广告引擎176提供的广告并确定选择第一设备组132中的哪些成员将接收到该广告的呈现样式。广告模块174然后根据呈现样式在所选的第一设备组成员上显示广告。
[0034] 将会理解,广告引擎176提供的广告被定向到第一设备组132,并因此可针对第一设备组的独特的组级特性。在其中广告请求由第二设备组140的成员发起的另一示例中,广告引擎176提供的广告可针对第二设备组的独特的组级特性。
[0035] 现在参考图3,一图示示出了用于根据本公开的一个实施例来管理数据的方法300。该方法可使用以上在图1中描述并示出的计算系统100的软件和硬件组件或使用其它合适的组件来执行。方法300开始于302,形成包括诸如计算设备102等计算设备以及诸如对等计算设备104A等第一组对等计算设备的第一设备组132。这可采取计算设备向第一组对等计算设备发送邀请304的形式。第一组对等计算设备通过向计算设备发送接受306来进行响应。
[0036] 在另一示例中并且如上所述,该方法还可包括至少部分地通过动态地发现当前与设备组相关联的一个或多个对等计算设备或者可以在自组织的基础上被添加到该组的其它非成员计算设备来形成该设备组。当标识出当前未与设备组相关联的非成员计算设备时,该方法可确定该非成员设备是否满足设备组准则。在一个示例中,设备组准则可包括非成员计算设备的位置在计算设备或对等计算设备的预定义范围内。在另一示例中,设备组准则可包括非成员计算设备的用户的社交距离在计算设备或对等计算设备的用户的预定义距离内。在另一示例中,设备组准则可包括非成员计算设备的所有权指定与计算设备或对等计算设备的用户相关联。
[0037] 一旦形成第一设备组,该方法在308包括建立计算设备和第一组对等计算设备之间的P2P通信。在310,该方法包括在计算设备上本地地和/或在第一组对等计算设备上远程地将与计算设备或第一组对等计算设备相关联的文件存储在分布式文件存储中。
[0038] 该方法然后继续至请求处理部分312,其中接收并处理请求以确定是授权还是拒绝该请求。在314,计算设备从计算机程序接收访问存储在分布式文件存储中的所请求的文件的请求316。在所描绘的示例中,计算机程序远程地驻留在诸如服务器162等服务器上。在其它示例中,计算机程序可以本地地驻留在计算设备上或者远程地驻留在第一组对等计算设备上。如上所述,所请求的文件可包括来自计算设备和/或第一组对等计算设备的用户数据。该用户数据可包括来自各种用户数据类别的信息,包括例如应用使用历史、浏览器历史、媒体数据、联系人数据、日历数据和社交网络数据。
[0039] 在318,该方法包括确定请求是否满足用于对存储在计算设备和/或第一组对等计算设备上的数据的访问许可的一个或多个设备组专用许可。如果请求满足许可164,则该方法包括在320授权该请求完整地访问或部分地访问所请求的文件,在322检索所请求的文件以及在324将所请求的文件输出到做出请求的计算设备上的计算机程序,在所示实施例中该做出请求的计算设备是服务器162,但可另选地是另一计算设备。如果请求不满足许可164,则该方法包括在326拒绝该请求并向服务器162上的计算机程序发送请求拒绝328。
[0040] 在330,该方法还可包括形成计算设备是其成员的第二设备组。该计算设备可以向诸如对等计算设备104E等第二组对等计算设备发送邀请332。该第二组对等计算设备可通过向计算设备102发送接受334来进行响应。如在336所示,该方法然后可继续以如上文描述且针对第二设备组和第二组对等计算设备来实现步骤308-328。具体而言,第二设备组可具有用于对存储在与第二设备组相关联的任何设备上的数据的访问许可的第二设备组专用许可集。该计算设备可以从计算机程序接收访问存储在第二分布式文件存储中的第二所请求的文件的第二请求。该方法然后可确定第二请求是否满足第二设备组专用许可集,并且如果满足,则授权该第二请求完整地访问或部分地访问第二所请求的文件。如果第二请求不满足第二设备组专用许可集,则拒绝该请求并向计算机程序发送请求拒绝。
[0041] 现在参考图4,在一个示例中,方法300的请求处理部分312的至少一部分可包括接收并处理广告请求。在图4中,第一设备组包括诸如计算设备102等计算设备、诸如第一组对等计算设备104A等第一组对等计算设备A以及诸如第一组对等计算设备104B等第一组对等计算设备B。在402,该方法包括设置计算设备上的一个或多个隐私设置和/或跨该计算设备以及第一组对等计算设备A和B的设备组级的一个或多个隐私设置。在404,计算设备接收广告请求。该广告请求可发送自计算设备的第一设备组API客户机中的广告模块、发送自第一设备组中的另一对等设备或发送自诸如服务器162等外部源。
[0042] 在406,该方法包括从计算设备102以及第一组对等计算设备A和B收集聚集的用户数据。这可采取以下形式:广告模块向第一组对等计算设备A发送数据请求408以及向第一组对等计算设备B发送数据请求410。第一组对等计算设备A和B通过分别向该计算设备发送用户数据412和414来进行响应。在416,该方法包括授权根据第一设备组专用许可来发送的聚集的用户数据。如上所述,这些许可可包括诸如选择广告设置等管控可以与第三方服务共享的用户数据类别的用户数据隐私设置。
[0043] 在418,该方法包括将聚集的用户数据保存在第一设备组的分布式文件存储中。当发生诸如计算设备的用户下载网页等触发事件时,该方法然后在420包括将包括聚集的用户数据的广告请求422发送到服务器上的广告引擎。如上所述,广告请求还可包括第一设备组的组级特性,诸如组成员之间的关联或公共连接、组的社交图关联、成员设备的位置等。在424,广告引擎使用聚集的用户数据以及任何组级特性来匹配针对第一设备组132的广告
428。
[0044] 在426,该方法包括计算设备从广告引擎接收广告428。在430,该方法包括显示广告428。广告可以显示在与计算设备102相关联的显示器上。另选地或另外地,计算设备102可将广告428发送到第一组对等计算设备A和B中的每一个,并且430处的显示可包括在第一组对等计算设备A和B中的每一个上显示广告428。
[0045] 现在参考图5,在另一示例中,方法300的请求处理部分312的至少一部分可包括接收并处理对媒体文件的请求。在图5中,第一设备组包括诸如计算设备102等计算设备、诸如第一组对等计算设备104A等第一组对等计算设备A以及诸如第一组对等计算设备104B等第一组对等计算设备B。在502,该方法包括计算设备从第一组对等计算设备B上的媒体播放器接收对媒体文件的请求504。在506,该方法包括在包含来自计算设备102和第一组对等计算设备A和B的文件的分布式文件存储中搜索媒体文件。在508,该方法包括确定请求是否满足第一设备组的设备组专用许可。如果请求满足许可,则该方法包括在510计算设备授权该请求并在512将媒体文件流传输到第一组对等计算设备B上的媒体播放器。如果请求不满足许可,则在514计算设备102拒绝该请求并向媒体播放器发送请求拒绝516。
[0046] 使用上述系统和方法,用户可将数据存储在对等设备上并且避免与将他们的数据存储在远程服务器上相关联的隐私和安全顾虑,因为数据未被存储在远程服务器上。此外,这些系统和方法具有允许单个用户的多个设备之间以及网络中的不同用户的多个设备之间的数据管理的潜在益处。另外,这些系统和方法允许组外和组内设备两者做出对存储在计算设备所属的一个或多个对等组上的数据的请求,并且在充分的许可伴随该请求的情况下接收到包括所请求的数据的适当响应。
[0047] 应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示次序执行、按其他次序执行、并行地执行、或者在某些情况下被省略。同样,可以改变上述过程的次序。
[0048] 本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效方案的所有新颖和非显而易见的组合和子组合。