用于源选择和流量工程的联合优化的系统和方法与流程

文档序号:11637152阅读:194来源:国知局
用于源选择和流量工程的联合优化的系统和方法与流程

相关申请

本申请要求2015年1月8日递交的第14/592,616号美国专利申请案的在先申请优先权,该在先申请的内容以引用的方式并入本文本中。



背景技术:

本发明涉及一种用于优化网络中的内容源和路由选项的选择的系统和方法。

在内容分发网络或内容配送网络(contentdistributionnetwork,cdn)系统中,相同的数据可以存储在多个内容容器或源处,例如内容服务器和本地缓存中心处,并且内容源与内容接收设备之间存在许多路由选项。在选择特定内容服务器来满足来自请求设备的用户请求时,cdn通常会基于一个或多个标准,例如物理距离、时延、负载均衡和成本,来使用服务器选择机制。另外,cdn通常会使用流量工程(trafficengineering,te)来应用类似的标准以选择通过网络从所选内容源到请求设备的路径和数据速率。



技术实现要素:

根据一示例实施例,提供了一种用于将网络中的数据从存储所述数据的多个内容源路由到接收设备的方法。所述方法包括:生成网络拓扑,存储所述数据的各个所述内容源在所述网络拓扑中表示为虚拟路由器,所述虚拟路由器各自通过相应的无限容量通信链路连接到一个公共虚拟内容服务器;通过所述网络拓扑为所述数据确定从所述虚拟内容服务器到所述接收设备的优化路由;并且根据所述优化路由为各个所述内容源确定数据分配以通过所述网络向所述接收设备传输数据。

根据另一示例实施例,提供了一种用于优化通过网络从存储数据的多个内容源到接收设备的数据流量路由的系统。所述系统包括流量优化器,所述流量优化器用于生成网络拓扑,存储所述数据的各个所述内容源在所述网络拓扑中表示为虚拟路由器,所述虚拟路由器各自通过相应的无限容量通信链路连接到一个公共虚拟内容服务器。所述流量优化器还将通过所述网络拓扑为所述数据确定从所述虚拟内容服务器到所述接收设备的优化路由,并且根据所述优化路由为各个所述内容源确定数据分配以通过所述网络向所述接收设备传输数据。

根据另一示例实施例,提供了一种计算机程序产品,所述计算机程序产品包括存储计算机指令的非瞬时计算机可读介质,所述计算机指令用于实施用于将网络中的数据从存储所述数据的多个内容源路由到接收设备的流量优化。所述指令使流量优化处理器执行以下操作:生成网络拓扑,存储所述数据的各个所述内容源在所述网络拓扑中表示为虚拟路由器,所述虚拟路由器各自通过相应的无限容量通信链路连接到一个公共虚拟内容服务器;通过所述网络拓扑为所述数据确定从所述虚拟内容服务器到所述接收设备的优化路由;并且根据所述优化路由为各个所述内容源确定数据分配以通过所述网络向所述接收设备传输数据。

附图说明

为了更完整地理解本发明,现在参考下文结合附图进行的描述。

图1为可以应用本文描述的方法和系统的示例实施例的内容配送网络(contentdistributionnetwork,cdn)的一个示例的示意图。

图2为示出根据示例实施例的用于联合优化cdn中的数据源和路由选择的方法的流程图。

图3为根据示例实施例的针对图1的cdn创建的网络拓扑的一个示例的示意图。

图4所示为一个示例优化公式。

图5示出了根据示例实施例的分布式内容缓存的一个示例。

图中使用相同的参考标号来表示相似元件和特征。虽然本发明的各方面会结合所示实施例描述,但是可以理解的是,这并非旨在将本发明限制于这类实施例。

具体实施方式

图1表示通信网络,该通信网络可为内容配送网络(contentdistributionnetwork,cdn)120等,优化源选择和流量工程(trafficengineering,te)的系统和方法的示例实施例可以应用到该通信网络。cdn120可包括一个或多个有线通信网络或无线通信网络或有线与无线通信网络的组合。cdn120可根据一个或多个标准或技术进行操作,这些标准或技术包括但不限于第四代(fourthgeneration,4g)或第五代(fifthgeneration,5g)电信网络、长期演进(long-termevolution,lte)、第三代合作伙伴计划(3rdgenerationpartnershipproject,3gpp)、通用移动通讯系统(universalmobiletelecommunicationssystem,umts)和其它无线或蜂窝通信网络。

在图1的cdn120中,相同的数据可以存储在多个数据源或数据容器节点处,包括一个或多个内容服务器110和内容缓存112等。数据由路由器114通过cdn120路由,并通过网络网关节点,例如空口节点116,无线地传输到接收设备,例如用户设备(userequipment,ue)118,空口节点116可包括基站或无线接入点等。内容缓存112可以在cdn120内部或外部的不同网络节点处物理实现,例如在路由器114、空口节点116或其它网关节点处。虽然接收设备ue118在图1中示为无线通信设备,但是数据接收设备还可包括由有线连接通过网关节点连接到cdn120的设备。

在典型的数据访问情况中,ue118向cdn120发送数据请求。在传统cdn系统中,数据检索是一个分为两步骤的过程,在该过程中,选择一个合适的内容源(例如内容服务器110或内容缓存112)来提供所请求的数据,然后确定通过cdn120从所选数据源到ue118的路径和数据速率。第一个步骤,也就是选择内容源,通常由请求设备或由内容提供商执行。例如,在对等(peer-to-peer,p2p)组网中,当ue118加入p2p网络时,ue118被告知可用数据源(其可以包括其它对等设备,例如其它ue设备118)的位置,然后ue118选择要访问的对等设备,这通常导致内容源的选择次优。在数据提供商选择服务器的情况下,商业内容提供商,例如在线视频服务,具有多个数据中心以避免过载并通过使数据更接近用户来降低传输时延。内容提供商执行的内容源选择通常基于请求通信设备118的地理位置和负载均衡考虑,这从流量工程的角度来看是次优的。在p2p和商业cdn系统中,内容源选择次优随后导致te决策次优。

随着越来越多地使用cdn网络来传递p2p和商业分布环境中的内容,以及网络内的数据源(例如毫微微小区无线基站处的数据缓存)的增加,急需数据源的最优选择和从数据源到内容用户的最优网络路由。

现将根据示例实施例描述用于联合优化cdn120内的数据源选择和流量工程(例如路径选择和速率分配)的方法和系统。如图1所示,在一项示例实施例中,优化系统100包括内容位置服务器122和流量工程(trafficengineering,te)优化器126。

在示例实施例中,内容位置服务器122通过ip地址表示并在cdn120内部或外部实施以跟踪存储在数据源中的内容的位置,这些数据源是cdn120的一部分或可由cdn120访问。例如,内容位置服务器122可以在内容服务器110上实施。内容位置服务器122维护内容位置数据库124,内容位置数据库124确定参与的数据源以及可从各个数据源获得的内容。在图1的示例中,内容位置数据库124会将三个可用数据源(也就是内容服务器110和各个缓存112)的地址(或其它标识符)以及确定在各个数据源可用的数据的库存的信息一起存储。在一些示例实施例中,内容位置服务器122用于周期性地轮询cdn120中的数据源以确定存储在这类数据源处的数据是否已改变,并且相应地更新内容位置数据库124中的内容库存。在一些示例实施例中,参与的数据源用于向内容位置服务器122发送消息,这些消息通知本地存储内容的变化,以便使内容位置数据库124能够更新。因此,在任何给定时间,内容位置服务器122了解的以下情况都是相对最新的:在cdn120可用的数据源处,哪个内容存储在哪里。

te优化器126用于选择通过cdn120传输数据的路径和数据速率,并且与内容位置服务器122类似,也可通过ip地址表示并且可以在cdn120的节点处的服务器上实施。在一些示例中,te优化器126在与内容位置服务器122相同的网络位置处实施。在示例实施例中,te优化器126维持或能够访问拓扑数据库128,拓扑数据库128存储cdn120的物理元件的列表,包括数据源(例如内容服务器110和缓存112)、路由器114、空口节点116以及这些元件之间的通信链路。在一个示例中,在cdn120发生物理改变之后更新拓扑数据库128。在替代性示例实施例中,内容位置服务器122和te优化器126的特征可在公共服务器上实施,或可分布在多个服务器上。此外,在一些替代性实施例中,本文描述的如在内容位置服务器122处执行的一些特征可改为由te优化器126执行,本文描述的如在te优化器126处执行的一些特征可改为在内容位置服务器122处执行。在一些示例实施例中,内容位置服务器122和te优化器126的至少一些功能可在ue设备118处实施。

图2示出了应用到cdn120的联合源和路由优化的示例方法200。如图2所示,方法200开始于来自ue118的对指定数据的请求(动作202)。在一示例实施例中,内容位置服务器122从ue118接收内容请求,然后内容位置服务器122访问内容位置数据库124以确定哪些内容源110、112包含所请求的数据(动作204),并向te优化器126发送消息(动作206),该消息确定已发出内容请求的ue118和可提供所请求的数据的内容源110、112。在当前论述的示例中,各个数据源110、112都包括所有所请求的数据,然而如下文将更详细论述的,在一些示例实施例中,不同数据段可分布在具有不同数据重叠水平的不同数据源中。

te优化器126使用从内容位置服务器122接收的信息和拓扑数据库128中包含的信息来为cdn120生成混合网络拓扑(动作208),该混合网络拓扑包括虚拟与物理网络节点的组合。图3示意性地表示了这一混合网络拓扑300。生成混合网络拓扑300包括用虚拟路由器304代替cdn120中的各个物理数据源110、112(动作208a),其中这些物理数据源已被内容位置服务器122确定为包含ue118所请求的数据。如图3所示,在本示例中,ue118所请求的数据可在各个缓存112以及内容服务器110处获得,因此将各个内容服务器110和缓存服务器112表示为网络拓扑300中的相应虚拟路由器304。生成混合网络拓扑300还包括模拟通过虚拟无限容量通信链路306连接到各个虚拟路由器304的虚拟内容服务器302(动作208b)。各个虚拟通信链路306是无限带宽、零时延链路。cdn120的剩余物理元件包括在混合网络拓扑300中。

因此,在混合网络拓扑300中,包括相同数据的一组物理分散数据源建模为单个虚拟数据源(虚拟内容服务器302),其具有到多个虚拟路由器304的无限容量通信链路306,每个虚拟路由器304替代并占据相应一个真实物理数据源110、112的位置。虚拟路由器304充当混合网络拓扑300的真实物理元件与网络拓扑300的虚拟元件之间的接口。

然后,te优化器126使用虚拟内容服务器302作为唯一数据源来执行多路径te优化,以确定在混合网络300中用来从虚拟内容源302获得所请求的数据给ue118的最优路径和数据速率(动作210)。使用通过无限容量链路连接到公共虚拟内容服务器302的虚拟路由器304来替代物理数据源大大简化了针对te优化的路径选择所需进行的计算,因为计算可以基于单个源进行。根据需要优化的属性(成本、带宽利用率、路径拥塞、无线节点拥塞、时延等等),te优化器126可以适当地使用许多单源多路径优化算法。通过非限制性示例,可以应用图4中列举的优化算法,该优化算法力图最大化一个时间段内的效用函数。

在一示例实施例中,如由te优化器126执行的优化算法的结果是形式为列表的优化路由,该列表确定了虚拟内容服务器302与ue118之间的多个网络路径,以及这些多个路径中每个路径的数据分配。在一示例实施例中,数据分配包括数据速率和数据量。然后,te优化器126将确定的路径和关联数据/速率分配映射到每一个物理数据源(动作212)。具体而言,混合拓扑300中的每个确定的路径将包括一个虚拟路由器304,如上所述,每个虚拟路由器304表示一个真实物理数据源(例如物理内容服务器或缓存)。因此,te优化器126能够用物理数据源替换确定的网络路径中的各个虚拟元件,从而针对ue118所请求的数据提供优化信息214。优化信息214针对所请求的数据确定:(i)多个数据源(例如内容服务器110和缓存112);(ii)从各个数据源到ue118的一个或多个指定路径;(iii)针对各个指定路径的数据分配——在一示例实施例中,数据分配包括各个指定路径的分配的数据速率和分配的要从各个数据源110、112发送的数据量(例如数据位或字节数)。

在一示例实施例中,te优化器126向内容位置服务器122提供优化信息214,然后内容位置服务器122使用该信息来协调所请求的数据通过cdn120中的指定路径从数据源到ue118的传输(动作216)。在示例实施例中,使用应用层前向纠错(applicationlayerforwarderrorcorrection,al-fec)方案通过cdn120传输所请求的数据,在al-fec方案中,具有k个符号的消息被转换成具有n个符号的更长的消息(码字),使得原始消息可以从具有n个符号的子集恢复。在这一实施例中,无需在位级协调内容服务器之间的数据分割,只要内容源的组合总共发送了恢复原始信息所需的已编码数据段的总数目。例如,如果总共从内容源累计传输了阈值量的数据符号,则可以使用喷泉编码来创建并不知晓分割和数据源的系统。在这类示例实施例中,基于优化信息214,内容位置服务器122知道要从各个特定内容源110、112发送的数据量。在一项示例实施例中,内容位置服务器122告知各个单独内容源110、112其被指定向ue118发送的相应数据量(例如位或字节数)、将使用的路径以及为各个路径分配的数据速率,然后单独内容源110、112按照通知传输数据。在一些示例实施例中,除了告知单独内容源110、112,内容位置服务器122还告知ue118已指定哪些单独内容源110、112来向ue118发送所请求的数据、指定给各个内容源110、112的数据量以及分配的数据速率。在一些示例实施例中,内容位置服务器122可能不与内容源110、112通信,而是仅告知ue118已指定哪些单独内容源110、112来向ue118发送所请求的数据、指定给各个内容源的数据量以及分配的数据速率,然后ue118从各个相应的数据源请求分配的数据量。

在一些示例实施例中,可在ue118处而非内容位置服务器122处执行数据源协调(动作216),在这种情况下,te优化器126产生的优化信息214由内容位置服务器122提供给ue118。

虽然上述示例论述了一种使用al-fec使得数据分配可以在数据源之间进行而无需特别考虑各数据包内容的顺序的系统,但是在一些示例实施例中,系统可使用要求从特定内容源发送特定数据包的编码系统。在这类系统中,内容位置服务器122可以用于确保特定数据段或数据包被指定给特定内容源以避免重复,使得从内容位置服务器122发送到各个内容源110、112的指示指定各个内容源110、112要发送哪些数据段以及用来发送指定数据的路径和指定路径的数据速率。或者,在一些实施例中,内容位置服务器122将仅告知内容源110、112数据量以及指定路径和数据速率,而内容源110、112被配置为自行协商各个内容源110、112将发送哪些相应数据段,以便避免重复。

在上述示例实施例中,ue118所请求的全部数据存储在cdn120中的各个内容源110、112处,涉及订阅服务的商用数据配送网络中经常如此。然而,尤其是在p2p环境中,也会发生cdn120中多个节点处的数据的分布式部分缓存,例如在空口节点116等各种网络节点处和多个ue设备118处。关于这一点,现将描述一示例实施例,在该示例实施例中,ue118所请求的数据在不同数据源间分发。图5示出了一个分布式缓存示例,在该示例中,包括数据0至n的内容在cdn120中的数据源间分发,其中数据源包括两个内容服务器110(s1和s2)和三个内容缓存112(c1、c2和c3)。s1和s2各自存储内容分段0至n;c1存储内容分段a至c;c2存储内容分段b至e;c3存储内容分段d至n。可以注意到,c2处的分段与c1和c3处的分段重叠,并且c1、c2和c3中的每一个都与s1和s2部分重叠。在一示例实施例中,c1、c2或c3中的一个或多个可位于相应空口节点116处或其它网络节点处。内容位置服务器122维护的内容位置数据库124确定数据源s1、s2、c1、c2、c3和存储在各个数据源处的数据0至n的相应分段部分。

在图5的示例中,进一步参考图1和图2,内容位置服务器122从ue118接收针对数据a至e的内容请求(动作202)。然后,内容位置服务器122访问内容位置数据库124以确定哪些内容源包含数据0至e(动作204)。在本示例中,内容位置服务器122将确定所有数据0至e都位于s1和s2,并且c1、c2和c3各自存储数据0至e的相应子集。在这一示例中,内容位置服务器122将确定各个数据源在哪里发生了数据重叠并告知te优化器126(动作206)。因此,在图5所示的示例中,内容位置服务器将告知te优化器126:(i)分段0存储在s1和s2处;(ii)分段a至b存储在s1、s2和c1处;(iii)分段b至c存储在s1、s2、c1和c2处;(iv)分段c至d存储在s1、s2和c2处;(v)分段d至e存储在s1、s2、c2和c3处;(vi)分段e至n存储在s1、s2和c3处。事实上,在图5的示例中,数据0至n可以划分为六个内容分段,每个内容分段可从数据源的唯一组合获得。

如上所述,te优化器126用于为相同数据的源生成混合网络拓扑(动作208),以便允许te优化器126将单源优化算法应用到多源环境。因此,在图5的示例中,为已确定为可在数据源的唯一组合处获得的各个内容分段执行优化。例如,关于内容分段0至a,te优化器126忽略c1、c2和c3并生成混合网络拓扑,在该混合网络拓扑中,s1和s2各自被替换为虚拟路由器,然后这些虚拟路由器通过无限容量数据链路连接到单个虚拟内容服务器(动作208a、208b)。然后使用虚拟内容服务器作为单个数据源来执行多路径te优化(动作210),随后将结果映射回物理网络以确定分段0至a中的多少个分段应分配给s1和s2中的每一个以及s1和s2中的每一个用来向ue118发送分段0至a的路径和数据速率(动作212)。te优化器126为每个确定的内容分段执行优化动作208至212——对于内容分段a至b,对数据源s1、s2和c1间的分配执行优化;对于分段b至c,对数据源s1、s2、c1和c2间的分配执行优化;对于分段c至d,对数据源s1、s2和c2间的分配执行优化;对于分段d至e,对数据源s1、s2、c2和c3间的分配执行优化;对于分段e至n,对数据源s1、s2和c3间的分配执行优化。然后,产生的优化信息用于协调数据0至e到ue118的数据传输。

在一些示例实施例中,内容位置服务器122配置为忽略不包括阈值量的请求数据的数据源。例如,在图5的环境中,在动作202中接收到针对数据0至e的请求后,内容位置服务器122可以用于在动作204中确定存储在c1和c2上的数据的子集太小而不足以包括在优化动作中,在这种情况下,在动作206中提供给te优化器的内容源列表中会省略c1和c2,而会告知te优化器126内容分段0至d存储在s1和s2处且内容分段d至n存储在s1、s2和c3处。然后,te优化器126会在源s1和s2的环境中针对分段0至d以及在s1、s2和c3的环境中针对分段d至e执行优化动作208至212。数据源c1和c2会被忽略。

因此将认识到,本文已描述了支持联合优化数据源和路由选择的系统和方法。

本发明提供了某些示例算法和计算来实施所公开的方法和系统的示例。然而,本发明不受任何特定算法或计算的限制。

尽管本发明使用按某一顺序的步骤来描述方法和过程,但是这些方法和过程的一个或多个步骤可酌情省略或改变。一个或多个步骤可酌情按与描述的顺序不同的顺序来进行。

虽然本发明的至少一部分从方法方面描述,但是本领域普通技术人员将理解,本发明还涉及用于通过硬件组件、软件或两者的任何组合执行所描述方法的至少一些方面和特征的各种组件。因此,本发明的技术方案可以以软件产品的形式体现。合适的软件产品可存储在预录的存储设备中或其它类似的非易失性或非瞬时性计算机可读介质中,例如包括dvd、cd-rom、usb闪存盘、可移动硬盘或其它存储介质。该软件产品包括有形存储在其上的指令,这些指令使处理设备(例如个人计算机、服务器或网络设备)能够执行本文公开的方法的示例。

本发明可在不偏离权利要求的主题的情况下以其它特定形式体现。所描述的示例实施例在所有方面都应视为说明性的而不是限制性的。可组合从一个或多个上述实施例中选择的特征以建立未明确描述的替代性实施例,适用于这类组合的特征应视为属于本发明范围。

还公开了所公开范围内的所有值和子范围。并且,虽然本文公开和示出的系统、设备和过程可包括特定数量的元件/组件,但是可以修改系统、设备和组件来包括额外的或较少的这类元件/组件。例如,虽然所公开的任何元件/组件可表示为单数,但是可以修改本文公开的实施例以包括多个这类元件/组件。本文描述的主题旨在覆盖和包含技术中的所有适当改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1