首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 修改 / 用于数据分发的网络路由修改

用于数据分发的网络路由修改

阅读:732发布:2020-06-01

专利汇可以提供用于数据分发的网络路由修改专利检索,专利查询,专利分析的服务。并且通过最小化通过网络的昂贵部分传送的数据的副本的数目来优化该数据的多个副本到其他计算设备的传输。利用存储转发方法体系来通过该昂贵部分仅传送单个副本,且该数据随后被分叉为定向到多个目的地计算设备的多个副本。如果适当,则不是预期目的地的计算设备可被征召为中间计算设备,以最小化通过昂贵部分传送的数据的副本。此外,可以通过以下方式来对不容忍乱序递送的数据做出适应:利用自适应协议,所述自适应协议避免可能导致不容忍乱序递送的数据的乱序递送的机制,以及通过利用数据汇集点处的分组排序来对该数据重新排序。可使用不同协议设置来跨该网络的不同部分传送数据。,下面是用于数据分发的网络路由修改专利的具体信息内容。

1.一种将数据分发到多个计算设备的方法,所述方法包括以下步骤:
标识包括所述数据的源计算设备以及要将所述数据的副本分发到的至少两个预期目的地计算设备;
标识作为在所述源计算设备和所述至少两个预期目的地计算设备中的第一预期目的地计算设备之间的第一路径和在所述源计算设备和所述至少两个预期目的地计算设备中的第二预期目的地设备之间的第二路径两者的一部分的至少一个昂贵网络段,以使得被定向到所述第一预期目的地计算设备的所述数据的第一副本以及被定向到所述第二预期目的地计算设备的所述数据的第二副本两者将分别沿所标识的昂贵网络段被传送;
标识中间计算设备,以使得从所述源计算设备传送到所述中间计算设备的所述数据的副本将沿所述所标识的昂贵网络段被传送,但是从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备的数据将避免沿所标识的网络段传输;
以及
生成存储转发路由,所述存储转发路由包括:将所述数据的副本从所述源计算设备通过所述所标识的昂贵网络段传送到所标识的中间计算设备;在所述中间计算设备上存储所述数据的所传送的副本;在所述中间计算设备处将所述数据的所述副本分叉为所述数据的多个副本;以及将所述数据的所分叉的多个副本中的每个副本从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
2.如权利要求1所述的方法,其特征在于,所标识的中间计算设备是所述至少两个预期目的地计算设备之一。
3.如权利要求1所述的方法,其特征在于,所标识的中间计算设备不是所述至少两个预期目的地计算设备之一,所述方法进一步包括征召所标识的中间网络设备以:临时存储所述数据的所传送的副本;将所述数据的所传送的副本分叉为所述数据的所述多个副本;以及将所述数据的所分叉的多个副本中的每个副本传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
4.如权利要求1所述的方法,其特征在于,被传送到所标识的中间计算设备的所述数据的所述副本的分组在所述中间计算设备处被排序以最小化乱序递送。
5.如权利要求1所述的方法,其特征在于,所述生成包括:指定利用第一协议来用于将所述数据的所述副本从所述源计算设备通过所述所标识的昂贵网络段传送到所标识的中间计算设备;以及指定利用与所述第一协议不同的第二协议来用于将所述数据的所分叉的多个副本中的每个副本从所述中间计算设备传送到所述至少两个预期目的地计算设备中的所述多个预期目的地计算设备。
6.一种用于将数据分发到多个计算设备的系统,所述系统包括:
包括所述数据的源计算设备;
要将所述数据的副本分发到的至少两个预期目的地计算设备;
昂贵网络段,所述昂贵网络段是在所述源计算设备和所述至少两个预期目的地计算设备中的第一预期目的地计算设备之间的第一路径和在所述源计算设备和所述至少两个预期目的地计算设备中的第二预期目的地设备之间的第二路径两者的一部分,以使得被定向到所述第一预期目的地计算设备的所述数据的第一副本以及被定向到所述第二预期目的地计算设备的所述数据的第二副本两者将分别沿所标识的昂贵网络段被传送;以及包括用于执行以下步骤的计算机可执行指令的一个或多个计算机可读介质,所述步骤包括:
标识中间计算设备,以使得从所述源计算设备传送到所述中间计算设备的所述数据的副本将沿所述所标识的昂贵网络段被传送,但是从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备的数据将避免沿所标识的网络段传输;
以及
生成存储转发路由,所述存储转发路由包括:将所述数据的副本从所述源计算设备通过所述所标识的昂贵网络段传送到所标识的中间计算设备;在所述中间计算设备上存储所述数据的所传送的副本;在所述中间计算设备处将所述数据的所述副本分叉为所述数据的多个副本;以及将所述数据的所分叉的多个副本中的每个副本从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
7.如权利要求6所述的系统,其特征在于,进一步包括独立于所述源计算设备、所述至少两个预期目的地计算设备、以及所标识的中间计算设备的控制器计算设备,所述控制器计算设备包括所述一个或多个计算机可读介质。
8.如权利要求6所述的系统,其特征在于,进一步包括所标识的中间计算设备,其中所述一个或多个计算机可读介质包括进一步的计算机可执行指令,所述进一步的计算机可执行指令用于征召所述中间计算设备以:临时存储所述数据的所传送的副本;将所述数据的所传送的副本分叉为所述数据的所述多个副本;以及将所述数据的所分叉的多个副本中的每个副本传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
9.如权利要求6所述的系统,其特征在于,所述中间计算设备包括用于将被传送到所标识的中间计算设备的所述数据的所述副本的分组进行排序以最小化乱序递送的计算机可执行指令。
10.一种将数据分发到多个计算设备的系统,所述系统包括:
用于标识包括所述数据的源计算设备以及要将所述数据的副本分发到的至少两个预期目的地计算设备的装置;
用于标识作为在所述源计算设备和所述至少两个预期目的地计算设备中的第一预期目的地计算设备之间的第一路径和在所述源计算设备和所述至少两个预期目的地计算设备中的第二预期目的地设备之间的第二路径两者的一部分的至少一个昂贵网络段的装置,以使得被定向到所述第一预期目的地计算设备的所述数据的第一副本以及被定向到所述第二预期目的地计算设备的所述数据的第二副本两者将分别沿所标识的昂贵网络段被传送;
用于标识中间计算设备的装置,以使得从所述源计算设备传送到所述中间计算设备的所述数据的副本将沿所述所标识的昂贵网络段被传送,但是从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备的数据将避免沿所标识的网络段传输;以及
用于生成存储转发路由的装置,所述存储转发路由包括:将所述数据的副本从所述源计算设备通过所述所标识的昂贵网络段传送到所标识的中间计算设备;在所述中间计算设备上存储所述数据的所传送的副本;在所述中间计算设备处将所述数据的所述副本分叉为所述数据的多个副本;以及将所述数据的所分叉的多个副本中的每个副本从所述中间计算设备传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
11.如权利要求10所述的系统,其特征在于,所标识的中间计算设备是所述至少两个预期目的地计算设备之一。
12.如权利要求10所述的系统,其特征在于,所标识的中间计算设备不是所述至少两个预期目的地计算设备之一,所述系统进一步包括用于征召所标识的中间网络设备以执行以下操作的装置:临时存储所述数据的所传送的副本;将所述数据的所传送的副本分叉为所述数据的所述多个副本;以及将所述数据的所分叉的多个副本中的每个副本传送到所述至少两个预期目的地计算设备中的多个预期目的地计算设备。
13.如权利要求10所述的系统,其特征在于,被传送到所标识的中间计算设备的所述数据的所述副本的分组在所述中间计算设备处被排序以最小化乱序递送。
14.如权利要求10所述的系统,其特征在于,用于生成的装置包括:用于指定利用第一协议来用于将所述数据的所述副本从所述源计算设备通过所述所标识的昂贵网络段传送到所标识的中间计算设备的装置;以及用于指定利用与所述第一协议不同的第二协议来用于将所述数据的所分叉的多个副本中的每个副本从所述中间计算设备传送到所述至少两个预期目的地计算设备中的所述多个预期目的地计算设备的装置。

说明书全文

用于数据分发的网络路由修改

[0001] 背景
[0002] 现代服务器计算设备经常被以一种方式物理配置以提升有限空间(诸如机架)内的多个此类服务器计算设备的安装和维护。服务器计算设备的多个机架随后可被容纳在专用设施(常被称为“数据中心”)内。这种数据中心提供了高效缩放并且常被用来主存提供大量服务和功能性的物理服务器计算设备。例如,通过普遍存在的因特网和万维网能够访问的许多服务和功能性由数据中心中的服务器计算设备支持。其他服务和功能性(其可访问性可限于公司、大学或研究内联网)同样由数据中心内的服务器计算设备支持。
[0003] 经常,为了维持可靠性,数据的冗余副本被维持在在物理上分开地定位且彼此隔开的多个数据中心。这样的多个数据中心可分散遍及单个国家或在全世界。此外,其他数据集可能足够大,则如果所述数据集的各部分被彼此分开且隔开地维护在多个不同数据中心处可能是更经济且更可靠的,同样,这些多个不同的数据中心可分散遍及单个国家或在全世界。
[0004] 然而,高效数据处理通常要求数据被存储在物理上邻近执行此数据处理的服务器计算设备的处理单元的计算机可读存储介质上。因此,数据处理经常可需要将大量数据从存储该数据的数据中心复制到可执行此处理的数据中心。替换地或附加地,数据处理经常可需要将大量数据从处理该数据(通常生成新的或经修改的数据集)的数据中心复制到可存储该数据的数据中心。对该数据的处理可直接影响向数千或者甚至数百万用户提供服务,或者可甚至由其触发。因此,为了使这些用户能够更高效,并且为了避免用户恼火,通常期望该数据的处理可尽可能快且高效地执行。然而,在各数据中心之间复制数据,包括聚集数据以进行处理、随后对数据解除聚集以进行存储、以及其他数据交换或传输,所需的时间通常是可以多么快且高效地执行此处理的限制因素。
[0005] 概述
[0006] 在一个实施例中,当计算设备寻求传送多个数据副本到位于至少两个不同位置的计算设备时,通过“存储转发”方法体系来向多个不同位置传送该多个数据副本可实现高效率。
[0007] 在又一实施例中,控制器可标识数据可藉由从一个计算设备传送到至少两个不同位置中的多个其他计算设备的多个潜在路由。这种路由可通过经由以下方式最小化通过该网络的昂贵部分传送的该数据的副本的数目来优化:利用存储转发方法体系来仅将该数据的单个副本从该网络的昂贵部分一侧的发送方计算设备传送到该网络的该昂贵部分的相对侧的目的地计算设备,并随后在该目的地计算设备处将该数据分叉为进一步副本,以发送到进一步目的地计算设备。
[0008] 在进一步实施例中,控制器可标识尽管不是发送方计算设备的预期目的地但是可被征召来在存储转发方法体系中利用以最小化通过该网络的昂贵部分传送的该数据的副本的数目的计算设备。这种被征召的中间计算设备可接收并存储该数据的单个副本,且该数据随后可在该被征召的中间计算设备处被分叉为多个副本,并随后从该被征召的中间计算设备传送到多个预期目的地计算设备。
[0009] 在更进一步的实施例中,可针对不容忍乱序递送的数据做出适应。可利用自适应协议,藉由所述自适应协议可在被传送的数据不能容忍乱序传递的情况下避免可能导致这种乱序递送的机制。替换地或附加地,在数据汇集点处的内建分组排序可对该数据重新排序以最小化乱序递送的险。
[0010] 在再进一步实施例中,可利用不同协议设置来在存储转发方法体系中跨该网络的不同部分传送该数据的各副本。适于跨该网络的昂贵部分传送的数据的单个副本的协议设置可不同于适于跨该网络的高效部分传送的数据的多个副本的协议设置。协议设置也可取决于数据的类型和质量而改变。
[0011] 提供概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念的选集。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0012] 当参考附图阅读以下详细描述时,将使得其它特征和优点是显而易见的。
[0013] 附图简述
[0014] 以下详细描述在结合附图参考时可得到最佳的理解,附图中:
[0015] 图1是向多个不同目的地传送多个数据副本的示例性现有技术系统的框图
[0016] 图2是利用存储转发方法体系来向多个不同目的地传送多个数据副本的示例性路由修改的框图;
[0017] 图3是利用存储转发方法体系来向多个不同目的地传送多个数据副本的另一示例性路由修改的框图;
[0018] 图4是用于向多个不同目的地传送多个数据副本的示例性路由修改的流程图;以及
[0019] 图5是示出示例性通用计算设备的框图。
[0020] 详细描述
[0021] 以下描述涉及利用存储转发方法体系来修改路由,藉此项在至少两个不同的物理位置中的多个不同的目的地计算设备发送多个数据副本。控制器可标识可藉由从一个计算设备向多个其他计算设备传送数据的多个潜在路由,并且所述路由随后可通过最小化通过该网络的昂贵部分传送的该数据的副本的数目来优化。存储转发方法体系可被用来仅将该数据的单个副本从该网络的昂贵部分一侧的发送方计算设备传送到在该网络的该昂贵部分的相对侧的目的地计算设备,并随后在该目的地计算设备处将该数据分叉(fork)为进一步副本,以继续发送到进一步的目的地计算设备。不是预期目的地的计算设备可被征召以被用作中间计算设备以最小化通过该网络的昂贵部分传送的数据副本的数目。这种被征召的中间计算设备可接收并存储该数据的单个副本,且该数据随后可在该被征召的中间计算设备处被分叉为多个副本,并随后从该被征召的中间计算设备传送到多个预期目的地计算设备。此外,可通过以下方式针对不容忍乱序递送的数据做出适应:利用自适应协议,所述自适应协议可避免可能导致不能容忍的数据的乱序递送的机制的使用,以及利用数据汇集点处的分组排序来对数据重新排序来最小化乱序递送的可能性。可使用不同协议设置来跨该网络的不同部分传送该数据的副本。协议设置也可取决于数据的类型和质量而改变。
[0022] 本文描述的技术参考了特定类型的联网环境和上行文。具体而言,下面的描述将在服务器计算设备之间的数据中心间通信的上下文中提供。然而,这些参考是严格地示例性的,并且是为了描述和陈述清楚且为了易于理解而做出的。的确,本文描述的技术无需修改而等同适用于任何网络传输的优化,包括例如:由在客户端计算设备上执行的应用程序的数据分发、由专用网络设备的数据分发、以及由专用计算设备(诸如举例而言数字摄像机及数字媒体和内容共享设备)的数据分发。
[0023] 此外,在本文中参考了“昂贵”的网络段。如本文使用的,术语“昂贵”在应用于网络段时的意思是:由于成本,网络拥塞,有关所传送的数据量或数据类型的规章,有关数据传输的起点、目的地或性质的限制,或其他约束,数据的传输是困难的。因此,如本文使用的,拥塞的网络段是“昂贵”的网络段,即使不存在通过这一网络段的数据传输的货币收费,因为仅仅是这种网络段中的拥塞的存在就会导致通过这种网络段的数据传送比网络段不拥塞时更加困难。
[0024] 虽然未作要求,但以下描述的各方面将在诸如程序模等由计算设备执行的计算机可执行指令的一般上下文中提供。更具体而言,除非另外指明,否则描述的各方面将参考一个或多个计算设备或外围设备所执行的动作以及其所执行的操作的符号表示。由此,应当理解,有时被称作计算机可执行的这种动作和操作包括处理单元对以结构化形式表示数据的电信号的操纵。这种操纵转换了数据或将其维持在存储器的位置中,这就以本领域技术人员所熟知的方式来重新配置或更改计算设备或外设的操作。数据被维护在其中的数据结构是具有由数据形式所定义的特定属性的物理位置。
[0025] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将会认识到这些计算设备不必限于常规服务器计算机架或常规个人计算机,并且包括其他计算配置,包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机等等。类似地,这些计算设备不必限于独立计算设备,因为各机制也可以在通过通信网络链接的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
[0026] 参考图1,解说了示例性系统100,其包括多个计算设备,诸如计算设备111、112、113和114,这些计算设备可物理地位于一个或多个物理上不同的数据中心中,诸如数据中心121、122、123和124。计算设备111、112、113和114以及数据中心121、122、123和124处的其他类似计算设备可以作为网络101的部分被联网在一起,由此允许在两个或更多个计算设备之间的计算机可读数据的传输和共享。下面出于描述目的,数据中心121、122、123和124可通过具有物理节点131、132、133、134、135和136以及段141、142、143、144、145、146和147的物理联网基础结构联网在一起。如图所示,数据中心121的计算设备,诸如示例性计算设备111,可邻近节点131,以使得定向到数据中心121的计算设备的通信可被节点131路由到数据中心121,而沿网络101传送的其他通信可被路由穿过节点131,并按以下方式继续到达其他目的地:数据中心121的各计算设备将被其遗忘。类似地,数据中心122可邻近节点132,数据中心123可邻近节点133,而数据中心124可邻近节点134。
[0027] 在计算设备(诸如示例性计算设备111)的一个或多个处理单元上执行的计算机可执行指令可寻求将数据传送到其他计算设备,包括跨网络(诸如示例性网络101)传送数据。例如,计算设备111可具有该计算设备寻求分发到计算设备112、113和114的数据。从在计算设备111上执行的计算机可执行指令的度看,存在可将计算设备111直接连接到计算设备
112、113和114的不同的网络通信路径162、163、和164。网络101的物理现实可能非常不同,这是因为例如物理障碍(诸如物理障碍170)、成本、现有基础结构以及可能影响例如不同位置的数据中心之间的物理网络互连的位置和布局的其他类似因素。图1的系统100示例性地解说了形成网络101的各物理互连之间的差异,从例如在计算设备111上执行的过程的视角对该网络的感知,以及这种差异可如何导致低效网络传输。
[0028] 具体而言,为了将数据从数据中心121中的计算设备111传送到数据中心122中的计算设备112,数据可沿段141从节点131传送到节点135,并随后可沿段142从节点135传送到节点132,在节点132数据可被传送到数据中心122并最终传送到计算设备112。类似地,为了将数据从计算设备111传送到数据中心123中的计算设备113,数据可同样沿段141被从节点131路由,直到该数据到达节点135,并随后可沿段143和147被路由,如图1的系统100所示。并且为了将数据从计算设备111传送到数据中心123中的计算设备114,数据可同样沿段141被路由,并可随后沿段143和146被路由。如本领域技术人员将领会的,其他路由等同地适用。
[0029] 但是,如果计算设备111寻求向计算设备112、113和114中的每个计算设备发送数据副本,则在计算设备111上执行的计算机可执行指令可感知到该数据的三份不同副本,即,数据副本181、182和183,应当被传送,因为从这些计算机可执行指令的视点看,数据的副本181、182和183各自将沿不同的网络路径,即分别沿所感知的网络路径162、163和164传送。因此,当在计算设备111上执行的计算机可执行指令分别向计算设备112、113和114传送数据的副本181、182和183时,该数据的三份不同副本,即副本181、182和183将由计算设备111发送。然而,如前面所指示的,物理上,这些副本中的每个副本将沿段141传送。更具体而言,并如在图1的系统100中所解说的,数据副本181的路由191可以沿段141,可被用来向计算设备113传送数据副本182的路由192以及可被用来向计算设备114传送数据副本183的路由193同样可沿段141。因此,可以看到,从计算设备111到计算设备112、113和114的数据分发可不成比例地加重段141的负担,因为该数据的三份副本,即副本181、182和193,可各自沿段141被传送。如果被计算设备111传送的数据是大数据集,则段141可最终必须容纳数兆兆字节的冗余数据。
[0030] 因此,在一个实施例中,存储转发方法体系可被用来避免相同数据跨网络的段的多次传输。这种优化在网络的所标识的段正经历拥塞,或者正以其他方式是昂贵的(如该术语所被显式定义并在此处所使用的)时尤其有用,因为该数据的单个副本可被传递通过这种昂贵的段。这种数据的总的分发由此可以更高效数个数量级地达成,因为昂贵的网络段是完成这种数据分发的效率的限制因素,且通过使用存储转发方法体系,仅跨昂贵段发送该数据的单个副本而不是多个副本,可导致高数个量级的高效率,尤其是如果正分发该数据的许多副本的话。
[0031] 转向图2,本文示出的系统200解说了示例性网络101,其最初在图1中示出,不同在于,由计算设备111向计算设备112、113和114中的每一个的数据的多个副本的分发可通过使用存储转发方法体系来优化。具体而言,且在一个实施例中,控制器250可监视网络101并可从网络101接收开销信息210。这种开销信息210可标识网络101的当前昂贵的段。例如,在一个实施例中,开销信息210可以是可被路由器250获得的拥塞信息,诸如按照下面详细描述的方式。在其他实施例中,开销信息210可以是指示开销的其他信息,诸如应用到各段的限制、被用来确定跨各段传送数据的成本的成本表、以及其他类似信息。
[0032] 例如,在一个实施例中,开销信息210可包括由控制器经由闲言(gossip)协议获得的拥塞信息,通过该闲言协议控制器监视沿网络101的现有的和将要进行的通信并从中推导出拥塞信息。或替换地,沿网络101通信的各计算设备可从其现有的和将要进行的通信推导出拥塞信息,并随后可将该所推导出的拥塞信息提供给控制器250,该拥塞信息可以是开销信息210的形式。更具体而言,并且作为一个示例,如果计算设备111和其他计算设备112、113和114中的任一个之间的通信需要由于在分组预期之后才被接收而需要重复的重传,但是各计算设备112、113和114之间的通信则不呈现任何此类症状,则可确定沿段141存在拥塞,因为该段是与计算设备111通信的唯一的段。
[0033] 在替换实施例中,开销信息210可由控制器250通过更显式的手段获得。例如,控制器250可周期性地指令一个计算设备向其他计算设备传送探测分组。根据这种探测分组的传输所获得的数据,控制器250可推导出拥塞信息,该拥塞信息可以是开销信息210的一种形式。在又一替换中,网络101的各计算设备可主动传送探测分组并将结果报告给控制器250。
[0034] 尽管控制器250被示出为单个实体,然而本文描述的机制等同地适用于被实现为在可以是网络101的一部分的两个或更多个计算设备上执行的分布式过程的控制器250。作为又一替换,控制器250可被实现为一系列分层过程,藉此较低层控制器可与网络101的特定部分相关联,而较高层控制器可控制这样的较低层控制器并可通过其接收关于整个网络101的信息。
[0035] 在一个实施例中,控制器250可生成路由信息220,数据可藉由该路由信息被分发以最小化跨昂贵段(诸如昂贵段141)的数据传输,在图2中该昂贵段以灰色示出以用图形显示其为昂贵段。具体而言,在一个实施例中,在计算设备(诸如计算设备111)上执行的计算机可执行指令可与控制器250通信以通知控制器250计算设备111寻求将数据例如分发到计算设备112、113和114中的每一个。作为响应,控制器250可生成路由信息220,藉由该路由信息,数据的单个副本281可从计算设备111经由路由231传送到计算设备112,如在图2中所示。从图2的系统200可以看出,控制器250所提供的路由信息220可提供:该数据的副本281可以是沿昂贵段141传送的该数据的唯一副本,如由路由231所示。
[0036] 一旦数据的该副本281由计算设备112接收,则计算设备112可保留该数据的副本281,因为计算设备112可能已经是该数据的预期目的地。此外,数据281的进一步副本可由计算设备112制作并被传送到该数据的其他预期接收者。例如,并且如图2的系统200所示,数据的副本282和283可在计算设备112处被制作并随后可被从计算设备112传送到其他目的地计算设备,诸如计算设备113和114。具体而言,数据的副本282可以沿路由232从计算设备112传送到计算设备113,该路由也可以是控制器250所提供的路由信息220的一部分。类似地,数据的副本283可以沿路由233从计算设备112传送到计算设备114,该路由也可以是控制器250所提供的路由信息220的一部分。以此方式,不是通过昂贵段141传送数据的副本
281、282和283中的每一个,控制器250所提供的路由信息220可允许仅数据的单个副本281沿昂贵段141被传送,直到其抵达目的地计算设备112,如由路由231所示。在数据的一个副本281已经被传送通过昂贵段141之后,后续副本随后可被制作,并且被进一步传送。
[0037] 可以看出,通过利用存储转发方法体系,路由信息220(其可由控制器250颁布)可仅将该数据的单个副本281传递通过昂贵网络段141,并且此时可随后将该数据“分叉”到剩余的目的地计算设备,即计算设备113和114。如本文使用的,术语“分叉”的意思是将数据复制到两个或更多个副本以便将这些副本中的每个副本发送到一不同的目的地。存储转发方法体系因此使得能够在昂贵段141之后进行数据的分叉,由此增加达成数据从计算设备111到计算设备112、113和114的总分发效率。更具体而言,因为数据通过昂贵段141的传输可能是这种数据分发的总效率的限制因素,所以提供路由(诸如路由231、232和233)的这种路由信息220可减少通过昂贵段141所传送的数据量(在本示例中减少到三分之一)。如果数据的更大数目的副本要被分发,则所得到的效率增加可以相应地更大。类似地,如果多于一个网络段是昂贵的,则所得到的效率增加可类似地更大。
[0038] 利用存储转发方法体系(诸如图2的系统200所示的)的另一潜在优势在于:该数据通常可在更短的路径上行进。更具体而言,并且参考图1的系统100和图2的系统200之间的比较,如由路由193所示,图1的系统100的数据的副本183可沿段141、143和146行进。作为对比,图2的系统200中的数据的副本283到与图1的系统100的数据的副本183的相同的计算设备的传送可用可仅沿段145行进的路由233达成。因此,通过利用存储转发方法体系,用于传送数据的副本283的路径可被显著减小,诸如与通过图1的系统100中传送数据的副本183的路径相比。这种减小的路径长度可提供沿此类路径发送的数据的更少的往返时间,并且因此可以更快地发现诸如拥塞等因素。更具体而言,如果沿图1中示出的路由193的往返时间比沿图2中示出的路由233的往返时间长5倍,且在确定沿路径存在拥塞之前需要最少数目的分组丢失以及最少数目的所报告的递送失败,则更短的往返时间可导致失败的报告的递送快5倍地到达,并且因此可以快5倍地作出沿路径的拥塞的确定。
[0039] 在一个实施例中,由控制器250提供的路由信息220可被持续更新。作为示例,路由信息220可指示:可经由另一路由231将数据的副本281从始发计算设备111发送至预期目的地计算设备112,以及可沿路由232将该数据的副本282从计算设备112发送至另一预期计算设备,即计算设备113。然而,继续以上示例,一旦数据281抵达计算设备112并在该处分叉以生成该数据的副本282,则新开销信息210可由控制器250接收,该新开销信息可指示例如段144现在也是昂贵的。控制器250随后可在数据的各副本的分发中间更新路由信息220,通过提供针对该数据的从计算设备112到计算设备113的避开了段144的路由,诸如例如沿段
142、143和147行进的路由,或者沿段145、146和147行进的路由。
[0040] 为了进一步优化数据的副本到多个目的地设备的传输,可针对数据的不同传输利用不同的协议设置。例如,该数据的副本281从计算设备111到计算设备112沿路由231的传输可用例如对于段141正经历的那种网络拥塞而言适当的协议设置来执行。相反,该数据的副本283从计算设备112到计算设备114的传输可用对于数据通过高效分段(诸如没有经历拥塞的段)的高效传送而言适当的协议设置来执行。例如,该数据的副本283沿路由233的传输可以用差错控制协议设置来执行,该差错控制协议设置指定拥塞提供者可忽略至少一些分组丢失并继续以较高速率传送,因为通过例如具有段145未被拥塞的先见,可以预先确定沿路由233的所感知的丢失不太可能是拥塞的结果,并且因此到这种丢失被经历的程度,诸如举例而言通过将数据的副本283的传输向下扼流来执行对这种丢失的典型响应可仅导致低效而无任何值得注意的益处。
[0041] 在一个实施例中,为了确定存储转发方法体系是否应当被应用,可预先确定由应用这种方法体系带来的潜在效率增益。更具体而言,在一个实施例中,在利用存储转发路由之前,可在用于将数据的多个副本从始发计算设备(诸如举例而言计算设备111)传送到预期接收者计算设备(诸如举例而言计算设备112、113和114)中的每一个的时间和资源量以及用于仅将该数据的单个副本传送到预期接收者计算设备、在那里存储这种副本、在那里分叉数据的其他副本、并随后将那些其他副本转发到其他接收者计算设备的时间和资源量之间做出比较。如果这种比较揭示存储转发方法体系可能不产生任何效率,则在一个实施例中,可不利用基于这种存储转发方法体系的路由。
[0042] 如本领域技术人员将领会的,在利用存储转发方法体系时,数据的各单独的段被通过该网络不平等地传送且乱序抵达的可能性是存在的。在一个实施例中,用来利用存储转发方法体系(其中数据可能被乱序递送)传送数据的协议可以自适应,以在要被传送的数据不容忍乱序递送(诸如举例而言流传输的视频或音频数据)时阻止利用存储转发方法体系。在另一实施例中,分组排序可通过存储并随后转发该数据的中间计算设备来提供。例如,在图2的示例性系统200中,计算设备112在计算设备112着手将该数据分叉并将这些副本传送到计算设备113和114(即,分别是数据的副本282和283)之前对所接收的数据的副本281的分组进行排序。
[0043] 在图2的示例性系统200中,被用来存储该数据的副本、将其分叉为各副本并随后将各副本继续转发到其他计算设备的中间计算设备本身是该数据的预期目的地。然而,在其他实施例中,可征召原本不是该数据的预期目的地的计算设备来用于存储转发方法体系,如果这会导致更大的效率的话。例如,在图2的示例性系统220中,从始发计算设备111到接收方计算设备113的数据的传输采用了相当绕路的路由。具体而言,该数据首先可被跨段141和142传送到计算设备112,在该处可被存储并且另一副本随后被传送,跨段144和147到达计算设备113。如果不是在计算设备112处存储转发数据,而是利用邻近节点135的计算设备,则被定向到计算设备113的数据可从始发计算设备111跨越更短的路径,即包括段141、
143和147的路径。作为对比,利用图2的系统200的存储转发方法体系获得的其他高效率(即仅将该数据的单个副本跨昂贵段141传送)仍旧得以保留。
[0044] 因此,在一个实施例中,控制器250或其他类似机构可征召计算设备来担当存储转发方法体系中的中间计算设备。例如并且参考图3的示例性系统300,邻近节点135的数据中心350可被标识,且一计算设备(诸如示例性计算设备351)可被从数据中心350的各计算设备中选择以担当存储转发计算设备。在这种实施例中,征召动作320可以是可由控制器250生成的路由信息220的一部分。
[0045] 通过对计算设备351的征召,该数据的单个副本(即数据的副本380)仍旧可沿段141传送,如由路由330所示。因此,图3的示例性系统300仍旧可提供与跨昂贵段141仅传送该数据的单个副本相同的优势,如在上面详细描述的图2的示例性系统200。图3的示例性系统300的路由330可将来自始发计算设备111的数据的副本380提供至被征召的中间计算设备351。随后,在被征召的中间计算设备351处,数据的副本380可被分叉为数据的多个副本
381、382、和383,这些副本随后可由被征召的中间计算设备351分别传送到预期的目的地计算设备,即计算设备112、113和114。
[0046] 更具体而言,并且参考图3的示例性系统300,被征召的中间计算设备351可经由路由331将数据的副本381传送到预期的目的地计算设备112。类似地,被征召的中间计算设备351可经由路由332将数据的副本382传送至预期目的地计算设备113,并可经由路由333将数据的副本383传送至预期目的地计算设备114。从图2中示出的示例性系统200和图3的示例性系统300的比较可以看出,利用被征召的中间计算设备351的图3的示例性系统300的一个附加的优点可以是:始发计算设备111所提供的数据所采用的到预期目的地计算设备113的路径(即,沿段141、143和147的路径)可以比图2的示例性系统200的类似路径更短。
[0047] 在一个实施例中,因为中间计算设备351是原本不旨在维持该数据的副本的被征召的中间计算设备,所以一旦被征召的中间计算设备351正确地传送了数据的分叉的副本381、382和383之后,它接收的数据的副本380可以被丢弃,如由丢弃动作390所示。
[0048] 转向图4,其中示出的示例性流程图400解说了示例性的一系列步骤,通过所述步骤可以实现上述存储转发方法体系。具体而言,在步骤410,可以接收始发计算设备寻求向两个或更多预期目的地计算设备分发数据的指示。随后,在步骤415,可标识这种计算设备和其预期目的地计算设备之间的潜在网络路径和路由。在步骤420,可标识沿那些潜在路径的昂贵段。如先前所指示的,昂贵段的标识可按数种方式执行并且可基于各种信息的集合。例如,在一个实施例中,可利用拥塞信息来确定昂贵段。这种拥塞信息可主动获得,诸如通过闲言协议,或可反应性地获得,诸如通过探测分组的传送。随后,并且作为初始确定,在步骤425,可针对所标识的昂贵段是否能够简单地通过与在步骤420标识的潜在路径不同的路由来避免做出确定。如果在步骤425,确定可用替换路由来避免昂贵段,则在步骤450可生成这种替换路由。
[0049] 然而,如果在步骤425,确定不能完全避免昂贵段,则在步骤430可针对是否能通过仅将数据的单个副本通过这些段从始发计算设备传送到这些段另一侧的计算设备来最小化通过此类昂贵段的数据的传送做出确定。如先前所指示的,在步骤430,确定的一方面可包括不仅通过昂贵段的数据的传送的最小化是可能的,而且这种最小化是否实际上导致更高效的数据分发。
[0050] 如果在步骤430,确定通过一个或多个昂贵段传送的数据量可通过使用存储转发方法体系来最小化,并且这种方法体系可带来更高效的数据分发,则处理可进行至步骤445,在该步骤可生成存储转发路由,以使得数据的仅一个副本被发送至中间计算设备(其原是来自在步骤410所指示的各目的地计算设备中的预期目的地计算设备),并随后在该中间计算设备将该数据分叉为该数据的多个进一步副本,所述进一步副本随后可从该中间目的地计算设备路由到其他预期目的地计算设备。
[0051] 在一个实施例中,在步骤430处的决定可基于在步骤410标识的预期目的地计算设备来做出。因此,在步骤435处的随后决定可被做出以确定如果任何可用计算设备可被征召来担当中间计算设备,在步骤430是否会抵达一替换决定。如果在步骤435,该决定仍旧是,即便利用被征召的中间计算设备也没有可以最小化通过昂贵段的数据传送以使得达成总的更高效的数据分发的存储转发路由,则可利用的传统路由方法体系且涉及优化路由的相关处理在步骤465可结束。
[0052] 相反,如果在步骤435,标识可使得存储转发方法体系能够最小化通过昂贵段传送的数据量的一个或多个潜在能征召的计算设备,则处理可前进至步骤440,在该步骤,此类能征召的计算设备中的至少一个计算设备被征召并被用作中间目的地来接收并存储该数据的副本,将该数据分叉为多个副本,并将这多个副本传送到多个预期目的地。执行随后可前进至步骤445,如上面详细描述的。
[0053] 在执行步骤445或450之后,处理可前进至步骤455,在该点在步骤445或450生成的路由的一部分可被提供至数据的当前位置。更具体而言,在步骤455提供的路由可使得当前存储该数据的副本的计算设备将该数据的一个或多个随后副本传送至其他计算设备。在步骤460,可关于该数据的副本被传送到的那些其他计算设备是否是预期目的地计算设备还是仍旧是进一步的中间计算设备做出确定。如果是后者,则处理可返回至步骤415,且根据上面的描述来继续进行。如果是前者,则相关处理可在步骤465结束。
[0054] 转向图5,解说了示例性计算设备,上面详细描述了这些示例性计算设备的操作的代表。示例性计算设备500可包括但不限于,一个或多个中央处理单元(CPU)520、系统存储器530和将包括该系统存储器在内的各种系统组件耦合至处理单元520的系统总线521。系统总线521可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。取决于特定物理实现,CPU 520、系统存储器530和计算设备500的其他组件中的一个或多个可以在物理上位于同处,诸如在单个芯片上。在这一情况下,系统总线521的一部分或全部可以只不过是单个芯片结构内的通信通路,且其在图5中的图示只不过是方便用于说明目的的记法。
[0055] 计算设备500一般还包括计算机可读介质,该计算机可读介质可包括可被计算设备500访问的任何可用的介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算设备500访问的任何其它介质。然而,计算机存储介质不包括通信介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
[0056] 系统存储器530包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)531和随机存取存储器(RAM)532。基本输入/输出系统533(BIOS)包含有助于诸如启动时在计算设备500中元件之间传递信息的基本例程,它通常存储在ROM 531中。RAM 532通常包含处理单元520可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图5示出了操作系统534、其它程序模块535和程序数据536。
[0057] 在使用通信介质时,计算设备500可以经由到一个或多个远程计算机的逻辑连接在联网环境中工作。图5中所描绘的逻辑连接是到网络590的一般网络连接571,该网络可以是局域网(LAN)、诸如因特网的广域网(WAN)或其他网络。计算设备500通过网络接口或适配器570连接到一般网络连接571,该网络接口或适配器进而连接到系统总线521。在联网环境中,相对于计算设备500或其部分或外围设备所描绘的程序模块可被存储在通过一般网络连接571通信地耦合到计算设备500的一个或多个其他计算设备的存储器中。应当理解,所示的网络连接是示例性的,并且可使用在计算设备之间建立通信链路的其它手段。
[0058] 计算机系统500还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅仅作为示例,图5示出了对不可移动、非易失性介质进行读或写的硬盘驱动器541。可以与示例性计算设备一起使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器541通常通过诸如接口540等不可移动存储器接口连接到系统总线521。
[0059] 上文讨论并在图5中示出的驱动器及其相关联的计算机存储介质为计算设备500提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图5中,硬盘驱动器541被示为存储了操作系统544、其他程序模块545,以及程序数据546。注意,这些组件可以与操作系统534、其它程序模块535和程序数据536相同,也可以与它们不同。操作系统544、其它程序模块545和程序数据546在这里被标注了不同的标号是为了说明至少它们是不同的副本。
[0060] 从上面的描述可以看出,已经呈现了用于修改所分发数据的多个副本的路由的机制。考虑此处所述的主题的众多可能的变体,本发明要求保护落入以下权利要求书范围内的所有这样的实施例及其等效实施方式。
相关专利内容
标题 发布/更新时间 阅读量
定向声音修改 2020-05-13 713
修改对话窗口 2020-05-13 593
一种环保修改液 2020-05-12 539
一种修改纸 2020-05-11 922
声学信号修改 2020-05-12 965
修改对象的基层 2020-05-12 643
OCT图像修改 2020-05-12 308
修改液笔 2020-05-11 350
修改对象的基层 2020-05-13 91
引导过程修改 2020-05-13 886
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈