CN102932404A - 对单租赁应用的多重租赁 - Google Patents

对单租赁应用的多重租赁 Download PDF

Info

Publication number
CN102932404A
CN102932404A CN2012103394152A CN201210339415A CN102932404A CN 102932404 A CN102932404 A CN 102932404A CN 2012103394152 A CN2012103394152 A CN 2012103394152A CN 201210339415 A CN201210339415 A CN 201210339415A CN 102932404 A CN102932404 A CN 102932404A
Authority
CN
China
Prior art keywords
user
application
alone family
access
computer
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.)
Pending
Application number
CN2012103394152A
Other languages
English (en)
Inventor
M·达斯
S·亚达夫
A·坎德哈雷
S·马尔帕尼
R·K·巴拉钱德拉
A·赫歇尔
N·K·斯里尼瓦斯
R·米特尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102932404A publication Critical patent/CN102932404A/zh
Pending legal-status Critical Current

Links

Images

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Abstract

本发明公开了对单租赁应用的多重租赁。提供了一种用于部署云计算环境中的软件应用的机制。向管理员提供用于允许由多个用户使用针对单个租户设计的软件应用的界面。本发明的一方面是提供一种用于快速且容易地将多用户资格给予诸如autoCAD之类的单租户应用的机制。由此,多个用户能够访问该应用而无需在他们自己的系统上本地地下载和安装一版本。该系统能够确定给定用户使用应用的时间段,因为每一个应用都在作为云环境的一部分的资源上运行。因此,应用提供者在不对现有应用进行任何再工程的情况下以基于使用的模型(例如,按小时或天)来对应用收费是可能的。

Description

对单租赁应用的多重租赁
技术领域
本发明涉及对单租户应用的多用户租赁。
背景技术
一种日益流行的联网形式一般被称为远程呈现系统,其能使用诸如远程桌面协议(RDP)以及独立计算体系结构(ICA)等协议来与远程客户端共享桌面和在服务器上执行的其他应用。云计算指的是用于允许对共享的计算资源池进行按需网络访问的计算环境。许多云计算服务涉及诸如上文所述的那些虚拟化的资源,并且可以采取用户能够通过web浏览器来访问和使用的基于web的工具或应用的形式,就好像它们是本地地安装在用户自己的计算机上的程序那样。
许多应用被设计成供单个用户使用。例如,AutoCAD被设计为单租户应用并且旨在由单个用户使用,而不是由多个用户同时使用。相反,诸如Bing等基于web的多租户应用旨在由数百万个用户同时访问。
发明内容
公开了用于部署云计算环境中的软件应用的方法和系统。向诸如管理员等用户提供用于允许由多个云计算用户使用被设计成供单个租户使用的软件应用的界面。本发明的一方面是提供一种用于快速且容易地将多用户资格给予诸如autoCAD之类的单租户应用的机制。在一实施例中,AutoCAD被移至云并且在虚拟桌面或会话环境中运行。期望访问AutoCAD的用户然后能够访问网页并且使虚拟桌面或会话自行生成(spin up)该单版本应用的副本。由此,多个用户能够访问该应用而无需在他们自己的系统上本地地下载和安装一版本。通过在虚拟桌面或会话中只运行单个应用并且通过URL将用户连接到该单个应用进一步给予用户访问基于web的应用的表现。
附图说明
参考附图来进一步描述根据本说明书的用于部署计算环境中的软件应用的系统、方法和计算机可读介质,在附图中:
图1描绘了其中可实现本发明的各方面的示例计算环境。
图2描绘了其中可实现本发明的各方面的示例计算环境。
图3描绘了包括数据中心的示例计算环境。
图4描绘了数据中心的操作环境。
图5描绘了用于实施本发明的各方面的操作环境。
图6示出了用于实施此处所公开的某些方法的示例体系结构。
图7示出了描绘此处所公开的某些方法的示例框图。
图8示出了描绘云数据服务的计算组件的示例框图。
图9示出了描绘云数据服务的存储组件的示例框图。
图10示出了描绘云数据服务的结构控制器组件的示例框图。
图11示出了描绘云数据服务的CDN组件的示例框图。
图12示出了描绘云数据服务的连接组件的示例框图。
图13示出了此处所公开的方法的示例实施例。
图14示出了此处所公开的方法的示例实施例。
图15示出了用于实施本公开的各方面的操作过程的示例。
图16示出了用于实施本发明的各方面的示例系统。
图17示出了用户数据装载场景的示例实施例。
图18示出了此处所公开的方法的示例实施例。
具体实施方式
在以下描述和附图中阐明了某些具体细节,以提供对本公开的各个实施例的全面理解。通常与计算和软件技术相关联的某些公知细节不在以下公开中描述,以避免不必要地使本公开的各实施例晦涩难懂。此外,相关领域的普通技术人员会理解,他们可以无需以下描述的细节中的一个或多个而实现本公开的其它实施例。最后,尽管在以下公开中参考了步骤和序列来描述各个方法,但是如此的描述是为了提供本公开的实施例的清楚实现,且步骤以及步骤序列不应被认为是实现本公开所必需的。
应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本公开的方法和装置或其某些方面或部分,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现本公开的装置。在程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用应用编程接口(API)、可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
远程桌面系统是维护可由客户端计算机系统远程地执行的应用的计算机系统。输入是在客户计算机系统处被输入的,并通过网络(例如,使用基于国际电信联盟(ITU)T.120系列协议等协议,如远程桌面协议(RDP))传送到终端服务器上的应用。该应用如同该输入是在终端服务器处输入的那样来处理该输入。该应用响应于所接收到的输入来生成输出,并且通过网络将该输出传送到客户端。
各实施例可以在一个或多个计算机系统上执行。图1和以下讨论旨在提供其中可以实现所公开的主题的适当计算环境的简要描述。本领域的技术人员可以理解,计算机系统200、300可具有相对于图1的计算机100描述的组件中的一部分或全部。
贯穿本公开使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件/软件。术语电路还可包括被配置成通过固件或通过开关集来以特定方式执行功能的微处理器,或一个或多个逻辑处理器,例如,多核通用处理单元的一个或多个核。此示例中的逻辑处理器可以通过从存储器,例如,RAM、ROM、固件和/或虚拟存储器中加载的体现可操作以执行功能的逻辑的软件指令来配置。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件的组合之间几乎没有差别的地步,因而选择硬件还是软件来实现功能只是一个设计选择。因此,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现是无足轻重的且留给了实现者。
图1描绘了以本公开的各方面来配置的计算系统的示例。计算系统可包括计算机20等等,其中包括处理单元21、系统存储器22,以及将包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统26(BIOS)被存储在ROM 24中,该基本输入/输出系统26包含了诸如在启动期间帮助在计算机20内的元件之间传输信息的基本例程。计算机20还可以包括用于读写硬盘(未示出)的硬盘驱动器27、用于读写可移动磁盘29的磁盘驱动器28,以及用于读写诸如CD ROM或其他光学介质之类的可移动光盘31的光盘驱动器30。在一些示例实施例中,实施本公开的各方面的计算机可执行指令可存储在ROM 24、硬盘(未示出)、RAM 25、可移动磁盘29、光盘31和/或处理单元21的高速缓存中。硬盘驱动器27、磁盘驱动器28,以及光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33,以及光盘驱动器接口34连接到系统总线23。驱动器以及它们相关联的计算机可读介质为计算机20提供了计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然此处所描述的环境使用了硬盘、可移动磁盘29、以及可移动光盘31,但是,那些本领域普通技术人员应该理解,在操作环境中也可以使用诸如盒式磁带、闪存卡、数字视频盘、伯努利磁带盒、随机存取存储器(RAM)、只读存储器(ROM)等等之类的可以存储可由计算机进行访问的数据的其他类型的计算机可读介质。
可以有若干个程序模块存储在硬盘、磁盘29、光盘31、ROM 24或RAM25上,包括操作系统35、一个或多个应用程序36、其他程序模块37、以及程序数据38。用户可以通过诸如键盘40和定点设备42之类的输入设备向计算机20中输入命令和信息。其他输入设备(未示出)可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线的串行端口接口46连接到处理单元21,但是,也可以通过诸如并行端口、游戏端口、通用串行总线(USB)之类的其他接口来连接。显示器47或其他类型的显示设备也可以通过诸如视频适配器48之类的接口连接到系统总线23。除了显示器47之外,计算机通常包括其他外围输出设备(未示出),如扬声器和打印机。图1的系统也包括主机适配器55、小型计算机系统接口(SCSI)总线56,以及连接到SCSI总线56的外部存储设备62。
计算机20可使用到一个或多个远程计算机(诸如,远程计算机49)的逻辑连接而在联网环境中操作。远程计算机49可以是另一计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点、虚拟机,并通常包括上文相对于计算机20所描述的许多或全部元件,但是在图1中只示出了存储器存储设备50。图1中所描绘的逻辑连接可包括局域网(LAN)51和广域网(WAN)52。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。
当用于LAN联网环境中时,计算机20可通过网络接口或适配器53连接到LAN 51。当用于WAN联网环境中时,计算机20可通常包括调制解调器54,或用于通过诸如因特网之类的广域网52建立通信的其他手段。可以是内置的或外置的调制解调器54可通过串行端口接口46连接到系统总线23。在联网环境中,相对于计算机20所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示出的网络连接只是示例,也可以使用用于在计算机之间建立通信链路的其他手段。此外,虽然可构想本发明的许多实施例尤其适用于计算机系统,然而在本文中不意味着将本公开限于这些实施例。
现在参考图2,所描绘的是被配置成实现虚拟机的计算机系统的高级框图。如图所示,计算机系统100可包括图1和2中所描述的元件,以及可用于实现虚拟机的组件。一个这样的组件是在本领域中也可被称为虚拟机监控程序的系统管理程序(hypervisor)202。所描绘的实施例中的系统管理程序202可被配置成控制并仲裁对计算机系统100的硬件的访问。广泛而言,系统管理程序202可以生成称为分区的执行环境,如子分区1到子分区N(其中N是大于或等于1的整数)。在各实施例中,子分区可被认为是系统管理程序202所支持的基本隔离单位,即,每一子分区可被映射到在系统管理程序202和/或父分区的控制下的一组硬件资源,例如存储器、设备、逻辑处理器周期等,并且系统管理程序202可以隔离一个分区使其无法访问另一分区的资源。在各实施例中,系统管理程序202可以是独立软件产品,操作系统的一部分、被嵌入在主板的固件内、专门的集成电路,或其组合。
在以上示例中,计算机系统100包括父分区204,父分区在开源社区中也可被认为是域0。父分区204可被配置成通过使用虚拟化服务向在子分区1-N中执行的客操作系统提供资源。每一子分区可包括一个或多个虚拟处理器,例如客操作系统220到222可管理并调度线程在其上执行的虚拟处理器230到232。一般而言,虚拟处理器230到232是提供带有特定体系结构的物理处理器的表示的可执行指令和相关联状态信息。例如,一个虚拟机可具有带有英特尔x86处理器特性的虚拟处理器,而另一虚拟处理器可具有PowerPC处理器的特性。本示例中的虚拟处理器可被映射到计算机系统的逻辑处理器,使得实现虚拟处理器的指令将受到逻辑处理器的支持。如此,在这些示例实施例中,多个虚拟处理器可以同时执行,而同时例如另一逻辑处理器正执行系统管理程序指令。一般而言,且如图所示,分区中的虚拟处理器以及存储器的组合可被认为是虚拟机,如虚拟机240或242。
一般而言,客操作系统220到222可包括诸如,例如,来自
Figure BDA00002135988400061
Figure BDA00002135988400062
开放源代码社区等等的操作系统之类的任何操作系统。客操作系统可包括用户/内核操作模式,并且可具有包括调度器、存储器管理器等的内核。内核模式可包括逻辑处理器中的执行模式,该执行模式授予对至少特权处理器指令的访问。每一客操作系统220到222可具有相关联的文件系统,该文件系统上存储有诸如终端服务器、电子商务服务器、电子邮件服务器等应用以及客操作系统本身。客操作系统220-222可以调度线程来在虚拟处理器230-232上执行,并可以实现这样的应用程序的实例。
图3和以下描述旨在提供其中可实现此处描述的各实施例的示例计算环境的简要概括描述。具体地,图3描绘了包括用于提供计算资源的数据中心308的说明性操作环境300。数据中心308可提供用于执行应用的计算资源并且在连续的或按需的基础上提供数据服务。数据中心308所提供的计算资源可包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等。每一种类型的计算资源可以是通用的或者可以在多个特定配置上可用。例如,数据处理资源可供用作虚拟机实例。虚拟机实例可被配置成执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可包括文件存储设备、块存储设备等。数据中心不仅仅包括虚拟机计算资源,还包括多个物理计算设备,所述物理计算设备可被配置成运行一个或多个虚拟机,所述虚拟机可以跨物理资源被迁移以进行负载平衡。
数据中心308所提供的计算资源可由一个或多个单独的数据中心来启用。数据中心308是用于容纳和操作计算机系统和相关联的组件的架构。数据中心308通常包括冗余且备用的供电、通信、冷却和安全系统。数据中心302还可位于在地理上不同的位置。下文将参考图3来描述实现此处所公开的概念和技术以便可缩放地部署虚拟化的计算基础架构的数据中心308的一个说明性配置。
数据中心308的客户和其他使用者可通过网络306访问数据中心302所提供的计算资源。应该理解,可使用将数据中心308连接到远程使用者的局域网(“LAN”)、因特网或本领域已知的任何其他联网拓扑结构。还应该理解,还可使用此类网络的组合。
用户计算机304可以是数据中心308的客户或其他使用者所使用的计算机。例如,用户计算机304可以是服务器计算机、台式机或膝上型个人计算机、瘦客户机、平板计算机、无线电话、个人数字助理(“PDA”)、电子阅读器、游戏控制台、机顶盒或能够访问数据中心308的任何其他计算设备。
用户计算机304用于配置数据中心308所提供的计算资源的各方面。在这一点上,数据中心308可提供Web界面,该数据中心的操作的各方面可通过使用在客户计算系统304上执行的Web浏览器应用程序来配置。另选地,在客户计算系统304上执行的独立应用程序可访问由数据中心308展示的应用编程接口(“API”)来执行配置操作。还可使用用于配置数据中心308的操作的其他机制,包括向应用部署更新。
图4描绘了一计算系统图,该图食醋了数据中心308的一种配置,包括此处所公开的用于可缩放地部署虚拟化的计算基础架构的概念和技术。图2包括用于提供计算资源以供执行应用的服务器计算机402。服务器计算机402可以是被合适地配置为提供上述计算资源的标准服务器计算机。例如,在一种实现中,服务器计算机402被配置成提供进程406。
在一实施例中,进程406可以是虚拟机实例。虚拟机实例可以是非常像物理机执行程序那样执行程序的机器(即计算机)的软件实现的实例。在虚拟机实例的示例中,每一个服务器402都可被配置成执行能够执行实例的实例管理器。实例管理器可以是系统管理程序、或者是被配置成例如在单个服务器402上实现多个进程406的执行的另一类型的程序。
应该理解,尽管此处所公开的某些实施例在虚拟机实例的上下文中进行讨论,但还可将其他类型的实例用于此处所公开的概念和技术。例如,此处所公开的技术可用于存储资源、处理资源、数据通信资源的实例以及用于其他类型的资源的实例。此处所公开的各实施例还可用于不利用虚拟机实例的计算系统,即使用物理机和虚拟机的组合的计算系统。
在图4所示的示例数据中心中,LAN 401被用来与服务器计算机402互连。LAN 401还可连接到图3所示的WAN 306。应该理解,图3和4所示的网络拓扑结构已经被极大地简化,并且可利用多得多的网络和联网设备来互连此处所公开的各种计算系统。合适的负载平衡设备或软件模块还可用于在数据中心之间、在每一个数据中心中的每一个服务器计算机402之间、以及在由数据中心的每一个客户购买的实例406之间进行负载平衡。这些网络拓扑结构和设备对于本领域技术人员而言应该是显而易见的。
云计算一般指的是用于实现对诸如上文所述的计算资源(例如,应用、服务器和存储)的共享池的按需网络访问的计算环境。此类计算环境可用最少的管理工作或服务提供者交互来快速地供应和释放。云计算服务通常不要求终端用户知晓递送服务的系统的物理位置以及配置。服务可以是基于消耗的并且经由因特网来递送。许多云计算服务涉及诸如上文所述的那些虚拟化的资源,并且可以采取用户能够通过web浏览器来访问和使用的基于web的工具或应用的形式,就好像它们是本地地安装在用户自己的计算机上的程序那样。
云计算服务通常构建在某种类型的平台上。对于诸如在组织的数据中心内部运行的某些应用而言,此类平台可包括操作系统以及被配置成存储数据的数据存储服务。运行在云中的应用可使用类似的基础。
图5提供了图3所示的实例环境的进一步细节。用户计算机304处的管理员可建立桌面配置501,包括标识操作系统、应用、策略和存储设置。此类偏好可由管理员改变,并且服务的提供者可针对提供所请求的配置向管理员收费。
在一实施例中并且如图6进一步描述的,云服务可实现如下包括四层栈的体系结构:
·云计算平台601,被配置成提供资源以支持云服务
·桌面供应和管理层602,用于创建和管理云计算资产,所述云计算资产使得应用提供者能够提供应用、企业桌面提供者和桌面零售商能够创建和管理桌面、用户能够连接到他们的桌面等。这一层可将应用和桌面的逻辑视图转换成云计算平台的物理资产。
·应用提供者/企业桌面提供者/桌面零售商/用户体验层603,为上述四种类型的实体中的每一种实体提供独特的端到端体验。
·垂直层604,为特定的用户组提供由桌面零售商提供的一组自定义体验。
在云计算平台的一个实施例中,可实现戳记(stamp)并使用戳记来定义隔离单元,并且可将戳记配置成定义传统的远程桌面部署。可提供维护顾客人工制品和凭证、跨戳记管理负载、以及供应戳记并调整戳记的大小的远程桌面控制器组件。远程桌面控制器还可创建并管理应用和桌面。特定端点提供用户桌面的虚拟等价物,一个(或多个)戳记提供公司计算基础架构的虚拟等价物。
上文所述的各层可涉及多个组件。此类组件可包括在下文中进一步描述的下列组件。
·计算组件(例如,图8),运行云中的应用。
·存储组件(例如,图9),存储云中的二进制和结构化数据
·结构控制器组件(例如,图10),部署、管理和监控应用。结构控制器还处理整个平台上对系统软件的更新
·内容递送网络(CDN)组件(例如,图11),通过在全世界范围内维护云存储中的数据的高速缓存的副本来提高该数据的全球访问速度。
·连接组件(例如,图12),允许在本地计算机和云应用之间创建IP层连接。
参考描绘计算组件810的图8,应用可被实现为如上所述的一个或多个角色800 801 802。云服务可通过使用负载平衡来跨角色地传播请求来运行每一个角色的多个实例。
可向开发者提供门户以将应用提交给云服务。门户可被配置成接收配置信息,该配置信息通知云平台每一个角色要运行多少实例。结构控制器组件可为每一个实例创建虚拟机(VM)并且在该VM中为合适的角色运行代码。来自应用的用户的请求可使用诸如HTTP、HTTPS和TCP之类的协议作出。请求可跨一角色的全部实例来进行负载平衡。
参考描绘存储组件910的图9,云平台可提供使用多个数据结构和格式的数据存储。例如,数据存储可作为二进制数据的未结构化团块来提供。元数据可用于提供关于内容的信息。为了允许应用以更结构化的方式来对数据进行操作,云存储服务可将存储作为与属性相关联的实体组来提供。还可向应用提供查询数据的装置,诸如例如包括搜索参数的API。另外,云存储可提供一种供web角色实例与工作者角色实例异步通信的方式。例如,用户可提交请求以经由由web角色实现的web界面来执行某种计算密集的任务。接收这一请求的web角色实例可将消息写入描述要完成的工作的队列902。在这一队列上等待的工作者角色实例随后可读取该消息并执行指定的任务。结果可经由另一队列返回。
云存储服务可复制数据以便提供容错。此外,数据可被备份复制在位于不同物理位置的另一数据中心中以实现冗余和增强的可用性。
参考图10,结构控制器组件1000可以是跨一组机器而复制的分布式应用。结构控制器组件可被配置成拥有其环境中的全部资源,诸如计算机、交换机和负载平衡器。结构控制器组件1000还可监控正在运行的应用,确定新应用应该在哪里运行,以及选择物理服务器来优化硬件利用。结构控制器组件还可被配置成启动、监控和终止虚拟机。
在一实施例中并且参考图11,云服务可将数据副本存储在离使用该数据的客户机1000较近的站点处。例如,用户第一次访问特定数据片时,内容递送网络组件可将该数据的副本存储(即高速缓存)在地理上离该用户较近的位置处。下一次访问该数据时,内容可从高速缓存而非从更远的源来递送。
在一实施例中并且参照图11,为了支持组织内使用的应用和数据,本地环境可与云服务连接。在一实施例中,此类组合可通过在云应用以及在云外部运行的机器之间提供IP层连通性来实现。端点代理1201可被安装在连接到云应用的每一本地计算机1202上。云应用还可被配置成与云连接组件1200一起工作。代理可使用诸如IPsec之类的协议来与该应用中的特定角色交互。通过使用此类代理,配置诸如IPsec协议1203之类的协议的潜在复杂性对于用户而言可能是透明的,同时提供了比诸如虚拟专用网络(VPN)之类的方法更简单的连接。一旦建立了连接,云应用中的角色可显得像在本地机器上一样地在同一IP网络上。
通过建立此类连接,云应用可直接访问本地数据库。云应用还可域加入(domain-join)到本地环境中,从而允许本地用户到云应用的单次登录,并且使用用于访问控制的现有的活动目录账户和组。
在各实施例中,可提供远程桌面计算体验,其中桌面提供者可提供灵活的桌面池,管理员可以几乎与供应和管理单个用户桌面相同的方式从该池中容易地供应和管理多个用户桌面。远程桌面用户因此可被提供总是可用、无需管理过程并且基于消费来计费的桌面体验。对于应用提供者,此类服务可使得应用提供者以最小的工作用web应用形式向用户提供的传统桌面应用。
随着企业开始采用远程或虚拟桌面作为集中化对安全和兼容的员工桌面的管理的手段,对于IT管理员而言能够提供同构的桌面环境以便控制和最小化成本将是有利的。因此,能提供多个远程或虚拟桌面的平台能以低成本提供可缩放的且同构的计算环境。通过以与同构的计算模型类似的方式在云平台上构建托管桌面解决方案,IT管理员可被提供与传统的“作为服务的桌面”的替换方案相比能够极大地降低成本的环境。
云计算平台可被配置成与多个用户和提供者一起操作并且向该多个用户和提供者提供益处。例如,对于向企业桌面提供者或桌面零售商提供应用的应用提供者而言,云计算平台可被配置成在可缩放的云模型中供应和销售传统的桌面应用。可使得应用提供者能够创建带有支出账户信息的应用提供者账户、上传应用包、在所选操作系统上测试所上传的应用、在云上的应用市场上发布应用、监控应用使用和设置每个用户的用户收费。
参考图13,示出了描绘用于在云计算框架中提供远程桌面服务的过程的示例框图。用户可经由浏览器来访问提供到远程桌面服务的接入点的网页,所述远程桌面服务根据用户的IT部门要求来对用户可访问和配置。用户可使用提供给用户的凭证来登录系统。凭证可以是诸如Windows Live ID或OpenID(开放ID)之类的持久ID。用户随后将被重定向至认证服务器,该认证服务器可要求通过安全连接输入用户名和口令。一旦通过认证,用户可被发放对于该用户而言持久的口令,所述口令被提供给其他服务以使得不再需要附加的授权。在一实施例中,即使桌面会话结束,口令对于该用户而言可能是持久的,除非用户显式地从会话登出。
可以提供一种用于自动地登录到基于云的系统的机制,在所述基于云的系统中,单次用户认证和授权过程准许用户访问用户具有访问许可的基于云的系统中的资源而无需输入多次口令。提供单次登录允许用户登录一次并且访问多个应用而无需输入更多次的口令。单次登录通过经由减少必须被维护的口令数量来提升安全性和效率,对于企业而言是合乎需要的。对于云服务提供者而言,单次登录通过允许用户更大的访问权而无需附加的认证工作来提供更好的用户体验。
基于云的服务可能不接受由单次登录服务所生成的令牌登录凭证。例如,web-ID提供者或单次登录服务可向用户提示单次凭证,并且服务可生成可用于连接到其他服务的权证或令牌。此类系统的示例包括Windows、Linux和iOS。给予本地企业域中的用户例如对在云服务中运行的应用的单次登录是合乎需要的。
在一实施例中,当用户登录到基于云的桌面并提供认证凭证时,可自动地生成和保持一次性口令。所生成的一次性口令可用于自动地登录到基于云的系统中的其他过程。在一实施例中,所生成的一次性口令可被保持到用户显式地登出为止。因此,即使在桌面会话被意外终止的情况下,口令也可被保持。
在另一实施例中,用户可具有用于提供诸如Windows Live或Yahoo之类的集成在线服务的服务的账户。此类服务可提供诸如能使用单个用户ID和口令来访问的电子邮件和多媒体服务之类的服务和软件产品集。在一实施例中,此类集成服务的用户也可被提供如上所述地访问基于云的计算服务的选项。因此,当用户选择了基于云的计算服务作为此类集成服务的一部分时,一旦用户登录了服务,则可向用户呈现访问基于云的计算服务并请求远程桌面会话的选项。因为基于云的服务可能不接受来自集成服务的凭证,所以基于云的服务可生成带有允许用户访问桌面会话的一次性口令的账户。一次性口令的细节不必提供给用户,因为该口令仅在会话期间存在或者仅存在至用户登出为止。在一实施例中,一次性口令可被保持以使得在桌面被无意地断开连接的情况下用户可返回至桌面而不必重启登录过程。
在图14所示的一实施例中,客户机1404可输入他的公司的基于云的服务主页1400的URL。另选地,用户可输入集成在线服务的URL。用户可被定向至向用户提示认证凭证的在线认证服务1404。在线认证服务1401可以是用户的管理员所使用的服务,并且用户的凭证信息可由管理员提供给云服务,从而授权服务创建用户简档并允许用户启动和访问桌面。另选地,在线认证服务1401可由集成在线服务提供。一旦用户经过认证,该用户被定向至主页1402,该用户可使用由在线认证服务所提供的凭证来访问云服务1410。云服务1410生成一次性口令1405和/或临时用户账户,并且用户的一次性口令被发送1406至端点1407。如上所述,端点1407可以是用户桌面会话。
一次性口令可基于在线认证服务接收到的凭证来生成。在一实施例中,口令可被存储在主存用户会话的虚拟机中的本地凭证存储中。因此,口令不随着用户被保持在用户简档中,从而允许增强的安全性并避免了对云服务为每一个用户维护口令的需要。
因为用户可被分配来自可用虚拟机(VM)端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建自定义的桌面体验,可保存用户偏好和状态数据。在一实施例中,用户偏好和状态数据可被保存到可与用户相关联的数据集,以使得任何时候用户登录并被分配桌面时,可获得用户偏好和状态数据从而可恢复用户先前的桌面状态。因此,例如,如果用户与第一虚拟机上的会话(即端点)相关联并且稍后被分配到不同虚拟机上的不同会话,则来自第一虚拟机的用户桌面状态对于第二虚拟机上的会话而言一般将不可用。然而,根据本发明的一方面,用户状态独立于会话和特定的VM端点而被保存。如本发明中所述的,此类用户数据集可被成为虚拟简档。在各实施例中,虚拟简档可被实现并且被成为虚拟硬盘驱动器或虚拟硬盘(VHD)。由此,当用户与不同虚拟机上的会话连接时,先前的用户状态可被迁移至新的会话。此特征允许被设计成提供特定类型以对每一个特定用户而言具有自定义的感觉的单个主机桌面。结果是其他方面通用的会话环境的用户被用户感知为具有个人桌面外观和感觉。
如上所讨论的,在用户会话的过程期间,客户机可打开和关闭到云服务的远程访问连接,并且在任何给定的连接期间,客户机可改变会话中的设置和偏好。此处描述了一种用于在基于云的基础架构中供应远程桌面同时维护用户个性化的机制。在基于云的系统中,用户可能无法一直重新连接到同一个虚拟桌面。在一实施例中,分配给用户的虚拟简档可被装载到分配给用户的端点。虚拟简档可包括诸如用户个人数据和个性化信息(例如,设置、简档、文件、应用数据等)之类的信息。
因为用户可被分配来自可用VM端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建自定义的桌面体验,用户的被保存的偏好和状态数据可用于提供自定义的桌面体验,而不管用户连接到的特定VM端点。
尽管术语虚拟简档和VHD用于描述用于保存用户偏好和状态信息的数据结构,但应该理解,本发明不旨在限于任何特定的文件或数据格式。在一实施例中,虚拟简档或VHD可以是被配置为通常在物理数据盘驱动器上找到的数据的虚拟硬盘文件格式。
最初,虚拟简档或VHD可用可用于根据由例如公司IT管理员所定义的标准桌面配置来配置用户桌面的数据来填充。因此,虚拟简档或VHD可包括定义桌面的“黄金映像”(即,对于用户角色而言标准的桌面配置)的数据。然而,当用户使用特定的远程桌面并开始通过例如改变墙纸、添加音乐、保存本地文档等来自定义桌面时,该信息被存储到虚拟简档或VHD,并且之后每一次用户连接到标准远程桌面时,就用来自虚拟简档或VHD的数据来进行填充以提供自定义用户体验的外观和感觉。
可在单个云服务边界的界限内定义用户类型(即桌面类型)的任意组合。例如,云服务边界1410可定义单个服务边界,所述单个服务边界如所定义的并且被配置成用于提供给特定公司并且可使用预先确定的URL来访问的服务集,当经由浏览器输入所述URL时,可提供用于登录到服务并且访问被配置成用于服务的桌面的web界面。
在一实施例中,在请求用户会话时,最初可请求到连接代理的连接。连接代理可确定与所请求的用户会话相关联的戳记,并且选择正主存所标识的戳记内的用户会话的虚拟机。例如,如果请求指示需要一用户会话,则连接代理可搜索包括IP地址端口号组合或网络标识符的数据库以寻找正被主存在云服务器上的合适的虚拟机。连接代理可生成重定向请求,所述重定向请求使得用户会话与所标识的虚拟机相关联。
参考图17所述的实施例,端点可被通知1700用户已经登录了系统。系统搜索虚拟简档1701并确定用户的虚拟简档已经存在1702。如果不存在用户的虚拟简档,则创建虚拟简档1703。如果用户的虚拟简档已经存在或者如果虚拟简档被创建,则用户虚拟简档被移动至端点1704。用户桌面会话可被启动1705。当确定用户已经登出时1706,虚拟简档从端点被卸载1707并且被保存以供后续使用。
对单租赁应用的多重租赁
现在描述一种用于向云计算环境中的多个用户呈现软件应用的机制。例如,在基于云的平台中提供被设计成供单个用户使用的应用,而不重建该应用。使用基于web的界面,多个云用户可启动和执行该应用。
在一实施例中,针对单个用户构建的应用可以在基于云的平台上提供。应用提供者可访问网站或其他用户界面以上传单用户应用,并请求该单用户应用经由基于云的平台对多个用户是可访问的。尽管该应用并非针对多用户访问而设计,但本发明提供了一种可用于在无需应用提供者重建应用的情况下使得这一应用可由无限数量的用户访问的机制。
在云计算环境中,执行针对单个用户设计的应用导致其中处理能力/硬件是容易地可用的情况,但在这种情况下软件体系结构使得应用无法呈现给多个用户或多个用户会话。例如,在单个用户的情况下,可根据单用户应用的需求来为该应用分配资源,并且该应用可以在单个资源集上执行。
在一实施例中,可解析单用户应用的一个或多个部分,并且可以在一个或多个虚拟机中实例化该软件的该一个或多个部分的多个实例。该软件的一个或多个部分中的每一个然后可以与一个或多个用户会话相关联并被交付以便呈现给每一个用户会话。该一个或多个用户会话中的每一个都可以与该软件的一个或多个部分的对应实例进行通信,并且可收发指示与该应用的进程相关联的指令的数据。由此,与该一个或多个用户会话相关联的软件的一个或多个部分可经由用户会话向用户发送数据以及从用户接收数据。该软件的一个或多个部分的实例接收到的请求可以在一个或多个虚拟机上执行。
在另一实施例中,针对单个用户构建的应用的单个实例可以在虚拟机中执行。多租户应用管理器可以与多个用户会话通信,并且对于每一个用户会话,该多租户应用管理器可维护用户会话与应用的交互的状态。该应用可接收和处理来自用户会话的请求。对于每一个用户会话,可呈现用户显示画面的快照。
在一个实施例中,多租户应用管理器可以在对应用可用的资源池中添加和/或移除资源。此外,多租户应用管理器可使得每一个用户会话的请求排队。在另一实施例中,可实例化应用的多个实例,每一个实例都与一用户会话相关联应用的每一个实例然后可维护其自己的对应于它们各自的用户会话的状态。
在一实施例中,应用提供者可访问云数据服务,并且使用web或其他用户界面可上传该提供者希望变得对多个用户可用的单用户应用。提供者可选择各选项,诸如URL(例如,www.mysingleapp.com)以及用户为了使用该单用户应用而应支付的费用。通常,这一单用户应用将会是复杂的应用,该复杂的应用最初针对单个用户设计并且在按使用的基础上重新构建以作为多用户应用提供将会是昂贵的。用户可能经常希望为对这一应用的单次使用支付固定费用,而不是付出购买可能不频繁地使用的复杂应用的高成本。应用提供者可将软件上传至云并选择例如基于使用或日、月或周访问的费用。用户可通过信用卡或账单等来付费。
在一实施例中,云系统可确定给定用户使用应用的次数和时间段,这部分地是因为每一个应用都在作为云环境的一部分的资源上运行。因此,应用提供者在不对现有应用进行再工程的情况下经由基于使用的模型(例如,按小时或天)或在按使用的基础上来对应用收费是可能的。
云服务提供者可主存可通过应用提供者选择的URL访问的网站。可以向用户提供网页,该网页提供关于单用户应用的信息。可以向用户提供用于选择费用支付选项的选项。参考图18,用户可被定向到支付和认证服务1801,该服务提示用户以获取支付信息。一旦用户经过认证,该用户就被定向至欢迎主页1802。云服务1810生成一次性口令1805和/或临时用户账户,并且用户的一次性口令被发送1806至端点1807。如上所述,端点1807可以是用户桌面会话。用户桌面会话然后开始单用户应用1807的实例并且根据上述实施例中的一个。经由用户的屏幕来向用户呈现单用户应用的图形表示,对于该用户就像是该单用户应用的实例。
在另一实施例中,从用户会话的观点来看,在经由网页登录到云计算系统后,可以向用户呈现还可包括选择单用户应用的选项的桌面。该桌面可包括取决于如上所述的用户的桌面配置的其他应用。此外,桌面可包括多个这样的单用户应用。
用户可选择单用户应用,并且表示单用户应用的实际用户界面的外观和感觉的界面可经由该用户的web浏览器来呈现给用户,就像该单用户应用正在本地的计算资源集上本地地执行那样。多个用户可以在并行用户会话中访问单用户应用,每一个会话都看上去是独立访问和执行该单用户应用。
如上所述,用户偏好和状态数据可被保存到可与用户相关联的数据结构,以使得任何时候用户登录并被分配桌面时,都可获得用户偏好和状态数据并且可恢复用户先前的桌面状态。根据本发明的一方面,关于单用户应用的用户状态是独立于特定会话和特定虚拟机主机而保存的。这一用户数据集可被称为如上所述的VHD。因此,当用户重新访问网站以经由远程桌面会话访问单用户应用或重新启动该单用户应用时,可将先前的用户数据和保存的数据文件以及关于单用户应用的任何偏好转移到新会话。
图15描绘了用于部署计算环境中的软件应用的示例性操作过程,包括操作1500、1501、1502、1504、1506和1508。参考图15,操作1500开始该操作过程,并且操作1501示出接收被配置成接受来自单个用户的输入的单用户应用。操作1502示出向多个用户提供对单用户应用的指示的访问。
操作1504示出经由远程网络连接来基本上同时处理来自多个客户机计算设备的访问单用户应用的多个请求。
操作1506示出对于来自多个客户机计算设备的每一个请求,实例化远程桌面操作环境并在该远程桌面操作环境中的每一个上实例化单用户应用。
操作1508示出允许多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个。
图16描绘了用于如上所述地部署计算环境中的软件应用的示例性系统。参考图16,系统1600包括处理器1610和存储器1620。存储器1620还包括被配置成用于计算环境中的软件应用的计算机指令。框1621示出接收被配置成接受来自单个用户的输入的单用户应用。框1622示出向多个用户提供对单用户应用的指示的访问。框1624示出经由远程网络连接来基本上同时处理来自多个客户机计算设备的访问单用户应用的多个请求。框1626示出对于来自多个客户机计算设备的每一个请求,实例化远程桌面操作环境并在该远程桌面操作环境中的每一个上实例化单用户应用。框1628示出允许多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个。
上文所提及的方面中的任何一个方面都可以以方法、系统、计算机可读介质或任何类型的产品来实现。例如,计算机可读介质可以在其上存储用于部署计算环境中的软件应用的计算机可执行指令。这一介质可包括用于接收被配置成接受来自单个用户的输入的单用户应用的第一指令子集;用于向多个用户提供对单用户应用的指示的访问的第二指令子集;用于经由远程网络连接来基本上同时处理来自多个客户机计算设备的访问单用户应用的多个请求的第三指令子集;用于对于来自多个客户机计算设备的每一个请求,实例化远程桌面操作环境并在该远程桌面操作环境中的每一个上实例化单用户应用的第四指令子集;以及用于允许多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个的第五指令子集。本领域技术人员可以理解,可以使用附加指令集来捕捉此处所公开的各其他方面,且根据本发明,目前所公开的五个指令子集可以在细节方面不同。

Claims (10)

1.一种部署计算环境中的软件应用的方法,所述方法包括:
接收(1501)被配置成接受来自单个用户的输入的单用户应用;
向多个用户提供(1502)对所述单用户应用的指示的访问;
经由远程网络连接来基本上同时处理(1504)来自多个客户机计算设备的访问所述单用户应用的多个请求;
对于来自所述多个客户机计算设备的每一个请求,实例化(1506)远程桌面操作环境并在所述远程桌面操作环境中的每一个上实例化所述单用户应用;以及
允许(1508)所述多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个。
2.如权利要求1所述的方法,其特征在于,所述用户界面能用于在web浏览器上显示。
3.如权利要求1所述的方法,其特征在于,虚拟化的远程桌面操作环境能使用URL来经由因特网访问。
4.如权利要求1所述的方法,其特征在于,虚拟化的远程桌面操作环境包括操作系统以及将被包括在所述操作系统中的软件应用。
5.如权利要求1所述的方法,其特征在于,所述实例化的单用户应用是在虚拟机上实例化的。
6.如权利要求1所述的方法,其特征在于,还包括监视终端用户对所述单用户应用的使用。
7.如权利要求6所述的方法,其特征在于,还包括基于所述监视来收取访问费用。
8.一种计算系统(1600),包括:
包括至少一个处理器的计算设备;
在所述系统运行时通信地耦合到所述处理器的存储器,所述存储器具有存储于其中的计算机指令,所述计算机指令在由所述至少一个处理器执行时致使:
接收(1621)被配置成接受来自单个用户的输入的单用户应用;
向多个用户提供(1622)对所述单用户应用的指示的访问;
经由远程网络连接来基本上同时处理(1624)来自多个客户机计算设备的访问所述单用户应用的多个请求;
对于来自所述多个客户机计算设备的每一个请求,实例化(1626)远程桌面操作环境并在所述远程桌面操作环境中的每一个上实例化所述单用户应用;以及
允许(1628)所述多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个。
9.如权利要求8所述的计算系统,其特征在于,还包括监视终端用户对所述单用户应用的访问并基于支付结构来收取用户访问费用。
10.一种其上存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令用于部署计算环境中的软件应用,所述计算机可读存储介质包括:
用于接收被配置成接受来自单个用户的输入的单用户应用的指令;
用于向多个用户提供对所述单用户应用的指示的访问的指令;
用于经由远程网络连接来基本上同时处理来自多个客户机计算设备的访问所述单用户应用的多个请求的指令;
用于对于来自所述多个客户机计算设备的每一个请求,实例化远程桌面操作环境并在所述远程桌面操作环境中的每一个上实例化所述单用户应用的指令;以及
用于允许所述多个客户机计算设备中的每一个基本上同时访问实例化的单用户应用中的一个的指令。
CN2012103394152A 2011-09-14 2012-09-13 对单租赁应用的多重租赁 Pending CN102932404A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/232,824 US8635152B2 (en) 2011-09-14 2011-09-14 Multi tenancy for single tenancy applications
US13/232,824 2011-09-14

Publications (1)

Publication Number Publication Date
CN102932404A true CN102932404A (zh) 2013-02-13

Family

ID=47647101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103394152A Pending CN102932404A (zh) 2011-09-14 2012-09-13 对单租赁应用的多重租赁

Country Status (4)

Country Link
US (3) US8635152B2 (zh)
EP (1) EP2756390A4 (zh)
CN (1) CN102932404A (zh)
WO (1) WO2013039845A1 (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113460A (zh) * 2014-02-20 2014-10-22 西安未来国际信息股份有限公司 一种云计算下租户独享vpn的设计
CN105074685A (zh) * 2013-03-15 2015-11-18 国际商业机器公司 企业社交商业计算的多租户支持
CN105900059A (zh) * 2014-01-21 2016-08-24 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
CN106559239A (zh) * 2015-09-29 2017-04-05 镇江雅迅软件有限责任公司 一种云平台部署办法
US10178184B2 (en) 2015-01-21 2019-01-08 Oracle International Corporation System and method for session handling in a multitenant application server environment
US10193754B2 (en) 2014-07-14 2019-01-29 Oracle International Corporation System and method for supporting connectors in a multitenant application server environment
US10225209B2 (en) 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10284486B2 (en) 2014-07-10 2019-05-07 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10348565B2 (en) 2014-09-25 2019-07-09 Oracle International Corporation System and method for rule-based elasticity in a multitenant application server environment
US10348822B2 (en) 2014-01-21 2019-07-09 Oracle International Corporation System and method for clustering in a multitenant application server environment
US10356161B2 (en) 2014-01-21 2019-07-16 Oracle International Corporation System and method for classloading in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10394550B2 (en) 2014-09-24 2019-08-27 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10439953B2 (en) 2014-06-23 2019-10-08 Oracle International Corporation System and method for partition migration in a multitenant application server environment
US10462068B2 (en) 2014-09-25 2019-10-29 Oracle International Corporation System and method for tenant onboarding in a multitenant application server environment
US10467061B2 (en) 2014-09-25 2019-11-05 Oracle International Corporation System and method for resource overriding in a multitenant application server environment
US10476938B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for multitenancy store in a multitenant application server environment
US10523709B2 (en) 2014-09-26 2019-12-31 Oracle International Corporation System and method for dynamic security configuration in a multitenant application server environment
US10594619B2 (en) 2014-06-23 2020-03-17 Oracle International Corporation System and method for supporting configuration of dynamic clusters in a multitenant application server environment
US10635491B2 (en) 2014-01-21 2020-04-28 Oracle International Corporation System and method for use of a multi-tenant application server with a multitasking virtual machine
US10873627B2 (en) 2014-06-23 2020-12-22 Oracle International Corporation System and method for supporting use of an in-memory data grid with a multitenant application server environment
US11057272B2 (en) 2014-09-26 2021-07-06 Oracle International Corporation System and method for transactions in a multitenant application server environment
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US11188427B2 (en) 2014-09-26 2021-11-30 Oracle International Corporation System and method for transaction recovery in a multitenant application server environment
CN114969670A (zh) * 2022-04-19 2022-08-30 北京月新时代科技股份有限公司 一种软件许可资源的管理方法、系统及计算机设备
US11477278B2 (en) 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589481B2 (en) * 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US9201702B2 (en) * 2012-02-27 2015-12-01 Mccip, Inc. Integrated cloud data center management
CN102646190B (zh) * 2012-03-19 2018-05-08 深圳市腾讯计算机系统有限公司 一种基于生物特征的认证方法、装置及系统
US9781102B1 (en) * 2013-03-08 2017-10-03 EMC IP Holding Company LLC Managing support access in software-as-a-service systems
US9772835B1 (en) * 2013-03-13 2017-09-26 Amazon Technologies, Inc. Modification of program code for execution in a multi-tenant or distributed computing environment
US10216503B2 (en) 2013-03-13 2019-02-26 Elasticbox Inc. Deploying, monitoring, and controlling multiple components of an application
GB2518367B (en) * 2013-09-18 2020-07-22 Ibm Authorized remote access to an operating system hosted by a virtual machine
US9436813B2 (en) 2014-02-03 2016-09-06 Ca, Inc. Multi-tenancy support for a product that does not support multi-tenancy
US9703611B1 (en) 2014-03-21 2017-07-11 Amazon Technologies, Inc. Isolating resources for utilization by tenants executing in multi-tenant software containers
US9754122B1 (en) 2014-03-21 2017-09-05 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
US10083052B1 (en) * 2014-11-20 2018-09-25 Amazon Technologies, Inc. Streamlined remote application streaming technology configuration and usage
US11410088B2 (en) * 2017-11-03 2022-08-09 Sita Ypenburg B.V. Systems and methods for interactions between ticket holders and self service functions
US10673801B2 (en) 2017-11-29 2020-06-02 International Business Machines Corporation Dynamic communication session management
KR102483834B1 (ko) * 2018-01-17 2023-01-03 삼성전자주식회사 음성 명령을 이용한 사용자 인증 방법 및 전자 장치
US11595378B2 (en) * 2019-06-03 2023-02-28 Zuora, Inc. Systems and methods for providing authentication in a microservice system
US10878467B1 (en) * 2020-07-28 2020-12-29 Instabase, Inc. Systems and methods for distribution of enterprise software and compensation for usage of the enterprise software

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146127A1 (en) * 2008-12-09 2010-06-10 Microsoft Corporation User-mode based remote desktop protocol (rdp) encoding architecture
CA2751803A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos
US20100250608A1 (en) * 2009-03-31 2010-09-30 Relational Networks, Inc. Creation and management of multi-tenant application services
US20100318992A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Terminal services application virtualization for compatability

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580878A (en) * 1981-07-20 1986-04-08 Canon Kabushiki Kaisha Picture taking optical system for color video camera
US6684259B1 (en) 1995-10-11 2004-01-27 Citrix Systems, Inc. Method for providing user global object name space in a multi-user operating system
US7213054B2 (en) * 1999-12-15 2007-05-01 Microsoft Corporation Methods and apparatuses for handling single-user applications in multi-user computing environments
US6895582B1 (en) * 2000-09-11 2005-05-17 Rockwell Collins Method and apparatus for high assurance computing using virtual machines on general purpose computing resources
US20020198991A1 (en) 2001-06-21 2002-12-26 International Business Machines Corporation Intelligent caching and network management based on location and resource anticipation
US7257584B2 (en) 2002-03-18 2007-08-14 Surgient, Inc. Server file management
US7580878B1 (en) * 2002-12-06 2009-08-25 Teradata Us, Inc. Data fusion for automated business decisions
EP1593072A2 (en) * 2003-02-07 2005-11-09 Power Measurement Ltd A method and system for calculating and distributing utility costs
US7546598B2 (en) * 2003-09-03 2009-06-09 Sap Aktiengesellschaft Measuring software system performance using benchmarks
US8762540B2 (en) 2004-09-01 2014-06-24 Hewlett-Packard Development Company, L.P. Managing multiple remote computing sessions displayed on a client device
US8200796B1 (en) 2005-05-05 2012-06-12 Digital Display Innovations, Llc Graphics display system for multiple remote terminals
US8010701B2 (en) 2005-12-19 2011-08-30 Vmware, Inc. Method and system for providing virtualized application workspaces
US20070162335A1 (en) * 2006-01-11 2007-07-12 Mekikian Gary C Advertiser Sponsored Media Download and Distribution Using Real-Time Ad and Media Matching and Concatenation
US8185893B2 (en) 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US20080201455A1 (en) 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
EP1962192A1 (en) 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US8122055B2 (en) 2007-04-26 2012-02-21 Microsoft Corporation Hosted multi-tenant application with per-tenant unshared private databases
US8127017B2 (en) 2007-06-22 2012-02-28 Citrix Systems, Inc. Methods and servers for displaying and activating disconnected sessions
EP2203818A2 (en) 2007-10-21 2010-07-07 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US8677352B2 (en) 2007-10-31 2014-03-18 Vmware, Inc. Interchangeable guest and host execution environments
US7979447B2 (en) * 2008-01-18 2011-07-12 Sony Corporation Method and apparatus for use in providing information to accessing content
US9378066B2 (en) 2008-02-25 2016-06-28 Sap Se Dynamic resizing of applications running on virtual machines
US8560593B2 (en) 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US8140651B2 (en) 2008-05-06 2012-03-20 International Business Machines Corporation Method and system for self-organizing computer systems
US8869099B2 (en) 2008-07-28 2014-10-21 Infosys Limited System and method of enabling multi-tenancy for software as a service application
US8271974B2 (en) 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US20110055299A1 (en) 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
US9208188B2 (en) 2009-02-17 2015-12-08 Microsoft Technology Licensing, Llc Tenant management of a hosted multi-tenant application
US8509415B2 (en) * 2009-03-02 2013-08-13 Twilio, Inc. Method and system for a multitenancy telephony network
US8117613B2 (en) 2009-04-08 2012-02-14 Microsoft Corporation Optimized virtual machine migration mechanism
US9600332B2 (en) 2009-04-28 2017-03-21 Cisco Technology, Inc. Server load balancing based on virtual utilization, physical utilization, and feedback
US8856783B2 (en) 2010-10-12 2014-10-07 Citrix Systems, Inc. Allocating virtual machines according to user-specific virtual machine metrics
CN102460393B (zh) 2009-05-01 2014-05-07 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
US20100299664A1 (en) 2009-05-21 2010-11-25 Salesforce.Com, Inc. System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service
CA2707764A1 (en) 2009-06-17 2010-12-17 Smart Technologies Ulc Distributed system and method for management of multiple users and workspaces
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
US8694638B2 (en) 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US8886788B2 (en) * 2009-08-31 2014-11-11 Accenture Global Services Limited Enterprise-level management, control and information aspects of cloud console
US8556713B2 (en) * 2009-10-20 2013-10-15 Michael Pilip Single to multi-user synchronous application conversion
US8887172B2 (en) 2009-12-31 2014-11-11 Microsoft Corporation Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds
US20120005675A1 (en) 2010-01-22 2012-01-05 Brutesoft, Inc. Applying peer-to-peer networking protocols to virtual machine (vm) image management
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8495193B2 (en) 2010-02-23 2013-07-23 Microsoft Corporation Centralized management tool for remote presentation session server farms
US9130912B2 (en) 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
CN102200977B (zh) * 2010-03-23 2014-10-29 国际商业机器公司 多租户环境下扩展数据库表的方法和系统
EP2558960A1 (en) * 2010-04-12 2013-02-20 Google, Inc. Real-time collaboration in a hosted word processor
JP5585219B2 (ja) * 2010-06-03 2014-09-10 富士通株式会社 スイッチング装置および仮想lan構築方法
US9141420B2 (en) 2010-11-04 2015-09-22 Alcatel Lucent Overload control in a cloud computing environment
US20120144319A1 (en) * 2010-12-03 2012-06-07 Razer (Asia-Pacific) Pte Ltd Collaboration Management System
CN102096461B (zh) 2011-01-13 2013-06-19 浙江大学 基于虚拟机迁移和负载感知整合的云数据中心节能方法
CN102096601A (zh) 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 一种虚拟机迁移的管理方法和系统
CN102110014A (zh) 2011-03-15 2011-06-29 合肥华云通信技术有限公司 虚拟机负载均衡处理的方法
US20130067469A1 (en) 2011-09-14 2013-03-14 Microsoft Corporation Load Balancing By Endpoints
US8812687B2 (en) 2011-09-15 2014-08-19 Microsoft Corporation Managing user state of cloud desktops

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146127A1 (en) * 2008-12-09 2010-06-10 Microsoft Corporation User-mode based remote desktop protocol (rdp) encoding architecture
CA2751803A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos
US20100250608A1 (en) * 2009-03-31 2010-09-30 Relational Networks, Inc. Creation and management of multi-tenant application services
US20100318992A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Terminal services application virtualization for compatability

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074685A (zh) * 2013-03-15 2015-11-18 国际商业机器公司 企业社交商业计算的多租户支持
CN105074685B (zh) * 2013-03-15 2017-10-13 国际商业机器公司 企业社交商业计算的多租户支持方法、计算机可读介质及系统
US10348822B2 (en) 2014-01-21 2019-07-09 Oracle International Corporation System and method for clustering in a multitenant application server environment
CN105900059A (zh) * 2014-01-21 2016-08-24 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
US11683274B2 (en) 2014-01-21 2023-06-20 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11343200B2 (en) 2014-01-21 2022-05-24 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10635491B2 (en) 2014-01-21 2020-04-28 Oracle International Corporation System and method for use of a multi-tenant application server with a multitasking virtual machine
US10476938B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for multitenancy store in a multitenant application server environment
CN105900059B (zh) * 2014-01-21 2019-06-07 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
US10356161B2 (en) 2014-01-21 2019-07-16 Oracle International Corporation System and method for classloading in a multitenant application server environment
CN104113460A (zh) * 2014-02-20 2014-10-22 西安未来国际信息股份有限公司 一种云计算下租户独享vpn的设计
US10873627B2 (en) 2014-06-23 2020-12-22 Oracle International Corporation System and method for supporting use of an in-memory data grid with a multitenant application server environment
US10594619B2 (en) 2014-06-23 2020-03-17 Oracle International Corporation System and method for supporting configuration of dynamic clusters in a multitenant application server environment
US10439953B2 (en) 2014-06-23 2019-10-08 Oracle International Corporation System and method for partition migration in a multitenant application server environment
US11477278B2 (en) 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US11394657B2 (en) 2014-07-10 2022-07-19 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10673776B2 (en) 2014-07-10 2020-06-02 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10284486B2 (en) 2014-07-10 2019-05-07 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10193754B2 (en) 2014-07-14 2019-01-29 Oracle International Corporation System and method for supporting connectors in a multitenant application server environment
US10394550B2 (en) 2014-09-24 2019-08-27 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US11449330B2 (en) 2014-09-24 2022-09-20 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10853056B2 (en) 2014-09-24 2020-12-01 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US11880679B2 (en) 2014-09-24 2024-01-23 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10853055B2 (en) 2014-09-24 2020-12-01 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10469401B2 (en) 2014-09-25 2019-11-05 Oracle International Corporation System and method for supporting lifecycle plugins in a multitenant application server environment
US10348565B2 (en) 2014-09-25 2019-07-09 Oracle International Corporation System and method for rule-based elasticity in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10873624B2 (en) 2014-09-25 2020-12-22 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10462068B2 (en) 2014-09-25 2019-10-29 Oracle International Corporation System and method for tenant onboarding in a multitenant application server environment
US10467061B2 (en) 2014-09-25 2019-11-05 Oracle International Corporation System and method for resource overriding in a multitenant application server environment
US10523709B2 (en) 2014-09-26 2019-12-31 Oracle International Corporation System and method for dynamic security configuration in a multitenant application server environment
US11188427B2 (en) 2014-09-26 2021-11-30 Oracle International Corporation System and method for transaction recovery in a multitenant application server environment
US11057272B2 (en) 2014-09-26 2021-07-06 Oracle International Corporation System and method for transactions in a multitenant application server environment
US10951655B2 (en) 2014-09-26 2021-03-16 Oracle International Corporation System and method for dynamic reconfiguration in a multitenant application server environment
US10178184B2 (en) 2015-01-21 2019-01-08 Oracle International Corporation System and method for session handling in a multitenant application server environment
US10225209B2 (en) 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
CN106559239A (zh) * 2015-09-29 2017-04-05 镇江雅迅软件有限责任公司 一种云平台部署办法
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
CN114969670A (zh) * 2022-04-19 2022-08-30 北京月新时代科技股份有限公司 一种软件许可资源的管理方法、系统及计算机设备

Also Published As

Publication number Publication date
WO2013039845A1 (en) 2013-03-21
US20130066770A1 (en) 2013-03-14
US20210409483A1 (en) 2021-12-30
EP2756390A4 (en) 2015-04-15
US11089088B2 (en) 2021-08-10
EP2756390A1 (en) 2014-07-23
US8635152B2 (en) 2014-01-21
US20140136403A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
CN102932405B (zh) 对应用的多租户访问
CN102932404A (zh) 对单租赁应用的多重租赁
CN102929685A (zh) 自动化基础架构供应
US10838775B2 (en) Load balancing by endpoints
CN102882947A (zh) 自动化的桌面服务供应
CN103023960A (zh) 用户状态的地理迁移
US9807153B2 (en) Managing user state of cloud desktops
Boss et al. Cloud computing
US8856917B2 (en) Single sign-on for remote desktops
Sosinsky Cloud computing bible
Sehgal et al. Cloud computing
US20180095997A1 (en) Secure automated resource-exchange system
Padhy et al. Architecture & Design of Affordable and Highly Available Enterprise Cloud Service
Vitek et al. Service oriented cloud computing architectures
Ghazaleh et al. A technical feasibility for adoption of clou d computing in King Abdulaziz University, Saudi Arabia
Nowicki et al. An application of Cloud Computing solutions in enterprises. Review of selected foreign practical applications
Wang et al. On incentive of customer-provided resource sharing in cloud
Schwertner The Virtual Business Organization
Zhu Planning Implementation
Tùng et al. SaaS in Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130213