用于管理访问移动设备资源的许可的方法和系统转让专利

申请号 : CN201480084691.6

文献号 : CN107430531B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马修·罗伯特·马洛奇

申请人 : 脸谱公司

摘要 :

在电子设备中,第一应用向第二应用发送由第一应用访问电子设备的资源的请求,其中,第一应用和第二应用在电子设备的操作系统上运行。响应于第一请求,使用第二应用询问电子设备的用户针对第一应用访问资源的许可。接收提供第一应用访问资源的许可的第一用户输入。响应于第一用户输入,使用第二应用准予第一应用访问资源的许可。

权利要求 :

1.一种用于管理访问移动设备资源的许可的方法,包括:在具有一个或多个处理器和存储用于由所述一个或多个处理器执行的指令的存储器的电子设备中:将来自第一应用的针对由所述第一应用访问所述电子设备的资源的多个请求发送至第二应用,所述多个请求包括第一请求,其中,所述第一应用和所述第二应用在所述电子设备的操作系统上运行;

响应于所述多个请求中的相应请求,使用所述第二应用询问所述电子设备的用户针对所述第一应用访问所述资源的许可;

接收准予或拒绝所述第一应用访问所述资源的许可的相应用户输入,包括接收提供针对所述第一应用访问所述资源的许可的第一用户输入;

存储相应请求和相关联的相应用户输入以及相关联的针对所述电子设备的相应上下文信息的记录;

响应于所述第一用户输入,使用所述第二应用准予所述第一应用访问所述资源的许可;以及基于所述记录,向所述用户呈现准予或拒绝所述第一应用访问所述资源的许可的条件的推荐。

2.根据权利要求1所述的方法,其中,所述资源选自由以下组成的组:所述电子设备的麦克风;

所述电子设备的消息收发应用;

所述电子设备的位置跟踪设备;以及

所述电子设备的照相机。

3.根据权利要求1或2所述的方法,其中,所述第一用户输入指定针对所述第一应用访问所述资源的一次许可,所述方法进一步包括:在接收所述第一用户输入并且响应于所述第一用户输入而使用所述第二应用准予所述第一应用访问所述资源的许可之后:将来自所述第一应用的针对由所述第一应用访问所述资源的第二请求发送至所述第二应用;

响应于所述第二请求,使用所述第二应用询问所述用户针对所述第一应用访问所述资源的许可;

接收指示是否准予所述第一应用访问所述资源的许可的第二用户输入;以及根据所述第二用户输入,使用所述第二应用准予或拒绝所述第一应用访问所述资源的许可。

4.根据权利要求1或2所述的方法,进一步包括:响应于所述第一请求,确定当前未授权所述第二应用允许所述第一应用访问所述资源;

其中,响应于所述确定,询问所述用户针对所述第一应用访问所述资源的许可。

5.根据权利要求1或2所述的方法,其中,所述第一用户输入指定许可所述第一应用访问所述资源的时间段,所述方法进一步包括:在所述时间段期间,根据所述第一用户输入,重复使用所述第二应用自动准予所述第一应用访问所述资源的许可。

6.根据权利要求1或2所述的方法,其中,所述第一用户输入指定在其处许可所述第一应用访问所述资源的许可位置,所述方法进一步包括:在所述电子设备的检测位置对应于所述许可位置时,根据所述第一用户输入,重复使用所述第二应用自动准予所述第一应用访问所述资源的许可。

7.根据权利要求1或2所述的方法,其中,所述第一用户输入指定针对其授权所述第一应用访问所述资源的许可用户,所述方法进一步包括:当所述电子设备的用户被确定是所述许可用户时,根据所述第一用户输入,重复使用所述第二应用自动准予所述第一应用访问所述资源的许可。

8.根据权利要求1或2所述的方法,其中:

所述资源包括所述电子设备的位置跟踪设备;并且

所述第一用户输入指定针对所述第一应用所允许的相对于访问所述位置跟踪设备的分辨率的程度。

9.根据权利要求8所述的方法,其中,所述第一用户输入在用于位置跟踪的粗略分辨率或精细分辨率之间进行选择。

10.根据权利要求1或2所述的方法,进一步包括:

确定在一段时间内由所述第一应用发送的访问所述资源的请求的数量;以及根据满足阈值的请求的数量,使用所述第二应用拒绝所述第一应用访问所述资源的许可。

11.根据权利要求10所述的方法,进一步包括:根据满足所述阈值的请求的数量,向所述电子设备的用户提供警报。

12.根据权利要求1所述的方法,其中,所述上下文信息包括接收所述相应用户输入时的所述电子设备的位置与接收所述相应用户输入的时间中的至少一个。

13.根据权利要求1所述的方法,其中,使用所述第二应用准予许可包括:使用所述第二应用作为所述第一应用从所述资源检索数据的代理;以及将所述数据从所述第二应用提供至所述第一应用。

14.一个或多个包含软件的计算机可读非瞬时性存储介质,所述软件在执行时能够操作以执行根据权利要求1至13中任一项所述的方法。

15.一种用于管理访问移动设备资源的许可的系统,包括:一个或多个处理器;以及至少一个存储器,所述存储器耦接至所述处理器并且包括能够由所述处理器执行的指令,在执行所述指令时,所述处理器能够操作以执行根据权利要求1至13中任一项所述的方法。

说明书 :

用于管理访问移动设备资源的许可的方法和系统

技术领域

[0001] 本文总体涉及管理移动设备中的应用的许可,包括但不限于管理访问移动设备资源的许可。

背景技术

[0002] 移动设备应用的丰富性以及由移动设备提供的资源和能力的范围都在持续增长。提供向由移动设备应用使用的设备资源的安全访问已逐渐变为消费者的担忧。如果消费者不相信应用以尊重消费者隐私的适当方式访问设备资源,则他们可能不愿意使用该应用。
由于精细许可管理能力的欠缺以及监控并作用于观察到的资源访问行为的挑战,通过应用的可信访问的问题进一步复杂化。

发明内容

[0003] 因此,存在对用于管理访问移动设备资源的许可的方法、系统和接口的需求。通过使用独立于操作系统的应用来从请求应用接收访问请求、询问用户许可、并且根据由用户提供的许可来向请求应用准予或拒绝许可,从而更安全地管理和监控对设备资源的访问。这些方法、系统和接口可选地补充或取代用于管理访问移动设备资源的许可的常规方法。
[0004] 根据一些实施方式,在具有一个或多个处理器以及存储用于由一个或多个处理器执行的指令的存储器的电子设备(例如,移动设备)处执行方法。该方法包括:将来自第一应用的针对由第一应用访问电子设备的资源的第一请求发送至第二应用,其中,第一应用和第二应用在电子设备的操作系统上运行。响应于第一请求,使用第二应用询问电子设备的用户针对第一应用访问资源的许可。接收提供针对第一应用访问资源的许可的第一用户输入。响应于第一用户输入,使用第二应用准予第一应用访问资源的许可。
[0005] 根据一些实施方式,电子设备(例如,客户端设备,诸如移动设备)包括一个或多个处理器、存储器以及一个或多个程序;该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执行。一个或多个程序包括用于执行上述方法的操作的指令。根据一些实施方式,非瞬时性计算机可读存储介质具有存储在其中的指令,当由电子设备执行时,该指令使电子设备执行上述方法的操作。根据一些实施方式,电子设备包括用于执行上述方法的操作的装置。
[0006] 因此,通过使用独立于操作系统并且用作用于管理并监控许可设置的代理的应用,应用与操作系统的新版本和更新脱离,由此与如果由操作系统本身实现则可以另外方式切实可行相比,使能够具有与更大范围的设备的兼容性。此外,单独的代理应用允许API的开发和跟踪,其允许操作系统开发人员相对于许可使用可不以另外方式提供的透明度/可追究性。因此,电子设备也设置有用于管理访问移动设备资源的许可的更高效且更值得信任的方法,由此利用这些设备增加有效性、效率和用户满意度。
[0007] 实施方式被具体公开在针对方法、存储介质、系统以及计算机程序产品的所附权利要求中,其中,在一个权利要求类别(例如,方法)中提及的任何特征也可在另一个权利要求类别(例如,系统)中被要求保护。所附权利要求中的依赖性或引用仅出于形式原因而被选择。然而,从对任何先前权利要求的有意引用(具体地,多重依赖性)产生的任何主题也可被要求保护,使得无论所附权利要求选择何种依赖性,权利要求及其特征的任何组合都被公开并且可被要求保护。可被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任意其他组合,其中,在权利要求中提及的每个特征可与权利要求中的任意其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施方式和特征中的任一个可在单独的权利要求中被要求保护,和/或与本文描述或描绘的任意实施方式或特征或者与所附权利要求的特征中的任一个进行任意结合。
[0008] 在一些实施方式中,方法包括:
[0009] 在具有一个或多个处理器以及存储用于由一个或多个处理器执行的指令的存储器的电子设备中:
[0010] 将来自第一应用的针对由第一应用访问电子设备的资源的第一请求发送至第二应用,其中,第一应用和第二应用在电子设备的操作系统上运行;
[0011] 响应于第一请求,使用第二应用询问电子设备的用户针对第一应用访问资源的许可;
[0012] 接收提供针对第一应用访问资源的许可的第一用户输入;以及
[0013] 响应于第一用户输入,使用第二应用准予第一应用访问资源的许可。
[0014] 资源可选自由以下组成的组:
[0015] 电子设备的麦克风;
[0016] 电子设备的消息收发应用;
[0017] 电子设备的位置跟踪设备;以及
[0018] 电子设备的照相机。
[0019] 使用第二应用准予第一应用访问资源的许可可包括:
[0020] 使用第二应用从资源检索数据;以及
[0021] 将数据从第二应用提供至第一应用。
[0022] 第一用户输入可指定针对第一应用访问资源的一次许可,该方法进一步可包括:在接收第一用户输入并且响应于第一用户输入而使用第二应用准予第一应用访问资源的许可之后:
[0023] 将来自第一应用的针对由第一应用访问资源的第二请求发送至第二应用;
[0024] 响应于第二请求,使用第二应用询问用户针对第一应用访问资源的许可;
[0025] 接收指示是否准予第一应用访问资源的许可的第二用户输入;以及
[0026] 根据第二用户输入,使用第二应用准予或拒绝第一应用访问资源的许可。
[0027] 在一些实施方式中,该方法进一步可包括:响应于第一请求,确定当前未授权第二应用允许第一应用访问资源;
[0028] 其中,响应于该确定,询问用户针对第一应用访问资源的许可。
[0029] 第一用户输入可指定许可第一应用访问资源的时间段,该方法进一步可包括:
[0030] 在该时间段期间,根据第一用户输入,重复使用第二应用自动准予第一应用访问资源的许可。
[0031] 第一用户输入可指定许可第一应用访问资源的许可位置,该方法进一步可包括:
[0032] 在电子设备的检测位置对应于许可位置时,根据第一用户输入,重复使用第二应用自动准予第一应用访问资源的许可。
[0033] 第一用户输入可指定针对其授权第一应用访问资源的许可用户,该方法进一步可包括:
[0034] 当电子设备的用户被确定是许可用户时,根据第一用户输入,重复使用第二应用自动准予第一应用访问资源的许可。
[0035] 第一用户输入可指定准予第一应用访问资源的许可的条件;并且该方法进一步可包括:
[0036] 将该条件存储在分配至第二应用的存储器中;以及
[0037] 响应于来自第一应用的后续请求,在第二应用中,使用该条件来确定是否准予第一应用访问资源的许可。
[0038] 该条件可允许通过对应于第一应用的前台进程而不是对应于第一应用的后台进程来访问资源。
[0039] 该条件可允许通过对应于第一应用的后台进程而不是对应于第一应用的前台进程来访问资源。
[0040] 资源可包括电子设备的位置跟踪设备;并且
[0041] 第一用户输入可指定针对第一应用所允许的相对于访问位置跟踪设备的分辨率的程度。
[0042] 第一用户输入可在用于位置跟踪的粗略分辨率或精细分辨率之间进行选择。
[0043] 在一些实施方式中,该方法进一步可包括:
[0044] 确定在一段时间内由第一应用发送的访问资源的请求的数量;以及
[0045] 根据满足阈值的请求的数量,使用第二应用拒绝第一应用访问资源的许可。
[0046] 在一些实施方式中,该方法进一步可包括:根据满足阈值的请求的数量,向电子设备的用户提供警报。
[0047] 在一些实施方式中,该方法进一步可包括:
[0048] 将来自第一应用的针对由第一应用访问资源的多个请求发送至第二应用,该多个请求包括第一请求;
[0049] 存储多个请求的记录;以及
[0050] 基于该记录,向用户呈现关于多个请求的一个或多个统计数据。
[0051] 在一些实施方式中,该方法进一步可包括:
[0052] 将来自第一应用的针对由第一应用访问资源的多个请求发送至第二应用,该多个请求包括第一请求;
[0053] 响应于多个请求中的相应请求,询问用户针对第一应用访问资源的许可并且接收准予或拒绝第一应用访问资源的许可的相应用户输入;
[0054] 存储相应请求、相应用户输入以及针对电子设备的相应上下文信息的记录;以及[0055] 基于该记录,向用户呈现准予或拒绝第一应用访问资源的许可的条件的推荐。
[0056] 上下文信息可包括接收相应用户输入时的电子设备的位置与接收相应用户输入的时间中的至少一个。
[0057] 在也可被要求保护的一些实施方式中,电子设备包括:
[0058] 一个或多个处理器;以及
[0059] 存储器,用于存储用于由一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于以下的指令:
[0060] 将来自第一应用的针对由第一应用访问电子设备的资源的第一请求发送至第二应用,其中,第一应用和第二应用在电子设备的操作系统上运行;
[0061] 响应于第一请求,使用第二应用询问电子设备的用户针对第一应用访问资源的许可;以及
[0062] 响应于提供针对第一应用访问资源的许可的第一用户输入,使用第二应用准予第一应用访问资源的许可。
[0063] 在也可被要求保护的一些实施方式中,非瞬时性计算机可读存储介质存储用于由电子设备的一个或多个处理器执行的一个或多个程序,该一个或多个程序对应于不同于第一应用并且不同于电子设备的操作系统的第二应用,该第一应用和第二应用被配置为在电子设备的操作系统上运行,该一个或多个程序包括用于以下的指令:
[0064] 从第一应用接收针对由第一应用访问电子设备的资源的请求;
[0065] 响应于第一请求,询问电子设备的用户针对第一应用访问资源的许可;以及[0066] 响应于提供针对第一应用访问资源的许可的第一用户输入,准予第一应用访问资源的许可。
[0067] 在一些实施方式中,一个或多个包含软件的计算机可读非瞬时性存储介质,该软件在执行时可操作以执行根据上述实施方式或任意其他公开实施方式中的任一个的方法。
[0068] 在一些实施方式中,系统包括:一个或多个处理器;以及至少一个存储器,存储器耦接至处理器并且包括可由处理器执行的指令,在执行指令时,处理器可操作以执行根据上述实施方式或任意其他公开实施方式中的任一个的方法。
[0069] 在一些实施方式中,优选地包括计算机可读非瞬时性存储介质的计算机程序产品在数据处理系统上执行时可操作以执行根据上述实施方式或任意其他公开实施方式中的任一个的方法。

附图说明

[0070] 为了更好地理解所描述的各种实施方式,应结合以下附图参考以下实施方式的描述。遍及附图和描述,相同参考标号指代对应部件。
[0071] 图1是示出根据一些实施方式的社交网络的示例性网络架构的框图。
[0072] 图2是示出根据一些实施方式的示例性社交网络系统的框图。
[0073] 图3是示出根据一些实施方式的示例性客户端设备的框图。
[0074] 图4A至图4B示出根据一些实施方式的用于管理访问设备资源的许可并且呈现访问请求统计数据的示例性图形用户界面(GUI)。
[0075] 图5A至图5B示出根据一些实施方式的存储许可和访问请求记录的示例性数据结构。
[0076] 图6是示出根据一些实施方式的管理访问设备资源的许可的方法的流程图。

具体实施方式

[0077] 现在将参考实施方式,实施方式的实例在附图中示出。在以下描述中,阐述多个具体细节以提供对所描述的各种实施方式的理解。然而,对于本领域普通技术人员来说将显而易见的是,所描述的各种实施方式可在没有这些具体细节的情况下被实践。在其他情况下,未详细描述众所周知的方法、过程、部件、电路和网络,以免不必要地使实施方式的方面模糊。
[0078] 还将理解,尽管在一些情况下,本文使用术语第一、第二等来描述各种元件,但这些元件不应受这些术语限制。这些术语仅用来区别一个元件与另一个元件。例如,在不偏离所描述的各种实施方式的范围的情况下,第一组可被称为第二组,并且类似地,第二组可被称为第一组。第一组和第二组都是组,但是它们不是相同的组。
[0079] 在本文所描述的各种实施方式的描述中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制。除非上下文以另外方式明确指示,否则如在所描述的各种实施方式和所附权利要求的描述中使用的,单数形式“一(a)”、“一个(an)”和“该(the)”旨在也包括复数形式。还将理解,如本文使用的术语“和/或”指代并且包括相关所列项中的一个或多个的任意和所有可能组合。还将理解,当术语“包括(includes)”、“包含(including)”、“含有(comprises)”和/或“具有(comprising)”用于本说明书时,指示所述特征、整体、步骤、操作、元件和/或部件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
[0080] 根据上下文,如本文使用的术语“如果”可选地被解释为意味着“当...时”或“一旦”或“响应于确定...”或“响应于检测...”或“根据...的确定”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所述条件或事件]可选地被解释为意味着“一旦确定...”或“响应于确定...”或“一旦检测到[所述条件或事件]”或“响应于检测到[所述条件或事件]”或“根据检测到[所述条件或事件]的确定”。
[0081] 如本文使用的,术语“示例性”以“用作实例、例子或说明”的意义使用,而不以“表示其同类最佳”的意义使用。
[0082] 图1是示出根据一些实施方式的社交网络的示例性网络架构100的框图。网络架构100包括通过一个或多个网络106(例如,因特网、蜂窝电话网络、移动数据网络、其他广域网、局域网、城域网等)可通信地连接至电子社交网络系统108的多个客户端设备(也被称为“客户端系统”、“客户端计算机”或“客户端”)104-1,104-2,...104-n。在一些实施方式中,一个或多个网络106包括公共通信网络(例如,因特网和/或蜂窝数据网络)、私人通信网络(例如,私人LAN或租用线路)或这些通信网络的组合。
[0083] 在一些实施方式中,客户端设备104-1,104-2,...104-n是如下计算设备,诸如,智能腕表、个人数字助理、便携式媒体播放器、智能电话、平板电脑、2D游戏设备、3D(例如,虚拟现实)游戏设备、膝上型电脑、台式计算机、具有嵌入其中或耦合至其的一个或多个处理器的电视、车载信息系统(例如,提供导航、娱乐和/或其他信息的车载计算机系统)和/或可用于与社交网络系统108通信的其他合适计算设备。因此,客户端设备104-1,104-2,...104-n中的一些或全部可以是移动设备。在一些实施方式中,社交网络系统108是诸如计算机服务器的单个计算设备,而在其他实施方式中,社交网络系统108通过一起工作以执行服务器系统的动作(例如,云计算)的多个计算设备来实现。
[0084] 用户102-1,102-2,...102-n采用客户端设备104-1,104-2,...104-n以访问社交网络系统108并且参与由社交网络系统108提供的对应社交网络服务。例如,客户端设备104-1,104-2,...104-n中的一个或多个执行可用于访问社交网络服务的网络浏览器应用。
作为另一实例,客户端设备104-1,104-2,...104-n中的一个或多个执行特定于社交网络服务的软件应用(例如,在智能电话或平板电脑上运行的社交网络“应用”,诸如在iPhone、Android或Windows智能电话或平板电脑上运行的Facebook社交网络应用)。
[0085] 与客户端设备104-1,104-2,...104-n交互的用户可通过提供和/或消费(例如,发布、写下、浏览、公布、广播、推广、推荐、分享)数字信息(诸如文本评论(例如,状态、更新、公告、回复、位置“签到”、私人/组消息)、照片、视频、音频文件、链接、文件和/或其他电子内容)来参与由社交网络系统108提供的社交网络服务。在一些实施方式中,用户与由社交网络系统108提供的社交网络服务的页面、组、事件、消息板、馈送、应用和/或用户配置文件交互。社交网络服务的用户可评注由社交网络服务的其他用户发布的信息(例如,支持或“点赞”另一用户的帖子,或者对另一用户发布的帖子进行评论)。在一些实施方式中,可由社交网络系统108外部的系统和/或服务代表用户发布信息。例如,用户可将电影的评论发布至影评网站,并且伴随网站可代表用户将评论交叉发布至社交网络系统108的适当许可。在另一实例中,在移动客户端设备上以适当许可执行的软件应用可使用全球定位系统(GPS)或其他地理位置能力(例如,Wi-Fi或混合定位系统),来确定用户的位置并且利用用户的位置(例如,“在家”、“在工作”或“在加利福尼亚州的旧金山”)更新社交网络系统108,和/或利用从用户的位置导出的信息和/或基于用户的位置的信息更新社交网络系统108。与客户端设备104-1,104-2,...104-n交互的用户也可使用由社交网络系统108提供的社交网络服务来定义用户组。与客户端设备104-1,104-2,...104-n交互的用户也可使用由社交网络系统108提供的社交网络服务来彼此通信和协作。
[0086] 在一些实施方式中,网络架构100还包括第三方服务器110-1,110-2,...110-m。在一些实施方式中,给定的第三方服务器110用于直接承载或结合社交网络系统108承载向客户端设备104提供网页的第三方网站。在一些实施方式中,社交网络系统108使用内联帧(“内嵌帧”)来将独立网站嵌套在用户的社交网络会话内。在一些实施方式中,给定的第三方服务器用于直接承载或结合社交网络系统108承载由客户端设备104使用的第三方应用。在一些实施方式中,社交网络系统108使用内嵌帧来使第三方开发者能够创建由第三方服务器110单独承载但是在用户102的社交网络会话内操作并且通过社交网络系统108中的用户配置文件访问的应用。示例性第三方应用包括用于书籍、商业、通信、竞赛、教育、娱乐、时尚、财经、饮食、游戏、健康与健身、生活方式、当地信息、电影、电视、音乐和音频、新闻、照片、视频、生产力、参考资料、安全、购物、运动、旅行、公共设施等的应用。在一些实施方式中,给定的第三方服务器110用于直接承载或结合社交网络系统108承载由客户端设备104使用的企业系统。在一些实施方式中,给定的第三方服务器110用于提供第三方内容(例如,新闻文章、评论、消息馈送等)。
[0087] 在一些实施方式中,给定的第三方服务器110是单个计算设备,而在其他实施方式中,给定的第三方服务器110由一起工作以执行服务器系统的动作(例如,云计算)的多个计算设备实现。
[0088] 图2是示出根据一些实施方式的示例性社交网络系统108的框图。社交网络系统108是通常包括一个或多个处理单元(处理器或核)202、一个或多个网络或其他通信接口
204、存储器206以及用于将这些部件互连的一个或多个通信总线208的服务器系统。通信总线208可选地包括互连并控制系统部件之间的通信的电路(有时被称为芯片集)。社交网络系统108可选地包括用户界面(未示出)。如果提供的话,用户界面可包括显示设备并且可选地包括诸如键盘、鼠标、触控板和/或输入按钮的输入。可替换地或此外,显示设备包括触敏表面,在这种情况下,显示器是触敏显示器。
[0089] 存储器206包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机访问固态存储器设备;并且可包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备和/或其他非易失性固态存储设备。可选地,存储器206可包括远离处理器(一个或多个)202定位的一个或多个存储设备。存储器206或可替换地在存储器206内的非易失性存储器设备(一个或多个),包括非瞬时性计算机可读存储介质。在一些实施方式中,存储器206或存储器206的计算机可读存储介质存储以下程序、模块和数据结构或者其子集或超集:
[0090] ·操作系统210,包括用于处理各种基本系统服务并且用于执行硬件依赖任务的程序;
[0091] ·网络通信模块212,用于经由一个或多个通信网络接口204(有线或无线)和一个或多个通信网络(例如,一个或多个网络106),将社交网络系统108连接至其他计算机[0092] ·社交网络数据库214,用于存储与社交网络相关的数据,诸如:
[0093] ο实体信息216,诸如用户信息218;
[0094] ο连接信息220;以及
[0095] ο内容222,包括:
[0096] ■用户内容224,诸如文本评论(例如,贴子、状态、更新、公告、回复、位置“签到”、私人/组消息)、照片、视频、音频文件、链接、文件和/或其他数字电子内容;和/或[0097] ■新闻文章226;
[0098] ·社交网络服务器模块228,用于提供社交网络服务、社交媒体应用以及相关特征(例如,结合图3的客户端设备104上的浏览器模块338或社交网络客户端模块340),包括:
[0099] ο登录模块230,用于使客户端104处的用户102登录社交网络系统108;以及[0100] ο内容馈送管理器232,用于提供待发送至客户端104以用于显示的内容,包括:
[0101] ■内容生成器模块234,用于描述社交网络数据库214中的对象,诸如图像、视频、音频文件、评论、状态消息、链接、应用和/或其他实体信息216、连接信息220或内容222;以及
[0102] ■内容选择器模块236,用于选择待发送至客户端104以用于显示的信息/内容;以及
[0103] ·搜索模块238,用于使社交网络系统的用户能够搜索社交网络中的内容及其他用户。
[0104] 社交网络数据库214存储与一类或多类数据库(诸如图形数据库、空间数据库、平坦数据库、分层数据库、网络数据库、面向对象的数据库、关系数据库和/或XML数据库)中的社交网络相关联的数据。
[0105] 在一些实施方式中,社交网络数据库214包括图形数据库,其中,实体信息216表示为图形数据库中的节点并且连接信息220表示为图形数据库中的矢线。图形数据库包括多个节点以及限定对应节点之间的连接的多条矢线。在一些实施方式中,节点和/或矢线本身是包括用于其对应实体的标识符、属性和信息的数据对象,数据对象中的一些在社交网络服务中的对应配置文件页面或其他页面上的客户端104处渲染。在一些实施方式中,节点还包括对其他对象、数据结构或资源的指针或引用,以供结合与客户端104处的相应节点相对应的页面的渲染而在渲染内容时使用。
[0106] 实体信息216包括用户信息218,诸如用户配置文件、登录信息、隐私和其他偏好、传记数据等。在一些实施方式中,对于给定用户,用户信息218包括用户的姓名、配置文件图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、喜好、兴趣和/或其他人口统计信息。
[0107] 在一些实施方式中,实体信息216包括关于如下的信息:物理位置(例如,餐馆、剧院、地标、城市、州或国家)、不动产或知识产权(例如,雕刻、绘画、电影、游戏、歌曲、构思/概念、照片或书面作品)、商业、人的群组和/或企业群组。在一些实施方式中,实体信息216包括关于资源(诸如,音频文件、视频文件、数码照片、文本文件、结构文档(例如,网页)或应用)的信息。在一些实施方式中,资源位于社交网络系统108中(例如,在内容222中)或在外部服务器(诸如第三方服务器110)上。
[0108] 在一些实施方式中,连接信息220包括关于社交网络数据库214中的实体之间的关系的信息。在一些实施方式中,连接信息220包括关于连接图形数据库中的多对节点的矢线的信息。在一些实施方式中,连接一对节点的矢线表示该对节点之间的关系。
[0109] 在一些实施方式中,矢线包括或表示与一对节点之间的关系相对应的一个或多个数据对象或属性。例如,当第一用户指示第二用户为第一用户的“好友”时,社交网络系统108向第二用户传输“好友请求”。如果第二用户确认该“好友请求”,则社交网络系统108在图形数据库中建立并存储连接第一用户的用户节点与第二用户的用户节点的矢线,作为指示第一用户和第二用户是好友的连接信息220。在一些实施方式中,连接信息220表示朋友关系、家庭关系、业务或雇佣关系、粉丝关系、伙伴关系、访问者关系、客户关系、上级/下级关系、互惠关系、非互惠关系、另一合适类型的关系或者两种或更多种此类关系。
[0110] 在一些实施方式中,用户节点与另一实体节点之间的矢线表示关于由用户节点的用户朝向其他实体节点执行的具体动作或活动的连接信息。例如,用户可“点赞”或已“参加”、“播放”、“收听”、“烹饪”、“就职于”或“浏览”其他节点处的实体。例如,社交网络服务中的与其他节点处的实体相对应的页面可包括可选择的“点赞”、“签到”或“添加到收藏夹”图标。在用户点击这些图标中的一个之后,社交网络系统108可响应于对应的用户动作而创建“点赞”矢线、“签到”矢线或“喜好”矢线。作为另一实例,用户可使用具体应用(例如,在线音乐应用)收听具体歌曲。在这种情况下,社交网络系统108可分别在对应于用户的用户节点与对应于歌曲和应用的实体节点之间创建“收听”矢线和“使用”矢线,以指示用户收听了该歌曲并且使用了该应用。此外,社交网络系统108可在对应于歌曲和应用的实体节点之间创建“播放”矢线,以指示具体歌曲由具体应用播放了。
[0111] 在一些实施方式中,内容222包括:文本(例如,ASCII、SGML、HTML)、图像(例如,jpeg、tif以及gif)、图形(例如,基于矢量或位图)、音频、视频(例如,mpeg)、其他多媒体和/或其组合。在一些实施方式中,内容222包括可执行代码(例如,可在浏览器窗口或帧内执行的游戏)、播客、链接等。
[0112] 在一些实施方式中,社交网络服务器模块228包括网络或超文本传送协议(HTTP)服务器、文件传输协议(FTP)服务器以及使用公共网关接口(CGI)脚本、PHP超文本预处理器(PHP)、有源服务器页面(ASP)、超文本标记语言(HTML)、可扩展标记语言(XML)、Java、JavaScript、异步JavaScript和XML(AJAX)、XHP、Javelin、无线通用资源文件(WURFL)等实现的网页和应用。
[0113] 图3是示出根据一些实施方式的示例性客户端设备104(例如,移动设备)的框图。客户端设备104通常包括一个或多个处理单元(处理器或核)302、一个或多个网络或其他通信接口304、存储器306以及用于将这些部件互连的一个或多个通信总线308。通信总线308可选地包括互连并控制系统部件之间的通信的电路(有时被称为芯片集)。客户端设备104包括用户界面310。用户界面310通常包括显示设备312。在一些实施方式中,客户端设备104包括诸如键盘、鼠标和/或其他输入按钮的输入316。可替换地或此外,在一些实施方式中,显示设备312包括触敏表面314,在这种情况下,显示设备312是触敏显示器。在具有触敏显示器312的客户端设备中,物理键盘是可选的(例如,当需要键盘输入时,可显示软键盘)。用户界面310还包括音频输出设备318,诸如扬声器或连接至扬声器、耳机或头戴式耳机的音频输出连接。此外,一些客户端设备104使用麦克风和语音识别来补充或替代键盘。可选地,客户端设备104包括音频输入设备320(例如,麦克风)以捕获音频(例如,来自用户的讲话)。
可选地,客户端设备104包括位置检测设备322(诸如GPS(全球定位卫星)或其他地理位置接收器)以用于确定客户端设备104的位置。客户端设备104还可选地包括图像/视频捕获设备
324,诸如照相机或网络摄像头。
[0114] 存储器306包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备和/或其他非易失性固态存储设备。可选地,存储器306可包括远离处理器(一个或多个)302定位的一个或多个存储设备。存储器306或可替换地在存储器306内的非易失性存储器设备(一个或多个),包括非瞬时性计算机可读存储介质。在一些实施方式中,存储器306或存储器306的计算机可读存储介质存储以下程序、模块和数据结构或者其子集或超集:
[0115] ·操作系统326,包括用于处理各种基本系统服务并且用于执行硬件依赖任务的程序;
[0116] ·网络通信模块328,用于经由一个或多个通信网络接口304(有线或无线)和一个或多个通信网络(诸如,因特网、蜂窝电话网络、移动数据网络、其他广域网、局域网、城域网等)将客户端设备104连接至其他计算机;
[0117] ·图像/视频捕获模块330(例如,照相机模块),用于处理由图像/视频捕获设备324捕获的相应图像或视频,其中,相应图像或视频可被发送或流(例如,通过客户端应用模块336)至社交网络系统108;
[0118] ·音频输入模块332(例如,麦克风模块),用于处理由音频输入设备320捕获的音频,其中,相应音频可被发送或流(例如,通过客户端应用模块336)至社交网络系统108;
[0119] ·位置检测模块334(例如,GPS、Wi-Fi或混合定位模块),用于确定客户端设备104的位置(例如,使用位置检测设备322)并且提供该位置信息以用于在各种应用(例如,社交网络客户端模块340)中使用;以及
[0120] ·一个或多个客户端应用模块336,包括以下模块(或指令集)或者其子集或超集:
[0121] ο网络浏览器模块338(例如,Microsoft的Internet Explorer、Mozilla的Firefox、Apple的Safari或Google的Chrome),以用于访问网站、浏览网站以及与网站(例如,由社交网络系统108提供的社交网络网站)交互,
[0122] ο社交网络客户端模块340,用于提供至社交网络(例如,由社交网络系统108提供的社交网络)、社交媒体应用以及相关特征的接口;
[0123] ο许可模块342,用于管理应用访问客户端设备104的资源(例如,音频输入设备320、位置检测设备322、图像/视频捕获设备324和/或存储器306中的相应模块)的许可,许可模块342包括:
[0124] ■许可表344,用于存储应用访问资源的许可和条件;以及
[0125] ■记录表346,用于存储在进行访问请求和/或接收到用户输入时由应用发送的访问请求、响应于访问请求而接收的用户输入以及针对客户端设备104的上下文信息的记录;和/或
[0126] ο其他可选的客户端应用模块348,诸如用于单词处理、日程安排、地图、天气、股票、计时、虚拟数字助理、演示、数字运算(电子表单)、绘图、即时消息、电子邮件、电话、视频会议、照片管理、视频管理、数字音乐播放器、数字视频播放机、2D游戏、3D(例如,虚拟现实)游戏、电子书阅读器和/或锻炼支持的应用。
[0127] 在一些实施方式中,许可模块342被配置为询问(例如,通过显示图4A的GUI 400)客户端设备104的用户对于应用(例如,客户端应用模块336)访问客户端设备104的资源的许可。许可模块342还接收准予/拒绝应用访问资源的许可的用户输入,并且还响应于所接收的用户输入而准予/拒绝对应用的许可。在一些实施方式中,许可模块342从资源检索数据并且将所检索的数据提供至请求应用。此外,在一些实施方式中,许可模块342管理准予或拒绝许可的用户指定条件(例如,许可位置、许可用户、一次许可、位置分辨率等),并且相应地使用该条件来准予或拒绝许可。在一些实现方式中,许可模块342确定由应用发送的访问请求的数量是否满足阈值,并且相应地拒绝对应用的许可和/或向用户提供警报。在一些实施方式中,基于存储的记录(例如,在记录表346中),许可模块342呈现关于多个访问请求的统计数据,和/或向用户呈现准予或拒绝应用访问设备资源的许可的条件的推荐。
[0128] 以上识别的模块和应用中的每一个,对应于用于执行如上所述的和/或在本申请中描述的方法(例如,本文描述的计算机实现方法和其他信息处理方法)中的一个或多个功能的一组可执行指令。这些模块(即,指令集)不需要实现为单独的软件程序、过程或模块,并且因此,在各种实施方式中,这些模块的各种子集可选地结合或以另外方式重新布置。在一些实施方式中,存储器206和/或306存储以上识别的模块和数据结构的子集。此外,存储器206和/或306可选地存储以上未描述的额外的模块和数据结构。
[0129] 注意力现在转向图形用户界面(“GUI”)以及可在客户端设备(例如,图3中的客户端设备104)上实现的相关联的处理的实施方式。
[0130] 图4A至图4B示出根据一些实施方式的在客户端设备104的显示器上示出的用于管理访问设备资源的许可并呈现访问请求统计数据的示例性GUI 400和410。GUI 400和410示出以下描述的处理,包括方法600(图6)。尽管图4A至图4B示出GUI的实例,但是在其他实施方式中,GUI显示其布置与图4A至图4B的实施方式的布置不同的用户界面元素。
[0131] 图4A示出应用(例如,图3的许可模块342)中的用于管理其他应用访问客户端设备104-1的资源的许可的示例性GUI 400。GUI 400允许用户提供指定访问客户端设备104-1的资源的许可的用户输入(例如,用户界面元素404的选择)。GUI 400包括许可请求提示402以及用于指定许可和准予或拒绝访问设备资源的许可的条件的用户界面元素404。
[0132] 在一些实施方式中,GUI 400响应于用户尝试利用需要访问设备资源的具体应用特征(例如,使用地图应用检索从当前位置至目的地的方向,这需要使用客户端设备104的位置检测设备322(图3)来确定客户端设备104的当前位置)而被显示。在一些实施方式中,GUI 400响应于运行请求访问设备资源的后台进程的应用(不同于用于管理许可的应用)而被显示。
[0133] 在一些实施方式中,许可请求提示402包括请求用户提供对于应用访问设备资源的许可的文本。例如,许可请求提示402询问客户端设备104-1的用户,该用户是否想要准予“应用01”访问位置检测设备322和/或位置检测模块334以确定客户端设备104-1的当前位置的许可。相对于图6更详细地描述针对其准予或拒绝访问许可的各种设备资源。
[0134] 响应于被询问指定许可,用户可选择所显示的用户界面元素404中的任一个来指定许可。每个用户界面元素404对应于准予或拒绝请求应用(例如,“应用01”)访问设备资源的许可。不同用户界面元素404对应于准予或拒绝访问资源的许可的不同条件,其中,该条件表示用于准予或拒绝许可的粒度设定(例如,准予或拒绝许可的特定次数、时间段、用户、位置、位置分辨率等)。参考图4A的实例,用户界面元素404的选择允许用户总是准予应用01访问资源(例如,404-1)、仅准予访问一次(例如,404-2)、总是拒绝访问(例如,404-3)、准予在指定持续时间内访问(例如,404-4)或者指定其他可选的许可条件(例如,404-5)。选择用户界面元素404-5触发显示用户可指定的额外许可条件(例如,位置可被确定的具体分辨率、具体用户、具体位置等)。用户可指定单个条件或多个条件。相对于图5A至图5B和图6来更详细描述各种许可和用于准予或拒绝许可的条件。
[0135] 图4B示出用于管理许可的应用(例如,许可模块342)的另一示例性GUI 410。GUI 410在电子设备上显示从应用(例如,图3的除许可模块342外的其他客户端应用模块336)接收的访问请求的统计数据。如示出的,GUI 410包括用于显示针对应用的访问请求统计数据的部分412(例如,针对应用01的部分412-1、针对应用02的部分412-2等),以及用于浏览针对相应应用的详细访问请求历史的用户界面元素414。
[0136] 部分412显示关于显示统计数据的许可的细节(例如,从图3和图5A的许可表344检索的)。在该实例中,部分412-1包括许可被创建的日期和时间(“许可创建于...”)、是否准予访问(“准予访问”),准予访问的资源(“资源”)、访问的许可持续时间(“许可持续时间”)、访问的许可位置(“许可位置”)、许可用户(“许可用户)以及是否准予访问用于前台或后台进程(“前台/后台”)。尽管在GUI 410中未示出,但是部分412可被配置为显示可应用的或者由用户指定的其他额外的参数或条件。
[0137] 此外,部分412显示由应用(例如,客户端应用模块336)发送的访问请求的各种统计数据。在该实例中,示出了针对由应用01发送的用于访问客户端设备104-1的位置检测设备322(图3)的请求的统计数据。统计数据包括由应用01发送的上一次访问请求的时间(“上一次请求的时间”)、发送上一次访问请求的位置(“上一次请求的位置”)、发送上一次访问请求时应用01的用户(例如,登录的用户)(“上一次请求的请求用户”)、在浏览统计数据的日期接收的访问请求的数量(“今天访问请求的数量”)以及自从创建许可以来接收的访问请求的总数(“访问请求的总数”)。尽管在GUI 410中未示出,但是部分412可被配置为显示访问请求的其他统计数据。
[0138] 通过显示由用户指定的许可,结合对应应用的访问请求统计数据,用户能够识别在许可和定义的访问边界外部操作的潜在恶意应用。用户还能够识别在访问设备资源时哪些应用是最资源密集的,并且也能够识别哪些设备资源被应用访问最多。此外,基于访问请求统计数据,用于管理许可的应用(例如,图3的许可模块342)也能够拒绝可疑应用访问资源,在检测到可疑活动时向用户提供警报,和/或向用户呈现许可推荐。
[0139] 部分412-1还包括用于浏览针对相应应用的详细访问请求历史的可选用户界面元素414。例如,选择用户界面元素414显示包括由应用01发送的每个访问请求的详细列表的GUI(未示出),其中,每个访问请求显示有从所存储的记录检索的数据(例如,图3和图5B的记录表346,其包括请求的时间、请求用户、请求的位置等)。
[0140] 图5A至图5B示出根据一些实施方式的存储许可和访问请求记录的示例性数据结构。在一些实施方式中,许可表344(图5A)和记录表346(图5B)存储在客户端设备的一个或多个模块或子模块(例如,图3的客户端设备104的存储器306的模块和/或许可模块342的子模块)中。可替换地,在一些实现方式中,许可表344和记录表346存储在服务器系统(例如,图3的社交网络系统108)的模块中,使得由与单个用户相关联的多个客户端设备管理、分享和/或检索许可。此外,在一些实现方式中,许可表344和/或记录表346被配置为包括并存储图5A至图5B中未示出的额外字段,诸如额外的参数、条件、统计数据和/或关于用户指定许可或访问请求的数据。
[0141] 图5A示出(例如,存储在图3的客户端设备104的存储器306中的)许可表344,许可表存储用于应用访问资源的许可。如示出的,许可表344的条目对应于用于相应应用访问设备资源的许可。
[0142] 许可限定应用(例如,图3的客户端设备104的客户端应用模块336)访问它们被存储在的电子设备的资源的授权或缺乏授权。许可表344的每个条目识别相应许可被限定的应用(“应用ID”)、准予或拒绝访问的资源(“资源”)、是否准予或拒绝访问资源(“许可”)以及许可被限定的日期和时间(“许可的日期/时间”)。可选地,许可表344可指定许可被准予或拒绝的条件。例如,可仅在指定持续时间(“持续时间”)内、在特定位置(“位置”)和/或针对特定用户(“用户”)许可访问。此外,许可可限于具体分辨率(用于位置跟踪资源的“位置分辨率”)和/或前台或后台进程(“前台/后台”)。
[0143] 作为实例,用于“应用01”访问客户端设备104的GPS设备(或其他全球导航卫星系统设备)(例如,图3的位置检测设备322)的许可针对“User_01”被无限期准予(“总是”)。许可限于距客户端设备104的位置的2000英尺的半径的分辨率,并且GPS设备可仅在应用01作为前台进程运行时(例如,显示客户端设备104的当前位置的交互式地图应用)而不是作为后台进程运行时被访问。此外,在2014年11月25日的上午2:05(例如,通过接收的用户输入)提供许可。
[0144] 图5B示出存储由应用发送的访问请求的记录的记录表346(例如,存储在图3的客户端设备104的存储器306中)。这些记录可用于产生访问请求统计数据(例如,如图4B的GUI 410所示)。如示出的,记录表346的条目包括对应于具体访问请求的识别索引号(“请求索引#”)、请求访问设备资源的应用(“应用ID”)、请求访问的资源(“资源”)、发送请求的日期和时间(或可替换地,何时准予/拒绝许可)(“请求的日期/时间”)、发送访问请求时请求应用的用户(例如,登录的用户)(“请求用户”)、发送访问请求的位置(“请求的位置”)、以及是否准予或拒绝访问(“请求的结果”)。尽管未示出,但是关于访问请求的结果的额外细节可被包括在记录表346中(例如,许可持续时间、许可位置等)。
[0145] 作为实例,访问请求“001”对应于由“应用01”发送的用于访问客户端设备104的GPS设备(例如,图3的位置检测设备322)的请求。继续以上许可表344的实例,响应于该请求,准予“应用01”访问GPS设备的许可(例如,准予“应用01”无限期访问GPS设备(“总是”))。响应于2014年11月25日上午2:05在对应于GPS坐标(37.420591,-122.141330)的位置处的访问请求“001”,准予许可,同时“User_01”正在使用“应用01”(或使用客户端设备104)。
[0146] 图6是示出根据一些实施方式的管理访问设备资源的许可的方法600的流程图。在电子设备(例如,图1和图3的客户端设备104,其中,客户端设备104用作独立的设备)上执行方法600。图6对应于存储在计算机存储器(例如,图3的客户端设备104的存储器306)或其他计算机可读存储介质中的指令。
[0147] 第一应用602-1(例如,对应于客户端设备104的模块,诸如图3的客户端应用模块336)将由第一应用访问电子设备的资源的第一请求发送(606)至第二应用602-2(例如,对应于许可模块342)。第一应用602-1和第二应用602-2在电子设备的操作系统上运行。
[0148] 电子设备的资源包括子设备、部件、特征、应用和/或由设备提供的其他能力。实例包括麦克风(例如,图3的用于捕获音频的音频输入设备320)、电子设备的消息收发应用(例如,用于发送和接收SMS文本消息的客户端应用模块348)、电子设备的位置跟踪设备(例如,用于确定客户端设备104的位置的位置检测设备322)以及电子设备的照相机(例如,用于捕获图像或视频的图像/视频捕获设备324)。其他实例包括与相应子设备或部件相关联的模块(例如,图3的图像/视频捕获模块332、音频输入模块332和位置检测模块334)。
[0149] 响应于第一请求,第二应用602-2询问(608)电子设备的用户604(例如,图1的客户端设备104-1的用户102-1)对于第一应用602-1访问资源的许可。例如,GUI 400(图4A)显示有许可请求提示402,该许可请求提示询问用户604指定用于“应用01”的许可。
[0150] 在一些实施方式中,响应于第一请求,第二应用602-2确定当前不授权允许第一应用602-1访问资源。响应于该确定,用户604被询问(608)对于第一应用602-1访问资源的许可。例如,第一应用602-1(例如,对应于图3的客户端应用模块336的“应用01”)向第二应用602-2(例如,许可模块342)发送访问客户端设备104的麦克风(例如,音频输入设备320和/或对应音频输入模块332)的请求。然后,应用602-2在许可表344中搜索对应于应用602-1(“应用01”)的用于访问麦克风的任意许可。如果许可不存在,则第二应用602-2询问用户
604指定用于第一应用602-1访问麦克风的许可。
[0151] 在第二应用602-2询问(608)用户604针对第一应用602-1访问资源的许可之后,(例如,由应用602-2)接收(610)准予或拒绝第一应用602-1访问资源的许可的第一用户输入。响应于第一用户输入,设备使用第二应用602-2来准予或拒绝(614)第一应用602-1访问资源的许可。
[0152] 在一些实施方式中,使用第二应用602-2来准予第一应用602-1访问资源的许可包括:使用第二应用602-2从资源检索数据。然后,第二应用602-2将数据提供至第一应用602-1。因此,第二应用602-2用作第一应用602-1通过其访问资源的代理(例如,第二应用602-2从位置检测设备322检索GPS坐标,并且将GPS坐标提供至第一应用602-1)。在其他实现方式中,一旦第一应用602-1被授权,则第一应用602-1独立于第二应用602-2直接访问资源。
[0153] 条件是施加在对资源的访问上的限制和/或待满足以许可访问的要求。在一些实施方式中,第一用户输入指定(610)准予或拒绝第一应用602-1访问资源的许可的一个或多个条件。该条件被存储(612)在分配至第二应用602-2的存储器中(例如,在图3的许可模块342的许可表344中)。第二应用602-2使用该条件来确定(614)是否响应于来自第一应用
602-1的后续请求而准予第一应用602-1访问资源的许可。
[0154] 例如,第一用户输入指定用于第一应用602-1访问资源的一次许可。在第二应用602-2响应于第一用户输入而准予第一应用602-1访问资源的许可之后,第二请求从第一应用602-1发送至第二应用602-2,以用于由第一应用602-1访问资源。第二应用602-2不被授权提供该访问,这是因为第一用户输入仅授权一次访问。因此,响应于第二请求,第二应用
602-2询问用户针对第一应用602-1再次访问资源的许可。接收指示是否准予第一应用602-
1访问资源的许可的第二用户输入。第二应用602-2根据第二用户输入而准予或拒绝第一应用602-1访问资源的许可。在一些实现方式中,一次许可准予第一应用602-1访问资源的许可,以仅针对单个访问请求(例如,利用图3的图像/视频捕获设备324捕获的单个照片)检索数据。在其他实现方式中,一次许可准予第一应用602-1访问资源的许可,以用于发起/执行请求应用的单个会话或实例(例如,地图应用可访问客户端设备104的GPS坐标,直至用户终止和/或重启地图应用)。
[0155] 在一些实施方式中,第一用户输入指定许可第一应用602-1访问资源的时间段。在该时间段期间,根据第一用户输入,第二应用602-2重复用于自动准予(即,不再询问额外的用户输入)第一应用602-1访问资源的许可。指定的时间段可以是许可访问的日期的范围(例如,在2014年11月1日至2014年12月1日之间许可访问)、时间范围(例如,在下午1:00与下午5:00之间许可访问)、指定时限(例如,一个小时等)或前述的任意组合(例如,在指定日期范围内的指定时间之间许可访问)。可替换地,第一用户输入指定拒绝第一应用602-1访问资源的时间段,在该时间段之外的访问被授权。
[0156] 在一些实施方式中,第一用户输入指定许可第一应用602-2访问资源的次数。在次数未被超过时,根据第一用户输入,第二应用602-2重复用于自动准予第一应用602-1访问资源的许可。例如,第一用户输入指定许可来自第一应用602-1的访问请求的数量。
[0157] 在一些实施方式中,第一用户输入指定许可第一应用602-1访问资源的许可位置。在电子设备的检测位置对应于许可位置时,根据第一用户输入,第二应用602-2重复用于自动准予第一应用602-1访问资源的许可。指定的许可位置可以是一组坐标(例如,GPS坐标)、集合地点、组织、或与检测位置(例如,餐馆、用户的家、用户的工作场所等)相关联的实体、或者在其内(或者在其之外)许可访问的预定义(例如,地理围栏)的区域(例如,许可的距用户的家半英里的半径)。作为实例,第一用户输入指定许可第一应用602-1访问在与用户的家相关联的位置的指定半径之外的客户端设备104的照相机(例如,图3的图像/视频捕获设备324)。因此,如果客户端设备104的检测位置对应于在用户的家的指定半径内的GPS坐标,则将拒绝第一应用602-1访问客户端设备104的照相机。
[0158] 在一些实施方式中,第一用户输入指定针对其授权第一应用602-1访问资源的许可用户。当或在电子设备的用户604被确定是许可用户时,根据第一用户输入,第二应用602-2重复用于自动准予第一应用602-1访问资源的许可。例如,电子设备的用户是在第一访问请求时,登录到第一应用602-1、第二应用602-2或电子设备的操作系统中的用户。在一些实现方式中,确定电子设备的用户604是否是许可用户包括:请求并验证用户凭证(例如,提示用户提供用户名和密码、生物计量输入或任意其他识别信息)。
[0159] 在一些实施方式中,条件(在操作610中由第一用户输入指定)允许通过对应于第一应用602-1的前台进程和/或后台进程(例如,通过前台进程而不是后台进程,或反之亦然)访问资源。前台进程包括用户604可观测操作(例如,包括所请求资源的访问)的应用进程。在一些实现方式中,前台进程是仅当应用本身已发起/运行且当前正在运行时运行的应用进程。作为实例,地图应用的前台进程包括检索客户端设备104的当前GPS坐标,并且在地图上向客户端设备104的用户显示对应位置。相反,后台进程包括客户端设备的用户不可观测操作(例如,包括所请求资源的访问)的应用进程。在一些实现方式中,后台进程是与其他前台/后台进程同时运行、和/或当应用本身尚未发起/执行且当前未在运行时运行的应用进程。例如,即使在用户不使用访问麦克风的应用时,应用的后台进程也使用客户端设备104的麦克风(例如,图3的音频输入设备320)持续捕获来自用户的讲话。拒绝后台进程访问麦克风将防止用户隐私的该潜在入侵。
[0160] 在一些实施方式中,资源包括电子设备的位置跟踪设备(例如,图3的位置检测设备322),并且第一用户输入指定针对第一应用602-1所允许的相对于访问位置跟踪设备的分辨率的程度。例如,相对于访问位置跟踪设备的分辨率的程度指定客户端设备104的位置可被确定的精度(距离上)(例如,检测的客户端设备104的当前位置描绘具有客户端设备104位于其中的指定半径的区域)。在一些实现方式中,第一用户输入在用于位置跟踪的粗略或精细分辨率(例如,对应于位置跟踪的预定义精度的粗略和精细分辨率,其中,精细分辨率比粗略精度具有更高的精度)之间或者在用于位置跟踪的三个或更多个可获得的分辨率之间进行选择。
[0161] 在一些实现方式中,第一用户输入指定准予第一应用602-1的许可的条件的组合。例如,仅针对用户102-1(许可用户条件)并且仅在指定时间之间的指定日期(例如,一周中的指定的一天或多天),准予应用602-1访问资源的许可。准予或拒绝对应用的许可的条件不限于图5A至图5B中所示以及本文描述的那些,并且可包括访问资源时的其他限制、要求、参数、资源特定限制、和/或粒度的级别。
[0162] 在一些实施方式中,电子设备(例如,在图3和图5B的记录表346中)存储(612)由第一应用602-1向第二应用602-2发送的用于由第一应用602-1访问资源的多个访问请求的记录。
[0163] 在一些实现方式中,第二应用602-2(例如,基于存储在图3和图5B的记录表346中的记录)确定(616)在一段时间内由第一应用602-1发送的访问资源的请求的数量。如果请求的数量满足(例如,超过,或者等于或超过)阈值,则第二应用602-2用于拒绝(618)(例如,自动地而不询问额外的用户输入)第一应用602-1访问资源的许可。阈值可由用户输入指定或者可编码在第二应用602-2中。可选地,根据满足阈值的请求的数量,警报被提供(620)至电子设备的用户(例如,警报示出在客户端设备104的显示器上,向用户通知可疑应用)。因此,阈值可用于识别和/或包含恶意应用(例如,恶意软件)。
[0164] 在一些实现方式中,基于所存储的记录,向用户呈现(622)关于多个请求的一个或多个统计数据。例如,图4B中的GUI 410示出在客户端设备104的显示器上,该GUI包括基于所存储的记录的访问请求统计数据。
[0165] 在一些实现方式中,响应于由第一应用602-1发送的多个访问请求,设备针对相应访问请求(例如,在记录表346中)存储(612)所接收的准予或拒绝第一应用访问资源的许可的相应用户输入的记录(其中,用户输入在询问用户许可之后被接收),和/或针对电子设备的相应上下文信息的记录。上下文信息描述访问请求被发送和/或针对访问请求的许可被准予或拒绝的情况。在一些实施方式中,上下文信息包括在接收相应用户输入时的电子设备的位置(例如,在用户位于他的家里时,许可被指定)和/或接收相应用户输入的日期/时间(例如,在2014年11月25日下午2:05,许可被指定)。在图5B的记录表346中示出访问请求、提供的许可和上下文信息的记录的实例。
[0166] 在一些实施方式中,基于所存储的记录,向用户呈现(624)准予或拒绝第一应用602-1访问资源的许可的条件的推荐。电子设备基于记录表346中存储的记录来识别由用户提供的许可的模式,并且智能地呈现准予或拒绝许可的条件的推荐。例如,许可模块342可包括开发推荐的机器学习算法。在一个实例中,记录表346(图3和图5B)中的记录指示用户总是准予第一应用602-1访问客户端设备104的具体资源(例如,图3的用于捕获音频的音频输入设备320)的许可(例如,一次许可)。因此,响应于接收到来自第一应用602-1的访问具体资源的后续请求,应用602-2推荐(例如,通过显示GUI提示)用户准予第一应用602-1总是能够访问具体资源的许可。在其他实例中,应用602-2识别出用户总是在一个或多个条件下准予或拒绝第一应用602-1访问具体资源的许可,并且推荐用户准予第一应用在一个或多个条件下总是能够或永远不能够访问具体资源的许可。在另外的其他实例中,应用602-2识别出用户(例如,在一个或多个条件下或不论条件如何)总是准予或拒绝多个应用访问具体资源的许可,并且推荐用户允许所有应用(例如,在一个或多个条件下或不论条件如何)总是能够或者永远不能够访问具体资源。
[0167] 因此,通过使用独立于客户端设备的操作系统的可信许可应用(例如,图3的许可模块342),用户能够可靠地识别哪些应用请求访问设备资源的许可,同时以粒度级别管理这些许可。因此,用户在使用他们设备上的应用时将获得更多信心和安全性。此外,使用独立于操作系统的独立可信应用,由于可信许可应用将与操作系统的系统范围的更新隔离,该更新可以另外方式影响许可特征的灵活性和透明度,因此允许使能与更大范围的设备的更多兼容性。
[0168] 对于上述系统收集关于用户的信息的情况,用户可被提供有选择/不选择可收集个人信息(例如,关于用户的偏好或者用户对社交内容提供者的贡献的信息)的程序或特征的机会。此外,在一些实施方式中,某些数据可在它被存储或使用之前以一种或多种方式匿名化,使得个人可识别的信息被移除。例如,用户的身份可被匿名化,使得个人可识别的信息不能被确定或者不与用户相关联,并且使得用户偏好或用户交互广义化(例如,基于用户人口统计而广义化)而不是与具体用户相关联。
[0169] 尽管各种附图中的一些以具体顺序示出大量逻辑级,但是并非顺序依赖性的级可被重新排序,并且其他级可被结合或打破。尽管一些重新排序或其他的分组被具体提到,但是其他的重新排序或分组对于本领域普通技术人员来说将是显而易见的,因此本文呈现的顺序和分组不是替代物的穷尽列表。此外,应理解,这些级可实现为硬件、固件、软件或其任意组合。
[0170] 为了说明的目的,已参考具体实施方式描述了前述描述。然而,以上说明性的讨论并非旨在穷尽或者将权利要求的范围限于所公开的确切形式。鉴于以上教导,许多修改和变化是可能的。选择实施方式以最佳解释在权利要求及其实际应用下面的原理,从而使本领域技术人员能够最佳使用具有适于预期的特定用途的各种修改的实施方式。