在联网计算环境中授权操作请求的方法和系统的制作方法
【专利摘要】本发明涉及一种在联网计算环境中授权操作请求的方法和系统。提供一种用于在联网计算环境(例如,云计算环境)中授权用户请求的操作的方法。在一个典型实施例中,接收对与计算资源关联的特定操作的请求。标识可能受所请求的操作影响的已连接系统。确定已连接系统的实际用户。请求来自每个所述实际用户的响应。收集所述响应并对其进行加权以便判定是否许可对所请求的操作的授权。
【专利说明】在联网计算环境中授权操作请求的方法和系统
【技术领域】
[0001] 本发明的实施例一般地涉及授权用户针对计算资源的操作请求。具体地说,本发 明涉及在联网计算环境(例如,云计算环境)中收集响应并对其进行加权以便判定是否授 权用户请求的特定操作。
【背景技术】
[0002] 联网计算环境(例如,云计算环境)是对先前网格环境的增强,由此可以通过一个 或多个额外抽象层(例如,云层)进一步增强多个网格和其它计算资源,因此使得不同设备 对于最终消费者而言就像单个无缝资源池。这些资源可以包括诸如以下事物:物理或逻辑 计算引擎、服务器和设备、设备存储器以及存储设备等。
[0003] 在当今的云计算环境中,虚拟机、平台服务和软件服务通常由多个用户以及其它 云系统共享和使用。当在云计算环境中针对计算资源(硬件或软件)采取操作(例如服务 器重新引导或应用关闭)时,有时难以确定将对其它用户和系统产生何种影响。
【发明内容】
[0004] 一般而言,本发明的实施例涉及一种用于在联网计算环境(例如,云计算环境)中 授权用户请求的操作的方法。在一个典型实施例中,接收对与计算资源关联的特定操作的 请求。标识可能受所请求的操作影响的已连接系统。确定已连接系统的实际用户。请求来 自每个所述实际用户的响应。收集所述响应并对其进行加权以便判定是否许可对所请求的 操作的授权。
[0005] 本发明的第一方面提供一种用于在联网计算环境中授权操作的计算机实现的方 法,包括:接收与计算资源关联的操作请求;确定可能受所请求的操作影响的已连接系统; 确定每个已连接系统的实际用户;接收来自一个或多个所述实际用户的响应;分析与每个 做出响应的实际用户关联的用户数据;基于所述分析,对每个做出响应的实际用户的响应 进行加权;以及当许可授权时,执行所请求的操作。
[0006] 本发明的第二方面提供一种用于在联网计算环境中授权操作的系统,包括:包括 指令的存储介质;耦合到所述存储介质的总线;以及耦合到所述总线的处理器,当所述处 理器执行所述指令时,导致所述系统:接收与计算资源关联的操作请求;确定可能受所请 求的操作影响的已连接系统;确定每个已连接系统的实际用户;接收来自一个或多个所述 实际用户的响应;分析与每个做出响应的实际用户关联的用户数据;基于所述分析,对每 个做出响应的实际用户的响应进行加权;以及当许可授权时,执行所请求的操作。
[0007] 本发明的第三方面提供一种用于在联网计算环境中授权操作的计算机程序产品, 所述计算机程序产品包括计算机可读存储介质,以及存储在所述计算机可读存储介质上的 程序指令,以便:接收与计算资源关联的操作请求;确定可能受所请求的操作影响的已连 接系统;确定每个已连接系统的实际用户;接收来自一个或多个所述实际用户的响应;分 析与每个做出响应的实际用户关联的用户数据;基于所述分析,对每个做出响应的实际用 户的响应进行加权;以及当许可授权时,执行所请求的操作。
[0008] 本发明的第四方面提供一种部署在用于在联网计算环境中授权操作的系统的方 法,包括:提供一种计算机基础架构,其可操作以:接收与计算资源关联的操作请求;确定 可能受所请求的操作影响的已连接系统;确定每个已连接系统的实际用户;接收来自一个 或多个所述实际用户的响应;分析与每个做出响应的实际用户关联的用户数据;基于所述 分析,对每个做出响应的实际用户的响应进行加权;以及当许可授权时,执行所请求的操 作。
【专利附图】
【附图说明】
[0009] 从以下结合附图的对本发明的不同方面的详细描述,将更容易地理解本发明的这 些和其它特性,这些附图是:
[0010] 图1表示根据本发明一实施例的云计算节点;
[0011] 图2表示根据本发明一实施例的云计算环境;
[0012] 图3表示根据本发明一实施例的抽象模型层;
[0013] 图4表不根据本发明一实施例的系统图;
[0014] 图5表示根据本发明一实施例的方法流程图。
[0015] 附图不一定按比例。附图仅是示意性表示,并非旨在描述本发明的特定参数。附 图旨在仅示出本发明的典型实施例,因此不应被视为限制本发明的范围。在附图中,相似编 号表示相似元素。
【具体实施方式】
[0016] 现在,在此参考附图更全面地描述示例性实施例,在附图中示出实施例。但是,本 公开可以以多种不同的形式体现,并且不应被解释为限于在此给出的实施例。相反,提供这 些实施例以便本公开详尽且完整,并且将本公开的范围完全传达给所属【技术领域】的技术人 员。在描述中,可以省略公知特性和技术的细节以避免不必要地使提供的实施例变得模糊 不清。
[0017] 在此使用的术语只是为了描述特定的实施例并且并非旨在作为本公开的限制。如 在此使用的,单数形式"一"、"一个"和"该"旨在同样包括复数形式,除非上下文明确地另有 所指。此外,术语"一"、"一个"等的使用并不表示数量限制,而是表示存在至少一个提及的 项。术语"组"旨在表示至少一个的数量。还将理解,当在此说明书中使用时,术语"包括" 和/或"包含"指定了声明的特性、区域、整数、步骤、操作、元素和/或组件的存在,但是并不 排除一个或多个其它特性、区域、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
[0018] 如上所述,本发明的实施例涉及一种用于在联网计算环境(例如,云计算环境)中 授权用户请求的操作的方法。在一个典型实施例中,接收对与计算资源关联的特定操作的 请求。标识可能受所请求的操作影响的已连接系统。确定已连接系统的实际用户。请求来 自每个所述实际用户的响应。收集所述响应并对其进行加权以便判定是否许可对所请求的 操作的授权。
[0019] 在执行这些功能中的一个或多个时,在此描述的各个方面允许云提供者和/或云 消费者获得保险策略,以便防止在计算基础架构中出现数据丢失/SLA故障。这种功能可以 涉及多个元素,例如以下能力:通过使用"风险提供者"表评估不同的保险提供者,然后基于 该表的结果,自动向工作负载处理请求应用保险策略。
[0020] 首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案 的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环 境而实现。
[0021] 云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的 网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能 快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟 机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0022] 特征包括:
[0023] 按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单 方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0024] 广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进 了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字 助理PDA)对云的使用。
[0025] 资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服 务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况 下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上 指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0026] 迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展, 并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的, 并能在任意时候都能获取任意数量的计算能力。
[0027] 可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户 帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资 源使用情况,为服务提供者和消费者双方提供透明度。
[0028] 服务模型如下:
[0029] 软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的 应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户 机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包 括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0030] 平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或 获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不 控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制 权,对应用托管环境配置可能也具有控制权。
[0031] 基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行 包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理 也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的 网络组件(例如主机防火墙)可能具有有限的控制权。
[0032] 部署模型如下:
[0033] 私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管 理并且可以存在于该组织内部或外部。
[0034] 共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、 安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三 方管理并且可以存在于该共同体内部或外部。
[0035] 公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0036] 混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组 成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术 (例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0037] 云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操 作性。云计算的核心是包含互连节点网络的基础架构。
[0038] 现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅 是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。 总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
[0039] 云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系 统环境或配置一起操作。众所周知,适于与计算机系统/服务器12 -起操作的计算系统、 环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚 客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产 品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统或设备的分布 式云计算技术环境,等等。
[0040] 计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸 如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定 的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12 可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式 云计算环境中,程序模块可以位于包括存储设备的本地或远程计算机系统存储介质上。
[0041] 如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式 表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单 元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
[0042] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器, 外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举 例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA) 总线,增强型ISA (EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI) 总线。
[0043] 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是 能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可 移动的和不可移动的介质。
[0044] 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存 取存储器(RAM) 30和/或高速缓冲存储器32。计算机系统/服务器12可以进一步包括其 它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34 可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为"硬盘驱动器")。尽管 图1中未示出,可以提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器, 以及对可移动非易失性光盘(例如⑶-R〇M、DVD-ROM或者其它光介质)读写的光盘驱动器。 在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如下面进 一步示出和描述的,存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至 少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0045] 本发明的实施例可以实现计算机可读信号介质,该计算机可读信号介质可以包 括传播的数据信号,其中承载了计算机可读程序代码(例如,在基带中或者作为载波一部 分)。这种传播的信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任 意合适的组合。计算机可读信号介质可以是计算机可读存储介质以外的任何计算机可读介 质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或 者与其结合使用的程序。
[0046] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限 于一无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
[0047] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28 中,存储器28中具有操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些 示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所 描述的实施例中的功能和/或方法。
[0048] 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、 显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的 设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信 的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口 22进行。并 且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网 (LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过 总线18与计算机系统/服务器12的其它组件通信。应当明白,尽管图中未示出,其它硬件 和/或软件组件可以与计算机系统/服务器12 -起操作,包括但不限于:微代码、设备驱动 器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0049] 现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包 括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地 计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C 和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如 上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云 计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备 上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和 /或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计 算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的 计算设备(例如使用网络浏览器)通信。
[0050] 现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应 当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图 3所示,提供下列层和对应功能:
[0051] 硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如 IBM? zSeries?系统;基于Rise(精简指令集计算机)体系结构的服务器,例如IBM system p?系统;IBM System χ?系统;IBM BladeCeilte:r?系统;存储器件;网络和网 络组件。软件组件的例子包括:网络应用服务器软件,例如IBM WebSphere?,应用服务 器软件;数据库软件,例如IBM DB2?数据库软件。(IBM、system X、System p、System X、 BladeCenter、WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
[0052] 虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚 拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0053] 在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算 环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对 资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软 件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户 门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云 计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为 根据SLA预测的对云计算资源未来需求提供预先安排和供应。进一步管理层可以提供操作 授权,其表示为本发明实施例中的功能。
[0054] 工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作 负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提 供;数据分析处理;交易处理;以及用户数据存储和备份。如上所述,上面针对图3描述的 所有实例都仅仅是示例性的,本发明并不限于这些实例。
[0055] 出于示例目的给出了对本发明的不同实施例的描述,但应该理解,在此描述的本 发明的所有功能通常可以由操作授权功能(属于管理层64,该层可以有形地体现为程序/ 实用工具40的程序代码42的模块(图1))执行。但是,并非一定如此。相反,在此描述的 功能可以由图3中所示的任意层60-66执行/实现和/或启用。
[0056] 应该重申,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实 现却不限于云计算环境,而是能够结合现在已知或以后开发的任何类型的联网计算环境而 实现。
[0057] 现在参考图4,示出根据本发明一实施例的描述在此讨论的功能的系统图。应该理 解,可以在任何类型的联网计算环境80(例如,云计算环境50)中实现在此描述的教导。图 4中示出计算机系统/服务器12,其可以实现为单独的计算机系统或联网计算机系统。如 果在联网计算环境80中实现在此描述的教导,则每个客户机不需要具有操作授权引擎(引 擎70)。相反,可以将引擎70加载到服务器或服务器功能设备上,该服务器或服务器功能设 备与客户机(例如,以无线方式)通信以便提供操作授权功能。总之,如图所示,引擎70被 示出在计算机系统/服务器12中。一般而言,引擎70可以在图1的计算机系统12上实现 为程序/实用工具40,并且可以实现在此描述的功能。如进一步示出的,引擎70 (在一个实 施例中)包括规则和/或计算引擎,该引擎处理一组(至少一个)规则/逻辑72和/或在 提供以下的操作授权。
[0058] 沿着这些线,引擎70可以执行多个功能,类似于通用计算机。具体地说,除了其它 功能之外,引擎70可以(除了其它方面):接收与计算资源关联的操作请求;确定可能受 所请求的操作影响的已连接系统;确定已连接系统的实际用户;请求来自已连接系统的每 个实际用户的响应;分析与每个做出响应的实际用户关联的用户数据(例如使用和/或角 色);基于分析,对每个做出响应的实际用户的响应进行加权;以及当许可授权时,执行所 请求的操作。基于做出响应的实际用户的加权后的响应而确定许可授权。
[0059] 示例件实例
[0060] 该部分将在示例性实例的上下文中描述上面讨论的教导。应该理解,该实例(例 如,在此描述的应用、服务、值等)旨在是示例性的,在此描述的教导中可以存在其它实施 例。
[0061] 如图4中所示,云计算环境50包括计算机系统12、虚拟机(VM)78和应用服务 86A-N。计算机系统12包括操作授权引擎(或引擎)70。引擎70可以读取规则/逻辑72。 VM78包括Web服务器应用82和数据库应用84。Web服务器应用82由Web用户88A-N和 Web服务器管理员92访问。数据库应用84由数据库管理员94和数据库用户96 (执行数据 库查询)访问。
[0062] 发出请求以便在云计算环境50中执行与计算资源(硬件或软件)关联的操作(例 如,破坏性操作)。"操作"如在此使用的,指与计算资源关联的任何操作,其可能对一个或 多个用户、服务或系统具有破坏性影响。实例操作可以包括但不限于重新引导虚拟机的操 作系统,关闭或重新启动应用服务器,关闭或强制连接数据库,或者保存涉及关闭资源的云 资源快照(即,映像)。在引擎70处接收请求。在所述示例性实例中,在引擎70处接收用 于重新引导VM78的请求。
[0063] 接收请求之后,引擎70检索可能受所请求的操作影响的系统列表。例如,如果请 求系统重新引导,则引擎70可以检测具有到受影响计算资源的任何开放连接的任何已连 接系统。已连接系统可以包括但不限于与计算资源协调工作的云实例(例如,连接到数据 库服务器的Web服务器)、属于最终用户的客户机系统,或者由计算资源管理员使用的客户 机系统。客户机系统可以由端口、协议或者被访问的内容来标识。在所述示例性实例中,标 识Web服务86A-N、Web用户88A-N的客户机设备、Web服务器管理员92的客户机设备、数 据库管理员94的客户机设备,以及数据库用户96的客户机设备。
[0064] 标识已连接系统(多个)之后,引擎70可以确定每个标识的已连接系统的实际用 户(多个)。如果已连接系统是云计算环境中的对等系统,则引擎70可以参考云系统的数 据库以便查找已连接系统的技术所有者(多个)。此外,如果已知连接源自远程系统上的特 定应用(即,经由分析使用的端口 /协议),则引擎70可以参考应用的所有者(多个)。在 所述示例性实例中,实际用户被确定为Web用户88A-N、Web服务器管理员92、数据库管理 员94以及数据库用户96。
[0065] 在一个实例中,实际用户类型可以包括但不限于活跃用户、消极用户和/或不活 跃用户。活跃用户可以是以下任何用户:具有到计算资源的开放连接,并且主动使用计算资 源(例如,针对计算资源运行命令)。消极用户可以是以下任何用户:具有到计算资源的开 放连接,但不主动使用计算资源。不活跃用户可以是以下任何管理员或人员:以其它方式与 计算资源关联,但不主动或被动使用计算资源。在其它实例中,可以定义其它类型的用户。
[0066] 确定实际用户之后,引擎70可以向请求响应(例如,投票)的每个实际用户传输 关于用户是否授权所请求的操作的通知。实例通知(和响应)包括但不限于电子邮件消息、 文本消息、即时消息、弹出窗口、移动推送通知等。在所述示例性实例中,经由电子邮件消息 将通知发送到每个实际用户(即,Web用户88A-N、Web服务器管理员92、数据库管理员94 以及数据库用户96)。
[0067] 引擎70收集来自用户的关于是否认证所请求的操作的响应。实例响应可以包括 "是"、"否"、"在经过一段时间之后是"以及"在执行某个操作之后是"。上面列出的实例仅 仅是示例性的,并且并非旨在作为限制。引擎70可以允许和处理其它响应。在所述示例性 实例中,每个实际用户经由电子邮件消息进行响应,其中管理员(Web服务器管理员92和数 据库管理员94)和数据库用户96进行响应以便认证所请求的操作。剩余用户发送"否"响 应。
[0068] 在一个实例中,预定时间量可以指定引擎70可以等待响应的时间量。在经过该时 间量之后,当判定是否认证所请求的操作时,将不考虑任何未做出响应的用户。在一个实例 中,用户可以建立简档,该简档指定在用户不能及时进行响应的情况下要采取的某些操作。 例如,用户简档可以指定执行清理过程,或者在执行所请求的操作之前保存任何脚本。
[0069] 备选地或此外,引擎70可要求在可以认证所请求的操作之前,收集一组特定用户 的投票。该组用户可以包括诸如以下用户:应用所有者、系统所有者、具有高当前活动率的 用户、当前管理应用的用户(通过端口、协议、用户角色、用户登录ID等确定)等。可以在 该组用户中包括其它类型的用户。
[0070] 接收响应之后,引擎70可以根据与相应实际用户关联的数据(例如角色或使用), 对每个响应进行加权。在一个实例中,为具有活跃连接的实际用户的响应赋予的优先级可 以高于具有不活跃连接的实际用户。在另一个实例中,为频繁查询数据库或者当前执行长 时间数据库操作的用户赋予的优先级可以高于具有开放但不活跃的数据库连接的用户。为 管理用户赋予的优先级可以高于非管理用户。为具有特定角色的用户赋予的优先级可以高 于具有其它角色的用户。上面列出的实例仅仅是示例性的,并且并非旨在作为限制。当确 定用户优先级时,可以使用其它准则。可以在规则/逻辑72中定义用于对每个实际用户响 应进行加权的过程。在所述示例性实例中,对来自每个做出响应的实际用户的响应进行加 权,其中来自管理员(Web服务器管理员92和数据库管理员94)的响应比来自其余实际用 户的响应具有更多的加权。
[0071] 对每个做出响应的实际用户的响应进行加权之后,引擎70可以判定是否认证所 请求的操作。该决策可以基于加权后的响应。在某些实例中,认证决策还可以考虑其它因 素,例如当所请求的操作涉及关闭特定服务器时,是否可提供充足的故障转移服务器。在所 述示例性实例中,基于实际用户的总加权响应做出重新引导VM78的决策。如上所述,上面 针对图4描述的所有实例都仅仅是示例性的,本发明并不限于这些实例。
[0072] 现在参考图5,示出根据本发明一实施例的方法流程图。在步骤S1,接收与联网计 算环境80(例如,云计算环境50)中的计算资源关联的操作请求。在步骤S2,确定可能受 所请求的操作影响的已连接系统。在步骤S3,确定已连接系统的实际用户。在步骤S4,请 求来自每个实际用户的响应。在步骤S5,分析与提交响应的每个实际用户关联的用户数据 (例如使用和/或角色)。在步骤S6,基于分析,对每个做出响应的实际用户的响应进行加 权。在步骤S7,当许可授权时,执行所请求的操作。用于许可授权的判定基于做出响应的用 户的加权后的响应。
[0073] 尽管在此被示出和描述为操作授权解决方案,但应该理解,本发明还提供各种备 选实施例。例如,在一个实施例中,本发明提供一种计算机可读/可用介质,其包括计算机 程序代码以使计算机基础架构能够提供在此讨论的操作授权功能。在此方面,计算机可读/ 可用介质包括实现本发明的每个不同过程的程序代码。应该理解,术语计算机可读介质或 计算机可用介质包括程序代码的任何类型物理实施例中的一个或多个。具体地说,计算机 可读/可用介质可以包括以下程序代码:包含在一个或多个便携式存储制品(例如,光盘、 磁盘、磁带等)上;包含在计算设备的一个或多个数据存储部分上,例如存储器28 (图1) 和/或存储系统34 (图1)(例如,固定磁盘、只读存储器、随机存取存储器、高速缓冲存储器 等)。
[0074] 在另一个实施例中,本发明提供一种基于订阅、广告和/或费用执行本发明过程 的方法。即,服务提供者(例如解决方案集成商)可以提供操作授权功能。在这种情况下, 服务提供者可以为一个或多个用户对执行本发明过程的计算机基础架构(例如计算机系 统12(图1))进行创建、维护、支持等。作为回报,服务提供者可以按照订阅和/或费用协 议从用户(多个)处收到付款和/或服务提供者可以通过向一个或多个第三方销售广告内 容而收到付款。
[0075] 在另一个实施例中,本发明提供一种用于操作授权的计算机实现的方法。在这种 情况下,可以提供计算机基础架构(例如计算机系统12(图1)),并且可以获得(例如,创 建、购买、使用、修改等)一个或多个用于执行本发明过程的系统并将这些系统部署到计算 机基础架构。在此方面,系统的部署可以包括以下一项或多项:(1)在计算设备(例如计算 机系统12 (图1))上从计算机可读介质安装程序代码;(2)将一个或多个计算设备添加到 计算机基础架构;以及(3)结合和/或修改计算机基础架构的一个或多个现有系统以使计 算机基础架构能够执行本发明的过程。
[0076] 如在此使用的,应该理解,术语"程序代码"和"计算机程序代码"是同义的,并且 指一组指令的以任何语言、代码或符号表示的任何表达,旨在使具有信息处理能力的计算 设备直接执行特定的功能,或者执行以下两者之一或全部后执行特定的功能:(a)转换为 另一种语言、代码或符号;和/或(b)以不同的材料形式再现。在此方面,程序代码可以体 现为以下一项或多项:应用/软件程序、组件软件/函数库、操作系统、特定计算设备的基本 设备系统/驱动器等。
[0077] 适合于存储和/或执行程序代码的数据处理系统可以在下面提供,并且可以包括 至少一个以通信方式通过系统总线直接或间接耦合到存储元件的处理器。存储元件可以包 括但不限于在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少 某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高 速缓冲存储器。输入/输出和/或其它外部设备(包括但不限于键盘、显示器、指点设备 等)可以直接或通过中间设备控制器与系统相连。
[0078] 网络适配器也可以被连接到系统以使数据处理系统能够通过中间专用或公共网 络的任意组合变得与其它数据处理系统、远程打印机、存储器件等相连。示例性网络适配器 包括但不限于调制解调器、电缆调制解调器和以太网卡。
[0079] 出于示例和描述目的提供了本发明的不同方面的上述描述。其并非旨在是穷举的 或将本发明限于所公开的精确形式,并且很显然,许多修改和变型都是可能的。这些对所属 【技术领域】的技术人员来说显而易见的修改和变型旨在被包括在如所附权利要求限定的本 发明的范围之内。
【权利要求】
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的系统,其中所述联网计算环境是云计算环境。
【文档编号】G06F9/44GK104216702SQ201410241836
【公开日】2014年12月17日 申请日期:2014年6月3日 优先权日:2013年6月4日
【发明者】K·阿布伊萨德, L·S·德鲁卡, 张秀百, D·C·克鲁克 申请人:国际商业机器公司