[go: up one dir, main page]

HK1224396B - Systems and methods for private cloud computing - Google Patents

Systems and methods for private cloud computing Download PDF

Info

Publication number
HK1224396B
HK1224396B HK16112514.4A HK16112514A HK1224396B HK 1224396 B HK1224396 B HK 1224396B HK 16112514 A HK16112514 A HK 16112514A HK 1224396 B HK1224396 B HK 1224396B
Authority
HK
Hong Kong
Prior art keywords
cloud
virtual machine
cloud computing
computing environment
application
Prior art date
Application number
HK16112514.4A
Other languages
Chinese (zh)
Other versions
HK1224396A1 (en
Inventor
C.麦卡锡
K.沙利文
R.克里施南
Original Assignee
道富公司
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 道富公司 filed Critical 道富公司
Publication of HK1224396A1 publication Critical patent/HK1224396A1/en
Publication of HK1224396B publication Critical patent/HK1224396B/en

Links

Description

用于私人云计算的系统和方法Systems and methods for private cloud computing

本申请是申请日为2011年7月11日、发明名称为“用于私人云计算的系统和方法”的中国专利申请201180039802.8的分案申请。This application is a divisional application of Chinese patent application 201180039802.8, whose application date is July 11, 2011 and whose invention name is “System and method for private cloud computing”.

技术领域Technical Field

本发明涉及用于云计算的基于计算机的系统和方法,更特别地,涉及用于私人云计算和用于私人云内的云应用开发和展开的基于计算机的系统和方法。The present invention relates to computer-based systems and methods for cloud computing, and more particularly, to computer-based systems and methods for private cloud computing and for cloud application development and deployment within a private cloud.

背景技术Background Art

一般地,云计算指的是通过使用诸如因特网的数字网络使用和访问基于多个服务器的计算资源。云系统用户通过使用诸如台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理(PDA)或类似的类型装置的客户机装置(以下,统称为“客户机装置”或“多个客户机装置”)访问云的网络服务器服务。Generally, cloud computing refers to the use and access of multiple server-based computing resources using a digital network such as the Internet. Cloud system users access the cloud's network server services by using client devices such as desktop computers, laptop computers, tablet computers, smartphones, personal digital assistants (PDAs), or similar devices (hereinafter collectively referred to as "client devices" or "client devices").

在云计算中,通过云服务器提供并管理应用,并且,在云数据库中远程存储数据。一般地,由于处理和存储分别由云服务器和云数据库保持,因此,云系统用户不在他们自己的计算装置上下载和安装存在于云中的应用。In cloud computing, applications are provided and managed by cloud servers, and data is stored remotely in cloud databases. Generally, cloud system users do not download and install applications that exist in the cloud on their own computing devices, as processing and storage are maintained by cloud servers and cloud databases, respectively.

一般地,在线服务由云提供商或私人组织提供。这使得云系统用户不再需要在他们自己的单独的客户机装置上安装应用软件。因而,在于云服务器上提供由客户机服务执行和管理的应用使得不需要在客户机装置上安装应用的客户机版本的方面上,云计算与经典的客户机-服务器模型不同。云服务的中心化使得云服务提供商能够控制提供给客户机的基于浏览的应用的版本。这还使得不需要在各单个客户机装置上进行应用版本的升级。Typically, online services are provided by cloud providers or private organizations. This eliminates the need for cloud system users to install application software on their own individual client devices. Cloud computing differs from the classic client-server model in that applications are provided on cloud servers, executed and managed by client services, eliminating the need to install client versions of applications on client devices. The centralization of cloud services enables cloud service providers to control the versions of browser-based applications provided to clients. This also eliminates the need to upgrade application versions on individual client devices.

在动作中,云系统用户将登录到公共或私人云上。然后通过使用网络浏览器协议在客户机/服务器的基础上实施计算。云向云系统用户提供基于服务器的应用和所有数据服务,然后在客户机装置上显示结果。因而,云系统用户将能够访问在数据库上远程运行的希望的应用,该数据库显示正在通过使用客户机装置上的云应用完成的工作。In action, a cloud system user would log into a public or private cloud. Computations would then be performed on a client/server basis using web browser protocols. The cloud would provide server-based applications and all data services to the cloud system user, and then display the results on the client device. Thus, the cloud system user would be able to access the desired application running remotely on a database that displays the work being completed using the cloud application on the client device.

云数据库存储分配客户机装置被用于使得应用出现于客户机装置显示器上。但是,通过云服务器记录所有的计算和改变,并且,产生和修改的文件被永久存储于云数据库存储中。The cloud database storage allocation client device is used to make the application appear on the client device display. However, all calculations and changes are recorded by the cloud server, and the generated and modified files are permanently stored in the cloud database storage.

云计算在被实现时包含动态可缩放和虚拟化的资源的提供。可在没有云系统用户对传输请求的服务的系统的物理位置和配置的知识的情况下通过云提供商实施该过程。因而,云计算基础结构包含通过共享的数据中心传输的服务。但是,从客户机侧,云表现为单个访问点。When implemented, cloud computing involves the provision of dynamically scalable and virtualized resources. This process can be implemented by cloud providers without the cloud system user having any knowledge of the physical location and configuration of the systems delivering the requested services. Thus, cloud computing infrastructure involves services delivered through shared data centers. However, from the client side, the cloud appears as a single access point.

一般的云结构包含包含于云计算服务的传输中的硬件和软件系统的结构。云计算结构的两个明显的组件是“前端”和“后端”。前端是云系统用户在他/她的客户机装置上所看到的。它会包括用于通过诸如网络浏览器的用户界面访问云的客户机装置应用。云计算结构的后端是包含各种计算机、服务器、和云系统用户不知道的数据存储装置的云自身。A typical cloud architecture encompasses the hardware and software systems involved in delivering cloud computing services. Two distinct components of a cloud computing architecture are the "front end" and the "back end." The front end is what a cloud system user sees on their client device. It typically includes client device applications used to access the cloud through a user interface such as a web browser. The back end of the cloud computing architecture is the cloud itself, consisting of various computers, servers, and data storage devices unknown to the cloud system user.

典型的云计算环境内的共享服务在图1中统一表示为100。客户机102是客户机装置,该客户机装置具有其依赖于用于通过网络服务的应用传输的云计算的内部软件。云应用104是也称为“软件即服务(SaaS)”的云应用服务。这是因特网上的软件的传输,它使得不再需要在云系统用户的计算装置上安装和运行应用。由于应用是云应用,因此,这些应用的维护和支持被大大简化。Shared services within a typical cloud computing environment are generally designated 100 in FIG1 . Client 102 is a client device that has its own internal software that relies on cloud computing for application delivery via a network service. Cloud application 104 is a cloud application service also known as "Software as a Service (SaaS)." This is software delivery over the Internet, eliminating the need to install and run applications on the computing devices of cloud system users. Because the applications are cloud applications, maintenance and support of these applications is greatly simplified.

云平台106是也称为“平台即服务(PaaS)”的云平台服务。PaaS是作为使用云基础结构和云应用的服务的计算平台和/或方案栈的传输。这有利于从云展开应用。Cloud platform 106 is a cloud platform service also known as "Platform as a Service (PaaS)". PaaS is the delivery of a computing platform and/or solution stack as a service using cloud infrastructure and cloud applications. This facilitates the deployment of applications from the cloud.

云基础结构108是也称为“基础结构即服务(IaaS)”的云基础结构服务。IaaS是作为一般采用平台虚拟化的形式的服务的计算机基础结构的传输。云基础结构服务可采用操作在物理机上运行的虚拟机的数据中心的形式。Cloud infrastructure 108 is a cloud infrastructure service also known as "Infrastructure as a Service (IaaS)." IaaS is the delivery of computer infrastructure as a service, typically in the form of platform virtualization. Cloud infrastructure services can take the form of a data center operating virtual machines running on physical machines.

服务器110指的是云的服务器层。这包括用于向客户机102传输云服务的计算机硬件和软件。Server 110 refers to the server layer of the cloud. This includes the computer hardware and software used to deliver cloud services to clients 102.

如上所述,云可以是公共或私人云。还存在可包含两者的要素的其它的云配置。现在简要讨论公知的云类型中的一些。As mentioned above, a cloud can be a public or private cloud. There are also other cloud configurations that can contain elements of both. We will now briefly discuss some of the well-known cloud types.

“公共云”是通过使用来自第三方提供商的网络应用和服务在因特网上动态提供资源的云。A "public cloud" is a cloud that dynamically delivers resources over the Internet using web applications and services from third-party providers.

“社区云”是在几个组织具有类似的需求并寻求共享基础结构以实现云计算的益处的情况下建立的云。A "community cloud" is a cloud established when several organizations have similar needs and seek to share infrastructure to realize the benefits of cloud computing.

“混合云”是识别公司以常规的方式向一些内部操作方法传输服务并在管理源自公司的固定传输方法的性能、安全性和私人问题时提供管理复杂性的技术的需要的云。混合云使用公共和私人存储云的组合。A "hybrid cloud" is a cloud that recognizes the need for companies to deliver services to some internal operating methods in a regular manner and provides technology to manage the complexity of managing the performance, security, and privacy issues that arise from the company's fixed delivery methods. A hybrid cloud uses a combination of public and private storage clouds.

“组合云”是将两个云接合在一起的云。在这种配置中,将存在多个内部和/或外部云提供商。A "composite cloud" is a cloud that joins two clouds together. In this configuration, there will be multiple internal and/or external cloud providers.

“私人云”基本上是在私人网络上操作的公共云的仿效。通过虚拟化,私人云给予企业在企业范围的虚拟机上托管应用的能力。这提供共享硬件成本、更好的服务恢复和根据需要向上或者向下缩放的能力的益处。A "private cloud" is essentially an emulation of a public cloud operating on a private network. Through virtualization, a private cloud gives businesses the ability to host applications on enterprise-wide virtual machines. This offers the benefits of shared hardware costs, better service recovery, and the ability to scale up or down as needed.

但是,需要用于在企业范围的基础上实现用于云计算和云应用开发和展开的更好的系统和方法的基于计算机的私人云系统。本发明的系统和方法满足这些要求。However, there is a need for computer-based private cloud systems that implement better systems and methods for cloud computing and cloud application development and deployment on an enterprise-wide basis. The systems and methods of the present invention meet these needs.

发明内容Summary of the Invention

本发明是用于在企业内的私人云中进行云计算和云应用开发和展开的基于计算机的系统和方法。并且,本发明针对用于私人云计算的基于计算机的系统和方法,这些系统和方法允许云基础结构自动地适于或者响应由展开和使用私人云系统开发的云应用导致的改变。可以在高级层中实现本发明的私人云计算系统和方法,诸如可作为图1所示的应用层104的一部分加入的应用和服务层。The present invention is a computer-based system and method for cloud computing and cloud application development and deployment in a private cloud within an enterprise. Furthermore, the present invention is directed to computer-based systems and methods for private cloud computing that allow the cloud infrastructure to automatically adapt to or respond to changes caused by the deployment and development of cloud applications using the private cloud system. The private cloud computing system and method of the present invention can be implemented in a high-level layer, such as the application and services layer, which can be included as part of the application layer 104 shown in FIG. 1 .

本发明的私人云计算系统和方法优选包含云控制器、云栈、服务登记和云应用构建器。云控制器提供用于私人云的智控。云控制器包含用于分析在云数据库中收集和存储的信息的规则引擎。该数据库存储云应用二进制数以及监视信息。因此,在本发明的基于计算机的私人云系统中,云应用不是如典型的情况那样存储于文件系统中,而是在数据库中存储云应用,使得以简易有效的方式跨着云一致地保持它们。The private cloud computing system and method of the present invention preferably include a cloud controller, a cloud stack, a service registry, and a cloud application builder. The cloud controller provides intelligent control for the private cloud. The cloud controller includes a rules engine for analyzing information collected and stored in a cloud database. This database stores cloud application binaries and monitoring information. Therefore, in the computer-based private cloud system of the present invention, cloud applications are not typically stored in a file system, but rather in a database, allowing them to be consistently maintained across the cloud in a simple and efficient manner.

云栈包含用于云的操作软件。例如,云栈可包含操作系统软件、虚拟机软件、网络服务器软件、应用服务器软件、网络安全软件、网络访问管理软件、数据库驱动程序软件、应用构建器运行时软件和第三方库。A cloud stack includes the operating software for the cloud. For example, a cloud stack may include operating system software, virtual machine software, network server software, application server software, network security software, network access management software, database driver software, application builder runtime software, and third-party libraries.

服务登记包含至少用于在私人云中展开的云应用的网络服务的登记。可通过大量的不同的方法搜索网络服务,使得开发人员可查看网络服务和网络服务的可能与他们正在开发的在私人云中展开的云应用一起重新使用的详细的信息。The service registry includes at least a registry of network services for cloud applications deployed in the private cloud. Network services can be searched for in a number of different ways, allowing developers to view network services and detailed information about network services that may be reused with cloud applications they are developing and deploying in the private cloud.

云应用构建器向开发人员提供通过使用云控制器构建在私人云中展开的应用的手段。云应用构建器优选包含用于产生云应用的组件的工具。这些组件优选包含网络服务、用户界面和用于在私人云中展开的各云应用的作业。因而,云应用构建工具包含但不限于用于开发网络服务的工具、用于开发用户界面并在服务登记中登记网络服务使得对于云应用的访问级别被控制的工具和用于开发作业的工具。通过使用这些工具,开发和展开的各云应用将包含用于管理前景任务、数据存储和背景任务的用户界面;但是,可以理解,可以使用与些工具相比更多或更少的工具,并且,这仍在本发明的范围内。The cloud application builder provides developers with a means to build applications deployed in the private cloud using the cloud controller. The cloud application builder preferably includes tools for generating components of a cloud application. These components preferably include network services, user interfaces, and jobs for each cloud application deployed in the private cloud. Thus, the cloud application building tools include, but are not limited to, tools for developing network services, tools for developing user interfaces and registering network services in a service registry so that access levels to the cloud application are controlled, and tools for developing jobs. Using these tools, each cloud application developed and deployed will include a user interface for managing foreground tasks, data storage, and background tasks; however, it will be understood that more or fewer tools than these may be used and still remain within the scope of the present invention.

关于构建云应用,优选地,存在两个相异的部分。第一个将是构建云应用的开发时间,而第二将是云应用架构。开发时间将包含使用云应用构建器以根据云应用架构构建应用。云应用架构连同得到的云应用组件在私人云中被展开。When it comes to building a cloud application, there are preferably two distinct parts. The first is the development time to build the cloud application, and the second is the cloud application architecture. The development time will include using the cloud application builder to build the application according to the cloud application architecture. The cloud application architecture, along with the resulting cloud application components, is deployed in the private cloud.

本发明的系统和方法包括管理授权云应用访问的用户角色的企业安全基础(“eSF”)软件。因此,通过eSF,向本发明的私人云提供访问安全性。The system and method of the present invention includes Enterprise Security Foundation ("eSF") software that manages user roles that authorize cloud application access. Thus, access security is provided to the private cloud of the present invention through eSF.

根据本发明的系统和方法,云基础结构资源通过以下来管理:通过载荷平衡来自客户机装置的使用云应用和网络服务的进入请求,以及通过将这些请求路由到私人云中的各种网络服务器和应用服务器。According to the system and method of the present invention, cloud infrastructure resources are managed by load balancing incoming requests from client devices using cloud applications and web services and by routing these requests to various web servers and application servers in the private cloud.

在本发明的私人云内,还可存在与用于云应用的网络服务有关的商业规则的产生。这提供在私人云中开发和展开的云应用的更大的灵活性、管理和控制。In the private cloud of the present invention, there can also be the generation of business rules related to network services for cloud applications. This provides greater flexibility, management and control of cloud applications developed and deployed in the private cloud.

本发明的私人云计算系统和方法支持外部服务。因此,可通过使用用于访问和控制这种外部服务的自服务应用,实现提供用于云数据库的服务。The private cloud computing system and method of the present invention supports external services. Therefore, it is possible to provide services for cloud databases by using self-service applications for accessing and controlling such external services.

本发明的私人云计算系统和方法设想云监视服务以分析记录文件中的使用数据和与在私人云中运行的云应用相关的健康记录。利用分析的结果,以缩放云基础结构、控制警告过程并有利于容量计划。The private cloud computing system and method of the present invention envisions a cloud monitoring service to analyze usage data in log files and health records related to cloud applications running in the private cloud, and utilize the results of the analysis to scale the cloud infrastructure, control alert processes, and facilitate capacity planning.

本发明的基于计算机的私人云计算系统和方法提供企业内的云应用和网络服务的开发和展开。The computer-based private cloud computing system and method of the present invention provide for the development and deployment of cloud applications and network services within an enterprise.

还可通过使用云控制器、云栈、服务登记和云应用构建器实现本发明的基于计算机的私人云计算系统和方法。在实施该实现时,云应用构建器根据云应用架构构建云应用。一旦云应用被构建,就与云栈和服务登记一起利用云控制器以在私人云中展开云应用。The computer-based private cloud computing system and method of the present invention can also be implemented using a cloud controller, a cloud stack, a service registry, and a cloud application builder. In this implementation, the cloud application builder builds a cloud application based on a cloud application architecture. Once the cloud application is built, the cloud controller is used in conjunction with the cloud stack and service registry to deploy the cloud application in the private cloud.

本发明的基于计算机的私人云计算系统和方法还通过云栈提供PaaS,以通过预期企业系统需要来扩展IaaS,这帮助将企业的云应用开发和展开过程标准化。The computer-based private cloud computing system and method of the present invention also provides PaaS through a cloud stack to extend IaaS by anticipating enterprise system needs, which helps standardize the enterprise's cloud application development and deployment process.

在参照附图的说明书的剩余部分中,将更详细地描述本发明的基于计算机的私人云计算系统和方法。In the remainder of the specification with reference to the accompanying drawings, the computer-based private cloud computing system and method of the present invention will be described in more detail.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1表示在云环境中共享服务的分层结构的典型示图。FIG1 shows a typical diagram of a hierarchical structure of shared services in a cloud environment.

图2A表示本发明的基于计算机的私人云计算系统的物理结构的典型示图。FIG. 2A shows a typical diagram of the physical structure of the computer-based private cloud computing system of the present invention.

图2B表示图2A所示的本发明的基于计算机的私人云计算系统的逻辑结构的典型示图。FIG. 2B is a typical diagram showing the logical structure of the computer-based private cloud computing system of the present invention shown in FIG. 2A .

图3表示本发明的基于计算机的私人云计算系统的云组件的典型示图。FIG3 shows a typical diagram of cloud components of the computer-based private cloud computing system of the present invention.

图4表示本发明的私人云计算系统的组件的逻辑结构的典型示图。FIG4 is a typical diagram showing the logical structure of components of the private cloud computing system of the present invention.

图5表示根据本发明的基于计算机的计算系统的前景任务、数据存储和背景任务的云用户界面管理的典型示图。FIG5 shows a typical diagram of cloud user interface management of foreground tasks, data storage, and background tasks of a computer-based computing system according to the present invention.

图6表示包含服务登记的本发明的私人云计算系统的逻辑结构的典型示图。FIG6 is a typical diagram showing the logical structure of the private cloud computing system of the present invention including a service registry.

图7表示本发明的基于计算机的私人云计算系统的服务登记结构的典型示图。FIG. 7 is a typical diagram showing a service registration structure of the computer-based private cloud computing system of the present invention.

图8表示根据本发明的基于计算机的私人云计算系统的云应用的网络服务组件的开发过程的典型示图。FIG8 is a typical diagram showing a process of developing a network service component of a cloud application in a computer-based private cloud computing system according to the present invention.

图9表示根据本发明的基于计算机的私人云计算系统的背景作业开发和操作的典型示图。FIG. 9 shows a typical diagram of background job development and operation of a computer-based private cloud computing system according to the present invention.

图10表示用于实现eSF安全性的典型示图。FIG10 shows a typical diagram for implementing eSF security.

图11表示与云应用和服务的功能组形成相关的典型示图,这样形成的功能组能够访问云应用和服务。FIG. 11 shows a typical diagram related to the formation of a functional group of cloud applications and services, such that the functional group can access the cloud applications and services.

图12表示与用于限定功能组的云应用角色相关的典型示图。FIG. 12 shows a typical diagram related to cloud application roles for defining functional groups.

图13表示用于图12所示的管理员角色的eSF权利图的典型示图。FIG. 13 shows a typical diagram of an eSF rights graph for the administrator role shown in FIG. 12 .

图14表示用于图12所示的系统用户角色的eSF权利图的典型示图。FIG. 14 shows a typical diagram of an eSF rights graph for the system user roles shown in FIG. 12 .

图15~图22表示用于产生云应用简档并将云应用的状态从起草改变到公开的典型的屏幕显示。15-22 illustrate typical screen displays for creating a cloud application profile and changing the status of a cloud application from draft to published.

图23A表示与与自动审计规则的应用相关的动作有关的典型示图。FIG. 23A shows a typical diagram relating to actions associated with the application of automated audit rules.

图23B表示当改变云应用简档状态时检查的自动审计规则的典型列表。FIG23B shows a typical list of automated audit rules that are checked when changing a cloud application profile state.

图24表示根据本发明的基于计算机的私人云系统的仪表板的典型显示屏幕。FIG. 24 shows a typical display screen of a dashboard of a computer-based private cloud system according to the present invention.

图25表示根据本发明的基于计算机的私人云系统的典型服务登记显示屏幕。FIG. 25 shows a typical service registration display screen of a computer-based private cloud system according to the present invention.

图26表示根据本发明的基于计算机的私人云系统的典型网络服务细节显示屏幕。FIG. 26 illustrates a typical network service details display screen of a computer-based private cloud system according to the present invention.

图27~图32表示与云应用展开工作流程有关的典型示图。27 to 32 show typical diagrams related to the cloud application deployment workflow.

具体实施方式DETAILED DESCRIPTION

(相关申请)(Related Applications)

本申请根据35U.S.C.§119(e)从在2010年7月9日提交的发明名称为“Self-Organizing Cloud Computing”的美国临时申请序列No.61/363092要求优先权。This application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Application Serial No. 61/363,092, filed on July 9, 2010, entitled “Self-Organizing Cloud Computing.”

本发明针对用于在企业内的私人云中进行云计算和云应用开发和展开的基于计算机的系统和方法。本发明还针对用于私人云计算的基于计算机的系统和方法,其中,云基础结构适于或者自动地或基本上自动地响应由私人云系统开发的云应用的展开和使用导致的改变。可以在高级层中实现本发明的私人云计算系统和方法,诸如可作为图1所示的应用层104的一部分加入的应用和服务层。The present invention is directed to computer-based systems and methods for cloud computing and cloud application development and deployment in a private cloud within an enterprise. The present invention is also directed to computer-based systems and methods for private cloud computing in which the cloud infrastructure adapts to, or automatically or substantially automatically responds to, changes resulting from the deployment and use of cloud applications developed by the private cloud system. The private cloud computing systems and methods of the present invention can be implemented in a higher-level layer, such as an application and services layer, which can be included as part of the application layer 104 shown in FIG. 1 .

参照图2,统一在200上表示本发明的基于计算机的私人云计算系统的物理结构的典型示图。在图2中,在202上表示形成云应用服务器的云群和路由器。该群表示形成云应用服务器的四个服务器计算机。因而,由于通过提供服务的本发明的私人云的载荷平衡特征,可以提供任何一个以处理云应用或网络服务的请求。但是,群可包含多于或少于四个的服务器计算机,并且仍在本发明的范围内。Referring to FIG. 2 , a typical diagram of the physical structure of a computer-based private cloud computing system of the present invention is generally shown at 200. In FIG. 2 , a cloud cluster and routers forming a cloud application server are shown at 202. The cluster represents four server computers forming the cloud application server. Thus, due to the load balancing features of the present invention's private cloud provided services, any one of them can be provided to process requests for cloud applications or network services. However, a cluster may include more or fewer than four server computers and remain within the scope of the present invention.

外部云服务204与云应用服务器202连接。表示的外部云服务包含用于向云提供网络安全的cloakware服务器206。外部云服务204还包含用于控制与本发明的私人云相关的内部和外部信息收发的信息收发服务器208。External cloud service 204 is connected to cloud application server 202. The external cloud service shown includes a cloakware server 206 for providing network security to the cloud. External cloud service 204 also includes a messaging server 208 for controlling internal and external messaging associated with the private cloud of the present invention.

外部云服务204包含文件传输服务210。由文件传输服务210处理的服务包含但不限于客户机装置-云、云-外部系统和内部-云文件传输。可出于安全目的对于这些文件传输加密,这在本发明的范围内。External cloud services 204 include file transfer services 210. Services handled by file transfer services 210 include, but are not limited to, client device-cloud, cloud-external system, and internal-cloud file transfers. These file transfers may be encrypted for security purposes, which is within the scope of the present invention.

在外部云服务204中表示的最后的服务器是电子邮件服务器212。该服务器用于从客户机装置发送电子邮件消息并且接收和处理来自其的电子邮件消息。具体而言,被设想为被该服务器处理的电子邮件消息包含从私人云到外部系统的电子邮件消息,以通知例如私人云内的警告条件或服务水平目标(“SLO”)违反。The final server represented in external cloud services 204 is email server 212. This server is used to send email messages from client devices and to receive and process email messages therefrom. Specifically, email messages contemplated for processing by this server include email messages from the private cloud to external systems to notify, for example, of alert conditions or service level objective ("SLO") violations within the private cloud.

云应用服务器202与应用数据库214连接。优选地,该数据库存储包含例如应用交易数据、报告和仓库数据的云应用数据。The cloud application server 202 is connected to an application database 214. Preferably, the database stores cloud application data including, for example, application transaction data, reports, and warehouse data.

网络服务器216与云应用服务器202连接,并且被设置在客户机装置222与云应用服务器202之间。网络服务器216以常规的方式动作,以向客户机装置提供内容,并且,处理被引向云应用服务器202的来自客户机装置的请求。网络服务器216还与SiteMinder服务器218连接。优选地,SiteMinder服务器218以鉴别服务的形式向网络服务器216提供网络访问管理。The network server 216 is connected to the cloud application server 202 and is positioned between the client device 222 and the cloud application server 202. The network server 216 operates in a conventional manner to provide content to the client device and to process requests from the client device directed to the cloud application server 202. The network server 216 is also connected to the SiteMinder server 218. The SiteMinder server 218 preferably provides network access management to the network server 216 in the form of authentication services.

被设置在客户机装置222与网络服务器216之间的载荷平衡器220提供用于平衡云基础结构中的在云中运行的云应用的分布的提供服务。具体而言,载荷平衡器220在大量的网络服务器之中载荷平衡进入的HTTP请求,在图2B中仅示出其中的一个网络服务器。A load balancer 220 disposed between client devices 222 and web servers 216 provides a service for balancing the distribution of cloud applications running in the cloud in a cloud infrastructure. Specifically, the load balancer 220 load balances incoming HTTP requests among a large number of web servers, only one of which is shown in FIG2B .

参照图2B,统一在230上表示图2A所示的本发明的基于计算机的私人云计算系统的逻辑结构的典型示图。载荷平衡器220将进入的HTTP请求平衡化到网络服务器池,并向上或者向下缩放诸如网络服务器的云基础结构,以满足流量要求。网络服务器216/218在单点登录的基础上执行网络服务器和鉴别代理的功能。2B , a typical diagram of the logical architecture of the computer-based private cloud computing system of the present invention shown in FIG. 2A is shown at 230. Load balancer 220 balances incoming HTTP requests to a pool of web servers and scales cloud infrastructure, such as web servers, up or down to meet traffic demands. Web servers 216/218 perform the functions of web servers and authentication agents on a single sign-on basis.

网络服务器将请求路由到应用路由器。应用路由器采取作为应用服务器202的一部分的路由器群的形式。应用路由器将请求路由到云应用服务器群中的网络服务,该云应用服务器群也是云应用服务器202的一部分。各服务由唯一的ID识别。The web server routes the request to the application router. The application router takes the form of a router cluster that is part of the application server 202. The application router routes the request to the web service in the cloud application server cluster that is also part of the cloud application server 202. Each service is identified by a unique ID.

应用服务器群托管网络服务并从应用路由器群接收对于这种服务的请求。应用服务器群还包含作业。作业是作为驻留于应用服务器群中的云应用的一部分的批作业。The application server cluster hosts network services and receives requests for such services from the application router cluster. The application server cluster also contains jobs. Jobs are batch jobs that are part of the cloud application that resides in the application server cluster.

应用服务器群中的网络服务与包含企业数据的应用数据库214连接。应用数据库驻留于私人云外面。企业数据包含单独地存储的在线交易处理(“OLTP”)和仓库数据。优选地,示为Oracle实例的复制实例保持OLTP的数据。The network services in the application server cluster are connected to the application database 214 containing enterprise data. The application database resides outside the private cloud. The enterprise data includes separately stored online transaction processing ("OLTP") and warehouse data. Preferably, a replicated instance, shown as an Oracle instance, holds the OLTP data.

参照图3,统一在300上表示本发明的基于计算机的私人云计算系统的组件。现在讨论这些组件。3, the components of the computer-based private cloud computing system of the present invention are shown generally at 300. These components will now be discussed.

本发明的基于计算机的私人云计算系统的主要组件包括云控制器302、云栈324、服务登记345和云应用构建器350。如所述的那样,云控制器302向本发明的基于计算机的私人云计算系统提供智控。云控制器302的一般功能是处理展开工作流程、设定用于云应用展开的时间和日期、根据要运行的云应用向上或者向下缩放平台需要、设定用于检查物理和虚拟机的时间和日期、设定用于扫描云应用记录的时间和日期、设定用于监视云应用交易的时间和日期以及当在私人云内出现错误时发送警告。下面将参照图27~图32更详细地描述展开工作流程。The primary components of the computer-based private cloud computing system of the present invention include a cloud controller 302, a cloud stack 324, a service registry 345, and a cloud application builder 350. As described, cloud controller 302 provides intelligent control for the computer-based private cloud computing system of the present invention. The general functions of cloud controller 302 include handling deployment workflows, setting times and dates for cloud application deployments, scaling platforms up or down based on the cloud applications to be run, setting times and dates for checking physical and virtual machines, setting times and dates for scanning cloud application logs, setting times and dates for monitoring cloud application transactions, and sending alerts when errors occur within the private cloud. The deployment workflow will be described in more detail below with reference to Figures 27-32.

云控制器302的改变控制服务308与云应用设置相关。改变控制服务308接受对于云应用产生的打包的二进制数,并且允许授权的系统用户产生并更新云应用简档并浏览关于特定的云应用的信息。云应用简档的产生是用于已在私人云中展开的云应用,并且规定要运行的适当的云应用。Change control service 308 of cloud controller 302 is associated with cloud application configuration. Change control service 308 accepts packaged binaries generated for cloud applications and allows authorized system users to create and update cloud application profiles and view information about specific cloud applications. Cloud application profiles are generated for cloud applications deployed in a private cloud and specify the appropriate cloud application to run.

改变控制服务308允许授权的用户在没有识别栏内的情况下复制现有简档的描述,使得它可被用于描述新的云应用。改变控制服务308还允许授权的用户浏览现有的云应用简档并预览它们包含的信息。并且,改变控制服务308允许授权的用户修改包含相关的应用二进制数的现有的应用简档。The change control service 308 allows authorized users to copy the description of an existing profile without identifying fields so that it can be used to describe a new cloud application. The change control service 308 also allows authorized users to browse existing cloud application profiles and preview the information they contain. Furthermore, the change control service 308 allows authorized users to modify existing application profiles including the associated application binary.

改变控制服务308允许授权的用户改变应用简档的状态。例如,通过使用该能力,授权的用户可将云应用的状态从“DRAFT(起草)”变为“PUBLISHED(公开)”。但是,可以认识到,其它的状态改变可被作出,并且仍在本发明的范围内。The change control service 308 allows authorized users to change the state of an application profile. For example, using this capability, an authorized user can change the state of a cloud application from "DRAFT" to "PUBLISHED." However, it will be appreciated that other state changes can be made and still be within the scope of the present invention.

改变控制服务308使得授权的系统用户能够浏览云应用的应用状态记录,以预览云应用的当前和先前的状态。改变控制服务308还使得授权的系统用户能够浏览与云应用相关的特性并编辑这些特性。The change control service 308 enables authorized system users to browse the application state record of the cloud application to preview the current and previous states of the cloud application. The change control service 308 also enables authorized system users to browse properties related to the cloud application and edit these properties.

以上描述的改变控制服务308的特征仅是优选的特征。可以设想,改变控制服务308可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features of the change control service 308 described above are merely preferred features. It is contemplated that the change control service 308 may have more or fewer features than those described and still be within the scope of the present invention.

重新参照云控制器302,在310上表示自动审计规则。自动审计规则310针对当云应用简档状态改变时检查的特定的规则。自动审计规则310是对系统配置的,并且一般只有云管理员才能改变这些规则。自动审计规则310优选包含应用于对于云应用简档作出的每个改变的一组规则。对于失败的每条自动审计规则产生警告。参照图23A和23B更详细地讨论自动审计规则310。Referring back to cloud controller 302, automated audit rules are shown at 310. Automated audit rules 310 specify specific rules that are checked when the state of a cloud application profile changes. Automated audit rules 310 are system-configurable and generally only cloud administrators can change them. Automated audit rules 310 preferably contain a set of rules that apply to every change made to a cloud application profile. An alert is generated for each automated audit rule that fails. Automated audit rules 310 are discussed in more detail with reference to Figures 23A and 23B.

云控制器302在312上表示提供服务。提供服务312负责执行由云控制器的规则引擎发出的展开相关命令。提供服务312将自动地产生、关断和重新开始云应用实例,其中,实例是运行的应用的单个复制。提供服务312与平台基础结构交互作用以实施提供。在动作中,在运行云应用之前,提供服务312将确定运行云应用所需的资产并因此提供基础结构。Cloud controller 302 represents provisioning services at 312. Provisioning services 312 are responsible for executing deployment-related commands issued by the cloud controller's rules engine. Provisioning services 312 automatically create, shut down, and restart cloud application instances, where an instance is a single copy of a running application. Provisioning services 312 interact with the platform infrastructure to implement provisioning. In action, before running a cloud application, provisioning services 312 will determine the assets required to run the cloud application and provision the infrastructure accordingly.

以上描述的提供服务312的特征仅是优选的特征。可以设想,提供服务312可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features described above for providing service 312 are merely preferred features. It is contemplated that providing service 312 may have more or fewer features than those described and still be within the scope of the present invention.

云控制器302在314上表示监视服务314。监视服务314通过应用云控制面板和仪表板捕获至少关于各种云应用和用户界面的操作性能信息,并且使得系统用户可以在他/她的客户机装置上看到捕获的信息。并且,可通过区域使得信息可见。区域由授权的用户产生,并且,出于本发明的目的,区域被定义为预定的一组计算机。这些计算机可通过企业的划分或者其它类型的分组方式在地区上被分组。因而,例如,区域是为了实现诸如展开、系统测试、系统用户接受性测试和产生、识别不同的物理位置和数据中心和使得快速的灾难减缓的环境的隔离将云的各段分开和区分的手段。Cloud controller 302 represents monitoring service 314 at 314. Monitoring service 314 captures operational performance information regarding at least various cloud applications and user interfaces using a cloud control panel and dashboard, and makes this captured information visible to system users on their client devices. Furthermore, this information can be made visible via zones. Zones are created by authorized users and, for the purposes of this invention, are defined as a predetermined group of computers. These computers can be geographically grouped, perhaps by enterprise divisions or other types of groupings. Thus, for example, zones are a means of separating and distinguishing segments of the cloud for purposes such as deployment, system testing, system user acceptance testing and production, identifying distinct physical locations and data centers, and isolating environments to facilitate rapid disaster mitigation.

监视服务314还允许授权的用户以详细的格式通过区域浏览云服务器配置,并且浏览表示云应用如何正在被区域或其它的用户限定准则使用的交易列表。并且,监视服务314允许授权的用户查看表示关于特定的云用户对于私人云做了什么的活动记录。授权的用户还可关于云和SLO违反的数据在物理和虚拟机上查看数据的图形描述。监视服务314允许授权的用户浏览与存储于私人云中的云应用相关的信息,浏览与当前活动的云应用相关的信息,并且浏览关于云应用的历史数据。并且,监视服务314允许授权的用户设定和更新SLO阈值、预览SLO统计并基于如何在云应用中出现错误采取行动。Monitoring service 314 also allows authorized users to browse cloud server configurations by region in a detailed format and view transaction lists that show how cloud applications are being used by region or other user-defined criteria. Furthermore, monitoring service 314 allows authorized users to view activity logs that show what specific cloud users are doing with the private cloud. Authorized users can also view graphical depictions of data on physical and virtual machines related to the cloud and SLO violations. Monitoring service 314 allows authorized users to view information related to cloud applications stored in the private cloud, view information related to currently active cloud applications, and view historical data related to cloud applications. Furthermore, monitoring service 314 allows authorized users to set and update SLO thresholds, preview SLO statistics, and take action based on how errors occur in cloud applications.

以上描述的监视服务314的特征仅是优选的特征。可以设想,监视服务314可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features of the monitoring service 314 described above are merely preferred features. It is contemplated that the monitoring service 314 may have more or fewer features than those described and still be within the scope of the present invention.

云控制器302的警告服务316被产生,以表示开发和展开过程中的云应用的状态改变。由警告服务316产生的警告与自动审计规则相关。警告分为“INFO”、“WARN”、“ERROR”和“FATAL”警告。在云应用的开发中,云应用开发人员和批准人员(云管理员)可查看与云应用简档状态的每个改变相关的警告。在展开过程中,所有警告需要云管理员的批准。但是,可以理解,云管理员可包含一个或更多个级别的批准人员,并且仍在本发明的范围内。The alert service 316 of the cloud controller 302 is generated to indicate changes in the state of cloud applications during the development and deployment process. Alerts generated by the alert service 316 are associated with automated audit rules. Alerts are categorized as "INFO," "WARN," "ERROR," and "FATAL" alerts. During the development of a cloud application, cloud application developers and approvers (cloud administrators) can view alerts associated with each change in the state of a cloud application profile. During the deployment process, all alerts require approval from the cloud administrator. However, it will be understood that the cloud administrator may include one or more levels of approvers and still be within the scope of the present invention.

云管理员可在预览之后接受或谢绝警告。如果云管理员选择接受警告,那么云应用将向前移动。但是,如果云管理员谢绝警告,那么将通过将云应用简档的状态设为起草向后移动云应用,并且原因将为被“拒绝”。After previewing, the cloud administrator can accept or decline the warning. If the cloud administrator chooses to accept the warning, the cloud application will be moved forward. However, if the cloud administrator declines the warning, the cloud application will be moved back by setting the status of the cloud application profile to Draft, and the reason will be "Rejected."

警告服务316允许授权的用户通过区域配置云应用的简档改变警告。例如,当云应用向上缩放时,当在预定的时间内预定次数的健康检查失败时,或者当SLO违反超过平均时,可由警告服务316发出警告。可在预定的条件下手动或自动产生警告,例如,通过电子邮件产生警告。在后面参照图23A、图23B和和图32更详细地讨论关于自动审计规则的警告。Alert service 316 allows authorized users to configure alerts for cloud application profiles by region. For example, alert service 316 can issue alerts when a cloud application scales up, when a predetermined number of health checks fail within a predetermined time period, or when an SLO violation exceeds an average. Alerts can be generated manually or automatically based on predetermined conditions, such as by email. Alerts related to automated audit rules are discussed in more detail below with reference to FIGURES 23A, 23B, and 32.

以上描述的警告服务316的特征仅是优选的特征。可以设想,警告服务316可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features of the alert service 316 described above are merely preferred features. It is contemplated that the alert service 316 may have more or fewer features than those described and still be within the scope of the present invention.

云控制器302的SLO观察和符合服务318允许授权的系统用户通过各单个云应用或通过区域查看所有SLO违反的总结。SLO观察和符合服务318还允许授权的系统用户查看总结值的各单个违反。并且,SLO观察和符合服务318允许授权的系统用户查看各单个交易违反的记录。并且,SLO观察和符合服务318允许授权的系统用户通过用户、区域、云应用、网络服务或其它的预定的准则过滤违反。The SLO observation and compliance service 318 of the cloud controller 302 allows authorized system users to view a summary of all SLO violations by individual cloud applications or by region. The SLO observation and compliance service 318 also allows authorized system users to view summary values for individual violations. Furthermore, the SLO observation and compliance service 318 allows authorized system users to view records of individual transaction violations. Furthermore, the SLO observation and compliance service 318 allows authorized system users to filter violations by user, region, cloud application, network service, or other predefined criteria.

以上描述的SLO观察和符合服务318的特征仅是优选的特征。可以设想,SLO观察和符合服务318可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features described above for SLO observation and compliance service 318 are merely preferred features. It is contemplated that SLO observation and compliance service 318 may have more or fewer features than those described and still be within the scope of the present invention.

云控制器302的记录扫描服务320允许授权的系统用户查看与云应用、实例、虚拟机控制中的管理程序或其它的云要素有关的活动。通过使用记录扫描服务,授权的系统用户可请求任何云应用或组件的按需记录扫描。并且,通过使用记录扫描服务320,授权的系统用户可查看与展开的云应用有关的活动。Log scanning service 320 of cloud controller 302 allows authorized system users to view activity associated with cloud applications, instances, hypervisors in virtual machine control, or other cloud elements. Using the log scanning service, authorized system users can request on-demand log scanning of any cloud application or component. Furthermore, using the log scanning service 320, authorized system users can view activity associated with deployed cloud applications.

线程分析器服务322允许授权的系统用户关于与正在运行的云应用有关的特定的节点查看在私人云内发生的交易。The thread analyzer service 322 allows authorized system users to view transactions occurring within the private cloud with respect to specific nodes associated with a running cloud application.

交易浏览器323允许授权的系统用户通过用户、区域、云应用、网络服务或其它的预定的准则过滤交易。交易浏览器323允许授权的系统用户将交易组在一起以理解宏观行为,通过云应用和区域查看时间统计,并且比较当前的云应用和区域的响应时间统计与云应用和区域的典型的时间统计。The transaction explorer 323 allows authorized system users to filter transactions by user, region, cloud application, web service, or other predefined criteria. The transaction explorer 323 allows authorized system users to group transactions together to understand macro behavior, view timing statistics by cloud application and region, and compare current response time statistics for cloud applications and regions with typical timing statistics for cloud applications and regions.

以上描述的线程分析器服务322和交易浏览器323的特征仅是优选的特征。可以设想,线程分析器服务322和交易浏览器323可具有比描述的特征多或少的特征,并且仍在本发明的范围内。The features of the thread analyzer service 322 and the transaction browser 323 described above are merely preferred features. It is contemplated that the thread analyzer service 322 and the transaction browser 323 may have more or fewer features than described and still be within the scope of the present invention.

云栈324包含用于私人云的软件栈。云栈324包含优选为Linux软件的操作系统软件326。并且,云栈324包含供在由管理程序管理的云中运行的虚拟机使用的虚拟机操作软件328。优选地,该软件是来自Sun Microsystems,Inc/Oracle,Inc的Java DevelopmentKit(“JDK”)软件。Cloud stack 324 comprises a software stack for a private cloud. Cloud stack 324 comprises operating system software 326, which is preferably Linux software. Furthermore, cloud stack 324 comprises virtual machine operating software 328 for use by virtual machines running in the cloud managed by a hypervisor. Preferably, this software is the Java Development Kit ("JDK") software from Sun Microsystems, Inc./Oracle, Inc.

云栈324包含优选为来自Apache Software Foundation的Apache Web服务器软件的网络服务软件330。云栈324还包含应用服务器软件332。优选地,应用服务器软件是包含Tomcat小程序容器的JBoss软件。JBoss软件来自Red Hat,Inc.并且Tomcat小程序容器软件来自Apache Software Foundation。Cloud stack 324 includes network service software 330, which is preferably Apache Web server software from the Apache Software Foundation. Cloud stack 324 also includes application server software 332. Preferably, the application server software is JBoss software including the Tomcat applet container. JBoss software is from Red Hat, Inc. and the Tomcat applet container software is from the Apache Software Foundation.

云栈324包含优选为来自Irdeto B.V.的Cloakware软件的网络安全软件334。云栈324中的下一软件是优选为来自Computer Associates,Inc.的SiteMinder软件的网络访问管理软件336。The cloud stack 324 includes network security software 334, which is preferably Cloakware software from Irdeto B.V. The next software in the cloud stack 324 is network access management software 336, which is preferably SiteMinder software from Computer Associates, Inc.

云栈324包含优选为JDBC驱动程序的数据库访问驱动程序338。云栈324还包含作为将在私人云中展开的云应用架构软件的云应用构建器运行时软件340。The cloud stack 324 includes a database access driver 338, which is preferably a JDBC driver. The cloud stack 324 also includes a cloud application builder runtime software 340, which is the cloud application framework software to be deployed in the private cloud.

最后,云栈324包含第三方库342。库的数量可包含一个或更多个这种第三方库,并且仍在本发明的范围内。Finally, cloud stack 324 includes third party libraries 342. The number of libraries may include one or more such third party libraries and still be within the scope of the present invention.

以上描述的服务登记345至少包含用于在私人云中展开的云应用的网络服务的登记簿。为了在私人云中展开开发的云应用,服务登记与云控制器302和云栈324协作地动作。The service registry 345 described above contains at least a registry of network services for cloud applications deployed in the private cloud. In order to deploy developed cloud applications in the private cloud, the service registry acts in conjunction with the cloud controller 302 and the cloud stack 324.

优选地,包含上述的服务的云控制器302和包含上述的软件栈的云栈324连同用于构建云应用的云应用架构一起形成运行时组件,以准备用于在私人云中展开的云应用。关于云控制器302和云栈324,以上已规定了某些组件,但是,可以理解,比这些组件多或少的组件可构成云控制器302和云栈324,并且,它们仍在本发明的范围内。Preferably, the cloud controller 302 including the aforementioned services and the cloud stack 324 including the aforementioned software stack, together with a cloud application architecture for building cloud applications, form runtime components to prepare cloud applications for deployment in a private cloud. Certain components have been specified above with respect to the cloud controller 302 and the cloud stack 324, but it is understood that more or fewer components than these may constitute the cloud controller 302 and the cloud stack 324 and still fall within the scope of the present invention.

云应用构建器350被用于开发在本发明的私人云中展开的云应用和网络服务。云应用构建器350包含主要用于开发用于在私人云中展开的云应用的网络服务的服务开发工具包352。该服务开发工具包至少包括用于开发根据云应用架构开发的云应用的网络服务和用户界面组件的工具。Cloud application builder 350 is used to develop cloud applications and web services deployed in the private cloud of the present invention. Cloud application builder 350 includes a service development toolkit 352 primarily used to develop web services for cloud applications deployed in the private cloud. The service development toolkit includes at least tools for developing web services and user interface components for cloud applications developed according to the cloud application architecture.

云应用构建器350的云开发工具包(“CDT”)354用于开发与要在私人云中展开的云应用相关的用户界面。The Cloud Development Toolkit ("CDT") 354 of the cloud application builder 350 is used to develop user interfaces associated with cloud applications to be deployed in the private cloud.

云应用构建器350包含用于在网络应用中开发的软件356。优选地,应用开发软件356是提供应用开发的集成开发环境(“IDE”)的来自Eclipse Foundation的Eclipse加上来自Google Inc.的Google网络工具包(“GWT”)。Cloud application builder 350 includes software 356 for developing in web applications. Preferably, application development software 356 is Eclipse from the Eclipse Foundation plus the Google Web Toolkit ("GWT") from Google Inc., which provides an integrated development environment ("IDE") for application development.

云应用构建器350包含优选为来自JUnit.org的JUnit软件的测试软件358。最后,云应用构建器350包含用于产生用于在云中展开的被开发的云应用的网络服务器的动态内容的网络服务器小程序软件360。优选地,网络服务器小程序软件是来自Apache SoftwareFoundation的Apache Tomcat。The cloud application builder 350 includes testing software 358, which is preferably JUnit software from JUnit.org. Finally, the cloud application builder 350 includes web servlet software 360 for generating dynamic content for the web server of the developed cloud application deployed in the cloud. Preferably, the web servlet software is Apache Tomcat from the Apache Software Foundation.

参照图4,统一在400上表示本发明的私人云计算系统的组件的逻辑结构的典型示图。用户界面402是客户机装置的用户界面。界面包含将包含仪表板406的应用控制面板404。在图15中表示典型的应用控制面板,并且,在图24中表示典型的仪表板。4 , a typical diagram of the logical structure of the components of the private cloud computing system of the present invention is shown generally at 400. User interface 402 is the user interface of a client device. The interface includes an application control panel 404, which includes a dashboard 406. A typical application control panel is shown in FIG15 , and a typical dashboard is shown in FIG24 .

应用控制面板404使得开发人员、云应用的管理员、云应用的所有人、软件质量担保(“SQA”)、系统用户和其它人查看、使用和操作云中的云应用。仪表板406使得授权的用户管理基础结构组件。为了访问云应用和相关的信息和存储于CLDB 410中的其它数据和信息,用户界面402与CLDB 410双向连接。Application control panel 404 enables developers, cloud application administrators, cloud application owners, software quality assurance ("SQA"), system users, and others to view, use, and operate cloud applications in the cloud. Dashboard 406 enables authorized users to manage infrastructure components. User interface 402 is bidirectionally connected to CLDB 410 to access cloud applications and related information and other data and information stored in CLDB 410.

出于向云控制器发送消息的目的,用户界面402还与云控制器408连接。优选地,这些消息将包含但不限于用于访问特定的云应用和网络服务的请求和SLO监视。The user interface 402 is also connected to the cloud controller 408 for the purpose of sending messages to the cloud controller. Preferably, these messages will include, but are not limited to, requests for access to specific cloud applications and network services and SLO monitoring.

具有eSF数据库413的eSF代理412向云提供安全。eSF代理412和eSF数据库413基于数据组、功能组和用户角色提供对于云应用和网络服务访问的允许。参照图11~图14更详细地讨论数据组、功能组和用户角色。The eSF proxy 412 with the eSF database 413 provides security to the cloud. The eSF proxy 412 and the eSF database 413 provide access permissions to cloud applications and network services based on data groups, function groups, and user roles. Data groups, function groups, and user roles are discussed in more detail with reference to Figures 11 to 14.

允许包含但不限于什么用户可访问云中的特定的云应用和网络服务,什么用户实施某些功能,例如,提供批准、改变云应用简档或者从CLDB 410删除云应用。并且,eSF 412/413能够提供将包含并满足所有的对于在私人云中运行的云应用以及对于私人云自身的安全要求的基础结构。安全eSF提供的至少一部分是功能级别权利,并且eSF还包含用于支持这种安全提供的数据。可以理解,上述的允许不是详尽的,并且,可存在另外的允许,并且仍在本发明的范围内。Permissions include, but are not limited to, which users can access specific cloud applications and network services in the cloud, and which users can perform certain functions, such as providing approvals, changing cloud application profiles, or deleting cloud applications from CLDB 410. Furthermore, eSF 412/413 can provide the infrastructure that will contain and meet all security requirements for cloud applications running in the private cloud, as well as for the private cloud itself. At least a portion of the security eSF provides is function-level entitlements, and the eSF also contains data used to support this security provision. It will be appreciated that the above-mentioned permissions are not exhaustive, and additional permissions may exist and remain within the scope of the present invention.

服务登记415与云控制器408连接。在后面更详细地讨论的服务登记415使得开发人员能够搜索对于私人云登记的网络服务并查看关于它们的详细的信息。The service registry 415 is connected to the cloud controller 408. The service registry 415, discussed in more detail later, enables developers to search for network services registered with the private cloud and view detailed information about them.

在对于特定的云应用或网络服务处理来自用户界面402的请求时,云控制器408向提供服务414发送请求。提供服务414提供它们控制的管理程序和虚拟机,以满足在云中的云应用中运行的客户机装置的需要。如图4所示,管理程序420管理网络服务器实例422、应用实例424和应用实例426。这些软件实例中的每一个在由管理程序420管理的虚拟机实例中运行。本发明的私人云计算系统可具有一个或更多个控制云应用的管理程序和在虚拟机实例中运行的网络服务器实例,并且仍在本发明的范围内。When processing a request from user interface 402 for a particular cloud application or web service, cloud controller 408 sends the request to provisioning services 414. Provisioning services 414 provide the hypervisors and virtual machines they control to meet the needs of client devices running within cloud applications in the cloud. As shown in FIG4 , hypervisor 420 manages web server instances 422, application instances 424, and application instances 426. Each of these software instances runs within a virtual machine instance managed by hypervisor 420. The private cloud computing system of the present invention may have one or more hypervisors controlling cloud applications and web server instances running within virtual machine instances and still remain within the scope of the present invention.

在416上参照图4,它表示Build.xml。Build.xml指的是使得开发人员能够通过使用云应用构建器350(图3)及其相关的运行时库构建云应用的云构建架构。当构建这种云应用时,向二进制数打包器418提供与云应用相关的二进制数。二进制数然后被发送以存储于CLDB 410中并被提供给提供服务414,以通过管理程序提供,使得它可用于包括用于运行云应用的客户机装置和允许操作云应用的授权的系统用户的系统用户。Referring to FIG. 4 at 416 , this represents Build.xml. Build.xml refers to the cloud build framework that enables developers to build cloud applications using the cloud application builder 350 ( FIG. 3 ) and its associated runtime libraries. When building such a cloud application, the binaries associated with the cloud application are provided to a binary packager 418 . The binaries are then sent for storage in the CLDB 410 and provided to a service 414 for provisioning via the hypervisor, making them available to system users, including client devices running the cloud application and authorized system users allowed to operate the cloud application.

监视服务428包含健康检查服务430和记录扫描服务432。健康检查服务430监视私人云的物理和虚拟资源。记录扫描服务432对于寻找SLO违反的云应用和云基础结构组件执行记录的自动和按需扫描。由健康检查服务430和记录扫描服务432确定的信息被存储于CLDB 410上。Monitoring services 428 include health check service 430 and log scanning service 432. Health check service 430 monitors the physical and virtual resources of the private cloud. Log scanning service 432 performs automated and on-demand scans of logs for cloud applications and cloud infrastructure components looking for SLO violations. Information determined by health check service 430 and log scanning service 432 is stored in CLDB 410.

在描述云应用的开发之前,参照图5讨论各云应用的用户界面管理。Before describing the development of cloud applications, user interface management of each cloud application is discussed with reference to FIG. 5 .

图5在500上表示用于私人云上的云应用的前景任务、数据存储和背景任务的用户界面管理的典型示图。服务消费者502是处于云内部或外部的服务的消费者。私人云外面的服务的消费者的例子包括在客户机装置上运行的服务,诸如504所示的那些。FIG5 shows a typical diagram of user interface management for foreground tasks, data storage, and background tasks for a cloud application on a private cloud at 500. Service consumers 502 are consumers of services that are internal or external to the cloud. Examples of consumers of services outside of the private cloud include services running on client devices, such as those shown at 504.

数据访问506针对前景服务,诸如对于用户界面访问私人云产生的在508和510上表示的那些。例如,开发人员将出于此目的在HTML、Adobe Flash、AJAX和其它的工具中产生轻型的用户界面组件。但是,可以理解,可以产生其它的服务,并且仍在本发明的范围内。Data access 506 is directed to foreground services, such as those represented at 508 and 510, for user interface access to the private cloud. For example, developers will create lightweight user interface components in HTML, Adobe Flash, AJAX, and other tools for this purpose. However, it is understood that other services can be created and still be within the scope of the present invention.

数据存储512针对与仓库数据分开的存储于应用数据库214中的在线交易处理(“OLTP”)数据。因此,OLTP数据与执行数据库交易有关。在数据存储512的514和516上表示OLTP数据的例子。在数据存储512中,大型机消费者信息控制系统(“CICS”)514将出于根据本发明的数据存储的目的影响常规的CICS功能。数据存储512还表示作为关系数据库管理系统的RDBMS 516。出于本发明的目的,RDBMS将出于根据本发明的数据存储的目的影响常规的关系数据库管理功能。但是,可以理解,本发明的系统可包含其它的OLTP数据组件,并且仍在本发明的范围内。Data store 512 is for online transaction processing ("OLTP") data stored in application database 214 separately from warehouse data. OLTP data is therefore associated with executing database transactions. Examples of OLTP data are shown at 514 and 516 of data store 512. Within data store 512, a mainframe Customer Information Control System ("CICS") 514 will leverage conventional CICS functionality for data storage purposes according to the present invention. Data store 512 also represents RDBMS 516, which is a relational database management system. For purposes of the present invention, the RDBMS will leverage conventional relational database management functions for data storage purposes according to the present invention. However, it will be understood that the system of the present invention may include other OLTP data components and still be within the scope of the present invention.

背景518被用于产生诸如作业520和522的背景过程,并管理仓库数据。将在后面更详细地描述作业的产生。The background 518 is used to generate background processes such as jobs 520 and 522 and manage warehouse data. The generation of jobs will be described in more detail later.

上述的eSF 526向云提供安全。eSF 526包含图4中的412和413上所示的。通过用户界面,eSF 526针对权利实施。因而,关于数据访问506和背景518,eSF 526控制授权以通过分配优选通过使存储的数据与企业内的功能相关联设计的用户角色访问和使用云应用和网络服务。The aforementioned eSF 526 provides security for the cloud. eSF 526 includes the components 412 and 413 in FIG4 . Through a user interface, eSF 526 enforces rights. Thus, regarding data access 506 and context 518, eSF 526 controls authorization to access and use cloud applications and network services by assigning user roles, preferably designed by associating stored data with functions within the enterprise.

网络登记524指的是私人云的服务登记。服务登记使得开发人员能够搜索网络服务并查看关于它们的详细的信息。因此,用户界面可被用于浏览可被重新使用的网络服务的服务登记。并且,服务登记524执行将应用和网络服务带入私人云中并监视它们的SLO符合性和用途的功能。关于图6更详细地讨论服务登记。Network registry 524 refers to the private cloud's service registry. The service registry enables developers to search for network services and view detailed information about them. Thus, a user interface can be used to browse the service registry for reusable network services. Furthermore, service registry 524 facilitates bringing applications and network services into the private cloud and monitoring their SLO compliance and usage. The service registry is discussed in more detail with respect to FIG6 .

图6统一在600上表示示出服务登记524的本发明的私人云计算系统的结构的典型示图。在图6中,提供服务312、监视服务314、SLO观看和符合服务318、记录扫描服务320和交易浏览器323(未示出)是图3所示的云控制器302的组件,并且先前已经被描述。在图4中表示并且先前已描述了用户界面406。可以理解,可在图6中表示交易浏览器323,并且它仍在本发明的范围内。FIG6 shows, generally at 600, an exemplary diagram of the architecture of a private cloud computing system of the present invention, illustrating service registry 524. In FIG6 , provisioning services 312, monitoring services 314, SLO viewing and compliance services 318, record scanning services 320, and transaction explorer 323 (not shown) are components of cloud controller 302 shown in FIG3 and previously described. User interface 406 is shown in FIG4 and previously described. It is understood that transaction explorer 323 could be shown in FIG6 and still be within the scope of the present invention.

在图6的中心是包含审计跟踪608、数据完整性610、安全612和调度器614的持久状态606。审计跟踪608用于追踪关于云应用的改变。数据完整性610用于限制应用数据库以确保数据库内的数据完整性。调度器614用于调度作业。安全612是eSF访问安全。At the center of Figure 6 is persistent state 606, which includes audit trail 608, data integrity 610, security 612, and scheduler 614. Audit trail 608 is used to track changes to cloud applications. Data integrity 610 is used to constrain the application database to ensure data integrity within the database. Scheduler 614 is used to schedule jobs. Security 612 is eSF access security.

作为私人云(云控制器)的一部分的规则引擎602由云管理员产生,并且包含用于操作在私人云内运行的云应用的动作的规则。这些规则可包括例如向上或者向下缩放规则、警告规则或区域规则。它可包含其它的规则,并且仍在本发明的范围内。The rules engine 602, which is part of the private cloud (cloud controller), is created by the cloud administrator and contains rules for operating actions for cloud applications running within the private cloud. These rules may include, for example, scaling up or down rules, warning rules, or zone rules. It may contain other rules and still be within the scope of the present invention.

重新参照图6,每一个要素被示为在信息收发环境604内被连接。这使得能够在各要素之间实现通信。6, each element is shown connected within an information transceiver environment 604. This enables communication between the elements.

参照图6中的服务登记524,可以设想,服务登记提供至少四项服务,但是,可以理解,它可提供比四项多或少的服务,并且仍在本发明的范围内。6, it is contemplated that the service registry provides at least four services, however, it is understood that it may provide more or less than four services and still be within the scope of the present invention.

服务登记524优选提供的第一项服务是用于服务使得授权的开发人员产生和操作与网络服务有关的元数据的应用编程界面(“API”)。这使得授权的用户能够产生或更新关于功能和功能组的元数据和信息。API参照该信息,该信息优选是服务库存文件中的网络服务细节。The first service that the service registry 524 preferably provides is an application programming interface ("API") that allows authorized developers to create and manipulate metadata related to network services. This allows authorized users to create or update metadata and information about functions and function groups. The API references this information, which is preferably the network service details in the service inventory file.

第二项服务是搜索目录服务。搜索目录服务使得授权的系统用户能够搜索并发现服务登记的目录搜索页上的网络服务。The second service is the Search Directory Service. The Search Directory Service enables authorized system users to search for and discover network services on the directory search page of the service registry.

服务登记524的第三项服务是浏览目录服务。该服务使得授权的系统用户能够从云应用功能组下探到服务登记的应用浏览器页上的构成网络服务的列表。The third service of the service registry 524 is the browse directory service. This service enables authorized system users to drill down from the cloud application functional group to the list of constituent network services on the application browser page of the service registry.

服务登记的第四项服务是网络服务细节服务。该服务提供授权的系统用户可在图26所示的用户界面的网络服务细节对话框的各种标签上访问的元数据和其它信息。The fourth service of the service registry is the Web Service Details service, which provides metadata and other information that authorized system users can access on various tabs of the Web Service Details dialog box in the user interface shown in FIG26.

参照图7,统一在700上表示典型的服务登记结构。服务登记524(图5)与云控制器408(图4)连接。如图所示,云控制器408和服务登记524均处于私人云内。作为元数据数据库的服务元数据库704也从云外面与服务登记524连接。并且,eSF 412/413(图4)从云外面与云控制器408连接。虽然没有示出,但是,eSF代理412被设置在eSF数据库413与云控制器408之间,但处于私人云中。Referring to FIG. 7 , a typical service registry structure is generally shown at 700. Service registry 524 ( FIG. 5 ) is connected to cloud controller 408 ( FIG. 4 ). As shown, cloud controller 408 and service registry 524 are both located within the private cloud. Service metadata repository 704, a metadata repository, is also connected to service registry 524 from outside the cloud. Furthermore, eSF 412/413 ( FIG. 4 ) is connected to cloud controller 408 from outside the cloud. Although not shown, eSF proxy 412 is provided between eSF database 413 and cloud controller 408, but is located within the private cloud.

云控制器408与浏览器客户机(用户界面)402连接。浏览器客户机402向用户706提供内容,并允许它们访问服务登记524。The cloud controller 408 interfaces with the browser client (user interface) 402. The browser client 402 provides content to the users 706 and allows them to access the service registry 524.

eSF与服务登记524的集成确保对云应用、网络服务,以及诸如按钮和菜单选项的用户界面项目的访问仅限于授权的系统用户。这基于确定开发人员和用户的访问的仔细限定的角色。在后面讨论该访问控制的例子。The integration of eSF with the service registry 524 ensures that access to cloud applications, network services, and user interface items such as buttons and menu options is limited to authorized system users. This is based on carefully defined roles that determine access for developers and users. Examples of this access control are discussed later.

在云中开发的云应用的组件包含用户界面、提供潜在的重新使用的登记的网络服务和可被重新使用的背景作业的登记。产生用于在私人云中展开的云应用的开发人员也可产生与网络服务和作业有关的商业规则和/或Java类。一旦云应用的组件被产生,它们就可被存储于CLDB 410中。这些组件的产生可在私人云环境内出现。Components of cloud applications developed in the cloud include a user interface, a registry of web services that provide potential reuse, and a registry of background jobs that can be reused. Developers creating cloud applications for deployment in a private cloud may also create business rules and/or Java classes related to the web services and jobs. Once the components of a cloud application are created, they can be stored in CLDB 410. The creation of these components can occur within the private cloud environment.

在开发网络服务、用户界面组件和批作业时,存在由开发人员关于云应用完成以识别体现他/她的应用的网络服务的需求分析、实现云应用的任务所需要的用户界面组件和存储云应用的数据所需要的批作业。在执行这些任务时,在云控制器中,开发人员可浏览和查找服务登记中的登记服务以确认是否任何事项可在他/她的云应用中被重新使用。When developing network services, user interface components, and batch jobs, developers must perform a requirements analysis on cloud applications to identify the network services that embody their application, the user interface components needed to implement the cloud application's tasks, and the batch jobs needed to store the cloud application's data. While performing these tasks, within the cloud controller, developers can browse and search the service registry for registered services to determine if any can be reused in their cloud applications.

根据本发明的系统和方法,在可对于云应用产生网络服务之前,开发人员必须获得包含云应用代码及其扩展的应用标识符。这将通过包含云应用的云应用简档的产生的开发过程追踪应用。优选地,在可进一步向私人云环境移动云应用之前,云应用的源代码被置于源代码控制系统中。一旦该任务被执行,就可通过使用云应用构建器350(图3)开发云应用及其组件。According to the system and method of the present invention, before a network service can be created for a cloud application, a developer must obtain an application identifier containing the cloud application code and its extensions. This allows the application to be tracked through the development process, including the generation of a cloud application profile for the cloud application. Preferably, before the cloud application can be further moved to a private cloud environment, the cloud application's source code is placed in a source code control system. Once this task is performed, the cloud application and its components can be developed using the cloud application builder 350 ( FIG. 3 ).

关于特定的云应用,网络服务组件的开发将包含开发人员产生用于服务定义的元数据并完成用于云应用的服务库存文件。各云应用将具有与其相关的描述所有成员网络服务中的功能组的服务库存文件。云控制器302(图3)使用该数据以在展开云应用时自动地更新服务登记。For a particular cloud application, the development of a network service component will involve developers generating metadata for the service definition and completing a service inventory file for the cloud application. Each cloud application will have an associated service inventory file that describes the functional groups in all member network services. The cloud controller 302 (Figure 3) uses this data to automatically update the service registry when the cloud application is deployed.

优选地,开发人员构建用于前景和背景过程(参见图5)的单独的.war(“网络存档”)文件,打包与云应用相关的二进制数,并然后产生云应用简档。与前景过程相关的二进制数涉及网络服务和用户界面组件。与背景过程有关的二进制数涉及作业。但是,在开发人员可展开用于云中的网络服务之前,必须获得适当的批准,这将触发对于存储于eSF中的相关的eSF角色的服务登记更新和调整。在图8中图示该开发过程。Preferably, developers build separate .war ("network archive") files for foreground and background processes (see Figure 5), package the binaries associated with the cloud application, and then generate a cloud application profile. The binaries associated with the foreground process relate to network services and user interface components. The binaries associated with the background process relate to jobs. However, before developers can deploy network services for use in the cloud, they must obtain appropriate approvals, which will trigger updates and adjustments to the service registration for the associated eSF roles stored in eSF. This development process is illustrated in Figure 8.

图8统一在800上表示用于开发用于在私人云中展开的云应用的网络服务组件的过程的典型示图。作为云应用开发和展开过程的一部分,开发人员801将在804中开发与云应用相关的网络服务。当在806中开发网络服务时,开发人员将更新将在808中使用的服务定义中的元数据,以更新服务库存文件。这完成与云应用开发相关的网络服务开发的一部分。FIG8 shows, generally at 800, a typical diagram of the process for developing a web service component for a cloud application deployed in a private cloud. As part of the cloud application development and deployment process, a developer 801 will develop web services associated with the cloud application at 804. While developing the web service at 806, the developer will update metadata in the service definition to be used at 808 to update the service inventory file. This completes a portion of web service development associated with cloud application development.

在808中更新服务库存文件之后,开发人员在810中构建用于前景和背景过程的应用二进制文件。与云应用相关的二进制数被打包,并且,在812上,通过使用对于云应用产生的云应用简档提出对于展开网络服务的请求。由开发人员通过使用客户机装置用户界面向云控制器814发送该请求。在816中,请求适当的授权的用户的批准。如果批准被否定,那么通过适当的信息收发将通知送回到开发人员。但是,如果批准被准许,那么在818上存在发送到用于网络服务的服务登记的更新,并且在820上存在eSF的更新,使得允许适当地使用网络服务。然后,在私人云中在822中实时提供网络服务。优选地,私人云使用服务定义和服务库存文件中的元数据,以在展开网络服务时自动更新服务登记。After updating the service inventory file at 808, the developer builds application binaries for foreground and background processes at 810. The binaries associated with the cloud application are packaged, and a request to deploy a network service is made at 812 using the cloud application profile generated for the cloud application. The developer sends this request to the cloud controller 814 using the client device user interface. Approval from an appropriately authorized user is requested at 816. If approval is denied, a notification is sent back to the developer via appropriate messaging. However, if approval is granted, an update is sent to the service registry for the network service at 818, and an update is made to the eSF at 820, allowing appropriate use of the network service. The network service is then provisioned in real time in the private cloud at 822. Preferably, the private cloud uses metadata in the service definition and service inventory file to automatically update the service registry when deploying a network service.

如上所述,用户界面也是云应用的组件。云应用构建器350通过CDT 354和用户界面上的适当的面板开发要与特定的云应用关联的用户界面组件。该工具包允许开发人员将与云应用相关的网络服务扩展到用户界面。优选地,工具包将支持基于Flash和MicrosoftOffice的用户界面开发。As mentioned above, user interfaces are also components of cloud applications. Cloud application builder 350 develops user interface components associated with a specific cloud application using CDT 354 and appropriate panels on the user interface. This toolkit allows developers to extend the network services associated with a cloud application into the user interface. Preferably, the toolkit will support user interface development based on Flash and Microsoft Office.

在私人云中展开的云应用可被嵌入非云网页中。如果完成这一点,那么可从用户界面作为弹出的该网页访问云应用的所有功能,但是,网络服务将在私人云中运行。The cloud application deployed in the private cloud can be embedded in a non-cloud web page. If this is done, all the functions of the cloud application can be accessed from the user interface as a pop-up web page, but the network services will run in the private cloud.

云应用的最后的组件是背景作业。这些作业是在背景中运行并在云和其它和数据库中存储信息的批作业。云应用的背景作业可在可位于不同的机器中的两个实例中运行。例如,这些作业在两个单独的数据中心并行地活动运行。背景作业可包含帮助云应用服务器在挂起前景中的线程的情况下操作可缩放性的处理。The final component of a cloud application is background jobs. These are batch jobs that run in the background and store information in the cloud and other databases. Background jobs for a cloud application can run in two instances, which can be located on different machines. For example, these jobs could be actively running in parallel in two separate data centers. Background jobs can include processing that helps the cloud application server operate scalably while suspending foreground threads.

参照图9,统一在900上对于背景作业开发和操作表示典型示图。在图9中,外部服务902与背景云909连接。外部服务902包含RDBMS 904、信息收发906和文件传输服务908。它们中的每一个先前已关于其它的附图被描述,因而,这些描述在这里同样适用并且作为参考被加入。9 , a typical diagram for background job development and operation is shown at 900. In FIG9 , external services 902 are connected to a background cloud 909. External services 902 include an RDBMS 904, a messaging service 906, and a file transfer service 908. Each of these has been previously described with respect to other figures, and thus, these descriptions are equally applicable here and are incorporated by reference.

背景云909分别在910、916和922上包含三个典型的云应用实例。应用实例910表示批作业912和914;应用实例916表示批作业918和920;而应用实例922表示批作业924和926。未示出的调度器管理作业并操作诸如图9所示的那些的多个应用实例。可在可包含多个作业的单独的.war文件中打包在背景云909中表示的批作业。这些作业可然后被存储于CLDB410中并与适当的云应用关联。Background cloud 909 contains three typical cloud application instances at 910, 916, and 922, respectively. Application instance 910 represents batch jobs 912 and 914; application instance 916 represents batch jobs 918 and 920; and application instance 922 represents batch jobs 924 and 926. A scheduler (not shown) manages the jobs and operates multiple application instances, such as those shown in FIG9 . The batch jobs represented in background cloud 909 can be packaged in separate .war files that can contain multiple jobs. These jobs can then be stored in CLDB 410 and associated with the appropriate cloud applications.

如上所述,eSF操作云应用安全。优选地,云应用开发人员将设置eSF角色并使用eSF代理API,以确保保护的项目。参照图10详细解释eSF安全的使用。As mentioned above, eSF operates cloud application security. Preferably, cloud application developers will set up eSF roles and use the eSF agent API to ensure that protected items are used. Referring to Figure 10, the use of eSF security is explained in detail.

参照图10,统一在1000上表示用于实现eSF安全的典型示图。当系统用户请求云应用或网络服务访问时,示为服务消费者1002的系统用户必须被鉴别。因而,SiteMinder1004将通过询问eDirectory 1006检查系统用户的鉴别。如果鉴别被确认,那么与云应用相关的请求的网络服务1008与eSF代理1010通信,以在eSF数据库1012中检查系统用户的eSF权利。这些权利将包含系统用户是否被授权以执行在服务请求中规定的功能。如果系统用户被授权,那么系统用户能够在1014中通过网络服务访问数据库信息。如果系统用户不被授权,那么访问被否定。Referring to Figure 10 , a typical diagram for implementing eSF security is shown generally at 1000. When a system user requests access to a cloud application or network service, the system user, shown as a service consumer 1002, must be authenticated. Therefore, SiteMinder 1004 checks the system user's authentication by querying eDirectory 1006. If authentication is confirmed, the requested network service 1008 associated with the cloud application communicates with the eSF agent 1010 to check the system user's eSF rights in the eSF database 1012. These rights include whether the system user is authorized to perform the function specified in the service request. If the system user is authorized, the system user can access database information via the network service at 1014. If the system user is not authorized, access is denied.

前面讨论了对于云应用和网络服务的访问可基于角色。出于本发明的目的,功能组是使得授权的系统用户能够对于与该系统用户的作业描述有关的任何数据执行动作的功能的集合。优选地,功能组将能够访问由云应用开发人员限定的特定的数据。功能组和功能将在服务库存文件中被定义,并被展开为将更新服务登记和eSF数据库的应用二进制文件的一部分。在图11中表示功能组以及这些功能组访问的服务的形成的例子。We previously discussed how access to cloud applications and network services can be role-based. For the purposes of this invention, a functional group is a collection of functions that enables an authorized system user to perform actions on any data related to that system user's job description. Preferably, a functional group will have access to specific data defined by the cloud application developer. Functional groups and functions will be defined in the service inventory file and deployed as part of the application binary file, which will update the service registry and the eSF database. Figure 11 shows an example of the formation of functional groups and the services accessed by these functional groups.

图11统一在1100上表示与云应用有关的功能组和这些组中的每一个访问的服务的示图。在云应用块1102上,它表示标为“主机馈送器”的云应用。主机馈送器云应用1104的开发人员在功能组块1106上限定了两个功能组。用管理功能限定1108上的第一功能组,并且,用浏览功能限定1110上的第二功能组。FIG11 shows, generally at 1100, a diagram of functional groups associated with cloud applications and the services accessed by each of these groups. A cloud application labeled "Host Feeder" is shown in the cloud application block 1102. The developer of the Host Feeder cloud application 1104 has defined two functional groups in the functional group block 1106. The first functional group at 1108 is defined with management functionality, and the second functional group at 1110 is defined with browsing functionality.

在服务块1112上,表示主机馈送器云应用1104上的登记服务。关于1108上的第一功能组,允许该功能组执行登记为791002、791003和791004的服务。这将允许第一功能组分别产生主机、添加馈送器和去除馈送器。At service block 1112, a registration service is shown on the host feeder cloud application 1104. With respect to the first functional group at 1108, the functional group is allowed to execute services registered as 791002, 791003, and 791004. This will allow the first functional group to create a host, add a feeder, and remove a feeder, respectively.

关于1110上的第二功能组,允许该功能组执行登记为792001和792002的服务。这将分别允许第二功能组找到主机并得到馈送器。注意,第二功能组不会被允许访问对于第一功能组授权的服务。Regarding the second functional group at 1110, this functional group is allowed to execute the services registered as 792001 and 792002. This will allow the second functional group to find the host and get the feeder respectively. Note that the second functional group will not be allowed to access the services authorized for the first functional group.

功能组的定义基于云应用角色。参照图12,讨论这些角色限定功能组的方法。The definition of functional groups is based on cloud application roles. Referring to Figure 12, the method of defining functional groups by these roles is discussed.

参照图12,统一在1200上表示限定功能组的云应用角色的使用。云应用块1202表示标为“主机馈送器”的云应用。在云应用角色模板块1206上,应用开发人员已限定了与主机馈送器云应用相关的角色。这些角色是1208上的主机馈送器管理员和1210上的主机馈送器用户。优选地,通过评价系统用户必须执行的功能、在功能组中组装这些功能并识别包含可由系统用户操作的所有数据的数据组,构建云应用角色模板。Referring to FIG. 12 , the use of cloud application roles to define functional groups is generally shown at 1200. Cloud application block 1202 represents a cloud application labeled "Host Feeder." In cloud application role template block 1206, application developers have defined roles associated with the Host Feeder cloud application. These roles are Host Feeder Administrator at 1208 and Host Feeder User at 1210. Cloud application role templates are preferably constructed by evaluating the functions that system users must perform, assembling these functions into functional groups, and identifying data groups containing all data that can be manipulated by system users.

如图12所示,在功能组块1214上,在1208上表示的主机馈送器管理员的角色可分成两个功能组。第一功能组是系统用户会被允许1216上的管理功能的一个,第二个仅是1218上的浏览功能。12, at functional block 1214, the host feeder administrator role represented at 1208 can be divided into two functional groups. The first functional group is one of administrative functions that the system user would be allowed at 1216, and the second is only browsing functions at 1218.

如上所述,由云应用的开发人员限定的云应用角色还在1210上提供主机馈送器用户。被分配给该角色的功能组会被在1220上被允许浏览功能。这些浏览功能可以与用于主机馈送器管理员的那些相同或不同,并且仍在本发明的范围内。As described above, the cloud application role defined by the developer of the cloud application also provides a host feeder user at 1210. The functional group assigned to the role is allowed browsing functions at 1220. These browsing functions can be the same or different than those for the host feeder administrator and still be within the scope of the present invention.

云应用角色模板将是服务库存文件的一部分,并且,当在私人云中展开云应用时,将更新eSF。The cloud application role template will be part of the service inventory file and the eSF will be updated when the cloud application is deployed in the private cloud.

图13统一在1300上表示图12所示的管理员角色的eSF权利图。在功能块1302中,它表示可用于功能组块1314中的1316上的第一功能组和1318上的第二功能组的功能。如图所示,1316上的第一功能组被允许1304上的编辑主机、1306上的添加馈送器和1308上的去除馈送器的功能。以类似的方式,1318上的第二功能组被允许1310上的浏览主机和1312上的浏览馈送器的功能。FIG13 shows the eSF rights diagram for the administrator role shown in FIG12 at 1300. Function block 1302 shows the functions available to the first function group at 1316 and the second function group at 1318 in function group block 1314. As shown, the first function group at 1316 is allowed the functions of editing a host at 1304, adding a feed at 1306, and removing a feed at 1308. Similarly, the second function group at 1318 is allowed the functions of browsing a host at 1310 and browsing a feed at 1312.

在角色块1320上,它表示1322上的角色用于ABC公司的管理员。在数据组块1324,它表示管理员在1326上接收关于ABC公司的基金的数据,例如,这些基金可以为共有基金。可以是关于ABC公司的基金的特定数据的仓库的数据块1328包含1322上的管理员将通过1326上的数据组块1324访问的1330上的ABC1数据、1332上的ABC2和1334上的ABC3数据。在预览关于主机馈送器云应用的权利图时,根据图实施基于功能组的限制。In role block 1320, it is indicated that the role at 1322 is for an administrator at ABC Company. In data block 1324, it is indicated that the administrator receives data at 1326 regarding ABC Company's funds, which may be mutual funds, for example. Data block 1328, which may be a repository for specific data regarding ABC Company's funds, contains data at 1330 for ABC1, data at 1332 for ABC2, and data at 1334 for ABC3, which the administrator at 1322 will access via data block 1324 at 1326. When previewing the entitlement graph for the host feeder cloud application, functional group-based restrictions are implemented according to the graph.

图14统一在1400上表示图12所示的用户角色的eSF权利图。在功能块1402中,它表示可用于功能组块1414中的1416上的第一功能组和1418上的第二功能组的功能。如图所示,1416上的第一功能组被允许1404上的编辑主机、1406上的添加馈送器和1408上的去除馈送器的功能。以类似的方式,1418上的第二功能组被允许1410上的浏览主机和1412上的浏览馈送器的功能。FIG14 shows the eSF rights graph for the user roles shown in FIG12 at 1400. Function block 1402 shows the functions available for a first function group at 1416 and a second function group at 1418 in function group block 1414. As shown, the first function group at 1416 allows the functions of editing a host at 1404, adding a feed at 1406, and removing a feed at 1408. Similarly, the second function group at 1418 allows the functions of browsing a host at 1410 and browsing a feed at 1412.

在角色块1420上,它表示1422上的角色用于ABC公司上的系统用户。在数据组块1422上,它表示系统用户在1426上接收关于ABC公司的基金的数据,这些基金与图13同样地可以为共同基金。可以是关于ABC公司的基金的特定数据的仓库的数据块1428包含1422上的系统用户将通过1426上的数据组块1424访问的1430上的ABC1数据、1432上的ABC2数据和1434上的ABC3数据。在预览关于主机馈送器云应用的权利图时,根据图实施基于功能组的限制。因而,由于角色块1420上的角色仅用于系统用户,因此,系统用户仅被允许功能组块1414中的1418上的浏览功能。作为该功能组的一部分,系统用户仅被允许浏览功能块1402的1410上的浏览主机和1412上的浏览馈送器。In role block 1420, it is indicated that the role at 1422 is for a system user at ABC Company. In data block 1422, it is indicated that the system user receives data at 1426 regarding ABC Company's funds, which may be mutual funds, similar to FIG13 . Data block 1428, which may be a repository for specific data regarding ABC Company's funds, contains data at 1430 for ABC1, data at 1432 for ABC2, and data at 1434 for ABC3, which the system user at 1422 will access via data block 1424 at 1426. When previewing the rights graph for the host feeder cloud application, functional group-based restrictions are implemented according to the graph. Therefore, since the role at role block 1420 is only for the system user, the system user is only allowed to browse the function at 1418 in functional block 1414. As part of this functional group, the system user is only allowed to browse the browse host at 1410 and the browse feeder at 1412 in functional block 1402.

前面关于图8讨论了用于开发和展开私人云中的云应用的过程。现在参照图15~图22更详细地描述该过程。The process for developing and deploying cloud applications in a private cloud was previously discussed with respect to Figure 8. This process is now described in more detail with reference to Figures 15-22.

优选地,存在用于展开私人云中的云应用的五个主要步骤。该过程可被称为云应用提升过程。这五个主要步骤包括打包应用二进制数并将打包的应用二进制数输出到私人云、产生并编辑用于在私人云中展开云应用的云应用简档、获得用于在私人云中展开云应用的适当的批准、执行应用的证明的构建使得它可被提升到用户可接受性测试(“UAT”)和对于向私人云的云应用提升设定并改变云应用简档中的系统特性。Preferably, there are five main steps for deploying a cloud application in a private cloud. This process may be referred to as a cloud application promotion process. These five main steps include packaging the application binary and exporting the packaged application binary to the private cloud, generating and editing a cloud application profile for deploying the cloud application in the private cloud, obtaining appropriate approvals for deploying the cloud application in the private cloud, performing a proof-of-concept build of the application so that it can be promoted to user acceptance testing ("UAT"), and configuring and changing system properties in the cloud application profile for promoting the cloud application to the private cloud.

在通过将云应用展开到开发(“DEV”)环境开始云应用提升过程之前,优选地,开发人员将获得前面讨论的用于应用的应用标识符。并且,开发人员将已请求在用于开发人员的eSF中设置适当的云控制器访问eSF角色权利,使得开发人员对于展开云应用具有适当的角色。开发人员将在云应用构建器350(图3)中产生云应用的构建项目,并在云应用上运行适当的测试。然后,开发人员将在云应用构建器中构建云应用,使得开发人员准备好打包与云应用相关的用于输出到私人云的二进制数。Before beginning the cloud application promotion process by deploying the cloud application to the development ("DEV") environment, the developer will preferably have obtained the application identifier for the application as discussed above. Furthermore, the developer will have requested that the appropriate cloud controller access eSF role rights be set up in the developer's eSF so that the developer has the appropriate role for deploying the cloud application. The developer will create a build project for the cloud application in the cloud application builder 350 ( FIG. 3 ) and run appropriate tests on the cloud application. The developer will then build the cloud application in the cloud application builder so that the developer is ready to package the binaries associated with the cloud application for export to the private cloud.

一旦完成了以上的步骤,云应用二进制数就被打包,并且,云控制器将与云应用相关的批准的安全的网络服务提升到私人云。根据本发明,可在概念证据(“POC”)、DEV和系统集成(“SYS”)展开的构建之后从开发人员的客户机装置调用二进制数打包器。但是,对于UAT和制造(“PROD“)展开,只能通过高级构建机,例如,ClearCase构建机或其它的认证构建机调用二进制数打包器。Once the above steps are completed, the cloud application binary is packaged, and the cloud controller promotes the approved, secure network services associated with the cloud application to the private cloud. According to the present invention, the binary packager can be called from the developer's client device after the build for proof of concept ("POC"), DEV, and system integration ("SYS") deployments. However, for UAT and production ("PROD") deployments, the binary packager can only be called through a high-level build machine, such as a ClearCase build machine or other certified build machine.

出于本发明的目的,在POC和DEV展开中,开发人员可从他/她的客户机装置构建.war文件。在SYS中,为了将云应用图像提升到UAT,优选地,从指定的机器,诸如开发人员可运行ClearCase构建脚本或其它的改变控制机构的认证机,完成这一点。For the purposes of the present invention, in POC and DEV deployments, a developer can build a .war file from his/her client device. In order to promote the cloud application image to UAT in SYS, this is preferably done from a designated machine, such as an authorized machine where the developer can run ClearCase build scripts or other change control mechanisms.

用于UAT和PROD展开的云应用不直接从构建前进到私人云。当开发人员产生用于UAT的云应用简档时,开发人员优选在ClearCase构建脚本可运行的认证的构建机上挑选对于SYS构建的云应用。对于PROD,开发人员挑选提升到UAT的云应用。因而,这使得在UAT和PROD中展开的云应用与在先前的应用提升过程中的环境中测试的云应用相同。虽然刚刚描述了用于应用提升的优选方法,但应理解,其它的方法是可能的,并且仍在本发明的范围内。Cloud applications deployed for UAT and PROD do not proceed directly from the build to the private cloud. When a developer creates a cloud application profile for UAT, they prefer to select the cloud application to be built for SYS on a certified build machine where the ClearCase build script can run. For PROD, the developer selects the cloud application to be promoted to UAT. This ensures that the cloud application deployed in UAT and PROD is identical to the cloud application tested in the environment during the previous application promotion process. While a preferred method for application promotion has just been described, it should be understood that other methods are possible and still within the scope of the present invention.

现在关于与云应用简档的产生有关的提升过程讨论上述的四个展开环境。The four deployment environments described above are now discussed with respect to the promotion process related to the generation of cloud application profiles.

DEV-在开发人员已完成云应用的展开和测试之后,他/她可将云应用的.war文件输出到私人云。使用用户界面的开发人员可在用户界面上选择应用简档标签。云应用的初始状态是起草。开发人员将提供用于完成云应用简档的适当的信息,并且选择与其相关的云应用。开发人员然后将状态变为公开。在得到适当的级别的云管理员批准时,开发人员的云应用将在DEV环境中运行。DEV - After the developer has completed deploying and testing the cloud application, they can export the cloud application's .war file to the private cloud. Using the user interface, the developer selects the Application Profile tab. The cloud application's initial status is Draft. The developer provides the appropriate information to complete the cloud application profile and selects the cloud application associated with it. The developer then changes the status to Public. Upon approval from the appropriate level of cloud administrator, the developer's cloud application will run in the DEV environment.

SYS-只有在DEV中运行的云应用可被提升到SYS。在SYS中,可在认证的构建机,例如运行ClearCase构建脚本的构建机上构建云应用。SYS - Only cloud applications running in DEV can be promoted to SYS. In SYS, cloud applications can be built on authenticated build machines, such as those running ClearCase build scripts.

UAT-只有在SYS中运行的云应用可被提升到UAT。UAT - Only cloud applications running in SYS can be promoted to UAT.

PROD-只有在UAT中运行的云应用可被提升到PROD,这里,这种云应用将在私人云上实时运行。PROD - Only cloud applications running in UAT can be promoted to PROD, where such cloud applications will run live on the private cloud.

现在,参照图15~图22描述用于产生云应用简档并将云应用的状态从起草变为公开的方法。Now, a method for generating a cloud application profile and changing the status of a cloud application from draft to public will be described with reference to FIG. 15 to FIG. 22 .

参照图15,统一在1500上,在1502上表示典型的云应用控制面板。为了产生新的应用简档,激活将提供具有添加应用简档标签1506的下部屏幕的应用简档标签1504。如状态线1508所示,初始状态总是为起草。当激活添加新的按钮1510时,将导致显示添加新的应用简档窗口1600。15 , a typical cloud application control panel is shown at 1500 and 1502. To create a new application profile, activating the Application Profiles tab 1504 will provide a lower screen with an Add Application Profile tab 1506. As shown in status line 1508, the initial state is always Drafting. Activating the Add New button 1510 will result in the display of the Add New Application Profile window 1600.

参照图16,在添加新应用简档1600中,在名称栏1602中键入云应用的名称。然后,在应用代码栏1604中,选择按钮以提供下拉列表,并且,选择被分配给该特定的云应用的适当的应用标识符。现在必须完成简档的剩余部分。16 , in Add New Application Profile 1600 , type the name of the cloud application in the Name field 1602 . Then, in the Application Code field 1604 , select the button to provide a drop-down list and select the appropriate application identifier assigned to that particular cloud application. The remainder of the profile must now be completed.

首先,在版本栏1606中键入应用的版本。然后,在区域环境栏1608中,选择按钮以提供下拉列表,并且,选择适用于展开的环境。类似地,在区域代码栏1610中,选择按钮以提供下拉列表,诸如图17所示的1700统一表示的下拉列表。当选择适当的区域代码时,它将输入区域代码栏1610。First, enter the version of the application in the Version field 1606. Then, in the Regional Environment field 1608, select the button to provide a drop-down list and select the environment appropriate for the deployment. Similarly, in the Regional Code field 1610, select the button to provide a drop-down list, such as the drop-down list generally represented by 1700 in FIG. 17 . When the appropriate regional code is selected, it will be entered into the Regional Code field 1610.

然后,在有效日期栏1612中选择有效日期和时间。将来的日期的选择使得完成批准过程,并且它将是私人云开始运行云应用的日期。如果有效日期过去而没有批准,那么当完成批准过程时,私人云将开始运行云应用。可以完成到期日期栏1614,但这是可选的。Next, select an effective date and time in the Effective Date field 1612. Selecting a date in the future will complete the approval process, and this will be the date the private cloud begins running the cloud application. If the effective date passes without approval, the private cloud will begin running the cloud application when the approval process is completed. You can also complete the Expiration Date field 1614, but this is optional.

语境栏1616将包含云应用的语境。例如,语境栏将提供云应用的完全合格路径,诸如,例如,http://Cloud.statestreet.com/Appl/[default]。The context column 1616 will contain the context of the cloud application. For example, the context column will provide the fully qualified path of the cloud application, such as, for example, http://Cloud.statestreet.com/Appl/[default].

在请求模式栏1616中,添加服务请求前缀或其它的字符。例如,由云控制器提供在该栏中找到的用于路由的服务请求前缀。In the request mode column 1616, add the service request prefix or other characters. For example, the service request prefix found in this column for routing is provided by the cloud controller.

为了输入应用图像栏1620,激活按钮1622,这将打开图18中的图像浏览器对话窗口1800。这里,选择适当的云应用。通过选择1802上的信息图标,显示在图19中的1900上表示的对话窗口,该对话窗口表示云应用细节。一旦确认云应用细节是正确的,就激活相关图像标签1902,这将打开图20中的2000上的显示窗口。在验证图20所示的显示窗口中的信息之后,该窗口连同图19所示的图像浏览器窗口一起被关闭。然后,图18中的1804上的选择图像按钮被激活,然后,图16中的1624上的保存按钮被激活以保存新的应用简档。当完成保存时,云应用的状态被设为起草。To enter the application image bar 1620, activate button 1622, which will open the image browser dialog window 1800 in Figure 18. Here, select the appropriate cloud application. By selecting the information icon on 1802, the dialog window shown at 1900 in Figure 19 is displayed, which shows the cloud application details. Once it is confirmed that the cloud application details are correct, activate the relevant image tab 1902, which will open the display window at 2000 in Figure 20. After verifying the information in the display window shown in Figure 20, the window is closed together with the image browser window shown in Figure 19. Then, the Select Image button on 1804 in Figure 18 is activated, and then the Save button on 1624 in Figure 16 is activated to save the new application profile. When saving is completed, the status of the cloud application is set to Draft.

为了将状态从起草变为公开,必须激活图16中的状态栏1626中的按钮1628。这将打开2100上的图21所示的应用改变简档状态显示窗口。在新状态栏2102中,2104上的按钮被选择以提供下拉列表,并且,选择在本例子中为公开(PUBLISHED)的适当的状态。To change the status from DRAFT to PUBLISHED, button 1628 in status bar 1626 in Figure 16 must be activated. This will open the application change profile status display window shown in Figure 21 at 2100. In the new status bar 2102, the button at 2104 is selected to provide a drop-down list, and the appropriate status, in this example PUBLISHED, is selected.

然后,激活2106上的查看警告按钮,这将打开图22所示的打开警告对话窗口2200。如果警告被接受,那么2202上的接受按钮被激活,并且,云应用的状态变为公开,并且,一旦获得所有的批准,它就可在私人云中上线。但是,如果由于警告的性质激活2204上的谢绝按钮2204,那么应用的状态变为公开,并且它将不在私人云上上线。Then, the View Warning button at 2106 is activated, which will open the Open Warning Dialog window 2200 shown in Figure 22. If the warning is accepted, the Accept button at 2202 is activated, and the cloud application's status becomes public, and once all approvals are obtained, it can be launched in the private cloud. However, if the Decline button at 2204 is activated due to the nature of the warning, the application's status becomes public, and it will not be launched in the private cloud.

已一般关于警告在云应用的开发和展开中的用途被讨论。现在,更详细地讨论警告。[0014] The use of alerts in the development and deployment of cloud applications has been discussed generally. Now, alerts are discussed in more detail.

在云应用简档处于起草状态的时,云应用开发人员可作出云应用简档的改变。自动审计服务是应用于对于云应用简档作出的每个改变一组规则。While the cloud application profile is in the draft state, cloud application developers can make changes to the cloud application profile. The automated audit service is a set of rules that are applied to each change made to the cloud application profile.

对于失败的每个自动审计规则产生警告。如上所述,警告被分成INFO、WARN、ERROR和FATAL。优选地,开发人员将预览与各云应用简档改变相关的警告。并且,在云应用可被提升为在私人云上实时提供之前,当警告是与特定的云应用简档相关的非INFO警告时,适当的批准人员、云管理员必须预览警告。A warning is generated for each failed automated audit rule. As mentioned above, warnings are categorized as INFO, WARN, ERROR, and FATAL. Developers should preferably preview warnings associated with each cloud application profile change. Furthermore, if the warning is non-INFO and related to a specific cloud application profile, the appropriate approver, the cloud administrator, must preview the warning before the cloud application can be promoted to live on the private cloud.

如上所述,批准人员可在预览之后接受或谢绝警告。如果批准人员接受警告,那么云应用将在开发和展开过程中向前移动。但是,如果批准人员谢绝警告,那么云应用通过将云应用简档的状态设为以原因代码为谢绝的警告的拒绝而向后移动。产生的警告可通过电子邮件或其它的信息收发方法被自动发送到批准人员,使得他们被警告这种警告的产生。As described above, the approver can accept or decline the warning after previewing it. If the approver accepts the warning, the cloud application will move forward in the development and deployment process. However, if the approver declines the warning, the cloud application will be moved back by setting the cloud application profile status to "Denied" with the warning reason code "Denied." The generated warning can be automatically sent to the approver via email or other messaging methods to notify them of the generation of the warning.

一般地,自动审计机构用于识别云应用简档中的事项和问题。该自动审计机构包含规则,当检查的规则中的任一个导致失败时,这些规则将产生自动警告。自动审计规则由云管理员产生。Generally, an automated audit mechanism is used to identify issues and problems in cloud application profiles. The automated audit mechanism contains rules that generate automatic alerts when any of the rules being checked result in a failure. The automated audit rules are generated by the cloud administrator.

警告与云应用简档中的事项和问题相关,并且,一旦产生就必须被云管理员的适当级别的批准人员接受或谢绝。如果云管理员接受与云应用简档相关的警告,那么云应用将在向着在私人云中实时显示的过程中向前移动。如果警告被谢绝,那么云应用被拒绝,并且,云应用简档状态变为起草。如果情况如此,那么开发人员必须在应用可向前移动为公开之前修复问题。Warnings are associated with issues and problems in the cloud application profile and, once generated, must be accepted or declined by the appropriate level of approval from the cloud administrator. If the cloud administrator accepts a warning associated with the cloud application profile, the cloud application moves forward toward live display in the private cloud. If the warning is declined, the cloud application is rejected and the cloud application profile status changes to Draft. If this is the case, the developer must fix the problem before the application can move forward to public.

参照图23A,统一在2250上表示涉及与自动审计规则应用的应用相关的动作的典型示图。在2252上,当相关的云应用简档在处于起草状态时改变时,自动审计规则被应用到云应用。在“检测”阶段中,对于失败的每个自动审计规则产生警告。如上所述,警告被分为INFO、WARN、ERROR或FATAL。Referring to FIG. 23A , a typical diagram illustrating actions related to applications to which automated audit rules are applied is shown at 2250 . At 2252 , when the associated cloud application profile changes while in the drafting state, automated audit rules are applied to the cloud application. During the "Detect" phase, a warning is generated for each failed automated audit rule. As described above, warnings are categorized as INFO, WARN, ERROR, or FATAL.

在2254上的“预览”阶段中,开发人员将在云应用简档的每个改变之后预览警告。云管理员的批准人员预览每个警告。在“控制”阶段中,云管理员的批准人员必须在预览之后接受或谢绝警告。In the "Preview" phase at 2254, developers will preview warnings after each change to the cloud application profile. The cloud administrator's approver previews each warning. In the "Control" phase, the cloud administrator's approver must accept or decline the warning after previewing.

在图23B中统一在2300上表示典型的一组自动审计规则。参照图23B,在2302上表示典型的一组自动审计规则。示出10个规则,但该10个的组仅是示例性的。关于每个规则,存在在2304上表示的规则的严重程度。严重程度由四个警告状态即INFO、WARN、ERROR和FATAL中的一个限定。在2306上,存在警告的解释。因此,当存在任何云应用简档状态的改变时,检查自动审计规则中的每个,并且,当达到存在任何违反的程度时,将针对该云应用记录警告。只有当由适当的批准人员接受这些警告时,云应用才可在开发和展开过程中向前移动。A typical set of automated audit rules is shown collectively at 2300 in FIG. 23B . Referring to FIG. 23B , a typical set of automated audit rules is shown at 2302 . Ten rules are shown, but this group of ten is merely exemplary. With respect to each rule, there is a severity of the rule shown at 2304 . The severity is defined by one of four warning states, INFO, WARN, ERROR, and FATAL. At 2306 , there is an explanation of the warning. Thus, when there is a change in any cloud application profile state, each of the automated audit rules is checked, and to the extent that there is any violation, a warning will be logged for that cloud application. Only when these warnings are accepted by the appropriate approval personnel can the cloud application move forward in the development and deployment process.

在图4中,用户界面402表示仪表板406。在图24中统一在2400上表示典型的仪表板显示。如图所示,云应用和区域可以详细地或者以图示的方式被查看,以使得能够纵览云应用的健康。在图24中,对于在2401上表示的云应用,在2402上表示应用细节,在2406上表示虚拟机细节,并且,在2408上表示虚拟细节。并且,在2410上表示区域的图形显示。In FIG4 , user interface 402 represents dashboard 406. A typical dashboard display is generally shown at 2400 in FIG24 . As shown, cloud applications and regions can be viewed in detail or graphically, providing an overview of the health of cloud applications. In FIG24 , for a cloud application shown at 2401 , application details are shown at 2402 , virtual machine details are shown at 2406 , and virtualization details are shown at 2408 . Furthermore, a graphical display of regions is shown at 2410 .

2410上的区域的图形显示表示由于指示箭头明显进入绿色区域,因此,关于2412上的TX/SLO(交易/SLO)和2418上的用户的健康非常好。由于指示箭头接近黄色或警告区域,因此,2416所示的物理机的健康不太好。最后,由于指示箭头处于红色区域,因此,2414所示的虚拟机的健康不好。优选地,由于指示箭头处于红色区域,因此,云管理员被警告这一点,并且,如果可能的话,校正与虚拟机相关的加载问题。The graphical display of the area at 2410 indicates that the health of the network with respect to TX/SLO at 2412 and users at 2418 is very good, as the indicator arrow has clearly entered the green zone. The health of the physical machine shown at 2416 is less good, as the indicator arrow is approaching the yellow or warning zone. Finally, the health of the virtual machine shown at 2414 is not good, as the indicator arrow is in the red zone. Preferably, since the indicator arrow is in the red zone, the cloud administrator is alerted to this and, if possible, corrects the load issue associated with the virtual machine.

可以理解,可存在在仪表板显示2400上表示的各种标签的选择,并且,这将提供关于系统应用和基础结构的附加的健康信息。It will be appreciated that there may be a selection of various tabs represented on the dashboard display 2400 and that this will provide additional health information regarding the system applications and infrastructure.

在关于图6和图7描述服务登记524时,服务登记的内容被讨论但没有被示出。并且,前面已经讨论,通过服务登记,授权的系统用户将能够访问与服务登记条目有关的网络服务细节。在图25和图26中,表示服务登记窗口和网络服务细节窗口的典型屏幕显示。When describing the service registry 524 with respect to Figures 6 and 7, the contents of the service registry were discussed but not shown. Furthermore, as previously discussed, the service registry enables authorized system users to access network service details associated with a service registry entry. Typical screen displays of the service registry window and the network service details window are shown in Figures 25 and 26.

参照图25,统一在2500上表示典型的服务登记显示窗口。如2502所示,各登记条目具有号码、名称、描述和与服务有关的附加的信息。该信息使得可由授权的系统用户搜索服务。如果授权的系统用户希望关于服务登记中的特定条目的详细信息,那么可通过选择将打开诸如图26所示的网络服务细节窗口的服务条目获得它。Referring to FIG. 25 , a typical service registry display window is generally shown at 2500. As shown at 2502, each registry entry has a number, name, description, and additional information related to the service. This information allows authorized system users to search for services. If an authorized system user desires detailed information about a particular entry in the service registry, they can obtain it by selecting the service entry, which will open a network service details window such as that shown in FIG. 26 .

参照图26,统一在2600上表示具有网络服务细节显示2604窗口的服务登记显示2602。如果授权的系统用户选择服务登记窗口2602中的服务登记no.511446,那么它将打开用于服务登记no.511446的网络服务细节显示窗口2604,以关于该登记号码提供特定的细节。在显示窗口2604中,表示关于服务登记no.511446的基本信息;但是,通过选择附加的标签中的任一个,将关于该登记号码提供附加的详细信息。26 , a service registration display 2602 is generally shown at 2600 with a network service details display 2604 window. If an authorized system user selects service registration number 511446 in service registration window 2602, a network service details display window 2604 for service registration number 511446 will open, providing specific details regarding that registration number. Display window 2604 shows basic information regarding service registration number 511446; however, by selecting any of the additional tabs, additional detailed information regarding that registration number will be provided.

参照图27~图32,将描述典型的云应用展开工作流程。27 to 32 , a typical cloud application deployment workflow will be described.

参照图27,统一在2700对于POC/DEV/SYS环境表示云应用展开工作流程。POC/DEV/SYS统一形成区域。该图表示当云应用被展开到POC、DEV和SYS环境时云应用简档必须经历的过程。27 , a cloud application deployment workflow is shown for POC/DEV/SYS environments at 2700 . POC/DEV/SYS are unified into zones. This diagram shows the process a cloud application profile must go through when deploying a cloud application to POC, DEV, and SYS environments.

在2702上,开发人员将能够访问云应用简档,以编辑简档文件的栏,只要它具有起草状态,如2704所示。一旦开发人员满意云应用简档的改变,云应用简档中的状态就该变为2706上的公开。At 2702, the developer will be able to access the cloud application profile to edit the fields of the profile file as long as it has a draft status, as shown at 2704. Once the developer is satisfied with the changes to the cloud application profile, the status in the cloud application profile should be changed to public at 2706.

然后,优选地,组长开发人员将预览应用简档,并且,当满意它时,他/她将云应用的状态变为组长批准,如2208所示。但是,如果领导开发人员不满意,那么他/她可拒绝应用,如2710上的拒绝所示,这将使云应用简档的状态返回起草。The lead developer will then preferably review the application profile and, when satisfied with it, change the cloud application's status to Lead Approved, as shown at 2208. However, if the lead developer is not satisfied, he or she can reject the application, as shown by the rejection at 2710, which will return the cloud application profile's status to Draft.

如果组长开发人员批准云应用,那么云应用简档将在2711上被转送到云控制器。此时接管的云控制器确证云应用简档,并且将云应用简档的状态变为调度,如2712所示。应用简档将停留在该状态,直到到达展开私人云的时间。If the lead developer approves the cloud application, the cloud application profile will be forwarded to the cloud controller at 2711. The taking-over cloud controller now validates the cloud application profile and changes the state of the cloud application profile to scheduled, as shown at 2712. The application profile will remain in this state until it is time to deploy the private cloud.

一般地,在云应用简档上指示展开云应用的时间。当展开时间到来时,云控制器在2713上将云应用简档的状态变为安装,而同时实施安装云应用的提供。云控制器将提取服务库存文件,读取服务元数据并访问控制信息、2715上的更新eSF和2714上的更新服务登记。一旦完成安装,云应用简档的状态就改变为2716上的运行。优选地,运行意味着云应用正在私人云中实时运行。Typically, the cloud application profile indicates when to deploy the cloud application. When the deployment time arrives, the cloud controller changes the cloud application profile's status to Installed at 2713, simultaneously implementing the cloud application's provisioning. The cloud controller retrieves the service inventory file, reads the service metadata and access control information, updates the eSF at 2715, and updates the service registration at 2714. Once the installation is complete, the cloud application profile's status changes to Running at 2716. Preferably, Running means the cloud application is currently running in the private cloud.

参照图28,统一在2800上对于POC/DEV/SYS环境表示云应用展开工作流程。POC/DEV/SYS统一形成区域。在图28中,涉及2704上的起草、2706上的公开、2708上的组长批准、2710上的拒绝、2712上的调度、2713上的安装、2715上的更新eSF和2714上的更新登记的工作流程过程与图27中的那些相同。因此,关于图27的这些项目的描述在这里同样适用,并且被加入作为参考。Referring to FIG. 28 , a cloud application deployment workflow for the POC/DEV/SYS environment is shown at 2800. POC/DEV/SYS are unified into a single zone. In FIG. 28 , the workflow processes involving drafting at 2704, publishing at 2706, team leader approval at 2708, rejection at 2710, scheduling at 2712, installation at 2713, updating eSF at 2715, and registering updates at 2714 are identical to those in FIG. Therefore, the descriptions of these items in FIG. 27 apply equally here and are incorporated by reference.

当将云应用展开到UAT和PROD环境时,工作流程在2708上的组长批准之后需要三个附加的批准。这些批准包含2802上的管理员批准、2804上的SQA批准和2810上的商业批准。可存在多于或少于三个的附加的批准,并且仍在本发明的范围内。When the cloud application is deployed to the UAT and PROD environments, the workflow requires three additional approvals after the team leader approval at 2708. These approvals include the administrator approval at 2802, the SQA approval at 2804, and the business approval at 2810. There may be more or less than three additional approvals and still be within the scope of the present invention.

参照图29,统一在2900上对于紧急条件表示云应用展开工作流程。在图29中,除了2708上的组长批准和2802上的管理员批准是开发人员2702的一部分并且2804上的SQA批准和2810上的商业批准在包含紧急批准2904的替代流程2904中被分组以外,涉及2704上的起草、2706上的公开、2708上的组长批准、2710上的拒绝、2802上的管理员批准、2804上的SQA批准、2810上的商业批准和2712上的调度与图28所示的那些相同。因此,关于图28的这些项目的描述在这里同样适用,并且被加入作为参考。29 , a cloud application deployment workflow for an emergency condition is shown at 2900. In FIG29 , the drafting at 2704, the publishing at 2706, the team leader approval at 2708, the rejection at 2710, the administrator approval at 2802, the SQA approval at 2804, the business approval at 2810, and the scheduling at 2712 are the same as those shown in FIG28 , except that the team leader approval at 2708 and the administrator approval at 2802 are part of the developer 2702, and the SQA approval at 2804 and the business approval at 2810 are grouped in an alternative process 2904 that includes the emergency approval 2904. Therefore, the description of these items in FIG28 is equally applicable here and is incorporated by reference.

如果开发人员请求云应用简档作为紧急展开移动,那么将使用图29的工作流程。在紧急展开工作流程中,可由访问了2904上的紧急批准的授权的人员跳过SQA和商业批准。优选地,紧急工作流程用于展开意外但关键的技术改变,其需要被紧急向前移动以展开。If a developer requests that a cloud application profile be moved as an emergency deployment, the workflow of Figure 29 will be used. In the emergency deployment workflow, SQA and business approvals can be skipped by personnel who have access to the emergency approval authorization at 2904. Preferably, the emergency workflow is used to deploy unexpected but critical technical changes that need to be moved forward urgently for deployment.

参照图30,统一在3000上表示暂停云应用展开工作流程。在图29中,涉及2704上的起草、2706上的公开、2708上的组长批准、2710上的拒绝、2802上的管理员批准、2804上的SQA批准、2810上的商业批准、2712上的调度和2904上的紧急批准的工作流程过程与图29所示的那些相同。因此,关于图29的这些项目的描述在这里同样适用,并且被加入作为参考。30 , a paused cloud application deployment workflow is collectively shown at 3000. In FIG29 , the workflow processes involving drafting at 2704, publishing at 2706, team leader approval at 2708, rejection at 2710, administrator approval at 2802, SQA approval at 2804, business approval at 2810, scheduling at 2712, and emergency approval at 2904 are the same as those shown in FIG29 . Therefore, the descriptions of these items in FIG29 are equally applicable here and are incorporated by reference.

当需要在按月暂停或其它的固定的时间周期中移动云应用时,使用暂停展开工作流程。例如,它可与某月的最后一个和第一个营业日一致。在该时间中,限制对实时云应用的改变。Use the Pause workflow when you need to move cloud applications within a monthly or other fixed time period. For example, it can coincide with the last and first business days of a month. During this time, changes to live cloud applications are restricted.

根据图30,替代工作流程2902包含3002上的暂停批准1和3004上的暂停批准2。这些后面的批准是从企业内的高级实体获取的。30, alternative workflow 2902 includes Suspend Approval 1 at 3002 and Suspend Approval 2 at 3004. These latter approvals are obtained from higher-level entities within the enterprise.

参照图31,统一在3100上表示用于将应用拆除出展开过程的云应用展开工作流程。当云应用展开导致云应用的意外的故障时,可能必须将展开的云应用的版本拆除出私人云。31 , a cloud application deployment workflow for removing an application from a deployment process is generally shown at 3100. When cloud application deployment results in an unexpected failure of the cloud application, it may be necessary to remove the deployed version of the cloud application from the private cloud.

当在展开的云应用中检测到问题时,作出是否拆除应用的决定。可通过产生应用“拆除”文件完成这一点。可以用在云应用具有问题之前展开的云应用的二进制数产生该文件。通过使用这些二进制数由开发人员产生拆除简档。When a problem is detected in a deployed cloud application, a decision is made as to whether to remove the application. This can be accomplished by generating an application "removal" file. This file can be generated using the binaries of the cloud application deployed before the problem occurred. Using these binaries, developers can generate a removal profile.

重新参照图31,图示拆除应用展开工作流程。在3102上,一旦存在云应用的展开版本的检测的问题,就必须作出是否产生和使用拆除简档的决定。31 , a teardown application deployment workflow is illustrated. At 3102 , once there is a problem with the detection of a deployed version of a cloud application, a decision must be made whether to generate and use a teardown profile.

如果决定产生拆除简档,那么过程前进到3104。在3104中,可通过使用应用控制面板产生拆除简档。在产生拆除简档时,可以只使用以前展开的云应用。并且,一旦产生拆除简档,就不能改变它。活动记录保持追踪与拆除简档有关的历史。If a decision is made to create a teardown profile, the process proceeds to 3104. At 3104, the teardown profile can be created using the application control panel. When creating a teardown profile, only previously deployed cloud applications can be used. Furthermore, once a teardown profile is created, it cannot be changed. An activity log keeps track of the history associated with the teardown profile.

一旦产生拆除文件,过程就移动到3106,在这里,必须得到适当的批准。以与至少在图27~图30和图32中表示的工作流程一致的方式获得这些批准。Once the removal document is generated, the process moves to 3106 where appropriate approvals must be obtained. These approvals are obtained in a manner consistent with at least the workflows shown in Figures 27 to 30 and 32.

参照图32,统一在3200上表示加入自动警告的替代云应用展开工作流程。在图32中,涉及2704上的起草、2706上的公开、2708上的组长批准、2710上的拒绝、2802上的管理员批准、2804上的SQA批准和2810上的商业批准和2712上的调度的工作流程过程与图29所示的那些相同。因此,关于图29的这些项目的描述在这里同样适用,并且被加入作为参考。32 , an alternative cloud application deployment workflow incorporating automated alerts is collectively shown at 3200. In FIG32 , the workflow processes involving drafting at 2704, publishing at 2706, team leader approval at 2708, rejection at 2710, administrator approval at 2802, SQA approval at 2804, business approval at 2810, and scheduling at 2712 are identical to those shown in FIG29 . Therefore, the descriptions of these items in FIG29 are equally applicable here and are incorporated by reference.

图32所示的工作流程在各阶段上加入使用自动审计规则。在2704中,具有起草状态的云应用具有其在3202中改变的云应用简档,从而,自动审计规则在3204中评价改变。这将在3206中产生应用简档警告。开发人员然后在3208中修复导致警告的问题。如果修复被视为合适,那么云应用在2706上公开。但是,在3205上的替代性工作流程中的各阶段中,为了使应用移动到下一批准阶段,各批准等级必须接受警告,如3010、3012、3014和3016所示。如果在批准阶段中的任一个上警告被谢绝,那么工作流程移动到3218上的谢绝警告,并且,应用在2710上被拒绝。当应用以这种方式被拒绝时,其状态返回起草,并且,过程必须重新开始以将云应用移动到私人云中的展开。The workflow shown in Figure 32 incorporates the use of automated audit rules at each stage. At 2704, a cloud application with a Draft status has its cloud application profile changed at 3202. Consequently, the automated audit rules evaluate the change at 3204. This generates an application profile warning at 3206. The developer then fixes the issue causing the warning at 3208. If the fix is deemed appropriate, the cloud application is published at 2706. However, at each stage in the alternative workflow at 3205, each approval level must accept the warning for the application to move to the next approval stage, as shown at 3010, 3012, 3014, and 3016. If the warning is rejected at any of the approval stages, the workflow moves to Reject Warning at 3218, and the application is rejected at 2710. When an application is rejected in this manner, its status returns to Draft, and the process must begin again to move the cloud application to deployment in the private cloud.

可以在计算机硬件、固件和/或在分别包含处理器和可由处理器读取的存储介质(包含易失性和非易失性存储器和/或存储元件)的可编程计算机或服务器上执行的计算机程序中实现本发明的系统和方法的实施例或其多个部分。任何计算机程序可以通过高级过程或面向对象的编程语言被实现,以在基于计算机的系统内部或外部通信。Embodiments of the systems and methods of the present invention, or portions thereof, may be implemented in computer hardware, firmware, and/or computer programs executed on a programmable computer or server, each comprising a processor and a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements). Any computer program may be implemented in a high-level procedural or object-oriented programming language to communicate within or outside a computer-based system.

任何计算机程序可被存储于可由通用或特殊用途可编程计算机读取的诸如存储介质(例如,CD-ROM、硬盘或磁盘)或装置(例如,计算机外设)的制品上,以用于当存储介质或装置被计算机读取时配置并操作计算机以执行实施例的功能。实施例或它们的多个部分也可实现为通过计算机程序配置的机器可读存储介质,这里,在执行计算机程序时,计算机程序中的指令导致机器动作以执行上述的实施例的功能。Any computer program may be stored on an article of manufacture such as a storage medium (e.g., a CD-ROM, hard disk, or magnetic disk) or device (e.g., a computer peripheral) that can be read by a general-purpose or special-purpose programmable computer, so as to configure and operate the computer to perform the functions of the embodiments when the storage medium or device is read by the computer. The embodiments or portions thereof may also be implemented as a machine-readable storage medium configured by a computer program, where, when the computer program is executed, the instructions in the computer program cause the machine to act to perform the functions of the embodiments described above.

可以在各种应用中使用上述的本发明的系统和方法的实施例或它们的多个部分。实施例或者它们的多个部分不限于该方面,而是,可通过微控制器、通用微处理器、数字信号处理器(DSP)、精简指令集计算(RISC)和复杂指令集计算(CISC)以及其它的电子组件中的存储器件实现实施例或者它们的多个部分。并且,也可通过使用存储由微处理器执行的电子指令或者存储可在算术运算中使用的数据的称为主存储器、缓存存储器或其它类型的存储器的集成电路块,实现上述的实施例或它们的多个部分。The embodiments of the systems and methods of the present invention described above, or portions thereof, may be used in a variety of applications. The embodiments or portions thereof are not limited in this respect, but rather, may be implemented using memory devices in microcontrollers, general-purpose microprocessors, digital signal processors (DSPs), reduced instruction set computing (RISC), complex instruction set computing (CISC), and other electronic components. Furthermore, the embodiments or portions thereof may also be implemented using integrated circuit blocks called main memory, cache memory, or other types of memory that store electronic instructions executed by a microprocessor or store data that can be used in arithmetic operations.

说明在任何计算或处理环境中是适用的。可以在硬件、软件或两者的组合中实现实施例或者它们的多个部分。例如,可通过使用诸如可编程逻辑(例如,ASIC)、逻辑门、处理器和存储器中的一个或更多个的电路,实现实施例或者它们的多个部分。The description is applicable in any computing or processing environment. The embodiments or portions thereof may be implemented in hardware, software, or a combination of both. For example, the embodiments or portions thereof may be implemented using circuits such as one or more of programmable logic (e.g., ASICs), logic gates, processors, and memories.

公开的实施例的各种修改对于本领域技术人员来说是十分明显的,并且,以下阐述的一般原理可适用于其它的实施例和应用。因此,本发明不是要限于这里表示或描述的实施例。Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles set forth below may be applied to other embodiments and applications. Therefore, the present invention is not intended to be limited to the embodiments shown or described herein.

Claims (51)

1.一种基于计算机的系统,所述系统具有用于在云计算环境中托管多个虚拟机环境的虚拟机基础结构,所述系统包括:1. A computer-based system having a virtual machine infrastructure for hosting multiple virtual machine environments in a cloud computing environment, the system comprising: 连接到所述云计算环境的至少一个系统用户界面,其中,所述至少一个系统用户界面通过向所述云计算环境发送用于访问和使用能够通过所述云计算环境访问的应用和/或虚拟机服务的请求来启动所述云计算环境中的虚拟机环境;At least one system user interface connected to the cloud computing environment, wherein the at least one system user interface initiates a virtual machine environment in the cloud computing environment by sending a request to the cloud computing environment for accessing and using applications and/or virtual machine services that can be accessed through the cloud computing environment; 所述云计算环境中的连接到所述至少一个系统用户界面的至少一个提供方,其中,所述至少一个提供方用于在所述云计算环境中的多个激活的第一服务器类型和多个激活的第二服务器类型之间平衡来自所述至少一个系统用户界面的对应用和/或虚拟机服务的请求的分布;At least one provider connected to the at least one system user interface in the cloud computing environment, wherein the at least one provider is used to balance the distribution of requests for application and/or virtual machine services from the at least one system user interface among a plurality of active first server types and a plurality of active second server types in the cloud computing environment. 连接到所述提供方的至少一个激活的第一服务器类型,至少用于路由从所述至少一个系统用户界面接收到的用于访问和/或使用存储在所述云计算环境中或者能够通过所述云计算环境访问的虚拟机服务的请求;At least one active first server type connected to the provider is used to route requests received from the at least one system user interface for accessing and/or using virtual machine services stored in or accessible through the cloud computing environment; 连接到所述至少一个激活的第一服务器类型的多个第二服务器类型,其中,所述第二服务器类型用于路由从所述至少一个系统用户界面接收到的对应用和/或虚拟机服务的请求;以及A plurality of second server types are connected to the at least one active first server type, wherein the second server types are used to route requests for application and/or virtual machine services received from the at least one system user interface; and 连接到所述第二服务器类型和所述至少一个系统用户界面的云数据库,其中,所述云数据库接收用于访问所述云数据库中的虚拟机服务的请求,并且使得所请求的虚拟机服务对所述至少一个系统用户界面可用以便运行在所述云计算环境中的虚拟机环境中,其中所述云计算环境与激活的第一服务器类型和一个或多个激活的第二服务器类型相关联。A cloud database connected to the second server type and the at least one system user interface, wherein the cloud database receives a request for accessing a virtual machine service in the cloud database and makes the requested virtual machine service available to the at least one system user interface for running in a virtual machine environment in the cloud computing environment, wherein the cloud computing environment is associated with an active first server type and one or more active second server types. 2.根据权利要求1所述的系统,其中,所述云计算环境包括公共云。2. The system according to claim 1, wherein the cloud computing environment includes a public cloud. 3.根据权利要求2所述的系统,其中,所述至少一个系统用户界面被有线或者无线地连接到所述云计算环境。3. The system according to claim 2, wherein the at least one system user interface is connected to the cloud computing environment via wired or wireless connection. 4.根据权利要求1所述的系统,其中,所述云计算环境包括私人云。4. The system according to claim 1, wherein the cloud computing environment includes a private cloud. 5.根据权利要求4所述的系统,其中,所述云计算环境包括企业范围私人云。5. The system according to claim 4, wherein the cloud computing environment includes an enterprise-wide private cloud. 6.根据权利要求4所述的系统,其中,所述至少一个系统用户界面包括被有线或者无线地连接到所述云计算环境。6. The system of claim 4, wherein the at least one system user interface is connected to the cloud computing environment via a wired or wireless connection. 7.根据权利要求1所述的系统,其中,所述至少一个系统用户界面包括个人计算机、个人数字助理、平板设备或者智能电话。7. The system of claim 1, wherein the at least one system user interface comprises a personal computer, a personal digital assistant, a tablet device, or a smartphone. 8.根据权利要求1所述的系统,其中,所述提供方包括载荷平衡器,所述载荷平衡器用于提供提供服务,以用于在多个第一服务器类型和第二服务器类型之间平衡来自所述至少一个系统用户界面的对应用和/或虚拟机服务的请求的分布。8. The system of claim 1, wherein the provider includes a load balancer for providing services to balance the distribution of requests for application and/or virtual machine services from the at least one system user interface among a plurality of first server types and second server types. 9.根据权利要求8所述的系统,其中,所述多个第一服务器类型包括至少两个web服务器,并且所述载荷平衡器在两个web服务器之间平衡来自所述至少一个系统用户界面的对应用和/或虚拟机服务的请求的分布。9. The system of claim 8, wherein the plurality of first server types include at least two web servers, and the load balancer balances the distribution of requests for application and/or virtual machine services from the at least one system user interface between the two web servers. 10.根据权利要求1所述的系统,其中,从所述至少一个系统用户界面向所述云计算环境发送的请求包括根据超文本传输协议(HTTP)格式化的请求。10. The system of claim 1, wherein the request sent from the at least one system user interface to the cloud computing environment includes a request formatted according to the Hypertext Transfer Protocol (HTTP). 11.根据权利要求1所述的系统,其中,所述第一服务器类型包括web服务器。11. The system according to claim 1, wherein the first server type includes a web server. 12.根据权利要求1所述的系统,其中,所述第二服务器类型包括应用服务器。12. The system according to claim 1, wherein the second server type includes an application server. 13.根据权利要求1所述的系统,其中,所述虚拟机服务包括虚拟桌面服务。13. The system according to claim 1, wherein the virtual machine service includes a virtual desktop service. 14.一种基于计算机的系统,所述系统具有用于在云计算环境中托管多个虚拟机环境的虚拟机基础结构,所述系统包括:14. A computer-based system having a virtual machine infrastructure for hosting multiple virtual machine environments in a cloud computing environment, the system comprising: 连接到所述云计算环境的多个系统用户界面,其中,每个系统用户界面通过向所述云计算环境发送用于访问和使用能够通过所述云计算环境访问的应用和/或虚拟机服务的请求来启动所述云计算环境中的虚拟机环境;Multiple system user interfaces connected to the cloud computing environment, wherein each system user interface initiates a virtual machine environment in the cloud computing environment by sending a request to the cloud computing environment for accessing and using applications and/or virtual machine services that can be accessed through the cloud computing environment; 所述云计算环境中的连接到所述多个系统用户界面的至少一个提供方,其中,所述至少一个提供方用于在所述云计算环境中的多个激活的第一服务器类型和多个激活的第二服务器类型之间平衡来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的分布;At least one provider connected to the plurality of system user interfaces in the cloud computing environment, wherein the at least one provider is used to balance the distribution of requests for application and/or virtual machine services from the plurality of system user interfaces among a plurality of active first server types and a plurality of active second server types in the cloud computing environment. 连接到所述提供方的多个第一服务器类型,其中,所述多个第一服务器类型中的每个激活的第一服务器类型至少用于路由从所述多个系统用户界面接收到的用于访问和/或使用存储在所述云计算环境中或者能够通过所述云计算环境访问的已经由所述提供方提供给每个激活的第一服务器类型的对应用和/或虚拟机服务的请求;以及A plurality of first server types are connected to the provider, wherein each active first server type is at least used to route requests received from the plurality of system user interfaces for accessing and/or using application and/or virtual machine services stored in or accessible through the cloud computing environment and provided by the provider to each active first server type; and 连接到每个第一服务器类型的多个第二服务器类型,其中,所述多个第二服务器类型中的每个激活的第二服务器类型用于向每个激活的第二服务器类型中的多个托管的web服务路由从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求,其中,托管的web服务是根据来自所述多个系统用户界面中的每个系统用户界面的对应用和/或虚拟机服务的请求而选择的。A plurality of second server types are connected to each first server type, wherein each active second server type is used to route requests for application and/or virtual machine services received from the plurality of system user interfaces to a plurality of hosted web services in each active second server type, wherein the hosted web services are selected based on the requests for application and/or virtual machine services from each of the plurality of system user interfaces. 15.根据权利要求14所述的系统,其中,所述云计算环境包括公共云。15. The system of claim 14, wherein the cloud computing environment includes a public cloud. 16.根据权利要求15所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括被有线或者无线地连接到所述云计算环境。16. The system of claim 15, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 17.根据权利要求14所述的系统,其中,所述云计算环境包括私人云。17. The system of claim 14, wherein the cloud computing environment includes a private cloud. 18.根据权利要求17所述的系统,其中,所述云计算环境包括企业范围私人云。18. The system of claim 17, wherein the cloud computing environment includes an enterprise-wide private cloud. 19.根据权利要求17所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括被有线或者无线地连接到所述云计算环境。19. The system of claim 17, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 20.根据权利要求14所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括个人计算机、个人数字助理、平板设备或者智能电话。20. The system of claim 14, wherein each of the plurality of system user interfaces comprises a personal computer, a personal digital assistant, a tablet device, or a smartphone. 21.根据权利要求14所述的系统,其中,所述提供方包括载荷平衡器,所述载荷平衡器用于提供提供服务,以用于在多个第一服务器类型和第二服务器类型之间平衡来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的分布。21. The system of claim 14, wherein the provider includes a load balancer for providing services to balance the distribution of requests for application and/or virtual machine services from the plurality of system user interfaces among a plurality of first server types and second server types. 22.根据权利要求21所述的系统,其中,所述多个第一服务器类型包括至少两个web服务器,并且所述载荷平衡器在两个web服务器之间平衡来自所述多个系统用户界面的对应用和/或web服务的请求的分布。22. The system of claim 21, wherein the plurality of first server types include at least two web servers, and the load balancer balances the distribution of requests for applications and/or web services from the plurality of system user interfaces between the two web servers. 23.根据权利要求14所述的系统,其中,从所述多个系统用户界面向所述云计算环境发送的请求包括根据超文本传输协议(HTTP)格式化的请求。23. The system of claim 14, wherein requests sent from the plurality of system user interfaces to the cloud computing environment include requests formatted according to the Hypertext Transfer Protocol (HTTP). 24.根据权利要求14所述的系统,其中,所述多个第一服务器类型中的每个包括web服务器。24. The system of claim 14, wherein each of the plurality of first server types includes a web server. 25.根据权利要求14所述的系统,其中,所述多个第二服务器类型中的每个包括应用服务器。25. The system of claim 14, wherein each of the plurality of second server types includes an application server. 26.根据权利要求14所述的系统,其中,所述系统还包括用于监视所述云计算环境从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目的监视器,以用于控制被激活的并且对提供方来说可用于发送来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的第一服务器类型和第二服务器类型的数目。26. The system of claim 14, wherein the system further comprises a monitor for monitoring the number of requests for application and/or virtual machine services received by the cloud computing environment from the plurality of system user interfaces, for controlling the number of a first server type and a second server type that are activated and available to the provider for sending requests for application and/or virtual machine services from the plurality of system user interfaces. 27.根据权利要求14所述的系统,其中,所述虚拟机服务包括虚拟桌面服务。27. The system of claim 14, wherein the virtual machine service includes a virtual desktop service. 28.一种基于计算机的系统,所述系统具有用于在云计算环境中提供多个虚拟机环境的虚拟机基础结构,所述系统包括:28. A computer-based system having a virtual machine infrastructure for providing multiple virtual machine environments in a cloud computing environment, the system comprising: 所述云计算环境中的提供方,所述提供方从多个系统用户界面接收对桌面应用的多个请求,其中,所述提供方用于根据从所述多个系统用户界面接收到的用于操作所述云计算环境中的与激活的第一服务器类型和第二服务器类型相关联的一个或者多个虚拟机环境的请求的数目,在多个激活的第一服务器类型和多个激活的第二服务器类型之间平衡对桌面应用的请求的分布;In the cloud computing environment, the provider receives multiple requests for desktop applications from multiple system user interfaces, wherein the provider is configured to balance the distribution of requests for desktop applications among multiple active first server types and multiple active second server types based on the number of requests received from the multiple system user interfaces for operating one or more virtual machine environments associated with active first server types and second server types in the cloud computing environment. 连接到所述提供方的多个第一服务器类型的集群,其中,所述多个第一服务器类型中的每个能够被所述提供方激活和去激活,并且当被激活时根据所述提供方对来自所述多个系统用户界面的对桌面应用的一个或者多个请求的分布来处理这种请求,并且每个激活的第一服务器类型应当与在所述云计算环境中运行的虚拟机环境相关联;以及A cluster of multiple first server types connected to the provider, wherein each of the multiple first server types can be activated and deactivated by the provider, and when activated, processes requests according to the provider's distribution of one or more requests to desktop applications from the multiple system user interfaces, and each activated first server type should be associated with a virtual machine environment running in the cloud computing environment; and 多个第二服务器类型的集群,其中所述集群连接到所述多个第一服务器类型的每个,所述多个第二服务器类型中的每个能够被所述提供方激活和去激活,并且当被激活时根据所述提供方对来自所述多个系统用户界面的对桌面应用的一个或者多个请求的分布来处理这种请求,并且每个激活的第二服务器类型与所连接的激活的第一服务器类型一起应当与所述云计算环境中的虚拟机环境相关联。A cluster of multiple second server types, wherein the cluster is connected to each of the multiple first server types, each of the multiple second server types being able to be activated and deactivated by the provider, and when activated, processing such requests according to the provider's distribution of one or more requests to desktop applications from the multiple system user interfaces, and each activated second server type, together with the connected activated first server type, should be associated with a virtual machine environment in the cloud computing environment. 29.根据权利要求28所述的系统,其中,所述云计算环境包括公共云。29. The system of claim 28, wherein the cloud computing environment includes a public cloud. 30.根据权利要求29所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括被有线或者无线地连接到所述云计算环境。30. The system of claim 29, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 31.根据权利要求28所述的系统,其中,所述云计算环境包括私人云。31. The system of claim 28, wherein the cloud computing environment includes a private cloud. 32.根据权利要求31所述的系统,其中,所述云计算环境包括企业范围私人云。32. The system of claim 31, wherein the cloud computing environment includes an enterprise-wide private cloud. 33.根据权利要求31所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括被有线或者无线地连接到所述云计算环境。33. The system of claim 31, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 34.根据权利要求28所述的系统,其中,所述提供方包括载荷平衡器,所述载荷平衡器用于为所述多个第一服务器类型和多个第二服务器类型提供提供服务,以用于在多个第一服务器类型和第二服务器类型之间平衡来自所述多个系统用户界面的对桌面应用的请求的分布。34. The system of claim 28, wherein the provider includes a load balancer for providing services for the plurality of first server types and the plurality of second server types to balance the distribution of requests for desktop applications from the plurality of system user interfaces among the plurality of first server types and second server types. 35.根据权利要求34所述的系统,其中,所述多个第一服务器类型中的每个包括web服务器。35. The system of claim 34, wherein each of the plurality of first server types includes a web server. 36.根据权利要求35所述的系统,其中,所述多个第一服务器类型包括至少两个web服务器,并且所述载荷平衡器在两个web服务器之间平衡来自所述多个系统用户界面的对桌面应用的请求的分布。36. The system of claim 35, wherein the plurality of first server types include at least two web servers, and the load balancer balances the distribution of requests for desktop applications from the plurality of system user interfaces between the two web servers. 37.根据权利要求36所述的系统,其中,所述多个第二服务器类型包括应用服务器的集群,其中应用服务器的集群连接到所述web服务器中的每个。37. The system of claim 36, wherein the plurality of second server types comprises a cluster of application servers, wherein the cluster of application servers is connected to each of the web servers. 38.根据权利要求30所述的系统,其中,所述系统还包括监视器,用于监视所述云计算环境从所述多个系统用户界面接收到的对桌面应用的请求的数目,并且用于控制对所述提供方来说可用于发送来自所述多个系统用户界面的对桌面应用的请求的激活的第一服务器类型和激活的第二服务器类型的数目。38. The system of claim 30, wherein the system further comprises a monitor for monitoring the number of requests for desktop applications received by the cloud computing environment from the plurality of system user interfaces, and for controlling the number of activated first server types and activated second server types available for the provider to send requests for desktop applications from the plurality of system user interfaces. 39.一种基于计算机的系统,所述系统具有用于在云计算环境中托管多个虚拟机环境的虚拟机基础结构,所述系统包括:39. A computer-based system having a virtual machine infrastructure for hosting multiple virtual machine environments in a cloud computing environment, the system comprising: 连接到所述云计算环境的多个系统用户界面,其中,每个系统用户界面通过向所述云计算环境发送用于访问和使用所述云计算环境中的应用和/或虚拟机服务的请求来启动虚拟机环境;Multiple system user interfaces connected to the cloud computing environment, wherein each system user interface initiates a virtual machine environment by sending a request to the cloud computing environment for accessing and using applications and/or virtual machine services in the cloud computing environment; 云控制器的连接到所述多个系统用户界面的提供服务,用于从所述多个系统用户界面接收对应用和/或虚拟机服务的请求,并且用于根据从所述多个系统用户界面接收到的请求的数目来在所述云计算环境中提供虚拟机环境和相关联的虚拟机环境控件;The cloud controller connects to the plurality of system user interfaces to provide services for receiving requests for application and/or virtual machine services from the plurality of system user interfaces, and for providing virtual machine environments and associated virtual machine environment controls in the cloud computing environment based on the number of requests received from the plurality of system user interfaces. 由所述提供服务激活和去激活的多个虚拟机环境和相关联的虚拟机环境控件,每个被激活的虚拟机环境和相关联的虚拟机环境控件根据由所述提供服务提供给每个激活的虚拟机环境和相关联的虚拟机环境控件的对应用和/或虚拟机服务的请求的数目来运行web服务器实例和应用实例;以及Multiple virtual machine environments and associated virtual machine environment controls are activated and deactivated by the service provided. Each activated virtual machine environment and associated virtual machine environment control runs a web server instance and an application instance based on the number of requests for application and/or virtual machine services provided to each activated virtual machine environment and associated virtual machine environment control by the service provided. 云控制器的连接到所述提供服务的监视服务,用于监视来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的数目,并且用于控制所述提供服务根据从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目来激活或者去激活所述多个虚拟机环境中的某个和相关联的虚拟机环境控件中的某个;以及The cloud controller connects to the monitoring service that provides the service, for monitoring the number of requests for application and/or virtual machine services from the plurality of system user interfaces, and for controlling the service to activate or deactivate a specific and associated virtual machine environment control in the plurality of virtual machine environments based on the number of requests for application and/or virtual machine services received from the plurality of system user interfaces; and 用于存储虚拟机服务的云数据库,所述虚拟机服务能够在由相关联的虚拟机环境控件根据从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目进行控制的情况下被检索或者在相关联的虚拟机环境中运行。A cloud database for storing virtual machine services, which can be retrieved or run in an associated virtual machine environment, controlled by an associated virtual machine environment control based on the number of requests for applications and/or virtual machine services received from the plurality of system user interfaces. 40.根据权利要求39所述的系统,其中,所述云计算环境包括公共云。40. The system of claim 39, wherein the cloud computing environment includes a public cloud. 41.根据权利要求40所述的系统,其中,所述多个系统用户界面中的每个包括被有线或者无线地连接到所述云计算环境。41. The system of claim 40, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 42.根据权利要求39所述的系统,其中,所述云计算环境包括私人云。42. The system of claim 39, wherein the cloud computing environment includes a private cloud. 43.根据权利要求42所述的系统,其中,所述云计算环境包括企业范围私人云。43. The system of claim 42, wherein the cloud computing environment includes an enterprise-wide private cloud. 44.根据权利要求42所述的系统,其中,所述多个系统用户界面中的每个系统用户界面包括被有线或者无线地连接到所述云计算环境。44. The system of claim 42, wherein each of the plurality of system user interfaces is wired or wirelessly connected to the cloud computing environment. 45.根据权利要求39所述的系统,其中,所述提供服务包括载荷平衡器,用于在多个激活的虚拟机环境与相关联的虚拟机环境控件之间平衡来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的分布。45. The system of claim 39, wherein the service provision includes a load balancer for balancing the distribution of requests for applications and/or virtual machine services from the plurality of system user interfaces among a plurality of active virtual machine environments and associated virtual machine environment controls. 46.根据权利要求39所述的系统,其中,所述虚拟机环境控件包括用于控制相关联的虚拟机环境的管理程序。46. The system of claim 39, wherein the virtual machine environment control includes a management program for controlling the associated virtual machine environment. 47.根据权利要求39所述的系统,其中,所述虚拟机服务包括虚拟桌面服务。47. The system of claim 39, wherein the virtual machine service includes a virtual desktop service. 48.一种基于计算机的方法,用于操作用于在云计算环境中托管多个虚拟机环境的虚拟机基础结构,所述方法包括以下步骤:48. A computer-based method for operating a virtual machine infrastructure for hosting multiple virtual machine environments in a cloud computing environment, the method comprising the steps of: (a)多个系统用户界面向所述云计算环境发送对应用和/或web服务的请求;(a) Multiple system user interfaces send requests for applications and/or web services to the cloud computing environment; (b)所述云计算环境的提供服务接收来自所述多个系统用户界面的对应用和/或虚拟机服务的请求,并且根据从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目来激活或者去激活虚拟机环境和相关联的虚拟机环境控件;(b) The cloud computing environment receives requests for application and/or virtual machine services from the plurality of system user interfaces, and activates or deactivates the virtual machine environment and associated virtual machine environment controls based on the number of requests for application and/or virtual machine services received from the plurality of system user interfaces. (c)激活的虚拟机环境和相关联的虚拟机环境控件根据已经提供给每个激活的虚拟机环境和相关联的虚拟机环境控件的对应用和/或虚拟机服务的请求的数目来运行web服务器实例和应用实例;以及(c) The active virtual machine environment and associated virtual machine environment control run web server instances and application instances based on the number of requests for applications and/or virtual machine services provided to each active virtual machine environment and associated virtual machine environment control; and (d)云计算环境的监视服务监视在给定时间点从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目,并且控制所述提供服务根据从所述多个系统用户界面接收到的对应用和/或虚拟机服务的请求的数目来激活或者去激活一个或者多个虚拟机环境和相关联的虚拟机环境控件中。(d) The monitoring service of the cloud computing environment monitors the number of requests for application and/or virtual machine services received from the multiple system user interfaces at a given point in time, and controls the service to activate or deactivate one or more virtual machine environments and associated virtual machine environment controls based on the number of requests for application and/or virtual machine services received from the multiple system user interfaces. 49.根据权利要求48所述的方法,其中,所述虚拟机环境控件包括用于控制相关联的虚拟机环境的管理程序。49. The method of claim 48, wherein the virtual machine environment control includes a management program for controlling the associated virtual machine environment. 50.根据权利要求48所述的方法,其中,所述提供服务包括载荷平衡器,用于在多个激活虚拟机环境和相关联的虚拟机环境控件之间平衡来自所述多个系统用户界面的对应用和/或虚拟机服务的请求的分布。50. The method of claim 48, wherein the service provision includes a load balancer for balancing the distribution of requests for applications and/or virtual machine services from the plurality of system user interfaces among a plurality of active virtual machine environments and associated virtual machine environment controls. 51.根据权利要求48所述的方法,其中,所述虚拟机服务包括虚拟桌面服务。51. The method of claim 48, wherein the virtual machine service includes a virtual desktop service.
HK16112514.4A 2010-07-09 2016-10-31 Systems and methods for private cloud computing HK1224396B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36309210P 2010-07-09 2010-07-09
US61/363,092 2010-07-09

Publications (2)

Publication Number Publication Date
HK1224396A1 HK1224396A1 (en) 2017-08-18
HK1224396B true HK1224396B (en) 2020-10-09

Family

ID=

Similar Documents

Publication Publication Date Title
JP6490633B2 (en) Systems and methods for private cloud computing
US12106121B1 (en) Techniques for utilizing directed acyclic graphs for deployment instructions
US12153934B2 (en) Techniques for managing dependencies of an orchestration service
US20240419508A1 (en) User interface techniques for an infrastructure orchestration service
US9626526B2 (en) Trusted public infrastructure grid cloud
WO2021150435A1 (en) Techniques for utilizing directed acyclic graphs for deployment instructions
JP2023511535A (en) User interface technology for infrastructure orchestration services
AU2013203291B2 (en) Systems and methods for private cloud computing
HK1224396B (en) Systems and methods for private cloud computing
US20240385877A1 (en) Techniques for region build orchestration
Lloyd Additional Workload Architectural Considerations
WO2024239010A1 (en) Data center orchestrators
WO2024239011A1 (en) Techniques for region build orchestration
CN121195240A (en) Area building test technique
Sabharwal et al. Workload Automation Using HWA