基于应用提供的传输元数据的网络传输调整的利记博彩app
【专利说明】基于应用提供的传输元数据的网络传输调整
[0001]背景
[0002]现代的服务器计算设备通过是按促成将多个这样的服务器计算设备安装和维护在诸如机架之类的有限空间内的方式来物理地配置的。然后,可以将多个服务器计算设备机架放在通常被称为“数据中心”的专用设施内。这样的数据中心提供高效缩放并且常被用来托管提供大量服务和功能性的物理服务器计算设备。例如,可通过普遍存在的因特网和万维网能够访问的许多服务和功能性由数据中心中的服务器计算设备支持。其他服务和功能性(其可访问性可限于公司、大学,或研究机构内联网)同样由数据中心内的服务器计算设备支持。
[0003]通常,为了维持可靠性,数据的冗余副本被维持物理上分开的定位并且彼此隔开的多个数据中心处。这样的多个数据中心可以遍及一个国家或在全世界扩散。此外,其他数据集可能足够大,以致于如果这样的数据集的各部分被彼此分开且隔开地维持在多个不同的数据中心处可能使更经济且更可靠的,同样,这些多个不同的数据中心可遍及单个国家或在全世界扩散。
[0004]然而,高效数据处理通常要求数据被存储在物理邻近执行这样的数据处理的服务器计算设备的处理单元的计算机可读存储介质上。因此,数据处理经常可需要将大量数据从存储这样的数据的数据中心复制到可以执行这样的处理的数据中心。替换地或附加地,数据处理经常可需要将大量数据从处理该数据的数据中心(通常以生成新的或修改过的数据集)复制到可存储该数据的数据中心。对这样的数据的处理可直接影响向数千或者甚至数百万用户提供服务或可甚至由其触发。因此,为使这样的用户更高效,并为了避免用户恼怒,通常期望对这样的数据的处理尽可能快并且高效地执行。然而,在各数据中心之间复制数据(包括聚集数据以进行处理、随后对数据解除聚集以进行存储、或其他数据交换或传输)所需的时间通常是可以多么快且高效地执行这样的处理的限制因素。
[0005]概述
[0006]在一个实施例中,网络组件可以调整协议设置和路由以在给定已知网络条件并给定传输元数据的情况下最大化数据从发送应用的高效传输,这可以描述这样的数据将如何被传输。
[0007]在再一个实施例中,可以定义在数据传输应用和网络组件之间的接口,该接口可以使数据传输应用能向这样的网络组件提供大量传输元数据。该接口可以允许提供传输元数据,该传输元数据可以处于下列形式:目的地信息、通信类型信息、关于要被传输的数据的量的信息、及时性信息、数据位置信息、成本信息、及其他类似的传输元数据。
[0008]在又一实施例中,网络组件可以使用传输元数据来优化协议设置,协议设置可以处于下列形式:对差错控制设置、流控制设置、接收器控制设置、分段设置,及其他类似的协议设置的调整。对这样的协议设置的优化也可以考虑当前网络条件。
[0009]在更进一步的实施例中,集中式控制器可以提供关于当前网络条件和网络配置的信息,以帮助网络组件优化协议设置和对要被传输的数据的路由。
[0010]提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0011]通过下面的结合附图对本发明进行的【具体实施方式】,本发明的附加特征和优点将变得更加显而易见。
[0012]附图简述
[0013]通过参考各个附图,可以更好地理解如下【具体实施方式】,其中:
[0014]图1是用于获得并使用传输元数据来调整网络传输的示例性系统的框图;
[0015]图2是用于获得并使用传输元数据来调整网络传输的示例性架构的框图;
[0016]图3是用于调整网络传输的传输元数据的示例性使用的流程图;以及
[0017]图4是示出了示例性通用计算设备的框图。
[0018]详细描述
[0019]下面的描述涉及用于调整网络传输的应用提供的传输元数据的获得和使用。可以在试图跨网络传输数据的应用和网络组件之间定义接口,以使应用能向网络组件提供传输元数据,然后,网络组件可以可任选地结合当前网络条件信息来使用该传输元数据来调整适用于传输该数据的路由和协议设置。传输元数据可包括目的地信息、通信类型信息、关于要被传输的数据的量的信息、及时性信息、数据位置信息、成本信息,及其他类似的传输元数据。利用这样的传输元数据,网络组件可以以对差错控制设置、流控制设置、接收器控制设置、分段设置及其他类似的协议设置进行调整的形式优化协议设置。在优化协议设置时,网络组件也可以使用当前网络条件信息,诸如当前网络配置和当前网络拥塞信息。这样的当前网络信息可以由网络组件本身获得,或可以通过集中式控制器来提供或由其增强。
[0020]此处所描述的技术参考特定类型的网络环境和上下文。具体而言,下面的描述将在服务器计算设备之间的数据中心间的通信的上下文内提供。然而,这样的参考是严格地示例性的,并且是为了描述和陈述清楚并且为便于理解而作出的。的确,本文描述的技术,在无需修改的情况下,同样地适用于优化任何网络传输,包括例如通过在客户端计算设备上执行的应用程序的传输、通过专用网络电器的传输、以及通过诸如、,例如数字视频记录器之类的专用计算设备的传输。
[0021]虽然未作要求,但以下描述的各方面将在诸如程序模块等正由计算设备执行的计算机可执行指令的一般上下文中提供。更具体而言,除非另外指明,否则,本描述的各方面将参考一个或多个计算设备或外围设备所执行的动作以及其所执行的操作的符号表示。由此,可以理解,这些有时被称为计算机执行的动作和操作包括以结构化形式表示数据的电信号的处理单元的操纵。该操纵变换数据或将其维护在存储器中的各个位置,这以本领域技术人员都理解的方式重新配置或以其他方式更改计算设备或外围设备的操作。其中维护数据的数据结构是具有由该数据的格式定义的特定特性的物理位置。
[0022]—般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将会认识到这些计算设备不必限于常规服务器计算机架或常规个人计算机,并且包括其他计算配置,包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机等等。类似地,这些计算设备不必限于独立计算设备,因为各机制也可以在通过通信网络链接的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
[0023]参考图1,示出了示例性系统100,其包括多个计算设备,诸如计算设备111、112以及113,它们可以物理地位于一个或多个物理地完全不同的数据中心,诸如数据中心121、122以及123。计算设备111、112以及113以及数据中心121、122以及123处的其他类似的计算设备可以作为网络101的一部分被联网在一起,由此允许计算机可读取的数据在两个或更多计算设备之间的传输和共享。以下出于描述的目的,数据中心121、122和123可以通过具有物理节点131、132、133和135和段141、142和143的物理网络基础结构联网在一起。如图所示,诸如示例性计算设备111之类的数据中心121的计算设备可以位于节点131附近并且被引导到数据中心121的计算设备的通信可以被节点131路由到数据中心121,而沿着网络101的其他通信可以被路由通过节点131,并按使得数据中心121的计算设备将不会察觉的方式被继续路由到其他目的地。类似地,数据中心122可以位于节点132附近,数据中心123可以位于节点133附近。
[0024]在诸如示例性计算设备111之类的计算设备的一个或多个处理单元上执行的计算机可执行指令可以寻求将数据传送到其他计算设备,包括跨诸如示例性网络101之类的网络传送数据。例如,应用程序161(包括在计算设备111的一个或多个处理单元中执行的计算机可执行指令)可以寻求跨网络101传送数据。为此,应用程序161可以与在计算设备111上执行的专用于跨网络传送数据以及从其中接收数据的其他计算机可执行指令进行通信。这样的计算机可执行指令通常被组织成一个或多个网络组件、插件、扩展、应用等等,此