CN110463163A - 用于提供对会话服务器的按需唤醒访问的方法及系统 - Google Patents

用于提供对会话服务器的按需唤醒访问的方法及系统 Download PDF

Info

Publication number
CN110463163A
CN110463163A CN201880022246.5A CN201880022246A CN110463163A CN 110463163 A CN110463163 A CN 110463163A CN 201880022246 A CN201880022246 A CN 201880022246A CN 110463163 A CN110463163 A CN 110463163A
Authority
CN
China
Prior art keywords
machine
user
resource
service broker
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880022246.5A
Other languages
English (en)
Other versions
CN110463163B (zh
Inventor
C·F·巴克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Cloud Beating Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloud Beating Co filed Critical Cloud Beating Co
Publication of CN110463163A publication Critical patent/CN110463163A/zh
Application granted granted Critical
Publication of CN110463163B publication Critical patent/CN110463163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于选择性地向授权的用户账户的子集提供在计划的不可用性周期期间对会话服务器的按需唤醒访问的方法,该方法包括由服务代理机从客户端机器接收至少一个凭证。服务代理机从数据库请求与至少一个凭证相关联的连接信息。服务代理机从数据库接收连接信息。服务代理机确定至少一个虚拟资源是不可用的。服务代理机确定所接收的凭证是否指示客户端机器的用户被授权请求对不可用的至少一个虚拟资源的重新激活。服务代理机指导对不可用的至少一个虚拟资源的重新激活。服务代理机向客户端机器提供连接信息。

Description

用于提供对会话服务器的按需唤醒访问的方法及系统
背景技术
本公开涉及配置资源。更具体地,本文描述的方法和系统涉及允许用户在计划的不可用性周期期间重新激活会话服务器的功能。
会话服务器是个人计算机服务器操作系统,其被配置为许可许多不同的用户同时连接到它们以用于运行远程应用工作负载的目的。每个用户通过单独的用户账户被连接,该用户账户具有唯一的属性,且具有对访问安装在服务器系统上的或由该服务器系统管理的多种应用和数据资源的权限。会话服务器和会话服务器概念有时会被与主机架构相比较,在该主机架构中,计算机处理时间在许多不同用户之间被同时共享。传统地,会话服务器由私有实体或托管(hosting)实体部署到由部署方完全拥有的物理硬件上。因此,通常情况下,根据计划(schedule)关闭和打开服务器很少有甚至没有好处。即使会话服务器是虚拟化服务器,通常情况下,它们被部署到在24×365均被打开的物理服务器上,因此,通常情况下,关闭该会话服务器是没有成本优势的。再加上,终端用户期望他们的系统环境应在24×365均可用,且管理员具有强制情况以始终保持某些系统运行。
在一些较新的环境中,会话服务器已经成为签约的服务提供方所使用的主要工具,该服务提供方使用该工具可以提供全集成的应用程序生产率。同时该转变也开始利用资本设备,在这种情况下,在服务器处于未使用中时关闭该服务器很少有甚至没有好处,最近的部署模型已经转变,并且服务提供方和企业IT管理员通常使用公开可用的基于云的服务,在这种情况下,典型地,成本模型已经被转变为资源消耗(例如,可以被称为“公有云”的分布式计算服务,包括但不限于:基于诸如由AMAZONWEB服务(AWS)、谷歌(GOOGLE)云平台、微软AZURE、以及SoftLayer、IBM公司提供的那些产品和服务的系统)的按小时计费。因此,现在十分需要根据服务计划(例如,包括与服务等级协议匹配的计划)开启和关闭系统。目前,一些系统利用(leverage)自动化调度来减少管理员工作负荷。然而,即使通过事前协议,也存在对不可用的服务的负面影响:一些用户会不太满意,并且出于多种原因中的任意原因而需要其工作负载被开启,该原因包括紧急或突现需求、特定项目的特殊需要和个人偏好。
发明内容
本文所述的方法和系统提供了用于在计划的不可用性周期期间顺应对访问工作负载的灵活性的用户需求的功能。这样的功能可以被称为对会话服务器的按需唤醒。在一些实施方式中,用于修改计划的服务器状态的功能对于特定的授权用户是可用的,而不是普遍可用的。在其中服务提供方使得会话计算可用的这些实施方式的一种中,互联网即服务(IaaS)供应商将针对做出该修改而向服务提供方收取额外的费用,并且相应地,服务提供方向终端用户收取额外的费用。因此,在这些实施方式的另一种中,通过限制谁有权指示该系统改变,并且出于审计和记账目的来跟踪该权限的任意运行,使得用户受益。
在一个方面中,一种用于选择性地向授权用户账户的子集提供在计划的不可用性周期期间对会话服务器的按需唤醒访问的方法,该方法包括由服务代理机从客户端机器接收至少一个凭证。该方法包括由服务代理机从数据库请求与至少一个凭证相关联的连接信息。该方法包括由服务代理机从数据库接收该连接信息,该连接信息包括:数据中心的标识,该数据中心中的至少一个虚拟机的标识,以及用于连接到该至少一个虚拟机的资源用户名的标识,其中该至少一个虚拟机:(i)与第一组织相关联,(ii)被指定用于为与至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及(iii)在托管与第二组织相关联的第二虚拟机并且向该第二组织的用户提供共享会话的物理服务器上运行。该方法包括由服务代理机确定至少一个虚拟资源是不可用的。该方法包括由服务代理机确定接收到的凭证是否指示客户端机器的用户被授权请求对不可用的至少一个虚拟资源的重新激活。该方法包括由服务代理机指导对不可用的至少一个虚拟资源的重新激活。该方法包括由服务代理机向客户端机器提供连接信息,其中,物理服务器基于该连接信息建立客户端机器与向用户提供该至少一个虚拟资源的至少一个虚拟机之间的连接。
附图说明
通过参考以下结合附图的描述,本公开的前述和其他目的、方面、特征和优点将变得更加明显且被更好地理解,其中:
图1A-1C是描绘用于本文描述的方法和系统的计算机的实施方式的框图;
图1D是描绘其中多个网络提供数据托管和传送服务的系统的一种实施方式的框图;
图2A是描绘用于在混合使用服务器中配置虚拟资源的系统的一种实施方式的框图;
图2B是描绘用于在混合使用服务器中配置虚拟资源的系统的一种实施方式的框图;
图3A是描绘用于在多租户目录服务内生成安全组织单位的方法的一种实施方式的流程图;
图3B是描绘用于在混合使用虚拟化环境中配置虚拟化资源的方法的一种实施方式的流程图;
图4是描绘用于提供对混合使用服务器中的虚拟化资源的访问的方法的一种实施方式的流程图;以及
图5是描绘用于向授权用户配置不可用的虚拟资源的方法的一种实施方式的流程图。
具体实施方式
在一些实施方式中,本文描述的方法和系统提供了用于提供对会话服务器的按需唤醒访问的功能。然而,在详细描述这些方法和系统之前,提供了对在其中可以实现这些方法和系统的网络的描述。
现在参考图1A,描绘了网络环境的实施方式。大体上,网络环境包括一个或多个客户端102a-102n(通常也称为:本地机102、客户端102、客户端节点102、客户端机器102、客户端计算机102、客户端设备102、计算设备102、端点102或端点节点102),该一个或多个客户端102a-102n经由一个或多个网络104与一个或多个远程机器106a-106n(通常也被称为服务器106或计算设备106)通信。
尽管图1A示出了网络104位于客户端102和远程机器106之间,不过,客户端102和远程机器106可以位于同一网络104上。网络104可以是局域网(LAN),例如公司内联网,城域网(MAN)或广域网(WAN),例如互联网或万维网。在一些实施方式中,在客户端102与远程机器106之间存在多个网络104。在这些实施方式的一种中,网络104’(未示出)可以是私有网络,以及网络104可以是公共网络。在这些实施方式的另一种中,网络104可以是私有网络,以及网络104’是公共网络。在又一种实施方式中,网络104和网络104’都可以是私有网络。在再一种实施方式中,网络104和网络104’都可以是公共网络。
网络104可以是任意类型和/或形式的网络,并且可以包括以下任一者:点对点网络、广播网络、WAN、LAN、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络以及有线网络。在一些实施方式中,网络104可以包括无线链路,诸如红外信道或卫星频带。网络104的拓扑可以是总线、星形或环形网络拓扑。网络104可以具有本领域普通技术人员已知的、能够支持本文描述的操作的任意网络拓扑。网络可以包括利用用于在移动设备(通常包括平板电脑和手持设备)之间通信的任意一种或多种协议的移动电话网络,该协议包括AMPS、TDMA、CDMA、GSM、GPRS或UMTS。在一些实施方式中,可以通过不同的协议来传送不同类型的数据。在其他实施方式中,可以通过不同的协议来传送相同类型的数据。
客户端102和远程机器106(通常被称为计算设备100)可以是任意工作站、台式计算机、膝上型计算机或笔记本电脑、服务器、便携式计算机、移动电话或其他便携式电信设备、媒体播放设备、游戏系统、移动计算设备或任意其他类型和/或形式的、能够在任意类型和形式的网络上通信并且具有足够的处理器能力和存储容量来执行本文描述的操作的计算、电信或媒体设备。客户端102可以运行、操作或提供应用,该应用可以是任意类型和/或形式的软件、程序或可运行指令,包括但不限于任意类型和/或形式的网络(web)浏览器、基于web的客户端、客户端-服务器应用、ActiveX控件或Java小程序,或能够在客户端102上运行的任意其他类型和/或形式的可运行指令。
在一种实施方式中,计算设备106提供web服务器的功能。在一些实施方式中,web服务器106包括开源web服务器,诸如由马里兰州福里斯特希尔(Forest Hill)的Apache软件基金会维护的APACHE服务器。在其他实施方式中,web服务器运行专有软件,诸如由华盛顿州雷德蒙德(Redmond)的微软公司(Microsoft Corporation)提供的互联网信息服务产品,由加利福尼亚州红木岸区的甲骨文公司(Oracle Corporation)提供的OracleiPlanetweb服务器产品,或者由加利福尼亚州圣克拉拉的BEA系统提供的BEAWEBLOGIC产品。
在一些实施方式中,系统可以包括多个逻辑分组的远程机器106。在这些实施方式的一种中,远程机器的逻辑分组可以被称为服务器场(farm)38。在这些实施方式的另一种中,服务器场38可以作为单个实体被管理。
图1B和1C描绘了用于实现客户端102或远程机器106的实施方式的计算设备100的框图。如图1B和1C所示,每个计算设备100包括中央处理单元121和主存储器单元122。如图1B所示,计算设备100可以包括存储器设备128、安装设备116、网络接口118、I/O控制器123、显示设备124a-n、键盘126、定点设备127(诸如鼠标)以及一个或多个其他I/O设备130a-n。存储器设备128可以包括但不限于操作系统和软件。如图1C所示,每个计算设备100还可以包括附加的可选元件,诸如存储器端口103、网桥170、一个或多个输入/输出设备130a-130n(统一使用附图标记130)以及与中央处理单元121通信的高速缓存存储器140。
中央处理单元121是响应并处理从主存储器单元122提取的指令的任意逻辑电路。在许多实施方式中,中央处理单元121由微处理器单元提供,例如:由加利福尼亚州芒廷维尤的英特尔公司(Intel Corporation)制造的那些;由伊利诺伊斯州绍姆堡(Schaumburg)的摩托罗拉公司(Motorola Corporation)制造的那些;由加利福尼亚州圣克拉拉的全美达公司(Transmeta Corporation)制造的那些;由纽约州白原市的国际商业机器公司(International Business Machines)制造的那些;或由加利福尼亚州森尼韦尔的美国超威半导体公司(Advanced Micro Devices)制造的那些。其他示例包括SPARC处理器、ARM处理器、用于构建UNIX/LINUX盒的处理器以及用于移动设备的处理器。计算设备100可以基于这些处理器中的任意一者,或能够如本文所述那样操作的任意其他处理器。
主存储器单元122可以是能够存储数据并允许微处理器121直接访问任意存储位置的一个或多个存储器芯片。主存储器122可以基于能够如本文所述那样操作的任意可用的存储器芯片。在如图1B所示的实施方式中,处理器121经由系统总线150与主存储器122进行通信。图1C描绘了计算设备100的实施方式,在该计算设备100中,处理器121经由存储器端口103直接与主存储器122通信。图1C还描绘了主处理器121经由副总线(有时被称为后端总线)直接与高速缓存存储器140通信的实施方式。在其他实施方式中,主处理器121使用系统总线150与高速缓存存储器140通信。
在如图1B所示的实施方式中,处理器121经由本地系统总线150与各个I/O设备130通信。可以使用多种总线来将中央处理单元121连接到I/O设备130中的任一个,该总线包括VESA VL总线、ISA总线、EISA总线、微通道架构(MCA)总线、PCI总线、PCI-X总线、PCI-Express总线或者网络用户总线(NuBus)。对于I/O设备是视频显示器124的实施方式,处理器121可以使用高级图形端口(AGP)来与显示器124通信。图1C描绘了计算机100的实施方式,在该计算机100中,主处理器121还经由例如超运输(HYPERTRANSPORT)、快速输入输出(RAPIDIO)或无限带宽(INFINIBAND)通信技术与I/O设备130b通信。
多个I/O设备130a-130n可以存在于计算设备100中。输入设备包括键盘、鼠标、触控板、轨迹球、麦克风、扫描仪、摄像头以及绘图板。输出设备包括视频显示器、扬声器、喷墨打印机、激光打印机和热升华打印机。如图1B所示,I/O设备可以由I/O控制器123控制。此外,I/O设备还可以为计算设备100提供存储和/或安装介质116。在一些实施方式中,计算设备100可以提供USB连接(未示出)以接纳(receive)手持USB存储器设备,诸如由加利福尼亚州洛斯阿拉密托斯的Twintech工业股份有限公司(Twintech Industry,Inc.)制造的设备的USB闪存驱动线。
仍然参考图IB,计算设备100可以支持任意合适的安装设备116,诸如用于接纳软盘的软盘驱动器,该软盘例如3.5英寸、5.25英寸盘或ZIP盘;CD-ROM驱动器;CD-R/RW驱动器;DVD-ROM驱动器;各种格式的磁带驱动器;USB设备;硬盘驱动器或适于安装软件和程序的任意其他设备。在一些实施方式中,计算设备100可以提供用于通过网络104安装软件的功能。计算设备100还可以包括用于存储操作系统和其他软件的存储器设备,例如一个或多个硬盘驱动器或独立磁盘冗余阵列。可替换地,计算设备100可以依赖于存储器芯片进行存储而不是硬盘。
此外,计算设备100可以包括用于通过各种连接与网络104对接的网络接口118,该连接包括但不限于:标准电话线路、LAN或WAN链路(例如802.11、Tl、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如ISDN、帧中继、ATM、千兆以太网、通过同步光纤网络的以太网)、无线连接或上述任意或全部的某种组合。可以使用各种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、802.15.4、ZIGBEE、CDMA、GSM、WiMax以及直接异步连接)建立连接。在一种实施方式中,计算设备100经由任意类型和/或形式的网关或隧道协议(诸如安全套接层(SSL)或传输层安全(TLS))与其他计算设备100’通信。网络接口118可以包括内置网络适配器、网络接口卡、PCMCIA网卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器、或者适合于将计算设备100连接到能够通信并执行本文所描述的操作的任意类型的网络的任意其他设备。
在一些实施方式中,计算设备100可以包括多个显示设备124a-124n或者与多个显示设备124a-124n连接,每个显示设备可以具有相同或不同的类型和/或形式。因此,I/O设备130a-130n和/或I/O控制器123中的任一者可以包括任意类型和/或形式的合适的硬件、软件、或硬件和软件的组合,以支持、启用或提供由计算设备100对多个显示设备124a-124n的连接和使用。本领域的普通技术人员将认识和理解到计算设备100可以被配置为具有多个显示设备124a-124n的各种方式和实施方式。
在另一实施方式中,I/O设备130可以是系统总线150与外部通信总线之间的网桥,例如USB总线、苹果桌面总线、RS-232串行连接、SCSI总线、火线总线、火线800总线、以太网总线、苹果交流协议(AppleTalk)总线、千兆以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤信道总线或串行附接小型计算机系统接口总线。
图1B和图1C中描绘的种类的计算设备100通常在操作系统的控制下运行,该操作系统控制任务的调度和对系统资源的访问。计算设备100可以运行任意操作系统,例如,多种微软WINDOWS操作系统版本中的任一版本、Unix和Linux操作系统的不同版本、用于麦金塔(Macintosh)计算机的MACOS的任意版本、任意嵌入式操作系统、任意实时操作系统、任意开源操作系统、任意专有操作系统、用于移动计算设备的任意操作系统或能够在计算设备上运行并执行本文描述的操作的任意其他操作系统。典型的操作系统包括但不限于:WINDOWS 3.x、WINDOWS 95、WINDOWS 98、WINDOWS 2000、WINDOWS NT 3.51、WINDOWS NT4.0、WINDOWS CE、WINDOWS XP、WINDOWS 7、WINDOWS 8以及WINDOWS VISTA,这些均由华盛顿州雷德蒙德的微软公司制造;由加利福尼亚州库比蒂诺的苹果股份有限公司制造的MACOS;由纽约州白原市的国际商业机器公司制造的OS/2;由犹他州盐湖城的卡尔德拉(Caldera)公司发布的免费可用的操作系统Linux;由英国伦敦的克诺尼克尔(Canonical)有限责任公司发布的免费可用的操作系统Ubuntu;或者任意类型或形式的Unix操作系统,等等。
计算设备100可以是任意工作站、台式计算机、膝上型计算机或笔记本电脑、服务器、便携式计算机、移动电话或其他便携式电信设备或个人数字助理、媒体播放设备(包括但不限于:数字音频播放器、便携式媒体播放器或提供媒体播放功能的计算设备)、游戏系统、移动计算设备或任意其他类型和/或形式的、能够通信并且具有足够的处理器能力和存储容量来执行本文描述的操作的计算、电信或媒体设备。在一些实施方式中,计算设备100可以具有符合该设备的不同的处理器、操作系统和输入设备。在其他实施方式中,计算设备100包括设备的组合,诸如与数字音频播放器或便携式媒体播放器组合的移动电话。
现在参考图1D,框图描绘了其中多个网络提供托管和传送服务的系统的一种实施方式。大体上,系统包括云服务和托管基础设施180、服务提供方数据中心182和信息技术(IT)网络服务中心184。
在一种实施方式中,数据中心182包括计算设备,诸如但不限于服务器(例如,包括应用服务器、文件服务器、数据库和备份服务器)、路由器、交换机和电信设备。在另一实施方式中,云服务和托管基础设施180提供对(但不限于)存储系统、数据库、应用服务器、桌面服务器、目录服务、web服务器的访问,以及提供用于访问位于远程的硬件和软件平台的服务。在又一些实施方式中,云服务和托管基础设施180包括数据中心182。然而,在其他实施方式中,云服务和托管基础设施180依赖于由第三方数据中心182提供的服务。在一些实施方式中,IT网络104c可以提供本地服务,例如邮件服务和web服务。在其他实施方式中,IT网络104c可以提供位于远程的服务的本地版本,诸如位于远程的打印服务器、数据库、应用服务器、桌面服务器、目录服务以及web服务器的本地缓存版本。在另外一些实施方式中,附加的服务器可以完全地驻留在云服务和托管基础设施180、数据中心182或其他网络上,例如由第三方服务提供方提供的那些网络,该第三方服务提供方包括但不限于,基础设施服务提供方、应用服务提供方、平台服务提供方、工具服务提供方、网站托管服务和桌面服务提供方。
在一种实施方式中,客户端102的用户访问由位于远程的服务器106a提供的服务。例如,企业IT网络服务中心184的管理员可以确定客户端102a的用户将访问运行在虚拟机上的应用,该虚拟机运行在远程服务器106a上。作为另一示例,客户端102b的个体用户可以使用由位于远程的服务器106提供给消费者的资源(诸如电子邮件、传真、语音或其他通信服务、数据备份服务或其他服务)。
如图1D所示,数据中心182及云服务和托管基础设施180位于由数据中心182及云服务和托管基础设施180所支持的个体或组织的远程;例如,数据中心182可以驻留在第一网络104a上,并且云服务和托管基础设施180可以驻留在第二网络104b上,而IT网络104c是单独的第三网络104c。在其他实施方式中,数据中心182及云服务和托管基础设施180驻留在第一网络104a上,并且IT网络服务中心184是单独的第二网络104c。在又一些实施方式中,云服务和托管基础设施180驻留在第一网络104a上,而数据中心182和IT网络服务中心184形成第二网络104c。尽管图1D仅描绘了一个服务器106a、一个服务器106b、一个服务器106c、两个客户端102和三个网络104,但应当理解的是,系统可以提供这些组件中的任一种组件或每一种组件,且数量是多个。服务器106、客户端102和网络104可以如上文结合图1A-1C所描述的那样被提供。
因此,在一些实施方式中,IT基础设施可以从第一网络——诸如由个体或企业拥有和管理的网络——延伸到第二网络中,该第二网络可以由与拥有或管理第一网络的实体不同的实体拥有或管理。该第二网络提供的资源可以是所说的“云中”。云驻留元件可以包括但不限于存储器设备、服务器、数据库、计算环境(包括虚拟机、服务器和桌面)和应用。例如,IT网络184可以使用位于远程的数据中心182来存储服务器(例如,包括应用服务器、文件服务器、数据库和备份服务器)、路由器、交换机和电信设备。数据中心182可以由IT网络服务中心184拥有或管理,或者,第三方服务提供方(例如,包括云服务和托管基础设施提供方)可以提供对单独的数据中心182的访问。
在一些实施方式中,代表客户提供计算基础设施的一个或多个网络被称为云。在这些实施方式的一种中,在其中第一网络的用户至少访问第二网络的系统可以称为云计算环境,该第二网络包括抽象的、可扩展的及受管理的、能够托管资源的计算资源池。在这些实施方式的另一种中,资源可以包括但不限于虚拟化技术、数据中心资源、应用和管理工具。在一些实施方式中,基于互联网的应用(其可以经由“软件即服务”模型被提供)可以被称为基于云的资源。在其他实施方式中,向用户提供计算资源的网络可以称为计算云或“基础设施即服务”(Iaas)提供方,该计算资源例如远程服务器、虚拟机或刀片服务器上的刀片(blade)。在又一些实施方式中,提供诸如存储区域网络之类的存储资源的网络可以被称为存储云。在又一些实施方式中,资源可以被缓存在本地网络中并被存储在云中。
在一些实施方式中,多个远程机器106中的一些或全部可以被从第三方公司出租或租用,诸如,作为示例而非限制,华盛顿州西雅图的亚马逊网络服务有限责任公司(Amazon Web Services LLC);得克萨斯州圣安东尼奥市的架构空间美国股份有限公司(Rackspace US,Inc.);华盛顿州雷德蒙德的微软公司;以及加利福尼亚州山景城的谷歌股份有限公司。在其他实施方式中,所有主机106都由第三方公司拥有和管理,该第三方公司包括但不限于亚马逊网络服务有限责任公司、架构空间美国股份有限公司、微软公司以及谷歌股份有限公司。
计算资源通常可以包括但不限于用户机器100可以直接访问或通过网络104访问的物理或虚拟化计算组件。例如,但并非限制,计算资源可以包括如上文结合图1A-图1D所描述的计算机100。作为另一种示例,计算资源可以包括物理计算机、虚拟计算机、虚拟计算机组件(诸如硬盘驱动器)、物理计算机(例如,包括刀片服务器上的刀片,或者,其他类型的共享或专用服务器)、存储器、网络设备、数据库、输入/输出系统、操作系统软件、应用软件或任意类型的软件。在其他实施方式中,计算资源充当中介并且提供对其他远程机器的访问。例如,第一计算资源可以提供对第二机器106b的访问,该第二机器106b运行在网络104上可用的软件;举例来说,软件即服务提供方可以运行用户能够经由第一计算资源访问的第二机器106b上的软件。
在一些实施方式中,当向终端用户提供服务时,信息技术(IT)服务提供方利用虚拟资源。这样的实施方式通常采用被称为超管理器(hypervisor)的软件应用程序来虚拟化物理硬件,并在虚拟化资源与主机的物理资源之间进行调解,其中,该超管理器运行在物理机(其可以被称为主机机器)上。
在一些环境(其可以被称为虚拟化环境)中,机器106包括超管理器层、虚拟化层和硬件层。该超管理器层包括超管理器,其通过运行在虚拟化层中的至少一个虚拟化资源来分配并管理对硬件层(例如处理器和磁盘)中的多个物理资源的访问。虚拟化层包括至少一个操作系统和分配给该至少一个操作系统的多个虚拟资源。虚拟资源可以包括但不限于:多个虚拟处理器和虚拟磁盘,以及诸如虚拟存储器和虚拟网络接口的虚拟资源。多个虚拟资源和操作系统可以称为虚拟机。在一些实施方式中,单个用户访问虚拟机;例如,考虑到用户的需求,“高级用户(power user)”可以访问专用虚拟机。在其他实施方式中,多个用户共享对虚拟机的访问,多个用户中的每一个运行虚拟机的一个或多个资源。在其中服务提供方向用户给予对虚拟化桌面的访问的一些实施方式中,虚拟机的资源可以包括一个或多个软件应用程序。虚拟机的资源还可以包括虚拟化服务器的功能,该虚拟化服务器包括但不限于:目录服务器、主机服务器、应用服务器、文件服务器、代理服务器、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSLVPN服务器、防火墙、web服务器、邮件服务器、安全服务器、数据库服务器或任意其他服务器应用。
超管理器可以以模拟具有对物理设备的访问的操作系统的任意方式向操作系统提供虚拟资源。超管理器可以向主机服务器106上的任意数量的“客户”操作系统提供虚拟资源。在一些实施方式中,计算设备100运行一种或多种类型的超管理器。在这些实施方式中,超管理器可以用来模拟虚拟硬件、分区物理硬件、虚拟化物理硬件,以及运行提供对计算环境的访问的虚拟机。超管理器可以包括:由加利福尼亚州帕洛阿尔托的VMWare股份有限公司制造的那些;XEN超管理器,它是一种开源产品,其开发由开源Xen.org社区监管;由微软提供的HyperV、虚拟服务器或者虚拟PC超管理器,等等。
在一些实施方式中,超管理器运行在于计算设备100上运行的操作系统内。在这些实施方式的一种中,运行操作系统和超管理器的计算设备100可以说是具有主机操作系统(运行在计算设备100上的操作系统)以及客户操作系统(运行在由超管理器提供的计算资源分区内的操作系统)。在其他实施方式中,超管理器直接与计算设备上的硬件交互,而不是运行在主机操作系统上。在这些实施方式的一种中,超管理器可以说是在“裸机”(其指包括计算设备的硬件)上运行。
在一些实施方式中,超管理器控制对运行在计算设备100上的虚拟机的处理器调度和存储器分区。在这些实施方式的一种中,超管理器控制至少一个虚拟机的运行。在这些实施方式的另一种中,超管理器向至少一个虚拟机呈现由计算设备提供的至少一个硬件资源的抽象。在其他实施方式中,超管理器控制是否向虚拟机呈现物理处理器能力,以及如何向虚拟机呈现物理处理器能力。
在一些实施方式中,本文描述的方法和系统提供用于在混合使用服务器中配置虚拟资源的功能。在这些实施方式的一种中,本文描述的方法和系统提供用于安全地创建多租户、虚拟资源传送平台的功能。在这些实施方式的另一种中,单个物理资源池、软件定义的虚拟局域网(VLAN)和目录服务提供该虚拟资源传送平台。在一种实施方式中,本文描述的方法和系统提供了允许服务提供方实体利用关于物理系统的规模经济的益处。传统的许可实践通常请求为每个消费者实体配置专用物理系统,以便向各个用户提供虚拟系统的一对一映射。当前的操作实践通常需要多个VLAN来在虚拟基础设施内对消费者或部门区域进行分割。软件定义的“虚拟VLAN”的引入扩展了系统使用较少的网络地址空间提供离散的、安全的服务器实例,同时利用基于会话的许可以进行个人虚拟计算的灵活性。
在其他实施方式中,本文描述的方法和系统提供用于隔离由单个多租户机器提供的资源的功能。在这些实施方式的一者中,本文描述的方法和系统提供用于允许服务提供方实施安全策略的功能,该安全策略用于防止与第一实体(例如作为服务提供方的消费者的公司)相关联的第一资源的用户访问与第二实体(例如也作为该服务提供方的消费者的不同公司)相关联的第二资源。这样的功能可以允许服务提供方在满足他们的消费者的安全性要求的同时,更高效地使用计算资源。隔离的资源可以是任意类型或形式的资源,包括但不限于目录服务和桌面图像。
现在参考图2A,框图描绘了用于在混合使用服务器中配置虚拟资源的系统的一种实施方式。大体上,该系统包括服务代理机106a、目录服务器106b、第一托管服务器106c、第二托管服务器106d、管理机106e、配置机106f、第一机器102a和第二机器102b。该系统包括管理组件218和用户连接引擎202。该系统包括数据库222。该系统包括多个客户端代理204a-n。该系统包括多个虚拟机206a-n、多个高级用户图像210a-n、多个共享会话212a-n和多个超管理器216a-n。该系统包括目录服务207和多个目录服务组织单位208a-n。该系统包括目录服务管理服务器106g和多个目录服务管理组件209a-n。
在一种实施方式中,服务代理机106a是如上文所述的机器106。在另一种实施方式中,服务代理机106a提供用于监听来自客户端代理204a-n的连接请求的web服务。在又一种实施方式中,服务代理机106a提供用于接收关于如何路由对虚拟化资源的访问的用户请求(例如,访问请求)的指令请求的功能。这样的请求可以是任意类型或形式,包括但不限于HTML5生成的查询。
在一种实施方式中,服务代理机106a运行用户连接引擎202。在一些实施方式中,提供用户连接引擎202的功能的任意机器100可以被称为服务代理机106a。用户连接引擎202可以提供web服务。用户连接引擎202可以提供用于接收来自一个或多个机器102的访问请求的功能。在一些实施方式中,用户连接引擎202是软件程序。在其他实施方式中,用户连接引擎202是硬件模块。在一些实施方式中,用户连接引擎202包括用于与数据库222交互的功能。例如,用户连接引擎202可以包括用于连接到数据库222并请求验证从客户端代理204接收到的用户凭证的功能。在一些实施方式中,用户连接引擎202包括用于修正接收到的用户凭证以生成用于便于登录流程的信息字符串的功能;例如,用户连接引擎202可以确保网关地址具有“someplaceGW.somedomain.net”的形式,资源名具有“someserver.insidesomedomain.net”的形式,以及用户名具有“someresource\username.extension”的形式。用户连接引擎202可以包括用于对传送的数据进行加密的功能。用户连接引擎202可以包括用于录入连接信息(例如,日期、时间、连接设备的IP地址、连接设备的名称、连接设备类型以及用户凭证)的功能。
在其他实施方式中,用户连接引擎202包括用于代表机器102的用户取得连接信息的功能。例如,用户连接引擎202可以包括用于访问数据库222以取得连接详细信息的功能,下文将进行更详细地描述。该连接详细信息可以包括但不限于:数据中心网关标识符、用户域标识符和授权资源池标识符。
在一些实施方式中,数据库222的示例包括但不限于:结构化存储(例如,NoSQL型数据库和BigTable数据库),由Apache软件基金会发布的HBase数据库,由纽约州纽约市的10Gen股份有限公司发布的MongoDB数据库,由Apache软件基金会发布的Cassandra数据库,以及基于文件的数据库。在其他实施方式中,数据库222是ODBC兼容数据库。例如,数据库222可以被提供为由加利福尼亚州红木岸区的甲骨文公司制造的ORACLE数据库。在其他实施方式中,数据库222可以是由华盛顿州雷德蒙德的微软公司制造的微软ACCESS数据库或微软SQL server数据库。在其他实施方式中,数据库222可以是基于开源数据库的定制设计的数据库,诸如由甲骨文公司发布的免费可用的数据库产品的MYSQL家族。在另一些实施方式中,数据库可以是任意形式或类型的数据库。
在一些实施方式中,服务代理机106a接收来自机器102的请求。机器102可以运行客户端代理204,该机器102使用该客户端代理204访问服务代理机106a。在一些实施方式中,客户端代理204是使用互联网协议通过一个或多个网络104连接到服务代理机106a的常规web浏览器。在其他实施方式中,客户端代理204是提供用于向服务代理机106a发送对虚拟化资源的访问请求的功能的非浏览器程序。因此,客户端代理204可以是软件程序。在其他实施方式中,该客户端代理204为硬件模块。在一些实施方式中,客户端代理204向服务代理机106a传送用户凭证。该凭证可包括:用户名、密码、生物识别信息或用于用户认证的其他信息。然而,在这些实施方式的一种中,客户端代理204不需要要求机器102的用户知道关于机器102或关于所请求的访问的技术细节,以便服务代理机106a提供对虚拟化资源的访问。在一些实施方式中,客户端代理204提供用于建立到由服务代理机106a识别的登录网关的连接的功能。
在一些实施方式中,本文描述的系统被构造(architect)为运行在多个数据中心中的高容量的、容错的、负载平衡的服务,该多个数据中心在地理上相异,但可经由单个统一资源定位符(URL)访问。该系统可以允许用户经由该URL查询一个主web服务,以访问虚拟化资源,并且因此可以简化服务提供方的管理。例如,该系统准许系统管理员容易地修改数据中心可用性,以管理资源,解决维护需求,以及减少意外中断。
系统200可以提供用于允许管理员管理一个或多个物理或虚拟资源的功能。因此,在一种实施方式中,系统200包括管理组件218。在一些实施方式中,管理组件218是软件程序。在其他实施方式中,管理组件218是硬件模块。在另一些实施方式中,管理组件218运行在计算设备100上。例如,管理机106e可以提供网站,管理用户可以利用该网站管理所提供的服务的各个方面。在该示例中,网站可以包括来自管理组件218的数据或到管理组件218的接口,并且可以提供用于接收来自网站的用户的命令并将该命令提供给管理组件218的用户接口。作为另一示例,管理用户可以直接访问管理机106e(例如,而不是访问位于机器102b的远程的网站(未示出)),并可以直接与管理组件进行交互。在管理组件218运行在单独的管理机106e上的实施方式中,该管理组件218可以与服务代理机106a通信。在另一种实施方式中,在图2A中以阴影示出了服务代理机106a提供管理组件218。在该实施方式中,管理用户可以直接或间接地(例如,从远程机器102b)访问管理组件218。
系统200包括目录服务器106b。在一些实施方式中,系统200包括多个目录服务器106b。在其他实施方式中,如将在下面进一步详细描述的那样,目录服务器106b提供目录服务207,该目录服务207包括多个目录服务组织单位208a-n,每个单位可以与一个或多个实体(例如,组织和公司)相关联。目录服务207可以是任意形式或类型的目录服务,包括实施轻量级目录访问协议(LDAP)的那些。目录服务207可以是微软公司提供的活动目录(ACTIVEDIRECTORY)。
该系统包括多个目录服务管理组件209a-n。在一种实施方式中,多个目录服务管理组件209a-n运行在目录服务管理服务器106g上。如下文将更详细讨论的,多个目录服务管理组件209a-n可以提供用于与目录服务207交互的功能。例如,目录服务管理组件209a-n可以包括用于根据目录服务API生成并传送指令以访问和/或修改由目录服务207存储的数据的功能。目录服务管理组件209a-n还可以包括用于从配置机106f接收关于访问或修改由目录服务207存储的数据的指令的功能。
在一种实施方式中,配置机106f是如上文所述的机器106。在另一种实施方式中,配置机106f包括用于接收指令(例如,从管理组件218接收指令)的功能。在又一种实施方式中,配置机106f包括用于与一个或多个目录服务管理组件209a-n进行交互的功能。例如,配置机106f可以包括用于向目录服务管理组件209a传送用于访问或修改目录服务组织单位208a内的数据的指令的功能。
系统200包括多个托管服务器106(在图2A中示为托管服务器106c和托管服务器106d)。托管服务器106向远程机器102的用户提供对一个或多个虚拟化资源的访问。托管服务器106可以运行一个或多个超管理器216以提供虚拟化资源。在一种实施方式中,托管服务器106是(直接地或间接地,经由运行在托管服务器106上的虚拟机)提供对虚拟资源的访问的物理设备。
在一些实施方式中,目录服务器106b可以从配置机106f接收指令,并经由应用编程接口(API)指导该指令在该目录服务器106b上运行。类似地,配置机106f可以包括用于直接与运行在托管服务器106c-n上的超管理器216a-n通信的功能。在一些实施方式中,配置机106f可以包括用于与多种类型的超管理器中的任一种通信的功能。
在一些实施方式中,并且如将在下文中更详细地讨论的那样,托管服务器106c-d和目录服务器106b可以包括防火墙,使用该防火墙,多种资源被与其他资源隔离,并且与一个组织相关联的用户不可以访问其他组织的资源,即使是驻留在相同物理硬件上的资源。防火墙可以包括用于实施该隔离的策略。尽管防火墙资源被与同一物理硬件上和其他组织相关联的资源隔离,但是该防火墙资源可具有访问其他物理机器上的防火墙资源的权限,从而形成一种类型的虚拟局域网。
托管服务器106c-106cd可被提供为“混合使用”服务器,其提供对私有虚拟化资源和共享会话212a-n的访问,该私有虚拟化资源专用于单个用户(高级用户图像210a-n),该共享会话212a-n允许多个用户共享对虚拟化资源的访问。虚拟化资源可以包括虚拟化桌面、操作系统、应用程序或任意虚拟化软件或硬件资源。在一些实施方式中,托管服务器106c-106d是“多租户”服务器,因为它们向不同组织的用户提供访问。
在一些实施方式中,服务代理机106a、管理机106e以及配置机106f与第一组织相关联或由第一组织维护,并且目录服务器106b和托管服务器106c与第二组织相关联或由第二组织维护。以示例而非限制的方式,第二组织可以是向客户提供对虚拟化资源的访问的服务提供方。
现在参考图2B,框图描绘了用于在混合使用服务器中配置虚拟资源的系统的一种实施方式。作为示例而非限制的,图2B描绘了与第一实体相关联的第一多个资源230和与第二实体相关联的第二多个资源240。如图2B所示,第一多个资源230包括:在目录服务器106b上、目录服务207内提供的目录服务组织单位208a,运行在虚拟机206a(其本身运行在托管服务器106c上)上的高级用户图像210a,运行在虚拟机206c(其本身运行在托管服务器106d上)上的高级用户图像210b,以及由虚拟机206d(其自身也运行在托管服务器106d上)提供的共享会话212d。尽管在三个不同的机器上提供了这三个资源(这些机器本身可以驻留在相同或不同的网络上的相同或不同的数据中心中),从第一实体的角度来看,多个资源230形成单个逻辑结构。在该实施方式中,被指定供独立的组织使用的每个服务器或服务器组仅对于该组织是可见的,尽管其配置作为较大网段的一部分。类似地,第二多个资源240包括在目录服务器106b上的目录服务组织单位208b和运行在托管服务器106c上的多个共享会话212a-b;从第二实体的角度来看,多个资源240形成单个逻辑结构。在一些实施方式中,该多个资源可以被认为是“虚拟VLAN”。在这些实施方式的一种中,虚拟VLAN提供驻留在同一网段上的虚拟服务器系统之间的虚拟机级隔离。这减少了管理员的配置时间,降低了超管理器系统管理的复杂度,为每个客户实体提供安全定义的“围墙花园”,并且提供额外的安全分部(subdivision)以增强现有的VLAN和子网划分实践。
虽然本文中被称为引擎、代理以及组件,但在图2A-图2B中描绘的元件可以各自被提供为软件、硬件或两者的组合,并且可以运行在如上文图1A-图1D所述的一个或多个机器100上。尽管为了便于讨论,本文描述的某些组件被描绘为分离的实体,但应当理解的是,这并不将架构限制于特定的实现。例如,所描述的组件中的一些或全部的功能可以由单个电路或软件功能涵盖;作为另一示例,一个或多个组件的功能可以被分布到多个组件中。
现在参考图3A,流程图描绘了用于在多租户目录服务内生成安全的组织单位的方法300的一种实施方式。大体上,该方法300包括由配置机指导运行在目录服务器上的目录服务管理组件在该服务器上的目录服务内生成第一组织单位,该第一组织单位与第一实体相关联(302)。该方法300包括由配置机指导目录服务管理组件建立防火墙策略,该防火墙策略用于阻止被授权访问目录服务中的第二组织单位的用户访问该第一组织单位,该第二组织单位与第二实体相关联(304)。
该方法300包括由配置机指导运行在目录服务器上的目录服务管理组件在该服务器上的目录服务内生成第一组织单位,该第一组织单位与第一实体相关联(302)。在替代实施方式中,配置机106f与目录服务207通信以直接生成组织单位208。
在一种实施方式中,配置机106f创建目录服务管理组件209的新实例,该目录服务管理组件209运行在目录服务管理服务器106g上。在另一种实施方式中,配置机106f将指令传送到目录服务管理服务器106g上的目录服务管理组件209的已运行实例。在一种实施方式中,目录服务管理服务器106g被提供为WINDOWSACTIVE DIRECTORY域控制器。在另一种实施方式中,配合配置虚拟机206,来配置目录服务管理组件209。在又一种实施方式中,目录服务管理服务器106g上的配置设置允许目录服务管理组件209的配置。
在一种实施方式中,目录服务管理服务器106g不被限于提供目录服务管理功能。在另一种实施方式中,目录服务管理服务器106g提供用于认证用户的功能。在又一种实施方式中,目录服务管理服务器106g提供用于访问或修改用户组成员信息的功能。在另一种实施方式中,目录服务管理服务器106g提供用于访问或修改用户和组数据资源访问权限的功能。在又一种实施方式中,目录服务管理服务器106g提供用于访问或修改用户和组外围设备访问权限的功能。
在一种实施方式中,目录服务管理组件209根据由目录服务207提供的API向目录服务207传送用于生成组织单位的命令。在又一种实施方式中,组织单位是单个目录服务207的分部。在再一种实施方式中,配置机106f指导目录服务管理组件209在实体请求配置机106f建立组织单位之前传送该命令。例如,配置机106f可以令目录服务管理组件209生成占位符(placeholder)组织单位,使得当针对组织单位的新请求到来时,该组织单位已经可用。在一些实施方式中,在请求组织单位之前生成该组织单位提供了更快、更有效的配置过程。
该方法300包括由配置机指导目录服务管理组件建立防火墙策略,该防火墙策略阻止被授权访问目录服务中的第二组织单位的用户访问第一组织单位,该第二组织单位与第二实体相关联(304)。在一种实施方式中,目录服务管理组件209根据由运行在目录服务器106b上的操作系统提供的API向目录服务器106b传送命令。
在一种实施方式中,目录服务管理组件209在配置过程期间部署一个或多个防火墙规则,以为组织提供私有远程资源。在另一种实施方式中,目录服务管理组件209根据策略传送用于配置防火墙规则的命令,并使用运行在目录服务器106b上的操作系统的组件来控制每个组织单位级别的服务器系统配置例程。例如,目录服务管理组件209可以根据策略元件配置防火墙规则,并且可以使用WINDOWS组策略引擎来控制每个组织单位级别的服务器系统配置例程。作为另一示例,目录服务管理组件209可以传送用于运行启用防火墙策略的脚本的指令。作为另一示例,目录服务管理组件209访问组织单位的策略对象,该策略对象定义了使用组织单位的实体(例如,终端用户的公司)的至少一个属性,包括对该组织单位的用户可用的至少一个服务器的标识。在该示例中,目录服务管理组件209将组织单位的策略对象修改为包括至少一个防火墙规则,该防火墙规则将阻止未授权用户访问该组织单位的资源(例如,对用户是可用的服务器),即使该未授权用户可以访问目录服务207内的其他组织单位;目录服务器106b的操作系统接收对策略对象的修改的通知,并更新虚拟机206a-n的防火墙以反映该修改。作为另一示例,目录服务管理组件209修改组织单位的策略对象以包括至少一个防火墙规则,该至少一个防火墙规则将阻止未授权用户访问组织单位的资源(例如,在该组织单位内的数据),即使该未授权用户可以访问目录服务207内的其他组织单位;目录服务器106b的操作系统接收对策略对象的修改的通知,并更新目录服务器106b的防火墙以反映该修改。在一些实施方式中,提供多租户目录服务,同时也建立为保护每个租户的数据所需的防火墙规则,使得实施本文所述的方法和系统的服务提供方能够提供更灵活的、安全的资源,同时充分利用它们的物理资源。在这些实施方式的一种中,本文描述的方法和系统提供用于确保这些资源(例如,包括用户、应用和数据资源)在由共享目录服务207控制的同时仅对授权用户是可见的并且可访问的功能。
如上文所描述的,本文描述的方法和系统提供用于在同一物理机器的逻辑上不同的部分内为不同组织配置资源的功能。一旦被配置,本文所描述的方法和系统提供用于在终端用户机器与托管被配置的资源的服务器之间建立连接的功能,该资源包括可以向不同类型的用户提供不同类型的虚拟化资源的混合使用服务器。在一些实施方式中,本文描述的方法和系统通过服务代理机106a和虚拟机206a-n的组合,提供使得能够在多租户服务器中配置不同类型的虚拟化资源的功能。这样的功能可以使得服务提供方能够使用各种类型的服务器操作系统和共享的硬件资源,向终端用户提供一对一的桌面体验,同时保持符合各种服务器操作系统制造商的许可要求。
现在参考图3B,流程图描绘了用于在混合使用环境中配置虚拟资源的方法350的一种实施方式。该方法350包括由配置机指导运行在服务器上的超管理器在该服务器上配置虚拟机(352)。该方法350包括由配置机指导多租户目录服务内的第一组织单位的生成,该第一组织单位通过防火墙与多租户目录服务中的第二组织单位隔离(354)。该方法350包括由配置机将虚拟机与第一组织单位相关联(356)。该方法350包括由配置机在虚拟机上建立至少一个防火墙规则,该至少一个防火墙规则用于将到虚拟机的通信限制为来自明确被授权的机器的通信,该明确被授权的机器包括第一组织单位内的至少一个其他机器(358)。该方法350包括由配置机从管理组件接收用于为组织内的至少一个用户配置虚拟化资源的请求,在配置虚拟机并生成第一组织单位之后接收到该请求(360)。该方法350包括由配置机更新与第一组织单位相关联的数据以包括该至少一个用户的标识(362)。该方法350包括由配置机指导虚拟机托管虚拟化资源(364)。
更详细地,现在参照图3B并且结合图2A-图2B和图3A,该方法350包括由配置机指导运行在服务器上的超管理器在该服务器上配置虚拟机(352)。在一种实施方式中,配置机106f向运行在托管服务器106c上的超管理器216a传送用于配置虚拟机的指令。
该方法350包括由配置机指导多租户目录服务内的第一组织单位的生成,该第一组织单位通过防火墙与多租户目录服务的第二组织单位隔离(354)。在一种实施方式中,配置机106f指导目录服务管理组件209指示目录服务生成第一组织单位。在一些实施方式中,如上文结合图3A所描述的,配置机106指导组织单位的生成。
该方法350包括由配置机将虚拟机与第一组织单位相关联(356)。在一种实施方式中,配置机106f指导目录服务管理组件209进行这种关联。在另一种实施方式中,目录服务管理组件209指示目录服务207修改与第一组织单位相关联的数据以包括虚拟机的标识。在另一种实施方式中,目录服务管理组件209对第一组织单位本身进行修改;例如,目录服务管理组件209可以修改第一组织单位以列出(例如,在策略对象内)虚拟机的机器名,作为被指定用于为组织单位的成员提供对虚拟资源的访问的机器。
该方法350包括由配置机在虚拟机上建立至少一个防火墙规则,该至少一个防火墙规则用于将到虚拟机的通信限制为来自明确被授权的机器的通信,该明确被授权的机器包括第一组织单位内的至少一个其他机器(358)。在一种实施方式中,配置机106f指导目录服务管理组件209建立该至少一个防火墙规则。在另一种实施方式中,如上文结合图3A所述的,服务代理机106a建立该防火墙规则。
在一种实施方式中,在指导目录服务组织单位208a和虚拟机206的生成之后,配置机106f将虚拟机206标记为可用于托管虚拟资源。例如,配置机106f可以更新可用于托管虚拟资源的虚拟机的表格。
该方法350包括由配置机从管理组件接收用于为组织内的至少一个用户配置虚拟化资源的请求,在配置虚拟机并生成第一组织单位之后接收到该请求(360)。在一种实施方式中,配置机106f从管理组件218接收该请求。在另一实施方式中,配置机106f接收用于配置专用于单个用户(例如,作为高级用户图像210)或可供多个用户(例如,共享会话212)使用的虚拟化资源的请求。在一些实施方式中,该请求包括待被配置的资源类型的标识。例如,并且如上所述,资源可以是虚拟桌面、虚拟机、虚拟化应用或其他虚拟化资源。在其他实施方式中,指令包括为了托管虚拟化资源,虚拟机206应当具有的特性的标识(例如,内存量、处理能力级别或可用的会话数量)。
在一种实施方式中,配置机106f接收该请求中的用户信息,该用户信息标识待被授权访问虚拟化资源的一个或多个用户。在另一种实施方式中,配置机106f将用户信息转发到目录服务管理组件209。例如,用户信息可以包括与至少一个用户相关联的用户名。在这样的情况下,配置机106f可以生成与接收到的用户名相关联的资源用户名,以在访问虚拟化资源时使用;配置机106f可以将资源用户名存储在用户所属的组织的目录服务组织单位208中。作为另一示例,用户信息可以包括与用户相关联的服务的类型或级别。例如,最初配置用户账户的管理员可以将用户指定为高级用户,并且将该指定与其他用户账户信息一起存储,这使得系统200创建供该用户独占使用而不是在多个用户之间共享的虚拟化资源(例如,高级用户图像210a)。在一些实施方式中,先前配置的用户(其被最初配置为共享虚拟资源)随后可以例如通过管理组件218被指定为高级用户,该管理组件218可以在管理工作流管理器中对工作流请求进行排队以构建新的服务器实例;配置防火墙规则;安装应用;以及激活服务器以供新指定的高级用户独占使用。在这些实施方式的一种中,目录服务管理组件209a接收对目录服务组织单位208a的修改请求,并相应地修改该组织单位208a。在这些实施方式的另一种中,目录服务管理组件209a(周期性地或连续地)监测输入的改变请求,并相应地修改组织单位208a。
该方法350包括由配置机更新与第一组织单位相关联的数据以包括至少一个用户的标识(362)。在一种实施方式中,配置机106f指导目录服务管理组件209更新与第一组织单位相关联的数据。在另一实施方式中,目录服务管理组件209向目录服务207传送用于修改与第一组织单位相关联的数据以包括至少一个用户的标识的指令。
该方法350包括由配置机指导虚拟机托管虚拟化资源(364)。在一种实施方式中,配置机106f向运行在托管服务器106c上的虚拟机206传送用于托管虚拟化资源的指令。在一些实施方式中,配置机106f可以接收用于使得一些特定类型的虚拟化资源可用的指令(例如,使得三个高级用户图像210对于在目录服务组织单位208a中标识的组织XYZ可用;使得六个共享会话212对于在目录服务组织单位208b中标识的组织ABC可用),并将指示一个或多个虚拟机206配置该虚拟化资源。在一些实施方式中,管理至少一个托管服务器106c的服务提供方管理员修改至少一个防火墙规则以授权配置机106f与超管理器216a通信,以便配置和管理虚拟机206a-n。在其他实施方式中,配置机106f包括用于将命令转换成特定超管理器216a可以处理的格式的功能。例如,不同的托管服务器106c-n可以运行不同类型的超管理器216,并且配置机106f的功能允许其将命令转换成用于特定超管理器的适当格式。
在一种实施方式中,配置机106f向管理组件218提供配置机106f已完成配置过程的指示。在另一实施方式中,配置机106f向管理组件218提供用户接口的标识,配置的资源(通常在独立的组织单位内)的用户可使用该用户接口管理防火墙规则。该用户接口可以被提供作为远程桌面服务工作流管理平台的一部分,以用于在建立初始规则之后修改各个服务器系统的规则的目的。该接口允许服务管理员做出改变以允许特定的服务器间通信,但是将阻止管理员破坏基本防火墙原理,该防火墙阻止每个组织单位对同一VLAN内的其他服务器的任何未经授权的连接。
现在参考图4,流程图描绘了用于提供对混合使用服务器中的虚拟资源的访问的方法400的一种实施方式。该方法400包括由服务代理机从客户端机器接收至少一个凭证(402)。该方法400包括由服务代理机从数据库请求与至少一个凭证相关联的连接信息(404)。该方法400包括由服务代理机从数据库接收连接信息,该连接信息包括:(I)数据中心的标识;(II)数据中心中的至少一个虚拟机的标识,该至少一个虚拟机:(i)与第一组织相关联,(ii)被指定用于为与至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及(iii)运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机,并且向该第二组织的用户提供共享会话;以及(III)用于连接到至少一个虚拟机的资源用户名的标识(406)。该方法400包括由服务代理机向客户端机器提供该连接信息(408)。
更详细地,现在参照图4,并结合图2A-图2B和图3,该方法400包括由服务代理机从客户端机器接收至少一个凭证(402)。在一种实施方式中,服务代理机106a从机器102a上的客户端代理204a接收至少一个凭证。在另一实施方式中,用户连接引擎202接收该至少一个凭证。在一些实施方式中,服务代理机106a接收该至少一个凭证并且推断对虚拟资源的访问请求。在一些实施方式中,如上所述,服务代理机106a利用数据库222验证与至少一个凭证相关联的用户。在一种实施方式中,该凭证包括与客户端机器102的用户相关联的生物识别信息。在另一种实施方式中,该凭证包括密码。该方法400包括由服务代理机从数据库请求与至少一个凭证相关联的连接信息(404)。
该方法400包括由服务代理机从数据库接收连接信息,该连接信息包括:(I)数据中心的标识;(II)数据中心中的至少一个虚拟机的标识,该至少一个虚拟机:(i)与第一组织相关联,(ii)被指定用于为与至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及(iii)运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机,并且向该第二组织的用户提供共享会话;以及(III)用于连接到至少一个虚拟机的资源用户名的标识(406)。因此,该连接信息标识包括至少一个虚拟机和第二虚拟机两者的物理服务器,并且指示在与第二组织相关联的第二虚拟机向用户提供共享会话的同时,与第一组织相关联的至少一个虚拟机可以提供共享会话或专用会话。在一种实施方式中,服务代理机106a接收连接信息。在另一种实施方式中,用户连接引擎202接收该连接信息。在一种实施方式中,该连接信息包括与数据中心相关联的网关的标识。
该方法400包括由服务代理机向客户端机器提供连接信息(408)。在一种实施方式中,服务代理机106a向客户端代理204a提供标识和指令。在一种实施方式中,服务代理机106a录入客户端机器102的标识符。在一种实施方式中,服务代理机106a录入客户端机器102根据其连接到服务代理机106a的IP地址的标识符。在一些实施方式中,服务代理机106a专用于接收客户端凭证并自动返回客户端102连接到虚拟化资源所需要的信息,而不需要客户端102提供除所述凭证之外的关于其自身的任何信息。
在另一种实施方式中,客户端代理204a连接到所标识的虚拟机,并且向机器102a的用户提供对虚拟化资源的访问。在一种实施方式中,伴随对所标识的虚拟机的访问请求,客户端代理204a使用在连接信息中接收到的网关的标识来与所标识的数据中心连接。在另一种实施方式中,网关将客户端代理204a重定向到负载平衡机(未示出)。在又一种实施方式中,负载平衡机确定被指定用于向客户端代理204a的用户提供访问的多个虚拟机中的哪一个虚拟机可用。在又一种实施方式中,负载平衡机将客户端代理204a重定向到托管虚拟化资源的特定虚拟机。
在一些实施方式中,本文描述的方法和系统提供用于安全地配置混合使用服务器中的虚拟化资源,并建立与该虚拟化资源的连接的功能。
在一些实施方式中,本文描述的方法和系统提供用于在计划的虚拟化资源不可用性周期期间配置该虚拟化资源并建立到该虚拟化资源的连接的功能。如上所述,一些这样的方法和系统可以提供用于适应用户和/或项目对在计划的不可用性周期期间访问工作负载的灵活性的需求的功能。这样的功能可以被称为对会话服务器的按需唤醒。
如上文所描述的,在一些实施方式中,管理组件218提供用于允许管理员向配置机106f提供用于配置用户账户和虚拟化资源的指令的功能。在一些实施方式中,配置机106f接收虚拟化资源(例如,会话服务器)的可用性计划。举个例子,而非限制,虚拟化资源可以被分配一固定计划,由此在至少一个时间间隔期间(例如,在虚拟化资源的至少一个用户不被期望使用虚拟化资源的时间间隔期间),该虚拟化资源进入挂起状态,或者完全关闭。作为另一示例,管理员可以规定虚拟化资源应当仅在惯例的办公时间(例如,9AM至5PM)期间或者仅在特定用户已经设置为其的特定工作时间的小时期间可用。作为另一示例,管理员可以规定虚拟化资源应当在用户被期望需要访问该虚拟化资源之前的不久开始可用,直到不久之后。作为另一示例,管理员可以分析使用数据以确定特定用户使用特定虚拟化资源的时间,并且管理员可以根据该分析来设置虚拟化资源的可用性计划。
除了接收对虚拟化资源的可用性计划的规定,配置机106f还可以接收用户是否被授权在计划的不可用性时段请求并接收对虚拟化资源的访问的标识。举例来说,可以向高级用户授予在计划的不可用性时段请求并接收对虚拟化资源的访问的权利。作为另一示例,从事于超过对组织的重要性阈值水平的事宜的一个或多个用户可以被授予在计划的不可用性时段请求并接收对虚拟化资源的访问的权利。
在一种实施方式中,数据库222维护被施加于虚拟化资源的至少一个策略,其包括规定将在什么时间打开或关闭虚拟化资源的策略。在一种实施方式中,服务代理机106a运行编程逻辑以分析该至少一个策略,从而确定是否修改虚拟资源的状态。然后,服务代理机106a可以指示配置机106f修改虚拟资源的状态。例如,服务代理机106a可以指示配置机106f在系统环境(超管理器和服务器)上运行命令,以根据需要改变状态,从而符合计划。在一些实施方式中,策略规定虚拟化资源被计划为关闭的至少一个时段;如果系统100从被授权修改计划的用户接收到在计划的停机时间期间开启虚拟化资源的请求,系统可以运行如下详细描述的方法500,以便确定是否进行该修改并且之后这样做。在其他实施方式中,策略规定虚拟化资源被计划为总是关闭或不可用;在这样的实施方式中,如果系统100在任意时间接收到开启虚拟化资源的请求,系统可以运行如下详细描述的方法500,以便确定是否进行该修改并且之后这样做。在一些实施方式中,系统100运行用于修改图形用户接口以指示用户是否具有请求访问不可用的虚拟化资源(因为虚拟化资源默认不可用,或者因为在用户查看图形用户接口时,虚拟化资源在该时间点上不可用)的选项的功能。
现在参考图5,流程图描绘了用于选择性地向授权的用户账户的子集提供在计划的不可用性周期期间对会话服务器的按需唤醒访问的方法500的一种实施方式。在一种实施方式中,方法500引起系统的运行,以允许某些用户在计划的不可用性周期期间重新激活会话服务器,从而提供对会话服务器的按需唤醒访问。该方法500可以包括由服务代理机从客户端机器接收至少一个凭证(502)。该方法500可以包括由服务代理机从数据库请求与该至少一个凭证相关联的连接信息(504)。该方法500可以包括由服务代理机从数据库接收连接信息,该连接信息包括:(I)数据中心的标识;(II)数据中心中的至少一个虚拟机的标识,该至少一个虚拟机:(i)与第一组织相关联,(ii)被指定用于为与至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及(iii)运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机,并且向第二组织的用户提供共享会话;以及(III)用于连接到至少一个虚拟机的资源用户名的标识(506)。该方法500可以包括由服务代理机确定至少一个虚拟资源是不可用的(508)。该方法500可以包括由服务代理机确定所接收的凭证是否指示用户被授权请求对不可用的至少一个虚拟资源的重新激活(510)。该方法500可以包括由服务代理机指导对不可用的至少一个虚拟资源的重新激活(512)。该方法500可以包括由服务代理机向客户端机器提供连接信息(514)。该物理服务器可以基于该连接信息(例如,基于从服务代理接收到的连接信息的副本或基于从客户端机器接收到的连接请求,该连接请求用到该连接信息)在客户端机器与向用户提供至少一个虚拟资源的至少一个虚拟机之间建立连接。
该方法500可以包括由服务代理机从客户端机器接收至少一个凭证(502)。在一种实施方式中,如上结合图4(402)所描述的,服务代理机接收至少一个凭证。如上所述,客户端机器102的用户可以经由运行在客户端机器102上的客户端代理发起登录流程。用户可以将至少一个凭证输入到客户端代理中。如上所述,服务代理机106a可以验证接收到的用户凭证(例如,对照凭证数据库)。
该方法500可以包括由服务代理机从数据库请求与至少一个凭证相关联的连接信息(504)。在一种实施方式中,如上结合图4(404)所描述的,服务代理机请求该连接信息。
该方法500可以包括由服务代理机从数据库接收该连接信息,该连接信息包括:(I)数据中心的标识;(II)数据中心中的至少一个虚拟机的标识,该至少一个虚拟机:(i)与第一组织相关联,(ii)被指定用于为与至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及(iii)运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机,并且向该第二组织的用户提供共享会话;以及(III)用于连接到该至少一个虚拟机的资源用户名的标识(506)。在一种实施方式中,如上结合图4(406)所描述的,服务代理机接收该连接信息。
该方法500可以包括由服务代理机确定至少一个虚拟资源是不可用的(508)。服务代理机106a可以查询数据库222以确定虚拟资源的状态。服务代理机106a可以从管理机106e请求可用性的标识,该管理机106e继而可以(例如,经由直接或间接网络通信)查询虚拟资源以确定可用性。在一些实施方式中,因为提供虚拟资源的虚拟机206已经被关闭,所以该虚拟资源(例如,会话服务器)是不可用的。在其他实施方式中,因为提供对虚拟资源的访问(例如,提供对应用程序的访问)的会话服务器不可用,所以该虚拟资源是不可用的。提供对资源的访问或其自身是资源的虚拟机可以是专用的(例如,对于单个用户)或者是共享的(例如,可供多个用户使用)。在一种实施方式中,服务代理机106a可以请求与虚拟资源相关联的可用性计划(例如,从策略数据库),并确定虚拟资源是可用的还是不可用的(也被称为是活着的还是没活着的,是挂起的还是未挂起的,以及是关闭的还是开启的)。该系统可以包括用户接口(例如,经由web服务器或经由web服务应用编程接口调用变得对用户可用),利用该用户接口用户可以设置计划;系统可以修改数据结构(例如,数据库条目)以包括接收到的用于规定计划信息的用户输入。在一些实施方式中,服务代理机106a查询策略数据库以确定至少一个虚拟资源何时被计划为不可用,并且确定该至少一个虚拟资源是不可用的。在其他实施方式中,服务代理机106a查询策略数据库以确定提供对该至少一个虚拟资源的访问的会话服务器何时被计划为不可用的,并且确定该至少一个虚拟资源是不可用的。
在一些实施方式中,服务代理机106a确定在接收到凭证时,提供对虚拟资源的访问的计算环境被计划为不可用(例如,按照固定的计划处于挂起状态,由此系统在服务不被期望来被使用的时间间隔期间被关闭)。
如果服务不是活着的,则服务代理机106a检查用户凭证以确定用户是否具有将服务状态从“没活着的”改为“活着的”的许可。被授权进行这种改变的用户的示例可以包括被批准在下班期间工作的用户(例如,在必要时被批准加班的随时待命的用户)。未被这样授权的用户的示例可以包括仅被授权工作特定小时的非雇员或雇员(例如,未被批准加班的进行倒班的用户)。对照数据库222,对所提供的用户凭证进行验证,该数据库222包含将终端用户连接到相关联的服务平台所需的至少一个属性。在这些属性之中,有一个属性用于规定用户是否具有改变系统状态的权限。在一种实施方式中,当用户尝试登录时,检查存储在数据库222中的用户的环境状态以评估其计划的状态。
如果所请求的资源是可用的,则如上所述,服务代理机106a指导客户端机器与提供所请求的资源的物理机之间的连接的建立。如果所请求的资源不可用,而用户不具有改变状态的许可,在客户端机器102上显示消息,该消息指示由于管理限制而导致服务不可用,并且用户应该联系他们的系统管理员(该消息可以是各种形式的语句和语言,并且该消息可以由管理员定制)。
该方法500可以包括由服务代理机确定用户是否被授权请求对不可用的至少一个虚拟资源的重新激活(510)。如果状态为“关闭”,则数据库中的用户的账户信息被评估,以确定该用户是否具有权限来开启该环境;如果用户具有权限,则向用户呈现将允许他们打开系统的交互式对话。举个例子,如果用户具有改变所请求的资源的状态的权限,消息被显示提供,以通过选择例如“开始”或“确认(ok)”或“接受”或类似语言的提示来改变状态。该消息还可由管理员配置。该消息可以包括关于附加服务费用的警告。服务代理机可以推迟对不可用的至少一个虚拟资源的重新激活,直到服务代理机接收到包括对用于唤醒该资源的指令的确认而不管至少一个警告的用户输入。
该方法500可以包括由服务代理机指导对不可用的至少一个虚拟资源的重新激活(512)。在一些实施方式中,服务代理机106a可以向运行在托管服务器106上的虚拟化超管理器216发送针对所请求的至少一个虚拟资源的系统开始命令,该托管服务器106提供对所请求的至少一个虚拟化资源的访问。在其他实施方式中,服务代理机106a可以指导对会话服务器的重新激活,该会话服务器提供对不可用的至少一个虚拟资源的访问。在其他实施方式中,服务代理机106a指示配置机106f重新激活用于提供虚拟资源的虚拟机206。在又一些实施方式中,服务代理机106a可以向管理机106e(例如,向管理组件218)发送指令,以使用虚拟机服务向超管理器发送应用编程接口(API)调用以激活该资源。系统开始命令可以包括应当被启动以便提供对所请求的服务的访问的虚拟服务器系统(例如,虚拟机206)的标识(例如,名称)。超管理器216可以向指定的虚拟机206发起启动命令。当虚拟资源的状态从不可用变为可用时,系统200可以将系统状态的变化记录到数据库222中;系统200可以跟踪虚拟资源的状态,并跟踪每个这样的虚拟资源的状态变化。系统200可以记录虚拟资源的状态的修改;例如,系统200可以录入事件,包括时间、日期、用户标识和至少一个被激活的资源的标识。在一种实施方式中,服务代理机106a运行应用程序以记录系统状态的改变,包括录入资源状态的修改和相关联的数据。在另一种实施方式中,使得基于web的门户网站可用的机器也运行该应用程序以记录系统状态的变化。如本领域普通技术人员将理解的,系统200中的任何机器或组件可以通过运行该应用程序以记录系统状态的变化的方式来提供该录入功能。
服务代理机106a可以在已经发送重新激活命令之后周期性地或连续地检查对虚拟资源(例如,会话服务器、虚拟机或其他虚拟资源)的状态的修改。
该方法500可以包括由服务代理机向客户端机器提供连接信息(514)。该方法500可以包括由物理服务器(例如,在所接收的连接信息中标识的物理服务器)基于该连接信息,在客户端机器与向用户提供至少一个虚拟资源的至少一个虚拟机之间建立连接。
在一种实施方式中,该方法500包括向客户端机器102传送用于指示系统已经开始重新激活所请求的资源的过程的通知;该通知可以被发送到做出该请求的客户端机器102或者被发送到也由该客户端机器102的用户访问的第二客户端机器(例如,发送到由客户端机器102的用户使用的移动计算设备或智能电话)。例如,包括在系统200中的消息传送系统(未示出)可以生成电子邮件(例如,使用外部电子邮件系统和先前存储的凭证),并向请求该访问的客户端机器102的用户发送该电子邮件。作为另一示例,消息传送系统可以生成文本消息(例如,使用用于根据短消息服务(SMS)协议传送电子消息的第三方平台)。
运行在机器102a上的客户端代理204a可以周期性地查询服务代理机106a,直到客户端代理204a接收到所请求的资源为可用的指示。当接收到状态改变完成并且所请求的资源已经被激活的指示时,客户端代理204a可以使用在用户的初始登录尝试期间存储的终端用户凭证,自动建立到在所接收的连接信息中标识的物理机器的连接。
可替换地,客户端代理204a可以被配置为以规则的间隔周期性地重试其到所请求的服务环境的连接(例如,每周期重试一次,其中,该周期可以由用户建立;例如但不限于,该周期可以是15、30、45或60秒,或由机器或用户规定的一些其他周期),直到成功建立连接。
可替换地,服务代理机106a可以被编程为连续查询数据库222以确定系统状态是否已经改变,并且一旦状态指示所请求的资源已经被激活,可以代表机器102a发起其连接。
可替换地,运行在机器102a上的HTML5门户应用程序可以被编程为以规则的间隔周期性地重试其到所请求的服务环境的连接(例如,每周期重试一次,其中,该周期可以由用户建立;例如但不限于,该周期可以是15、30、45或60秒,或由机器或用户规定的一些其他周期),直到成功建立连接(例如,经由由服务代理机106a提供的web服务)。
可替换地,在激活完成时,在所接收的连接信息中标识的物理机器可以建立到该机器102的连接。
如本领域普通技术人员将理解的,这些替代方法可以被组合,或以其他方式配置在客户端代理204a和HTML5门户中,以提供用户可以控制的选项和设置,从而改变用户的端点设备、机器102a的功能。
应当理解的是,上述系统可以提供这些组件中的任一种或每一种,且数量为多个,并且这些组件可以被提供在独立的机器上,或者,在一些实施方式中,被提供在分布式系统中的多个机器上。短语“在一种实施方式中”、“在另一种实施方式中”等通常意指在该短语后的特定特征、结构、步骤或特点被包括在本公开的至少一种实施方式中,并且可以被包括在本公开的多于一种的实施方式中。这样的短语可以但不一定指代相同的实施方式。
如上所述的系统和方法可以被实现为使用编程和/或工程技术来产生软件、固件、硬件或其任意组合的方法、装置或制品。上述技术可以在运行在可编程计算机上的一个或多个计算机程序中实现,该可编程计算机包括处理器、可由处理器读取的存储介质(例如,包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。可以将程序代码应用于使用输入设备输入的输入,以执行所描述的功能并生成输出。该输出可以被提供给一个或多个输出设备。
以下权利要求书的范围内的每个计算机程序可以用诸如汇编语言、机器语言、高级程序编程语言、或面向对象的编程语言之类的任意编程语言来实现。编程语言可以例如是LISP、PROLOG、PERL、C、C++、C#、JAVA或任意编译或解译的编程语言。
每个这样的计算机程序可以在有形地包含在机器可读存储设备中以供计算机处理器运行的计算机程序产品中实现。本发明的方法步骤可以由计算机处理器执行,该计算机处理器运行有形地包含在计算机可读介质上的程序,以通过对输入进行操作并生成输出来执行本发明的功能。举个例子,合适的处理器包括通用微处理器和专用微处理器两者。通常,处理器从只读存储器和/或随机存取存储器接收指令和数据。例如,适用于有形地包含计算机程序指令的存储设备包括所有形式的计算机可读设备、固件、可编程逻辑、硬件(例如,集成电路芯片;电子器件;计算机可读非易失性存储单元;非易失性存储器,诸如半导体存储器设备,包括EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM)。任意前述内容都可以由专门设计的ASIC(专用集成电路)或FPGA(现场可编程门阵列)来补充或合并在其中。计算机通常还可以从诸如内部盘(未示出)或可移动盘之类的存储介质接收程序和数据。这些元件也将在常规的台式计算机或工作站计算机以及适合于运行实现本文所描述的方法的计算机程序的其他计算机中找到,其可与任意数字打印引擎或标记引擎、显示监视器、或能够在纸张、胶片、显示屏或其他输出介质上产生彩色或灰度像素的其他光栅输出设备结合使用。计算机还可以通过网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号等,从提供对程序的访问的第二计算机接收程序和数据。
描述了用于提供对会话服务器的按需唤醒访问的方法和系统的某些实施方式,本领域技术人员现在将显而易见的是,可以使用包含本公开的概念的其他实施方式。因此,本公开不应被限制于特定实施方式,而是仅由所附的权利要求书的范围和精神来限定。

Claims (19)

1.一种用于选择性地向授权的用户账户的子集提供在计划的不可用性周期期间对会话服务器的按需唤醒访问的方法,该方法包括:
由服务代理机从客户端机器接收至少一个凭证;
由所述服务代理机从数据库请求与所述至少一个凭证相关联的连接信息;
由所述服务代理机从所述数据库接收连接信息,所述连接信息包括:
I.数据中心的标识;
II.所述数据中心中的至少一个虚拟机的标识,所述至少一个虚拟机:
(i)与第一组织相关联;
(ii)被指定用于为与所述至少一个凭证相关联的用户提供对至少一个虚拟资源的访问;以及
(iii)运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机并向所述第二组织的用户提供共享会话;以及
III.用于连接到所述至少一个虚拟机的资源用户名的标识;
由所述服务代理机确定所述至少一个虚拟资源是不可用的;
由所述服务代理机确定所接收的凭证是否指示所述用户被授权请求对所述不可用的至少一个虚拟资源的重新激活;
由所述服务代理机指导对所述不可用的至少一个虚拟资源的重新激活;以及
由所述服务代理机向所述客户端机器提供所述连接信息,
其中,所述物理服务器基于所述连接信息在所述客户端机器与向所述用户提供所述至少一个虚拟资源的所述至少一个虚拟机之间建立连接。
2.根据权利要求1所述的方法,其中确定所述至少一个虚拟资源是不可用的还包括:从所述数据库接收表明所述至少一个虚拟资源为不可用的指示。
3.根据权利要求1所述的方法,其中确定所述至少一个虚拟资源是不可用的还包括:
查询策略数据库以确定所述至少一个虚拟资源何时被计划为不可用;以及
确定所述至少一个虚拟资源是不可用的。
4.根据权利要求1所述的方法,其中确定所述至少一个虚拟资源是不可用的还包括:
查询策略数据库以确定提供对所述至少一个虚拟资源的访问的会话服务器何时被计划为不可用;以及
确定所述会话服务器是不可用的。
5.根据权利要求1所述的方法,其中由所述服务代理机指导对所述不可用的至少一个虚拟资源的重新激活还包括:指导对提供对所述不可用的至少一个虚拟资源的访问的会话服务器的重新激活。
6.根据权利要求1所述的方法,其中由所述服务代理机指导对所述不可用的至少一个虚拟资源的重新激活还包括:向超管理器传送指令以重新激活提供对所述不可用的至少一个虚拟资源的访问的会话服务器。
7.根据权利要求1所述的方法,其中接收所述连接信息还包括:接收与所述数据中心相关联的网关的标识。
8.根据权利要求1所述的方法,该方法还包括生成用于标识所述服务代理机接收到所述至少一个凭证的日期的记录。
9.根据权利要求1所述的方法,该方法还包括生成用于存储所述客户端机器的标识符的记录。
10.根据权利要求1所述的方法,该方法还包括生成用于存储IP地址的标识符的记录,所述客户端机器根据所述IP地址连接到所述服务代理机。
11.根据权利要求1所述的方法,其中接收所述至少一个凭证还包括:接收与所述客户端机器的用户相关联的生物识别信息。
12.根据权利要求1所述的方法,其中接收所述至少一个凭证还包括:接收密码。
13.一种用于在混合使用的虚拟化环境中提供对虚拟化资源的访问的服务代理机,该服务代理机包括:
用户连接引擎,用于:(i)运行用于从客户端机器接收至少一个凭证的网络服务;(ii)从数据库请求与所述至少一个凭证相关联的连接信息;以及(iii)从所述数据库接收连接信息,所述连接信息包括:
I.数据中心的标识;
II.所述数据中心中的至少一个虚拟机的标识,所述至少一个虚拟机与第一组织相关联,所述至少一个虚拟机被指定用于为与所述至少一个凭证相关联的用户提供对至少一个虚拟资源的访问,以及所述至少一个虚拟机运行在物理服务器上,该物理服务器托管与第二组织相关联的第二虚拟机并向所述第二组织的用户提供共享会话;以及
III.用于连接到所述至少一个虚拟机的资源用户名的标识;
管理组件,用于:(i)向配置机传送对所标识的至少一个虚拟机的配置请求,该请求包括被配置的资源类型的标识和与所述用户相关联的用户信息;(ii)接收表明所请求的至少一个虚拟资源为不可用的指示;(iii)确定所接收的凭证是否指示所述用户被授权请求对所述不可用的至少一个虚拟资源的重新激活;以及(iv)指导对所述不可用的至少一个虚拟资源的重新激活;以及
发射机,用于向所述客户端机器提供所述连接信息;
其中所述物理服务器基于所述连接信息在所述客户端机器与向所述用户提供所述至少一个虚拟资源的所述至少一个虚拟机之间建立连接。
14.根据权利要求13所述的服务代理机,其中所述连接信息包括与所述数据中心相关联的网关的标识。
15.根据权利要求13所述的服务代理机,该服务代理机还包括用于标识所述服务代理机接收到所述至少一个凭证的日期的记录。
16.根据权利要求13所述的服务代理机,该服务代理机还包括用于存储所述客户端机器的标识符的记录。
17.根据权利要求13所述的服务代理机,该服务代理机还包括用于存储IP地址的标识符的记录,所述客户端机器根据该IP地址连接到所述服务代理机。
18.根据权利要求13所述的服务代理机,其中所述至少一个凭证还包括与所述客户端机器的用户相关联的生物识别信息。
19.根据权利要求13所述的服务代理机,其中所述至少一个凭证还包括密码。
CN201880022246.5A 2017-03-28 2018-03-27 用于提供对会话服务器的按需唤醒访问的方法及系统 Active CN110463163B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762477462P 2017-03-28 2017-03-28
US62/477,462 2017-03-28
PCT/US2018/024545 WO2018183312A1 (en) 2017-03-28 2018-03-27 Methods and systems for providing wake-on-demand access to session servers

Publications (2)

Publication Number Publication Date
CN110463163A true CN110463163A (zh) 2019-11-15
CN110463163B CN110463163B (zh) 2022-08-05

Family

ID=63671221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880022246.5A Active CN110463163B (zh) 2017-03-28 2018-03-27 用于提供对会话服务器的按需唤醒访问的方法及系统

Country Status (10)

Country Link
US (3) US10819702B2 (zh)
EP (1) EP3603028B1 (zh)
JP (1) JP2020516982A (zh)
KR (1) KR20190125465A (zh)
CN (1) CN110463163B (zh)
AU (1) AU2018244293A1 (zh)
BR (1) BR112019019654A2 (zh)
CA (1) CA3054071A1 (zh)
MX (1) MX2019011257A (zh)
WO (1) WO2018183312A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819702B2 (en) 2017-03-28 2020-10-27 Netapp, Inc. Methods and systems for providing wake-on-demand access to session servers
CN114830618A (zh) * 2020-03-10 2022-07-29 Oppo广东移动通信有限公司 资源管理方法、装置及可读存储介质
CN116530073A (zh) * 2020-12-11 2023-08-01 亚马逊技术股份有限公司 无边界访问控制服务

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11283896B2 (en) * 2019-04-10 2022-03-22 Jpmorgan Chase Bank, N.A. Methods for implementing a framework for consumption of services for enterprise cloud platforms
US20210319038A1 (en) * 2020-04-13 2021-10-14 Ambry Hill Technologies, LLC Software agnostic web located application interface to a locally located database integration broker functionality
KR102149209B1 (ko) * 2020-05-27 2020-08-28 주식회사 두두아이티 가상머신을 제공하는 방법 및 장치
KR102165428B1 (ko) * 2020-06-18 2020-10-14 주식회사 두두아이티 가상머신을 이용하여 콘텐츠를 제공하는 방법 및 장치
US11271953B1 (en) 2021-01-29 2022-03-08 Netskope, Inc. Dynamic power user identification and isolation for managing SLA guarantees
US11805177B2 (en) * 2021-11-24 2023-10-31 Sap Se On-demand start and stop of managed systems
US20240095397A1 (en) * 2022-09-16 2024-03-21 Sap Se Evaluating machine learning on remote datasets using confidentiality-preserving evaluation data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153716A1 (en) * 2009-12-21 2011-06-23 Microsoft Corporation Enabling virtual desktop connections to remote clients
CN102460393A (zh) * 2009-05-01 2012-05-16 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
CN103842985A (zh) * 2011-09-29 2014-06-04 李青锺 强化安全防护的云系统及其安全防护管理方法
US20160117187A1 (en) * 2014-06-25 2016-04-28 Independenceit, Inc. Methods and systems for provisioning a virtual resource in a mixed-use server
US20170048125A1 (en) * 2015-08-11 2017-02-16 Citrix Systems, Inc. Continuous Monitoring of Data Servers Using a Shadowing Proxy

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900305B2 (en) * 1998-01-12 2018-02-20 Soverain Ip, Llc Internet server access control and monitoring systems
US6522875B1 (en) * 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6813766B2 (en) * 2001-02-05 2004-11-02 Interland, Inc. Method and apparatus for scheduling processes based upon virtual server identifiers
US20030233361A1 (en) * 2002-06-13 2003-12-18 Cady C. Conrad Resumption of user authentication and restoration of interrupted virtual sessions in a stateless network
US7346792B2 (en) * 2004-08-12 2008-03-18 International Business Machines Corporation Method and system for managing peripheral connection wakeup in a processing system supporting multiple virtual machines
US20060271798A1 (en) * 2005-05-31 2006-11-30 Sony Computer Entertainment America Inc. Configurable interrupt scheme for waking up a system from sleep mode
US7680643B2 (en) * 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
US8087021B1 (en) * 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8555274B1 (en) * 2006-03-31 2013-10-08 Vmware, Inc. Virtualized desktop allocation system using virtual infrastructure
US8015563B2 (en) * 2006-04-14 2011-09-06 Microsoft Corporation Managing virtual machines with system-wide policies
US8141075B1 (en) * 2006-05-08 2012-03-20 Vmware, Inc. Rule engine for virtualized desktop allocation system
US20080026845A1 (en) * 2006-07-14 2008-01-31 Maximino Aguilar Wake-on-Event Game Client and Monitor for Persistent World Game Environment
US8949295B2 (en) * 2006-09-21 2015-02-03 Vmware, Inc. Cooperative memory resource management via application-level balloon
US8856782B2 (en) * 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
ES2304879B1 (es) * 2007-04-03 2009-10-23 Vodafone España, S.A Procedimiento para evitar sobrecarga en redes de telefonia movil por 'always-on' en el caso de una llamada entrante.
EP2203818A2 (en) * 2007-10-21 2010-07-07 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US9294296B2 (en) 2007-10-31 2016-03-22 Hewlett Packard Enterprise Development Lp Automated test execution in a shared virtualized resource pool
CA2659141C (en) * 2008-03-20 2014-07-08 Embotics Corporation Method and system for supporting wake-on-lan in a virtualized environment
JP4618455B2 (ja) * 2008-04-09 2011-01-26 日本電気株式会社 端末装置、ネットワーク接続方法及びプログラム
US20130054426A1 (en) 2008-05-20 2013-02-28 Verizon Patent And Licensing Inc. System and Method for Customer Provisioning in a Utility Computing Platform
NO327874B1 (no) * 2008-09-30 2009-10-12 Rosberg System As Dataenhet og fremgangsmate for etablering av en nettforbindelse
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
US9009329B2 (en) * 2008-11-25 2015-04-14 Microsoft Technology Licensing, Llc Platform for enabling terminal services virtualization
US8131987B2 (en) * 2008-12-10 2012-03-06 Dell Products L.P. Virtual appliance pre-boot authentication
US8336079B2 (en) * 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
JP5343586B2 (ja) * 2009-01-29 2013-11-13 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8935436B2 (en) * 2009-02-18 2015-01-13 Qualcomm Incorporated Wakeup trigger to support multiple user interfaces, environments, and/or virtual machines
TW201038077A (en) * 2009-04-13 2010-10-16 Avermedia Tech Inc Remote wake-up method, host to be awakened remotely, and wake-up management server
US9003411B2 (en) 2009-05-13 2015-04-07 Verizon Patent And Licensing Inc. Automated provisioning and configuration of virtual and physical servers
US8281018B2 (en) * 2009-06-22 2012-10-02 Red Hat Israel, Ltd. Method for automatically providing a client with access to an associated virtual machine
US8738781B2 (en) * 2009-06-22 2014-05-27 Red Hat Israel, Ltd. Launching a virtual machine associated with a client during startup
US8135818B2 (en) * 2009-06-22 2012-03-13 Red Hat Israel, Ltd. Automatic virtual machine migration in mixed SBC/CBC environment
US8341213B2 (en) * 2009-06-22 2012-12-25 Red Hat Israel, Ltd. Method for improving boot time of a client having a virtualized operating environment
US20110029971A1 (en) * 2009-07-30 2011-02-03 Fujitsu Limited Information processing apparatus, image processing method and computer program
EP3002703B1 (en) * 2009-12-14 2017-08-30 Citrix Systems Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US8949408B2 (en) * 2009-12-18 2015-02-03 Microsoft Corporation Session monitoring of virtual desktops in a virtual machine farm
JP5477047B2 (ja) * 2010-02-25 2014-04-23 富士通株式会社 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体
CN102169484B (zh) * 2010-02-26 2014-08-13 威睿公司 虚拟化环境中综合的、相关的和动态的数据搜索
WO2011143103A2 (en) * 2010-05-10 2011-11-17 Citrix Systems, Inc. Redirection of information from secure virtual machines to unsecure virtual machines
US8601226B1 (en) 2010-05-20 2013-12-03 Gogrid, LLC System and method for storing server images in a hosting system
US8874891B2 (en) * 2010-05-20 2014-10-28 Hewlett-Packard Development Company, L.P. Systems and methods for activation of applications using client-specific data
US8972980B2 (en) 2010-05-28 2015-03-03 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US8443376B2 (en) * 2010-06-01 2013-05-14 Microsoft Corporation Hypervisor scheduler
US9141625B1 (en) * 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
AU2011308518B2 (en) * 2010-09-30 2014-12-04 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
US8607054B2 (en) * 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US9081613B2 (en) * 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8533724B1 (en) 2010-12-20 2013-09-10 Amazon Technologies, Inc. Virtual resource provisioning by assigning colors to virtual resources in multi-tenant resource pool
US9250863B1 (en) * 2010-12-28 2016-02-02 Amazon Technologies, Inc. Managing virtual machine migration
US9098214B1 (en) * 2010-12-28 2015-08-04 Amazon Technologies, Inc. Managing virtual machine migration
US8984506B2 (en) 2011-01-07 2015-03-17 International Business Machines Corporation Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments
US9552215B2 (en) * 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
US20120246740A1 (en) 2011-03-22 2012-09-27 Brooker Marc J Strong rights management for computing application functionality
WO2012151392A1 (en) * 2011-05-04 2012-11-08 Citrix Systems, Inc. Systems and methods for sr-iov pass-thru via an intermediary device
JP5824911B2 (ja) * 2011-06-29 2015-12-02 富士通株式会社 情報処理装置、情報処理プログラムおよび管理方法
US8943564B2 (en) * 2011-07-21 2015-01-27 International Business Machines Corporation Virtual computer and service
US9348626B2 (en) * 2011-08-05 2016-05-24 Vmware, Inc. Mobile device maintaining adequate security and data partitioning between user mode and business mode
US9171139B2 (en) * 2011-08-05 2015-10-27 Vmware, Inc. Lock screens to access work environments on a personal mobile device
US8949929B2 (en) * 2011-08-10 2015-02-03 Qualcomm Incorporated Method and apparatus for providing a secure virtual environment on a mobile device
US8954704B2 (en) 2011-08-12 2015-02-10 International Business Machines Corporation Dynamic network adapter memory resizing and bounding for virtual function translation entry storage
US8761101B1 (en) * 2011-10-13 2014-06-24 Excelfore Corporation Network based machine-to-machine system for monitoring
US8850512B2 (en) * 2011-10-13 2014-09-30 Mcafee, Inc. Security assessment of virtual machine environments
JP5784482B2 (ja) * 2011-12-28 2015-09-24 株式会社東芝 情報処理装置および通信制御方法
US20130212413A1 (en) * 2012-01-07 2013-08-15 Acer Cloud Technology, Inc. Cloud Remote Wakeup
US9124633B1 (en) * 2012-03-29 2015-09-01 Infoblox Inc. IP address and domain name automation of virtual infrastructure
US8843935B2 (en) * 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
US9119035B2 (en) * 2012-05-22 2015-08-25 Cisco Technology, Inc. Location-based power management for virtual desktop environments
JP6028403B2 (ja) * 2012-06-11 2016-11-16 サンケン電気株式会社 電源装置、プログラム、制御方法、電源管理装置および電源管理プログラム
US9389898B2 (en) * 2012-10-02 2016-07-12 Ca, Inc. System and method for enforcement of security controls on virtual machines throughout life cycle state changes
US9804798B2 (en) * 2012-12-14 2017-10-31 Vmware, Inc. Storing checkpoint file in high performance storage device for rapid virtual machine suspend and resume
US9286086B2 (en) * 2012-12-21 2016-03-15 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9378035B2 (en) * 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9971616B2 (en) * 2013-02-26 2018-05-15 Red Hat Israel, Ltd. Virtual machine suspension
US9933832B2 (en) * 2013-03-14 2018-04-03 Vmware, Inc. Systems and methods for modifying power states in a virtual environment
US9432941B2 (en) * 2013-07-05 2016-08-30 Mediatek Inc. Method for performing wake-up control with aid of wake-up packet, and associated apparatus
KR101694518B1 (ko) * 2013-08-05 2017-01-23 한국전자통신연구원 가상 노드 배치 관리 시스템 및 방법
US20150046425A1 (en) * 2013-08-06 2015-02-12 Hsiu-Ping Lin Methods and systems for searching software applications
KR20150042643A (ko) * 2013-10-11 2015-04-21 삼성전자주식회사 Vdi 환경에서 가상 서버와 접속을 위한 단말 장치 및 방법
US20150113614A1 (en) * 2013-10-18 2015-04-23 Sehrope Sarkuni Client based systems and methods for providing users with access to multiple data bases
US20150113144A1 (en) * 2013-10-21 2015-04-23 Alcatel-Lucent Usa Inc. Virtual resource placement for cloud-based applications and solutions
US9563457B2 (en) * 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
US9671945B2 (en) * 2013-12-17 2017-06-06 American Megatrends, Inc. Techniques of launching virtual machine from thin client
US9952946B2 (en) * 2014-02-04 2018-04-24 Telefonaktiebolaget L M Ericsson (Publ) Managing service availability in a mega virtual machine
WO2015122143A1 (ja) * 2014-02-13 2015-08-20 日本電気株式会社 通信システム、通信装置、通信方法及びプログラムが格納された非一時的なコンピュータ可読媒体
US10129105B2 (en) * 2014-04-09 2018-11-13 International Business Machines Corporation Management of virtual machine placement in computing environments
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9680920B2 (en) * 2014-09-08 2017-06-13 International Business Machines Corporation Anticipatory resource allocation/activation and lazy de-allocation/deactivation
US9954933B2 (en) * 2014-09-30 2018-04-24 Amazon Technologies, Inc. Scheduled virtual desktops
US10079797B2 (en) * 2014-10-29 2018-09-18 Vmware, Inc. Methods, systems and apparatus to remotely start a virtual machine
US9563454B2 (en) * 2015-02-03 2017-02-07 International Business Machines Corporation Using a mobile device to transfer virtual machine between computers while preserving session
US9870246B2 (en) * 2015-02-09 2018-01-16 Dell Products L.P. Systems and methods for defining virtual machine dependency mapping
US9632813B2 (en) * 2015-06-22 2017-04-25 Vmware, Inc. High availability for virtual machines in nested hypervisors
EP3113092B1 (en) * 2015-07-03 2021-12-01 Huawei Technologies Co., Ltd. Method and apparatus for managing virtual execution environments using contextual information fragments
US9886299B2 (en) * 2015-07-28 2018-02-06 American Megatrends, Inc. System and method for dynamically allocating resources of virtual machines based on service-level agreements (SLA) and privilege levels of users
US10268493B2 (en) * 2015-09-22 2019-04-23 Amazon Technologies, Inc. Connection-based resource management for virtual desktop instances
US9678783B2 (en) * 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
US10037221B2 (en) * 2015-12-28 2018-07-31 Amazon Technologies, Inc. Management of virtual desktop instance pools
US10176008B2 (en) * 2016-05-19 2019-01-08 Airwatch, Llc Loading and running virtual working environments in a mobile device management system
US9940159B1 (en) * 2016-06-09 2018-04-10 Parallels IP Holdings GmbH Facilitating hibernation mode transitions for virtual machines
US10423437B2 (en) * 2016-08-17 2019-09-24 Red Hat Israel, Ltd. Hot-plugging of virtual functions in a virtualized environment
US10771566B2 (en) * 2016-10-13 2020-09-08 Sierraware, Llc Device and system for cloud based mobile application virtualization
US10678758B2 (en) * 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10462124B2 (en) * 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
US10541992B2 (en) * 2016-12-30 2020-01-21 Google Llc Two-token based authenticated session management
US10310872B2 (en) * 2017-02-21 2019-06-04 Red Hat, Inc. Transparent fast application launcher
EP3603028B1 (en) 2017-03-28 2023-05-24 NetApp, Inc. Methods and systems for providing wake-on-demand access to session servers
US10587434B2 (en) * 2017-07-14 2020-03-10 Nicira, Inc. In-band management interface with user space datapath
US20190138337A1 (en) * 2017-10-16 2019-05-09 Srinivas Vegesna Saas based solution- orchestration platform for orchestrating virtual network solutions on public/private cloud infrastructure for learning/development/evaluation/demos/validation/deployment
US11048544B2 (en) * 2019-04-08 2021-06-29 Sap Se Cloud resource credential provisioning for services running in virtual machines and containers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460393A (zh) * 2009-05-01 2012-05-16 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
US20110153716A1 (en) * 2009-12-21 2011-06-23 Microsoft Corporation Enabling virtual desktop connections to remote clients
CN103842985A (zh) * 2011-09-29 2014-06-04 李青锺 强化安全防护的云系统及其安全防护管理方法
US20140250500A1 (en) * 2011-09-29 2014-09-04 Chung Jong Lee Security-enhanced cloud system and security management method thereof
US20160117187A1 (en) * 2014-06-25 2016-04-28 Independenceit, Inc. Methods and systems for provisioning a virtual resource in a mixed-use server
US20170048125A1 (en) * 2015-08-11 2017-02-16 Citrix Systems, Inc. Continuous Monitoring of Data Servers Using a Shadowing Proxy

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819702B2 (en) 2017-03-28 2020-10-27 Netapp, Inc. Methods and systems for providing wake-on-demand access to session servers
US11671421B2 (en) 2017-03-28 2023-06-06 Netapp, Inc. Methods and systems for providing wake-on-demand access to session servers
CN114830618A (zh) * 2020-03-10 2022-07-29 Oppo广东移动通信有限公司 资源管理方法、装置及可读存储介质
CN114830618B (zh) * 2020-03-10 2023-09-19 Oppo广东移动通信有限公司 资源管理方法、装置及可读存储介质
CN116530073A (zh) * 2020-12-11 2023-08-01 亚马逊技术股份有限公司 无边界访问控制服务
CN116530073B (zh) * 2020-12-11 2024-03-01 亚马逊技术股份有限公司 无边界访问控制服务

Also Published As

Publication number Publication date
EP3603028A4 (en) 2020-12-16
US20210021584A1 (en) 2021-01-21
US10819702B2 (en) 2020-10-27
KR20190125465A (ko) 2019-11-06
EP3603028A1 (en) 2020-02-05
US20230269245A1 (en) 2023-08-24
CA3054071A1 (en) 2018-10-04
WO2018183312A1 (en) 2018-10-04
US11671421B2 (en) 2023-06-06
JP2020516982A (ja) 2020-06-11
BR112019019654A2 (pt) 2020-04-22
MX2019011257A (es) 2019-11-01
EP3603028B1 (en) 2023-05-24
US20180288028A1 (en) 2018-10-04
CN110463163B (zh) 2022-08-05
AU2018244293A1 (en) 2019-09-05

Similar Documents

Publication Publication Date Title
CN110463163A (zh) 用于提供对会话服务器的按需唤醒访问的方法及系统
US11157305B2 (en) Methods and systems for provisioning a virtual resource in a mixed-use server
CN105897688B (zh) 使得在云中部署的应用能够访问内部资源的方法和装置
CN108062248B (zh) 异构虚拟化平台的资源管理方法、系统、设备及存储介质
KR101507919B1 (ko) 가상 데스크탑 서비스를 위한 방법 및 장치
US8955037B2 (en) Access management architecture
CN109656686A (zh) OpenStack上部署容器云方法、存储介质、电子设备及系统
CN109478149A (zh) 混合云计算系统中的访问服务
CN107480509A (zh) 运维安全审计系统登录容器方法、系统、设备及存储介质
CN107085524A (zh) 用于云环境中的保证的日志管理的方法和装置
CN107683461A (zh) 在虚拟桌面基础设施中使用多个协议
CN102082821B (zh) 基于联邦中心的跨资源池资源安全访问方法与系统
US11082413B2 (en) Secure network connections
CN104487959A (zh) 虚拟机的安全管理
CN102045337A (zh) 用于管理网络资源的装置和方法
US8255507B2 (en) Active directory object management methods and systems
CN107925877A (zh) 用于集中式配置和认证的系统和方法
US10542047B2 (en) Security compliance framework usage
CN108551438A (zh) 为不同服务器间的单一登录使用x.509验证
US11297065B2 (en) Technology for computing resource liaison
Zhu et al. Enhancing the alien web service authentication
Timmapur Bangalore–560019. Autonomous Institute, Affiliated to VTU

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: North Carolina, USA

Applicant after: Cloud beating Co.,Ltd.

Address before: North Carolina, USA

Applicant before: CLOUDJUMPER Corp.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20210317

Address after: California, USA

Applicant after: NETWORK APPLIANCE, Inc.

Address before: North Carolina, USA

Applicant before: Cloud beating Co.,Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: NETAPP, Inc.

Address before: California, USA

Applicant before: NETWORK APPLIANCE, Inc.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240124

Address after: American Texas

Patentee after: HEWLETT-PACKARD DEVELOPMENT Co.,L.P.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: NETAPP, Inc.

Country or region before: U.S.A.

TR01 Transfer of patent right