CN105009102B - 用于多级聚合架构的***和方法 - Google Patents
用于多级聚合架构的***和方法 Download PDFInfo
- Publication number
- CN105009102B CN105009102B CN201380074743.7A CN201380074743A CN105009102B CN 105009102 B CN105009102 B CN 105009102B CN 201380074743 A CN201380074743 A CN 201380074743A CN 105009102 B CN105009102 B CN 105009102B
- Authority
- CN
- China
- Prior art keywords
- aep
- server
- central hub
- request
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了垂直聚合数据中心中的分层服务器的***和方法。示例方法包括划分数据中心中的多个服务器以形成聚合端点(AEP)的阵列。每一个AEP内的多个服务器通过AEP内网络结构连接并且不同AEP通过AEP间网络连接。每一个AEP具有充当AEP间网络上的端点的一个或多个中央集线器服务器。方法包括解析目标服务器标识(ID)。如果目标服务器ID是第一AEP中的中央集线器服务器,在第一AEP中处置请求。如果目标服务器ID是第一AEP本地的另一服务器,通过AEP内结构重定向请求。如果目标服务器ID是第二AEP中的服务器,向第二AEP传递请求。
Description
背景技术
当今的外扩(scale-out)数据中心部署通过高速网络交换机连接的许多(例如数千个)服务器。大型网络服务提供商(诸如但不限于搜索引擎、在线视频分发商和社交媒体站点)可能部署大量某些种类的服务器(例如前端服务器)而同时使用较少其它种类的服务器(例如后端服务器)。因此,数据中心服务器可以提供为逻辑分组。在每一个逻辑分组内,服务器可以运行相同应用,但是操作在不同的数据分区上。例如,可以在每一个逻辑分组内的服务器之中划分整个数据集,这有时使用用于负载平衡的哈希函数,以实现高可缩放性。
数据中心网络典型地将不同逻辑分组中的所有服务器视为网络中的直接端点,并且因此不致力于解决在外扩数据中心中发现的业务模式。例如,目前技术水平的部署可以使用以太网或无限带宽(InfiniBand)网络来连接具有N个前端服务器和M个memcached服务器(总共N+M个端点)的逻辑分组。这些网络使用更多交换机,这在资本支出(例如成本关于端口的数目非线性)和操作支出(例如大型交换机使用显著的能量)二者方面花费得更多。因此,构建具有这么多端点的高带宽数据中心网络可能是昂贵的。
附图说明
图1a-b是可以实现垂直分层的客户端-服务器架构的示例数据中心的图。
图2a-b示出了示例垂直分层的客户端-服务器架构。
图3a-d图示了垂直分层的客户端-服务器架构中的示例操作。
图4是垂直分层的客户端-服务器架构中的示例操作的流程图。
具体实施方式
通用分布式存储器高速缓存(也称为memcached)计算***是使用在外扩数据中心中的分层之一的示例。例如,诸如但不限于搜索引擎、在线视频分发商和社交媒体站点之类的许多网络服务提供商利用memcached计算***以提供对广阔数据储存器的更快速的访问。Memcached计算***在本地高速缓存中,典型地在能够比存储在非易失性存储器中的数据库更快速地被访问的暂时性存储器中,维护被频繁访问的数据和对象。照此,memcached服务器减少需要访问数据库自身的次数并且可以加速和增强数据驱动站点上的用户体验。
Memcached计算***可以实现在客户端-服务器架构中。关键值关联阵列(例如哈希表)可以跨多个服务器分布。客户端使用客户端侧库来联系服务器。每一个客户端可能知晓所有服务器,但是服务器不与彼此通信。客户端利用查询来联系服务器(例如以存储或读取数据或对象)。服务器确定在哪里存储或读取值。也就是说,当可用时,服务器在暂时性存储器中维护值。当暂时性存储器为满时,移除最少使用的值以释放更多暂时性存储器。如果所查询的数据或对象已经从暂时性存储器移除,则服务器可以从典型地驻留在后端服务器上的较慢的非易失性存储器访问数据或对象。致力于解决数据中心网络的成本和功率低效性在数据中心设计中首当其冲。
本文所公开的***和方法实现硬件和软件以便为数据中心提供低成本、高吞吐量联网能力。数据中心可以包括外扩服务器的多个分层。但是取代于在多个分层中连接所有节点(例如作为直接对等设备和数据中心网络中的端点),通过将来自两个(或更多)分层的服务器的子组本地聚合为到网络的单个端点(在本文中称为聚合端点(AEP))来减少端点的数目。在聚合端点(AEP)内,来自不同分层的服务器组可以使用AEP内的低功率、低成本但高带宽且低等待时间的本地结构连接。例如,服务器可以使用PCIe总线或适合用于短距离物理邻域的其它本地结构连接。全局网络然后可以用于连接服务器之中的子组端点。虽然这在概念上类似于聚合单个更大服务器(例如按比例放大的模型)内的多个功能,但是该配置具有与分布式(例如外扩)模型兼容的附加优点。外扩模型比按比例放大的模型更加不受故障影响,并且可以利用多个较小且不太昂贵的服务器。
在作为垂直聚合的分层架构的不同分层中呈现各种数目和配置的服务器可以实现网络聚合的益处而不需要特殊的硬件支持。此外,该架构通过在协议或应用层级聚合和转发小型分组而减少用于(在执行大型网络应用的memcached服务器中是典型的)小型分组的处理开销。
在继续之前,要指出的是,如本文所使用的,术语“包括”和“包含”意指但不限于“包括”或“包含”和“至少包括”或“至少包含”。术语“基于”意指“基于”和“至少部分地基于”。
图1a-b是可以实现垂直分层的客户端-服务器架构的示例数据中心的图。图1a是数据中心的物理表示100。图1b是对应于图1a的数据中心的拓扑表示101。数据中心100可以包括服务器架构,其继续增加传统服务器密度,并且照此可以称为“外扩”数据中心。外扩数据中心可以包括任何数目的组件,如图中所图示的。
数据中心可以利用任何各种各样的计算设备实现,仅举可以配置用于安装在机架中的设备的几个示例,诸如但不限于服务器、存储装置、电器(例如专用于提供服务的设备)和通信设备。每一个计算设备可以包括存储器和至少足以管理与彼此的直接(例如经由总线)或间接(例如经由网络)通信连接的一定程度的数据处理能力。至少一个计算设备还配置有足以执行本文所描述的程序代码的处理能力。
示例架构可以包括呈现给客户端设备(未示出)的前端(FE)服务器110a-c。前端服务器110a-c中的每一个可以经由数据中心网络120连接到后端服务器130a-b(例如memcached服务器)。出于说明的目的,数据中心可以执行由客户端计算设备(例如因特网用户)访问的在线数据处理服务。由数据中心提供的示例服务可以包括经由后端服务器130a-b的通用计算服务。例如,服务可以包括对托管在因特网上或者作为用于任何数目的客户端应用(诸如搜索引擎、在线视频分发商和社交媒体站点)的动态数据端点的数据集合的访问。服务还包括与应用编程接口(API)的对接和有关支持基础设施,其之前为桌面和局域网计算***排他域,诸如应用引擎(例如在线文字处理和图形应用),以及托管的商业服务(例如在线零售商)。
客户端不限于能够经由诸如因特网之类的网络访问前端服务器110a-c的任何特定类型的设备。在一个示例中,通信网络包括因特网或其它移动通信网络(例如3G或4G移动设备网络)。作为说明,客户端可以包括个人计算机、平板和移动设备。前端服务器110a-c可以是能够访问后端服务器130a-b的任何合适的计算机或计算设备。前端服务器110a-c可以经由诸如局域网(LAN)和/或广域网(WAN)之类的数据中心网络120访问后端服务器130a-b。数据中心网络120还可以提供分布式环境中的更大可访问性,例如,其中多于一个用户可以具有输入和/或从在线服务接收输出。
如图1b中所示,数据中心100可以包括N个前端(FE)服务器和M个后端(例如memcached)服务器。在示例中,N比M大得多。数据中心100中的网络通信具有以下特性。层内业务量非常少,因为外扩分层(例如memcached)内的服务器极少通信或者完全不通信。跨两个分层的任何服务器对可以通信,从而在逻辑上形成完整的双向图。此外,不同分层的大小(例如分层内的服务器的数目)可以非常不同。例如,网络前端分层与memcached分层之间的服务器计数之比可以为四或更大。
本文所公开的***和方法实现数据中心内的多级聚合架构。聚合在图1a中通过虚线140图示。在示例中,多级聚合架构是垂直分层的架构。术语“垂直分层的”架构是指可以塌缩(例如两个分层塌缩成一个分层)以减小架构高度的分层。
用于垂直分层的客户端-服务器架构的上下文涉及常见使用情况。在不丧失一般性的情况下,架构可以实现为前端+memcached多层数据中心,其类似于大型网络应用(例如社交媒体站点)所采用的配置。在示例中,高效且高带宽的本地网络(例如PCIe)可以与以太网(或类似物)网络组合以提供低开销和分组聚合/转发。该方案致力于解决网络硬件带宽/端口计数瓶颈,提供用于处置小型分组的减少的开销,并且增强存储器容量管理和可靠性。参照图2a-b更加详细地讨论示例。
要指出的是,图中所示的组件仅仅为了说明示例操作环境的目的而提供,并且不意图将实现限制于任何特定***。
图2a-b示出示例垂直分层的客户端-服务器架构。图2a是数据中心的物理表示200。图2b是对应于图2a的数据中心的拓扑表示201。在示例中,将多层数据中心示出为其可以表示为经由AEP间结构连接的近似相等大小的子组(例如在图中示出两个,210和212)的阵列。子组210和212中的每一个表示数据中心网络中的单个聚合端点(AEP)。
在每一个AEP 210和212内,一个服务器可以充当中央集线器(分别通过服务器240和242图示)。中央集线器与其它AEP对接并且充当AEP内业务交换机。例如,AEP 210中的中央集线器220a可以与AEP 212中的中央集线器242对接。每一个AEP 210和212中的不同服务器可以经由AEP 210中的本地结构(和AEP 212中的结构232)互连。在示例中,本地结构可以是成本高效、能量高效的高速结构,诸如PCIe。
每一个AEP内和跨AEP的服务器之中的业务模式是已知的。照此,结构还可以被优化(调节)以支持特定业务模式。例如,在前端/memcached架构中,前端(FE)服务器与memcached节点对话。但是在FE服务器之间或memcached服务器之间存在几乎为零的业务量。因此,memcached服务器可以被选择为不同AEP内的集线器。
出于说明的目的,每一个AEP中的第二分层服务器(memcached服务器)使用协议层级语义聚合AEP内的memcached请求以确定目标服务器。例如,前端服务器可以使用一致性哈希来计算用于给定memcached <key, value>请求的目标memcached服务器。这些请求通过AEP内结构(例如PCIe链路)传递到集线器节点。集线器节点计算对应的目标服务器ID。
在该说明中,如果目标是中央集线器自身,中央集线器服务器处置请求并且向AEP本地前端服务器发送回响应。如果目标服务器是远程服务器(例如在一个AEP中),则中央集线器缓冲请求。例如,请求可以基于目标服务器ID进行缓冲。在另一示例中,请求可以基于例如目标AEP ID进行缓冲,如果多个服务器可以包括在一个AEP中以供进一步聚合的话。当缓冲器累积了充足的分组时,中央集线器将这些请求翻译成一个多得到请求(在应用协议层级)或巨大的网络分组(在网络协议层级)并且向目标转发请求。
要指出的是,虽然聚合不需要实现在每一个实例中,但是聚合可以显著降低用于小型分组的分组处理开销。然而,这还可能导致处理延迟,例如,如果不存在针对特定目标ID的足够的小型分组以聚合成单个请求的话。因此,可以实现阈值以避免过量延迟。在示例中,如果缓冲器中的最陈旧的分组的等待时间超过用户指定的聚合等待时间阈值,即使缓冲器不具有聚合成单个请求的充足分组,中央集线器也仍旧在满足阈值时发送分组,以例如满足等待时间服务质量(QoS)标准。
在任何事件中,当目标服务器(分离地或聚合地)接收到(多个)请求分组时,处理请求并且将其作为响应分组发送回源。要指出的是,响应分组可以立即被发送,或者作为聚合响应累积在缓冲器中。源服务器接收响应分组,将响应分组拆分成多个响应(如果之前聚合的话),并且向AEP内的请求前端服务器发送(多个)响应。
虽然该示例说明了根据memcached协议处置请求,但是要指出的是,还可以实现其它接口。例如,请求可以以碎片的方式被组织,其中目标服务器可以通过借由静态哈希机制(诸如与传统SQL数据库一起使用的那些)或其它分布式存储抽象消除歧义来标识。
在继续之前,要指出的是,虽然附图出于图示的目的描绘了服务器的两个分层,本文所公开的概念可以扩展到任何数目的多个分层。此外,分层可以包括服务器、存储装置和单个数据中心和/或多个数据中心中的其它计算设备的任何组合。另外,本文所描述的聚合架构可以利用任何“节点”实现并且不限于服务器(例如memcached服务器)。聚合可以是物理和/或逻辑分组。
要指出的是,在图2a-b和3a-d中,物理网络通过实线链接组件示出,并且节点之间的分组通信在物理网络之上并且在图3a-d中通过点划线图示。
图3a-d图示了垂直分层的客户端-服务器架构300中的示例操作。操作可以至少部分地通过机器可读指令(诸如但不限于软件或固件)实现。机器可读指令可以存储在非暂时性计算机可读介质上并且由一个或多个处理器可执行以执行本文所描述的操作。模块可以集成在自立式工具内,或者可以实现为运行在数据中心中的现有设备的顶部上的代理。程序代码执行架构的功能。然而,要指出的是,本文所描述的操作不限于利用任何特定类型的程序代码的任何具体实现。
在图3a-d中的示例中,多个服务器形成AEP 310和312,在此以简化形式示出。在示例中,在每一个AEP 310和312中定制划分多个服务器以针对特定访问模式进行优化。例如,AEP内的服务器类型的混合可以基于不同分层处的容量要求而变化,并且可以定制AEP内和跨AEP的网络拓扑以适应服务器通信模式。
每一个AEP 310和312经由AEP间结构或网络350(例如以太网)连接。每一个AEP中的一个服务器被指派为中央集线器服务器。例如,在AEP 310中示出中央集线器服务器320,并且在AEP 312中示出另一中央集线器服务器322。所有节点服务器在每一个AEP内经由AEP内结构(例如PCIe)互连。例如,示出节点340连接到AEP 310中的中央集线器320;并且示出节点342连接到AEP 312中的中央集线器322。
要指出的是,还可以实现其它结构。在示例中,AEP内结构快于AEP间结构。在操作期间,中央集线器服务器320接收请求360。中央集线器服务器320解析针对请求360的目标服务器标识(ID)。在示例中,中央集线器服务器使用协议层级语义来解析目标服务器ID(例如,使用一致性哈希和AEP配置来计算以上说明的前端+memcached示例中的目标ID)。
在图3a中,图示了其中目标服务器ID是中央集线器服务器320自身的使用情况。在该示例使用情况中,中央集线器服务器320处置请求和响应。例如,中央集线器服务器可以发送响应370。
在图3b中,图示了其中目标服务器ID是第一AEP 310中的本地服务器340的使用情况。在该示例使用情况中,中央集线器服务器通过AEP内结构向第一AEP 310中的本地服务器340传递请求360。请求本地服务器解析目标ID也是可能的,并且当目标服务器是AEP内的本地对等设备时,请求本地服务器直接与目标本地服务器通信也是可能的。
在图3c中,图示了其中目标服务器ID是第二AEP 312中的远程服务器342的使用情况。在该示例使用情况中,中央集线器服务器320向第二AEP 312中的中央集线器服务器322传递请求。在向第二AEP 312传递请求之后,请求被由目标服务器ID标识的第二AEP 312中的服务器处置。第一AEP 310中的中央集线器服务器320然后从第二AEP 312接收对请求的响应。
在图3d中,图示了其中实现缓冲和转发子***380以在向由目标服务器ID标识的服务器发送一起作为单个聚合请求382的分组之前聚合分组360a-b。当接收到聚合请求382时,中央集线器服务器322自身处理聚合请求,或者在向由目标服务器ID标识的本地服务器发送拆分请求之前对聚合请求分组进行拆分。同样地,当接收到聚合响应385时,中央集线器服务器320在发布拆分370a-b响应之前拆分聚合响应分组385。
在示例中,聚合阈值可以通过缓冲和转发子***380来实现。聚合阈值控制用于发布分组的等候时间,从而实现聚合的益处而不增加等待时间。作为说明,分组可以在中央集线器服务器320处缓冲并且然后可以将所缓冲的分组一起作为单个请求382发布给由目标服务器ID标识的服务器。在示例中,聚合可以是基于分组的数目。也就是说,在缓冲器中收集到预确定数目的分组之后发送聚合分组。在示例中,聚合可以是基于等待时间。也就是说,在预确定的时间之后发送聚合分组。在另一示例中,聚合阈值可以是基于分组数目和时间二者,或者这些和/或其它因素的组合。
可以定制本文所描述的架构以针对数据中心中的特定访问模式进行优化。协议层级或应用层级语义可以用于计算目标节点ID并且聚合小型分组以进一步减少软件相关开销。照此,分层外扩服务器的垂直聚合减少端点的数目,并且因而减少数据中心网络的成本和功率要求。此外,使用AEP内的低成本、高速结构改进用于本地业务的性能和效率。
在继续之前,应当指出的是,以上描述的示例出于说明的目的而提供,并且不意图是限制性的。其它设备和/或设备配置可以用于实施本文所描述的操作。例如,“服务器”可以如同电路板上的单个组件那样简单,或者甚至是集成片上***内的子***。各个服务器可以协同定位在相同的底盘、电路板、集成电路(IC)或片上***中。换言之,AEP的实现不意图限于各个服务器的物理上分布的集群,而是可以实现在单个物理外壳或组件内。
图4是垂直分层的客户端-服务器架构中的示例操作的流程图。操作400可以体现为一个或多个计算机可读介质上的逻辑指令。当在处理器上执行时,逻辑指令使通用计算设备编程为实现所描述的操作的专用机器。在示例中,可以使用图中描绘的组件和连接。
操作410包括划分数据中心中的多个服务器以形成第一聚合端点(AEP)。第一AEP可以具有比各个服务器更少的外部连接。操作420包括经由AEP内结构将第一AEP中的中央集线器服务器连接到至少第二AEP。操作430包括解析用于中央集线器服务器处的请求的目标服务器标识(ID)。
如果在判定块440处确定目标服务器ID是中央集线器服务器,操作441包括在中央集线器服务器处处置请求,并且在操作442中响应于前端(FE)服务器。
如果在判定块450处确定目标服务器ID是第一AEP本地的服务器,操作451包括通过AEP内结构向第一AEP本地的服务器传递请求,并且在操作452中响应于中央集线器服务器,其然后响应于前端(FE)服务器。
如果在判定块460处确定目标服务器ID是远程服务器(例如第二AEP中的服务器),操作461包括向第二AEP传递请求,并且在操作462中响应于中央集线器服务器,其然后响应于前端(FE)服务器。要指出的是,第二AEP处的中央集线器服务器可以处置请求,或者在第二AEP内进一步传递请求。
在示例中,划分服务器是基于数据中心的通信模式。除在前端+memcached使用情况中例示的双向拓扑之外,其它示例可以包括活动-活动冗余、服务器到共享存储装置通信等。要指出的是,本文所描述的操作可以实现成维持冗余和自治,而同时在划分之后增加所有服务器的聚合速度。
提供本文所示出和描述的操作以说明示例实现。要指出的是,操作不受限于所示出的顺序。本文所描述的操作的各种顺序可以是自动化或部分自动化的。
还可以实现再其它的操作。在示例中,聚合阈值可以实现成控制用于发布分组的等候时间,以实现聚合的益处而不增加等待时间。聚合阈值致力于解决网络硬件成本和软件处理开销,而同时仍旧维持等待时间QoS。因此,聚合阈值可以减少成本并且改进分层外扩数据中心中的功率效率。
作为说明,操作可以包括在中央集线器服务器处缓冲分组并且向由目标服务器ID标识的服务器发送一起作为单个请求的经缓冲的分组。操作还可以包括基于缓冲器中的分组数目发送经缓冲的分组。并且操作还可以包括基于缓冲器中的分组的等待时间发送经缓冲的分组。
要指出的是,所示出和描述的示例出于说明的目的而被提供并且不意图是限制性的。还设想到再其它的示例。
Claims (15)
1.一种垂直聚合数据中心中的分层服务器的方法,包括:
划分数据中心中的多个服务器以形成聚合端点AEP的阵列,其中每一个AEP内的多个服务器通过AEP内网络结构连接并且不同AEP通过AEP间网络连接,并且每一个AEP具有充当AEP间网络上的端点的一个或多个中央集线器服务器;
解析用于来自第一AEP中的中央集线器服务器处的AEP本地服务器的请求的目标服务器标识ID:
如果目标服务器ID是第一AEP中的中央集线器服务器,在第一AEP中的中央集线器服务器处处置请求并且响应于请求服务器;
如果目标服务器ID是第一AEP本地的另一服务器,通过AEP内结构将请求重定向到第一AEP本地的服务器;以及
如果目标服务器ID是第二AEP中的服务器,向第二AEP传递请求。
2.如权利要求1所述的方法,其中划分多个服务器是基于数据中心中的通信模式,并且其中划分多个服务器通过连接服务器和AEP静态地执行,或者动态地执行,其中服务器之间的网络结构能够在部署之后进行编程。
3.如权利要求1所述的方法,还包括在中央集线器服务器处缓冲分组以及向由目标服务器ID标识的服务器发送一起作为单个请求的多个经缓冲的分组。
4.如权利要求1所述的方法,还包括基于累积的分组数目发送多个经缓冲的分组和在满足等待时间阈值时发送经缓冲的分组。
5.一种用于多级聚合架构的***,包括:
形成聚合端点AEP的阵列的多个服务器,其中每一个AEP内的多个服务器通过AEP内网络结构连接并且不同AEP通过AEP间网络连接,并且每一个AEP具有充当AEP间网络上的端点的一个或多个中央集线器服务器;
第一AEP中的中央集线器服务器,中央集线器服务器解析用于来自第一AEP中的中央集线器服务器处的AEP本地服务器的请求的目标服务器标识ID:
如果目标服务器ID是第一AEP中的中央集线器服务器,在第一AEP中的中央集线器服务器处处置请求并且响应于请求服务器;以及
如果目标服务器ID是第一AEP本地的另一服务器,通过AEP内结构将请求重定向到第一AEP本地的服务器;以及
如果目标服务器ID是第二AEP中的服务器,向第二AEP传递请求。
6.如权利要求5所述的***,其中中央集线器服务器在向第二AEP传递请求之后接收对来自第二AEP的请求的响应以增加联网性能/功率效率。
7.如权利要求5所述的***,其中中央集线器服务器还向第一AEP内的本地请求服务器发送响应。
8.如权利要求5所述的***,其中AEP内的各个服务器在物理上协同定位在相同底盘或电路板中。
9.如权利要求5所述的***,其中AEP内的各个服务器在物理上协同定位在相同集成电路或片上***中。
10.如权利要求5所述的***,其中中央集线器服务器在递送各个响应之前拆分聚合分组。
11.如权利要求5所述的***,其中AEP内结构能够是比AEP间结构更高性能并且更好成本/功率效率的结构。
12.如权利要求5所述的***,其中多个服务器在AEP中定制划分以优化特定访问或业务模式。
13.如权利要求5所述的***,其中中央集线器服务器使用应用或协议层级语义来解析目标服务器ID。
14.如权利要求5所述的***,还包括在向由目标服务器ID标识的服务器发送一起作为单个请求的分组之前聚合分组的缓冲和转发子***。
15.如权利要求5所述的***,还包括当满足等待时间阈值时发送经缓冲的分组。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/021568 WO2014112975A1 (en) | 2013-01-15 | 2013-01-15 | Vertically-tiered client-server architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105009102A CN105009102A (zh) | 2015-10-28 |
CN105009102B true CN105009102B (zh) | 2019-01-25 |
Family
ID=51209935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074743.7A Active CN105009102B (zh) | 2013-01-15 | 2013-01-15 | 用于多级聚合架构的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150350381A1 (zh) |
EP (1) | EP2946304B1 (zh) |
CN (1) | CN105009102B (zh) |
WO (1) | WO2014112975A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140124506A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 무선랜 시스템에서의 효율적인 어그리게이션 스케쥴링 장치 및 방법 |
CA3026475A1 (en) * | 2016-06-10 | 2017-12-14 | Schneider Electric Industries Sas | Method and system for providing proxy service in an industrial system |
US10209887B2 (en) * | 2016-12-20 | 2019-02-19 | Texas Instruments Incorporated | Streaming engine with fetch ahead hysteresis |
US20190044889A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Coalescing small payloads |
US10650023B2 (en) * | 2018-07-24 | 2020-05-12 | Booz Allen Hamilton, Inc. | Process for establishing trust between multiple autonomous systems for the purposes of command and control |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2189904A1 (en) * | 2008-11-19 | 2010-05-26 | General Electric Company | Systems and methods for electronically routing data |
CN102834814A (zh) * | 2010-04-20 | 2012-12-19 | 日本电气株式会社 | 分发***、分发控制设备和分发控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129274A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Inter-partition message passing method, system and program product for a security server in a partitioned processing environment |
JP4611062B2 (ja) * | 2005-03-09 | 2011-01-12 | 株式会社日立製作所 | 計算機システムおよび計算機システムにおけるデータのバックアップ方法 |
US8417766B2 (en) * | 2008-06-25 | 2013-04-09 | Viasat, Inc. | Methods and systems for peer-to-peer app-level performance enhancing protocol (PEP) |
US8588253B2 (en) * | 2008-06-26 | 2013-11-19 | Qualcomm Incorporated | Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device |
US9538142B2 (en) * | 2009-02-04 | 2017-01-03 | Google Inc. | Server-side support for seamless rewind and playback of video streaming |
US8380931B2 (en) * | 2010-03-12 | 2013-02-19 | Microsoft Corporation | Memory cache data center |
US9100202B2 (en) * | 2010-11-18 | 2015-08-04 | Business Objects Software Limited | Message routing based on modeled semantic relationships |
-
2013
- 2013-01-15 EP EP13871522.2A patent/EP2946304B1/en active Active
- 2013-01-15 US US14/759,692 patent/US20150350381A1/en not_active Abandoned
- 2013-01-15 WO PCT/US2013/021568 patent/WO2014112975A1/en active Application Filing
- 2013-01-15 CN CN201380074743.7A patent/CN105009102B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2189904A1 (en) * | 2008-11-19 | 2010-05-26 | General Electric Company | Systems and methods for electronically routing data |
CN102834814A (zh) * | 2010-04-20 | 2012-12-19 | 日本电气株式会社 | 分发***、分发控制设备和分发控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2946304A4 (en) | 2016-09-07 |
CN105009102A (zh) | 2015-10-28 |
EP2946304A1 (en) | 2015-11-25 |
WO2014112975A1 (en) | 2014-07-24 |
US20150350381A1 (en) | 2015-12-03 |
EP2946304B1 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
CN107710238B (zh) | 具有堆栈存储器的硬件加速器上的深度神经网络处理 | |
CN105009102B (zh) | 用于多级聚合架构的***和方法 | |
CN107710237B (zh) | 服务器上深度神经网络划分 | |
JP5450547B2 (ja) | 自己管理型分散メディエーションネットワーク | |
CN103106249B (zh) | 一种基于Cassandra的数据并行处理*** | |
CN109218355A (zh) | 负载均衡引擎,客户端,分布式计算***以及负载均衡方法 | |
CN109428770A (zh) | 用于管理网络统计计数器的技术 | |
US10318333B2 (en) | Optimizing allocation of virtual machines in cloud computing environment | |
US20160132541A1 (en) | Efficient implementations for mapreduce systems | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN102307206B (zh) | 基于云存储的快速访问虚拟机镜像的缓存***的缓存方法 | |
JP6262939B2 (ja) | ネットワークスイッチを用いたキャッシュシステム及びキャッシュサービスの提供方法 | |
CN1658598A (zh) | 计算机网络中自组织分配服务方法、***和软件产品 | |
CN104205080A (zh) | 为联网设备虚拟化卸载分组处理 | |
CN102970242B (zh) | 一种实现负载均衡的方法 | |
CN106484322A (zh) | 一种挂载文件***的方法、装置及设备 | |
CN102394929A (zh) | 一种面向会话的云计算负载均衡***及其方法 | |
JP2007234014A (ja) | スケーラブルなコンテンツベースのイベントマルチキャストプラットフォーム | |
US11381506B1 (en) | Adaptive load balancing for distributed systems | |
CN110119405B (zh) | 分布式并行数据库资源管理方法 | |
Yang et al. | SwitchAgg: A further step towards in-network computation | |
CN108090000A (zh) | 一种获取cpu寄存器信息的方法及*** | |
CN106534303A (zh) | 一种应用于对账***的负载均衡方法和装置 | |
Yang et al. | SwitchAgg: A further step towards in-network computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170122 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |