CN109716299B - 计算系统中的服务位置管理 - Google Patents

计算系统中的服务位置管理 Download PDF

Info

Publication number
CN109716299B
CN109716299B CN201780057740.0A CN201780057740A CN109716299B CN 109716299 B CN109716299 B CN 109716299B CN 201780057740 A CN201780057740 A CN 201780057740A CN 109716299 B CN109716299 B CN 109716299B
Authority
CN
China
Prior art keywords
computing
service
cloud
facilities
computing facilities
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780057740.0A
Other languages
English (en)
Other versions
CN109716299A (zh
Inventor
J·约翰逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202311128190.0A priority Critical patent/CN117290091A/zh
Publication of CN109716299A publication Critical patent/CN109716299A/zh
Application granted granted Critical
Publication of CN109716299B publication Critical patent/CN109716299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)

Abstract

本文中公开了用于促进云计算系统中的云服务的分配的技术。在一个实施例中,一种方法可以包括向服务控制器传输请求,该服务控制器被配置为管理在云计算系统中可部署的对应云服务,该请求包括要被部署在云计算系统中的一组云服务。该方法还可以包括从服务控制器中的每个服务控制器接收按照偏好顺序而被布置的计算设施中的至少一些计算设施的列表以用于部署一个或多个对应云服务。该方法还可以包括基于被反映在接收到的列表中的服务控制器的偏好来从多个计算设施选择一个计算设施以用于部署该一组云服务,并且指令服务控制器将一个或多个对应云服务部署到计算设施中的所选择的计算设施。

Description

计算系统中的服务位置管理
背景技术
远程或“云”计算通常利用数据中心中的远程服务器集合来提供计算、数据存储、电子通信或其他云服务。远程服务器可以通过计算机网络互连以形成被组织为一个或多个计算集群的计算结构。在操作期间,多个远程服务器或计算集群可以协作以提供促进用户应用的执行以提供云服务的分布式计算环境。
发明内容
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
由于通信等待时间、性能或其他合适的考虑因素,某些云服务偏好在物理上彼此靠近。例如,两个虚拟机偏好靠近以交换数据以进行处理。这种放置偏好通常与管理相似服务的公共服务控制器相关联。例如,部署两个虚拟机的应用可以指定将两个虚拟机托管在单个服务器上,在特定网络延迟距离内或者在单个故障域中。然后,虚拟机控制器可以根据应用的规范来分配和部署虚拟机。
然而,当处理具有由不同控制器管理的不同服务的某些应用时,前述基于控制器的部署管理可能效率有限。例如,应用可以包括具有相关联的存储服务、数据库服务和/或其他合适类型的云服务的一组虚拟机。不同的服务可能偏好在物理上彼此靠近,但通常不共享公共服务控制器。相反,每种类型的服务由一个或多个对应服务控制器放置。因此,促进不同服务集合中的放置关联性对于云服务提供商来说可能是一种挑战。
所公开的技术的若干实施例涉及将不同服务作为集合分配给计算设施使得不同服务可以在物理上彼此靠近的技术。不同服务的集合也可以在区域或设施级故障转移期间作为一个组进行移动,并且可以随后在故障被修复之后恢复到原始计算设施。在某些实现中,应用可以声明性地指定不同类型的云服务的集合。每个指定的云服务可以由对应的服务控制器管理。
然后,服务控制器可以参与基于服务控制器的集体偏好来确定用于将云服务的集合作为组来部署或移动的位置(例如,一个或多个计算设施)的过程。例如,服务控制器可以知道某些计算设施(例如,指定为DC1、DC2、DC3的数据中心)可用于部署云服务。服务控制器还可以理解,部署在单个计算设施(或一组计算设施)中的所有云服务在物理上接近。给定可能的计算设施的列表,管理服务可以向服务控制器查询每个服务控制器偏好的可能位置的列表。服务控制器可以基于例如可用容量、配置适合性、云服务的指定的协同定位约束或其他合适的考虑因素而按偏好顺序来对列表进行排序。一旦管理服务从服务控制器接收到列表,管理服务就可以基于接收到的可能位置的列表来得出对服务集合的总体偏好。然后,管理服务可以向每个服务控制器发送放置限制以限制对应服务到一个或多个计算设施的分配。
在某些实现中,管理服务可以基于对应的排序向每个可能的计算设施分配特定值,并且对各个计算设施的分配值求和以得出总体偏好设施。在一个示例中,第一控制器、第二控制器和第三控制器可以提供如下的可能位置的列表:
·DC1,DC3,DC2
·DC2,DC3,DC1
·DC1,DC2,DC3。
如果管理服务将值3、2和1分别分配给第一选择、第二选择和第三选择,则DC1、DC2、DC3的总值分别为7、6和5。因此,管理服务可以选择DC1作为总体偏好。
在其他实现中,管理服务还可以过滤可能的设施以得出所有服务控制器在应用前述值分配之前可以接受的一组设施。在上面的示例中,如果第二服务控制器不能接受DC1,则DC2将是总体偏好。在另外的实现中,管理服务可以应用加权因子以在选择总体偏好时进一步调节平衡。例如,管理服务可以将大于1的加权因子应用于来自特定服务控制器的列表,使得该服务控制器的选择的权重将超过其他服务控制器对相同排序的选择。在另外的实现中,管理服务还可以应用不同的值分配方案或其他合适的技术以在选择总体偏好时实现期望的平衡。
当所部署的服务遇到中断、故障或其他操作问题时,管理所部署的服务的服务控制器可以请求管理服务进行确定新的总体偏好设施的另一过程。作为响应,管理服务可以基于来自至少一个服务控制器的可能计算设施的新的列表来重复前述过程。例如,在上面的示例中,如果第三服务控制器发现所管理的服务在DC2中不再能够正常运行,则第三服务控制器可以请求管理服务重复位置确定过程。第三服务控制器可以指定新的列表,例如DC1、DC3。基于新的列表以及来自第一控制器和第二控制器的列表,管理服务可以选择DC3作为新的总体偏好,并且指示第一控制器、第二控制器和第三控制器将对应的云服务从DC2移动或迁移到DC3。当DC2稍后再次变为可用时,管理服务可以再次重复该过程,并且可能决定将所有服务移动回DC2。
在其他实现中,应用还可以指定云服务要彼此靠近的程度(称为“协同定位约束”)以及可以放宽这种协同定位约束的程度。这允许管理服务批准并非所有服务控制器都能达成一致的决策或限制。例如,通过上面的示例,如果由第一控制器和第三控制器管理的服务的协同定位比由第二控制器管理的服务更重要,则管理服务可以决定DC1是第一服务控制器和第三控制器的总体偏好,但DC2是第二控制器的总体偏好。
通过实现前述位置确定过程,所公开的技术的若干实施例可以提高云计算系统中的应用的云服务的部署效率。通过允许服务控制器基于位置和/或云服务特性来提出偏好位置,管理服务可以得出所有云服务的总体偏好。基于与应用相关的协同定位约束将云服务部署到总体偏好位置可以至少降低由于云计算系统中的等待时间或其他操作问题导致的性能降级或中断的风险。
附图说明
图1是根据所公开的技术的实施例的实现服务位置管理的云计算系统的示意图。
图2A是示出根据所公开的技术的实施例的适合于图1中的云计算系统的计算设施的示意图。
图2B是示出根据所公开的技术的实施例的图2A中的计算设施的某些硬件/软件组件的示意图。
图3A至图3C是示出在确定用于部署服务的总体偏好位置的某些阶段期间图1中的云计算系统的某些硬件/软件组件的示意图。
图4A至图4D是示出在重新定位所部署的服务的某些阶段期间图1中的云计算系统的某些硬件/软件组件的示意图。
图5A至图5C是示出根据所公开的技术的实施例的服务位置管理的过程的各个方面的流程图。
图6是适合于图1中的计算系统的某些组件的计算设备。
具体实施方式
下面描述用于促进云计算系统中的服务位置管理的计算系统、设备、组件、模块、例程和过程的某些实施例。在以下描述中,包括组件的具体细节以提供对所公开的技术的某些实施例的透彻理解。相关领域的技术人员还可以理解,所公开的技术可以具有另外的实施例,或者可以在没有下面参考图1至图6描述的实施例的若干细节的情况下实践。
如本文中使用的,术语“云计算系统”或“云”通常是指被配置为经由计算机网络提供各种云计算服务的计算机系统。云计算系统可以包括由诸如广域网或因特网等计算机网络互连的多个“计算设施”或“云设施”。在某些实施例中,计算设施可以包括每个位于不同物理位置的数据中心。例如,数据中心可以位于不同的城市街区、城市、州、大都市区、国家、地区、大陆或其他合适的边界。在其他实施例中,计算设施还可以包括计算集群、故障域或数据中心的其他合适的物理和/或逻辑划分。在另外的实施例中,计算设施还可以包括地理位置中的一组数据中心。
在某些实施例中,计算设施可以包括计算机网络,该计算机网络包含将远程服务器或主机彼此互连和/或与外部网络(例如,因特网)互连的网络设备。例如,计算设施可以包括每个容纳多个服务器的多个容器、机架或其他合适的机箱。术语“网络设备”通常是指网络通信组件。示例网络设备包括路由器、交换机、集线器、网桥、负载平衡器、安全网关或防火墙。“主机”通常是指被配置为实现一个或多个虚拟机、虚拟路由器、虚拟网关或其他合适的虚拟化计算组件的计算设备。例如,主机可以包括计算服务器,该计算服务器具有被配置为支持一个或多个虚拟机的管理程序。
本文中还使用的术语“云计算服务”、“云服务”或“服务”通常是指由远程计算设施通过诸如因特网等计算机网络提供的一个或多个计算资源。示例云服务包括软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。SaaS是一种软件分发技术,其中软件应用由云服务提供商托管在例如数据中心中,并且由用户通过计算机网络访问。PaaS通常是指通过计算机网络传送操作系统和相关联的服务,而无需下载或安装。IaaS通常是指用于支持存储、硬件、服务器、网络设备或其他组件(所有这些都通过计算机网络可访问)的外包设备。
本文还使用的术语“服务控制器”通常是指被配置为促进与提供(多种)特定类型的云服务相关的分配、实例化、迁移、监测或其他管理操作的云控制器。示例服务控制器可以包括虚拟机控制器、SaaS控制器、存储控制器、数据库控制器或者其他合适类型的控制器。例如,虚拟机控制器可以被配置为促进虚拟机到不同云设施的分配、实例化或迁移。在某些实施例中,服务控制器可以被配置为提供用于与相关联的云设施一起工作的代表性状态转移(“REST”)应用程序编程接口(“API”)。在其他实施例中,服务控制器还可以被配置为提供其他合适类型的接口。
在某些实现中,服务控制器可以在云设施中实现为云服务。同一服务控制器的重复实例可以在云计算系统中的多个云设施中实现。然后,服务控制器的多个实例可以彼此协作以基于法定人数、优先级或其他合适的标准来做出决定。例如,服务控制器的多个实例可以提供对服务请求的响应。与服务控制器的大多数实例相关联的特定响应可以被视为最终响应。在其他实现中,服务控制器可以是云设施中的独立服务器,或者可以具有其他合适的配置。
如本文中使用的,“管理服务”通常是指被配置为协调云计算系统中的各种服务控制器的操作的云服务。管理服务通常可以类似于服务控制器来实现,或者以其他合适的方式实现为云计算系统中的云服务。如下面更详细地描述的,管理服务可以被配置为促进确定在具有多个云设施的云计算系统中分配云服务的总体偏好。
出于性能、维护或其他合适的原因,某些云服务可能偏好彼此物理上靠近。这种放置偏好通常与管理相似服务的服务控制器相关联。然而,当处理具有以不同方式管理的不同服务的某些应用时,这种基于控制器的部署管理可能效率有限。例如,应用可以包括具有相关联的存储服务、数据库服务和/或其他合适类型的云服务的一组虚拟机。不同的服务可能偏好在物理上彼此靠近,但通常不共享公共服务控制器。每种类型的服务可以由一个或多个不同的服务控制器管理。因此,促进不同服务集合中的放置关联性对于云服务提供商来说可能是一种挑战。
所公开的技术的若干实施例涉及将不同服务作为集合分配给物理上足够地彼此靠近的计算设施的技术。不同服务的集合也可以在区域或设施级故障转移期间作为一个组进行移动,并且可以在故障被修复之后恢复到原始设施。在某些实现中,应用可以声明性地指定不同类型的服务的集合。每个指定的服务可以使用被配置为管理指定的服务的对应的服务控制器来标识。然后,服务控制器可以参与投标(bid)过程以基于服务控制器的集体偏好来确定用于部署或移动服务集合的位置,如下面参考图1至图6更详细地描述的。
图1是根据所公开的技术的实施例的实现服务位置管理的云计算系统100的示意图。如图1所示,云计算系统100可以包括经由计算机网络104与用户101的客户端设备102互连的多个计算设施103(分别被标识为第一、第二和第三计算设施103a-103c)。计算机网络104可以包括广域网、局域网、因特网或其他合适类型的网络。下面参考图2A更详细地描述一个示例计算机网络104。
尽管图1中示出了云计算系统100的特定组件和相关联的布置,但是在其他实施例中,云计算系统100可以包括附加的和/或不同的组件。例如,在所示实施例中,云计算系统100包括三个计算设施,即第一、第二和第三计算设施103a-103c。在其他实施例中,云计算系统100可以包括三个、四个或任何其他合适数目的计算设施103。在另外的实施例中,云计算系统100还可以包括网络服务器、域名服务器或其他合适的组件。
客户端设备102可以单独地包括促进用户101经由计算机网络104访问计算设施103的计算设备。例如,在说明性实施例中,客户端设备102单独地包括膝上型计算机102a、台式计算机102b和数字个人助理102c。在其他实施例中,客户端设备102还可以包括平板电脑、智能电话或其他合适的计算设备。尽管出于说明目的在图1中示出了三个用户101,但是在其他实施例中,云计算系统100可以促进任何合适数目的用户101经由计算机网络104访问计算设施103。
计算设施103可以单独地被配置为向用户101提供某些云服务的订阅。在某些实施例中,计算设施103可以位于不同的位置。例如,计算设施103每个可以位于不同的城市、国家或其他合适的区域。每个计算设施103还可以包括不同的配置或操作简档。在一个示例中,第一计算设施103a可以具有比第二计算设施103b或第三计算设施103c更多的计算容量。第二计算设施103b可以具有比其他计算设施更多的存储容量。在另一示例中,第三计算设施103c可以在计算、存储、网络或其他合适类型的资源方面具有比其他计算设施103更多的空闲容量。
如图1所示,云计算系统100还可以包括多个服务控制器152。在所示实施例中,服务控制器152包括虚拟机控制器152a、SaaS控制器152b、存储控制器152c和数据库控制器152d。前述服务控制器152中的每个可以知道计算设施103和相关联的配置或操作简档。然后,服务控制器152可以被配置为向各个计算设施103分配和部署对应的云服务。例如,虚拟机控制器152a可以被配置为基于计算设施103的可用容量、能力或其他合适的简档将一个或多个虚拟机分配和实例化给一个或多个计算设施103。SaaS控制器152b、存储控制器152c和数据库控制器152d可以被配置为分别将SaaS服务、存储服务和数据库服务分配给一个或多个计算设施103。在其他实施例中,服务控制器152还可以包括电子邮件控制器、网络服务器控制器或其他合适类型的服务控制器152。适合于云计算系统100的计算设施103的示例组件在下面参考图2A至图2B更详细地描述。
如图1所示,云计算系统100还可以包括被配置为促进服务控制器152的操作的管理服务105。在某些实施例中,管理服务105可以被配置为从用户101之一接收针对在云计算系统100中部署应用的服务请求。作为响应,管理服务105可以被配置为向服务控制器152查询各个服务控制器152偏好哪些计算设施103用于部署与应用相关联的各种云服务。然后,管理服务105可以按偏好顺序从各个服务控制器152接收计算设施103的列表,并且基于此确定总体偏好,如下面参考图3A至图4D更详细地描述的。
图2A是示出根据所公开的技术的实施例的适合于图1的云计算系统100的计算设施103的示意图。如图2A所示,计算设施103可以包括互连与用户101相关联的多个客户端设备102和多个主机106的底层网络109。尽管图2A中示出了计算设施103的特定组件,但是在其他实施例中,计算设施103还可以包括附加的和/或不同的组成部分。例如,计算设施103还可以包括彼此互连的附加计算结构(未示出)、网络存储设备、公用设施基础设施和/或其他合适的组件。
如图2A所示,底层网络109可以包括互连用户101和主机106的一个或多个物理网络设备112。网络设备113的示例可以包括路由器、交换机、防火墙、负载平衡器或其他合适的网络组件。尽管出于说明目的在图2A中示出了特定连接方案,但是在其他实施例中,网络设备112可以以分层、平面、“网格”或其他合适的拓扑结构可操作地耦合。
如图2A所示,主机106可以通过网络设备113可操作地彼此耦合。在某些实施例中,主机106可以单独地包括处理器、物理服务器或若干物理服务器。在其他实施例中,主机106还可以包括虚拟服务器或若干虚拟服务器。主机106可以被组织成机架、可用性区、组、集、计算集群或其他合适的划分。例如,在所示实施例中,主机106被分组为可操作地耦合到底层网络109中的对应网络设备112a-112c的三个计算集群107(分别示出为第一、第二和第三计算集群107a-107c)。尽管出于说明目的在图2A中示出了三个计算集群107,但是在其他实施例中,计算设施103可以包括一个、两个、八个、十个、十六个或任何其他合适数目的具有类似的或不同的组件和/或配置的计算集群107。
如图2A所示,计算设施103还可以耦合到管理服务105和多个服务控制器152,多个服务控制器152被配置为监测、控制或以其他方式管理计算集群107中的主机106的操作。例如,在某些实施例中,服务控制器152可以包括被配置为管理计算集群107中的处理、存储、通信或其他合适类型的硬件资源以用于托管云服务的结构控制器(或其某些组件)。在其他实施例中,管理服务105还可以包括数据中心控制器、应用传递控制器或其他合适类型的控制器或其组件。在所示实施例中,管理服务105被示出为与计算集群107分离。在其他实施例中,管理服务105可以包括计算集群107中的一个或多个主机106。在另外的实施例中,管理服务105可以包括托管在计算集群107中的一个或多个主机106上的软件服务。
图2B是示出根据所公开的技术的实施例的在底层网络109上实现并且适合于图2A的计算设施103的示例覆盖网络109'的示意图。在图2B中,为清楚起见,仅示出了图2A的底层网络109的某些组件。如图2B所示,第一主机106a和第二主机106b每个可以包括可操作地彼此耦合的处理器132、存储器133和输入/输出组件136。处理器132可以包括微处理器、现场可编程门阵列和/或其他合适的逻辑器件。存储器134可以包括被配置为存储从处理器132接收的数据以及处理器132的指令(例如,用于执行下面参考图5A至图5C讨论的方法的指令)的易失性和/或非易失性介质(例如,ROM;RAM、磁盘存储介质;光学存储介质;闪存设备和/或其他合适的存储介质)和/或其他类型的计算机可读存储介质。输入/输出组件136可以包括被配置为接受来自操作者和/或自动软件控制器(未示出)的输入和向其提供输出的显示器、触摸屏、键盘、鼠标、打印机和/或其他合适类型的输入/输出设备。
第一主机106a和第二主机105b的存储器134可以包括由处理器132可执行以使得各个处理器132提供管理程序140(分别标识为第一管理程序140a和第二管理程序140b)和其他合适组件(未示出)的指令。管理程序140可以单独地被配置为启动、监测、终止和/或以其他方式在本地管理被组织到租户站点142中的一个或多个虚拟机144。例如,如图2B所示,第一主机106a可以提供分别管理第一租户站点142a和第二租户站点142b的第一管理程序140a。第二主机106b可以提供分别管理第一租户站点142a'和第二租户站点142b'的第二管理程序140b。管理程序140可以是软件、固件或硬件组件。租户站点142每个可以包括用于特定用户101的多个虚拟机144或其他合适的租户实例。例如,第一主机106a和第二主机106b都可以为第一用户101a托管租户站点142a和142a'(图1)。第一主机106a和第二主机106b都可以为第二用户101b(图1)托管租户站点142b和142b'。每个虚拟机144可以执行对应的操作系统、中间件和/或应用。在某些实施例中,托管在一个或多个主机106上的虚拟机144可以用于执行一个或多个用户请求的任务。在其他实施例中,虚拟机144或计算设施103的其他合适组件也可以用于实现其他合适的云服务。
还如图2B所示,计算设施103可以包括覆盖网络109',该覆盖网络109'具有跨多个主机106互连租户站点142a和142b的一个或多个。例如,第一虚拟网络146a互连第一主机106a和第二主机106b处的第一租户站点142a和142a'。第二虚拟网络146b互连第一主机106a和第二主机106b处的第二租户站点142b和142b'。尽管单个虚拟网络146被示出为对应于一个租户站点142,但是在其他实施例中,多个虚拟网络146(未示出)可以被配置为对应于单个租户站点142。
即使虚拟机144位于不同的主机106上,虚拟网络146上的虚拟机144也可以经由底层网络109(图2A)彼此通信。可以隔离每个虚拟网络146的通信。在某些实施例中,可以允许通信通过安全网关或以其他方式以受控方式从一个虚拟网络146跨越到另一虚拟网络。虚拟网络地址可以对应于特定虚拟网络146中的虚拟机145之一。因此,不同的虚拟网络146可以使用相同的一个或多个虚拟网络地址。示例虚拟网络地址可以包括IP地址、MAC地址和/或其他合适的地址。
参考图2A和2B,在操作中,用户101可以经由例如用户门户(未示出)请求应用的部署。例如,用户101可以请求可处理数据库服务的虚拟机144的实例化。响应于从用户101接收到服务请求,管理服务105可以验证用户101的订阅级别,并且响应于验证供应所请求的虚拟机和数据库服务的分配和实例化。然后,管理服务105可以指示虚拟机控制器152a使得一个或多个主机106实例化所请求的虚拟机145,如下面参考图3A至图3C更详细地描述的。
图3A至图3C是示出根据所公开的技术的实施例的在分配云服务的某些阶段期间图2A和2B中的计算设施105的某些硬件/软件组件的示意图。在图3A至图3C中,为清楚起见,省略了云计算系统100的某些组件。例如,出于说明目的,在图3A至图3C中仅示出了一个用户101,而没有对应的客户端设备102。
此外,在图3A至图3C和本文的其他图中,各个软件组件、对象、类、模块和例程可以是用C、C++、C#、Java和/或其他合适的编程语言被编写为源代码的计算机程序、过程或进程。组件可以包括但不限于一个或多个模块、对象、类、例程、属性、进程、线程、可执行文件、库或其他组件。组件可以是源或二进制形式。组件可以包括编译之前的源代码的各方面(例如,类、属性、过程、例程)、编译的二进制单元(例如,库、可执行文件)、或在运行时实例化和使用的工件(例如,对象、进程、线程)。在某些实施例中,下面描述的各种组件和模块可以用动作来实现。在其他实施例中,应用和/或相关服务的生成还可以使用单片应用、多层应用或其他合适的组件来实现。
系统内的组件可以在系统内采用不同的形式。作为一个示例,包括第一组件、第二组件和第三组件的系统可以但不限于包括其中第一组件是以源代码表示的属性、第二组件是二进制编译库并且第三组件是在运行时创建的线程的系统。计算机程序、过程或进程可以被编译成对象、中间或机器代码并且被呈现以用于由个人计算机、网络服务器、膝上型计算机、智能电话和/或其他合适的计算设备的一个或多个处理器执行。同样,组件可以包括硬件电路。
本领域普通技术人员将认识到,硬件可以被认为是化石软件,并且软件可以被认为是液化硬件。仅作为一个示例,组件中的软件指令可以被刻录到可编程逻辑阵列电路,或者可以被设计为具有适当集成电路的硬件电路。同样,硬件可以用软件来模拟。源、中间和/或目标代码和相关数据的各种实现可以存储在计算机存储器中,该计算机存储器包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、闪存设备和/或除了传播信号之外的其他合适的计算机可读存储介质。
如图3A所示,管理服务105可以包括位置管理器109,位置管理器109具有可操作地彼此耦合的输入组件162、偏好分析器164和输出组件166。输入组件162可以被配置为从用户101接收服务请求150。服务请求150可以包括在云计算系统100中部署应用的请求。应用可以包括要托管在一个或多个计算设施103上的不同云服务的集合。在某些实施例中,输入组件162可以包括REST API。在其他实施例中,输入组件162可以包括其他合适的接口。
输出组件166可以被配置为向服务控制器152传输各种类型的消息。例如,如图3A所示,输出组件166可以被配置为向每个服务控制器152传输针对根据来自服务控制器152的偏好顺序的计算设施103的列表的请求172。请求172可以标识要部署的不同云服务的集合以及相关联的位置约束、可以放宽约束的程度和其他合适的信息。在某些实施例中,输出组件166可以包括根据合适的协议(例如,TCP/IP)而配置的消息传递服务。在其他实施例中,输出组件166可以包括适合于与服务控制器152通信的其他模块。
如图3B所示,响应于接收到请求172,各个服务控制器152可以提交按偏好顺序的计算设施103的列表174(下面标识为“CF”),以用于部署与应用相关联的一个或多个不同服务。例如,虚拟机控制器152a、SaaS控制器152b、存储控制器152c和数据库控制器152d可以分别提交以下列表:
列表1:CF1,CF3,CF2
列表2:CF2,CF3,CF1
列表3:CF1,CF2,CF3
列表4:CF1,CF2,CF3。
偏好分析器164可以被配置为分析从服务控制器152接收的计算设施103的列表,并且得出用于分配和部署与应用有关的不同云服务的集合的总体偏好设施。
在某些实施例中,偏好分析器164可以基于对应计算设施103的排序向列表中的每个计算设施103分配数值。例如,值3、2和1可以是分别被分配给第一选择、第二选择和第三选择。因此,在上面的示例中,列表1中的CF1将被分配值3,而列表2中的CF1将被分配值1。在其他实施例中,针对不同排序的值可以被倾斜(skew)以影响特定排序的总体权重。例如,代替值3,第一选择可以被分配值5,而第二和第三选择分别被分配值2和1。因此,第一选择的权重可以超过第二选择和第三选择的组合。在其他示例中,可以减小值增量以减轻对不同排序的权重。
在另外的实施例中,偏好分析器164还可以被配置为基于对应的服务控制器152将加权因子应用于一个或多个列表174。例如,偏好分析器164可以将大于1的加权因子(例如,2)应用于从存储控制器152c接收的列表3,因为存储服务可能比其他服务更昂贵。因此,在上面的示例中,列表3中的CF1将被分配值3×2=6,而其他列表174中的第一选择被分配值3。在其他示例中,偏好分析器164还可以将小于1的加权因子(例如,0.5)应用于某些(多个)列表174以减少(多个)列表174的偏好影响。
然后,偏好分析器164可以被配置为对分配给每个计算设施103的所有值求和以得出其总值。例如,在上面的示例中,当值3、2和1分别被分配给第一选择、第二选择和第三选择时,第一计算设施103a(CF1)的总值为10。第二计算设施103b(CF2)的总值为8。第三计算设施103c(CF3)的总值为6。然后,偏好分析器164可以选择具有最高总值的计算设施103(例如,第一计算设施103a)作为用于部署与应用相关的不同云服务的集合的总体偏好设施。因此,如图3C所示,偏好分析器164可以使得输出组件166向各个服务控制器152传输分配限制176,各个服务控制器152又向第一计算设施103a传输部署不同服务的集合的分配命令178。分配命令178使得第一计算设施103a供应、实例化或以其他方式提供所请求的云服务,例如,被示出为虚拟机144、SaaS服务145、存储服务147和数据库服务149。
在某些实施例中,服务请求150还可以包括标识两个或更多个云服务之间的协同定位约束和可以放宽协同定位约束的阈值程度的数据。例如,在图3C所示的示例中,服务请求150可以指定虚拟机144必须与存储服务147协同定位在单个计算设施103中。然而,SaaS服务145可以位于与托管虚拟机144和存储服务147的计算设施不同的计算设施103中。作为响应,偏好分析器164可以评估列表174(图3B)并且确定将SaaS服务145要被分配给第二计算设施103b,而其他服务被分配给第一计算设施103a。
在另外的实施例中,各个服务控制器152还可以指定哪个计算设施103不可接受用于部署特定服务。作为响应,偏好分析器164可以过滤计算设施103以消除不可接受的计算设施103。例如,在上面的示例中,如果数据库控制器152d指示第一计算设施103a不可接受用于部署数据库服务149,则偏好分析器164可以消除第一计算设施103a,而是将第二计算设施103b指定为总体偏好设施。在某些实施例中,管理服务105还可以被配置为响应于计算设施103中遇到的故障、中断或其他合适的操作问题而促进与应用相关的一些或所有部署的云服务的迁移,如下面参考图4A至图4D更详细地描述的。
图4A至图4D是示出在重新定位所部署的服务的某些阶段期间图1中的云计算系统100的某些硬件/软件组件的示意图。如图4A所示,例如,第一计算设施103a可以检测到部署在第一计算设施103a中的SaaS服务145已经发生故障,遇到操作问题,或者以其他方式需要重新定位(被示出为突出显示以用于说明)。第一计算设施103a可以经由故障通知182向SaaS控制器152b通知检测到的故障。响应于接收到故障通知182,SaaS控制器152b可以向管理服务105的位置管理器109传输重新定位请求184。
如图4B所示,响应于接收到重新定位请求184,位置管理器109可以经由输出组件166向各个服务控制器152传输针对按偏好顺序的计算设施103的另一列表的另一请求172'。作为响应,服务控制器152可以向位置管理器109提供计算设施103的新的列表174'。服务控制器152中的至少一个(例如,SaaS控制器152b)可以基于接收到的故障通知182(图4A)提供与原始列表不同的列表。例如,在上面参考图3C描述的示例中,SaaS控制器152b可以如下提供修订列表2':
列表2':CF3,CF2
其中第一计算设施103a被SaaS控制器152b认为是不可接受的。
在某些实施例中,SaaS控制器152b还可以基于重复实例的存在或其他合适的原因来促进某些计算设施103的排序。例如,如图4C所示,由于例如区域复制策略,SaaS服务149'的重复实例可以被托管在第三计算设施103c上。这样,在新的列表2'中,与第二计算设施103b相比,SaaS控制器152b可以促进第三计算设施103c。在其他实施例中,SaaS控制器152b还可以通过例如坚持列表2'的加权因子大于1来增加所提交的新的列表2'的权重。在另外的实施例中,SaaS控制器152b还可以坚持第三计算设施103c是SaaS控制器152b可接受的唯一选择。
如图4D所示,在重新评估新的列表174'之后,例如,偏好分析器164可以确定第三计算设施103c现在是用于部署不同云服务的集合的新的总体偏好设施。这样,偏好分析器164可以使得输出组件166向各个服务控制器152发出新的分配限制176',服务控制器152又可以发出将所部署的服务迁移到第三计算设施103c的对应的分配/迁移命令178'。尽管上面使用SaaS服务145作为示例描述了重新定位操作,但是在其他实施例中,任何服务控制器152可以使得相同或类似的重新定位操作。
图5A至图5C是示出根据所公开的技术的实施例的服务位置管理的过程的各个方面的流程图。尽管下面参考图1至图4D的云计算系统100来描述这些过程,但是在其他实施例中,这些过程的实施例可以在具有附加的和/或不同的组件的其他计算系统中执行。
图5A是示出将不同云服务的集合分配给云计算系统的不同计算设施的过程200的流程图。如图5A所示,过程200可以包括在阶段202接收针对部署应用的用户请求。应用可以包括不同云服务的集合,例如,虚拟机、SaaS服务、存储服务和数据库服务。然后,过程200可以包括在阶段204向各个服务控制器发送投标请求。各个服务控制器被配置为分配某些类型的云服务以进行部署。例如,虚拟机控制器可以被配置为在单个计算设施中分配多个虚拟机。在另一示例中,数据库控制器可以将一个或多个数据库服务分配给一个或多个计算设施。
然后,过程200可以包括在阶段206从服务控制器接收和分析投标。在某些实施例中,接收到的投标每个可以包括由各个服务控制器按偏好顺序排序的计算设施的列表。然后,分析投标可以包括聚合来自所有接收列表的偏好以得出总体偏好设施。在其他实施例中,接收到的投标可以包括其他合适的信息,并且可以以其他合适的方式进行分析以得出总体偏好。下面参考图5B描述用于分析接收到的投标的示例操作。然后,过程200可以包括在阶段208基于分析接收到的投标的结果来向服务控制器发出位置限制。
图5B是示出分析用于将云服务分配给云计算系统的不同计算设施的投标的过程220的流程图。如图5B所示,过程220可以包括按偏好顺序为每个计算设施分配值。在某些实施例中,可以为更偏好的计算设施分配比不太偏好的计算设施更高的值。在其他实施例中,可以为更偏好的计算设施分配比不太偏好的计算设施更低的值。
然后,过程220可以包括可选阶段224,其中可以将一个或多个加权因子应用于各个投标。例如,为了增加特定投标的影响,过程220可以包括将大于1的加权因子应用于投标中包括的计算设施。为了减少特定投标的影响,过程220可以包括将小于1的加权因子应用于投标中包括的计算设施。在其他示例中,权重因子可以以其他合适的方式应用。然后,过程220可以包括在阶段226确定与投标中的每个计算设施相对应的总值,并且在阶段228基于总值来选择总体偏好设施。
图5C是示出生成用于将云服务分配给云计算系统的不同计算设施的投标的过程240的流程图。如图5C所示,过程240可以包括在阶段242接收投标请求。在某些实施例中,投标请求可以包括要部署在不同计算设施中的不同云服务的集合。在其他实施例中,投标请求还可以包括与不同云服务的集合有关的协同定位信息或其他合适信息。然后,过程240可以包括在阶段244响应于接收到的投标请求而提供设施或位置偏好。然后,过程240可以包括在阶段246接收设施或位置限制。在某些实施例中,位置限制指示对应云服务到所提供的位置偏好中包括的最偏好位置的部署。在其他实施例中,位置限制指示对应云服务到所提供的位置偏好中包括的较不偏好位置的部署。然后,过程240可以包括向在接收到的位置限制中指示的计算设施发出分配命令以用于部署不同云服务的集合。
图6是适合于图1中的云计算系统100的某些组件的计算设备300。例如,计算设备300可以适用于图1的主机106或客户端设备102。在非常基本的配置302中,计算设备300可以包括一个或多个处理器304和系统存储器306。存储器总线308可以用于处理器304与系统存储器306之间的通信。
根据期望的配置,处理器304可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任何组合。处理器304可以包括一个或多个级别的高速缓存(诸如一级高速缓存310和二级高速缓存312)、处理器核314和寄存器316。示例处理器核314可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器318也可以与处理器304一起使用,或者在一些实现中,存储器控制器318可以是处理器304的内部部分。
根据期望的配置,系统存储器306可以是任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任何组合。系统存储器306可以包括操作系统320、一个或多个应用322和程序数据324。该描述的基本配置302在图8中由内部虚线内的那些组件示出。
计算设备300可以具有附加特征或功能、以及附加接口以促进基本配置302与任何其他设备和接口之间的通信。例如,总线/接口控制器330可以用于促进基本配置302与一个或多个数据存储设备332之间经由存储接口总线334的通信。数据存储设备332可以是可移除存储装置336、不可移除存储装置338或其组合。可移除存储装置和不可移除存储装置的示例包括诸如软盘驱动器和硬盘驱动器(HDD)等磁盘设备、诸如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器等光盘驱动器、固态驱动器(SSD)和磁带驱动器等。示例计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。术语“计算机可读存储介质”或“计算机可读存储设备”不包括传播信号和通信介质。
系统存储器306、可移除存储装置336和不可移除存储装置338是计算机可读存储介质的示例。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算设备300访问的任何其他介质。任何这样的计算机可读存储介质可以是计算设备300的一部分。术语“计算机可读存储介质”不包括传播信号和通信介质。
计算设备300还可以包括接口总线340以用于促进经由总线/接口控制器330从各种接口设备(例如,输出设备342、外围接口344和通信设备346)到基本配置302的通信。示例输出设备342包括可以被配置为经由一个或多个A/V端口352与诸如显示器或扬声器等各种外部设备通信的图形处理单元348和音频处理单元350。示例外围接口344包括可以被配置为经由一个或多个I/O端口358与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等)等外部设备通信的串行接口控制器354或并行接口控制器356。示例通信设备346包括可以被布置为促进经由一个或多个通信端口364通过网络通信链路与一个或多个其他计算设备362的通信的网络控制器360。
网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其他传输机制)中的其他数据来实施,并且可以包括任何信息传递介质。“调制数据信号”可以是使得能够在信号中对信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质等无线介质。本文中使用的术语计算机可读介质可以包括存储介质和通信介质。
计算设备300可以被实现为小型便携式(或移动)电子设备的一部分,诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络手表设备、个人耳机设备、专用设备、或包括任何上述功能的混合设备。计算设备300还可以实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。
从前述内容可以理解,本文中已经出于说明的目的描述了本公开的特定实施例,但是,在不脱离本公开内容的情况下,可以进行各种修改。另外,除了或代替其他实施例的元件,一个实施例的很多元件可以与其他实施例组合。因此,除了所附权利要求之外,本技术不受限制。

Claims (18)

1.一种在具有由计算机网络互连的多个计算设施的云计算系统中部署云服务的方法,所述方法包括:
接收针对在所述云计算系统中部署应用的服务请求,所述应用包括多个云服务,每个云服务由所述云计算系统中的对应服务控制器可管理,至少一个服务可部署在所述计算设施中的多于一个计算设施中,其中接收所述服务请求包括接收标识所述云服务中的两个或更多个云服务之间的协同定位约束的所述服务请求;以及
响应于接收到所述服务请求,
针对由所述服务控制器中的每个服务控制器按照偏好顺序布置的所述计算设施的列表来查询所述服务控制器,以用于部署与所述应用相关联的一个或多个对应云服务;
基于被反映在所述计算设施的列表中的所述服务控制器的偏好来从所述多个计算设施选择计算设施;以及
指令所述服务控制器将与所述应用相关联的云服务部署到所选择的所述计算设施,
其中选择所述计算设施包括:
传输包含标识要由各个服务控制器部署的所述云服务的数据的投标请求;以及
基于各个计算设施的可用容量或能力以及所述云服务中的两个或更多个云服务之间的所述协同定位约束中的至少一项来从所述各个服务控制器接收按照偏好顺序而被布置的所述计算设施的所述列表。
2.根据权利要求1所述的方法,其中查询所述服务控制器包括:
传输包含标识要由各个服务控制器部署的所述云服务的数据的请求;以及
基于所述各个计算设施的简档来从所述各个服务控制器接收按照偏好顺序而被布置的所述计算设施的所述列表。
3.根据权利要求1所述的方法,其中:
接收所述服务请求包括接收标识所述云服务中的两个或更多个云服务之间的协同定位约束和所述协同定位约束能够被放宽到的阈值程度的所述服务请求;
所选择的所述计算设施是第一计算设施;并且
选择所述计算设施包括基于所述阈值程度来放宽所述协同定位约束以选择用于部署与所述应用相关联的所述云服务中的至少一个云服务的第二计算设施,所述第二计算设施不同于所述第一计算设施。
4.根据权利要求1所述的方法,其中选择所述计算设施包括:
聚合来自所述服务控制器的所述列表中的所述偏好以得出所述服务控制器中的所有服务控制器的总体偏好计算设施;并且
选择所述计算设施包括选择用于部署所述应用的所述云服务的所述总体偏好计算设施。
5.根据权利要求1所述的方法,其中:
所述列表中的每个列表包含表示按照偏好顺序的所述计算设施的排序的数据;
选择所述计算设施包括:
针对每个列表,基于对应计算设施的所述排序来向所述列表中的所述计算设施中的每个计算设施指派数值;
对针对每个计算设施的所指派的所述数值求和以得出针对所述计算设施中的每个计算设施的总值;以及
选择具有最高总值的计算设施以用于部署与所述应用相关联的云服务。
6.根据权利要求1所述的方法,其中选择所述计算设施包括过滤所述计算设施的所述列表以消除所述服务控制器中的至少一个服务控制器不可接受的一个或多个计算设施。
7.根据权利要求1所述的方法,其中:
所述服务控制器包括第一服务控制器和第二服务控制器;并且
选择所述计算设置包括向对应于所述第一服务控制器的所述列表应用加权因子以使得所述第一服务控制器的偏好的权重超过所述第二服务控制器的偏好。
8.根据权利要求1所述的方法,还包括:
从所述服务控制器中的一个服务控制器接收被部署到所选择的所述计算设施的对应云服务要被迁移到所述计算设施中的另一计算设施的通知;以及
响应于接收到所述通知,
针对由所述服务控制器中的每个服务控制器按照偏好顺序布置的所述计算设施的新的列表查询所述服务控制器,以用于部署与所述应用相关联的一个或多个对应云服务;
基于被反映在所述计算设施的列表中的所述服务控制器的偏好来从所述多个计算设施选择另一计算设施;以及
指令所述服务控制器将与所述应用相关联的云服务迁移到所选择的所述另一计算设施。
9.一种计算设备,包括:处理器;以及
存储器,所述存储器包含由所述处理器可执行以使得所述处理器执行过程的指令,所述过程包括:
经由计算机网络接收针对当在云计算系统的多个计算设施中的一个计算设施中部署云服务时对偏好的提交的请求;
响应于接收到所述请求,
生成包含基于用于部署所述云服务的适合性而被排序的所述计算设施的列表;以及
经由所述计算机网络传输包含排序的所述计算设施的所生成的所述列表;
经由所述计算机网络接收将所述云服务部署到所传输的所述列表中的所述计算设施中的一个计算设施的指令;以及
响应于接收到所述指令,将所述云服务部署到在所述指令中被指示的所述计算设施中的所述一个计算设施,
其中生成包含所述计算设施的所述列表包括基于用于部署所述云服务的各个计算设施的可用容量或能力来生成包含所述计算设施的所述列表。
10.根据权利要求9所述的计算设备,其中接收部署所述云服务的所述指令包括接收将所述云服务部署至所述计算设施中的并非传输的所述列表中的最偏好的一个计算设施的指令。
11.根据权利要求9所述的计算设备,还包括:
检测所述计算设施中的所述一个计算设施中的故障以继续托管所述云服务;以及
响应于检测到的所述故障,经由所述计算机网络传输重新发起确定用于从所述计算设施中的所述一个计算设施迁移所述云服务的另一计算设施的过程的请求。
12.根据权利要求9所述的计算设备,还包括:
检测所述计算设施中的所述一个计算设施中的故障以继续托管所述云服务;以及
响应于检测到的所述故障,经由所述计算机网络传输重新发起确定用于从所述计算设施中的所述一个计算设施迁移所述云服务的另一计算设施的过程的请求以及包含排序的计算设施而不包括所述计算设备中的所述一个计算设备的新的列表。
13.根据权利要求9所述的计算设备,还包括:
检测所述计算设施中的所述一个计算设施中的故障以继续托管所述云服务;以及
响应于检测到的所述故障,经由所述计算机网络传输重新发起确定用于从所述计算设施中的所述一个计算设施迁移所述云服务的另一计算设施的过程的请求;
经由所述计算机网络接收将所述云服务迁移到所述计算设施中的另一计算设施的另一指令;以及
响应于接收到所述另一指令,将所述云服务从所述计算设施中的所述一个计算设施迁移在所述另一指令中被指示的所述计算设施中的所述另一计算设施。
14.根据权利要求9所述的计算设备,还包括:
在所述云服务被正常地部署在所述计算设施中的所述一个计算设施上时:
经由所述计算机网络接收将所述云服务迁移到所述计算设施中的另一计算设施的另一指令;以及
响应于接收到所述另一指令,将所述云服务从所述计算设施中的所述一个计算设施迁移在所述另一指令中被指示的所述计算设施中的所述另一计算设施。
15.一种用于在具有由计算机网络互连的多个计算设施的云计算系统中管理云服务的计算设备,所述计算设备包括:
处理器;以及
存储器,所述存储器包含由所述处理器可执行以使得所述处理器执行过程的指令,所述过程包括:
经由所述计算机网络向被配置为管理可部署在所述云计算系统中的对应云服务的各个服务控制器传输请求,所述请求包括要被部署在所述云计算系统中的一组云服务并且标识云服务中的两个或更多个云服务之间的协同定位约束;
从所述服务控制器中的每个服务控制器接收由所述服务控制器中的每个服务控制器按照偏好顺序布置的所述计算设施中的至少一些计算设施的列表,以用于在所述一组云服务中部署一个或多个对应云服务;
基于被反映在所接收的所述列表中的所述服务控制器的所述偏好来从所述多个计算设施选择所述计算设施中的一个计算设施以用于部署所述一组云服务;以及
经由所述计算机网络指令所述服务控制器将所述一个或多个对应云服务部署到所述计算设施中的所选择的所述一个计算设施,
其中选择所述计算设施包括:
传输包含标识要由各个服务控制器部署的所述云服务的数据的投标请求;以及
基于各个计算设施的可用容量或能力以及所述云服务中的两个或更多个云服务之间的所述协同定位约束中的至少一项来从所述各个服务控制器接收按照偏好顺序而被布置的所述计算设施的所述列表。
16.根据权利要求15所述的计算设备,还包括:
经由所述计算机网络从所述服务控制器中的一个服务控制器接收请求对所述计算设施中的另一计算设施的选择以用于部署所述云服务中的至少一个云服务的请求;以及
响应于从所述服务控制器中的一个服务控制器接收到所述请求,经由所述计算机网络、针对按照偏好顺序布置的计算设施的新的列表向所述服务控制器中的所有服务控制器传输另一请求。
17.根据权利要求15所述的计算设备,其中所述过程还包括:
经由所述计算机网络从所述服务控制器中的一个服务控制器接收请求对所述计算设施中的另一计算设施的选择以用于部署所述云服务中的至少一个云服务的请求;以及
响应于从所述服务控制器中的一个服务控制器接收到所述请求,经由所述计算机网络、针对按照偏好顺序布置的计算设施的另一列表向所述服务控制器中的所有服务控制器传输另一请求;
从所述服务控制器中的每个服务控制器接收由所述服务控制器中的每个服务控制器按照偏好顺序布置的所述计算设施中的至少一些计算设施的另一列表,以用于在所述一组云服务中部署一个或多个对应云服务;
基于被反映在所接收的所述列表中的所述服务控制器的所述偏好来从所述多个计算设施选择所述计算设施中的另一计算设施以用于部署所述一组云服务;以及
经由所述计算机网络指令所述服务控制器将所述至少一个云服务部署到所述计算设施中的所选择的所述另一计算设施,所述请求从所述服务控制器被接收。
18.根据权利要求15所述的计算设备,其中选择所述计算设施中的一个计算设施包括:
针对每个列表,基于对应计算设施的排序来向所述列表中的所述计算设施中的每个计算设施指派数值;
对针对每个计算设施的所指派的所述数值求和以得出针对所述计算设施中的每个计算设施的总值;以及
选择所述计算设施中的具有最高总值的所述计算设施以用于部署所述一组云服务。
CN201780057740.0A 2016-09-21 2017-09-14 计算系统中的服务位置管理 Active CN109716299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311128190.0A CN117290091A (zh) 2016-09-21 2017-09-14 计算系统中的服务位置管理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/272,275 2016-09-21
US15/272,275 US10476948B2 (en) 2016-09-21 2016-09-21 Service location management in computing systems
PCT/US2017/051432 WO2018057371A1 (en) 2016-09-21 2017-09-14 Service location management in computing systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311128190.0A Division CN117290091A (zh) 2016-09-21 2017-09-14 计算系统中的服务位置管理

Publications (2)

Publication Number Publication Date
CN109716299A CN109716299A (zh) 2019-05-03
CN109716299B true CN109716299B (zh) 2023-08-22

Family

ID=59997446

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780057740.0A Active CN109716299B (zh) 2016-09-21 2017-09-14 计算系统中的服务位置管理
CN202311128190.0A Pending CN117290091A (zh) 2016-09-21 2017-09-14 计算系统中的服务位置管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311128190.0A Pending CN117290091A (zh) 2016-09-21 2017-09-14 计算系统中的服务位置管理

Country Status (5)

Country Link
US (2) US10476948B2 (zh)
EP (2) EP3516517B1 (zh)
CN (2) CN109716299B (zh)
ES (1) ES2933399T3 (zh)
WO (1) WO2018057371A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210141675A1 (en) * 2017-04-01 2021-05-13 Intel Corporation Hotpluggable runtime
CN110688197A (zh) * 2019-09-11 2020-01-14 新华三大数据技术有限公司 一种云操作系统
US11366709B2 (en) 2020-06-10 2022-06-21 Microsoft Technology Licensing, Llc Distributed application execution for cloud computing
US11733988B2 (en) * 2021-01-20 2023-08-22 Microsoft Technology Licensing, Llc Application deployment for applications offered by multiple deployment sources
US20220337668A1 (en) * 2021-04-14 2022-10-20 Oracle International Corporation Systems and methods for real-time repository management for universal service deployment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255933A (zh) * 2010-05-20 2011-11-23 中兴通讯股份有限公司 云服务中介、云计算方法及云系统
CN104737131A (zh) * 2012-10-23 2015-06-24 瑞典爱立信有限公司 用于云服务部署的方法和系统
CN104823175A (zh) * 2012-12-03 2015-08-05 惠普发展公司,有限责任合伙企业 云服务管理系统
CA2959723A1 (en) * 2014-05-28 2015-12-03 New Media Solutions, Inc. Generation and management of computing infrastructure instances

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100228819A1 (en) * 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US9342367B2 (en) * 2010-06-16 2016-05-17 Computer Associates Think, Inc. System and method for selecting cloud services
US8549066B1 (en) 2010-08-26 2013-10-01 Adobe Systems Incorporated Service provider interface for deploying and managing applications on a cloud
US8909784B2 (en) * 2010-11-23 2014-12-09 Red Hat, Inc. Migrating subscribed services from a set of clouds to a second set of clouds
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
CN103023762A (zh) * 2011-09-27 2013-04-03 阿尔卡特朗讯公司 云计算接入网关及用于提供用户终端接入云提供商的方法
US8984162B1 (en) 2011-11-02 2015-03-17 Amazon Technologies, Inc. Optimizing performance for routing operations
US8726264B1 (en) 2011-11-02 2014-05-13 Amazon Technologies, Inc. Architecture for incremental deployment
US9229740B1 (en) 2011-11-02 2016-01-05 Amazon Technologies, Inc. Cache-assisted upload proxy
US10057377B2 (en) * 2012-06-29 2018-08-21 Vmware, Inc. Dynamic resolution of servers in a distributed environment
GB2504487A (en) 2012-07-30 2014-02-05 Ibm Automated network deployment of cloud services into a network by matching security requirements
US10419524B2 (en) * 2012-09-07 2019-09-17 Oracle International Corporation System and method for workflow orchestration for use with a cloud computing environment
US9189285B2 (en) * 2012-12-14 2015-11-17 Microsoft Technology Licensing, Llc Scalable services deployment
US20140280595A1 (en) * 2013-03-15 2014-09-18 Polycom, Inc. Cloud Based Elastic Load Allocation for Multi-media Conferencing
US9824390B2 (en) * 2013-03-15 2017-11-21 International Business Machines Corporation Cloud service brokerage service store
US20140280964A1 (en) 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US9813318B2 (en) 2013-03-15 2017-11-07 International Business Machines Corporation Assessment of best fit cloud deployment infrastructures
US20140366155A1 (en) 2013-06-11 2014-12-11 Cisco Technology, Inc. Method and system of providing storage services in multiple public clouds
CN104253831B (zh) * 2013-06-26 2018-05-11 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
EP3042306A1 (en) * 2013-09-04 2016-07-13 Hewlett Packard Enterprise Development LP Policy based selection of resources for a cloud service
US10462018B2 (en) * 2013-10-03 2019-10-29 Hewlett Packard Enterprise Development Lp Managing a number of secondary clouds by a master cloud service manager
US20150234644A1 (en) 2014-02-10 2015-08-20 Empire Technology Development Llc Automatic collection and provisioning of resources to migrate applications from one infrastructure to another infrastructure
US9311131B2 (en) * 2014-08-04 2016-04-12 International Business Machines Corporation Monitoring and dynamically reconfiguring virtual machine patterns
US9912609B2 (en) 2014-08-08 2018-03-06 Oracle International Corporation Placement policy-based allocation of computing resources
WO2016053301A1 (en) 2014-09-30 2016-04-07 Hewlett Packard Enterprise Development Lp Topology based management with stage and version policies
US9825881B2 (en) 2014-09-30 2017-11-21 Sony Interactive Entertainment America Llc Methods and systems for portably deploying applications on one or more cloud systems
US9898321B2 (en) * 2015-07-23 2018-02-20 At&T Intellectual Property I, L.P. Data-driven feedback control system for real-time application support in virtualized networks
US10142174B2 (en) * 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255933A (zh) * 2010-05-20 2011-11-23 中兴通讯股份有限公司 云服务中介、云计算方法及云系统
CN104737131A (zh) * 2012-10-23 2015-06-24 瑞典爱立信有限公司 用于云服务部署的方法和系统
CN104823175A (zh) * 2012-12-03 2015-08-05 惠普发展公司,有限责任合伙企业 云服务管理系统
CA2959723A1 (en) * 2014-05-28 2015-12-03 New Media Solutions, Inc. Generation and management of computing infrastructure instances

Also Published As

Publication number Publication date
EP3731093A1 (en) 2020-10-28
US10476948B2 (en) 2019-11-12
ES2933399T3 (es) 2023-02-08
EP3731093B1 (en) 2022-11-16
CN109716299A (zh) 2019-05-03
EP3516517B1 (en) 2020-07-29
WO2018057371A1 (en) 2018-03-29
CN117290091A (zh) 2023-12-26
EP3516517A1 (en) 2019-07-31
US20200036782A1 (en) 2020-01-30
US20180084038A1 (en) 2018-03-22
US10944815B2 (en) 2021-03-09

Similar Documents

Publication Publication Date Title
CN109716299B (zh) 计算系统中的服务位置管理
CN109196474B (zh) 计算系统中的分布式操作控制
EP3811597B1 (en) Zone redundant computing services using multiple local services in distributed computing systems
US11550603B2 (en) Method and system for sizing a cloud desktop fabric
CN109643251B (zh) 基于计算系统中的利用模式的资源过度订阅
JP6616827B2 (ja) スケーラブルなデータストレージプール
US10116735B2 (en) Service migration across cluster boundaries
CN108369544B (zh) 计算系统中延期的服务器恢复方法和设备
US11614977B2 (en) Optimizing clustered applications in a clustered infrastructure
US20150236974A1 (en) Computer system and load balancing method
JP2023518258A (ja) 適応エッジエンジンを利用して分散エッジコンピューティングシステムを管理するためのシステム、方法、コンピューティングプラットフォーム、および記憶媒体
EP4080377A1 (en) Method to implement multi-tenant/shared redis cluster using envoy
Saboor et al. Enabling rank-based distribution of microservices among containers for green cloud computing environment
US11876729B2 (en) Method and system for a proactive assignment of virtual network functions in local data systems
US10097431B1 (en) Routing to tenant services utilizing a service directory
US11188235B2 (en) Reducing data replications among storage locations
US10642521B2 (en) Scaling distributed queues in a distributed storage network
US20240095099A1 (en) Decentralized framework for providing application programming interface gateways
US10360107B2 (en) Modifying allocation of storage resources in a dispersed storage network
JP2021077213A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant