首页 / 专利库 / 一般法律 / 服务水平协议 / 计算机数据中心的网络服务水平协议

计算机数据中心的网络服务平协议

阅读:636发布:2020-05-11

专利汇可以提供计算机数据中心的网络服务平协议专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种用于多租户 云 计算的 服务 水 平协议 (service level agreement,简称SLA)系统,以确保借助网络SLA为租户配置计算实例。例如,网络SLA可以 指定 将在 数据中心 中为租户调度的实例之间的带宽要求。所述SLA系统基于与实现所述网络SLA的 节点 相关联的链路的剩余容量来评估所述数据中心中的节点。本发明提供了一种模 块 化系统,以便将所述SLA系统集成到现有云计算 基础 设施中。所述云管理系统可以查询所述SLA系统,以确定能够满足网络SLA要求的所述数据中心中的节点。可以对列表进行排序,以指示具有更佳容量来满足所述网络SLA要求的节点。针对租户 请求 调度实例部署时,所述云管理系统可以利用节点的所述有 序列表 。,下面是计算机数据中心的网络服务平协议专利的具体信息内容。

1.一种设备,其特征在于,包括:
内存存储器,包括指令;
一个或多个处理器,与所述存储器通信,其中所述一个或多个处理器执行所述指令以:
接收与在计算数据中心中部署多个计算服务实例相关联的网络服务平协议(service level agreement,简称SLA),所述网络SLA指定至少两个所述实例之间的带宽要求;
从所述数据中心中的节点集中接收一组提议,所述提议指示与相应节点相关联的初始网络资源;
使用所述节点集,针对所述提议集,确定与满足所述SLA要求相关联的可用网络资源;
基于与所述提议集相关联的所述可用网络资源,将所述多个实例部署在所述计算数据中心的节点子集中。
2.根据权利要求1所述的设备,其特征在于:
所述节点子集是第二节点子集;
所述一个或多个处理器执行所述指令,以在确定所述可用网络资源之前,在所述计算数据中心的第一节点子集中执行所述多个实例的第一部署;
所述一个或多个处理器执行指令,以基于所述第一部署之后的所述可用网络资源,在所述计算数据中心中的所述第二节点子集中部署所述多个实例,所述第二节点子集包括不同于所述第一节点子集中节点的至少一个节点。
3.根据权利要求2所述的设备,其特征在于,所述一个或多个处理器执行所述指令以:
监控所述第一节点子集中的所述第一部署,以确定是否满足所述网络SLA要求;
其中,基于未满足要求的所述第一部署,在所述第二节点子集中部署所述多个实例。
4.根据权利要求1至3中任一项所述的设备,其特征在于,所述一个或多个处理器执行所述指令以:
部署第一QoS规则,以便跨一个或多个Pod执行;
部署第二QoS规则,以便跨一台或多台虚拟机执行;
部署第三QoS规则,以便跨一台或多台物理机执行。
5.根据权利要求1至4中任一项所述的设备,其特征在于,所述一个或多个处理器执行所述指令以:
使用每项提议,确定一台物理机中的实例之间的可用虚拟网络资源,以满足所述带宽要求;
使用每项提议,确定不同物理机中的实例之间的可用物理网络资源,以满足所述带宽要求。
6.根据权利要求1至5中任一项所述的设备,其特征在于:
每个节点的所述提议包括在所述节点处可用的初始带宽的指示;
所述一个或多个处理器执行所述指令,以针对所述提议集,通过从每个节点处的所述初始带宽中扣除所述带宽要求来确定所述可用网络资源。
7.根据权利要求6所述的设备,其特征在于,所述处理器执行所述指令以:
针对包括所述提议集的多个提议,确定所述多个提议的互连实例之间的距离;
针对所述提议集,确定在扣除所述带宽要求之后,互连Pod之间的每条链路的剩余容量;
基于所述距离和每条链路的所述剩余容量,生成所述提议集的有序列表
其中,部署所述多个实例是基于所述有序列表的。
8.根据权利要求7所述的设备,其特征在于,所述处理器执行所述指令以:
基于互连实例之间的所述距离,对所述多个提议进行排序;
通过先评估较短距离提议再评估较长距离提议,评估所述多个提议,以便为具有足够网络资源,从而能满足所述带宽要求的所述提议集选择预先确定数目的提议。
9.根据权利要求8所述的设备,其特征在于:
管理系统中接收所述网络SLA和所述提议集;
所述一个或多个处理器执行所述指令,以将所述多个提议传输至服务水平协议(service level agreement,简称SLA)系统;
所述一个或多个处理器执行所述指令,以从所述SLA系统向所述云管理系统提供所述有序列表;
基于所述有序列表,采用所述云管理系统部署所述多个实例。
10.根据权利要求9所述的设备,其特征在于:
所述网络SLA指定时延要求和丢包率要求;
基于所述时延要求和所述丢包率要求生成所述有序列表;
所述一个或多个处理器执行所述指令,以接收与所述部署多个实例相关联的计算SLA;
所述一个或多个处理器执行所述指令,以基于所述计算SLA和所述有序列表部署所述多个实例。
11.根据权利要求1至10中任一项所述的设备,其特征在于:
所述网络SLA与部署多个容器相关联,每个容器包括计算服务的一个或多个所述实例。
12.根据权利要求11所述的设备,其特征在于:
所述网络SLA与部署多个Pod相关,每个Pod包括两个或多个所述容器。
13.一种用于计算机数据中心管理的计算机实现的方法,其特征在于,包括:
接收与在计算数据中心部署多个计算服务实例相关联的带宽要求;
从所述计算数据中心中的多个节点接收所述多个节点处可用的初始带宽的多个指示;
针对所述多个节点,确定所述多个节点的互连实例之间的距离;
针对所述多个节点中的至少一部分节点,基于所述初始带宽指示和所述带宽要求,确定互连实例之间的链路的剩余容量;
基于互连实例之间的所述距离和所述互连实例之间的链路的所述剩余容量,在所述节点集的子集中部署所述多个实例。
14.根据权利要求13所述的计算机实现的方法,其特征在于:
所述多个实例是多个Pod;
所述多个节点是多台虚拟机,所述多台虚拟机设置在包括物理处理器和物理存储器的一台或多台物理机上;
互连实例之间的所述链路包括第一组链路和第二组链路,所述第一组链路包括一台物理机中的Pod之间的链路;所述第二组链路包括不同物理机中的Pod之间的链路;
确定互连实例之间的链路的剩余容量包括:确定可用虚拟网络资源和确定可用物理网络资源。
15.根据权利要求13至14中任一项所述的计算机实现的方法,其特征在于,还包括:
基于互连实例之间的所述距离,对所述多个节点进行排序;
基于互连实例之间的所述距离和所述初始带宽指示,从所述多个节点中选择一个节点集,所述节点集中包括的节点少于所述多个节点;
针对所述节点集,确定所述剩余容量;
基于互连实例之间的所述链路的所述剩余容量,生成所述节点集的有序列表;
其中,基于所述有序列表,在所述节点子集中部署所述多个实例。
16.一种用于计算机数据中心管理的存储计算机指令的非瞬时性计算机可读介质,其特征在于,所述计算机指令在由一个或多个处理器执行时使所述一个或多个处理器执行以下步骤:
接收基于服务水平协议(service level agreement,简称SLA)在计算数据中心中部署多个Pod的请求,所述服务水平协议指定两个或多个所述Pod之间的带宽要求;
从所述计算数据中心中的节点的集合中接收与每个所述节点相关联的初始带宽的指示;
针对所述节点的集合,基于所述初始带宽指示和所述带宽要求,确定与每个节点相关联的剩余带宽;
基于每个节点的所述剩余带宽,在所述节点集中的节点子集中调度所述多个Pod。
17.根据权利要求16所述的非瞬时性计算机可读介质,其特征在于:
在网络管理系统中接收所述请求;
在SLA管理系统中,从所述节点的集合中的每个节点上的代理接收所述初始带宽指示;
采用所述SLA管理系统确定与每个节点相关联的所述剩余带宽,其中,所述剩余带宽指示与每个节点相关联的最拥堵链路的剩余容量;
所述指令使所述一个或多个处理器执行以下步骤:基于每个节点的剩余带宽,提供节点的有序列表,其中所述有序列表被从所述SLA管理系统提供给云管理系统。
18.根据权利要求17所述的非瞬时性计算机可读介质,其特征在于,所述指令使所述一个或多个处理器执行以下步骤:
针对包括所述节点集的多个节点,确定所述多个节点的互连Pod之间的距离;
基于所述剩余带宽和互连Pod之间的所述距离,生成所述节点子集的所述有序列表。
19.根据权利要求18所述的非瞬时性计算机可读介质,其特征在于,所述指令使所述一个或多个处理器执行以下步骤:
基于互连Pod之间的所述距离,对所述多个节点进行排序;
通过评估所述多个节点,从所述多个节点中确定所述节点集,以选择具有满足所述带宽要求的初始带宽的预先确定数目的节点;
其中,通过先评估较短距离节点再评估较长距离节点,评估所述多个节点,使得所述剩余带宽是为少于所述多个节点而确定的。
20.根据权利要求16至19中任一项所述的非瞬时性计算机可读介质,其特征在于,所述指令使所述一个或多个处理器执行以下步骤:
基于所述带宽要求,在所述节点子集中部署一个或多个服务质量规则。

说明书全文

计算机数据中心的网络服务平协议

相关申请案交叉申请

[0001] 本申请要求于2017年4月14日递交的发明名称为“计算机数据中心的网络服务水平协议”的第15/488,334号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。

技术领域

[0002] 本发明涉及计算机数据中心的技术领域,更具体地,涉及计算机数据中心的网络服务水平协议。

背景技术

[0003] 计算已成为提供计算服务的首选技术。云计算利用数据中心将计算资源作为服务而不是产品来提供,所述数据中心包括诸如用作主机的基于处理器的服务器硬件。用户通过从云计算系统请求服务来访问计算机资源,例如中央处理器、内存、存储器等。这允许用户无需购买和提供适当的硬件和软件即可访问计算机资源,以提供计算服务。终端用户可以使用移动设备、笔记本电脑、台式电脑等客户端设备访问基于云的服务,例如虚拟机或应用。
[0004] 现代云计算数据中心利用多种技术灵活地为许多用户提供强大的计算服务。云计算通常使用一个或多个网络上的共享资源来提供共享服务。例如,虚拟化技术允许对诸如处理器、内存和存储器等物理计算资源进行虚拟化处理和划分,以提供来自数据中心的多个服务实例。这些架构可以称为多租户云架构,其中数据中心向多个租户提供服务。
[0005] 在大规模数据中心中配置资源一直是一项挑战,在多租户云架构中尤为如此。分配给每个租户的资源将与所有其它租户隔离,即使所述资源位于同一计算设备(例如,同一物理服务器)。同时,为同一租户配置的多个实例将进行互连处理,就像位于同一子网中一样。

发明内容

[0006] 根据本发明的一个方面,提供了一种设备,包括:非瞬时性内存存储器,包括指令;一个或多个处理器,与所述存储器通信,其中所述一个或多个处理器执行所述指令以:接收与在计算数据中心中部署多个计算服务实例相关联的网络服务水平协议(service level agreement,简称SLA),所述网络SLA指定至少两个所述实例之间的带宽要求;从所述数据中心中的节点集中接收一组提议,所述提议指示与相应节点相关联的初始网络资源;使用所述节点集,针对所述提议集,确定与满足所述SLA要求相关联的可用网络资源;基于与所述提议集相关联的所述可用网络资源,将所述多个实例部署在所述计算数据中心的节点子集中。
[0007] 可选地,在前述任一方面,所述节点子集是第二节点子集;所述一个或多个处理器执行所述指令,以在确定所述可用网络资源之前,在所述计算数据中心的第一节点子集中执行所述多个实例的第一部署;所述一个或多个处理器执行指令,以基于所述第一部署之后的所述可用网络资源,在所述计算数据中心中的所述第二节点子集中部署所述多个实例,所述第二节点子集包括不同于所述第一节点子集中节点的至少一个节点。
[0008] 可选地,在前述任一方面,所述一个或多个处理器执行所述指令,以监控所述第一节点子集中的所述第一部署,以确定是否满足所述网络SLA要求;其中,基于未满足要求的所述第一部署,在所述第二节点子集中部署所述多个实例。
[0009] 可选地,在前述任一方面,所述一个或多个处理器执行所述指令以:部署第一QoS规则,以便跨一个或多个Pod执行;部署第二QoS规则,以便跨一台或多台虚拟机执行;部署第三QoS规则,以便跨一台或多台物理机执行。
[0010] 可选地,在前述任一方面,所述一个或多个处理器执行所述指令以:使用每项提议,确定一台物理机中的实例之间的可用虚拟网络资源,以满足所述带宽要求;使用每项提议,确定不同物理机中的实例之间的可用物理网络资源,以满足所述带宽要求。
[0011] 可选地,在前述任一方面,每个节点的所述提议包括在所述节点处可用的初始带宽的指示;所述一个或多个处理器执行所述指令,以针对所述提议集,通过从每个节点处的所述初始带宽中扣除所述带宽要求来确定所述可用网络资源。
[0012] 可选地,在前述任一方面,所述处理器执行所述指令以:针对包括所述提议集的多个提议,确定所述多个提议的互连实例之间的距离;针对所述提议集,确定在扣除所述带宽要求之后,互连Pod之间的每条链路的剩余容量;基于所述距离和每条链路的所述剩余容量,生成所述提议集的有序列表;其中,部署所述多个实例是基于所述有序列表的。
[0013] 可选地,在前述任一方面,所述处理器基于互连实例之间的所述距离,对所述多个提议进行排序;通过先评估较短距离提议再评估较长距离提议,所述处理器评估所述多个提议,以便为具有足够网络资源,从而能满足所述带宽要求的所述提议集选择预先确定数目的提议。
[0014] 可选地,在前述任一方面,在云管理系统中接收所述网络SLA和所述提议集;所述一个或多个处理器执行所述指令,以将所述多个提议传输至服务水平协议(service level agreement,简称SLA)系统;所述一个或多个处理器执行所述指令,以从所述SLA系统向所述云管理系统提供所述有序列表;基于所述有序列表,采用所述云管理系统部署所述多个实例。
[0015] 可选地,在前述任一方面,所述网络SLA指定时延要求和丢包率要求;基于所述时延要求和所述丢包率要求生成所述有序列表;所述一个或多个处理器执行所述指令,以接收与所述部署多个实例相关联的计算SLA;所述一个或多个处理器执行所述指令,以基于所述计算SLA和所述有序列表部署所述多个实例。
[0016] 可选地,在前述任一方面,所述网络SLA与部署多个容器相关联,每个容器包括计算服务的一个或多个所述实例。
[0017] 可选地,在前述任一方面,所述网络SLA与部署多个Pod相关,每个Pod包括两个或多个所述容器。
[0018] 根据本发明的一个方面,提供了一种方法,包括:接收与在计算数据中心部署多个计算服务实例相关联的带宽要求;从所述计算数据中心中的多个节点接收所述多个节点处可用的初始带宽的多个指示;针对所述多个节点,确定所述多个节点的互连实例之间的距离;针对所述多个节点中的至少一部分节点,基于所述初始带宽指示和所述带宽要求,确定互连实例之间的链路的剩余容量;基于互连实例之间的所述距离和所述互连实例之间的链路的所述剩余容量,在所述节点集的子集中部署所述多个实例。
[0019] 可选地,在前述任一方面,所述多个实例是多个Pod;所述多个节点是多台虚拟机,所述多台虚拟机设置在包括物理处理器和物理存储器的一台或多台物理机上;互连实例之间的所述链路包括第一组链路和第二组链路,所述第一组链路包括一台物理机中的Pod之间的链路;所述第二组链路包括不同物理机中的Pod之间的链路;确定互连实例之间的链路的剩余容量包括:确定可用虚拟网络资源和确定可用物理网络资源。
[0020] 可选地,在前述任一方面,所述方法还包括:基于互连实例之间的所述距离,对所述多个节点进行排序;基于互连实例之间的所述距离和所述初始带宽指示,从所述多个节点中选择一个节点集,所述节点集中包括的节点少于所述多个节点;基于互连实例之间的所述链路的所述剩余容量,生成所述节点集的有序列表;其中,基于所述有序列表,在所述节点子集中部署所述多个实例。
[0021] 根据本发明的一个方面,提供了一种用于计算机数据中心管理的存储计算机指令的非瞬时性计算机可读介质,其中所述计算机指令在由一个或多个处理器执行时使所述一个或多个处理器执行以下步骤:接收基于服务水平协议(service level agreement,简称SLA)在计算数据中心中部署多个Pod的请求,所述服务水平协议指定两个或多个所述Pod之间的带宽要求;从所述计算数据中心中的节点的集合中接收与每个所述节点相关联的初始带宽的指示;针对所述节点集,基于所述初始带宽指示和所述带宽要求,确定与每个节点相关联的剩余带宽;基于每个节点的所述剩余带宽,在所述节点集中的节点子集中调度所述多个Pod。
[0022] 可选地,在前述任一方面,在网络管理系统中接收所述请求;在SLA管理系统中,从所述节点集的每个节点上的代理接收所述初始带宽指示;采用所述SLA管理系统确定与每个节点相关联的所述剩余带宽,其中,所述剩余带宽指示与每个节点相关联的最拥堵链路的剩余容量;所述指令使所述一个或多个处理器执行以下步骤:基于每个节点的剩余带宽,提供节点的有序列表,其中所述有序列表被从所述SLA管理系统提供给云管理系统。
[0023] 可选地,在前述任一方面,所述指令使所述一个或多个处理器执行以下步骤:针对包括所述节点集的多个节点,确定所述多个节点的互连Pod之间的距离;基于所述剩余带宽和互连Pod之间的所述距离,生成所述节点子集的所述有序列表。
[0024] 可选地,在前述任一方面,所述指令使所述一个或多个处理器执行以下步骤:基于互连Pod之间的所述距离,对所述多个节点进行排序;通过评估所述多个节点,从所述多个节点中确定所述节点集,以选择具有满足所述带宽要求的初始带宽的预先确定数目的节点;其中,通过先评估较短距离节点再评估较长距离节点,评估所述多个节点,使得所述剩余带宽是为少于所述多个节点而确定的。
[0025] 可选地,在前述任一方面,所述指令使所述一个或多个处理器执行以下步骤:基于所述带宽要求,在所述节点子集中部署一个或多个服务质量规则。
[0026] 提供本发明内容是为了以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本发明内容的目的不在于识别权利要求书保护的主题的关键特征或必要特征,也不在于帮助确定权利要求书保护的主题的范围。权利要求书保护的主题不限于用于解决在背景技术中提到的任何或全部缺点的实现方式。附图说明
[0027] 图1是一种包括计算数据中心的网络环境的框图
[0028] 图2是描述计算数据中心中Pod组的计算服务水平协议(service  level agreement,简称SLA)实现方式的框图;
[0029] 图3是描述一个实施例提供的计算数据中心中Pod组的网络SLA实现方式的框图;
[0030] 图4是一个实施例提供的一种包括SLA管理系统的计算数据中心的框图;
[0031] 图5是一个实施例提供的一种计算数据中心的数据中心管理集群和计算节点的框图;
[0032] 图6是描述一个实施例提供的根据网络SLA在计算数据中心中调度Pod部署的流程图
[0033] 图7是描述一个实施例提供的网络SLA的服务质量(quality of service,简称QoS)流的框图;
[0034] 图8是描述一个实施例提供的基于与满足网络SLA要求相关联的网络资源来评估节点的流程图;
[0035] 图9是描述一个实施例提供的计算节点上初始带宽的确定过程的示图;
[0036] 图10是描述一个实施例提供的网络SLA的不同类型流量的框图;
[0037] 图11A至图11B是描述一个实施例提供的计算数据中心的一部分和为满足网络SLA要求的网络资源确定过程的示图;
[0038] 图12A至图12C是描述一个实施例提供的在数据中心的计算节点上预留带宽的框图;
[0039] 图13是描述用于调度计算数据中心中的Pod的节点提议的有序列表的生成过程的流程图;
[0040] 图14是描述一个实施例提供的Pod部署和监控的流程图;
[0041] 图15是描述一个实施例提供的Pod部署和监控的流程图;
[0042] 图16是描述一个实施例提供的Pod重定位的流程图;
[0043] 图17是一种诸如计算数据中心的计算系统的框图。

具体实施方式

[0044] 本发明涉及计算机数据中心管理技术,例如用于管理云基础设施的资源的数据中心管理系统。云基础设施可以包括具有许多物理主机设备的数据中心,以及许多虚拟机和/或底层物理计算机资源的其它虚拟化。通常,云管理系统利用服务器虚拟化技术实现诸如中央处理器(central processing unit,简称CPU)、存储器和磁盘等物理资源的精细切片和分配。通过软件定义的网络技术(包括其典型应用、网络虚拟化)来解决云计算的网络组件问题。
[0045] 传统上,云计算服务水平协议(service level agreement,简称SLA)仅涉及所述云基础设施的所述物理计算资源。例如,可以为CPU、存储器、磁盘、缓存等计算资源配置计算SLA,以预留一定数量的资源并确保资源质量。虽然计算SLA涉及云基础设施的计算资源,但所述云基础设施的所述网络资源通常不受限制。这样,多个租户共享带宽等网络资源,不受个人租户限制,也不向个人租户提供保证。
[0046] 根据一个实施例,为计算机数据中心配备多租户基础设施,用于基于网络服务水平协议为租户配置资源。为计算机数据中心配备服务水平协议(service level agreement,简称SLA)系统,以确保借助网络SLA配置计算实例。计算实例是指部署在计算节点中的一个或多个计算资源。实例可以包括诸如内存、计算容量(例如,一个或多个虚拟内核或计算单元)、存储器和/或其它物理基础设施等物理资源的虚拟化。实例还可以包括部署在计算节点中的软件或代码。实例示例包括用于创建HTTP服务器(例如,Web文件系统)、数据库服务器或任何其它计算服务的虚拟化物理资源和代码(操作系统和应用组合)。可以提供一种网络SLA,指定例如与将为租户调度的云资源相关联的带宽要求。当针对租户请求部署计算实例时,所述SLA系统基于与所述节点相关联的剩余容量来评估所述数据中心中的节点。
[0047] 在一个实施例中,提供了一种模化SLA网络系统,以便将所述SLA系统集成到现有云计算基础设施中。所述SLA系统提供并利用所述云管理系统和所述SLA系统之间的通用应用程序编程接口。这允许所述云管理系统访问所述SLA系统,作为调度所述数据中心中的节点上的计算实例的一部分。例如,所述云管理系统可以查询所述SLA系统,以确定能够满足租户为部署计算实例而指定的网络SLA要求的所述数据中心中的节点的列表。可以对列表进行排序,以指示具有更佳容量来满足所述网络SLA要求的节点。所述云管理系统可以利用节点或提议的所述有序列表作为过程的一部分,以确定在何处针对租户请求部署计算实例。
[0048] 在一个实施例中,将SLA代理部署在所述数据中心的节点上。所述节点向所述SLA管理系统生成指示所述节点上可用的网络资源的提议。所述提议可以为响应特定租户请求生成,或者可以在租户请求之前生成(例如,周期性地)。在一个示例中,所述提议指示所述节点上的可用带宽。所述SLA系统接收所述提议并评估所述提议以生成所述有序列表。所述SLA系统可以考虑涉及满足网络SLA要求的物理资源和/或虚拟资源。例如,所述SLA系统可以考虑一台虚拟机中的节点之间的流量、不同虚拟机中的节点之间的流量以及不同物理机中的节点之间的流量。
[0049] 在一个实施例中,所述SLA系统提供多种模式来部署计算实例以响应租户请求。在被动模式下,可以在评估所述网络资源之前定义和部署计算实例以满足所述网络SLA要求。部署后,监控所述网络,以确定是否满足所述网络SLA要求。如果不满足所述网络SLA要求,所述系统可能会尝试实例重定位,以尝试满足所述网络SLA要求。在主动模式下,所述系统在部署所述计算实例之前评估所述节点满足所述SLA要求的所述网络资源能。为了基于满足所述网络SLA要求的整体网络能力来选择节点,对各个节点进行了评估。在一个实施例中,提供了一种混合过程。当具有最低资源等级的节点的数目超出阈值时,使用所述被动模式。当所述数据中心容量较大时,这将启用快速部署。当所述节点数目低于所述阈值时,使用所述主动模式,以降低重新部署的可能性。
[0050] 图1示出了提供云基础设施或云计算环境的网络环境100,允许远程设备160访问由云计算数据中心110提供的计算服务。所述数据中心可以通过网络102(包括,例如,互联网)与所述远程设备160进行通信。尽管图1中描述了单个数据中心110,但是云计算架构中可能会包括多个数据中心。每个数据中心110可以包括地理位置不同的站点,所述站点托管用于支持基于云的系统的硬件。因此,所述数据中心110可以包括用于提供计算节点114的多个刀片、服务器或其它计算机系统。所述多个数据中心可以由单个数据中心的数据中心管理系统、每个数据中心的系统或两者的组合来管理。
[0051] 数据中心110可以包括存储群集,所述存储群集具有通过网络(未示出)彼此互连的计算机节点114。数据中心110可以包括主机112,每台主机112包括物理机,例如耦合至网络102的服务器。每台物理机包括硬件层,所述硬件层包含一个或多个处理器(例如,CPU)128和一个或多个存储设备(例如,磁盘)126。所述存储设备可以包括光盘存储器、RAM、ROM、EEPROM、闪存、相变内存、磁盒、磁带、磁盘存储器或可用于存储所需信息并可由处理器128访问的任何其它计算机存储介质。所述硬件层可以包括诸如总线等(未示出)其它组件,通常用于实现如下所述的计算设备。
[0052] 每台主机112包括提供计算服务的多个计算节点114。在该示例中,每个计算节点包括虚拟机116。所述虚拟机116可以是系统虚拟机(例如,完全虚拟化)、过程虚拟机(在平台独立环境中)或任何其它类型的虚拟机。所述虚拟机在相应的主机(例如,服务器)上执行。
[0053] 在虚拟化层中提供虚拟机监视器124(或虚拟化管理器),以分配和管理对所述硬件层中的诸如存储设备126和处理器128之类的许多物理资源的访问。在所述虚拟化层中执行的虚拟机116可以通过虚拟机监视器124访问所述物理资源。
[0054] 虚拟化层用于创建和管理虚拟机116,并向使用所述云中的所述物理资源的客户提供其它服务。例如,所述虚拟化层包括一个或多个操作系统118和分配给所述一个或多个操作系统118的虚拟资源。虚拟资源可以包括但不限于虚拟磁盘120和虚拟处理器122以及虚拟资源,例如虚拟内存和虚拟网络接口。所述虚拟资源和所述操作系统118可以合称为所述虚拟机116。每台虚拟机116可以与所述虚拟机监视器124进行通信,可以用来执行用于管理和配置所述主机上的其它虚拟机114的应用。
[0055] 在一个实施例中,为一个或多个主机计算设备112配置数据中心管理系统140,所述数据中心管理系统140提供接口,云运营商和云客户可以通过所述接口与所述云计算环境100进行交互。例如,所述管理系统140可以提供一组API和/或具有用户接口的一个或多个基于Web的或独立的应用,以允许云运营商管理所述云资源、配置所述虚拟化层、管理客户账户以及执行其它云管理任务。所述管理系统140还可以包括一组API和/或具有户接口的一个或多个基于Web的或独立的应用,用于通过远程设备160从终端用户接收云计算请求,例如创建、修改或破坏所述云中的虚拟机的请求。
[0056] 为了响应客户请求,所述管理系统可以基于所述客户请求在所述云计算环境100的所述硬件层中选择和配置物理资源。例如,所述管理系统140可以用于通过网络(例如,互联网)为远程设备160的用户创建和管理虚拟机116及其操作环境,从而使用户能够配置虚拟机116。
[0057] 所述远程设备110表示任何合适的终端用户设备且可以包括(或可以称为)诸如用户设备(user equipment,UE)、移动无线通信设备、无线发送/接收单元(wireless transmit/receive unit,WTRU)、移动台、固定或移动用户单元、寻呼机、蜂窝电话、个人数字助理(personal digital assistant,PDA)、智能手机、笔记本电脑、电脑、触摸板或消费类电子设备等此类设备。所述远程设备160可以具有处理器、存储器(可以是或不是非瞬时性存储器)、收发器和天线(未示出)。在特定实施例中,本文中描述为由所述远程设备提供的部分或全部功能可以由执行存储在所述存储器上的指令的所述远程设备处理器提供。所述远程设备的可替代实施例可以包括附加组件,所述附加组件可以负责提供所述远程设备的某些方面的功能,包括支持本发明实施例所必需的任何所述功能。
[0058] 所述网络102可以包括任何私网或公网,以促进所述网络102的各个组件之间的通信。在各种实施例中,所述网络102可以包括互联网、PSTN或任何区域网络(例如LAN、WAN、WLAN等)。显而易见的是,尽管所述各种部件被示出为直接连接到所述网络102,但路由器和交换机(未示出)等各种中间设备可以促进此类连接。
[0059] 可以理解的是,图1是可以使用的网络架构的示例,本领域技术人员应理解,所使用的特定网络架构和数据处理设备可以有所不同,如本文进一步描述的,取决于他们所提供的功能。
[0060] 图2是描述响应用户请求的云资源的示例性部署的框图。在所述简化示例中,客户请求在所述数据中心110中部署两个Pod组202-1和202-2。Pod组202-1包括四个Pod 204-1,用于提供通用计算服务。例如,每个Pod 204-1可以配置为具有与Pod组202-1中每个其它Pod 204-1通用的Web功能的Web服务器或Web服务。所述第二Pod组202-2中的每个Pod 204-2可以配置为与Pod组202-2中每个其它Pod 204-2通用的数据库功能的数据库服务器或数据库服务。应当注意的是,Pod和Pod组的数目和类型仅通过示例提供。可以针对任何类型的计算服务并通过任何数目的组或组内的Pod来配置Pod和Pod组。此外,Pod组中的所述Pod可以分布在多个计算节点上,而不是如图2中所示的分布在单个节点上。
[0061] Pod可以用于部署计算服务或应用的实例化。通常,Pod包括一个或多个容器、与所述容器相关联的计算机资源(例如,存储器、内存)以及关于所述容器执行的规范。所述Pod组中的每个Pod可以在共享环境中运行,以提供特定应用服务。每个Pod可以包括共享命名空间和使所述Pod与其它Pod隔离的其它隔离。
[0062] Pod组中的每个容器都提供应用或其它计算机服务的虚拟实例。通常,容器虚拟化单个应用,这不同于可以虚拟化多个应用的虚拟机。容器在应用级别而不是服务器级别实例之间创建隔离。容器不需要其自身操作系统。在一个示例中,容器包括执行资源的相应计算机服务以运行所述计算机服务的最低资源量,所述资源包括代码、库和操作系统部件等。容器组中的容器紧密耦合,例如共享公共地址空间、端口空间等。所述容器可以使用标准进程通信和共享内存直接通信。容器的一个示例是Docker容器,但可以使用任何容器。Docker容器是在计算节点上运行一个软件的一组系统资源。Docker容器可以包括应用代码、库和其它系统资源,以便在完整的文件系统中运行所述应用。
[0063] 许多云服务基于虚拟机和容器技术,包括Pod部署。然而,本发明不受此限,并且应用于多个租户在其中共享计算资源的任何数据中心框架中。例如,可以结合使用本发明部署任何计算服务实例。在这方面,术语“实例”可以用于指在计算节点上执行的应用的单一部署。此外,术语“实例”可以用于指容器、Pod和或虚拟机,其中所述容器包括应用和用于提供计算服务的其它计算机资源的实例;所述Pod包括一个或多个容器;所述虚拟机提供计算服务。
[0064] 图2中提供了每个Pod组的计算SLA。计算SLA 210-1提供要为所述相应的Pod组202-1分配和预留的计算机资源的规范。类似地,计算SLA 210-2提供Pod组202-2的计算机资源规范。每个计算SLA都可以指定所述Pod组或所述组中的单个Pod的计算机资源。在该示例中,每个计算SLA都为所述相应的Pod组指定CPU资源、存储器资源、磁盘资源和缓存资源。
租户可以提供所述SLA规范,随附或作为代表所述租户部署云资源的请求的一部分。所述计算SLA专用于特定租户的云部署。因此,可以使用公共物理资源为多个租户配置,同时为特定租户预留一定数量的资源。
[0065] 虽然诸如图2所描述方案之类的方案对多租户环境中云基础设施的所述计算机资源起到一定程度的管理作用,但包括所述基础设施中实例或Pod之间链路的所述网络资源不受所述计算SLA的限制。所述计算SLA不涉及部署所请求的服务所使用的网络资源。因此,允许所述多个租户以不受限制的方式所述共享数据中心内的所述网络资源。例如,所述租户对在数据中心内可能用于其服务的物理带宽没有保证或限制。
[0066] 传统云计算是在假定网络资源将依次处理所有必要流量的前提下,集中于CPU或存储器等所述计算机资源上。但是,提供容器和Pod等较小服务显示,为租户预留的计算机资源之间的网络资源很容易发生拥塞,从而降低向所述用户提供的服务水平。例如,针对单台物理机的多台虚拟机,容器可能按多个顺序来部署,从而使所述网络资源更加受限。
[0067] 为了克服所述计算SLA的所述限制,本发明提供了云计算基础设施内的一种网络SLA框架。提供了一种网络SLA,所述网络SLA可以指定在多租户云中为租户部署的计算资源之间的网络要求。所述租户可以提供所述网络SLA,随附或作为代表所述租户部署计算机资源的请求的一部分。所述网络SLA可以为所述相应租户指定计算机资源的带宽要求、时延要求、丢包率要求(在一段时间内可能会丢弃的数据包的最大数目)和/或其它网络要求。可以将所述网络SLA指定为租户部署中的实例、容器和/或Pod之间的要求。
[0068] 图3是描述针对租户请求的云资源的示例性部署的框图,包括指定针对所述请求预留的计算机资源之间的网络SLA。图3继续图2的简化示例,描述数据中心110中的Pod组202-1和202-2。但是,在图3中,每个Pod组的所述租户部署包括与所述Pod组相关联的网络SLA。在该示例中,提供了第一网络SLA212-1,所述第一网络SLA212-1指定Pod组202-1和所述网络102之间的网络要求。所述第一网络SLA 212-1可以指定每个Pod 204-1和互联网之间的链路的带宽资源、时延资源和/或丢包率资源。带宽资源可以指定诸如Pod等计算实例之间要提供的最小带宽。时延资源可以指定实例之间的最大时延。丢包率资源可以指定实例之间的最大丢包率。示出了一具体示例,其中所述网络SLA规定Pod 204-1和互联网208之间的每条链路必须预留10Mbits的带宽。虽然每条链路被指定相同的带宽要求,但不同的链路可以包括不同的要求。例如,SLA 212-1可以单独指定每个Pod的要求,也可以指定所述Pod组中的每个Pod的要求。
[0069] 类似地,提供了第二网络SLA 212-2,所述第二网络SLA 212-2指定Pod组202-2和Pod组202-1之间的网络要求。SLA212-2可以指定组202-1中的每个Pod与组202-2中的每个Pod之间的链路的带宽要求、时延要求和/或丢包率要求。示出了一具体示例,其中所述网络SLA指定Pod 204-1和Pod 204-2之间的每条链路必须预留5Mbits的带宽。虽然每条链路被指定相同的带宽要求,但不同的链路可以包括不同的要求。例如,SLA 212-2可以单独指定每个Pod的要求,也可以指定所述Pod组中的每个Pod的要求。这允许在为特定租户部署的计算服务之间预留一定数量的带宽。
[0070] 尽管图3描述了使用Pod的具体示例,但同样的概念可以应用于部署在数据中心节点中的容器或其它计算服务实例。例如,可以用容器代替所述Pod,以便使用所述网络SLA来调度所述容器部署。
[0071] 如典型实现方式中可以预期的,SLA规范的变化可以用来解决数目不断变化的服务实例。在一个示例中,链路的带宽表示应在服务之间的任何实例对之间预留的带宽量。在另一示例中,链路的数目表示服务之间的聚合带宽。所述第二示例中的实例之间的所述带宽可以通过在所有实例对中平均划分所述聚合带宽来确定。可以生成数据面策略条目并将其执行到云基础设施中的适当交换机上。
[0072] 图4是描述数据中心内节点114上Pod部署的示例的框图。在该示例中,跨两台主机112-1和112-2上的四个节点部署了八个Pod。每个节点可以是但不需要是其自身的虚拟机。
图4示出了所述客户部署方面的所述Pod之间的三种类型流量。流量T1表示单个节点114-1中Pod 204-1和204-2之间的数据路径。在该示例中,流量T1从第一Pod 204-1上的所述接口
152通过交换机154并通过其接口152传递至所述另一Pod 204-2。因此,流量T1在单个节点
114-1内。
[0073] 流量T2通过本地交换机154和接口156,从节点114-1中Pod 204-1上的所述接口152传递至交换机158,所述交换机158将节点114-1耦合至所述同一物理主机112-1中的节点114-2。从交换机158,流量T2通过接口156、交换机154和接口152传递至主机112-1的节点
114-2中的所述第二Pod 204-4。因此,流量T2在所述同一物理主机112-1中的两个节点之间传递。虽然未示出,但流量T2可以从第一节点114-1上的第一VM传递至所述第二节点114-2上的第二VM。
[0074] 流量T3从Pod 204-1上的所述接口152传递至第二物理主机112-2中的Pod 204-8。流量T3通过物理网络160从主机112-1上的交换机158传递至主机112-2。例如,物理网络160可以包括附加接口和交换机。因此,流量T3在不同主机中的两个节点之间传递。虽然未示出,但流量T3可以从所述第一节点上的VM传递至所述第二节上的VM。
[0075] 由租户请求提供的所述网络SLA可以指定Pod 204之间的特定带宽。为了考虑可能发生的全部三种类型流量,所述SLA管理系统可以提供针对每种类型流量执行的服务质量(quality of service,简称QoS)规则。服务质量是指网络或网络中节点的传输质量和服务可用性的度量。QoS规则基于与所述数据包相关联的参数来定义在节点上路由数据包的服务优先级。QoS规则可以基于端口、设备、协议、应用、租户或与所述数据包相关联的任何其它参数来应用。QoS规则可以指定数据包参数和所述数据包参数的路由优先级。例如,QoS规则可以指定:TCP/IP数据包优先于其它数据包类型;与一个租户相关联的数据包优先于来自另一租户的数据包;或者,所述节点上的一定数量的带宽将用于传输与特定租户相关联的数据包。图5是示出对应于图4中示出的三种类型流量的三种QoS流的框图。在该示例中,第一规则集QoS#1控制单个节点或VM内的流量。所述第一规则集QoS#1控制一个VM内的流,用于单个主机112-1内所述同一节点114-1中容器204-1的接口152上的出站流量控制。QoS规则集可以包括一个或多个规则。
[0076] 第二规则集QoS#2控制所述同一物理主机112-1中的两个节点之间的流量。所述流量可能在两台虚拟机之间。在第一容器204-1上的所述接口152上提供流量控制,以控制出站流量并在节点114-1上的容器204-1和204-2上提供优先控制。此外,也可以在节点114-2上的Pod 204-4上的所述接口152上提供流量控制,以控制交换机154上的入站流量。在一个实施例中,交换机154可以是容器Docker。
[0077] 第三规则集QoS#3控制不同物理主机112-1和112-2中的两个节点之间的流量。所述流量可能在所述两台主机上的两台虚拟机之间。在节点114-1上的Pod 204-1上的所述接口152上提供流量控制,以控制出站流量并在节点114-1上的Pod 204-1和204-2上提供优先级控制。此外,也可以在节点114-4上的Pod 204-8上的所述接口156上提供流量控制,以控制交换机154上的入站流量。
[0078] 图6是描述一个实施例提供的数据中心110和数据中心管理系统140的框图。一台或多台物理机上的多个计算节点114被描述为与所述数据中心管理系统140进行通信。
[0079] 数据中心管理系统140包括云管理系统330,用于响应租户请求将计算资源部署在所述数据中心中的节点114中。如图6所示,CMS 330用于接收指定部署计算机资源的客户要求的服务描述322和对应于所述服务描述322的网络SLA描述320。所述服务描述可以指定要针对特定计算服务部署的容器组和相应容器或实例。所述服务描述也可以或者可替代地指定要针对特定计算服务部署的Pod组和相应Pod或实例。所述服务描述可以指定要针对每个Pod组部署的Pod类型和Pod数目。此外,所述服务描述可以指定不同Pod组之间的连接。
[0080] 与传统云资源部署一样,CMS 330可以利用计算SLA来确定哪些节点将用于部署所述请求的资源。例如,CMS 330可以使用CPU、存储器和缓存规格来确定在哪些节点上调度或配置Pod部署。根据一个实施例,CMS 330用于接收网络SLA并基于一个或多个网络SLA要求调度云资源。例如,CMS 330可以基于所述SLA中的带宽要求和要部署所述Pod的节点之间链路的可用带宽,将Pod部署在所述数据中心中的节点114中。如图所示,CMS 330可以接收可用资源的指示,进而调度实例或Pod,以便在所述数据中心中进行部署。
[0081] 在一个实施例中,图6中描述的数据中心的框架允许基于网络SLA调度云资源,只对现有云基础设施进行细微修改。提供了一种模块化网络SLA框架,所述框架包括交互式API,以允许所述CMS 330与所述SLA系统302集成。在所述CMS 330和所述SLA系统302之间交换和同步信息。不同类型的CMS可以调用标准API与所述SLA系统302交互,在一个示例中提供抽象API,其可以提供广泛的SLA功能。这样,所述CMS 330仍然是实例部署的最终决定点,可以维护SLA执行的信息。
[0082] 在一个实施例中,提供了基于提议的调度,使得每个节点114(或每台物理主机)以提议的形式向所述CMS 330报告其可用的网络资源。CMS 330可以根据配置目的对这些提议进行排序,例如以便最大限度地减小整体最大工作负载。此外,所述CMS参考所述SLA系统302,以将要接受的提议的确定过程与网络SLA要求结合起来。
[0083] API处理程序306在CMS 330上接收来自SLA插件304的请求。在一个实施例中,使用REST API传送请求。所述API处理程序306提取每个请求的类型和有效负载。然后,所述处理程序调用所述SLA系统302中的相关模块来执行所述请求。最后,所述API处理程序306回复从所述适当的模块返回的结果。
[0084] 部署配置管理器310用于从所述CMS 330接收实例配置。这允许所述SLA系统获取诸如位置、隶属关系和网络配置等信息。
[0085] SLA调度器308用于实现评估提议。所述SLA调度器308可以实现如下所述的提议排序、过滤和/或调整。所述SLA调度程序可以基于当前网络容量提供评估结果和/或重定位结果。在一个示例中,所述网络SLA指定至少两个所述Pod之间的带宽要求。
[0086] SLA策略管理器312用于处理策略执行请求。SLA策略管理器312生成数据面SLA策略条目并委托策略呈现器316将所述策略推送到所述数据面,如图所示。管理器312进一步维护数据库中的逻辑和数据面策略条目,以简化其它策略修改。
[0087] SLA策略呈现器316用于在所述云基础设施中启用了OpenFlow的交换机上实现所述数据面策略。所述SLA策略实现方式利用多种南向协议。所述SLA策略呈现器隐藏底层复杂性,为策略执行提供干净的接口。
[0088] 网络资源管理器314用于从所述底层云基础设施收集拓扑和网络资源(例如,链路容量),如图所示。所述网络资源管理器314构建网络资源图356。所述网络资源图由其它模块用来获取实例之间的所述带宽容量和/或确定策略执行点。可以参考所述图以生成部署的任意Pod(或实例)对之间的所述路径和所述可用容量。所述网络资源图356可以是用于指示拓扑和链路容量的任何数据结构(例如,表格、列表或数据库)。图356可以是数据结构或子数据结构(例如,数据结构中的数据结构),例如可以在数据面上维护和操作的表格、列表或数据库。所述图356可以存储在任何非瞬时性内存存储器中。上述数据结构可以在主机112的存储器或存储单元中存储和维护。
[0089] 网络资源矩阵(network resource  matrix,简称NRM)352存储部署实体(deployment entity,简称DE)或Pod之间的可用网络资源。术语“部署实体”可用于指可以用来实例化给定云基础结构中的Pod或实例的最低级别计算机资源。例如,部署实体可以是虚拟机、物理主机、部署的Pod或容器或其它实体。在一个实施例中,所述NRM是NxN矩阵,其中N是所述数据中心中的DE的数目。对于每个DE对,所述NRM中的相应值是沿其互连路径的所述可用网络资源(例如,带宽容量)。在一个实施例中,仅响应拓扑变化生成所述互连路径。每次分配带宽之后,将逐步更新所述带宽容量,从而能够快速计算所述评估结果。所述网络资源矩阵352可以是用于将可用网络资源与部署实体关联的任何数据结构(例如,表格、列表或数据库)。矩阵352可以是数据结构或子数据结构(例如,数据结构中的数据结构),例如可以在数据面上维护和操作的表格、列表或数据库。所述矩阵352可以存储在任何非瞬时性内存存储器中。上述数据结构可以在主机112的存储器或存储单元中存储和维护。
[0090] 距离矩阵354用于存储任意DE之间的距离。在一个实施例中,所述距离矩阵也具有NxN的大小。在一个实施例中,所述距离计算为一对DE之间的跳数。所述距离越长,所述路径占用的链路越多。评估提议时,所述SLA系统可以通过参考每对互连DE的所述距离矩阵354来基于位置对所述提议进行排序。所述距离信息可用于在所述云基础设施中针对时延执行网络SLA。所述距离矩阵354可以是用于指示DE之间距离的任何数据结构(例如,表格、列表或数据库)。所述矩阵354可以是数据结构或子数据结构(例如,数据结构中的数据结构),例如可以在数据面上维护和操作的表格、列表或数据库。所述矩阵354可以存储在任何非瞬时性内存存储器中。上述数据结构可以在主机112的存储器或存储单元中存储和维护。
[0091] 通常,云层次结构中的高层链路承载大量流量,与低层链路相比,更容易发生拥塞。在一个实施例中,所述SLA系统应用本地化来缓解高层链路的压力以及减少通信时延。所述SLA系统可以使用距离和整体链路利用率作为启发式度量来调度云资源部署。在一个实施例中,所述SLA系统试图对链路引入最少负载增加,将通信实例放置在尽可能靠近的位置,以满足部署资源的服务请求。
[0092] CMS 330是一种用于接收与在计算数据中心中部署多个Pod相关联的网络服务水平协议(service level agreement,简称SLA)的手段的一个示例。在一个示例中,所述网络SLA指定至少两个所述Pod之间的带宽要求。在一个示例中,所述手段支持接收与在计算数据中心部署多个计算服务实例相关联的带宽要求。在一个示例中,所述手段支持接收基于服务水平协议(service level agreement,简称SLA)在计算数据中心中部署多个Pod的请求,所述服务水平协议指定两个或多个所述Pod之间的带宽要求。
[0093] CMS 330是一种用于从所述数据中心中的节点集中接收一组提议(所述提议集指示与诸如所述相应节点相关联的初始带宽之类的初始网络资源)的手段的一个示例。
[0094] CMS 330是一种用于基于与所述提议集相关联的所述可用网络资源将所述多个Pod部署在所述计算数据中心的节点子集中的手段的一个示例。在一个示例中,所述手段支持基于互连实例之间的所述距离和所述互连实例之间的链路的所述剩余容量,在所述节点集的子集中部署所述多个实例。在一个示例中,所述手段支持基于每个节点的所述剩余带宽,在所述节点集中的节点子集中调度所述多个Pod。
[0095] CMS 330包括允许所述CMS 330和SLA系统302之间通信和同步的SLA插件304。在一个实施例中,所述SLA插件提取从节点114接收的提议,参考所述SLA系统获取考虑网络资源的布置方案。在一个实施例中,CMS 330上的SLA插件304用于使用RESTful API(例如REST)与所述SLA管理系统302进行通信。所述SLA插件将所述SLA系统302的所述SLA功能与所述CMS 330结合起来。在一个实施例中,所述SLA插件解析租户规范并提取一个或多个SLA要求(也称为意图)。所述SLA插件拦截所述CMS的提议,参考所述SLA系统302进行评估。所述SLA系统回复布置建议以进行布置,例如通过提供节点的有序列表,所述有序列表表示具有更多容量以满足所述SLA要求的节点。
[0096] SLA 302(例如,SLA调度器308)是一种用于接收与在计算数据中心中部署多个Pod相关联的网络服务水平协议(service level agreement,简称SLA)的手段的一个示例。在一个示例中,所述手段支持接收与在所述计算数据中心部署多个计算服务实例相关联的带宽要求。在一个示例中,所述手段支持接收基于服务水平协议(service level agreement,简称SLA)在计算数据中心中部署多个Pod的请求,所述服务水平协议指定两个或多个所述Pod之间的带宽要求。
[0097] SLA系统302是一种用于从所述数据中心中的节点集中接收一组提议(所述提议集指示与所述相应节点相关联的初始网络资源)的手段的一个示例。在一个示例中,所述手段支持从所述计算数据中心中的多个节点接收所述多个节点处可用的初始带宽的多个指示。在一个示例中,所述手段支持从所述计算数据中心中的节点的集合中接收与每个所述节点相关联的初始带宽的指示。
[0098] SLA系统302是一种用于使用所述节点集针对所述提议集确定与满足所述SLA要求相关联的可用网络资源的手段的一个示例。在一个示例中,所述手段支持针对所述多个节点,确定所述多个节点的互连实例之间的距离;所述手段支持针对所述多个节点中的至少一部分节点,基于所述初始带宽指示和所述带宽要求,确定互连实例之间的链路的剩余容量。在一个示例中,所述手段支持针对所述节点集,基于所述初始带宽指示和所述带宽要求,确定与每个节点相关联的剩余带宽。
[0099] 图7是数据中心的框图,描述所述数据中心的模块之间的流,以基于租户请求部署云资源。网络管理系统(network management system,简称NMS)344用作数据中心和用户之间的整体接口,将请求路由到所述适当的模块。网络管理系统344接收部署云资源(例如,数据中心110中的一个或多个Pod组)的请求。如图6所示,所述租户请求可以包括与所述要调度的云服务相关的服务描述以及指定所述要部署的云的组件之间的SLA要求的网络SLA描述。此外,还可以接收计算SLA描述,指定用于实例化所述云服务的所述计算机资源的要求。
[0100] 为响应所述租户请求,NMS 344向CMS 142发出创建Pod的请求,向SLA系统302提供所述云基础设施的拓扑信息。CMS 330接收所述请求并联系SLA插件以启动SLA功能。SLA插件304解析所述SLA规范并提取各种要求。然后,SLA插件304向SLA系统302发出查询或请求,以评估针对所述SLA规范的提议。在一个实施例中,在CMS 330上,从每个所述节点上的SLA代理340接收提议。所述SLA插件304向所述SLA系统提供来自CMS 330的所述提议,随附基于所述SLA规范对所述提议进行评估的所述请求。在另一实施例中,所述节点上的所述SLA代理340直接向所述SLA系统302提供提议。
[0101] 所述SLA系统接收所述提议并根据所述SLA规范评估所述提议。如下所述,可以执行各种过滤、排序和评估来评估节点,以满足所述服务描述和SLA规范。在一个实施例中,所述SLA系统生成可以满足所述服务描述和SLA规范的提议或节点的有序列表。所述提议可以基于其满足所述租户请求的能力进行排序。其它因素(例如,位置)可以用于对所述列表进行排序。所述SLA系统302向所述CMS系统330回复提议或节点的所述有序列表。接收所述评估的提议之后,所述CMS调度必要的云资源,以便在所述数据中心中进行部署。所述CMS可以调度实例、容器和/或Pod,以便在所述数据中心中的节点114上进行执行。所述CMS基于所述有序列表确定要使用的节点。所述CMS还可以使用计算SLA和其它要求来确定要使用的节点。这些将基于所述网络SLA要求与所述有序列表组合使用。
[0102] 针对所述租户请求确定所述资源部署之后,所述CMS向每个选定节点114上的CMS代理332发出请求。所述请求适用于要部署在所述节点中的Pod。为响应所述创建Pod请求,所述CMS代理向SLA代理340发出请求。所述CMS代理请求所述SLA代理创建网络并让所述Pod加入所述网络。
[0103] 然后,所述SLA代理从所述SLA系统302请求网络拓扑信息。所述SLA系统回复网络拓扑信息。然后,所述SLA代理为所述Pod创建所述必要的网络拓扑,实例化所述节点上的Pod以加入所述网络。标准网络组件(standard network component,简称SNC)360的创建如图7所示。
[0104] 在图7中,所述数据中心管理系统包括SLA监控器318,所述SLA监控器318与所述数据中心中的每个节点上的监控代理350通信。所述监控代理向生成端到端网络状态的所述SLA监控器报告。所述SLA监控器可以在每个节点上执行数据面策略。
[0105] 图8是描述一个实施例提供的多租户数据中心中云资源的调度过程400的流程图。过程400可以使用SLA管理系统302在图1中示出的环境中实施,但不限于此类网络环境示例。过程400可以由图6和图7中的各种元件执行,但不限于这些示例。
[0106] 在步骤402,所述SLA管理系统302接收与租户请求相关联的网络SLA,以调度所述数据中心中的云资源。如下所述,可以执行过程400,以便以主动模式初始部署云资源,从而满足租户请求。在被动模式下,可以执行过程400,以在响应租户请求的初始部署之后重新部署云资源。例如,所述SLA系统可以调度用于满足服务描述的资源而不考虑网络SLA。所述网络SLA可以在所述初始部署之后使用,以便基于所述SLA要求重新部署资源。
[0107] 在步骤404,所述SLA系统从所述数据中心中的节点接收提议,所述提议指示每个节点上可用的初始网络资源。所述提议可以直接从所述SLA系统中的所述节点114接收,或者可以在所述CMS从所述节点接收所述提议之后从所述CMS接收。每个提议指示所述节点上可用的当前网络资源。例如,所述提议可以指示所述节点上可用的带宽,或者与所述节点相关联的当前丢包率或时延。应当注意的是,在步骤404,所述提议可以在接收租户请求和/或所述网络SLA之前或之后接收。例如,在一个实施例中,为响应租户请求,可以接收所述提议。在另一实施例中,每个节点可以周期性地发出提议。所述SLA系统可以使用先前接收的提议来评估稍后接收的SLA规范。
[0108] 在步骤406,所述SLA系统针对每个提议确定为所述服务描述调度所述网络SLA相关联的网络资源。在一个实施例中,所述SLA系统可以确定互连Pod之间的距离(例如,跳数)。所述SLA系统可以针对一项提议评估所有互连Pod之间的路径。在一个实施例中,所述SLA系统可以确定属于互连Pod之间路径的全部所述链路的剩余容量。在一个实施例中,所述SLA系统在步骤406生成提议列表。可以对所述列表进行排序,以指示与针对每项提议实现所述网络SLA相关联的总体网络成本。在所述列表上,可以将成本较低的提议或节点置于较高位置,以便在其它提议之前进行考虑。
[0109] 在步骤408,所述CMS基于与每项提议相关联的所述网络资源来调度云资源,以便部署在所述网络中的节点中。在一个实施例中,所述CMS从所述SLA系统302接收所述有序列表。所述CMS使用所述列表来确定所述云服务的部署位置,其中所述列表指示与用于实现所述SLA的每项提议相关联的成本。例如,所述CMS可以结合计算SLA利用所述列表来确定用于实例化所述请求的服务的所述节点。
[0110] 在一个实施例中,所述SLA调度基于具有所述网络SLA最多可用资源的节点完成。在一个实施例中,SLA调度基于具有能够满足所述网络SLA要求的最少资源的节点完成。可以使用复杂的计算和/或批处理。在一个示例中,在所述具有最多可用资源的节点上部署Pod;如果对于需要更多资源的Pod,需要具有更多资源的节点,则可以随后将所述Pod移至另一个具有更少资源的节点。
[0111] 在一个实施例中,步骤408包括在具有所述Pod部署的所述节点中部署一个或多个服务质量(quality of service,简称QoS)规则。所述QoS规则可以包括:部署用于跨一个或多个Pod执行的规则;部署用于跨一台或多台虚拟机执行的规则;和/或部署用于跨一台或多台物理机执行的规则。
[0112] 图9是描述确定与针对从节点接收的提议调度网络SLA相关联的网络资源的确定过程420的流程图。在一个示例中,过程420可以在过程400的步骤406使用,以确定与提议相关联的网络资源。过程420描述使用带宽信息基于网络资源要求生成提议的有序列表。在一个实施例中,过程420可以由SLA管理系统302执行。
[0113] 在步骤422,所述SLA系统针对多个提议,确定与来自所述租户请求的所述SLA规范相关联的Pod部署之间的距离。所述距离可以确定为部署实体之间的跳数,在所述部署实体中,针对所述提议部署所述Pod。
[0114] 在步骤424,所述SLA系统访问每个节点的所述提议中报告的所述初始带宽。可以在所述节点中使用各种技术来确定初始带宽。在一个实施例中,所述初始带宽是所述节点中当前可用的带宽量。可以使用基于CPU使用率的估计和其它技术。
[0115] 在步骤426,所述SLA系统从每项提议的所述初始带宽中扣除所述SLA的所述带宽要求。对于每项提议,所述SLA系统可以扣除所述SLA为部署在所述节点中的Pod预留的带宽。
[0116] 在步骤428,基于所述网络拓扑,针对每个节点执行时延估计。在一个实施例中,所述时延估计由每个节点上的所述SLA代理执行。在另一实施例中,所述SLA管理系统302在步骤428执行所述时延估计。步骤428是可选的。在一个实施例中,所述系统仅基于带宽对所述提议执行所述网络资源分析。
[0117] 在步骤430,针对每个节点,执行丢包率估计。所述丢包率估计可以由每个节点上的所述SLA代理执行,也可以由所述SLA管理系统302执行。例如,所述丢包率估计是可选的,其中仅带宽用于调度所述云资源。
[0118] 在步骤432,所述SLA系统302基于所述网络资源分析生成所述提议的有序列表。在一个示例中,所述SLA系统基于所述网络资源分析,针对每项提议或所述提议的子集生成评分。所述评分可以基于与所述提议相关联的Pod部署之间的所述距离和成本,其中所述成本表示使用所述提议满足所述网络SLA要求所需的网络容量。使用较少资源或具有布置位置更近的Pod部署的提议的评分可能较高,因此,这些提议被置于评分较低的提议之上。从所述SLA系统向所述CMS提供所述有序列表,用于在所述数据中心调度所述云资源。
[0119] 图10描述了图430,所述图430示出了节点上的带宽使用率作为CPU使用率的函数。图10示出随着CPU使用率的增加,带宽使用率通常会增加。因此,可以基于所述计算节点上的CPU使用量来估计特定计算节点上的所述带宽使用率。在一个示例中,可以基于节点上的所述CPU使用量来确定与所述节点相关联的所述初始带宽。可以确定所述CPU使用量并使其与带宽量相关。然后,可以确定所述节点上的所述剩余带宽,在从所述节点接收的提议中将其作为所述初始带宽报告至所述SLA系统。在一个实施例中,根据计算节点上的CPU使用率确定在步骤424访问的所述初始带宽。
[0120] 图11A和图11B是数据中心的一部分的框图,示出了数据中心中节点之间的带宽的示例。在图11A中,两个节点114与交换机158进行通信。每个节点中部署三个Pod204。在每个节点内,所述Pod与耦合至接口156的交换机154进行通信。每个节点上的接口耦合至交换机158。图11B是所述数据中心的另一表示,描述了耦合至交换机154的所述Pod 204,所述交换机154转而耦合至交换机158。交换机158耦合至高层交换机159。图11B描述了所述节点之间所述链路的所述带宽容量。Pod 204和交换机154之间链路的容量为10Gbps。交换机154和交换机158之间链路的容量为40Gbps,交换机158和交换机159之间的链路也是如此。
[0121] 如图11B所示,典型基础设施在网络中的级别越低,所具有的带宽容量越低。因此,一个实施例包括分析Pod部署的近节点网络资源,同时忽略远节点资源。这样,可以简化针对提议的网络资源分析以满足网络SLA要求,从而加快所述部署过程。在一个实施例中,在过程420的步骤426评估所述近节点资源,以便从每个节点报告的所述初始带宽中扣除所述SLA预留的所述带宽。
[0122] 图12A至图12C是数据中心110的一部分的框图,描述了与所述SLA规范相关联的节点上的带宽量或提议的确定过程。在步骤426,可以使用图12A至图12C中描述的过程来确定与所述SLA规范相关联的带宽量,以从提议中的节点报告的所述初始带宽中扣除。所述过程可以用作针对每项提议计算每个节点上的剩余容量的一部分。在一个示例中,所述过程可以由所述SLA系统302执行。
[0123] 图12A描述了云资源部署的客户或服务规范的示例。图12A继续图3中示出的示例。所述服务规范规定生成两个Pod组,第一Pod组具有四个Pod,所述第二Pod组具有两个Pod。
所述Pod组中的每个Pod实例化所述相同的计算服务,例如Web服务器。在一个示例中,Pod组
202-1包括提供Web服务的四个Web Pod 204-1,Pod组202-2包括提供数据库服务的两个数据库Pod 204-2。
[0124] 在图12A的示例中,所述租户请求包括网络SLA,所述网络SLA规定所述第一Pod组的每个Pod和所述第二Pod组的每个Pod之间所述路径的最小带宽为5Mbps。如图所示,将提供总共八条路径,以将一组的所述四个Pod与另一组的所述两个Pod互连。
[0125] 所述SLA管理系统302将来自所述网络SLA的链路要求转换为节点要求,所述节点要求可用于针对提议扣除每个节点上所需的带宽。图12B描述了第一步骤,在所述第一步骤,所述SLA系统302聚合每个Pod的所述链路,以将所述链路要求转换为每个Pod的Pod要求。在该示例中,组202-1的每个Pod包括10Mbps聚合带宽要求。所述聚合带宽要求通过获取包括所述Pod在内的每个链路要求的和确定。组202-2的每个Pod包括20Mbps聚合带宽要求。
[0126] 图12C描述了第二步骤,在所述第二步骤,所述SLA系统302聚合来自每个Pod的链路,以将所述Pod要求转换为节点要求。在该示例中,在第一节点114-1上定位或调度Pod组202-1的两个Pod,在第二节点114-2上调度两个Pod。在第三节点114-3上放置Pod组202-2的两个Pod。SLA系统302将节点114-1和114-2上的所述Pod带宽要求聚合为每个节点20Mbps的节点要求。SLA系统302将节点114-3上的所述Pod带宽要求聚合为40Mbps的节点要求。
[0127] 所述SLA系统可以使用所述节点带宽要求来确定与每项提议的每个节点相关联的带宽。例如,所述SLA系统可以从提议中的节点报告的所述初始带宽中扣除所述节点的所述聚合带宽要求,以确定与每项提议相关联的每个节点的剩余容量。
[0128] 图13是描述为响应在数据中心部署云服务的租户请求中可能接收到的网络SLA生成提议的有序列表的过程440的流程图。在一个实施例中,过程440可以作为过程420的一部分来执行,例如以便在步骤432生成提议的所述有序列表。在一个示例中,过程440由SLA系统302执行。
[0129] 所述SLA系统访问从多个节点接收的多项提议。所述提议可以周期性地接收,也可以为响应具体租户请求而接收。在步骤450,所述SLA系统针对每项提议确定与所述网络SLA相关联的互连Pod或实例之间的距离。在一个示例中,所述SLA系统针对每项提议计算所述网络SLA中涉及的互连实例对之间的总距离。在一个实施例中,在步骤450,所述计算使用距离矩阵354。在一个示例中,所述计算的复杂性为O(N x P),其中,P是对等实例的数目。
[0130] 在步骤452,所述SLA系统根据针对每项提议计算的所述距离对所述提议进行排序。在一个示例中,所述SLA系统将所述提议排序成列表,使得最短距离提议首先出现在所述列表中。这使得能够先于具有较差位置(较长距离)的提议评估具有较佳位置(较短距离)的提议。在一个示例中,给定N项提议,所述排序操作的复杂性为O(N x logN)。
[0131] 在步骤454,所述SLA系统从所述列表中选择所述第一提议,以选择所述具有最短距离的提议。在步骤456,所述SLA系统确定与步骤456的所述提议相关联的所述网络资源。在一个示例中,所述SLA系统针对所述提议确定互连Pod或实例之间的所述网络资源。
[0132] 在一个示例中,所述SLA系统参考实例配置管理器来确定与所述SLA策略有关的实例。所述SLA系统将原始评估请求转换为相应的Pod间需求。所述Pod间需求可以确定为部署实体之间的所述带宽要求。
[0133] 在步骤458,所述SLA系统确定所述提议是否具有足够的网络资源来满足所述网络SLA要求。在一个实施例中,所述SLA系统访问所述网络资源矩阵352以确定所述提议是否具有足够的网络资源。所述SLA系统可以使用所述矩阵来过滤没有足够网络资源的提议。每个部署实体或Pod可以O(1)复杂性进行过滤。
[0134] 如果所述提议没有足够的网络资源,所述SLA系统在步骤460跳过或丢弃所述提议,然后转到步骤454,选择具有最短距离的下一项提议。如果没有剩余提议,所述SLA系统可以确定所述网络容量不足以满足所述网络SLA要求。
[0135] 如果提议具有足够的网络资源,则在步骤462对所述提议进行评估。在一个示例中,步骤462包括:针对所述提议,评估所述网络SLA的每个相关实例对之间的路径。对于每个Pod或部署实体,所述SLA系统在执行所述提议的所述实例之后,确定每条链路的所述剩余容量。所述SLA系统可以确定所述提议的所述最拥堵链路。然后,在步骤464,将所述提议添加至潜在提议列表。在一个示例中,将每项提议的所述最拥堵链路的值的指示包含在所述列表中。
[0136] 在步骤466,所述SLA系统确定所述列表中的提议的数目是否等于预先确定的数目C。步骤466是可选的,因为所有提议都可以在一个实施例中进行评估。如果所述提议数目不等于C,所述SLA系统将返回到步骤454,选择所述具有最短距离的下一项提议。
[0137] 如果所述提议数目等于C,所述SLA系统将基于为每项提议中最拥堵链路确定的值对所述提议进行排序。具有最不拥堵链路的提议首先出现在所述列表上,以指示其在服务所述网络SLA方面的高适用性和效率。在一个实施例中,所述SLA系统用于返回最多C项提议,以提供更快的响应时间。根据距离对所述提议进行排序,然后基于剩余容量对预先确定数目的提议进行排序,可以使用高效过程。所述提议的有序列表可以从所述SLA系统提供给所述CMS。
[0138] 图14是描述一个实施例提供的第一模式的Pod部署的过程500的流程图。图14的所述过程500可以称为主动模式,因为所述CMS在租户请求的初始Pod部署中使用可用网络资源。所述CMS参考所述SLA系统来确定所述网络服务所述网络SLA的能力。基于节点服务所述网络SLA的容量,在所述数据中心中选择所述节点。
[0139] 在步骤502,所述数据中心管理系统接收部署一个或多个Pod组的租户请求。所述租户请求可以包括服务规范、计算SLA和/或网络SLA。在步骤504,所述系统访问第一Pod组的Pod组规范。在步骤506,所述系统定义所述Pod组及其Pod。在步骤508中,如果定义了多个Pod组,所述系统将在Pod组之间添加链路。在步骤510,所述系统定义所述Pod组之间的所述SLA。在一个实施例中,步骤502由网络管理系统执行,步骤504至510由云管理系统执行。其它组件可以执行这些功能。
[0140] 在步骤512,所述系统基于所述网络SLA调度Pod的部署。在一个实施例中,步骤512由图8的过程400执行。在一个实施例中,所述CMS向所述SLA系统发出请求,以生成所述网络SLA的提议列表。所述CMS从所述SLA系统接收所述列表并用其确定用于部署Pod的节点以满足所述网络SLA要求。
[0141] 在步骤514中,所述系统确定是否已定义全部所述Pod组。如果要定义附加Pod组,则在步骤504继续所述过程。如果已定义所有Pod组,则所述过程继续进行步骤516。在一个示例中,步骤516由SLA监控器318和监控代理350执行。每个节点上的监控代理监控带宽、时延、丢包率等以确定是否满足所述网络SLA要求。如果不满足所述SLA要求,所述系统尝试在步骤520重定位Pod,以试图遵守所述网络SLA规范。如果不满足所述网络SLA要求,可以生成报告并且可能终止所述服务。
[0142] 图15是描述一个实施例提供的第二模式的Pod部署的过程550的流程图。图15的所述过程550可以称为被动模式,因为所述CMS在确定与满足所述网络SLA要求相关联的所述网络资源之前针对所述服务规范部署所述Pod组。部署所述Pod之后,所述系统将监控所述部署并进行修改以满足所述网络SLA要求(若需要)。
[0143] 在步骤552,所述数据中心管理系统接收部署一个或多个Pod组的租户请求。所述租户请求可以包括服务规范、计算SLA和/或网络SLA。在步骤504,所述系统访问第一Pod组的Pod组规范。在步骤506,所述系统定义所述Pod组及其Pod。在步骤558,所述CMS部署所述Pod组的所述Pod。步骤558可以包括评估所述数据中心中的节点,以满足指定诸如CPU等计算机资源的计算SLA。
[0144] 在步骤560,所述SLA系统确定是否有所述租户请求的要部署的附加Pod组。如果剩余附加Pod组,所述过程将返回到步骤554,以访问下一Pod组的规范。
[0145] 所有Pod组均已部署完成之后,所述系统将监控所述网络,以确定在步骤564是否满足所述网络SLA要求。如果不满足所述SLA要求,所述系统尝试在步骤566重定位Pod,以试图遵守所述网络SLA规范。如果不满足所述网络SLA要求,可以生成报告并且终止所述服务。
[0146] 在一个实施例中,所述SLA系统提供了一种混合方法,其中使用所述被动模式和所述主动模式。可以建立具有最低可用资源等级的节点的阈值数目。当具有可用资源的节点的数目超出所述阈值时,使用所述被动模式,以提高部署速度。当所述节点数目低于所述阈值时,使用所述主动模式,以降低将需要重新部署的可能性。
[0147] 图16是描述一个实施例提供的重定位Pod的过程570的流程图。在一个示例中,可以执行过程570以响应确定未满足租户部署的网络SLA规范。在一个实施例中,过程570由SLA管理系统302执行。在一个实施例中,过程570用于针对网络SLA生成一个实例重定位方案。在另一实施例中,所述SLA系统尝试生成多个实例重定位方案,以适应所述网络SLA。
[0148] 在步骤572,所述系统选择提议。对于每项提议,所述系统假设与所述提议相对应的节点上可以容纳目标实例。在步骤574,所述系统基于根据所述网络SLA将所述目标实例部署在所述节点中来计算所有链路的所述带宽容量。使用与所述提议相关的链路利用率,所述系统计算所述提议超出的总链路容量。所述提议的所述超出的总链路容量指示在使用所述提议的条件下要释放的网络资源量。计算所述超出的链路容量之后,所述系统在步骤577确定是否有要评估的附加提议。如果要评估附加提议,在步骤572,过程570继续进行以选择所述下一项提议。
[0149] 一旦已针对超出的链路容量计算所有链路,则在步骤578根据每项提议的要释放的所述网络资源量对所述提议进行排序。需要最少要释放资源量的提议置于所述列表的顶部,以便在后续步骤中首先考虑所述提议。因此,所述系统在评估具有较高资源释放要求的提议之前,评估具有较低资源释放要求的提议。
[0150] 对所述提议进行排序之后,所述系统在步骤580从所述列表顶部选择所述提议。对于每项提议,所述系统尝试生成重定位方案。在一个实施例中,所述系统可以迭代所述提议,因为每个重定位方案可以包括多个实例的替换。
[0151] 为了检查提议的所述重定位方案,在步骤582,所述系统执行所述网络SLA之后检查所有链路的容量。所述系统获取过度利用的链路。在步骤584,所述系统尝试重定位一个或多个实例以释放所述提议的网络资源(例如,带宽)。在一个示例中,所述系统对所述过度利用的链路进行迭代。所述系统获取全部实例对,所述全部实例对的互连链路与所述过度利用的链路重叠。对于每条过度利用的链路,所述相应的实例对可以根据其对链路拥堵的贡献程度按降序进行排序(贡献较大的对位于所述列表顶部)。所述系统创始重定位所述实例对,这样就不会因为所述重定位而出现新的过度利用链路,同时使得当前过度利用链路不会变得更加拥堵。
[0152] 在步骤586,所述系统检查是否已为全部所述过度利用链路释放足够的容量。如果释放了所述足够的容量,则在步骤588生成重定位方案。如果没有释放足够的容量,则在步骤580继续进行所述下一项提议。如果所述系统未能生成适用于所有提议的方案,则可能确定无法满足所述网络SLA要求。在一个示例中,可以限制迭代的提议的数目和可以配置的方案的最大数目,以提供更快的响应时间。
[0153] 图17是能够用于实现各种实施例的计算系统1300的高层次框图。在一个示例中,计算系统1300是网络系统1300。特定设备可利用所有所示的组件或仅利用所述组件的子集,且设备之间的集成程度可能不同。此外,设备可以包含多个组件实例,例如多个处理单元、处理器、存储器、发射器、接收器等。
[0154] 所述网络系统可以包括处理单元1301,其配备有一个或多个输入/输出设备,例如网络接口、存储接口等。所述处理单元1301可以包括与总线相连的中央处理器(central processing unit,简称CPU)1310、存储器1320、大容量存储设备1330和I/O接口1360。所述总线可以是任意类型的几种总线架构中的一种或多种,包括存储器总线或存储器控制器、外围总线等。处理单元1301可以用于实现本文描述的任何计算设备,例如远程设备160和/或主机112。
[0155] 所述CPU 1310可以包括任意类型的电子数据处理器。所述CPU 1310可以用于实现本文描述的任意方案,例如图4、8、11、12和13中所示的使用实施例中描述的任何一个步骤或其组合的过程。所述存储器1320可以包括任意类型的系统存储器,例如静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)或其组合等。在一实施例中,所述存储器1320可以包含在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。在实施例中,所述存储器1320是非瞬时的。所述大容量存储设备1330可以包括任意类型的存储设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线访问。所述大容量存储设备1330可以包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等。
[0156] 所述处理单元1301还包括一个或多个网络接口1350,所述网络接口1350可以包括以太网电缆等有线链路,和/或到接入节点或者一个或多个网络1380的无线链路。所述网络接口1350允许所述处理单元1301通过所述网络1380与远程单元通信。例如,所述网络接口1350可以通过一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一实施例中,所述处理单元1301耦合至局域网或广域网上以用于数据处理以及与诸如其它处理单元、互联网、远程存储设施等远程设备通信。在一个实施例中,所述网络接口
1350可以用于接收和/或发送ICN中的兴趣包和/或数据包。这里,术语“网络接口”将被理解为包括端口。
[0157] 所述处理单元1301可以用于实现本文描述的任意方案,例如图8、9、13、14、15或16中所示的使用实施例中描述的任何一个步骤或其组合的过程400、420、440、500、550和570。
[0158] 图17中示出的计算系统中描述的组件通常是在适于与本文描述的技术结合使用的计算系统中所发现的组件,意在表示本领域所熟知的广泛类别的此类计算机组件。可以使用许多不同的总线配置、网络平台和操作系统。
[0159] 在一示例性实施例中,所述计算系统1300包括:带宽接收模块,用于接收与在计算数据中心部署多个计算服务实例相关联的带宽要求;指示接收模块,用于从所述计算数据中心中的多个节点接收所述多个节点处可用的初始带宽的多个指示;距离确定模块,用于针对所述多个节点,确定所述多个节点的互连实例之间的距离;链路容量确定模块,用于针对所述多个节点中的至少一部分节点,基于所述初始带宽指示和所述带宽要求,确定互连实例之间的链路的剩余容量;实例部署模块,用于基于互连实例之间的所述距离和所述互连实例之间的链路的所述剩余容量,在所述节点集的子集中部署所述多个实例。在一些实施例中,所述计算系统1300可以包括用于执行所述实施例中描述的步骤的任一或组合的其它或者附加模块。此外,如任一附图中所示或在任一项权利要求中所描述的方法的任何附加或可替代实施例或方面预期也包括类似模块。
[0160] 本文描述的技术可以使用硬件、软件或硬件和软件的组合来实现。所述使用的软件存储在一个或多个上述处理器可读存储设备(例如,存储器82、大容量存储器84或便携式存储器92)上,以编程一个或多个所述处理器以执行本文描述的功能。所述处理器可读存储设备可以包括计算机可读介质,例如易失性介质、非易失性介质、可移动介质和不可移动介质。例如但不限于,计算机可读介质可以包括计算机可读存储介质和通信介质。计算机可读存储介质为非瞬时性介质,可以在任何方法或技术中实现,用以存储计算机可读指令、数据结构、程序模块或其它数据等信息。计算机可读存储介质的示例包括RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能光盘(digital versatile disc,简称DVD)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或能用来存储所需信息和计算机能够访问的任何其它介质。通常,通信介质体现计算机可读指令、数据结构、程序模块或例如载波或其它传输机制等调制数据信号中的其它数据,并包括任何信息传递介质。术语“调制数据信号”是指具有该信号特点集合中的一个或多个特点的信号或按该特点集合进行变化从而对信号中的信息进行编码的信号。例如但不限于,通信介质包括有线介质,如有线网或直接有线连接,以及无线介质,如RF和其它无线介质。上述各项的组合也包含在计算机可读介质的范围内。
[0161] 所述非瞬时性计算机可读介质包括所有类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,具体不包括信号。应当理解的是,软件可以安装在路由器、客户端或其它网络设备上并可以随路由器、客户端或其它网络设备一同出售。或者,可以获取所述软件并加载到设备中,包括通过光盘介质或以网络或分发系统的任何方式获取所述软件,例如,包括从软件开发者所有的服务器或从非软件开发者所有但为其所用的服务器获取所述软件。例如,所述软件可以存储在服务器上以便通过互联网分发。
[0162] 在可替代实施例中,部分或全部所述软件可以被专用硬件所取代,所述专用硬件包括定制集成电路阵列、FPGA、PLD和专用计算机。在一个实施例中,实现一个或多个实施例的软件(存储在存储设备上)用于编程一个或多个处理器。所述一个或多个处理器可以与一个或多个计算机可读介质/存储设备、外围和/或通信接口进行通信。在可替代实施例中,部分或全部所述软件可以被专用硬件所取代,所述专用硬件包括定制集成电路、门阵列、FPGA、PLD和专用计算机。
[0163] 非瞬时性计算机可读介质包括所有类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,具体不包括信号。应当理解的是,软件可以安装在所述设备上并可以随所述设备一同出售。或者,可以获取所述软件并加载到所述_设备中,包括通过光盘介质或以网络或分发系统的任何方式获取所述软件,例如,包括从软件开发者所有的服务器或从非软件开发者所有但为其所用的服务器获取所述软件。例如,所述软件可以存储在服务器上以便通过互联网分发。
[0164] 上述详细描述只是为了说明的目的,其并非旨在穷举或限制发明主题为所公开的精确形式。根据上述教导,许多修改和变更是可能的。选出和描述的各个实施例的目的是为了更好地解释公开技术的原理和其实际应用,因而使本领域技术人员能够更好利用各个实施例的技术和适合预期特定用途的各种变更。本发明的范围意图由所附权利要求书界定。
[0165] 结合各种实施例描述了本发明。然而,通过研究附图、本发明以及所附权利要求书,能够理解并获得公开实施例的其它变形和修改;此类变形和修改将被解释为涵盖在所附权利要求书中。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“a”或者“an”不排除多个。单个处理器或其它单元可满足权利要求中描述的几项的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。计算机程序可存储或分发到合适的介质上,例如与其它硬件一起或者作为其它硬件的部分提供的光存储介质或者固态介质,还可以以其它形式例如通过互联网或者其它有线或无线电信系统分发。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈