移动应用、身份关系管理转让专利

申请号 : CN201810177243.0

文献号 : CN108200099B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·桑德海C·多莱伊S·布哈特W·W·王A·伊尤

申请人 : 甲骨文国际公司

摘要 :

本申请涉及移动应用、身份关系管理。提供了用于管理身份的技术。在一些示例中,身份管理、认证、授权和令牌交换框架可以被提供以用于移动设备、移动应用、云应用、和/或其它基于网络的应用。例如移动客户端可以请求执行与服务提供者的账户相关联的一个或多个身份管理操作。至少部分地基于请求的操作和/或特定服务提供者,应用编程接口(API)可以被使用以生成和/或执行用于管理服务提供者的身份信息的一个或多个指令和/或方法调用。

权利要求 :

1.一种用于单点登录管理的方法,包括:

由移动设备的安全代理接收与访问由移动设备外部的第一计算系统托管的远程应用服务相关联的认证请求,所述认证请求由移动设备的除了所述安全代理以外的本地应用提供给所述安全代理;

由所述移动设备的安全代理接收用于所述本地应用访问所述远程应用服务的访问令牌,所述访问令牌是至少部分地基于用户令牌或移动客户端令牌从第二计算系统接收的;

以及

由所述移动设备的安全代理向所述本地应用提供所述访问令牌,以用于允许所述移动设备的所述本地应用代表所述移动设备的用户访问所述本地应用能够访问的远程应用服务。

2.如权利要求1所述的方法,其中所述安全代理包括移动设备的安全代理应用,所述安全代理应用被配置为提供用于移动设备的所述本地应用或其它应用中的至少一个的单点登录。

3.如权利要求2所述的方法,其中所述安全代理应用被配置有嵌入式网络浏览器。

4.如前述权利要求中的任何一个所述的方法,还包括至少部分地基于包括在认证请求中的证书确定用户什么时候被认证,并且其中所述确定至少部分地基于从所述移动设备外部的第二计算系统接收用户被认证的指示。

5.如权利要求1所述的方法,其中所述用户令牌指示所述移动设备的用户被认证。

6.如权利要求1所述的方法,其中所述移动客户端令牌指示所述本地应用被认证。

7.一种用于单点登录管理的方法,包括:

由移动设备的安全代理接收访问远程服务提供者的请求,所述请求由移动设备的除了所述安全代理之外的第一本地应用提供给所述安全代理;

由移动设备的安全代理登入与移动设备的第一本地应用相关联的用户;

向所述第一本地应用提供用于访问所述远程服务提供者的第一令牌,所述第一令牌至少部分地基于用户令牌或移动客户端令牌由移动设备的安全代理提供给移动设备的第一本地应用;以及由移动设备的安全代理向与用户相关联的移动设备的第二本地应用提供第二令牌,所述第二令牌使得第二本地应用能够在用户没有提供登入到与第二本地应用相关联的应用服务提供者的登入证书的情况下代表用户登入到与第二本地应用相关联的应用服务提供者。

8.如权利要求7所述的方法,其中移动设备的安全代理包括被配置为提供用于移动设备的第二本地应用的单点登录的移动设备的安全代理应用。

9.如权利要求8所述的方法,其中移动设备的第二本地应用包括与网络应用服务提供者相关联的移动设备的浏览器应用或配置为具有与混合应用服务提供者相关联的嵌入式浏览器的原生应用的移动设备的混合应用。

10.如权利要求7所述的方法,其中第一本地应用包括与网络应用服务提供者相关联的移动设备的浏览器应用,并且第二本地应用包括与应用服务提供者相关联的移动设备的原生应用。

11.如权利要求7所述的方法,其中第一本地应用包括与应用服务提供者相关联的移动设备的原生应用。

12.如权利要求11所述的方法,其中第二本地应用包括与网络应用服务提供者相关联的移动设备的浏览器应用。

13.根据权利要求11所述的方法,其中第二本地应用包括与第二应用服务提供者相关联的移动设备的第二原生应用。

14.根据权利要求7到13中的任何一个所述的方法,其中登入包括利用使用代表性状态转移(REST)方法调用的认证服务来认证用户。

15.一种计算机实现的方法,包括:

由移动设备的安全代理应用接收访问在移动设备外部托管的第一远程服务的请求,所述请求由移动设备的第一本地应用提供给移动设备的安全代理应用;

由移动设备的安全代理应用向远程认证服务提供者计算机提供认证请求;

由移动设备的安全代理应用接收用于使得移动设备的第一本地应用能够访问第一远程服务的第一访问令牌,所述第一访问令牌是至少部分地基于用户令牌或移动客户端令牌从所述远程认证服务提供者计算机接收的;

由移动设备的安全代理应用向第一本地应用提供第一访问令牌;以及由移动设备的安全代理应用提供用于使得移动设备的第二本地应用能够访问在移动设备外部托管的第二远程服务的第二访问令牌,第二访问令牌被提供给移动设备的第二本地应用,所述第二访问令牌使得第二本地应用能够在用户没有提供登入到第二远程服务的登入证书的情况下代表移动设备的用户登入到第二远程服务。

16.根据权利要求15所述的计算机实现的方法,其中,所述认证请求作为代表性状态转移(REST)方法调用被提供给远程认证服务提供者。

17.根据权利要求15所述的计算机实现的方法,其中所述认证请求被提供以请求移动设备的用户的认证。

18.根据权利要求17所述的计算机实现的方法,其中第一访问令牌至少部分地基于用户的认证从远程认证服务提供者接收。

19.根据权利要求15到18中的任何一个所述的计算机实现的方法,还包括:由移动设备的安全代理应用从远程认证服务提供者接收第二访问令牌。

20.如权利要求15到18中的任何一个所述的计算机实现的方法,其中所述第二访问令牌至少响应于来自于第二本地应用的访问第二远程应用的请求由移动设备的安全代理应用提供给第二本地应用。

21.一种移动设备,包括:

存储器,存储多个指令;以及

一个或多个处理器,被配置为访问存储器并且执行所述多个指令以使得如权利要求1到20中的任何一个所述的方法被执行。

22.一种用于单点登录管理的系统,包括用于执行如权利要求1到20中的任何一个所述的方法的装置。

23.一种其上存储有指令的计算机可读存储介质,所述指令在由处理器执行时,使得如权利要求1到20中的任何一个所述的方法被执行。

说明书 :

移动应用、身份关系管理

[0001] 本申请是申请日为2012年9月27日、申请号为201280054799.1、名称为“移动应用、单点登录管理”的发明专利申请的分案申请。
[0002] 对相关申请的交叉引用
[0003] 本申请要求2011年9月29日提交的题为“MOBILE SECURITY AND SINGLE SIGN-ON”的美国临时申请No.61/541,034的利益和优先权,其全部内容为了所有目的通过引用合并于此。本申请也要求申请号为No.13/485,420、题为“MOBILE APPLICATION,IDENTITY RELATIONSHIP MANAGEMENT”的代理机构卷号为No.88325-831572,申请号为No.13/485,509、题为“MOBILE APPLICATION,SINGLE SIGN-ON MANAGEMENT”的代理机构卷号为No.88325-831573,申请号为No.13/485,283、题为“MOBILE APPLICATION,SINGLE SIGN-ON MANAGEMENT”的代理机构卷号为No.88325-830032,和申请号为No.13/485,569、题为“MOBILE APPLICATION,RESOURCE MANAGEMENT ADVICE”的代理机构卷号为No.88325-
831574的利益和优先权,其每个的全部内容就像在这里完全地阐述的一样通过引用合并于此。

技术领域

[0004] 本发明一般涉及移动应用,并且更具体地涉及单点登录管理。

背景技术

[0005] 移动设备通常配置有多个不同的应用,包括网络浏览器、原生移动应用,等等。一般,每个应用可以请求来自于移动设备的用户的个人认证证书。另外,每个应用可以在给出对服务器的账户的访问之前利用服务器分别地认证自身。但是,从相同的设备登入多次以便利用多个不同应用中的一个以上可能是冗长的、费时的、使人不愉快的、并且不安全的。另外,多个登入请求可以使得用户较少警觉并且较少知道哪些应用正在正常地请求证书。
[0006] 因而,访问此类应用和相关的网络服务如果不被恰当地解决可能引起安全风险。例如,在有些情况下,多个登入请求可以使得密码钓鱼技术更可能得手。此外,数据安全性,尤其随着移动设备和关联的应用和/或网络服务的普遍使用,仍然持续被关注。因而,在本领域找到技术方案,并且具体地用于实施用于移动应用的安全单点登录的技术方案仍然是优先考虑的。

发明内容

[0007] 提供用于管理单点登录的技术。在某些示例中,单点登录功能可以通过利用移动应用、云应用、和/或其它基于网络的应用为在移动设备上使用而提供。例如,移动应用或移动网络浏览器可以请求认证或访问一个或多个服务提供者。认证证书可以从移动设备的用户请求以便于此类认证和/或访问。至少部分地基于成功登入,在没有向用户连续或重复证书请求的情况下,可以提供从相同移动设备上的其它应用访问服务器资源。
[0008] 根据至少一个示例,计算机可读存储器可以存储在由一个或多个处理器执行时使得所述一个或多个处理器接收访问服务提供者的一个或多个请求的指令。在某些示例中,请求可以从移动设备的第一应用接收。另外,指令也可以使得所述一个或多个处理器登入与第一应用相关联的用户。指令还可以使得所述一个或多个处理器向第一应用提供用于访问服务提供者的令牌。第二令牌然后可以被提供给第二应用。
[0009] 在某些示例中,第一应用可以被配置为用于为第二应用提供单点登录功能的应用代理。
[0010] 另外,在一些示例中,第二应用可以被配置为网络浏览器应用或原生应用。
[0011] 在一个示例中,第一应用可以被配置为与网络服务相关联的浏览器应用,而第二应用可以被配置为与应用服务提供者相关联的原生应用。浏览器应用和原生应用可以被执行或由移动设备托管。
[0012] 在某些示例中,第一应用可以被配置为移动设备的原生应用。原生应用可以与应用服务提供者相关联。另外,第二应用可以被配置为与网络应用相关联的浏览器应用。浏览器应用可以被执行或由移动设备托管。此外,在某些示例中,第二应用可以被配置为与第二应用服务相关联的第二原生应用。第二原生应用也可以被执行或由移动设备托管。
[0013] 在一个示例中,用户的登入可以包括利用认证服务认证用户,认证服务使用代表性状态转移(REST)调用。在另一个示例中,提供到第二应用的第二令牌可以使得第二应用在用户没有向与第二应用相关联的应用服务提供者提供登入证书的情况下登入到与第二应用相关联的应用服务提供者。
[0014] 上面描述的一些或所有示例可以实现在各种认证服务的使用便利性方面的改进。另外,以上示例也可以改善用户交互的安全性,并且因而可以改善用户、移动设备、和/或移动应用和关联的网络服务的数据安全性。上述技术效果与下面描述的附加技术效果一起解决了数据安全性和用户认证,具体地针对移动设备和他们关联的应用,的正在面临的问题。
[0015] 也提供用于管理身份的技术。在某些示例中,身份管理、认证、授权、和令牌交换框架可以被提供以用于以移动设备、移动应用、云应用、和/或其它基于网络的应用。例如移动客户端可以请求执行与服务提供者的账户相关联的一个或多个身份管理操作。至少部分地基于请求的操作和/或特定服务提供者,应用编程接口(API)可以被使用以生成和/或执行用于管理服务提供者的身份信息的一个或多个指令和/或方法调用。
[0016] 根据至少一个示例,系统可以接收执行与服务提供者相关联的功能的请求。该请求可以从客户端应用接收到并且可以被格式化为代表性状态转移(REST)调用。另外,系统也可以确定与其功能的执行正在被请求的服务提供者对应的访问管理服务调用。此外,系统可以执行访问管理服务调用。
[0017] 在一个示例中,请求接收自的客户端应用可以被实施为移动设备的移动应用、软件作为服务(SaaS)应用、和/或富互联网应用(RIA)。另外,在某些示例中,执行与服务提供者相关联的功能的请求可以包括授权请求。认证请求可以包括客户端应用的用户的用户标识符(ID)。认证请求也可以包括用户的密码和/或用于指示客户端应用已被认证的客户端令牌。用户ID和密码在一些情况下可以用于针对访问管理服务认证用户。
[0018] 在一个示例中,由系统执行的访问管理服务调用可以包括实施令牌交换的方法调用。
[0019] 另外,在一些示例中,执行与服务提供者相关联的功能的请求可以包括访问请求。在一些情况下,访问请求可以包括指示客户端被认证的客户端令牌、指示用户被认证的用户令牌、和/或对其的访问正在被请求的服务提供者的指示。在一些情况下,系统可以接收用户和/或客户端应用已被访问管理服务授权访问服务提供者的指示。在这种情况下,系统然后可以向客户端应用提供访问令牌。
[0020] 在一个示例中,对于第一访问管理服务的服务调用可以不同于对于第二访问管理服务的服务调用。此外,在一些情况下,要被使用的访问管理服务可以由服务提供者指定,而不是向客户端应用指示。以这种方式,客户端应用可以独立于API或服务提供者的其它配置做出REST调用。
[0021] 根据至少一个示例,系统可以接收管理身份的指令。系统也可以被配置为将与要被管理的身份相关联的身份关系建模为统一资源标识符(URI)。系统也可以根据要求将URI映射到与服务提供者相关联的模式和/或将模式发送到用于管理身份的服务提供者。
[0022] 在某些示例中,接收的管理身份的指令可以由移动客户端应用、RIA、或SaaS应用接收。接收的指令也可以被格式化为REST调用。另外,在一些方面,建模的身份关系可以包括要被管理的身份和/或身份与另一个实体之间的关联。此外,身份关系可以至少部分地基于包括身份和关联的一串符号被建模为URI。
[0023] 还提供用于资源管理意见服务的技术。在某些示例中,资源管理意见和/或指令可以为移动设备、移动应用、云应用、和/或其它基于网络的应用而提供。例如,移动客户端可以请求执行与服务提供者相关联的一个或多个资源管理操作。至少部分地基于请求的操作和/或特定服务提供者,可以提供用于管理资源的意见和/或指令。
[0024] 根据至少一个示例,计算机可读存储器可以存储在由一个或多个处理器执行时使得所述一个或多个处理器接收管理服务提供者的安全资源的请求的指令。请求可以从客户端应用接收到并且可以被格式化为代表性状态转移(REST)调用。另外,指令也可以使得所述一个或多个处理器确定用于执行安全资源的管理的获取路径。指令还可以使得所述一个或多个处理器生成用于遵循获取路径的指令集。所述指令集可以包括至少一个指令。此外,指令可以使得所述一个或多个处理器将指令集发送到客户端应用。
[0025] 在一个示例中,求接收请自的客户端应用可以被实施为移动设备的移动应用、软件作为服务(SaaS)应用、和/或富互联网应用(RIA)。另外,在一些示例中,管理安全资源的请求可以包括访问安全资源的请求、更新安全资源的请求、或删除安全资源的请求。安全资源可以包括与客户端应用的用户相关联的简档信息、与客户端应用的用户相关联的工资信息、或与客户端应用的用户相关联的社会信息。在一些情况下,生成的指令可以由安全过滤器保护。在一些方面,获取路径可以至少部分地基于安全资源和/或与安全资源相关联的变化动态地确定。
[0026] 在一个示例中,指令可以使得所述一个或多个处理器至少部分地基于发送的指令集从客户端应用接收认证请求。指令也可以使得所述一个或多个处理器至少部分地基于认证请求向客户端应用提供认证令牌。
[0027] 另外,在一些示例中,指令可以使得所述一个或多个处理器确定用于执行安全资源的管理的第二获取路径、生成第二指令集、以及将第二指令集发送到客户端。
[0028] 上述连同其它特征和实施例将在参考下列说明书、权利要求书、和附图时变得更清晰。

附图说明

[0029] 参考附图阐述详细说明。在图中,参考数字的最左数字标识其中参考数字首先出现的图。在不同的图中相同参考数字的使用指示相似或相等的项目。
[0030] 图1是示出了根据至少一个示例的用于管理移动设备的单点登录的示例架构的简化框图,所述架构包括一个或多个REST服务计算机、一个或多个用户设备、和经由一个或多个网络连接的一个或多个应用提供者计算机。
[0031] 图2是示出了根据至少一个示例的这里描述的单点登录管理的至少一些特征简化框图。
[0032] 图3是示出了根据至少一个示例的这里描述的单点登录管理的至少一些附加特征的简化框图。
[0033] 图4-7是示出了根据至少几个示例的这里描述的单点登录管理的至少一些特征的简化处理流程图。
[0034] 图8-10是示出了根据至少几个示例的用于执行这里描述的单点登录管理的至少一些特征的示例处理的简化流程图。
[0035] 图11是示出了根据至少一个示例的可以根据这里描述的单点登录管理的实施例使用的系统环境的组件的简化框图。
[0036] 图12是示出了根据至少一个示例的可以根据这里描述的单点登录管理的实施例使用的计算机系统的简化框图。
[0037] 图13是示出了根据至少一个示例的单点登录管理装置的简化框图。
[0038] 图14是示出了根据至少一个其它示例的单点登录管理装置的简化框图。
[0039] 图15是示出了根据至少一个其它示例的单点登录管理装置的简化框图。

具体实施方式

[0040] 概述
[0041] 在下面说明中,将描述各个实施例。为了说明,阐述具体配置和细节以便提供对实施例的更彻底的理解。但是,对本领域普通技术人员将显而易见,可以不用这些特定的细节来实践本实施例。此外,公知的特征可以被省略或简化以便不致模糊描述的实施例。
[0042] 本公开的实施例针对经由计算资源和/或身份接口服务计算系统向一个或多个实体(例如,移动应用)提供单点登录管理等。如这里使用的,身份接口服务可以包括用于管理单点登录和/或认证请求、客户端令牌、应用令牌、用户令牌等的一个或多个计算系统。另外,身份接口服务可以被配置为在客户端应用和其它服务提供者之间提供可插的接口层。例如身份接口服务可以从客户端应用(例如,移动设备的移动应用、SaaS应用、RIA、上述组合等)接收身份管理指令并且向一个或多个服务提供者、身份提供者、和/或访问管理提供者提供适当地翻译的指令。在某些示例中,移动应用可以包括但是不局限于原生应用(例如,被配置为在特定的移动设备上执行的移动设备应用,在某些实例中,在没有其它软件解译的情况下)、网络浏览器应用(例如,用于向移动设备的用户显示网页)、安全代理应用、帮助应用、和/或认证委托应用。
[0043] 在一些方面,身份接口服务可以提供移动设备的移动应用代表移动设备的其它移动应用执行登入操作(例如,认证、授权等等)的能力。以这种方式,用户可以向移动应用中的一个提供一次登入信息。移动应用然后可以登入用户并且向与登入、用户、移动设备、或应用和/或服务的其它群或子群相关联的其它移动应用提供访问令牌或其它访问功能。在某些示例中,登入操作和/或请求可以被向身份接口服务以REST样式提供。此外,在某些示例中,做出登入操作请求的移动应用可以是原生移动应用、浏览器应用、和/或安全代理应用。例如,安全代理应用可以是帮助应用、认证委托应用、或被指定帮助或便于这里描述的单点登录的其它应用。即,安全代理应用可以被配置为充当用于原生应用、原生应用群、浏览器应用、原生和/或浏览器应用的其他群、移动应用(原生的和/或浏览器)的子群等的单点登录应用。可替换地,或此外,浏览器应用或原生应用可以被指定并且被配置为充当用于其它移动应用、移动应用群等等的安全代理应用。
[0044] 另外,在一些方面,身份服务可以提供认证、授权、审计、令牌服务、用户简档管理、密码管理、和/或ID管理。另外,这些服务可以被公开或提供到可以本来不能够与此类服务(例如,由企业解决方案布置的或其内的服务)交互的移动应用。在一个示例中,身份接口服务可以向移动应用提供REST接口以允许身份管理请求传送到身份服务。以这种方式,移动应用可以利用原生的基于互联网的操作,诸如那些利用但是不限于JavaScript对象标记(JSON)数据格式、超文本传输协议(HTTP)、和/或超文本标记语言(HTML)的操作。此外,身份接口服务可以允许用于服务提供者的插入能力,包括但不限于企业解决方案、身份服务、访问管理服务、和/或其它身份有关的解决方案。例如,企业解决方案的身份服务可以插入到身份接口服务以允许与通常不能从其接收指令和/或请求的客户端应用的安全交互。REST的API可以为此类服务提供者提供,并且在某些示例中,可以提供用于保护REST的API的安全模型。
[0045] 在一个非限制示例中,移动设备的安全代理应用可以从移动设备的移动应用中接收再一个登入请求。请求可以被以任何格式接收,可以包括用户登入信息,并且可以识别一个或多个服务提供者、应用提供者、或与移动应用相关联的其它计算设备。安全代理应用可以向身份接口服务发送一个或多个登入请求、认证请求、授权请求等。这些请求可以以REST形式被发送给身份接口服务。客户端令牌、用户令牌、和/或访问令牌然后可以被安全代理应用从身份接口服务中接收。在某些示例中,这些令牌可以用于提供对请求的服务提供者、应用提供者、或其它服务器的访问。安全代理应用可以确定哪些移动应用在安全群、信赖圈、或其它单点登录群(以下被称为信赖圈)之内并且与其共享接收到的用户令牌。另外,在一些示例中,安全代理应用可以请求用于群内的每个移动应用的特定的访问令牌。以这种方式,当用户试图使用相同的信赖圈内的不同的移动应用时,用户信息可以不需要被再次请求。此外,移动设备的移动应用可以被给出优先级或其它级别以指示当存在时最高优先级的移动应用可以充当安全代理应用。以这种方式,这里描述的单点登录管理不需要依赖专用的安全代理应用。相反地,移动设备的任何浏览器应用或原生应用可以执行用于信赖圈的其它移动应用的单点登录操作。
[0046] 在其它非限制示例中,身份接口服务可以被配置为从专用的安全代理应用、充当安全代理应用的浏览器应用、和/或充当安全代理应用的原生应用中接收登入请求(有时,作为REST调用)。身份接口服务然后可以利用可以与移动设备的其它应用共享的用户令牌、客户端令牌、和/或访问令牌来响应进行请求的应用。例如,身份接口服务可以从试图访问服务提供者的移动应用中接收一个或多个身份传播和/或令牌交换请求。请求可以以REST形式接收(即,作为REST调用)并且可以指示客户端应用、用户、或移动设备已被认证或正在请求被认证。身份接口服务可以至少部分地基于服务提供者(例如,企业解决方案的访问管理服务)确定适当的身份传播和/或要被执行的令牌交换指令。身份接口服务然后可以执行该指令以便向移动应用提供适当的令牌(例如,访问令牌、用户令牌、或客户端令牌)。可替换地,或此外,身份接口服务可以通过服务提供者可以能够执行指令的方式、至少部分地基于服务提供者的API格式化指令。身份接口服务然后可以将已格式化的指令或指令发送到服务提供者。服务提供者然后可以执行指令并且在一些情况下向身份接口服务提供适当的访问令牌。以这种方式,移动应用可以被提供有适当的访问令牌以用于访问服务提供者(例如,假设移动应用和用户被授权访问),即使没有直接与服务提供者通信,和/或没有对服务提供者的特定和/或专有的API的认识。虽然此示例描述单点登录、身份传播(即,经由多个系统复制认证的身份)、和/或令牌交换(即,基于先前认证提供访问令牌),但是身份接口服务可以如上所述被配置还用于执行其它服务,包括但不限于认证、授权、审计、简档管理、密码管理、ID管理等等。
[0047] 包括章节标题和对应摘要的此简介是为读者方便而提供的并且不预期限制权利要求或先前部分的范围。此外,如上和以下描述的技术可以以许多方式和在许多上下文中执行。参考下列图提供若干示例实施方式和上下文,如同下面更详细地描述的。但是,下列实施方式和上下文只是众多中的几个。
[0048] 说明性架构
[0049] 图1描述可以实施用于管理用于移动应用的单点登录的技术的简化的示例系统或架构100。在架构100中,一个或多个用户102(即,账户持有者)可以利用用户计算设备104(1)-(N)(共同地,用户设备104)以经由一个或多个网络114分别与一个或多个网络应用110和/或应用服务112通信地访问一个或多个浏览器应用106或原生应用108。在某些方面,网络应用110和/或应用服务可以由计算资源服务或服务提供者诸如通过利用一个或多个应用提供者计算机116被托管、管理、和/或提供。在某些示例中,所述一个或多个应用提供者计算机116可以提供计算资源和/或服务,诸如而不是限制于网络服务、数据存储、电子邮件、身份管理、授权和/或认证服务等。所述一个或多个应用提供者计算机116也可以是可操作以向所述一个或多个用户102提供网络托管、应用开发平台、实施平台等。
[0050] 在某些示例中,浏览器应用106可以是被配置为经由用户设备104代表用户102或为用户102检索、呈现、和/或遍历网络内容的任何类型网络浏览器。在一些情况下,浏览器应用106可以经由网络114访问网络应用110或其他网页。在某些示例中,原生应用108可以是被设计和/或配置为由用户设备104执行的任何类型的移动应用,包括但不限于税应用、目录应用、费用报告应用、登入应用、图书馆应用、客户关系管理(CRM)软件等。此外,在一些情况下,原生应用108可以经由网络114访问由应用服务112存储和/或提供的数据和/或其它资源。例如,原生应用可以被配置为访问应用提供者计算机114的目录服务或服务器以寻找目录信息和/或在用户设备104没有本地存储的任何数据的目录应用。
[0051] 用户102也可以经由网络114与可以被执行或由身份接口服务计算机120托管的身份服务或其他服务提供者通信地访问一个或多个安全代理应用118。在某些示例中,安全代理应用118可以是帮助应用、认证委托应用、单点登录(SSO)移动应用、安全代理、应用代理等(在下文中,“安全代理应用”)。安全代理应用118可以被配置为代表用户设备104的其它移动应用(例如,浏览器应用106和/或原生应用108)或代表用户设备104的用户102执行单点登录功能和/或操作。此外,在某些示例中,安全代理应用118可以将登入证书、安全信息、令牌等等发送到身份接口服务计算机120的REST模块122和/或从身份接口服务计算机120的REST模块122接收,以用于执行这里描述的单点登录功能。可替换地,安全代理应用118可以与身份接口服务计算机120的一个或多个其它模块和/或可以便于用于移动设备的单点登录操作的其它计算设备的一个或多个其它模块通信。
[0052] 在某些示例中,网络114可以包括多个不同类型网络,诸如电缆网、互联网、无线网络、蜂窝网络、内部网系统、和/或其它专用的和/或公共网络,的任何一个或组合。虽然示出的示例表示用户102通过网络114访问网络应用110、应用服务112、和/或REST模块122,但是描述的技术可以同样地应用在用户102经由一个或多个用户设备104通过陆上电话机、经由信息站、或任何其它方式与一个或多个服务提供者计算机交互的实例中。也注意描述的技术可以应用在其它客户端/服务器布置中(例如,机顶盒等等),以及在非客户段/服务器布置中(例如,本地存储的应用,等等)。
[0053] 浏览器应用106和/或原生应用108可以允许用户102与应用提供者计算机116交互,以便存储、访问、和/或管理数据、开发和/或布置计算机的应用、和/或托管网络内容。用户设备104可以是诸如但是不限于移动电话、智能电话、个人数字助理(PDA)、膝上型计算机、桌上型计算机、薄客户端设备、平板PC等等之类的任何类型的计算设备。在某些示例中,用户设备104可以与应用提供者计算机116和/或身份接口服务计算机120经由网络114或经由其它网络连接通信。此外,用户设备104也可以被配置为执行一个或多个移动应用、RIA、或SaaS应用。但是,在某些示例中,这些移动应用可以不被编程有或知道用于与应用提供者计算机116交互以登入或访问网络应用110和/或应用服务112的指令。但是,在一些情况下,移动应用(例如,安全代理应用118、浏览器应用106、和/或原生应用108)可以能够与身份接口服务计算机120通信或与其交互。以这种方式,身份接口服务计算机120可以充当移动应用与应用提供者计算机116之间的接口层。另外,身份接口服务计算机120可以向安全代理应用118提供适当的指令和/或代码以用于与网络应用110和/或应用服务112通信或向网络应用110和/或应用服务112提供登入功能和/或访问。
[0054] 在一个说明性的配置中,用户设备104可以包括至少一个存储器124和一个或多个处理单元(或处理器)126。处理器126可以被视情况以硬件、计算机可执行指令、固件、或其组合实施。处理器126的计算机可运行指令或固件实施方式可以包括以任何适当的程序设计语言编写以执行描述的各种功能的计算机可执行或机器可执行指令。
[0055] 存储器124可以存储在处理器126上可装载和可执行的程序指令,以及在这些程序的执行期间生成的数据。根据用户设备104的配置和类型,存储器124可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪速存储器,等等)。用户设备104也可以包括附加存储器(例如,可移除的和/或不可移除的存储器)128,包括但不限于磁存储器、光盘、和/或磁带存储器。盘驱动器和他们关联的计算机可读介质可以提供计算机可读指令、数据结构、程序模块、和用于计算设备的其它数据的非易失性存储。在某些实施方式中,存储器114可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、ROM。
[0056] 存储器124、可移除的和不可移除的附加存储器128是计算机可读存储介质的全部示例。例如,计算机可读存储介质可以包括以任何方法或技术执行的易失性的或非易失性的、可移除的或不可移除的介质以用于存储诸如计算机可读指令、数据结构、程序模块、或其它数据之类的信息。存储器124和附加存储器128全部是计算机存储介质的示例。
[0057] 用户设备104也可以包含允许用户设备104与存储的数据库、另一个计算设备或服务器(例如,应用提供者计算机116、身份接口服务计算机120等等)、用户终端、和/或网络114上的其它设备通信的通信连接130。用户设备104也可以包括输入/输出(I/O)设备132,诸如键盘、鼠标、笔、语音输入设备、触摸式输入设备、显示器、扬声器、打印机,等等。
[0058] 更详细地转向存储器124的内容,存储器124可以包括操作系统134和用于执行这里公开的特征的一个或多个应用或服务,至少包括浏览器应用106、原生应用108(例如,税应用、目录应用、CRM应用等等)、和/或安全代理应用118。如上所述,在某些示例中,安全代理应用118可以是用于便于用于其它移动应用的单点登录的独立的应用。但是,在某些示例中,浏览器应用106、或原生应用108可以被配置为充当用于移动应用群的安全代理应用(例如,基于优先级、预先确定的应用列表等)。另外,存储器124可以存储访问证书和/或其他用户信息,诸如但是不限于用户ID、密码、其它用户信息、和/或要被发送给身份接口服务计算机120的登入请求。在某些示例中,其它客户端信息可以包括用于认证账户访问请求的信息,诸如但是不限于设备ID、cookie、IP地址、位置等。此外,其它客户端信息可以包括用户102提供的对安全问题的响应或由用户设备104获得的地理位置。
[0059] 在某些方面,身份接口服务计算机120也可以是任何类型的计算设备,诸如但是不限于移动、桌上型计算机、薄客户端、和/或云计算设备、诸如服务器。在某些示例中,身份接口服务计算机120可以与用户设备104经由网络114、或经由其它网络连接通信。身份接口服务计算机120可以包括一个或多个服务器,或许布置成群作为服务器场,或布置成彼此不相关联的各个服务器。这些服务器可以被配置为执行或托管这里描述的特征,包括但不限于单点登录服务和/或身份接口服务。另外,在一些方面,身份接口服务计算机120可以配置为集成、分布式计算环境的一部分。
[0060] 在一个说明性的配置中,身份接口服务计算机120可以包括至少一个存储器136和一个或多个处理单元(或处理器)138。处理器138可以被视情况以硬件、计算机可执行指令、固件、或其组合实施。处理器138的计算机可执行指令或固件伸缩缝可以包括以任何适当的程序设计语言编写以执行描述的各种功能的计算机可执行或机器可执行指令。
[0061] 存储器136可以存储在处理器138上可装载和可执行的程序指令,以及在这些程序的执行期间生成的数据。根据身份接口服务计算机120的配置和类型,存储器136可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪速存储器,等等)。身份接口服务计算机120也可以包括附加存储器(例如,可移除的和/或不可移除的存储器)140,包括但不限于磁存储器、光盘、和/或磁带存储器。盘驱动器和他们关联的计算机可读介质可以提供计算机可读指令、数据结构、程序模块、和用于计算设备的其它数据的非易失性存储。在某些实施方式中,存储器136可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、ROM。
[0062] 存储器136、可移除的和不可移除的附加存储器140是计算机可读存储介质的全部示例。例如,计算机可读存储介质可以包括以任何方法或技术执行的易失性的或非易失性的、可移除的或不可移除的介质以用于存储诸如计算机可读指令、数据结构、程序模块、或其它数据之类的信息。存储器136和附加存储器140全部是计算机存储介质的示例。
[0063] 身份接口服务计算机114也可以包含允许身份接口计算机120与存储的数据库、另一个计算设备或服务器、用户终端、和/或网络114上的其它设备通信的通信连接142。身份接口服务计算机120也可以包括输入/输出(I/O)设备134,诸如键盘、鼠标、笔、语音输入设备、触摸式输入设备、显示器、扬声器、打印机,等等。
[0064] 更详细地转向存储器136的内容,存储器136可以包括操作系统146和用于执行这里公开的特征的包括REST接口模块122的一个或多个应用或服务。在某些示例中,REST接口模块122可以被配置为提供REST API、接收REST API调用、确定适当的身份服务和/或登入方法调用(即API调用)、提供方法调用、和/或执行与方法调用相关联的指令。换句话说,REST接口模块122可以用于与用户设备104的安全代理应用118交互。
[0065] 例如但不限于,用户设备104的安全代理应用118可以发送用于执行特定身份管理操作(例如,用户登入)的REST API调用。REST接口模块122可以接收API调用并且确定用于应用提供者计算机116的适当的方法调用。在某些示例中,REST接口模块122可以被配置为向安全代理应用118提供访问令牌(例如,用户令牌、客户端令牌、和/或访问令牌)。这些令牌然后可以被适当地与用户设备104的其它移动应用共享以使得对于在信赖群内的移动应用,用户102可以不需要登入多次。以下更详细描述安全代理应用118和/或身份接口服务计算机120的操作的几个示例。
[0066] 可以被呈现在身份接口服务计算机120和/或用户设备104中的附加类型的计算机存储介质(其也可以是非瞬时的)可以包括但是不局限于可编程随机存取存储器(PRAM)、SRAM、DRAM、RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储技术、光盘只读存储器(CD-ROM)、数字通用盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储器、或可以用于存储期望的信息并且可以由身份接口服务计算机120和/或用户设备104访问的任何其它介质。以上中的任何一个组合也应当被包括在计算机可读介质的范围内。
[0067] 可替换地,计算机可读通信介质可以包括计算机可读指令、程序模块、或在数据信号之内发送的其它数据,诸如载波、或其它传输。但是,如同这里使用的,计算机可读存储介质并不包括计算机可读通信介质。
[0068] 图2描述可以实施用于管理用于移动应用的单点登录的附加技术的简化的示例系统或架构200。在架构200中,用户设备202(例如,至少类似于用户设备104的移动设备)可以被配置有浏览器应用204、一个或多个原生应用(例如,原生应用一206和原生应用二208)、和用于经由一个或多个网络216与一个或多个服务提供者计算机212和/或一个或多个身份服务计算机214交互的安全代理应用210。在某些示例中,每个移动应用(即,至少浏览器应用204和/或原生应用206、208)可以包括用于适当地与网络应用224、应用服务一226、和应用服务二228分别交互的软件开发工具包(SDK)信息218、220、222。可替换地,SDK 218、220、222可以被配置为提供用于适当地与身份服务计算机214,或更具体地,与身份服务计算机
214的REST模块230交互的开发信息。此外,在某些示例中,安全代理应用210可以与工具包
232耦接。工具包232可以是用于存储与用户设备202的用户相关联的用户证书和/或登入信息的存储器中的位置或独立的存储设备。
[0069] 如同图1的网络114一样,网络216可以包括多个不同类型网络的任何一个的或组合,诸如电缆网、互联网、无线网络、蜂窝网络、内部网系统、和/或其它专用的和/或公共网络。虽然示出的示例表示用户设备202通过网络216访问网络应用224、应用服务226、228、和/或REST模块230,但是描述的技术可以同样地应用在用户设备202通过陆地电话机、经由信息站、或以任何其它方式与此类应用和/或模块交互的实例中。也注意描述的技术可以应用在其它客户端/服务器布置中(例如,机顶盒等等),以及在非客户端/服务器布置(例如,本地存储的应用,等等)。
[0070] 在一个非限制示例中,浏览器应用204和原生应用一206可以被包括在位于用户设备202上的移动应用的信赖圈、或其它信赖群中。在此示例中,原生应用二208可以不是群的成员。即,信赖圈可以被定义为以因为某些特定原因仅仅包括浏览器应用204和原生应用一206。因而,单点登录功能可以仅仅对于群的成员(即,信赖圈)被执行。但是,在其它示例中,用户设备202的更多或更少的移动应用可以被包括在信赖群中。这里,安全代理应用210可以从浏览器应用204接收登入到网络应用224的请求。在响应中,安全代理应用210可以请求来自于用户设备202的用户的登入证书,诸如但是不限于用户名、密码等等。安全代理应用
210然后可以经由网络216将用户和/或上下文信息234发送到REST模块230。此信息234可以被以REST形式发送。
[0071] REST模块230然后可以将REST调用翻译成为用于认证用户设备202的用户、用户设备202、和/或浏览器应用204的登入指令。身份服务计算机214可以执行或指示其它计算设备或模块执行认证指令。在认证时,REST模块230可以提供用户令牌和/或客户端令牌回到安全代理应用210。在一些情况下,用户令牌和/或客户端令牌可以意味着用户设备202的用户和/或用户设备自身202已被认证。类似地,用户令牌和/或客户端令牌可以意味着或指示请求的应用(在这种情况下,浏览器应用204)已被认证。在成功地登入时,安全应用也可以接收用于访问应用提供者计算机212的适当的服务(例如,网络应用224和/或应用服务226、228)的访问令牌。在图2中,访问令牌可以由条纹菱形的形状标识。因而,在一个示例中,安全代理应用210可以至少部分地基于登入到网络应用224的初始请求来请求用于浏览器应用204的访问令牌(例如,具有对角条形的令牌)。安全代理应用210然后可以向浏览器应用
204提供访问令牌,其然后可以向网络应用224提供访问令牌(再次,具有对角条形的令牌)。
此访问令牌可以向网络应用指示用户设备202的浏览器应用204已被对身份服务计算机214认证。网络应用224然后可以安全地与浏览器应用交互。
[0072] 另外,在一些示例中,安全代理应用210可以以后接收来自于原生应用一206的访问应用服务一226的请求。在这种情况下,因为原生应用一206处于与浏览器应用204相同的信赖圈,并且因为安全代理应用210已经认证了用户和/或用户设备202(即,用户和/或客户端令牌已经被接收),所以安全代理应用210能请求来自于身份服务计算机214的访问令牌(这次,令牌具有横条纹)而不必重新请求用户设备202的用户的用户证书。即,一旦安全代理应用210已经认证了用户和设备202,安全代理应用210对于信赖圈的其它应用可以能执行单点登录功能。但是,如果用户请求经由原生应用二208(假设,如上所述,原生应用二208可以不处于信赖圈)登入应用服务二228,则安全代理应用210将不能够请求和/或接收用于该操作的访问令牌。
[0073] 另外,在其它示例中,用户设备202可以不被配置有专用的安全代理应用210。在这种情况下,一个或多个移动应用(即,浏览器应用204和/或原生应用206、208)可以充当安全代理应用210。即,一旦信赖圈形成,信赖圈的每个应用可以被给定优先级。优先级可以确定或指示哪个移动应用应当充当用于群的单点登录帮助(或安全)应用。在一个非限制示例中,图2所示的所有三个移动应用204、206、208可以是信赖圈的一部分。另外,原生应用二208可以被给定最高优先级,继之以浏览器应用204。因而,当用户试图登入到三个移动应用中的一个时,用户设备可以首先检查最高优先级应用(在此示例中,原生应用二208)是否被安装在用户设备202上。如果是的话,则原生应用二208可以充当安全代理应用210并且将REST请求发送到身份服务计算机214或执行用于信赖圈的认证和/或接收并共享访问令牌。
可替换地,如果原生应用二208没有被安装在用户设备上,则浏览器应用204可以充当安全代理应用210以执行用于信赖圈的单点登录操作。无论哪种方式,一旦用户已经登入到信赖圈的一个应用,访问信赖圈的其它应用将不需要用户证书。
[0074] 如注意,在至少一个示例中,环境或架构100和/或200的一个或多个方面可以合并和/或被并入到诸如由身份服务计算机120、214托管的那些之类的分布式程序执行服务中。图3描述示出了图1和2的身份服务计算机120、214的附加方面和/或特征的简化架构300。此外,在某些示例中,身份接口服务可以实际上实施REST服务作为它的许多服务的一个。例如,图3示出了诸如由图1的身份服务计算机120和/或图2的身份服务计算机214实施的身份接口服务302,从诸如而不是限制于SaaS应用304、移动应用306、和/或RIA 308之类的一个或多个客户端应用中接收信息、请求、和/或指令。如上所述,这些请求可以被客户端应用
304、306、308格式化为REST调用并且可以至少部分地基于由身份接口服务302提供的REST API。另外,身份接口服务302可以经由可插层314与一个或多个服务提供者/数据储存库310和/或数据层312进行通信。如上所述,通过提供可插层314,所述一个或多个服务提供者/数据储存库310可以在运行中和/或独立于它可以与之交互的客户端应用的类型被增加到服务302和/或移除。以这种方式,服务302可以维持灵活性。
[0075] 在某些示例中,服务提供者/数据储存库310可以包括一个或多个安全策略服务316、访问管理服务318、目录服务320、数据库322、和/或身份存储器324(例如,轻型目录访问协议(LDAP)服务器)。另外,根据某些方面,服务提供者/数据储存库310可以与一个或多个可插服务通信,诸如但是不限于访问软件开发包(SDK)326、信赖服务328、和/或身份库
330。在某些示例中,访问SDK 326、信赖服务328、和/或身份库330可以共同地构成用于经由可插层314将服务提供者/数据储存库310插入到身份接口服务302中的接口层。例如,访问SDK 326可以负责将访问管理服务318插入到服务302中。
[0076] 身份接口服务302也可以包括用于控制、管理或与数据层312的一个或多个运行时间数据存储器334、审计数据存储器336、和/或配置数据存储器338通信的管理模块332。数据层312可以经由可以被配置为连接数据层312以及执行内部文件管理、记录、监控、和/或其它管理任务的基础设施平台340与服务302进行通信。在一些情况下,管理模块332和数据层312可以负责控制、配置、管理、和/或管理与身份接口服务302相关联的服务和/或数据。另外,身份接口服务302也可以包括安全过滤器342、请求/响应处理器344、一个或多个REST服务引擎346、和/或服务提供者接口(SPI)框架348。
[0077] 在某些方面,安全过滤器342可以被配置为维护由身份接口服务302提供的REST API的安全。以这种方式,仅仅授权和/或认证的客户端应用可以被提供有REST API和/或仅仅来自于授权和/或认证的客户端应用的API调用可以被处理。请求/响应处理器344可以被配置为从客户端应用304、306、308等等接收请求、并且向其提供响应。在某些示例中,REST服务引擎346可以被配置为操纵身份接口服务302的策略,诸如但是不限于迫使符合规则、增强基础设施安全、和/或流线化身份接口服务302的服务操作。
[0078] 此外,SPI框架348可以翻译、映射、或确定用于服务提供者/数据储存库310的适当的方法调用和/或指令。这些方法调用和/或指令可以至少部分地基于接收的REST API调用和/或请求与其关联的服务提供者。例如,并且不限于,请求/响应处理器344可以接收更新身份关系的请求。响应可以被格式化为来自于客户端应用304、306、308中的一个的REST调用。请求/响应处理器344可以将请求转发到SPI框架348,其中可以确定一个或多个不同的指令或指令集。例如,指令可以根据请求所预期的服务提供者/数据储存库310而不同。即,如果请求用于数据库320,则SPI框架348可以确定用于更新身份关系的指令(或指令集),不同于如果请求用于LDAP身份存储器324时的指令。
[0079] 在某些方面,SPI框架348的实施方式可以包括利用一个或多个SPI,诸如但是不限于认证SPI 350、授权SPI 352、简档SPI 354、和/或其它ID SPI 356。另外,认证SPI 350可以被配置为提供与一个或多个访问管理提供者358和/或一个或多个信赖服务提供者360的交互。授权SPI 352可以被配置为提供与一个或多个访问管理提供者358的交互。简档SPI 354可以被配置为提供与一个或多个身份服务提供者362和/或目录服务提供者364的交互。
此外,其它ID SPI 356可以被配置为提供与诸如但是不限于密码管理服务、策略管理服务、令牌交换服务、和/或用户供应服务的一个或多个其它服务提供者366的交互。以这种方式,一个或多个各个SPI可以负责经由可插层314与服务提供者/数据储存库310进行通信。即,SPI框架348可以充当客户端应用304、306、308与所述一个或多个服务提供者310之间的代理。
[0080] 如上所述,如上所述的某些或所有示例和/或方面可以提供用于在各种认证的服务(例如,移动应用等等)的使用便利性方面实现改进的技术效果。另外,以上示例也可以改善用户与此类移动应用交互的安全性,因而可以改善用户、移动设备、和/或移动应用和层关联的网络服务的数据安全性。上述技术效果与下面描述的附加技术效果一起解决了数据安全性和用户认证的正在发生的问题,具体地针对移动设备和他们关联的应用和数据。
[0081] 此外,图1、3所示的示例架构、工具和计算设备仅仅以示例方式提供。许多其它操作环境、系统架构、和设备配置是可能的。因此,本公开的实施例不应该被认为是局限于任何特定操作环境、系统架构、或设备配置。
[0082] 说明性处理
[0083] 图4描述结合如上所述的单点登录(SSO)管理执行的示例设备注册的简化的处理流程400。在某些示例中,简化的处理流程400可以由一个或多个计算设备执行,诸如但是不限于图1所述的用户设备104和/或身份接口服务计算机120。在一些方面,移动用户402可以访问移动设备,诸如但是不限于图1的用户设备104和/或图2的用户设备202。另外,在一些示例中,移动设备可以包括商业应用404(例如,浏览器应用、原生应用等等)和/或SSO应用406(例如,以上至少参考图1、2讨论到的安全代理应用)。此外,在某些示例中,移动设备可以经由一个或多个网络412与REST服务器408(或其它身份服务)和/或一个或多个服务提供者410(例如,访问管理服务和/或托管用于移动设备的移动应用的数据的服务器)交互。如上所述,至少参考图1的网络114和/或图2的网络216,任何数量和/或组合的网络(有线和/或无线的)可以是适合的。
[0084] 在至少一个非限制示例中,处理流程400可以在414处当移动用户402试图访问商业应用404时开始。在响应中,在416处,商业应用404可以试图从安全代理应用406获得(例如,做出请求)会话和/或访问令牌。在418处,安全代理应用406可以向移动用户402呈现登入页以便请求用户证书(例如,用户标识符(ID)、密码等等)。在响应中,在420处,移动用户402可以向安全代理应用406提供此类用户证书。在某些示例中,在422处,安全代理应用406然后可以试图通过经由网络412向REST服务器408提供用户证书、属性、和/或上下文信息(例如,安全代理应用ID)来注册移动用户402的设备。在424处,REST服务器408可以将包括至少用户证书的认证请求发送到服务提供者410。在某些示例中,可以在426处生成SSO应用处理以指示登入和/或注册会话,在某些示例中,在428处,结合REST服务408向服务提供者
410提供属性和/或SSO应用ID。在430处,服务提供者410可以返回设备处理以用于指示用于移动设备的注册会话。此外,在432处,REST服务器408可以将SSO应用处理和设备处理发送到安全代理应用406,因此指示移动设备已被注册。即,处理400可以向移动设备提供可以用于指示移动设备已被注册SSO服务的设备令牌。
[0085] 图5描述结合如上所述的单点登录(SSO)管理执行的示例应用注册的简化的处理流程500。在某些示例中,简化的处理流程500可以由一个或多个计算设备执行,诸如但是不限于图1所述的用户设备104和/或身份接口服务计算机120。在一些方面,移动用户502可以访问移动设备,诸如但是不限于图1的用户设备104和/或图2的用户设备202。另外,在一些示例中,移动设备可以包括商业应用504(例如,浏览器应用、原生应用等等)和/或SSO应用506(例如,以上至少参考图1、2讨论到的安全代理应用)。此外,在某些示例中,移动设备可以经由一个或多个网络512与REST服务器508(或其它身份服务)和/或一个或多个服务提供者510(例如,访问管理服务和/或托管用于移动设备的移动应用的数据的服务器)交互。如上所述,任何数量和/或组合的网络(有线和/或无线的)可以是适合的。
[0086] 在至少一个非限制示例中,处理流程500可以在514处当移动用户502试图访问商业应用504时开始。在响应中,在516处,商业应用504可以试图从安全代理应用506获得(例如,做出请求)会话和/或访问令牌。在518处,安全代理应用506可以向移动用户502呈现登入页以便请求用户证书(例如,用户ID、密码等等)。在响应中,移动用户502可以在520处向安全代理应用506提供此类用户证书。在某些示例中,在522处,安全代理应用506然后可以试图通过经由网络512向REST服务器508提供用户证书、属性、和/或上下文信息(例如,安全代理应用ID)来注册商业应用。在524处,REST服务器508可以将包括至少用户证书的认证请求发送到服务提供者510。在某些示例中,可以在526处生成SSO应用处理以指示登入和/或注册会话,在某些示例中,在528处,结合REST服务508向服务提供者510提供属性和/或SSO应用ID。在530处,服务提供者510可以返回设备处理以用于指示商业应用的注册会话。此外,在532处,REST服务器508可以将SSO应用处理和设备处理发送到安全代理应用506,因此指示商业应用已被注册。在534处,安全代理应用506然后可以将应用处理发送到商业应用。即,处理500可以向商业应用提供可以用于指示应用已被注册用于SSO服务的应用(或客户端)令牌。在536处,商业应用504可以发送从REST服务器508获得访问令牌的请求。在538处,REST服务器可以提供访问令牌和/或可以将请求转发到适当的服务提供者510。
[0087] 图6描述结合如上所述的单点登录(SSO)管理执行的示例用户登入的简化的处理流程600。在某些示例中,简化的处理流程600可以由一个或多个计算设备执行,诸如但是不限于图1所述的用户设备104和/或身份接口服务计算机120。在此示例中,移动用户602可以访问移动设备,诸如但是不限于图1的用户设备104和/或图2的用户设备202。另外,在一些示例中,移动设备可以包括商业应用604(例如,原生应用,包括但不限于税应用、目录应用、费用报告应用,等等)和/或SSO应用606(例如,以上至少参考图1、2讨论到的安全代理应用)。此外,在某些示例中,移动设备可以经由一个或多个网络612与REST服务器608(或其它身份服务)和/或一个或多个服务提供者610(例如,访问管理服务、身份服务、和/或托管用于移动设备的移动应用的数据的服务器)交互。如上所述,任何数量和/或组合的网络(有线和/或无线的)可以是适合的。
[0088] 在至少一个非限制示例中,处理流程600可以描述当移动用户602具体地使用移动设备的商业应用604时(即,与移动设备的浏览器应用相反,使用移动设备的原生应用)的情况。处理流程600可以在614处当移动用户602试图访问商业应用604时开始。在响应中,在616处,商业应用604可以试图从安全代理应用606获得(例如,做出请求)会话和/或访问令牌。在618处,安全代理应用606可以向移动用户602呈现登入页以便请求用户证书(例如,用户ID、密码等等)。在响应中,在620处,移动用户602可以向安全代理应用606提供此类用户证书。在某些示例中,在622处,安全代理应用606然后可以通过经由网络612向REST服务器
608提供用户证书、属性、和/或上下文信息(例如,安全代理应用ID)试图注册和/或认证商业应用604。在一个示例中,在623处,REST服务器608可以认证移动用户602,并且生成或获得用于移动设备和/或移动用户602的用户和/或访问令牌。但是,在其它示例中,诸如服务提供者610之类的任何其它服务提供者可以执行认证。在这种情况下,在626处,REST服务器
608可以从服务提供者610接收用户和/或访问令牌。无论何种方式,在628处,REST服务器
608可以经由网络612向安全代理应用606提供用户和/或访问令牌。在630处,安全代理应用
606可以向商业应用604和/或向移动用户602提供用户和/或访问令牌。在632处,商业应用
604然后可以向移动用户602提供应用内容(例如,来自于服务器中的页面或者包含本地内容的页面)。
[0089] 图7描述结合如上所述的单点登录(SSO)管理执行的示例用户登入的简化的处理流程700。在某些示例中,简化的处理流程700可以由一个或多个计算设备执行,诸如但是不限于图1所述的用户设备104和/或身份接口服务计算机120。在此示例中,移动用户702可以访问移动设备,诸如但是不限于图1的用户设备104和/或图2的用户设备202。另外,在一些示例中,移动设备可以包括浏览器应用704(例如,网络浏览器)和/或安全代理应用706(例如,以上至少参考图1、2讨论的安全代理应用)。此外,在某些示例中,移动设备可以经由一个或多个网络712与网络服务器707(例如,被配置为提供网页的图1的网络应用110)、REST服务器708(或其它身份服务)、和/或一个或多个服务提供者710(例如,访问管理服务、身份服务、和/或托管用于移动设备的移动应用的数据的服务器)交互。如上所述,任何数量和/或组合的网络(有线和/或无线的)可以是适合的。
[0090] 在至少一个非限制示例中,处理流程700可以描述当移动用户702具体地使用移动设备的浏览器应用704时(即,与移动设备的原生的和/或商业应用相反,使用移动设备的网络浏览器)的情况。处理流程700可以在714处当移动用户702试图访问浏览器应用704时开始。在响应中,在716处,浏览器应用704可以经由网络712向网络服务器707传送此访问尝试。在有些情况下,在718处,网络服务器708可以向服务提供者710(例如,身份管理应用或服务)提供访问请求信息,以向服务提供者710指示认证可以在将来通信中被请求。在720处,服务提供者710可以经由网络712指示或指令浏览器应用704从移动用户702请求用户证书。在722处,至少基于某些配置,浏览器应用704可以向安全代理应用706重定向用户证书请求。在724处,安全代理应用706可以向移动用户702呈现登入页以便请求用户证书(例如,用户ID、密码等等)。在响应中,在726处,移动用户702可以向安全代理应用706提供此类用户证书。
[0091] 在某些示例中,在728处,安全代理应用706然后可以通过经由网络712向REST服务器708提供用户证书、属性、和/或上下文信息(例如,安全代理应用ID)试图注册和/或认证浏览器应用704。在一个示例中,REST服务器708可以认证移动用户702并且生成或获得用于移动设备和/或移动用户702的用户和/或访问令牌。但是,在其它示例中,诸如服务提供者710之类的任何其它服务提供者可以执行认证。在这种情况下,在730处REST服务器708可以将证书发送到服务提供者710,并且在732处从服务提供者710接收用户和/或访问令牌。无论何种方式,在734处,REST服务器708可以经由网络712向安全代理应用提供用户和/或访问令牌。在736处,安全代理应用706可以对服务提供者710做出网络观看或者其它方法调用以便注入cookie。在某些方面,在738处,安全代理应用706也可以重定向适当的信息到浏览器应用,指示哪些网页应当向移动用户702服务。在740处,浏览器应用704可以重定向此信息到网络服务器707。此外,在742处,网络服务器707可以向移动用户702提供请求的网页。
[0092] 图8-10示出了显示用于提供单点登录管理的各个处理800、900、和1000的简化的示例流程图。这些处理被作为逻辑流程图示出,其每个操作表示可以以硬件、计算机指令、或其组合实施的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上、当由一个或多个处理器执行时执行叙述的操作的计算机可执行指令。一般地,计算机可执行指令包括执行特定功能或执行特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不意欲被理解为是局限的,并且任何数目的描述的操作可以被以任何顺序和/或并行结合以执行处理。
[0093] 另外,某些、任何、或所有处理可以在配置有可执行指令的一个或多个计算机系统的控制下执行并且可以被实施为在一个或多个处理器上、由硬件、或其组合共同地执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)。如上所述,代码可以被存储在计算机可读存储介质上,例如,以包括由一个或多个处理器可执行的多个指令的计算机程序的形式。计算机可读存储介质可以是非瞬时的。
[0094] 在某些方面,图8的处理800可以由图1所述的一个或多个用户设备102和/或身份接口服务计算机120执行。处理800可以从802通过接收访问服务提供者的请求开始。请求可以从移动设备的第一应用接收。在某些方面中,第一应用可以是原生应用或浏览器应用。另外,在一些情况下,请求可以由移动设备的安全代理应用(例如,帮助应用和/或认证委托应用)接收到。在804处,处理800可以登入与第一应用相关联的用户(例如,移动设备的用户)。在某些示例中,响应于登入用户,在806处,处理800可以向第一应用提供用于访问服务提供者的令牌。处理800可以在808处通过向与用户相关联的移动设备的第二应用提供第二令牌结束。以这种方式,可以实现单点登录并且用户不需要被认证多次来经由多个应用访问多个服务提供者。
[0095] 图9示出了显示用于提供单点登录管理的特征的处理900的简化的示例流程图。在某些方面,图9所述的处理900可以由图1所述的一个或多个用户设备102和/或身份接口服务计算机120执行。处理900可以从902处通过接收访问第一远程应用开始的请求。远程应用可以是被配置为向移动应用或移动设备提供应用功能的服务器或其它计算机。在一些情况下,请求可以从移动设备的第一本地应用接收,本地应用被配置为通信或从远程应用接收内容。第一本地应用可以是“本地的”因为它由移动设备执行或驻留在移动设备中。在904处,处理900可以向远程认证提供者提供认证请求(例如,至少部分地基于访问请求)。在906处,处理900也可以接收用于访问第一远程应用的第一访问令牌。在一些情况下,第一访问令牌可以从远程认证提供者接收。在908处,处理900可以向第一本地应用提供第一访问令牌。在910处,处理900可以通过向移动设备的第二本地应用提供第二访问令牌结束。此第二访问令牌可以用于允许第二本地应用访问第二远程应用。在一些情况下,至少部分地基于用户、移动设备、和/或第一和/或第二本地应用的成功登入,处理900可以向第一和/或第二本地应用分别提供第一和/或第二访问令牌。
[0096] 图10示出了显示用于提供单点登录管理的特征的处理1000的简化的示例流程图。在某些方面,图10所述的处理1000可以由图1所述的一个或多个用户设备102和/或身份接口服务计算机120执行。处理1000可以在1002处通过从移动设备的第一本地应用接收请求访问第一远程应用的请求开始。如上所述,远程应用可以是网络服务、网络服务器、和/或被配置为向本地应用提供数据、处理、和/或服务的任何服务。在1004处,处理1000可以向远程认证提供者提供认证请求。在某些示例中,在1006处,处理1000也可以从远程应用接收用于访问第一远程应用的第一访问令牌。即,第一本地应用可以需要访问令牌以便访问第一远程应用,指示用户、移动设备、和/或本地应用已被认证。在1008处,处理1000可以向第一本地应用提供第一访问令牌。在某些示例中,在1010处,处理1000也可以从远程认证提供者接收用于访问第二远程应用的第二访问令牌。即,因为用户、移动设备、和/或本地应用已经被认证,因此远程认证设备可以主动提供用于访问特定信赖群(例如,信赖圈或信赖圈)内的其它远程应用的访问令牌。在1012处,处理1000可以从移动设备的第二本地应用中接收访问第二远程应用的请求。在此示例中,处理1000已经接收到用于访问第二远程应用的访问令牌。因此,处理1000可以在1014处通过向第二本地应用提供第二访问令牌来结束。
[0097] 说明性系统
[0098] 图11是示出了可以根据本公开的实施例的系统环境1100的组件的简化框图。如图所示,系统环境1100包括一个或多个客户端计算设备1102、1104、1106、1108,其被配置为操作诸如网络浏览器、专有客户端(例如,Oracle Forms)等之类的客户端应用。在各个实施例中,客户端计算设备1102、1104、1106、和1108可以与服务器1112交互。
[0099] 客户端计算设备1102、1104、1106、1108可以是通用的个人计算机(包括,例如运行各种版本Microsoft Windows和/或Apple Macintosh操作系统的个人计算机和/或膝上型计算机)、蜂窝电话机或PDA(运行诸如Microsoft Windows Mobile之类的软件和互联网、电子邮件、SMS、Blackberry、或使能的其他通信协议)、和/或运行各种商业上可用的UNIX或类似UNIX的操作系统(包括但不限于各种GNU/Linux操作系统)的工作站计算机。可替换地,客户端计算设备1102、1104、1106、和1108可以是能够通过网络(例如,下面描述的网络1110)通信的任何其它电子设备,诸如薄客户端计算机、使能互联网的游戏系统、和/或个人消息设备。虽然示出示范性系统环境1100具有四个客户端计算设备,但是可以支持任何数目的客户端计算设备。诸如具有传感器的设备等之类的其它设备可以与服务器1112交互。
[0100] 系统1100可以包括网络1110。网络1110可以是为本领域技术人员所熟知的任何类型的网络,其可以利用包括但不限于TCP/IP、SNA、IPX、AppleTalk等等的各种商业上可用的协议中的任何一个支持数据通信。仅仅例如,网络1110可以是诸如以太网、令牌环网和/或同样之类的局域网(“LAN”);广域网;包括但不限于虚拟专用网络(“VPN”)的虚拟网络;互联网;内部网;外部网;公用交换电话网(“PSTN”);红外线网络;无线网络(例如,在IEEE 802.11协议套、在本领域中已知的蓝牙协议、和/或任何其它无线协议中的任何一个下操作的网络);和/或这些和/或其他网络的任何组合。
[0101] 系统环境1100也包括一个或多个服务器计算机1112,其可以是通用计算机、专门服务器计算机(包括,仅仅例如PC服务器、UNIX服务器、中值服务器、大型计算机、安装在机架上的服务器,等等)、服务器场、服务器群、或任何其它适当的布置和/或组合。在各个实施例中,服务器1112可以被适配为运行在上文公开描述的一个或多个服务或软件应用。例如,服务器1112可以对应于用于根据本公开的实施例执行如上所述的处理的服务器。
[0102] 服务器1112可以运行包括上述讨论到中的任何一个的操作系统,以及任何商业上可用的服务器操作系统。服务器1112也可以运行各种附加服务器应用和/或中层应用中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器,等等。示范性数据库服务器包括但不限于来自于Oracle、Microsoft、Sybase、IBM等等那些商业上可用的。
[0103] 系统环境1100也可以包括一个或多个数据库1114、1116。数据库1114、1116可以位于各种位置。例如,一个或多个数据库1114、1116可以驻留在服务器1112本地(和/或存在于其中)的非瞬时存储介质。可替换地,数据库1114、1116可以远离服务器1112并且与服务器1112经由基于网络的或专用的连接进行通信。在一组实施例中,数据库1114、1116可以存在于为本领域技术人员所熟知的存储区域网(“SAN”)中。类似地,用于执行归属于服务器1112的功能的任何必需的文件可以视情况本地地和/或远程地存储在服务器1112上。在一组实施例中,数据库1114、1116可以包括关系数据库,诸如由Oracle提供的数据库,其被适配为响应于SQL格式化的命令存储、更新、并检索数据。
[0104] 图12是可以根据本公开的实施例使用的计算机系统1200的简化框图。例如服务器122和/或1212可以利用诸如系统1200之类的系统实施。计算机系统1200被示出为包括可以经由总线1524电子地耦接的硬件元件。硬件元件可以包括一个或多个中央处理单元(CPU)
1202、一个或多个输入设备1204(例如,鼠标、键盘等等)、以及一个或多个输出设备1206(例如,显示设备、打印机等等)。计算机系统1200也可以包括一个或多个存储设备1208。例如,存储设备1208可以包括诸如磁盘驱动器、光存储器设备、和诸如随机存取存储器(RAM)和/或只读存储器(ROM)之类的固态存储设备之类的设备,其可以是可编程的、闪速可更新的和/或同样的东西。
[0105] 计算机系统1200另外可以包括计算机可读存储介质读取器1212、通信子系统1214(例如,调制解调器、网卡(无线的或有线的)、红外线通信设备,等等)、和工作存储器1218,其可以包括如上所述的RAM和ROM设备。在一些实施例中,计算机系统1200也可以包括处理加速单元1216,其可以包括数字信号处理器(DSP)、专用的处理器,和/或同样的东西。
[0106] 计算机可读存储介质读取器1212还可以被连接到计算机可读存储介质1210,一起(并且可选地与存储设备1208结合)包括地表示远程、本地、固定、和/或可移除存储设备加上用于临时地和/或更永久地包含计算机可读信息的存储介质。通信系统1214可以允许数据与网络1212和/或如上参考系统1200所述的任何其它计算机交换。
[0107] 计算机系统1200也可以包括被显示为当前位于工作存储器1218内的软件元件,包括操作系统1220和/或其它代码1222,诸如应用(其可以是客户端应用、网络浏览器、中层应用、RDBMS等等)。在示范性实施例中,工作存储器1218可以包括可执行代码和用于依赖方和如上所述的公开授权有关的处理的关联数据架构。应当理解,计算机系统1200的可替换实施例可以具有与如上所述的许多变化。例如,也可以使用自定义的硬件和/或以硬件、软件(包括诸如小程序之类的可移植软件)、或两者实施特定元件。此外,可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。
[0108] 图13是示出了根据至少一个示例的单点登录管理装置1300的简化框图。可以由硬件、软件、或硬件和软件组合实施单点登录管理装置1300的块以实现本发明的原理。本领域技术人员将理解,图13中描述的块可以被组合或分成子块以实施如上所述的本发明的原理。因此,这里的描述可以支持这里描述的功能块的任何可能的组合或分离或者进一步定义。
[0109] 如图13所示,在一些实施例中,单点登录管理装置1300包括接收单元1301和提供单元。在其它实施例中,单点登录管理装置1300还包括确定单元1303。
[0110] 在一些实施例中,接收单元1301被配置为从第一应用接收与第二应用相关联的认证请求。提供单元1302被配置为向第一应用提供用于允许第二应用访问第一应用或第二应用可访问的服务提供者的访问令牌。确定单元1303被配置为至少部分地基于包括在认证请求中的证书确定用户什么时候被认证,并且其中该确定至少部分地基于从第三方服务中接收用户被认证的指示。
[0111] 优选地,第一应用包括移动设备的安全代理应用,安全代理应用被配置为为移动设备的第二应用和其它应用的至少一个提供单点登录。
[0112] 优选地,第一应用包括移动设备的原生应用,所述原生应用被配置为为移动设备的第二应用和其它应用的至少一个提供单点登录。
[0113] 优选地,原生应用被配置有嵌入的网络浏览器。
[0114] 图14是示出了根据另一个示例的单点登录管理装置1400的简化框图。可以由硬件、软件、或硬件和软件组合实施单点登录管理装置1400的块以实现本发明的原理。本领域技术人员将理解,图14中描述的块可以被结合或分成子块以实现如上所述的本发明的原理。因此,这里的描述可以支持这里描述的功能块的任何可能的组合或分离或者进一步定义。
[0115] 如图14所示,单点登录管理装置1400包括接收单元1401、登入单元1402、第一提供单元1403和第二提供单元1404。
[0116] 在一些实施例中,接收单元1401被配置为从第一应用中接收访问服务提供者的请求。登入单元1402被配置为登入与第一应用相关联的用户。第一提供单元1403被配置为向第一应用提供用于访问服务提供者的令牌。第二提供单元1404被配置为向与用户相关联的第二应用提供第二令牌。
[0117] 优选地,第一应用包括被配置为提供用于第二应用的单点登录的移动设备的安全代理应用。
[0118] 优选地,第二应用包括与网络应用服务提供者相关联的移动设备的浏览器应用、与应用服务提供者相关联的移动设备的原生应用、或配置为具有与混合应用服务提供者相关联的嵌入浏览器的原生应用的移动设备的混合应用。
[0119] 优选地,第一应用包括与网络应用服务提供者相关联的移动设备的浏览器应用,并且第二应用包括与应用服务提供者相关联的移动设备的原生应用。
[0120] 优选地,第一应用包括与应用服务提供者相关联的移动设备的原生应用。
[0121] 优选地,第二应用包括与网络应用服务提供者相关联的移动设备的浏览器应用。
[0122] 优选地,第二应用包括与第二应用服务提供者相关联的移动设备的第二原生应用。
[0123] 优选地,登入单元1402包括认证单元,其利用使用代表性状态转移(REST)方法调用的认证服务认证用户。
[0124] 优选地,向第二应用提供的第二令牌使得第二应用能够在用户没有提供登入与第二应用相关联的应用服务提供者的登入证书的情况下代表用户登入到与第二应用相关联的应用服务提供者。
[0125] 图15是示出了根据另一个示例的单点登录管理装置1500的简化框图。可以由硬件、软件、或硬件和软件组合实施单点登录管理装置1500的块以实现本发明的原理。本领域技术人员将理解,图15中描述的块可以被结合或分成子块以实现如上所述的本发明的原理。因此,这里的描述可以支持这里描述的功能块的任何可能的组合或分离或者进一步定义。
[0126] 如图15所示,单点登录管理装置1500包括第一接收单元1501、第一提供单元1502、第二接收单元1503、第二提供单元1504和第三提供单元1505。
[0127] 在一些实施例中,第一接收单元1501被配置为接收访问第一远程应用的请求,所述请求从移动设备的第一本地应用接收。第一提供单元1502被配置为向远程认证服务提供者计算机提供认证请求。第二接收单元1503被配置为接收用于访问第一远程应用的第一访问令牌。第二提供单元1504被配置为向第一本地应用提供第一访问令牌。第三提供单元1505被配置为提供用于访问第二远程应用的第二访问令牌,所述第二访问令牌向移动设备的第二本地应用提供。
[0128] 优选地,认证请求作为代表性状态转移(REST)方法调用向远程认证服务提供者提供。
[0129] 优选地,提供请求认证移动设备的用户的认证请求。
[0130] 优选地,第一访问令牌至少部分地基于用户的认证从远程认证服务提供者接收。
[0131] 优选地,单点登录管理装置1400还包括第三接收单元1506,其从远程认证服务提供者中接收第二访问令牌。
[0132] 优选地,至少响应于来自于第二本地应用的访问第二远程应用的请求向第二本地应用提供第二访问令牌。
[0133] 根据本发明的一方面,提供用于单点登录管理的方法,其包括:从第一应用接收与第二应用相关联的认证请求;并且向第一应用提供用于允许第二应用访问第一应用或第二应用可访问的服务提供者的访问令牌。
[0134] 根据本发明的另一个方面,提供用于单点登录管理的系统,其包括:用于从第一应用接收与第二应用相关联的认证请求的装置;和用于向第一应用提供用于允许第二应用访问第一应用或第二应用可访问的服务提供者的访问令牌的装置。
[0135] 根据本发明的一方面,还提供用于单点登录管理的方法,其包括:从第一应用接收访问服务提供者的请求;登入与第一应用相关联的用户;向第一应用提供用于访问服务提供者的令牌;并且向与用户相关联的第二应用提供第二令牌。
[0136] 根据本发明的一方面,还提供用于单点登录管理的系统,其包括:用于从第一应用接收访问服务提供者的请求的装置;用于登入与第一应用相关联的用户的装置;用于向第一应用提供用于访问服务提供者的令牌的装置;和用于向与用户相关联的第二应用提供第二令牌的装置。
[0137] 根据本发明的一方面,还提供用于单点登录管理的系统,其包括:用于接收访问第一远程应用的请求的装置,所述请求从移动设备的第一本地应用接收;用于向远程认证服务提供者计算机提供认证请求的装置;用于接收用于访问第一远程应用的第一访问令牌的装置;用于向第一本地应用提供第一访问令牌的装置;和用于提供用于访问第二远程应用的第二访问令牌的装置,所述第二访问令牌向移动设备的第二本地应用提供。
[0138] 用于包含代码、或部分代码的存储介质和计算机可读介质可以包括已知的或用在本领域中的任何适当的介质,包括存储介质和通信介质,诸如但是不限于在用于存储和/或发送诸如计算机可读指令、数据结构、程序模块、或其它数据之类的信息的任何方法或技术中实施的易失性的和非易失性的(非瞬时的)、可移除的和不可移除的介质,包括RAM、ROM、EEPROM、闪速存储器或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储器、数据信号、数据传输、或可以用于存储或发送期望的信息并可以由计算机访问的任何其它介质。
[0139] 虽然已经描述了公开的具体实施例,但是各种修改、改变、可替换结构、和相等物也涵盖在公开的范围内。本公开的实施例不局限于某些具体的数据处理环境内的操作,而是可以在多个数据处理环境之内任意操作。另外,虽然已经利用具体事务和步骤系列描述了本公开的实施例,但是对本领域技术人员应当清晰,本公开的范围不局限于描述的事务和步骤系列。
[0140] 此外,虽然已经利用硬件和软件的具体组合描述了本公开的实施例,但是应当承认硬件和软件的其它组合也在本公开的范围内。本公开的实施例可以仅仅以硬件、或仅仅以软件、或利用其组合执行。
[0141] 因此,说明书和附图应当被认为是说明性的,而不是限制的意义上的。但是,本领域普通技术人员将显然可知,在不脱离本发明的更宽的范围的情况下可以对其做出添加、减去、删除、和其它修改和变化。上面描述用于提供统计地触发的数据安排的说明性方法和系统。一些或所有这些系统和方法可以、而不必要至少部分地由诸如在以上图1-10中示出的那些架构执行。
[0142] 虽然以特定于结构特征和/或方法动作的语言描述了实施例,但是应当理解本公开不必然局限于描述的具体的特征或动作。相反地,具体的特征和动作被作为实施本实施例的说明性的形式公开。诸如“能”、“可能”、“可能”或“可以”之类的条件语言除非另有具体陈述、或在使用的上下文内理解,一般预期表达某些实施例可以包括某些特征、元素、和/或步骤,而其它实施例没有包括。因此,此类条件语言一般不预期意味着特征、元素、和/或步骤以一个或多个实施例所需的任何方式或一个或多个实施例一定地包括用于有或者没有用户输入或提示的情况下决定这些特征、元素、和/或步骤是否被包括或被以任何具体实施例执行的逻辑。