在整个云架构中扩展组织边界的制作方法

文档序号:7794347阅读:263来源:国知局
在整个云架构中扩展组织边界的制作方法
【专利摘要】本发明涉及在整个云架构中扩展组织边界。一种云计算方案的信息共享范例能够针对云资源实现灵活的组织边界。云服务顾客管理其自己的组织边界,但能够通过使其拥有的云资源与域名集合关联(所述域名集合可与对组织可能愿意与使用云环境的其它组织共享的云资源的请求关联),以及通过确保对以这种方式共享的资源的任何这种请求与已由资源拥有组织定义(或以其它方式与资源拥有组织关联)的一个或多个消息处理策略关联,来选择性地扩展该边界。根据与请求关联的域名,组织拥有的云资源(甚至标记为“仅内部”的云资源)可被选择性地与使用云环境的一个或多个其它组织共享。针对共享的资源实施消息处理策略。
【专利说明】在整个云架构中扩展组织边界
【技术领域】
[0001]本公开一般地涉及在云计算操作环境中扩展组织边界,在所述云计算操作环境中,在可配置计算资源的共享池中托管资源。
【背景技术】
[0002]正在出现的信息技术(IT)传送模型是云计算,通过云计算,共享的资源、软件和信息被按需地经由互联网提供给计算机和其它装置。云计算能够显著降低IT成本和复杂性,同时改进工作负载优化和服务传送。利用这种方案,能够托管应用实例并且可从经由HTTP通过传统的Web浏览器可访问的基于互联网的资源获得应用实例。
[0003]当前,利用云为其顾客群提供解决方案服务的组织也希望实现组织边界的概念,所述组织边界将允许它们控制对信息的访问以及其支持者之间的交互。“共同体云(community cloud)”的概念将使许多不同类型的行业的公司能够利用云技术扩展并且转换其业务。因此,例如,严重依赖独立代理机构作为到达顾客的渠道的基于代理的保险公司可能对在限制哪些代理能够与链中的其他代理谈话的同时共享资源和服务(使用云)感兴趣。尽管一些基于云的解决方案在定义组织边界的范围时为其用户提供应用特有的灵活性,但仍然需要提供更健壮的解决方案,其中可在整个云中充分扩展组织边界的概念以使得用户能够控制对信息的访问并且围绕跨越这些边界的交互实施策略。

【发明内容】

[0004]本公开描述一种用于在整个基于云的架构中扩展组织边界的方法和系统。该技术提供一种能够针对云资源实现灵活的组织边界的云计算解决方案的新的信息共享范例。云服务顾客管理他们自己的组织边界,但能够通过把他们拥有的云资源与域名集合关联(所述域名集合可与针对该组织可能愿意与正使用云环境的其它组织共享的云资源的请求关联),以及通过确保针对以这种方式共享的资源的任何这种请求与已由资源拥有组织定义(或以其它方式与资源拥有组织关联)的一个或多个消息处理策略关联,来选择性地扩展该边界。一组织所拥有的云资源(甚至标记为“仅内部”的云资源)可被选择性地与使用云环境的一个或多个其它组织共享。针对共享的资源实施消息处理策略。
[0005]在一个实施例中,在云环境中实现一种扩展组织边界的方法,其中云资源由多个组织共享并且需要针对一个或多个云资源扩展组织的边界。在这种环境中,云资源被标记为由在云环境中操作的多个组织之一拥有。典型地,基于一个或多个因素分派所有权,诸如资源的业务所有权、资源的管理责任或者由分派给特定组织的拥有用户对云资源的创建。一个或多个相应的域名集合被登记到所述多个组织中的每个组织,并且来自分派给相应组织的用户的消息包括分派给该相应组织的域名集合中的一个域名。每个组织也可建立针对云资源应用于组织(并且可选地应用于组织拥有的各对象)的单独的消息处理策略。根据该方法,当用户请求允许访问一云资源时,是否允许这种访问以及如何允许这种访问取决于该云资源的所有权(通过标记来确定)以及由请求用户在提出访问请求时使用的域名。如果基于所有权和域名检查,向用户提供对云资源的访问,则也应用合适的消息处理策略。
[0006]上述方案能够把组织边界概念嵌入在基于云的应用中,同时能够围绕跨越这些边界的交互实施各种策略。
[0007]前面已概述本发明的一些更相关的特征。这些特征应该被解释为仅是说明性的。如下文所述,通过以不同方式应用公开的发明或者通过修改本发明,能够获得许多其它有益的结果。
【专利附图】

【附图说明】
[0008]为了更完全地理解本发明及其优点,现在参照下面结合附图进行的说明,在附图中:
[0009]图1描述可实现说明性实施例的示例性方面的分布式数据处理环境的示例性方框图;
[0010]图2是可实现说明性实施例的示例性方面的数据处理系统的示例性方框图;
[0011]图3描述根据本发明的实施例的可扩展组织边界的云计算环境的抽象模型层;
[0012]图4是示出已知的云计算环境和分配给部署的顾客应用的云资源的示例性方框图;
[0013]图5示出使用云服务的组织如何根据本公开的技术来扩展其组织边界;
[0014]图6示出用于配置云服务以提供功能性的代表性步骤;
[0015]图7是示出如何针对配置处理用户请求的处理流程;以及
[0016]图8是根据本公开的用于配置并且管理消息处理策略的策略管理系统。
【具体实施方式】
[0017]现在参照附图并且特别地参照图1-2,提供可实现本公开的说明性实施例的数据处理环境的示例性示图。应该理解,图1-2仅是示例性的,而非意图断言或暗示关于可实现公开的主题的各方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可对描述的环境做出许多修改。
[0018]客户端-服务器模型
[0019]现在参照附图,图1描述可实现说明性实施例的各方面的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可包括可实现说明性实施例的各方面的计算机的网络。分布式数据处理系统100包含至少一个网络102,网络102是用于提供分布式数据处理系统100内连接在一起的各种装置和计算机之间的通信链路的介质。网络102可包括诸如有线、无线通信链路或光纤缆的连接。
[0020]在描述的例子中,服务器104和服务器106与存储单元108 —起连接到网络102。另外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在描述的例子中,服务器104把数据(诸如,引导文件、操作系统映像和应用)提供给客户端110、112和114。在描述的例子中,客户端110、112和114是服务器104的客户端。分布式数据处理系统100可包括未示出的另外的服务器、客户端和其它装置。
[0021]在描述的例子中,分布式数据处理系统100是具有网络102的互联网,代表使用传输控制协议/互联网协议(TCP/IP)协议组彼此通信的全球网络和网关的集合。在互联网的中心处是主节点或主机计算机之间的高速数据通信线路的主干,由对数据和消息进行路由的数以千计的商业、政府、教育和其它计算机系统构成。当然,分布式数据处理系统100也可以实现为包括许多不同类型的网络,诸如例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1意图用作例子,而非用作对公开的主题的不同实施例的架构限制,因此,图1中显示的特定元件不应视为限制可实现本发明的说明性实施例的环境。
[0022]现在参照图2,显示可实现说明性实施例的数据处理系统的方框图。数据处理系统200是计算机(诸如,图1中的服务器104或客户端110)的例子,用于说明性实施例的实现各处理的计算机可用程序代码或指令可位于该计算机中。在这个说明性例子中,数据处理系统200包括通信结构202,通信结构202提供处理器单元204、内存206、持久存储器208、通信单元210、输入/输出(I/O)单元212和显示器214之间的通信。
[0023]处理器单元204用于执行可载入到内存206中的软件的指令。根据特定实现方式,处理器单元204可以是一组的一个或多个处理器或者可以是多处理器核。另外,可使用主要处理器与次要处理器存在于单一芯片上的一个或多个异类处理器系统实现处理器单元204。作为另一说明性例子,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(SMP)系统。
[0024]内存206和持久存储器208是存储装置的例子。存储装置是能够临时地和/或持久地存储信息的任何硬件。内存206在这些例子中可以是例如随机存取存储器或任何其它合适的易失性或非易失性存储装置。持久存储器208可根据特定实现方式采用多种形式。例如,持久存储器208可包含一个或多个部件或装置。例如,持久存储器208可以是硬盘驱动器、闪存、可重写光盘、可重写磁带或者以上各项的某组合。持久存储器208使用的介质也可以是可移动的。例如,可移动硬盘驱动器可用于持久存储器208。
[0025]通信单元210在这些例子中提供与其它数据处理系统或装置的通信。在这些例子中,通信单元210是网络接口卡。通信单元210可通过使用物理和无线通信链路中的任一项或二者来提供通信。
[0026]输入/输出单元212允许与可连接到数据处理系统200的其它装置的数据输入和输出。例如,输入/输出单元212可通过键盘和鼠标提供用于用户输入的连接。另外,输入/输出单元212可把输出发送给打印机。显示器214提供把信息显示给用户的机构。
[0027]用于操作系统和应用或程序的指令位于持久存储器208上。这些指令可载入到内存206中以由处理器单元204执行。不同实施例的处理可由处理器单元204使用可位于内存(诸如,内存206)中的计算机执行指令来执行。这些指令称为可由处理器单元204中的处理器读取并执行的程序代码、计算机可用程序代码或者计算机可读程序代码。不同实施例中的程序代码可被包含于不同的物理或有形计算机可读介质,诸如内存206或持久存储器208上。
[0028]程序代码216以功能形式位于选择性地可移动的计算机可读介质218上并且可载入到或传送到数据处理系统200上以由处理器单元204执行。程序代码216和计算机可读介质218在这些例子中形成计算机程序产品220。在一个例子中,计算机可读介质218可为有形形式,诸如例如光盘或磁盘,所述光盘或磁盘被插入或放入到作为持久存储器208的一部分的驱动器或其它装置中以传送至存储装置(诸如,作为持久存储器208的一部分的硬盘驱动器)上。以有形形式,计算机可读介质218也可采用连接到数据处理系统200的持久存储器的形式,诸如硬盘驱动器、拇指驱动器或闪存。计算机可读介质218的有形形式也被称为计算机可记录存储介质。在一些情况下,计算机可记录介质218无法移除。
[0029]替代地,程序代码216可通过通向通信单元210的通信链路和/或通过与输入/输出单元212的连接而被从计算机可读介质218传送到数据处理系统200。在说明性例子中,通信链路和/或连接可以是物理的或者无线的。计算机可读介质也可采用非有形介质的形式,诸如包含程序代码的通信链路或无线传输。针对数据处理系统200示出的不同部件不意味着提供对可实现不同实施例的方式的架构限制。可在包括除针对数据处理系统200示出的部件之外的部件或者替代所述部件的部件的数据处理系统中实现不同的说明性实施例。图2中显示的其它部件能够不同于显示的说明性例子。作为一个例子,数据处理系统200中的存储装置是可存储数据的任何硬件设备。内存206、持久存储器208和计算机可读介质218是有形形式的存储装置的例子。
[0030]在另一例子中,总线系统可用于实现通信结构202并且可包括一个或多个总线(诸如,系统总线或输入/输出总线)。当然,可使用提供附接到总线系统的不同部件或装置之间的数据的传送的任何合适类型的架构实现总线系统。另外,通信单元可包括用于发送和接收数据的一个或多个装置,诸如调制解调器或网络适配器。另外,存储器可以是例如内存206或者高速缓存,诸如在可存在于通信结构202中的接口和存储控制器集线器中找到的高速缓存。
[0031]可以按照一种或多种编程语言的任何组合编写用于执行本发明的操作的计算机程序代码,所述编程语言包括:面向对象的编程语言,诸如Java、Smalltalk、C++等;和常规的过程编程语言,诸如“C”编程语言或类似编程语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上并且部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以(例如,使用互联网服务提供商通过互联网)连接到外部计算机。
[0032]本领域普通技术人员将会理解,图1-2中的硬件可根据实现方式而不同。除图1-2中描述的硬件之外或者替代于所述硬件,可使用其它内部硬件或外围装置,诸如闪存、等同的非易失性存储器或光盘驱动器等。此外,在不脱离公开的主题的精神和范围的情况下,说明性实施例的处理可应用于除前述SMP系统之外的多处理器数据处理系统。
[0033]诸如图1中示出的标准的客户端-服务器范例是这样的范例:客户端机器与在一组的一个或多个机器上执行的可访问互联网的基于Web的门户通信。特别地,端用户操作能够访问并且与门户交互的可连接互联网的装置(例如,桌上型计算机、笔记本计算机、互联网使能的移动装置等)。典型地,每个客户端或服务器机器是包括硬件和软件的诸如图2中示出的数据处理系统,并且这些实体经由网络(诸如,互联网、内联网、外联网、专用网络)或任何其它通信介质或链路彼此通信。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用以及一个或多个实用程序。数据处理系统上的应用为Web服务提供固有的支持,非限制性地包括对HTTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。可从万维网联盟(W3C)获得关于SOAP、WSDL、UDDI和WSFL的信息,W3C负责开发并且维护这些标准;可从互联网工程工作小组(IETF)获得关于HTTP和XML的进一步信息。假设熟悉这些标准。
[0034]作为另外的背景,这里使用的“断言(assertion)”提供某一动作的间接证据。断言可提供身份、认证、属性、授权决定或其它信息和/或操作的间接证据。认证断言提供不是认证服务而是听到过认证服务的实体执行的认证的间接证据。如本领域所知,安全断言标记语言(SAML)断言是可与本发明一起使用的可能断言格式的例子。SAML已由结构化信息标准推进组织(OASIS)发布,OASIS是非盈利全球联盟。如下,在“Assertions andProtocol for the OASIS Security Assertion Markup Language (SAML),,(CommitteeSpecification 01, 05/31/2002)中描述了 SAML0
[0035]安全断言标记语言(SAML)是用于交换安全信息的基于XML的框架。这种安全信息被以关于对象的断言的形式表示,其中对象是具有某一安全域中的身份的实体(人类或计算机)。对象的典型例子是由其在特定互联网DNS域中的电子邮件地址识别的人。断言能够传达关于由对象执行的认证动作的信息、对象的属性和关于对象是否被允许访问某些资源的授权决定。断言被表示为XML构造并且具有嵌套结构,由此单个断言可包含关于认证、授权和属性的几种不同的内部声明。要注意,包含认证声明的断言仅描述以前发生的认证的动作。断言由SAML管理机构(也就是说,认证管理机构、属性管理机构和策略决定点)发出。SAML定义这样的协议,通过该协议,客户端能够向SAML管理机构请求断言并且从SAML管理机构获得响应。由基于XML的请求和响应消息格式构成的这个协议能够被绑定到许多不同的基础通信和传输协议;SAML当前定义经由HTTP至SOAP的一种绑定。SAML管理机构在创建其响应时能够使用各种信息源,诸如作为请求中的输入而接收的外部策略存储和断言。因此,虽然客户端总是消费断言的同时,但是SAML管理机构既能够是断言的生产者又能够是断言的消费者。
[0036]SAML规范指出:断言是提供由发布者做出的一个或多个声明的信息的包。SAML允许发布者做出三种不同的断言声明:认证,其中在特定时间通过特定手段认证指定的对象;授权,其中允许指定的对象访问指定的资源的请求被准许或拒绝;和属性,其中指定的对象与提供的属性关联。
[0037]认证是验证由用户或代表用户提供的一组凭证(credential)的过程。通过检验用户知道的某事物、用户具有的某事物或用户作为的某事物(即,关于用户的某物理特性)来完成认证。用户知道的某事物可包括共享的秘密,诸如用户的口令,或者通过检验仅特定用户知道的某事物,诸如用户的密码密钥。用户具有的某事物可包括智能卡或硬件令牌。关于用户的某物理特性可包括生物测定输入,诸如指纹或视网膜图。应该注意的是,用户通常是(但不一定是)自然人;用户能够是机器、计算装置或使用计算资源的其它类型的数据处理系统。还应该注意的是,用户通常拥有单个唯一标识符,但并不一定拥有单个唯一标识符;在一些情形下,多个唯一标识符可与单个用户关联。
[0038]认证凭证是在各种认证协议中使用的一组挑战/响应信息。例如,用户名和口令组合是最熟悉的认证凭证的形式。其它形式的认证凭证可包括各种形式的挑战/响应信息、公钥基础设施(PKI)证书、智能卡、生物测定等。认证凭证不同于认证断言:认证凭证由用户提供作为与认证服务器或服务的认证协议序列的一部分,而认证断言是随后在必要时在实体之间传送的关于用户的认证凭证的成功提供和验证的声明。
[0039]云计算模型[0040]作为另外的背景,云计算是用于,针对能够以最少的管理工作或与服务提供商的交互迅速提供和释放的可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储器、应用、虚拟机和服务)的共享池,实现方便、按需的网络访问的服务传送模型。这个云模型可包括至少五个特性、至少三个服务模型和至少四个部署模型,在Peter Mell和TimGrance 的“Draft NIST Working Definition of Cloud Computing” (2009 年 10 月 7 日)中对所有这些进行了更具体的描述和定义。
[0041]特别地,下面是典型特性:
[0042]按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0043]广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户端平台或厚客户端平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
[0044]资源池:提供者的计算资源被归入资源池并通过多租户(mult1-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0045]迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0046]可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0047]服务模型如下:
[0048]软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户端接口(例如基于网络的电子邮件)从各种客户端设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0049]平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0050]基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0051]部署模型如下:
[0052]私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0053]共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0054]公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0055]混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0056]云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0057]云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12 —起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户端、厚客户端、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等
坐寸ο
[0058]计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0059]现在参考图3,其中显示了云计算环境50 (图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
[0060]硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如IBM ?zSeriA ?系统;基于RISC (精简指令集计算机)体系结构的服务器,例如IBM pSeries?系统;IBM xSeries?系统;IBM BladeCenter ?系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM WebSphere?应用服务器软件;数据库软件,例如 IBM DB2,?数据库软件。(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
[0061]虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0062]在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能--为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
[0063] 工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及其它。
[0064]应该预先理解,虽然本公开包括关于云计算的详细描述,但这里记载的教导的实现方式不限于云计算环境。相反,能够结合现在已知或以后开发的任何其它类型的计算环境实现本发明的实施例。
[0065]因此,代表性云计算环境具有一组高级功能部件,该组高级功能部件包括前端身份管理器、业务支持服务(BSS)功能部件、操作支持服务(OSS)功能部件和计算云部件。身份管理器负责与请求客户端对接以提供身份管理,并且可利用一个或多个已知系统(诸如,可从IBM公司(Armonk, New York)购得的Tivoli联合身份管理器(TFIM))实现这个部件。在合适的情况下,TFM可被用于向其它云部件提供F-SS0。业务支持服务部件提供某些管理功能,诸如计帐支持。操作支持服务部件被用于提供其它云部件(诸如,虚拟机(VM)实例)的供应和管理。云部件代表主要计算资源,主要计算资源通常是被用于执行可经由云访问的目标应用410的多个虚拟机实例。一个或多个数据库被用于存储目录、日志和其它工作数据。所有这些部件(包括前端身份管理器)位于云“内”,但这不是必要的。在替代的实施例中,身份管理器可在云的外部操作。
[0066]仅作为例子,部署在云中的代表性企业应用是诸如IBM? SmartCloucK以前称为LotusLive)的客户端-服务器应用,其提供在容易使用的基于web的环境中组合web会议、消息发送和合作服务与社交联网能力的云传送的一套技术。作为IBM? SmartCloud的组件,Notes?提供全功能的电子邮件、日历、联系人管理和即时消息发送。用户能够以许多方式(诸如,使用web浏览器或“富”客户端应用(诸如,Notes富客户端))直接经互联网访问服务。使用这个服务,企业在云服务中布置其电子邮件、日历和/或合作基础设施,并且用户使用Notes客户端访问其电子邮件,执行日历操作,或者方便在线合作。在代表性实施例中,Notes富客户端是版本8.5.2或更高。
[0067]以上例子(使用IBM SmartCloud)仅是代表性的。以下描述的技术不限于与部署在云环境内的特定应用一起使用。
[0068]图4示出在应用部署时的应用的代表性实施例。在这个实施例中,云提供商400包括一组公共管理平台部件。这些部件包括身份管理器402、云BSS功能404和云OSS功能406的一个或多个实例,以上参照图3描述了所有这些部件。计算云408包括提供计算基础设施(包括应用使用的存储器410)的虚拟机实例。在这个例子中,一组公共管理平台部件还包括:pam_ldap模块407,其提供用于使Linux或UNIX服务器和工作站针对LDAP目录进行认证的装置;目录集成器模块(TDI)509,其变换并且同步位于异类的目录、数据库、文件、合作系统和应用中的身份数据;LDAP目录服务412 ;和安全令牌服务(未示出)。安全令牌服务使用Web Services Trust (Web服务信任,WS-Trust)的安全消息发送机制,为安全令牌的发放、交换和验证定义另外的扩展。WS-Trust是通过定义请求/响应协议来实现安全令牌互操作性的OASIS标准。WS-Trust协议允许Web服务客户端向某一受信任管理机构请求交换特定安全令牌与另一安全令牌。为此,WS-Trust客户端411形成公共管理的一部分并且对接到顾客的LDAP 414(通过顾客侧WS-Trust客户端),如图中所示。在数据库420中支持顾客的外部数据。该公共管理平台还包括数据仓库405、日志数据库417和共享LDAP 415。经由web浏览器401或者经由“富”客户端(S卩,支持直接访问客户端的机器,诸如CIFS(等)),提供客户端访问。如图中所示,通常,身份管理器部件402经由安全HTTP对接到云计算基础设施,而通常富客户端经由CIFS对接到存储器410。
[0069]对于将具有由云提供商400管理的U/P的那些用户,其F-SSO SAML断言可包括U/P,或者它可仅包括用户名;在任一情况下,云提供商向用户提供简单的交互以建立用于访问云服务的云侧口令。用户随后在云LDAP 412创建帐户,并且该帐户被标记为“本地认证”用户,并且用户的口令也由LDAP管理。当用户尝试访问存储器410时,pam_ldap模块407拦截U/P并且尝试验证它们。在这种方案中,代理服务器(诸如,TDI 409)是这个U/P验证请求的接收者。代理服务器将首先确定这是否是本地用户(并且因此在本地认证);如果这是本地用户,则代理服务器尝试针对本地LDAP 412验证U/P。然而,如果该用户不是“本地”用户,则代理服务器产生WS-Trust请求,并且使用WS-Trust客户端411向用户的身份提供商(顾客LDAP414)请求用户口令的验证。在这种方案中,不需要云提供商管理用户的口令,但对于不希望建立完全代理服务器解决方案的顾客,仍然可这样做。在以上例子中,WS-Trust的使用仅是代表性的。
[0070]在整个云中扩展组织边界
[0071]利用以上背景,现在描述本文的主题。
[0072]这里所使用的“组织”通常是开展某类型的商业、非商业或政府活动的实体。典型的组织是商业实体,但这不是限制。
[0073]如上所述,本公开使使用云服务的组织能够针对其拥有或控制的云资源扩展其组织边界。在这种方案中,并且如图5中所示,假设云服务500正被用于由标号502a-n指定的多个云服务顾客。每个云服务器顾客502具有通常由一个或多个组织构造定义的关联的组织边界504,所述组织构造包括但不限于用户或组身份、计算资源(诸如,在公司内以及在云的外面的服务器或服务)和对象(诸如,应用、文件、数据等)。当然,组织边界504的性质和范围根据组织的类型、组织所在的行业和其它因素而不同。在本公开的上下文中,使用云服务500的组织502希望针对其“拥有”(如以下所定义)的至少一个云资源以及针对也使用该云服务的至少一个其它组织,“扩展”其组织边界。在示例性情形中,云服务顾客502b已扩展其组织边界504b,以使得该边界与一个或多个其它云服务顾客(即,一个或多个其它组织)交叠。通过以这种方式扩展其组织边界,组织502b和所述一个或多个其它云服务顾客构成针对基于云的应用的云“共同体”。将会看出,把组织概念嵌入到应用中并且围绕跨越新的(即,扩展的)边界的交互实施各种策略的这种方案提供显著优点。
[0074]这里所使用的术语“扩展”当与组织边界相关时,可被视为包括已有边界的任何修改或改变,该修改或改变便于原本被视为由使用该服务的特定组织“拥有”的云资源的共享。这里所使用的术语“拥有”当与云资源相关时,表示下面的一项或多项:资源的商业所有权、资源的管理责任、和/或云资源的创建。可由分派给特定组织的特定拥有用户执行创建。词语“所有者”也可以指控制或管理资源的组织。“云资源”通常是诸如数据库、文件系统、文件夹、文件、给定时间等的对象,但它也可以是某其它计算资源,诸如应用、实用程序、工具、程序、执行线程等。与云服务顾客关联的“组织边界”由云服务顾客拥有的云资源定义。
[0075]根据本公开,并且如图6中所示,首先“配置”或提供组织边界。因此,在步骤600中,并且对于一组云资源中的每个云资源,云资源被标记为由在该环境中操作的多个组织之一拥有。可针对所有的云资源或其某一子集执行该步骤。在步骤602中,并且对于在该环境中操作的所述多个组织中的一个或多个组织,登记一组的一个或多个域名。可针对每个组织(或可实现描述的功能的组织的某一定义的子集)执行步骤602。来自与使用云服务的相应组织关联的用户的消息包括与该相应组织关联的所述一组的一个或多个域名中的域名。在步骤604,并且对于在该环境中操作的所述多个组织中的一个或多个组织,提供或配置消息处理策略。这里所使用的“消息处理策略”是要针对由组织拥有的云资源应用的一组的一个或多个规则(例如,定义动作、条件、限制等)。可按照机器可读语言(诸如,XML)表示消息处理策略。典型地,消息处理策略识别特定云资源如何被允许在组织外部在云环境内被共享。几个非限制性例子是以下阐述的各种消息处理策略。
[0076]存在配置或提供图6中的步骤600、602和604中所需的信息的许多方式。当然,这些步骤可按照任何次序执行,或者并发地执行。例如,被允许的用户可使用基于web的配置、经由编程接口等提供这种信息。信息可被从一个或多个外部源提供给云服务。
[0077]图7示出用户请求访问云资源的典型用例。根据本公开,用户是否被允许访问云资源取决于在图6中提供的信息。因此,根据哪个组织拥有云资源、与用户关联(并且与请求关联)的域名和与云资源关联的消息处理策略,确定用户是否被允许访问以及在什么条件下用户被允许访问。例程假设已如前所述配置了组织边界信息。例程在步骤700开始于用户请求访问与组织边界可被扩展的应用有关的云资源。在步骤702,确定是否允许访问该云资源。如果确定的结果是否定的,则返回错误响应或其它这种通知(并且拒绝访问);这是步骤704。然而,如果允许访问该云资源,则例程在步骤706继续执行以获得适用的消息处理策略。在步骤708,应用消息处理策略。例程随后在步骤710继续执行以使请求用户能够访问云资源。步骤710还可包括:把信息提供给请求用户,在消息处理策略中定义了该信息。每次云资源在所有者外部被共享时,第一次云资源被共享时,第一次云资源被与“新”公司中的用户共享时等等,可调用图7中示出的处理。也可在策略中定义关于调用检查的频率的确定。
[0078]适用于云资源的特定消息处理策略可由策略管理系统(诸如,IBM Tivoli策略管理器)定义并且管理。使用这种类型的工具,拥有公司能够定义:能够随后被应用于用户/订户(或关联的单次登录或身份提供商)的策略;启用和禁用对某些用户的访问或以其它方式提供观看、复制或其它使用限制的策略;提供特定使用公告或条款的策略;提供可配置的响应的策略;等等。对于控制(或以其它方式使得处于每个公司策略下)可能有用的其它项是反垃圾邮件(ant1-spam)设置。消息处理策略的性质和类型将取决于拥有公司、云资源、组织边界将要被扩展的程度等。
[0079]下面的例子示出:根据本公开,组织可如何扩展其边界以方便跨越关联的组织的云资源共享。这些例子不是限制性的。
[0080]在第一示例情形中,由拥有公司对对象进行标记(其中这种标记可被从最初创建者的公司传播,不管实际所有者或管理者或其他人/角色如何)。拥有公司已声明一组域名(诸如,在电子邮件中使用的域名),并且这些域名也可与非订购用户关联(能够使这种用户被视为“在公司中”)。根据本公开,向服务登记这些域中的一个或多个,也许自动检查:在登记的域实际上由公司管理者控制。然后,当提出对对象的请求时,确定该请求与域名之一关联。如果该请求与域名之一关联,则可允许访问请求,执行适用的消息处理策略。在这个例子中,假设消息处理策略包括由订户和非订户允许访问的条件。在非订购用户的情况下,例如,关联的消息处理策略可能规定:如果与响应关联的消息(诸如,对象的URL)包括确保用户仅能够受限地访问对象的现时(nonce)或其它一次性使用代码,则对象仅能够响应于请求而被传送。这使对象能够被与组织的成员(如域名所指示)和其他非订购用户共享。考虑这些非订购用户的另一方式是:公开的技术使这种用户能够被视为“在公司中”,但仅针对在适用的消息处理策略中阐述的条件。
[0081]作为第二例子,如果请求用户在拥有公司外部但请求源自允许的域(如登记的域名之一中所反映),则消息处理策略执行允许访问云资源的请求处理策略。然而,在这个例子中,希望保护请求用户的隐私,但仍然提供请求事件的准确日志。在这种情况下,消息处理策略还被构造为使系统记录活动,但以唯一方式记录活动。特别地,并且根据该策略,当写入日志条目时,请求用户的名字被剥除(或以其它方式掩蔽)。然而,对象拥有公司的日志条目包括与请求用户关联的域,并且在对象拥有公司的日志文件中输入用户的组织名。
[0082]在另一示例情形中,云资源被标记为“仅内部”。典型地,和与对象关联的公司外部的用户共享资源的尝试将被拒绝。然而,使用本公开的方案,与来自允许的域(或子域)的行动者关联的一个或多个域(或子域)名被登记,这具有扩展可获得允许的对资源的访问的、对象拥有公司中的身份的效果。当以这种方式“在外部”共享对象时,消息处理策略可指定要被显示给请求用户的文本(或某其它消息或通知)。该文本也可被定制,或者它可以是默认文本,例如由对象拥有公司指定并且在对象被共享给用户时伴随对象的文本。因此,例如,该文本可解释或阐述关于信息的公司策略,并且该策略可包括重新共享限制。定制的文本可根据用户共享是在公司中还是在公司外部而不同。如果请求用户在公司外部,则策略也可识别对象拥有公司中的人以向其通知共享事件。
[0083]作为另一变型,消息处理策略可能要求:在允许对云资源的最终访问之前,采取特定用户行动(例如,检查使用条件和给出这种检查的确认)。
[0084]作为另一变型,消息处理策略还可配置系统以把外部共享的通知提供给实体(诸如,对象拥有公司的系统管理员、云服务管理员),提供给由用户指定的内部用户或某一其他人或实体。这种通知可能还要求在能够访问资源之前任何这种批准者提供预先批准,或者它能够使被通知的人在某一条件下撤销或拒绝访问等。
[0085]作为另一变型,并且如果系统支持云资源的重新共享,则当对于在公司外部或与不在登记的域的列表上的域关联的用户共享特定资源时,能够禁用重新共享。
[0086]作为仅为一个公司的成员(或非附属客人)的用户的扩展是使“角色”与用户关联,然后在与另一公司交互时使该角色代表该用户。这可以是这种角色的明确承担(“我现在正在访问公司Y”)或隐含承担(“当我与公司Y拥有的对象或视图交互时”)。在用户能够成为组织的公司的访问者之前,组织可具有管理(或其它)批准的过程。特定策略当然可不同。例如,该过程可涉及费用或其它设置(例如,能够针对访问者的编号或等级对公司收费,允许来自另一公司Y的访问者的公司X能够对公司Y收费,等等)。
[0087]当处于访问者角色时,用户创建的对象可被视为由正被访问的公司拥有。这允许配额或其它度量被一致地应用于托管对象的公司。在根据本公开的技术扩展了一个或两个组织边界的情况下,两个(或者如果超过两个,则所有)公司都可具有关于当从系统删除用户时(或者如果其对象被去除或分派给另一用户)发生什么事情的策略。多策略引擎可被用于这种策略的配置,并且必须仔细地完成这种策略的实施以确保对象所有权保持合适。
[0088]可(再一次通过策略)提供需要来自多个公司的对象的操作以要求用户执行某些操作或遵循某些过程(例如,利用合适的剥除、通知和限制,从另一公司克隆对象)。例如,仅当所有者在X公司和Y公司都具有批准的角色时,才能完成从公司X至公司Y克隆的文件,并且新文件首先被删除任何评论或其它元数据。或者,文件自身可在每个公司的评论和元数据(包括访问控制)保持完整的情况下被共享。
[0089]优选地,“内部”活动的概念保持传统含义,意味着“内部”是指其本公司是对象拥有公司的订户。
[0090]如上所述,特定消息处理策略可实施任何类型的条件或限制,或者提供任何类型的通知。一般地,如图8中所示产生并且实施消息处理策略。特别地,图8示出根据本公开的可被用于配置并且实施特定消息处理策略的代表性企业策略管理系统800。可跨越在诸如图1中示出的计算环境中操作的一个或多个机器来实现系统800。典型地,该系统包括策略管理点(PAP)802、策略决定点(PDP)804和策略实施点(PEP)806。通常,策略管理点802被用于定义策略,策略可被指定为一组XACML策略表达式,诸如云资源消息处理策略。这个策略可使用从用户储存器808提供的主题属性以及从策略信息点(PIP)SlO接收的运行时和环境数据。策略决定点(PDP) 804接收相似信息并且对从策略实施点(PEP) 806接收的XACML策略查询做出响应,以针对对象并且针对由该对象发起的特定动作实施策略。PDP804执行策略决定。
[0091]能够在公共云、私有云或混合(公共-私有)云的环境下使用该技术。
[0092]描述的主题具有许多优点。该方案的主要优点能够使组织边界概念嵌入在基于云的应用中,同时能够围绕跨越这些边界的交互实施各种策略。如前所述,云服务顾客管理其自己的组织边界,但能够通过使其拥有的云资源与域名集合关联(所述域名集合可与针对该组织可能愿意与正使用云环境的其它组织共享的云资源的请求关联),以及通过确保对以这种方式共享的资源的任何这种请求与已由资源拥有组织定义(或以其它方式与资源拥有组织关联)的一个或多个消息处理策略关联,来选择性地扩展该边界。使用这个方案,组织拥有的云资源可被选择性地与也使用云环境的一个或多个其它组织共享。随后能够使用传统的策略管理系统针对共享的资源实施许多不同类型的消息处理策略。该技术提供一种能够针对云资源实现灵活的组织边界的云计算解决方案的新信息共享范例。
[0093]上述云服务功能可被实现为独立方案,例如由处理器执行的基于软件的功能,或者它可用作被管理的服务(包括用作经S0AP/XML接口的web服务)。这里描述的特定硬件和软件实现细节仅用于说明性目的,而非意图限制描述的主题的范围。
[0094]更一般地,公开的发明的上下文内的计算装置均是包括硬件和软件的(诸如图2中示出的)数据处理系统,并且这些实体经网络(诸如,互联网、内联网、外联网、专用网络)或任何其它通信介质或链路彼此通信。数据处理系统上的应用为Web和其它已知服务和协议提供本地支持,非限制性地包括对HTTP、FTP、SMTP、SOAP、XML、WSDL、SAML, Liberty、Shibboleth、OpenID、WS-Federation、Cardspace、WS-Trust、UDDI 和 WSFL 等的支持。可从万维网联盟(W3C)获得关于SOAP、WSDL、UDDI和WSFL的信息,W3C负责开发并且维护这些标准;可从互联网工程工作小组(IETF)获得关于HTTP、FTP、SMTP和XML的进一步信息。假设熟悉这些已知标准和协议。
[0095]可在除基于云的基础设施之外的各种服务器侧架构中或结合各种服务器侧架构实现这里描述的方案。这些非限制性地包括简单的η层架构、web门户、联合系统等。
[0096]如以上例子所示,描述的功能中的一个或多个功能可被托管在云内或云的外部。
[0097]更一般地,这里描述的主题能够采用完全硬件实施例、完全软件实施例或既包含硬件要素又包含软件要素的实施例的形式。在优选实施例中,分层登出功能被实现于软件,软件包括但不限于固件、常驻软件、微码等。数据能够被构造为数据结构(例如,数组、链表等)并且存储在数据存储器(诸如,计算机存储器)中。另外,如上所述,这里描述的身份提供商实例发现功能能够采用可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述介质提供由计算机或任何指令执行系统使用或结合计算机或任何指令执行系统使用的程序代码。为了本描述的目的,计算机可用或计算机可读介质能够是能包含或存储由指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何设备。该介质可以是电子、磁、光学、电磁、红外或半导体系统(或设备或装置)。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前例子包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(⑶-R/W)和DVD。计算机可读介质是有形物品。
[0098]计算机程序产品可以是具有用于实现一个或多个描述的功能的程序指令(或程序代码)的产品。这些指令或代码可在从远程数据处理系统经网络下载之后存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可存储在服务器数据处理系统中的计算机可读存储介质中,并且适于经网络下载到远程数据处理系统以在远程系统内的计算机可读存储介质中使用。
[0099]在代表性实施例中,云服务部件被实现于专用计算机中,优选地,被实现于由一个或多个处理器执行的软件中。用于在其中使用的关联数据被存储在关联的数据存储器中。软件也被保持在与所述一个或多个处理器关联的一个或多个数据存储器或内存中,并且软件可被实现为一个或多个计算机程序。
[0100]也如前所述,一个或多个上述功能可被实现为已有的访问管理器或策略管理方案的附属物或扩展。
[0101]尽管以上描述了由本发明的某些实施例执行的操作的特定次序,但应该理解,这种次序是示例性的,因为替代实施例可按照不同次序执行操作,组合某些操作,使某些操作交叠,等等。在说明书中对给定实施例的提及指示描述的实施例可包括特定特征、结构或特性,但每个实施例不是必须包括该特定特征、结构或特性。
[0102]最后,尽管已分别描述系统的给定部件,但本领域普通技术人员将会理解,一些功能可在给定指令、程序序列、代码部分等之中被组合或共享。
[0103]已描述了本发明,权利要求如下。
【权利要求】
1.一种用于在可配置计算资源的共享池中托管计算资源的环境中扩展组织边界的方法,包括: 对于一组云资源中的每个云资源,把该云资源标记为由在该环境中操作的多个组织之一拥有; 对于在该环境中操作的所述多个组织中的一个或多个组织,登记一组的一个或多个域名,其中来自与相应组织关联的用户的消息包括与该相应组织关联的所述一组的一个或多个域名中的域名; 对于在该环境中操作的所述多个组织中的一个或多个组织,针对相应组织拥有的特定云资源提供与该组织关联的消息处理策略,所述消息处理策略识别特定云资源如何被允许在该 组织外部在云环境内被共享; 从用户接收访问云资源的请求; 响应于该请求,根据所述云资源的所有权和与所述请求关联的域名,确定是否允许用户访问所述云资源;以及 如果用户被允许访问所述云资源,则实施与所述云资源关联的消息处理策略。
2.如权利要求1所述的方法,其中基于以下之一标记云资源的所有权:资源的商业所有权、资源的管理责任、和由分派给特定组织的拥有用户进行的云资源的创建。
3.如权利要求1所述的方法,其中云资源的消息处理策略掩蔽提出请求的用户的用户名,同时在拥有所述云资源的组织的日志文件中保留与该请求关联的组织和域名。
4.如权利要求1所述的方法,其中如果用户不和与拥有云资源的组织关联的一个或多个域名关联,则所述云资源的消息处理策略向用户提供一现时来控制对所述云资源的访问。
5.如权利要求1所述的方法,其中如果请求用户和与拥有云资源的组织关联的所述一组域名之外的域名关联,则所述云资源的消息处理策略提供定制文本,该定制文本定义与所述云资源关联的一个或多个使用条款。
6.如权利要求5所述的方法,其中所述消息处理策略还包括:把所述云资源的外部共享的通知提供给指定的实体。
7.如权利要求1所述的方法,还包括: 确定提出所述请求的用户是否具有关联的访问者角色;并且 其中允许用户访问云资源还取决于用户是否已被确定为具有关联的访问者角色。
8.一种用于在可配置计算资源的共享池中托管计算资源的环境中扩展组织边界的设备,包括: 处理器; 保持计算机程序指令的计算机内存,所述计算机程序指令当由处理器执行时执行一种方法,所述方法包括: 对于一组云资源中的每个云资源,把该云资源标记为由在该环境中操作的多个组织之一拥有; 对于在该环境中操作的所述多个组织中的一个或多个组织,登记一组的一个或多个域名,其中来自与相应组织关联的用户的消息包括与该相应组织关联的所述一组的一个或多个域名中的域名;对于在该环境中操作的所述多个组织中的一个或多个组织,针对相应组织拥有的特定云资源提供与该组织关联的消息处理策略,所述消息处理策略识别特定云资源如何被允许在该组织外部在云环境内被共享; 从用户接收访问云资源的请求; 响应于该请求,根据所述云资源的所有权和与所述请求关联的域名,确定是否允许用户访问所述云资源;以及 如果用户被允许访问所述云资源,则实施与所述云资源关联的消息处理策略。
9.如权利要求8所述的设备,其中基于以下之一标记云资源的所有权:资源的商业所有权、资源的管理责任、和由分派给特定组织的拥有用户进行的云资源的创建。
10.如权利要求8所述的设备,其中云资源的消息处理策略掩蔽提出请求的用户的用户名,同时在拥有所述云资源的组织的日志文件中保留与该请求关联的组织和域名。
11.如权利要求8所述的设备,其中如果用户不和与拥有云资源的组织关联的一个或多个域名关联,则所述云资源的消息处理策略向用户提供一现时来控制对所述云资源的访问。
12.如权利要求8所述的设备,其中如果请求用户和与拥有云资源的组织关联的所述一组域名之外的域名关联,则所述云资源的消息处理策略提供定制文本,该定制文本定义与所述云资源关联的一个或多个使用条款。
13.如权利要求12所述的设备,其中所述消息处理策略还包括:把所述云资源的外部共享的通知提供给指定的实体。
14.如权利要求8所述的设备,其中所述方法还包括: 确定提出所述请求的用户是否具有关联的访问者角色;并且 其中允许用户访问云资源还取决于用户是否已被确定为具有关联的访问者角色。
【文档编号】H04L29/08GK103916454SQ201410001025
【公开日】2014年7月9日 申请日期:2014年1月2日 优先权日:2013年1月2日
【发明者】M·巴那塔拉, H·墨斯三世, R·L·耶塔斯, M·E·佐科 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1