掌桥专利:专业的专利平台
掌桥专利
首页

用于虚拟核心的文件处理

文献发布时间:2024-04-29 00:47:01


用于虚拟核心的文件处理

相关申请的交叉引用

本申请要求2022年9月8日提交的美国临时专利申请序列号63/241,685的权益。

背景技术

本申请的主题涉及用于vCore的文件处理。

有线电视(CATV)服务从通常被称为“头端”的中央递送单元向大批客户(例如,订户)提供内容,该中央递送单元通过包括混合光纤同轴(HFC)电缆厂的接入网(包括相关部件(节点、放大器和分路口))将内容频道从此中央递送单元分配给其客户。然而,现代有线电视(CATV)服务网络不仅向客户提供诸如电视频道和音乐频道的媒体内容,还提供诸如互联网服务、视频点播、诸如VoIP的电话服务、家庭自动化/安全等的大量数字通信服务。这些数字通信服务继而不仅需要在从头端通过HFC(通常形成分支网络)到客户的下游方向上进行通信,还需要在通常通过HFC网络从客户到头端的上游方向上进行通信。

为此,CATV头端历来包括单独的电缆调制解调器终端系统(CMTS)以及视频头端系统,所述电缆调制解调器终端系统用于向有线电视客户提供高速数据服务,例如有线互联网、互联网语音协议等,所述视频头端系统用于提供视频服务,例如广播视频和视频点播(VOD)。通常,CMTS将包括以太网接口(或其它更传统的高速数据接口)以及射频(RF)接口,使得来自互联网的流量可以通过以太网接口、通过CMTS被路由(或桥接),然后到达连接到有线电视公司的混合光纤同轴(HFC)系统的RF接口上。下游流量从CMTS递送到客户家中的电缆调制解调器和/或机顶盒,而上游流量从客户家中的电缆调制解调器和/或机顶盒递送到CMTS。类似地,视频头端系统将视频提供给机顶盒、具有视频解密卡的电视,或能够解调和解密传入的加密视频服务的其它装置。许多现代CATV系统已经在单一平台中将CMTS的功能与视频递送系统(例如,EdgeQAM-正交振幅调制)组合在一起,所述单一平台通常称为集成CMTS(例如,集成融合有线接入平台(CCAP))-视频服务被准备并提供给I-CCAP,该I-CCAP然后将视频QAM调制到适当的频率上。通常被称为分布式CMTS(例如,分布式融合有线接入平台)的另外其它现代CATV系统可以包括远程PHY(或R-PHY),其通过将传统的集成CCAP的物理层(PHY)推送到网络的光纤节点来重定位该物理层(R-MAC PHY将MAC和PHY两者都重定位到网络的节点)。因此,虽然CCAP中的核心执行较高层处理,但远程节点中的R-PHY装置将从核心发送的下游数据从数字转换成模拟以在射频上发送到电缆调制解调器和/或机顶盒,并且将从电缆调制解调器和/或机顶盒发送的上游射频数据从模拟转换成数字格式以通过光学方式传输到核心。

附图说明

为了更好地理解本发明,并且为了展示如何实施本发明,现在将以举例的方式参考附图,在附图中:

图1示出了集成电缆调制解调器终端系统。

图2示出了分布式电缆调制解调器终端系统。

图3示出了分层网络处理堆栈。

图4示出了具有资源分配管理器和容器编排系统的服务器系统。

图5示出了具有容器和容器编排系统的服务器系统。

图6示出了具有资源分配管理器、容器编排系统和监测系统的服务器系统。

图7示出了监测系统、vCore、云适配器和外部服务器。

图8示出了vCore PNM文件处理。

图9示出了其它文件的vCore访问。

图10示出了从vCore下载文件。

图11示出了将文件上传到vCore。

具体实施方式

参考图1,集成CMTS(例如,集成融合有线接入平台(CCAP))100可以包括通常以分组化数据的形式经由互联网(或其它网络)发送和接收的数据110。集成CMTS100还可以从运营商视频聚合系统接收下游视频120,通常以分组化数据的形式。举例来说,广播视频通常从卫星递送系统获得,并且被预处理以通过CCAP或视频头端系统递送至订户。集成CMTS100接收并处理接收的数据110和下游视频120。CMTS130可以通过RF分配网络将下游数据140和下游视频150传输到客户的电缆调制解调器和/或机顶盒160,所述RF分配网络可以包括其它装置,例如放大器和分路器。CMTS130可以通过网络从客户的电缆调制解调器和/或机顶盒160接收上游数据170,所述网络可以包括其它装置,例如放大器和分路器。CMTS130可以包括实现其所需能力的多个装置。

参考图2,由于不断增加的带宽需求、用于集成CMTS的有限设施空间和功耗考虑,期望包括分布式电缆调制解调器终端系统(D-CMTS)200(例如,分布式融合有线接入平台(CCAP))。一般而言,CMTS专注于数据服务,而CCAP还包括广播视频服务。D-CMTS200使用网络分组化数据将I-CMTS100的部分功能向下游分配到诸如光纤节点的远程位置。示范性D-CMTS200可以包括远程PHY架构,其中远程PHY(R-PHY)优选地是位于光纤和同轴电缆的接合处的光学节点装置。一般来说,R-PHY常常包括系统的一部分的PHY层。D-CMTS200可以包括D-CMTS230(例如,核心),所述D-CMTS包括通常以分组化数据的形式经由互联网(或其它网络)发送和接收的数据210。D-CMTS200还可以从运营商视频聚合系统接收下游视频220,通常以分组化数据的形式。D-CMTS230接收并处理接收的数据210和下游视频220。远程光纤节点280优选地包括远程PHY装置290。远程PHY装置290可以通过网络将下游数据240和下游视频250传输到客户的电缆调制解调器和/或机顶盒260,所述网络可以包括其它装置,例如放大器和分路器。远程PHY装置290可以通过网络从客户的电缆调制解调器和/或机顶盒260接收上游数据270,所述网络可以包括其它装置,例如放大器和分路器。远程PHY装置290可以包括实现其所需能力的多个装置。远程PHY装置290主要包括与PHY相关的电路(例如,下游QAM调制器、上游QAM解调器),以及使用网络分组化数据连接到D-CMTS230的伪线逻辑。远程PHY装置290和D-CMTS230可以包括数据和/或视频互连,例如下游数据、下游视频和上游数据295。应当注意,在一些实施例中,视频流量可以直接到达远程物理装置,从而绕过D-CMTS230。在一些情况下,可以在头端处提供远程PHY和/或远程MAC PHY功能。

举例来说,远程PHY装置290可以将从D-CMTS230接收的下游DOCSIS(即,电缆数据业务接口规范)数据(例如,DOCSIS1.0、1.1、2.0、3.0、3.1和4.0,其中的每一者都通过引用全文并入本文中)、视频数据、带外信号转换成模拟的,以通过RF或模拟光学系统传输。举例来说,远程PHY装置290可以将从诸如RF或线性光学系统的模拟介质接收的上游DOCSIS和带外信号转换成数字的,以传输到D-CMTS230。可以看到,取决于特定配置,R-PHY可以将DOCSIS MAC和/或PHY层的全部或一部分向下移动到光纤节点。

I-CMTS装置通常是定制的硬件装置,由单个底盘组成,包括一系列插槽,每个插槽接收配备处理器、存储器以及上面支持的其他计算和网络功能的相应线卡。线卡中的每一个包括相同的硬件配置、处理能力和软件。每个线卡都执行I-CMTS装置的功能,包括MAC和PHY功能。随着系统不断扩展以支持额外客户,系统还包括了额外线卡,以扩展系统的处理能力。不幸的是,实时动态地扩展线卡的数量以满足特定网络的需求是有问题的。

基于微处理器的商用现成(COTS)服务器平台的计算能力正在增加,而此类系统的费用随着时间在降低。对于此类系统,如果需要,可以使用一个或多个COTS服务器(在本文中通常称为虚拟机)对计算系统进行虚拟化和操作。使用在COTS服务器和/或虚拟机上运行的容器技术,COTS服务器可以仅使用单个操作系统操作。然后,可以使用软件容器隔离每个虚拟化应用程序,使得虚拟化应用程序可能看不到并且不知道在同一台机器上运行的其它虚拟化应用程序。通常,每个COTS服务器包括一个或多个Intel/AMD处理器(或其它处理装置),其具有运行操作系统软件的相关联存储器和网络能力。通常,COTS服务器包括框架和操作系统,其中用户应用程序在此类框架上运行,并且操作系统是从实际操作系统抽象出来的。每个虚拟机都可以作为一个或多个在COTS服务器上运行的软件应用程序被实例化和操作。多个软件容器可以在相同的COTS服务器和/或相同的虚拟机上被实例化和操作。多个COTS服务器通常包括在一个或多个数据中心中,每个数据中心都彼此通信。多个COTS服务器可以位于不同地理区域以提供地理冗余。在一些实施例中,容器可以包括与虚拟机相同的功能,或反之亦然。在一些实施例中,通常称为容器组的容器化部件的分组可以呈虚拟机的形式。

在一些实施例中,COTS服务器可以是“裸金属”服务器,其上通常包括操作系统以及驱动程序,以及容器编排系统的一部分。然后,一个或多个容器被添加到“裸金属”服务器中,同时由容器编排系统管理。本文中所描述的容器编排系统可以根据需要如同虚拟机编排系统那样工作,并且被称为虚拟机编排系统。在一些实施例中,“裸金属”服务器可以与运行于其上的操作系统上的容器组,连同驱动程序以及容器编排系统一起使用。在一些实施例中,可以从COTS服务器省略虚拟机。

包括在线卡和/或远程PHY装置上的选定软件过程可以在“裸金属”服务器和/或虚拟机上运行,包括在COTS服务器上运行的软件容器,包括“活动”和“备份”软件过程两者。由此类“裸金属”服务器和/或虚拟机提供的功能可以包括较高级别功能,例如,分组处理,所述分组处理包括路由互联网分组配置、通过伪线操作的第2层虚拟专用网络,以及多协议标签交换路由。由此类“裸金属”服务器和/或虚拟机提供的功能可以包括DOCSIS功能,例如DOCSIS MAC和包封、信道配置、服务流管理、服务质量和速率限制、调度和加密。由此类“裸金属”服务器和/或虚拟机提供的功能可以包括视频处理,例如EQAM和MPEG处理。

每个COTS服务器和/或虚拟机和/或软件容器可以包含不同的硬件配置文件和/或框架。例如,COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器的每者都可以在不同的处理器类型、每个处理器的不同数量的处理核心、每个处理器类型的不同量存储器、每个处理核心的不同量存储器、不同的加密能力、不同量的可用处理器外存储器、不同的存储器带宽(DDR)速度,以及各种类型和能力的网络接口,例如以太网卡上执行。以此方式,不同的COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器可以具有取决于特定硬件而不同的处理能力。COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器可以包含不同的软件配置文件。例如,COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器的每者可以包括运行于其上的不同软件操作系统和/或其它服务,在本文中一般称为框架。以此方式,不同的COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器可以具有根据特定软件配置文件而变化的不同软件处理能力。

参考图3,为了进行数据处理和跨网络传输数据,硬件和/或软件的架构可以多个不同平面的形式配置,每个平面执行不同的功能集合。在相关部分中,分层架构可以包括不同的平面,例如管理平面300、控制平面310、数据平面320和交换织构330,以实现数据分组的发送和接收。

例如,管理平面300通常可以被认为是用户交互或以其它方式被认为是正在运行的一般软件应用程序。管理平面通常配置、监测并提供为网络堆栈的所有层和系统的其他部分服务的管理和配置。

例如,控制平面310是指向交换功能的部件,交换功能常常包括系统配置、管理,以及路由表信息和转发信息的交换。通常,路由表信息交换的执行相对不频繁。控制平面310的路由控制器与其它交换机交换拓扑信息,并基于路由协议构建路由表。控制平面还可以生成用于转发引擎的转发表。一般来说,控制平面可以被认为是作出哪里发送流量的决策的层。由于未对每个到达的个体分组执行控制功能,因此它们往往不具有严格的速度限制。

例如,数据平面320解析分组标头用于进行交换,管理服务质量、过滤、介质访问控制、封装和/或排队。一般而言,数据平面承载数据流量,在电缆分配网络的情况下,数据流量可能很大。一般来说,数据平面可以被认为是主要通过交换织构根据控制平面逻辑沿着通往选定目的地的路径向下一跳转发流量的层。数据平面往往具有严格的速度限制,因为它正在每个到达的个体分组上执行功能。

例如,交换织构330提供网络拓扑,以经由一个或多个网络交换机互连网络节点。

随着系统不断扩展以支持额外客户,系统包括了附加的COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器,以扩展整个系统的处理能力。为了提供处理冗余,可以包括一个或多个附加的COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器,其被指定为“备份”,在检测到故障事件时交换用于“活动”过程。扩展COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器的数据平面320以为动态变化的处理需求服务应当以特定方式执行,以确保对数据分组进行足够快速的处理,并为数据分组的传输提供足够的带宽,确保它们不会以其他方式丢失。

期望将数据平面虚拟化,特别是COTS服务器和/或“裸金属”服务器上的远程PHY功能的一部分。以此方式,用于有线电视分配系统的MAC核心可以在COTS服务器和/或“裸金属”服务器上运行。通过本文引用,虚拟化远程PHY MAC核心在本文中可以被称为vCore实例。

参考图4,期望将平台作为服务并入,所述服务使用操作系统级虚拟化来以程序包递送软件,所述程序包通常被称为容器410。每个容器彼此隔离,并捆绑其自身的软件、库和配置文件。容器可以使用限定的信道彼此通信。一般而言,一个或多个应用程序及其从属项可能打包在可在COTS服务器和/或“裸金属”服务器和/或虚拟机上运行的虚拟容器中。这种容器化提高了应用程序运行的灵活性和可迁移性,例如现场COTS服务器、“裸金属”服务器、公共云COTS服务器、私有云COTS服务器或其他设备。由于每个容器相对较轻,单个COTS服务器和/或“裸金属”服务器和/或在COTS服务器和/或“裸金属”服务器上操作的虚拟机可以同时运行若干容器。另外,COTS服务器和/或“裸金属”服务器和/或虚拟机和/或容器可以分布在有线电视分配系统内。

COTS服务器和/或“裸金属”服务器和/或虚拟机可以包括容器编排系统420,以用于在一个或多个COTS服务器和/或“裸金属”服务器和/或虚拟机之间实现容器410的应用程序部署、缩放和管理的自动化。优选地,运行容器编排系统420的计算装置与为数据平面应用程序提供容器的计算装置是分开的。应理解,图4中所示的虚拟机可以省略,例如COTS B。容器的应用程序部署、缩放和管理可以包括跨越多个主机的集群,例如多个COTS服务器。容器的部署、维护和缩放可以基于底层系统能力的特性,例如不同的处理器类型、每个处理器的不同处理核心数量、每个处理器类型的不同量的存储器、每个处理核心的不同量存储器、不同量的可用处理器外存储器、不同的存储器带宽(DDR)速度、不同的框架和/或网络接口的不同类型和能力,例如以太网卡。此外,容器编排系统420可以分配不同量的底层系统能力,例如特定处理器类型、选定数量的处理器(例如,1个或更多个)、每个选定处理器的特定数量的处理核心、每个处理器类型的选定量存储器、每个处理核心的选定量存储器、选定量的可用处理器外存储器、选定框架和/或网络接口的选定量和/或类型,例如以太网卡。容器编排系统420的对应代理可以包括在每个COTS服务器(例如,COTS A和/或COTS B)上。

容器编排系统420可以包括容器化部件的分组,通常称为容器组430。容器组由共同位于同一COTS服务器和/或“裸金属”服务器和/或同一虚拟机上的一个或多个容器构成,它们可以共享同一COTS服务器和/或“裸金属”服务器和/或同一虚拟机的资源。每个容器组430优选地在集群内被分配唯一的容器组IP地址,这允许应用程序使用端口而没有冲突风险。在容器组430内,每个容器可以基于本地主机或其它寻址服务彼此参考,但一个容器组内的容器优选地没有直接寻址另一容器组内的另一容器的方式,因此,其优选地使用容器组IP地址或以其它方式寻址服务。

传统的D-CMTS RPHY核心可以实施为特别构建的既包括软件又包括硬件的器械,以实现期望的性能特性,例如确保数据分组传输的定时。由于其特性的固定性质,特别构建的器械不适合自动部署或自动缩放。与特别构建的器械相反,vCore实例优选地在运行在诸如Linux的操作系统顶部的COTS服务器和/或“裸金属”服务器上的软件中实现。vCore实例优选地以易于促进自动化技术的方式实施,例如生命周期管理、灵活缩放、健康监测、遥测等。不幸的是,在COTS服务器和/或“裸金属”服务器上运行vCore实例往往会导致一些挑战,主要与数据平面部件有关。主要挑战之一涉及确保及时有效地向网络提供数据,以实现电缆数据分配环境的实时特性。电缆数据分配环境包括对数据分组递送定时的实时限制,这在典型的基于web的环境或数据库环境中不存在。

每个vCore实例优选地在容器内实施,其中每个容器的大小(例如,尺度、存储器、CPU、分配等)转换成分配给特定vCore实例的服务器硬件和软件资源的量。分配给每个特定vCore实例的服务器硬件和软件资源的量优选地是vCore实例可以容易地向其提供RPHYMAC核心服务的客户组(例如,服务组)数量和/或客户数量的函数。例如,可以将有限量的服务器硬件和软件资源分配给具有有限数量的客户组和/或客户的特定vCore实例。例如,可以将很大量的服务器硬件和软件资源分配给具有很大数量的客户组和/或客户的特定vCore实例。例如,选定服务器硬件资源优选地以非重叠方式在不同vCore实例之间分配,使得每个vCore实例具有专用且可预测量的服务器硬件资源。例如,选定软件资源优选地以非重叠方式在不同vCore实例之间分配,使得每个vCore实例具有专用且可预测量的软件资源。

例如,优选分配给每个vCore实例(Cc)的CPU核心的数量可以是通过该vCore实例连接的总USSG(上游服务组——客户调制解调器和/或机顶盒组)(USsg)和总DSSG(下游服务组——客户调制解调器和/或机顶盒组)(DSsg)的函数。这可以表示为vCore:Cc=f

例如,分配给每个vCore实例(Cbw)的网络容量可以是连接到该vCore实例的总USSG(上游服务组——客户调制解调器和/或机顶盒组)(USsg)和总DSSG(下游服务组——客户调制解调器和/或机顶盒组)(DSsg)的函数。这可以表示为Cbw=f

vCore实例的缩放可以指在COTS服务器和/或“裸金属”服务器和/或虚拟机上的容器内自动生成和部署vCore实例的能力,所述VCore实例被适当地设定大小以服务于特定集合的远程物理装置和/或服务组(例如,有线电视客户集合)和/或有线电视客户。在一些情况下,vCore实例的缩放还可以包括自动修改COTS服务器和/或“裸金属”服务器和/或虚拟机上的容器内的现有vCore实例的硬件和/或软件特性的能力,以适当地设定大小以服务于修改的特定集合的远程物理装置和/或服务组(例如,有线电视客户集合)和/或有线电视客户。

资源分配管理器470可以将COTS服务器和/或“裸金属”服务器资源的合适量的硬件和软件分配或重新分配到每个特定的vCore实例(例如,CPU核心和/或存储器和/或网络容量)。分配或重新分配到每个vCore实例的此类COTS服务器和/或“裸金属”服务器硬件和软件资源的量可以是其规模以及其它特征,例如各种其它资源分配的函数。资源分配管理器470的对应代理可以包括在每个COTS服务器上(例如,COTS A、COTS B)。

vCore实例包括用于数据分组传输的数据平面软件以及数据平面的其它功能。数据平面软件可以包括用于管理数据平面的数据分组的一组数据平面库和网络接口控制器(NIC)驱动程序。优选地,与像典型网络处理软件的Kernel空间相反,数据平面软件在用户空间中操作,因此它不使用操作系统内核和容器管理网络驱动程序和插件。例如,数据平面软件可以包括队列管理器、缓冲器管理器、存储器管理器和/或用于分组处理的分组框架。数据平面软件可以使用与内核隔离的CPU核心,这意味着操作系统调度的过程不在这些隔离的CPU核心上运行。在数据平面软件与操作系统软件之间分开CPU核心确保了操作系统软件执行的任务不会干扰数据平面软件及时处理数据分组。另外,在数据平面软件和操作系统软件之间分开CPU核心使得两者都能够使用相同的物理中央处理单元,尽管是相同物理中央处理单元的不同核心。另外,也可以分开其它硬件和/或软件能力,例如,选定的处理器(例如,1个或更多个)、每个选定处理器的特定数量的处理核心、每个处理器类型的选定量的存储器、每个处理核心的选定量的存储器、选定量的可用处理器外存储器、选定框架和/或选定量和/或类型的网络接口。

还希望每个vCore实例具有远离其他vCore实例和操作系统软件的专用网络带宽能力。为了为vCore实例提供专用网络带宽,物理网络接口卡可以被虚拟化,使得多个不同的软件应用程序可以利用相同的网络接口卡,每个网络接口卡具有保证量的可用带宽。网络接口卡优选地使用单一根输入/输出虚拟化技术(SR-IOV)进行虚拟化。SR-IOV将NIC物理功能(例如,PF)划分成一个或多个虚拟功能(VF)。PF和VF的能力通常不同。一般来说,PF支持队列、描述、卸载、硬件锁、硬件链路控制等。一般来说,VF支持基于队列和描述符的网络特征。

vCore实例的自动化生成、部署和移除可以由容器编排系统420执行。

参考图5,vCore实例530可以在COTS服务器和/或“裸金属”服务器500上操作,充当用于通过收敛互连网络连接的一个或多个远程物理装置(通常位于相同枢纽中)的远程PHYMAC核心。vCore实例530可以包括数据平面软件532。vCore实例530中的每个通常被称为POD。在一些情况下,POD中可以包括多个vCore。COTS服务器500可以与互联网560、一组网络交换机570、远程物理装置580和客户590通信。COTS服务器和/或“裸金属”服务器,包括在其上操作的vCore实例,通常是具有以下特性中的一个或多个的相对高性能服务器:

硬件:

至少一个管理NIC 510通常连接到单独的管理网络512。管理NIC 510主要用于协调和管理服务器应用程序,服务器应用程序还可以管理数据流量。

优选地,包括至少两个(用于冗余)数据平面NIC 514(即,数据平面物理网络接口)以及SR-IOV和PTP(IEEE 1588)522以用于数据分组的硬件时间戳能力。数据平面NIC 514用于提供与远程物理装置和客户调制解调器和/或此类远程物理装置后方的机顶盒/消费场所设备的连接。vCore实例530可以各自包括通往每个数据平面NIC 514的虚拟功能534网络接口。

另外,硬件可以包括用于DES加密的专用装置。

软件:

优选地,COTS服务器和/或“裸金属”服务器上的操作系统是LINUX OS,例如Ubuntu、Redhat等。

COTS服务器和/或“裸金属”服务器和/或虚拟机包括容器软件。

COTS服务器和/或“裸金属”服务器和/或虚拟机和/或其它服务器包括容器编排系统的至少一部分。

COTS服务器和/或“裸金属”服务器和/或虚拟机和/或其它服务器包括资源分配管理器(RAM)520,其至少部分地管理用于vCore实例的软件和/或硬件资源的服务器分配,包括例如:CPU核心、存储器、VF、MAC地址等。RAM 520还可以提供服务器配置,包括OS配置、驱动程序支持等、诊断和健康状况监测。COTS服务器和/或“裸金属”服务器和/或虚拟机和/或其它服务器可以包括编排应用540,其至少部分地管理vCore(例如,容器和/或容器组)的管理。

COTS服务器和/或“裸金属”服务器和/或虚拟机和/或其它服务器可以基于整个系统的祖主时钟运行PTP应用程序522,其同步COTS服务器和/或“裸金属”服务器和/或虚拟机和/或vCore实例520的系统时钟。为了提高准确性,PTP应用程序522优选基于硬件时间戳和存在于NIC 514上的精确硬件时钟。

容器初始化和针对容器的资源分配可以通过分布式方式执行。初始vCore初始化582可以用于执行或以其它方式导致执行实例化vCore的默认配置。vCore编排584可以用于执行或以其它方式导致执行实例化vCore的管理以及针对特定vCore的资源分配。以此方式,初始vCore初始化582和vCore编排584一起工作以实例化vCore,将资源分配给vCore,并管理配备资源的实例化vCore。初始vCore初始化582优选地与服务器上的编排应用540结合操作以实例化默认vCore。vCore编排584优选地与服务器上的编排应用540一起操作以执行vCore的编排。vCore编排584优选地与RAM 520一起操作,以为vCore分配资源。

如前所述,包括vCore实例的COTS服务器具有至少部分由RAM 520管理的资源分配。在COTS服务器启动阶段期间,RAM可以生成多个资源池(CPU核心、数据平面网络VF、加密VF等),之后,RAM可以在容器编排系统540请求部署时将资源从每个池分配到vCore POD或将资源出租给vCore POD。此外,RAM 520可以根据需要管理可以被选择性地转移给专用硬件的数据加密和解密。

RAM 520可以包括REST API,其可以用于分配和释放资源,并且也可以用于确定资源可用性和分配状态。RAM 520还可以定期检查资源池状态,并且将检查结果放到存储器内密钥值数据库高速缓存,以保持持久性,并且在COTS服务器崩溃时使用该高速缓存的数据。存储器内密钥值数据库高速缓存优选不适于容易地随机访问,更适合在COTS服务器崩溃时将数据重建回到存储器中。

vCore实例配置通常由至少两个部分组成。第一部分可以是RPHY Mac核心配置。RPHY Mac核心配置包括例如DOCSIS、RF、RPD、cable-mac、IP寻址、路由等。第二部分可以是数据平面配置532。数据平面配置532,特别是用于RPHY MAC核心装置的虚拟数据平面的配置,包括例如由数据平面532使用的CPU核心Id、由数据平面432使用的数据平面网络VF地址、用于接口的MAC地址、用于加密卸载的加密VF地址、存储器分配等。在许多实施例中,RPHY Mac核心配置由多个系统操作员在实际配置之前提供。可以基于在初始化阶段期间由vCore实例自身从RAM 520接收的资源信息来确定数据平面532的vCore实例。一般来说,vCore优选执行MAC层功能。

如前所述,vCore一般来说是CMTS核心的软件实施,其包括在公共互联网和消费场所设备之间路由数据分组的数据平面功能。vCore提供CMTS服务的能力是底层硬件(通常是COTS服务器)的能力的函数。在数据中心内维护的此类COTS服务器通常包括一个或多个处理器,所述一个或多个处理器中的每一个通常包括多个集成核心(例如,4、8、16、20或更多个)。一般来说,每个处理器的每个核心可以被视为其自身的计算系统,因为它具有其自身的指令管道、解码器、堆栈和可用存储器。可分解成较小并行处理块的软件程序可以通过将所述独立处理块调度到多核处理器的不同核心且以至少部分并行方式执行所述独立处理块而被显著加速。例如,可以将一组10个独立功能拆分到10个核心上,并且如果每个功能需要等量的时间来完成,则执行速度通常比在单核处理器的单个核心或多核处理器的单个核心上运行所有10个独立功能快10倍。因此,将软件程序分解成子程序,以及调度将在处理器的多个核心上同时执行的所述子程序,提供了处理的加速,并且当考虑处理器内的所有核心时,在每秒运行更多指令的意义上提高了硬件效率。

对于vCore,通常希望保留至少一个核心以用于选择性计算密集操作,例如实时数据平面分组处理,以最大化数据分组的执行吞吐量。

取决于一组一个或多个服务组可能需要的计算资源,期望向vCore提供足够多计算资源以提供有效且及时的处理。例如,向vCore分配太少的核心和/或vNIC带宽将使资源服务非常匮乏,导致向客户提供的服务质量降低。而且,取决于一组一个或多个服务组可能需要的计算资源,期望向vCore不提供过剩多计算资源以提供有效且及时的处理。例如,分配过多核心和/或将过多的vNIC带宽保留给vCore不会有效利用整个COTS服务器硬件,从而在COTS服务器上留下未使用的功能。为vCore适当地选择一个或多个核心和/或vNIC带宽是合乎需要的。此外,需要高效地安装和配置vCore,以分配适当的资源。

参考图6,在一些实施方式中,为了提供已知的处理能力,vCore中的每一个被实例化以包括相同的处理能力。替代地,不同的vCore可以具有不同的处理能力。监测系统600可以监测在一个或多个COTS服务器和/或“裸金属”服务器和/或虚拟机和/或软件容器上运行的每个vCore的活动。监测系统600可以检测vCore中的一个或多个何时具有故障事件。在监测系统600检测到一个或多个vCore的故障事件,例如其中包含的软件的故障时,可以部署新的vCore以替换故障的vCore。新的vCore可以部署在与故障vCore相同的主机上,或者可以部署在与故障vCore不同的主机上。新vCore被实例化为新软件应用程序,其被启动并加载有描述环境的配置文件,例如,RPHY Mac核心配置和数据平面配置。然后,vCore与系统的其他方面重新连接,并且随后以与故障vCore相同的方式操作。实例化、配置和重新连接新vCore的过程大约需要几分钟,这对于客户受到的服务影响而言是很长时间。

监测系统600还可以监测一个或多个COTS服务器和/或“裸金属”服务器和/或虚拟机的活动。监测系统600可以检测COTS服务器和/或“裸金属”服务器和/或虚拟机中的一个或多个何时具有故障事件。在监测系统600检测到COTS服务器和/或“裸金属”服务器和/或虚拟机中的一个或多个的故障事件,例如硬件(包括网络接口)的故障时,可以部署一个或多个新COTS服务器和/或“裸金属”服务器和/或虚拟机或以其它方式对其进行通电以替换故障的一个或多个COTS服务器和/或“裸金属”服务器和/或虚拟机。在开始替换故障的一个或多个COTS服务器和/或“裸金属”服务器和/或虚拟机之后,其上先前支持的每个vCore被实例化以启动软件并加载有描述环境的相应配置文件,例如,RPHY Mac Core配置和数据平面配置。每个vCore将具有不同的配置文件。然后,vCore中的每一个与系统的其它方面重新连接,并且其后以与“故障”的vCore和故障的COTS服务器和/或“裸金属”服务器和/或虚拟机相同的方式操作。此实例化、配置和重新连接COTS服务器和/或“裸金属”服务器和/或虚拟机和相关联的vCore的过程比隔离的vCore故障需要长得多的时间,这是对客户的服务影响而言相当长的时间。

由于其操作,集成CMTS生成大量数据,所述数据通常存储在一个或多个数据库中,或者以其它方式作为一系列文件存储在与CMTS相关联的存储装置上。例如,一些文件可以被称为主动网络维护(PNM)文件(例如,用于在故障发生之前查找故障原因的二进制数据文件)、分组捕获(PCAP)文件(例如,与正在发送和/或接收的数据分组相关的二进制数据文件),以及由“copy running config”生成的周期性文件(例如,文本文件)。CMTS的运营商可以登录CMTS并将一个或多个文件传输到外部系统以进行进一步分析。为了减轻CMTS的运营商的负担,脚本文件(例如,文本文件)通常用于执行一系列命令以实现文件传输。在许多情况下,用于数据传输的协议是通过FTP(即,文件传输协议)协议/SFTP(即,安全文件传输协议)协议和TFTP(即,小文件传输协议)协议。另外,如果需要,运营商可以使用FTP协议以及脚本将文件直接传输到CMTS以在其上使用。

以类似方式,FTP/SFTP/TFTP协议可以用于将文件从vCore传输到vCore。遗憾的是,在典型的实施方式中,大量vCore被共同使用,从数十到数百到可能数千,以为服务区域中的大量客户提供服务。首先,运营商单独地配置和访问每个vCore以传输文件,包括向每个vCore和/或从每个vCore提供配置文件是不实际的。此外,在vCore经常由“公共”基于云的基础设施支持的情况下,FTP/TFTP协议的使用往往会降低与vCore相关联的安全性。

参考图7,期望使用监测系统600(通常也称为虚拟核心管理器)来实现文件从vCore 700中的选定vCore到外部服务器750以及从外部服务器750到vCore 700中的选定vCore的传输。监测系统600可以在任何合适的COTS服务器上。vCore 700中的每一个可以包括在任何合适的COTS服务器上的相应容器710内。vCore 700中的每一个可以与优选地包括在相应容器730内的相应云适配器720相关联,以促进数据从和向相应vCore 700的传输。优选地,相应对的云适配器720和vCore 700中的每一对都包括在对应的POD 740内。而且,成对的云适配器对720和vCore 700在同一容器组内允许两者之间的逻辑安装点,使得它们可以容易地共享数据,而不直接暴露于外部接口,后者将加重安全性问题。

当由相应vCore 700生成所需文件(例如,PNM文件)时,文件传输(例如,TFTP文件传输)优选地由相应云适配器720自动触发。vCore 700和/或云适配器720可以自动检测所需文件的生成,并且被自动触发以促进将相应文件传输到外部服务器750。优选地,监测系统600被配置成基于期望标准,例如特定vCore,例如特定云适配器,例如特定POD,例如特定类型的文件,或以其它方式,使相应文件存储在外部服务器750上的特定位置和/或目录中。监测系统600还可以支持附加API,例如REST API,其可以用于促进一个或多个文件(例如,PCAP二进制文件和其它文本文件(例如,脚本文件))的传输。

举例来说,系统可以包括针对频繁生成的文件使用TFTP自动传输文件,例如,PNM文件或其它指定文件。举例来说,系统可以包括针对不太频繁生成的文件或其它指定文件由运营商发起的文件传输。优选地,文件的传输基于FTP协议、SFTP协议和/或TFTP协议。虽然此类较旧协议往往不如较新协议安全,但现有脚本和工具通常被设计成支持此类较旧协议,因此在保持安全的环境中支持此类较旧协议是合乎需要的。此外,可以在云适配器与外部服务器之间提供对较旧协议的支持,这便于与现有基础设施的兼容性,同时在监测系统和相应vCore之间使用其它文件传输协议。而且,优选地,vCore不支持FTP和/或TFTP协议,以提高安全性。此外,运营商优选地访问监测系统600,而不是单独地访问每个vCore,所述监测系统继而管理文件到和从相应vCore 700的访问和传输。这减少或以其它方式消除了运营商直接访问特定vCore以将文件传送到vCore或从vCore传输文件的需要。

举例来说,在生成PNM文件时,vCore将消息记录到syslog。在相应的云适配器上运行的代理解析日志记录,添加pnm标签,并将其转发到本地主机和端口12222。云适配器具有监听端口12222的服务,其然后调用PNM文件处理器,以使用SFTP客户端发起到预配置的外部服务器的文件传输。

举例来说,运营商可以使用监测系统实现运营商发起的文件传输,以在所选vCore基础上提供文件传输管理。运营商可以从监测系统选择vCore文件管理功能,然后查看可以传输的可用文件的列表。然后,运营商可以使监测系统实现到运营商正用来访问监测系统的计算装置的文件传输。通过类似方式,运营商可以使监测系统发起从运营商正用来访问监测系统的计算装置到一个或多个vCore的文件传输。举例来说,运营商可以将脚本文件上传到一个或多个vCore,然后所述脚本文件可用于在相应的vCore上执行。在一些情况下,运营商可以从外部服务器访问监测系统。

参考图8,示出了用于PNM文件处理(或其它文件)的示范性工作流。运营商800访问监测系统接口以配置用于云适配器804和vCore 808的TFTP服务器和文件夹信息。云适配器804和vCore 808可以被配置成与814、816沟通共享安装806。运营商808可以使用COREM 802(例如,对于由COREM管理的所有vCore,存储配置是全局性的监测系统)REST API(例如,代表性状态传输)来启动PNM测试820。COREM 802可以向云适配器804发送启动PNM测试请求822。云适配器804可以向vCore 808发送启动PNM测试824的SNMP请求。vCore 808运行PNM测试,生成PNM文件,并记录文件生成消息826。云适配器804包括解析syslog消息,任选地添加pnm标签并将日志记录转发到本地主机端口12222 830的代理。云适配器804监听端口12222,处理日志记录消息并调用PNM文件处理器832。云适配器804的PNM文件处理器使用高速缓存的存储配置834发起TFTP文件到远程文件服务器的传输。云适配器804可以开始到远程文件存储装置810的TFTP文件传输836。云适配器804可以向远程文件存储装置810发信号通知其TFTP文件传输完成838。

监测系统包括对全局存储配置的支持,以允许运营商配置远程存储主机名/IP和根目录信息。在启动包括监测系统的容器时,可以将新的KEY STORAGECONFIG生成到现有系统ID集合中。在存储配置更新后,监测系统将其配置更新到数据库中,并且使用REST API将配置下推到服务中(IS)的所有vCore云适配器。云适配器将此配置存储到本地高速缓存中。

在新的vCore部署的情况下,当监测系统检测到vCore处于部署和IS状态时,它将全局存储配置推送到云适配器。云适配器接着将此存储配置存储到本地高速缓存中。此存储配置高速缓存的寿命优选地是正在部署和服务中的vCore的寿命。

通过监测网络的特性并主动采取适当措施来维持网络质量来实现PNM。PNM测量类型的一些示例是调制误差比、脉冲噪声、OFDMA活动和静默探查等。在vCore中,优选地由SNMP(即,简单网络管理协议)发起和协调PNM测量。设置操作可以发起测量序列并捕获所得数据。获取操作可以用于监测测量的进度。在完成所请求的测量后,将通知发布到系统记录器以提供测量结果的可用性的通知。一旦完成,测量结果就在本地存储在vCore的本地文件系统中,其中可以使用REST API检索测量结果。测量结果在vCore的磁盘上的本地文件系统中按测量类型组织,允许同时测量,条件是请求的测量不会争夺相同的资源。将测量结果存储在vCore磁盘上的本地文件系统中允许同时进行不同类型的测量而不会受到干扰。在检索到测量结果之后,vCore外部的元件负责释放本地文件系统上的空间以防止其被填充。

运营商可以使用COREM REST API通过SNMP集触发PNM文件生成。vCore完成测试,生成二进制文件并记录消息。下面示出了样本syslog消息,Wbfft文件传输完成。文件:foo.pnm

直方图文件传输完成。文件:foo-histogram.pnm

脉冲噪声文件传输完成。文件:foo-impulse.pnm

在文件名可以包括文件的路径名称时。

2020-09-09T21:01:58.391localhost NOTICE CMTS[CADANT]:<2473066567>[01.0000000282]OFDMA PNM Mgr:Wbfft文件传输完成。文件:/pnm/utsc/CommscopeTstPnmUtscRawTest1

在云适配器上运行的td代理解析syslog消息,并寻找文件传输完成的模式匹配。如果发现匹配,则任选地添加pnm标签并将记录转发到本地主机,端口12222。云适配器微服务具有在tcp端口12222上运行和监听的服务,所述服务读取日志记录。云适配器记录处理器处理记录到syslog的PNM记录。云适配器PNM记录处理器调用适当的方法来发起到预先配置的远程存储装置的TFTP文件传输。从PNM日志记录中检索文件名和路径。云适配器使用共享安装路径(云适配器和vCore之间共享的安装,因为它们是同一Kubernetes容器中的两个对接器容器)以允许访问实际文件以进行传输。

在Kubernetes环境中,云适配器和其他微服务在独立的对接器容器中运行,其构成vCore。在Kubernetes中被称为容器组的容器集合都驻留在同一节点上,该节点是物理硬件平台。在同一节点和Kubernetes容器组生态系统中运行有助于在云适配器对接器容器与构成vCore实例的POD中的其它对接器容器之间共享逻辑安装。这允许微服务之间的容易文件访问,并且消除了在云适配器与vCore内的其他微服务之间对用于文件操作的REST API的需要。

云适配器将远程存储配置存储到本地高速缓存中,并且使用该配置来传输vCore生成的PNM文件。当vCore被部署并在服务中时,COREM将全局存储配置下推到云适配器。如果vCore在服务中,则任何未来的全局存储更新也会被下推到云适配器。云适配器实施方式可以使用java tftp客户端库来实现TFTP客户端发送文件操作。并且它支持传输文件的简单方法,即TFTP客户端库将打开数据报套接字->发送文件->关闭数据报套接字。

监测接口上的用户接口还允许访问PNM文件。运营商可以从Manager vCores->View vCore Files操作下载PNM文件。

除了PNM文件之外,vCore还可以生成PCAP分组捕获,运营商可以从vCore中移出该PCAP分组捕获以进行额外分析。还常见的是运营商将脚本文件移动到vCore中以执行命令序列。对于这些类型的文件操作,监测系统提供了用户接口和REST API,其使运营商能够针对每个vCore运行文件操作。为了将文件直接上传到云适配器和从云适配器下载文件,监测系统APIGW(例如,API网关)微服务使用一种机制将请求直接发送到云适配器。

对于监测系统,用户接口使用微服务特定REST API来执行任何CRUD(例如,生成/读取/更新/删除(REST API操作))操作。在vCore文件处理的情况下,由于vCore文件是从监测系统用户接口管理的,因此它可以使用监测系统REST API,其随后将调用给定vCore的云适配器REST API。此流程不是处理文件上传和下载时最有效的流程。

优选地,监测系统可以包括APIGW微服务以提供对其微服务部件的安全REST API访问。APIGW可以处理端口8000上的命名空间请求,认证它们并将请求代理到适当的微服务。基于memoizeHost的设置(在http代理中的设置),APIGW的第三方代理中间件允许主机是为每个请求计算或记住的静态字符串或函数。

以此方式,本文所描述的系统利用此代理主机功能来针对对COREM vCore文件操作REST API的每个请求计算主机。对于vCore文件操作REST API,APIGW将memoizeHost设置设置为假,使得代理根据每个请求计算主机。监测系统用户接口已经知道vCore的云适配器地址,因此当调用REST API调用以进行vCore文件操作时,它将云适配器主机地址和端口设置为URL查询参数。从监测系统用户接口提出的所有REST API请求都由APIGW认证,然后被代理到相应的微服务。在vCore文件REST API操作的情况下,APIGW调用主机功能以使用查询参数和对云适配器的代理请求来计算云适配器URL。这消除了前往监测系统进行云适配器REST API操作的需要。

参考图9,云适配器提供REST API以获得文件列表,并将文件上传到vCore和从vCore下载文件。使用监测系统用户接口,运营商可以看到vCore上可用的文件。监测系统用户接口在内部使用REST API来获得文件列表。云适配器通过共享安装访问vCore文件。它使用Java文件库来递归地循环通过共享安装,并构建由文件名、路径和子(如果是目录)路径组成的文件树。云适配器仅提供允许进行文件操作的目录和文件的文件列表。

参考图10,运营商可以使用调试工具,例如PacMan,来“嗅探”上游或下游的分组以捕获帧,这可以帮助隔离现场的问题。此类工具可以生成文本文件,运营商使用所述文本文件从vCore转移出来进行分析。一旦在vCore上捕获分组并生成文件,运营商就可以登录到监测系统用户接口以下载文件。云适配器通过共享安装访问vCore文件,并提供下载文件。使用PacMan生成的PCAP文件被放置在vCore上的/usr目录下。监测系统用户接口可以访问此目录以下载文件。云适配器还允许下载PNM文件,因此提供对/pnm目录的访问。

参考图11,运营商还可以使用监测系统的用户接口将脚本文件上传到vCore。所有上传文件都存储在vCore上的/vagrant/ccap/system/other目录下。一旦文件成功上传,文件就在vCore上可用,运营商就可以在vCore上运行脚本。为了支持此特征,在云适配器容器启动时,如果vCore容器被初始化并且不存在“other”目录,则其在共享安装件上生成目录,所述目录然后在vCore上在/vagrant/ccap/system/other路径下可见。对于vCore文件上传,如果安装上已经存在具有相同名称的文件,云适配器会发回错误。云适配器堆大小为128MB,这可能是大型文件传输的瓶颈。为了克服这个问题,云适配器优选地使用I/O流。

此外,前述实施例中的每一个中的每个功能块或各种特征可以由电路实施或执行,电路通常是集成电路或多个集成电路。被设计成执行本说明书中描述的功能的电路可以包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它可编程逻辑装置、离散门或晶体管逻辑、或分立硬件部件或其组合。通用处理器可以是微处理器,或者,处理器可以是常规处理器、控制器、微控制器或状态机。上述通用处理器或每个电路可以由数字电路配置,或可以由模拟电路配置。此外,当由于半导体技术进步出现了制造接替当前集成电路的集成电路的技术时,也能够使用这些技术制造的集成电路。

应当理解,本发明不限于已经描述的特定实施例,并且可以在不脱离所附权利要求中限定的本发明的范围的情况下在其中作出变化,本发明的范围如根据通行法律的原则,包含等同原则或将权利要求的可执行范围扩大到其字面范围之外的任何其他原则所解释的。除非上下文另外指示,否则权利要求中对元件的实例数目的引用(无论是对一个实例或多于一个实例的引用)都至少需要所述元件的指定实例数目,但并不意图从权利要求的范围中排除具有比所述元件的实例更多的实例的结构或方法。当用于权利要求中时,词语“包括”或其派生词以非排他性含义使用,所述非排他性含义不旨在排除所要求保护的结构或方法中其它元件或步骤的存在。

相关技术
  • 用于实例化并连接无线电接入网络虚拟化网络功能和核心网络虚拟化网络功能的方法和系统
  • 用于实例化并连接无线电接入网络虚拟化网络功能和核心网络虚拟化网络功能的方法和系统
技术分类

06120116592025