CN105706044B - 基于排名的工作保持调度器 - Google Patents

基于排名的工作保持调度器 Download PDF

Info

Publication number
CN105706044B
CN105706044B CN201480060528.6A CN201480060528A CN105706044B CN 105706044 B CN105706044 B CN 105706044B CN 201480060528 A CN201480060528 A CN 201480060528A CN 105706044 B CN105706044 B CN 105706044B
Authority
CN
China
Prior art keywords
queue
ranking
grade
data grouping
grade ranking
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
Application number
CN201480060528.6A
Other languages
English (en)
Other versions
CN105706044A (zh
Inventor
马沙
菲利普·陈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105706044A publication Critical patent/CN105706044A/zh
Application granted granted Critical
Publication of CN105706044B publication Critical patent/CN105706044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/623Weighted service order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/064Linked list, i.e. structure using pointers, e.g. allowing non-contiguous address segments in one logical buffer or dynamic buffer space allocation

Abstract

可基于排名系统实现工作保持调度器,以提供时间戳的可扩展性同时避免与传统时间戳实现方式相关联的快速搜索。每个队列可被分配最初被设置为零的时间戳。每次来自队列的数据分组被处理时,该队列的时间戳可被增大。为向不同队列提供变化的权重,可以变化的速率来增大队列的时间戳。可基于根据与每个队列相关联的时间戳确定的队列的等级排名顺序来从队列处理数据分组。为提高确定排名的速度,可根据定义时间戳的位的子集而不是整个位集来计算排名。

Description

基于排名的工作保持调度器
相关申请的交叉引用
本申请要求于2013年11月05日递交的、申请号为61/900,377的美国临时专利申请的优先权,其全部内容通过引用明确地合并于此。
技术领域
本技术涉及工作调度器,更具体地涉及基于排名的工作保持调度器(workconserving scheduler)。
背景技术
最流行的工作保持调度器设计是差额加权轮询(DWRR)。在此设计中,针对每个队列维持差额值,数据分组从每个队列被处理。差额值可指示可用于处理队列中的数据的剩余信用额。只要针对队列的差额大于零,队列就适合于处理请求。数据分组以轮询方式从每个合格的队列被处理,随着工作完成而用尽信用,直到每个队列都不合格,此时每个队列被记入额外的信用,并且针对每个队列的差额被相应地重置。为向队列提供不同权重,被记入每个队列的数据量可以变化。相应地,具有较大权重的队列可被记入更多数据,从而确保在队列被全部刷新之前更大量的数据可从该队列被处理。在任意时刻,队列被分配仅有的两个优先级之一:有资格被调度或没有资格被调度。
对DWRR的一种替代方式是针对每个队列使用时间戳来代替差额。针对每个队列的时间戳最初可被设置为零,然后随着数据从队列被处理而增大。数据分组可从具有最小时间戳的队列被处理。在系统中可存在许多优先级的等级。例如,如果时间戳值介于0和255(和8位值)之间,则队列可被分配与时间戳值相对应的256个优先级值之一。这要求在每个处理之间执行快速搜索以识别具有最小时间戳的队列。为向队列提供不同权重,每个时间戳可被以不同速率增大。因此,针对具有较高权重的队列的时间戳可被以比具有较低权重的队列的时间戳慢的速率增大。通过利用不同速率来管理权重允许队列被持续地记入信用而不用等到队列变得不合格而进行刷新。
附图说明
为了描述本公开的上面记载的以及其他优点和特征可被获得的方式,将通过参考在附图中示出的上面简单描述的原理的具体实施例来呈现对其更具体的描述。应理解这些图仅描绘了本公开的示例实施例,因此不被视为限制其范围,通过使用附图以特别详细和具体地方式描述和解释了本文的原理,其中:
图1示出了根据主题技术的一些方面的示例网络设备;
图2A和2B示出了计算设备的示例系统实施例;
图3示出了网络结构的示例架构的示意框图;
图4示出了示例覆盖网络;
图5示出了根据主题技术的一些方面的示例系统实施例;
图6示出了使用基于排名的工作保持调度器来处理数据分组的示例实施例;以及
图7示出了确定最高合格等级(tier)排名的示例方法实施例。
具体实施方式
下面详细讨论本公开的各个实施例。虽然讨论了具体的实现方式,但应当理解这仅是为说明目的而进行的。相关领域的技术人员将认识到在不脱离本公开的精神和范围的情况下也可使用其他组件和配置。
概览
可基于排名系统实现工作保持调度器,以提供时间戳的较高解析度和可扩展性,同时避免与传统时间戳实现方式相关联的快速搜索计算的开销。每个队列可被分配最初被设置为零的时间戳。每个来自队列的数据分组被处理时,针对该队列的时间戳被增大。为向不同队列提供变化的权重,针对队列的时间戳可被以变化的速率增大,从而使得来自被以最慢的速率增大的队列的数据分组更频繁地被处理。假设R是期望的速率,Q是被执行的工作量,则时间戳值T可在工作后被重新计算为T=T+Q/R。在一些情形下,Q可以与被处理的数据的大小成比例,从而处理100kb的数据使得时间戳提前两倍于处理50kb的数据的量。在其他情形下,Q可被替换为常数C,从而每次在队列上工作时,时间戳被提前固定量C/R。一般而言,后一选项可被选择以避免除操作,因为C/R可被离线地计算。
可基于根据与每个队列相关联的时间戳确定的队列的等级排名顺序来从队列处理数据分组。为提高排名被确定的速度,可根据定义时间戳的位的子集而不是整个位集来计算排名。例如,可根据大于4位的时间戳的四个最高有效位(MSB)来计算排名,从而针对队列得出16个可能的等级排名。可以从选自最高等级排名(即,其时间戳值的四个MSB具有最小值的队列)的队列来处理数据分组。当前最高排名等级可被保存并被用于提高下一队列被选择的速度。
为进一步加速对合格的最高排名等级的搜索,针对每个等级存储指示该等级是否合格(即,它是否包含至少一个成员队列)的信息位。例如,在16等级排名系统中,16位信息被维护。找到合格的最高排名等级仅需要搜索16位向量。
描述
计算机网络是通过用于在端点(比如,个人计算机和工作站)之间传输数据的片段和通信链路互连的节点的地理上分布的集合。许多类型的网络是可用的,类型的范围为从局域网(LAN)和广域网(WAN)到覆盖网络和软件定义的网络,比如,虚拟可延伸局域网(VXLAN)。
LAN通常通过专用私有通信链路来连接位于相同通用物理位置(比如,大楼或校园)中的节点。另一方面,WAN通常通过长距离通信链路(比如,公共载波电话线、光学光路、同步光网络(SONET)、或同步数字体系(SDH)链路)连接地理上分散的节点。LAN和WAN可包括第2层(L2)和/或第3层(L3)网络和设备。
互联网是WAN的示例,它连接遍布世界各地的迥异的网络,以在各种网络上的节点之间提供全球通信。节点通常通过根据预定义的协议(比如,传输控制协议/互联网协议(TCP/IP))交换离散的数据的分组或帧来在网络上通信。在此上下文中,协议可指代定义节点彼此如何交互的一组规则。计算机网络还可以通过中间网络节点(比如,路由器)互连,以扩展每个网络的有效“大小”。
覆盖网络一般允许虚拟网络被创建并且层压在物理网络基础设施上。覆盖网络协议(比如,虚拟可扩展LAN(VXLAN)、使用通用路由封装的网络虚拟化(NVGRE)、网络虚拟化覆盖(NV03)、以及无状态传输隧穿(STT))提供流量封装方案,该流量封装方案允许网络流量在逻辑隧道上被运载跨过L2和L3网络。这样的逻辑隧道可起源自或终止于虚拟隧道端点(VTEP)。
而且,覆盖网络可包括虚拟片段,比如,VXLAN覆盖网络中的VXLAN片段,VXLAN覆盖网络可包括虚拟L2和/或L3覆盖网络,虚拟机(VM)在虚拟L2和/或L3覆盖网络上进行通信。虚拟片段可通过诸如VXLAN网络标识符之类的虚拟网络标识符(VNI)来标识,VNI可明确地标识相关联的虚拟片段或域。
网络虚拟化允许硬件资源和软件资源被组合在虚拟网络中。例如,网络虚拟化可允许多个VM经由相应的虚拟LAN(VLAN)被附着到物理网络。VM可根据它们各自的VLAN被分成组,并且可与内部或外部网络上的其他VM以及其他设备通信。
诸如物理或虚拟片段之类的网段、网络、设备、端口、物理或逻辑链路、和/或流量一般可被归到桥域或泛洪域。桥域或泛洪域可代表广播域,比如,L2广播域。桥域或泛洪域可包括单一子集,但也可包括多个子集。而且,桥域可与网络设备(比如,交换机)上的桥域接口相关联。桥域接口可以是支持L2桥接的网络和L3路由的网络之间的流量的逻辑接口。另外,桥域接口可支持互联网协议(IP)终止、VPN终止、地址解析度处理、MAC寻址等。桥域及桥域接口两者可由相同的索引或指示符来标识。
此外,端点组(EPG)可被用于在网络中将应用映射到网络。具体而言,EPG可使用网络中的一组应用端点来将连通性和策略应用到该组应用。EPG可用作用于实现转发和策略逻辑的层、以及应用或应用组件的桶或集合的容器。EPG还允许安全性、网络策略的分离,以及通过替代地使用逻辑应用边界来从寻址转发。
还可以在一个或多个网络中提供云计算以使用共享资源来提供计算服务。云计算一般可以包括基于互联网的计算,其中计算资源被从经由网络可用的资源的集合(例如,“云”)动态地配设并且被按需分配给客户端或用户计算机或其他设备。云计算资源例如可以包括任意类型的资源,比如,计算、存储、以及网络设备、虚拟机(VM)等。例如,资源可以包括服务设备(防火墙、深度分组检测器、流量监视器、负载平衡器等)、计算/处理设备(服务器、CPU的存储器、蛮力处理能力)、存储设备(例如,网络附着的存储装置、存储区域网络设备)等。另外,这样的资源可被用于支持虚拟网络、虚拟机(VM)、数据库、应用(App)等。
云计算资源可以包括“私有云”、“公共云”和/或“混合云”。“混合云”可以是由通过技术相互操作或联合的两个或更多个云组成的云基础设施。其实,混合云是私有云和公共云之间的交互,其中私有云加入公共云并且以安全且可扩展的方式利用公共云资源。云计算资源还可经由覆盖网络中的虚拟网络(比如,VXLAN)来配设。
所公开的技术解决了基于排名的工作保持调度器的领域中的需要。公开了用于基于排名的工作保持调度器的系统、方法和计算机可读存储介质。这里公开了针对图1到4中示出的示例系统和网络的简介式描述。下面是对基于排名的工作保持调度器、相关概念以及示例变化的详细描述。这些变化应当在此随着所阐述的各个实施例被描述。本公开现在转到图1。
图1示出了适合于实现本发明的示例网络设备110。网络设备110包括主机中央处理单元(CPU)162、接口168、以及总线115(例如,PCI总线)。当在恰当的软件或固件的控制下行动时,CPU 162负责运行例如分组管理、错误检测、和/或路由功能,比如,错误布线(miscabling)检测功能。CPU 162优选地在包括操作系统和任意恰当的应用软件的软件的控制下完成全部这些功能。CPU 162可以包括一个或多个处理器163,比如,来自Motorola微处理器族或MIPS微处理器族的处理器。在可替代的实施例中,处理器163是专门指定的用于控制网络设备110的操作的硬件。在具体的实施例中,存储器161(比如,非易失性RAM和/或ROM)也形成CPU 162的一部分。然而,存在存储器可被耦合到系统的许多不同的方式。
接口168通常被以接口卡(有时被称作“线卡”)的形式提供。一般而言,它们控制数据分组通过网络的发送和接收,并且有时支持与网络设备110一起使用的其他外设。可被提供的接口168包括以太网接口、帧中继接口、线缆接口、DLS接口、令牌环接口等等。另外,各种超高速接口可被提供,比如,快速令牌环接口、无线接口、以太网接口、千兆比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口等。一般而言,这些接口168可以包括适于与恰当的介质通信的端口。在一些情形下,它们还可以包括独立处理器,并且在一些实例中,包括易失性RAM。独立处理器可以控制这样的通信密集型任务,比如,分组切换、介质控制和管理。通过为通信密集型任务提供单独的处理器,这些接口允许CPU 162高效地执行路由计算、网络诊断、安全功能等。
虽然图1中示出的网络设备110是可被用来实现本发明的网络设备架构的一个具体实施例,但是它决不是本发明能够在其上被实现的唯一网络设备架构。例如,经常使用具有处理通信以及路由计算等的单一处理器的架构。此外,其他类型的接口和介质也可与网络设备110一起被使用。
本发明也可在任意类型的支持与其他计算设备的网络通信的通用计算设备上被实现。例如,计算设备可以是个人计算设备,比如,台式机或工作站、业务服务器、或便携计算设备,比如,膝上型计算机、智能电话、或平板PC。计算设备可包括图2A和2B的计算设备的特征、组件和外设中的一些或全部。
不管网络设备110的配置如何,它都可以采用一个或多个存储器或存储器模块(包括存储器161),一个或多个存储器或存储器模块被配置为存储用于针对这里描述的漫游、路由优化以及路由功能的通用网络操作和机制的程序指令。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器还可被配置为存储诸如移动性绑定表、登记表以及关联表之类的表。
图2A和2B示出了计算设备的示例可能系统实施例。本领域普通技术人员在实践本技术时将明显看出更恰当的实施例。本领域普通技术人员还将容易地理解其他系统实施例是可能的。
图2A示出了利用传统系统总线计算系统架构的计算设备200的示例系统实施例,其中系统的组件使用总线205彼此电通信。示例计算设备200包括处理器(CPU或处理单元)210,以及将包括系统存储器215(比如,只读存储器(ROM)220和随机存取存储器(RAM)225)在内的各种系统组件耦合到处理器210的系统总线205。计算设备200可包括直接与处理器210连接的、或非常接近于处理器210的、或被集成作为处理器210的一部分的高速存储器的缓存。计算设备200可以将数据从存储器215和/或存储设备230复制到缓存212,以供处理器210快速访问。以此方式,缓存212可提供性能提升,该性能提升避免了处理器210在等候数据时的延迟。这些以及其他模块可以控制或者可以被配置为控制处理器210执行各种动作。系统存储器215也可获得以供使用。存储器215可包括具有不同性能特性的多种不同类型的存储器。处理器210可包括任何通用处理器,和被配置为控制处理器210的硬件模块或软件模块(比如,存储于存储设备230中的模块1 232、模块2 234以及模块3 236),以及其中软件指令被合并到实际处理器设计中的专用处理器。处理器210实际上可以是完全独立的计算系统,该计算系统包含多个核心或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。
计算设备200可包括输入设备245,以促成与计算设备200的用户交互。输入设备245可表示任意数目的输入机制,比如,用于讲话的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备235还可以是本领域技术人员已知的多种输出技术中的一种或多种。在一些实例中,多模系统可使得用户能够提供多种类型的输入以与计算设备200通信。通信接口240一般能够掌管和管理用户输入以及系统输出。对在任意特定硬件布置上的操作没有限制,因此这里的基本特征可随着它们的发展而被容易地替换为改进的硬件或固件布置。
存储设备230是非易失性存储器,并且可以是硬盘或其他类型的能够存储可供计算机访问的数据的计算机可读介质,比如,磁带盒、闪存卡、固态存储器设备、数字通用盘、磁片盒、随机存取存储器(RAM)225、只读存储器(ROM)220、及其混合。
存储设备230可包括用于控制处理器210的软件模块232、234、236。其他硬件或软件模块被设想。存储设备230可被连接到系统总线205。在一个方面,执行特定功能的硬件模块可包括存储于计算机可读介质中的软件组件,软件组件与必要的硬件组件(比如,处理器210、总线205、输出设备235等)相结合来实现功能。
图2B示出了计算设备250的系统实施例,计算设备250包括可被用于执行所描述的方法并且生成并显示图形用户界面(GUI)的芯片集架构。计算设备250是可被用于实现所公开的技术的计算机硬件、软件和固件的示例。计算设备250可包括处理器255,处理器255代表能够运行被配置为执行所标识的计算的软件、固件和硬件的任意数目的物理上和/或逻辑上分离的资源。处理器255可与能够控制到处理器255的输出以及从处理器255的输出的芯片集260通信。在此示例中,芯片集260输出信息到输出设备265(比如,显示器),并且可向存储设备270写入信息或从中读取信息,存储设备270可以包括磁介质以及固态介质。芯片集260还可从RAM 275读取数据或者向RAM 275写入数据。计算设备250可包括用于与各种用户接口组件285(比如,芯片集260)接口连接的桥接器280。这样的用户接口组件285可包括键盘、麦克风、触摸检测和处理电路、定点设备(比如,鼠标)等。一般而言,多计算设备250的输入可来自机器生成和/或人类生成的各种资源中的任意资源。
芯片集260还可与一个或多个通信接口290接口连接,一个或多个通信接口290可具有不同物理接口。这样的通信接口可包括针对有线和无线局域网、针对宽带无线网络、以及个人区域网络的接口。用于生成、显示以及使用这里所公开的GUI的方法的一些应用可包括由处理器255接收物理接口上的有序数据集或者由计算设备250本身生成的有序数据集,分析存储设备270或RAM 275中所存储的数据。此外,计算设备250可经由用户接口组件285接收来自用户的输入并且执行恰当的功能,比如通过使用处理器255翻译这些输入来执行浏览功能。
应当理解示例计算设备200和250可具有不止一个处理器210或者是联网在一起以提供更强大的处理能力的计算设备的群组或集群的一部分。
图3示出了针对网络结构312的示例架构300的示意框图。网络结构312可包括被连接到网络结构312中的叶交换机304A、304B、304C、……、304N(统称为“304”)的主干交换机302A、302B、……、302N(统称为“302”)。
主干交换机302可以是结构312中的L3交换机。然而,在一些情形下,主干交换机302还可以或以其他方式执行L2功能。此外,主干交换机302可支持各种功能,比如,40或10Gbps以太网速。为此,主干交换机302可包括一个或多个40千兆比特以太网端口。每个端口还可被分割以支持其他速度。例如,40千兆比特以太网端口可被分割为四个10千兆比特以太网端口。
在一些实施例中,一个或多个主干交换机302可被配置为容宿代理功能,该代理功能代表不具有端点地址标识符到定位符的映射的叶交换机304执行在映射数据库中对端点地址标识符到定位符映射的查找。代理功能可以通过解析分组到封装的租户分组以获得租户的目的地定位符地址。主干交换机302然后可以执行对它们的本地映射数据库的查找以确定分组的正确定位符地址,并且在不改变分组的头部中的某些字段的情况下将分组转发到定位符地址。
当分组在主干交换机302i处被接收时,主干交换机302i可以首先核查目的地定位符地址是否是代理地址。如果是,则主干交换机302i可以执行先前所提到的代理功能。如果不是,则主干交换机302i可以在其转发表中查找该定位符并相应地转发分组。
主干交换机302连接到结构312中的叶交换机304。叶交换机304可以包括接入端口(或非结构端口)以及结构端口。结构端口可向主干交换机302提供上行链路,而接入端口可为设备、主机、端点、VM或外部网络提供到结构312的连通性。
叶交换机304可驻留在结构312的边缘处,从而可以代表物理网络边缘。在一些情形下,叶交换机304可以是根据架顶(“ToR”)架构配置的ToR交换机。在其他情形下,叶交换机304可以是任意特定拓扑(比如,列末(EoR)拓扑或列中(MoR)拓扑)中的聚合交换机。叶交换机304例如还可以表示聚合交换机。
叶交换机304可负责路由和/或桥接租户分组并且应用网络策略。在一些情形下,叶交换机可执行一个或多个附加功能,比如,实现映射缓存、当缓存中存在错过时发送分组到代理功能、封装分组、强制执行入口或出口策略等。
而且,叶交换机304可包含虚拟交换功能,比如,虚拟隧道端点(VTEP)功能,如下面在对图4中的VTEP 408的论述中所解释的。为此,叶交换机304可将结构312连接到覆盖网络,比如,图4中示出的覆盖网络400。
结构312中的网络连通性可流过叶交换机304。此处,叶交换机304可提供到结构312的服务器、资源、端点、外部网络或VM接入,并且可使叶交换机304彼此连接。在一些情形下,叶交换机304可将EPG连接到结构312和/或任何外部网络。例如,每个EPG能够经由叶交换机304之一连接到结构312。
端点310A-E(统称为“310”)可经由叶交换机304连接到结构312。例如,端点310A和310B可直接连接到叶交换机304A,叶交换机304A可将端点310A和310B连接到结构312和/或任何其他叶交换机304之一。类似地,端点310E可直接连接到叶交换机304C,叶交换机304C可将端点310E连接到结构312和/或任何其他叶交换机304之一。另一方面,端点310C和310D可经由L2网络306连接到叶交换机304B。类似地,广域网(WAN)可经由L3网络308连接到叶交换机304C或304D。
端点310可包括任何通信设备,比如,计算设备、网络设备、服务器、交换机、路由器等。在一些情形下,端点310可包括被配置有VTEP功能的服务器、监管器或交换机,VTEP功能将覆盖网络(比如,下面的覆盖网络400)与结构312相连接。例如,在一些情形下,端点310可表示图4中所示出的VTEP 408A-D中的一个或多个。此处,VTEP 408A-D可经由叶交换机304连接到结构312。覆盖网络可容宿物理设备(比如,服务器)、应用、EPG、虚拟片段、虚拟工作负载等。另外,端点310可容宿(一个或多个)虚拟工作负载、集群、以及应用或服务,它们可与结构312或任何其他设备或网络(包括,外部网络)相连接。例如,一个或多个端点310可容宿或连接到负载平衡器的集群或各种应用的EPG。
虽然结构312在这里被示出和描述为示例叶-主干架构,但是本领域技术人员将容易地认识到主题技术可基于包括任何数据中心或云网络结构在内的任何网络结构来实现。实际上,在此还设想了其他架构、设计、基础设施、及变化。
图4示出了示例覆盖网络400。覆盖网络400使用覆盖协议(比如,VXLAN、VGRE、VO3或STT)将流量封装在L2和/或L3分组中,L2和/或L3分组可以穿过网络中的覆盖L3边界。如图4中所示,覆盖网络400可包括经由网络402互连的主机406A-D。
网络402可包括分组网络,比如,IP网络。而且,网络402将将覆盖网络400与图3中的结构312相连接。例如,VTEP 408A-D可经由网络402与结构312中的叶交换机304相连接。
主机406A-D包括虚拟隧道端点(VTEP)408A-D,它们可以是根据网络400的特定覆盖协议、针对各种虚拟网络标识符(VNID)410A-I封装和解封装数据流量的虚拟节点或交换机。而且,主机406A-D可包括包含VTEP功能的服务器、监管器、以及被配置有VTEP功能的物理交换机,比如,L3交换机。例如,主机406A和406B可以是被配置为运行VTEP 408A-B的物理交换机。此处,例如,主机406A和406B可被连接到服务器404A-D,服务器404A-D在某些情况下可包括通过VM加载到服务器上的虚拟工作负载。
在一些实施例中,网络400可以是VXLAN网络,并且VTEP 408A-D可以是VXLAN隧道端点。然而,本领域技术人员将容易地认识到网络400可代表任何类型的覆盖网络或软件定义的网络,比如,NVGRE、STT、甚至是即将被发明的覆盖技术。
VNID可代表覆盖网络400中的分离的虚拟网络。每个中继隧道(VTEP 408A-D)可包括一个或多个VNID。例如,VTEP 408A可包括VNID 1和2,VTEP 408B可包括VNID 1和3,VTEP408C可包括VNID 1和2,并且VTEP 408D可包括VNID 1-3。本领域技术人员将容易地认识到任意具体VTEP在其他实施例中可具有多个VNID,包括不止图4中示出的3个VNID。
覆盖网络400中的流量可根据特定VNID被逻辑地分离。以此方式,针对VNID 1的流量可被驻留在VNID 1中的设备访问,而驻留于其他VNID(例如,VNID 2和3)中的其他设备可被阻止访问这样的流量。换言之,被连接到特定VNID的设备或端点可与被连接到相同特定VNID的其他设备或端点通信,但是来自分离的VNID的流量可被隔离以防止其他特定VNID中的设备或端点访问不同VNID中的流量。
服务器404A-D和VM 404E-I可连接到它们相应的VNID或虚拟片段,并且与驻留于相同VNID或虚拟片段中的其他服务器或VM通信。例如,服务器404A可与服务器404C以及VM404E和404G通信,因为它们全部驻留在相同的VNID(也即VNID 1)中。类似地,服务器404B可与VM 404F、404H通信,因为它们全部驻留在VNID 2中。VM 404E-I可容宿虚拟工作负载,其例如可以包括应用工作负载、资源和服务。然而,在一些情形下,服务器404A-D可类似地通过容宿于服务器404A-D上的VM来容宿虚拟工作负载。而且,每个服务器404A-D和VM 404E-I可表示单一服务器或VM,但也可表示多个服务器或VM,比如,服务器或VM的集群。
VTEP 408A-D可根据所实现的具体覆盖协议(比如,VXLAN)封装指向覆盖网络400中的各个VNID 1-3的分组,从而流量可被适当地传输到正确的VNID和(一个或多个)接收方。而且,当交换机、路由器、或其他网络设备接收到将被传输到覆盖网络400中的接收方的分组时,它可以分析路由表(比如,查找表)以确定这样的分组应当被传输到何处,从而流量到达适当的接收方。例如,如果VTEP 408A接收到来自端点404B的、针对端点404H的分组,则VTEP 408A可分析路由表,该路由表将预期的端点(端点404H)映射到被配置为处理针对端点404H的通信的特定交换机。当VTEP 408A接收到来自端点404B的分组时,它最初可能不知道这样的分组应当被传输到VTEP 408D以到达端点404H。因此,通过分析路由表,VTEP 408A可查找作为预期接收方的端点404H,并且如路由表中所指定的基于端点到交换机映射或绑定确定分组应当被传输到VTEP 408D,从而分组可正如预期的被传输到端点404H并被端点404H接收。
然而,继续看先前的示例,在许多实例中,VTEP 408A可以分析路由表但未找到任何与预期的接收方(例如,端点404H)相关联的绑定或映射。此时,路由表可能尚未获悉关于端点404H的路由信息。在此场景下,VTEP 408A很节能广播或多播该分组以确保与端点404H相关联的恰当的交换机能够接收该分组,并进而将其路由到端点404H。
在一些情形下,路由表可通过移除不必要的或陈旧的条目并添加新的或必要的条目而被动态且连续地修改,从而维持路由表是最新、准确且有效的,同时降低或限制表的大小。本领域技术人员将容易地认识到以上所提供的示例和技术仅是为了清楚和解释的目的,并且可以包括许多另外的概念和变化。
图5示出了示例系统实施例,其中工作持续调度器可基于排名系统被实现,以提供时间戳的解析度和可扩展性,同时避免与传统时间戳实现方式相关联的快速搜索。如所示,设备500包括调度器505,调度器505可被用于管理从一个或多个源设备到一个或多个接收方设备的数据传送。设备500可以是任意类型的计算和/或联网设备,比如,图1、图2A和2B中所描述的那些设备。调度器505可被用于管理跨网络在各个网络设备和/或计算设备(比如,图1、图2A和2B中所描述的那些设备)之间的数据分组传输。例如,在一些实施例中,设备500可以是将数据发送到与设备500网络连接的一个或多个接收方设备的源设备。可替代地,在一些实施例中,设备500可以与一个或多个源设备和接收方设备网络连接,并且作为各个设备之间的中介来在它们之间传输数据。
调度器505可将经调度将被传送的数据分配给一个或多个队列。调度器505可以按照与数据被分配给队列的顺序相对应的先进先出顺序处理被分配给队列的数据。如所示,设备500可以包括数据存储装置510和调度器505,数据存储装置510被配置为维护数据和队列,调度器505被配置为与数据存储装置510进行通信以访问队列来取回和存储数据。
调度器505可利用多个队列来管理来自多个目的地和/或到多个源的数据的传输。例如,被传输到指定目的地和/或从指定源传输的数据可被分配给与指定源和/或目的地相关联的队列,而被传输到不同目的地和/或从不同源传输的数据可被分配给不同队列。
调度器505可被配置为管理队列被处理的顺序以满足指定传输目标和/或偏好。例如,各个队列可被分配变化的权重以给予被分配给各个队列的数据变化的优先级级别。队列可被给予较高权重以确保被分配给该队列的数据被以比被分配给具有较低权重的队列的数据更高的速率处理。
调度器505可基于队列的等级排名顺序从队列处理数据分组,队列的等级排名顺序是基于被分配给每个队列的时间戳计算得出的。调度器505可向每个队列分配最初被设置为基本值(比如,零)的时间戳。针对每个队列的时间戳可被存储在数据存储装置510中并且与其相对应的队列相关联。调度器505可被配置为每次来自队列的数据分组被处理时增大与队列相关联的时间戳。处理数据分组可包括从队列移除数据分组,并且将数据分组传输到其预期的接收方设备。
在一些实施例中,调度器505可被配置为使时间戳增大基于或对应于被处理的数据分组的大小的量。例如,如果被处理的数据分组是500kb,则调度器505可使时间戳增大500或基于数据分组的大小计算得出的某一其他值。假设Q是被处理的数据量,则时间戳值T可被更新为T=T+Q。
可替代地,在一些实施例中,调度器505可被配置为使时间戳增大并非基于被处理的数据分组的大小的预定量。例如,调度器505可被配置为每次数据分组被从队列处理时使与队列相关联的时间戳增大100。假设C是预定值,则时间戳值T可被更新为T=T+C。
在一些实施例中,调度器505可被配置为当针对队列的时间戳值达到最大值时,折回该时间戳值。最大值可以基于用于表示时间戳值的位的数目。例如,如果使用了8位,则时间戳值的最大值可以是256,此后时间戳值被折回到0。
为向不同队列提供变化的权重,调度器505可被配置为以变化的速率增大队列的时间戳。例如,管理员可设置每个队列的时间戳将被增大的加权速率,并且调度器505可被配置为相应地增大针对各个队列的时间戳。在一些实施例中,加权速率可以是静态的预定量。静态的预定量可以是时间戳被增大的总量,或者可替代地,可以是时间戳被增大的额外量。例如,针对队列的加权速率可以是静态量(比如,100),调度器505可以在每次来自队列的数据分组被处理时,使该队列的时间戳增大100。可替代地,调度器505可以使时间戳增大基于被处理的数据分组的大小计算得出的量加上固定的加权速率量100。
可替代地,在一些实施例中,加权速率可以是被施加于时间戳被增大的量的倍数。例如,调度器505可被配置为基于乘以被分配给队列的加权速率的、从该队列被处理的数据分组的大小来增大针对该队列的时间戳。从而,为减小队列的时间戳被增大的速率,针对该队列的加权速率可被设置为介于0和1之间的小数量。可替代地,为增大队列的时间戳被增大的速率,针对该队列的加权速率可被设置为大于1的量。假设R是速率并且Q是被处理的数据的量,则时间戳值可被更新为T=T+Q/R。或者,将速率表示为R的倒数,即r=l/R,则T=T+Q*r。
调度器505可被配置为根据队列的等级排名顺序处理来自队列的数据分组,队列的等级排名顺序是根据与每个队列相关联的时间戳确定的。队列的等级排名顺序可以指示被分配给队列的时间戳的值。例如,调度器505可被配置为将队列分配给等级排名,以使得被分配给每个等级排名的队列具有比被分配给较低排名的等级排名的队列低的时间戳值,并且具有比被分配给较高排名的等级排名的队列高的时间戳值。一种简单的方式是基于队列的时间戳的MSB将队列映射到等级。例如,在16等级系统中,我们可以使用时间戳的4个MSB来标识队列的等级排名。
调度器505可被配置为从来自最高合格等级排名的队列处理数据分组。如果至少一个队列被分配给等级排名,则该等级排名是合格的。处理来自最高合格等级排名的队列可给予具有最低时间戳值的队列优先级。调度器505可被配置为在每个来自队列的数据分组被处理时重新计算该队列的等级排名。
为加速对最高排名的合格等级的搜索,可针对每个等级维护指示其合格性的信息位。当队列进入或离开相应的等级的任何时候,该位被更新。为了找到最高合格等级,只评估这些位。在16等级系统中,仅需要评估16位,而不用管所支持的队列的数目。相反地,传统时间戳操作的快速搜索计算负载与队列的数目成比例地增大。
如果多个队列被分配给最高合格等级排名,则调度器505可被配置为以任意使得开销最小的顺序处理来自等级排名中的队列之一的数据分组。例如,调度器505可随机地、根据轮询顺序等从最高合格等级排名中的队列中进行选择。
为提高队列的等级排名被确定的速度,调度器505可被配置为基于定义时间戳的位的子集而不是整个位集来计算等级排名。例如,可根据四个最高有效位(MSB)来计算等级排名,针对队列产生16个可能的等级排名。可替代地,可根据三个MSB来计算排名,产生8个可能的等级排名。当不止1位被使用的任何时候,排名方法提供比DWRR更细粒度的优先级,DWRR有效地仅有两个等级:合格和不合格。更精细的粒度产生了对期望的速率具有更好的短期准确度的服务质量。
在一些实施例中,调度器505可被配置为当数据被处理时记录最高合格等级,该最高合格等级然后可被用作当识别从中读取数据分组的下一队列时的开始位置。例如,调度器505可被配置为从所记录的最高等级排名开始搜索从中处理数据分组的下一队列,并且如果等级排名中不存在其他队列,则继续在下一较低等级排名中进行搜索。如果最低等级排名中不存在队列,则调度器505可继续在最高等级排名处进行搜索。
当其他队列的时间戳的值增大并且移动到较低等级时,调度器505可被配置为在队列被用尽之前自动地向队列记入另外的数据。这可使得每个队列保持合格,但是被分配给使该队列优先的等级排名。
图6示出了使用基于排名的工作保持调度器来处理数据分组的示例实施例。如所示,该方法开始于框605,其中最高合格等级排名被确定。最高合格等级排名可以是包括至少一个队列的最高等级排名。图7及其随附文本更详细地描述了确定最高合格等级排名。
在框610,从最高合格等级排名中选择队列。如果仅有一个队列被分配给最高合格等级排名,则该队列被选择。可替代地,如果有多个队列被分配给最高合格等级排名,则随机地选择或者可替代地根据轮询顺序选择这些队列中的一个队列。
在框615,从所选择的队列处理数据分组。这可以包括将数据分组从该队列移除并将该数据分组传输到其预期的接收方。
在框620,增大所选择的队列的时间戳。在一些实施例中,根据被传送的数据分组的大小(Q)增大时间戳。在一些实施例中,时间戳可被增大并非基于被传送的数据分组的大小的静态值(C)。此外,在一些实施例中,当增大时间戳时,加权速率(R)可被应用。例如,加权速率可以是被加到时间戳的附加值,或者可替代地是被施加到该值的倍数,从而Q/R被加到时间戳。
在框625,可基于增大的时间戳重新计算所选择的序列的等级排名。例如,可基于用于表示时间戳的最高有效位的子集(比如,4个最高有效位)来计算等级排名。使用4个最高有效位可产生16个可能的等级排名。在框630,所选择的队列可被分配给相应的等级排名。队列可被分配给等级排名,以使得具有最高时间戳值的队列在最低等级排名中,反之亦然。重新计算得出的时间戳可以将队列放入不同等级排名中。
因为队列移动到不同的等级排名,至今为止的最高排名的等级可能变得不合格(不包含有效队列)。例如,如果所处理的队列是最高排名的等级中仅有的成员。
图7示出了确定具有最高合格等级排名的示例方法实施例。如果至少一个队列被分配给等级排名,则该等级排名是合格的。如所示,该方法开始于框705,其中当前等级排名被识别。当前等级排名可以是先前的队列被从中选择以处理数据分组的等级排名。当前等级排名可被记录为标识等级排名的整数值。例如,在使用16个可能的等级排名的实施例中,当前等级排名可以是介于0-15之间的整数。
在框710,确定当前等级排名是否合格。如果至少一个队列被分配给等级排名,则该等级排名可以是合格的。如果在框710,确定当前等级排名不合格,则本方法继续到框715,其中确定是否存在排名低于当前等级排名的等级排名。如果存在排名低于当前等级排名的等级排名,则方法继续到框720,其中当前等级排名被降低到下一等级排名。例如,如果当前等级排名是并且它不合格,则当前等级排名可被降低到4。然后方法返回到框710。
如果在框715确定不存在排名低于当前等级排名的等级排名(即,当前等级排名是最低排名的等级排名),则方法继续到框725,其中当前等级排名被分配给最高排名的等级排名。例如,如果存在16个等级排名0-15,其中0是最低的且15是最高的,则当前等级排名可被分配给15。该方法然后返回到框710。
如果在框710,确定当前等级排名合格,则方法继续到730,其中确定当前等级排名是最高合格等级排名。
为解释的清楚起见,在一些实例中,本技术可被表示为包括各个功能块,包括含有以下各项的功能块:设备、设备组件、在体现于软件中的方法中的步骤或例程、或硬件和软件的组合。
在一些实施例中,计算机可读存储设备、介质、以及存储器可包括包含比特流的无线信号或线缆等。然而,当提起时,非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波以及信号本身之类的介质。
根据上述示例的方法可使用被存储或可以其他方式从计算机可读介质获得的计算机可执行指令来实现。这样的指令可包括例如使得或以其他方式配置通用计算机、专用计算机、或专用处理设备执行某功能或一组功能的指令和数据。所使用的计算机资源的部分可通过网络被访问。计算机可执行指令可以例如是二值化、中间格式的指令,比如,汇编语言、固件、或源代码。可被用于存储在根据所描述的示例的方法过程中产生的信息、所使用的信息和/或指令的计算机可读介质的示例包括磁盘或光盘、闪速存储器、被配设有非易失性存储器的USB设备、联网的存储设备等。
实现根据这些公开的方法的设备可包括硬件、固件和/或软件,并且可采取各种形状因子中的任何一种。这种形状因子的典型示例包括膝上型计算机、智能电话、小形状因子个人计算机、个人数字助理、架装安装设备、独立设备等。这里描述的功能还可被体现于外设或插入卡中。通过进一步示例的方式,这样的功能还可在介于在单一设备中运行的不同芯片或不同处理之间的电路板上被实现。
指令、用于表达这样的指令的介质、用于执行它们的计算资源、以及用于支持这样的计算资源的其他结构是用于提供在这些公开中所描述的功能的方式。
虽然各种示例和其他信息被用于解释在所附权利要求范围内的各个方面,但是不基于在这样的示例中的特定特征或布置而暗示对权利要求的任何限制,因为本领域技术人员将能够使用这些示例来得出各种各样的实现方式。此外,虽然可能已经以特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但是应当理解所附权利要求中所限定的主题不必受限于这些所描述的特征或行动。例如,这样的功能可以不同于这里所标识的那样地在组件中被分布或执行。反而,所描述的功能和步骤作为所附权利要求范围内的方法和系统的组分的示例被公开。

Claims (15)

1.一种系统,包括:
计算机处理器;以及
存储指令的存储器,所述指令当被执行时使得所述计算机处理器:
根据定义与第一队列相关联的时间戳值的最高有效位的子集计算所述第一队列的等级排名,其中所述第一队列包含多个数据分组;
根据定义与不同于所述第一队列的第二队列相关联的时间戳值的最高有效位的子集计算所述第二队列的等级排名,其中所述第二队列包含多个数据分组;
存储相应信息位以指示每个等级排名的合格性;
当队列进入或离开每个等级排名时更新所述相应信息位;
确定所述第一队列的等级排名高于所述第二队列的等级排名;以及
处理包含于所述第一队列中的所述多个数据分组中的至少一个数据分组。
2.如权利要求1所述的系统,其中,所述指令还使得所述计算机处理器:
使与所述第一队列相关联的所述时间戳值增大第一增量值;以及
在使与所述第一队列相关联的所述时间戳值增大后,根据定义与所述第一队列相关联的所述时间戳值的所述最高有效位的子集重新计算所述第一队列的等级排名。
3.如权利要求2所述的系统,其中,所述指令还使得所述计算机处理器:
在重新计算所述第一队列的等级排名后,确定所述第二队列的等级排名高于所述第一队列的等级排名;以及
处理包含于所述第二队列中的所述多个数据分组中的至少一个数据分组。
4.如权利要求3所述的系统,其中,所述指令还使得所述计算机处理器:
使与所述第二队列相关联的所述时间戳值增大第二增量值,所述第二增量值不同于所述第一增量值;以及
在使与所述第二队列相关联的所述时间戳值增大后,根据定义与所述第二队列相关联的所述时间戳值的所述最高有效位的子集重新计算所述第二队列的等级排名。
5.如权利要求2所述的系统,其中,所述第一增量值是基于以下各项进行计算的:
包含于所述第一队列中的所述多个数据分组中的被处理的所述至少一个数据分组的大小,以及
分配给所述第一队列的权重比率,其中所述分配给所述第一队列的权重比率不同于分配给所述第二队列的权重比率。
6.如权利要求1所述的系统,其中,所述指令还使得所述计算机处理器:
将所述第一队列的等级排名记录为当前等级排名,其中存在高于所述第一队列的等级排名的至少一个等级排名;以及
在处理包含于所述第一队列中的所述多个数据分组中的至少一个数据分组后并且在确定是否存在被分配给高于所述当前等级排名的所述至少一个等级排名的队列是合格的之前,确定没有其他队列被分配给所述当前等级。
7.如权利要求2所述的系统,其中,所述指令还使得所述计算机处理器:
确定所述第一队列的等级排名等于所述第二队列的等级排名;
根据轮询顺序确定处理包含于所述第二队列中而不是所述第一队列中的所述多个数据分组中的至少一个数据分组;以及
处理包含于所述第二队列中的所述多个数据分组中的至少一个数据分组。
8.一种计算机实现的方法,包括:
由计算机处理器根据定义与第一队列相关联的时间戳值的最高有效位的子集计算所述第一队列的等级排名,其中所述第一队列包含多个数据分组;
由所述计算机处理器根据定义与不同于所述第一队列的第二队列相关联的时间戳值的最高有效位的子集计算所述第二队列的等级排名,其中所述第二队列包含多个数据分组;
存储相应信息位以指示每个等级排名的合格性;
当队列进入或离开每个等级排名时更新所述相应信息位;
由所述计算机处理器确定所述第一队列的等级排名高于所述第二队列的等级排名;以及
由所述计算机处理器处理包含于所述第一队列中的所述多个数据分组中的至少一个数据分组。
9.如权利要求8所述的计算机实现的方法,还包括:
使与所述第一队列相关联的所述时间戳值增大第一增量值;以及
在使与所述第一队列相关联的所述时间戳值增大后,根据定义与所述第一队列相关联的所述时间戳值的所述最高有效位的子集重新计算所述第一队列的等级排名。
10.如权利要求9所述的计算机实现的方法,还包括:
在重新计算所述第一队列的等级排名后,确定所述第二队列的等级排名高于所述第一队列的等级排名;以及
处理包含于所述第二队列中的所述多个数据分组中的至少一个数据分组。
11.如权利要求10所述的计算机实现的方法,还包括:
使与所述第二队列相关联的所述时间戳值增大第二增量值,所述第二增量值不同于所述第一增量值;以及
在使与所述第二队列相关联的所述时间戳值增大后,根据定义与所述第二队列相关联的所述时间戳值的所述最高有效位的子集重新计算所述第二队列的等级排名。
12.如权利要求9所述的计算机实现的方法,其中,所述第一增量值是基于以下各项进行计算的:
包含于所述第一队列中的所述多个数据分组中的被处理的所述至少一个数据分组的大小,以及
分配给所述第一队列的权重比率,其中所述分配给所述第一队列的权重比率不同于分配给所述第二队列的权重比率。
13.如权利要求8所述的计算机实现的方法,还包括:
将所述第一队列的等级排名记录为当前等级排名,其中存在高于所述第一队列的等级排名的至少一个等级排名;以及
在处理包含于所述第一队列中的所述多个数据分组中的至少一个数据分组后并且在确定是否存在被分配给高于所述当前等级排名的所述至少一个等级排名的队列是合格的之前,确定没有其他队列被分配给所述当前等级。
14.如权利要求9所述的计算机实现的方法,还包括:
确定所述第一队列的等级排名等于所述第二队列的等级排名;
根据轮询顺序确定处理包含于所述第二队列中而不是所述第一队列中的所述多个数据分组中的至少一个数据分组;以及
处理包含于所述第二队列中的所述多个数据分组中的至少一个数据分组。
15.一种非暂态计算机可读介质,该非暂态计算机可读介质存储有指令,所述指令当被计算机处理器执行时,使得所述计算机处理器:
根据定义与第一队列相关联的时间戳值的最高有效位的子集计算所述第一队列的等级排名,其中所述第一队列包含多个数据分组;
根据定义与不同于所述第一队列的第二队列相关联的时间戳值的最高有效位的子集计算所述第二队列的等级排名,其中所述第二队列包含多个数据分组;
存储相应信息位以指示每个等级排名的合格性;
当队列进入或离开每个等级排名时更新所述相应信息位;
确定所述第一队列的等级排名高于所述第二队列的等级排名;以及
处理包含于所述第一队列中的所述多个数据分组中的至少一个数据分组。
CN201480060528.6A 2013-11-05 2014-10-31 基于排名的工作保持调度器 Active CN105706044B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361900377P 2013-11-05 2013-11-05
US61/900,377 2013-11-05
US14/462,453 US9674086B2 (en) 2013-11-05 2014-08-18 Work conserving schedular based on ranking
US14/462,453 2014-08-18
PCT/US2014/063581 WO2015069582A1 (en) 2013-11-05 2014-10-31 Work conserving schedular based on ranking

Publications (2)

Publication Number Publication Date
CN105706044A CN105706044A (zh) 2016-06-22
CN105706044B true CN105706044B (zh) 2019-05-28

Family

ID=53007012

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480060528.6A Active CN105706044B (zh) 2013-11-05 2014-10-31 基于排名的工作保持调度器
CN201480060526.7A Active CN105706043B (zh) 2013-11-05 2014-10-31 推进式链接的列表吞吐量

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201480060526.7A Active CN105706043B (zh) 2013-11-05 2014-10-31 推进式链接的列表吞吐量

Country Status (4)

Country Link
US (4) US9674086B2 (zh)
EP (2) EP3066566B1 (zh)
CN (2) CN105706044B (zh)
WO (2) WO2015069582A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9509092B2 (en) 2013-11-06 2016-11-29 Cisco Technology, Inc. System and apparatus for network device heat management
US9354936B2 (en) * 2014-03-05 2016-05-31 Driven, Inc. System, method, and apparatus for coordinating distributed electronic discovery processing
US9813327B2 (en) 2014-09-23 2017-11-07 Cavium, Inc. Hierarchical hardware linked list approach for multicast replication engine in a network ASIC
US9729338B2 (en) * 2014-09-23 2017-08-08 Cavium, Inc. Fast hardware switchover in a control path in a network ASIC
US9760418B2 (en) 2014-09-23 2017-09-12 Cavium, Inc. Session based packet mirroring in a network ASIC
US9565136B2 (en) 2014-09-23 2017-02-07 Cavium, Inc. Multicast replication engine of a network ASIC and methods thereof
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
US10419571B2 (en) 2015-03-24 2019-09-17 Cavium, Llc Packet processor forwarding database cache
US10484311B2 (en) * 2015-03-31 2019-11-19 Cavium, Llc Method and apparatus for using multiple linked memory lists
JP6501632B2 (ja) * 2015-06-05 2019-04-17 キヤノン株式会社 情報処理システム、およびその制御方法
US20170017419A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
US20170017420A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
US10079695B2 (en) 2015-10-28 2018-09-18 Citrix Systems, Inc. System and method for customizing packet processing order in networking devices
US20170153852A1 (en) * 2015-11-30 2017-06-01 Mediatek Inc. Multi-port memory controller capable of serving multiple access requests by accessing different memory banks of multi-bank packet buffer and associated packet storage design
US10833843B1 (en) 2015-12-03 2020-11-10 United Services Automobile Association (USAA0 Managing blockchain access
US10142163B2 (en) 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
US10333828B2 (en) 2016-05-31 2019-06-25 Cisco Technology, Inc. Bidirectional multicasting over virtual port channel
US10057153B1 (en) * 2016-06-02 2018-08-21 Cisco Technology, Inc. Detecting slow virtual devices
US11509501B2 (en) 2016-07-20 2022-11-22 Cisco Technology, Inc. Automatic port verification and policy application for rogue devices
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
US10848432B2 (en) * 2016-12-18 2020-11-24 Cisco Technology, Inc. Switch fabric based load balancing
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10656966B1 (en) * 2018-01-02 2020-05-19 Amazon Technologies, Inc. Deep-inspection weighted round robin of multiple virtualized resources
US11394693B2 (en) * 2019-03-04 2022-07-19 Cyxtera Cybersecurity, Inc. Establishing network tunnel in response to access request
US11956311B2 (en) * 2020-06-29 2024-04-09 Marvell Asia Pte Ltd Method and apparatus for direct memory access of network device
CN113328959B (zh) * 2021-04-13 2022-05-27 新华三信息安全技术有限公司 一种报文转发方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992001345A1 (en) * 1990-07-11 1992-01-23 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
WO1993001670A1 (en) * 1991-07-05 1993-01-21 Codex Corporation Device and method for implementing queueing disciplines at high sspeeds
CN1109231A (zh) * 1993-08-27 1995-09-27 阿尔卡塔尔有限公司 临时存储数据包的方法和设备以及使用该设备的交换机
US5926458A (en) * 1997-01-31 1999-07-20 Bay Networks Method and apparatus for servicing multiple queues
US6389031B1 (en) * 1997-11-05 2002-05-14 Polytechnic University Methods and apparatus for fairly scheduling queued packets using a ram-based search engine
US6876952B1 (en) * 2003-04-30 2005-04-05 Cisco Technology, Inc. Methods and apparatus for maintaining queues
US7372857B1 (en) * 2003-05-28 2008-05-13 Cisco Technology, Inc. Methods and apparatus for scheduling tasks

Family Cites Families (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530822A (en) 1978-08-25 1980-03-04 Fujitsu Ltd Printed board
US4333143A (en) * 1979-11-19 1982-06-01 Texas Instruments Input process sequence controller
CA1237820A (en) 1985-03-20 1988-06-07 Hitachi, Ltd. Multilayer printed circuit board
US4700016A (en) 1986-05-16 1987-10-13 International Business Machines Corporation Printed circuit board with vias at fixed and selectable locations
US5115431A (en) 1990-09-28 1992-05-19 Stratacom, Inc. Method and apparatus for packet communications signaling
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
GB9626752D0 (en) 1996-12-23 1997-02-12 Northern Telecom Ltd Management of data structures
JPH11144497A (ja) * 1997-11-13 1999-05-28 Mitsubishi Electric Corp 同期型半導体記憶装置
US6714553B1 (en) 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6226267B1 (en) * 1998-04-10 2001-05-01 Top Layer Networks, Inc. System and process for application-level flow connection of data processing networks
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
CN100422976C (zh) * 1998-05-08 2008-10-01 自由度半导体公司 数字通信处理器
US7480242B2 (en) 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US6516320B1 (en) * 1999-03-08 2003-02-04 Pliant Technologies, Inc. Tiered hashing for data access
US6996099B1 (en) 1999-03-17 2006-02-07 Broadcom Corporation Network switch having a programmable counter
US6662223B1 (en) 1999-07-01 2003-12-09 Cisco Technology, Inc. Protocol to coordinate network end points to measure network latency
US6952421B1 (en) 1999-10-07 2005-10-04 Cisco Technology, Inc. Switched Ethernet path detection
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks
US6954463B1 (en) 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US6944863B1 (en) * 2000-12-21 2005-09-13 Unisys Corporation Queue bank repository and method for sharing limited queue banks in memory
US7027418B2 (en) 2001-01-25 2006-04-11 Bandspeed, Inc. Approach for selecting communications channels based on performance
US6677831B1 (en) 2001-01-31 2004-01-13 3Pardata, Inc. Differential impedance control on printed circuit
US7324509B2 (en) * 2001-03-02 2008-01-29 Broadcom Corporation Efficient optimization algorithm in memory utilization for network applications
US8429296B2 (en) 2001-03-06 2013-04-23 Pluris, Inc. Method and apparatus for distributing routing instructions over multiple interfaces of a data router
GB0107638D0 (en) 2001-03-27 2001-05-16 Marconi Comm Ltd Access networks
GB0107639D0 (en) 2001-03-27 2001-05-16 Marconi Comm Ltd Network tunnelling
US7096273B1 (en) 2001-04-25 2006-08-22 Cisco Technology, Inc. DHCP over mobile IP
US20020161887A1 (en) 2001-04-27 2002-10-31 Foster Michael S. Method and system for performing security via de-registration in a communications network
US7627870B1 (en) * 2001-04-28 2009-12-01 Cisco Technology, Inc. Method and apparatus for a data structure comprising a hierarchy of queues or linked list data structures
US7272137B2 (en) 2001-05-14 2007-09-18 Nortel Networks Limited Data stream filtering apparatus and method
US7027414B2 (en) 2001-08-09 2006-04-11 Hughes Network Systems, Llc Method, apparatus, and system for identifying and efficiently treating classes of traffic
US20030058860A1 (en) 2001-09-25 2003-03-27 Kunze Aaron R. Destination address filtering
US7613167B2 (en) 2001-09-27 2009-11-03 Broadcom Corporation Method and system for upstream priority lookup at physical interface
US7139818B1 (en) 2001-10-04 2006-11-21 Cisco Technology, Inc. Techniques for dynamic host configuration without direct communications between client and server
US7277383B2 (en) 2001-10-05 2007-10-02 Samsung Electronics Co., Ltd. Redundancy mechanization protocol for a massively parallel router
US7284047B2 (en) 2001-11-08 2007-10-16 Microsoft Corporation System and method for controlling network demand via congestion pricing
US7177946B1 (en) 2001-12-06 2007-02-13 Cisco Technology, Inc. Optimal sync for rapid spanning tree protocol
US8089888B2 (en) 2001-12-10 2012-01-03 Qualcomm Incorporated Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US20030115319A1 (en) 2001-12-17 2003-06-19 Dawson Jeffrey L. Network paths
US6668313B2 (en) 2001-12-21 2003-12-23 Agere Systems, Inc. Memory system for increased bandwidth
AU2003217319A1 (en) 2002-02-04 2003-09-02 Fast-Chip, Inc. Services processor having a packet editing unit
US6941649B2 (en) 2002-02-05 2005-09-13 Force10 Networks, Inc. Method of fabricating a high-layer-count backplane
US20030174650A1 (en) 2002-03-15 2003-09-18 Broadcom Corporation Weighted fair queuing (WFQ) shaper
US8078763B1 (en) 2002-04-04 2011-12-13 Juniper Networks, Inc. Dequeuing and congestion control systems and methods for single stream multicast
US20070053303A1 (en) 2005-09-08 2007-03-08 Acterna Llc Transmission Quality Monitoring For Multimedia Streams
US7606248B1 (en) * 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
EP1367750A1 (en) 2002-05-30 2003-12-03 Agilent Technologies, Inc. - a Delaware corporation - Testing network communications
US20030231646A1 (en) 2002-06-14 2003-12-18 Chandra Prashant R. Method and system for efficient random packet enqueue, drop or mark processing in network traffic
US7209976B2 (en) 2002-07-16 2007-04-24 Jeremy Benjamin Protocol communication and transit packet forwarding routed between multiple virtual routers within a single physical router
US6907039B2 (en) 2002-07-20 2005-06-14 Redback Networks Inc. Method and apparatus for routing and forwarding between virtual routers within a single network element
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7280477B2 (en) 2002-09-27 2007-10-09 International Business Machines Corporation Token-based active queue management
US7249187B2 (en) 2002-11-27 2007-07-24 Symantec Corporation Enforcement of compliance with network security policies
US7206284B2 (en) 2002-11-27 2007-04-17 International Business Machines Corporation Method and apparatus for automatic congestion avoidance for differentiated service flows
US20040111507A1 (en) 2002-12-05 2004-06-10 Michael Villado Method and system for monitoring network communications in real-time
US20070061451A1 (en) 2002-12-05 2007-03-15 Michael Villado Method and system for monitoring network communications in real-time
US7397809B2 (en) * 2002-12-13 2008-07-08 Conexant Systems, Inc. Scheduling methods for combined unicast and multicast queuing
US20050201375A1 (en) 2003-01-14 2005-09-15 Yoshihide Komatsu Uninterrupted transfer method in IP network in the event of line failure
US20040151170A1 (en) * 2003-01-31 2004-08-05 Manu Gulati Management of received data within host device using linked lists
FR2852762B1 (fr) 2003-03-19 2005-06-17 Acterna Ipms Procede d'evaluation de la bande passante d'une liaison numerique
US7372865B2 (en) 2003-07-09 2008-05-13 Fujitsu Limited Processing data packets using time stamped marker packets
US7453852B2 (en) 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
US7516211B1 (en) 2003-08-05 2009-04-07 Cisco Technology, Inc. Methods and apparatus to configure a communication port
US7474666B2 (en) 2003-09-03 2009-01-06 Cisco Technology, Inc. Switch port analyzers
US7580409B1 (en) 2003-09-08 2009-08-25 Extreme Networks, Inc. System for and method of communicating control information between entities interconnected by backplane connections
US7127547B2 (en) * 2003-09-30 2006-10-24 Agere Systems Inc. Processor with multiple linked list storage feature
GB2421158B (en) 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US7539131B2 (en) 2003-11-26 2009-05-26 Redback Networks Inc. Nexthop fast rerouter for IP and MPLS
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US20050171937A1 (en) * 2004-02-02 2005-08-04 Hughes Martin W. Memory efficient hashing algorithm
KR20050079420A (ko) 2004-02-05 2005-08-10 삼성전자주식회사 터널링 서비스 방법 및 시스템
CN100583785C (zh) 2004-02-06 2010-01-20 阿派伦特网络股份有限公司 用于表征基于分组的网络的端对端路径的方法和设备
US7583667B2 (en) 2004-03-19 2009-09-01 Avaya Inc. Automatic determination of connectivity problem locations or other network-characterizing information in a network utilizing an encapsulation protocol
JP2005277804A (ja) 2004-03-25 2005-10-06 Hitachi Ltd 情報中継装置
US8081566B1 (en) 2004-04-19 2011-12-20 Rockstar BIDCO, LLP Method and apparatus for indicating congestion in a source routed network
FR2870064A1 (fr) 2004-05-07 2005-11-11 France Telecom Mesure de performance dans un reseau de transmission de paquets
US7555579B2 (en) 2004-05-21 2009-06-30 Nortel Networks Limited Implementing FIFOs in shared memory using linked lists and interleaved linked lists
US7411915B1 (en) 2004-07-21 2008-08-12 Cisco Technology, Inc. Automatically configuring switch ports with appropriate features
KR20060009676A (ko) 2004-07-26 2006-02-01 삼성전자주식회사 자동으로 터널을 설정하는 방법 및 장치
JP4447604B2 (ja) 2004-09-03 2010-04-07 アンリツ株式会社 欠落パケット測定装置およびそれを用いた誤り率測定装置
US20060075093A1 (en) 2004-10-05 2006-04-06 Enterasys Networks, Inc. Using flow metric events to control network operation
GB2419255A (en) 2004-10-14 2006-04-19 Agilent Technologies Inc Modifying an aggregate test in a network probe
GB2419490A (en) 2004-10-19 2006-04-26 Agilent Technologies Inc Analysing datagrams in a packet forwarding apparatus making use of a separately retrievable multicast field.
CN101048984B (zh) 2004-10-21 2013-08-21 日本电气株式会社 通信质量测量装置和通信质量测量方法
US20060098673A1 (en) * 2004-11-09 2006-05-11 Alcatel Input queue packet switch architecture and queue service discipline
JP4454516B2 (ja) 2005-02-16 2010-04-21 富士通株式会社 障害検出装置
JP2006245849A (ja) 2005-03-02 2006-09-14 Fujitsu Ltd 通信装置
JP4919608B2 (ja) 2005-03-02 2012-04-18 株式会社日立製作所 パケット転送装置
US7436772B2 (en) 2005-03-23 2008-10-14 Microsoft Corporation Available bandwidth estimation
US7894407B2 (en) 2005-03-25 2011-02-22 Alcatel-Lucent Usa Inc. Method and apparatus for seamless roaming for wireless networks
US7672244B2 (en) 2005-03-30 2010-03-02 Cisco Technology, Inc. Converting a network device from data rate traffic management to packet rate
CN100388739C (zh) 2005-04-29 2008-05-14 华为技术有限公司 实现dhcp地址安全分配的方法及系统
US20060250982A1 (en) 2005-05-05 2006-11-09 Harrow Products Llc Methods and systems for discovering and configuring network devices
US7894372B2 (en) 2005-05-31 2011-02-22 Iac Search & Media, Inc. Topology-centric resource management for large scale service clusters
US8189483B2 (en) 2005-06-01 2012-05-29 Litepoint Corporation Method for measuring sensitivity of data packet signal receiver
US7634622B1 (en) * 2005-06-14 2009-12-15 Consentry Networks, Inc. Packet processor that generates packet-start offsets to immediately store incoming streamed packets using parallel, staggered round-robin arbitration to interleaved banks of memory
US7773611B2 (en) 2005-06-15 2010-08-10 Cisco Technology, Inc. Method and apparatus for packet loss detection
GB0513321D0 (en) 2005-06-29 2005-08-03 Ibm A method and system for determining a plurality of scheduling endpoints in a grid network
US7599303B2 (en) 2005-07-26 2009-10-06 Cisco Technology, Inc. System and methods for sending trace messages
US7835293B2 (en) 2005-09-13 2010-11-16 Cisco Technology, Inc. Quality of service testing of communications networks
US20070058557A1 (en) 2005-09-15 2007-03-15 Interdigital Technology Corporation Method and apparatus for scheduling data transmissions based on a traffic data pattern model
US7864669B2 (en) 2005-10-20 2011-01-04 Cisco Technology, Inc. Method of constructing a backup path in an autonomous system
US20070097872A1 (en) 2005-10-27 2007-05-03 Inventec Corporation Network connection apparatus testing method
CN100421396C (zh) * 2005-11-18 2008-09-24 史文勇 一种瓶颈带宽和剩余带宽的测量方法和系统
US20070121499A1 (en) * 2005-11-28 2007-05-31 Subhasis Pal Method of and system for physically distributed, logically shared, and data slice-synchronized shared memory switching
US8233384B2 (en) 2005-12-21 2012-07-31 Rockstar Bidco, LP Geographic redundancy in communication networks
US7756066B2 (en) 2006-01-10 2010-07-13 Cisco Technology, Inc. Seamless spanning tree restart of a single supervisor
JP4759389B2 (ja) 2006-01-10 2011-08-31 アラクサラネットワークス株式会社 パケット通信装置
US9426092B2 (en) 2006-02-03 2016-08-23 Level 3 Communications Llc System and method for switching traffic through a network
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US8204005B2 (en) 2006-03-09 2012-06-19 Intel Corporation Wireless communication device and method for dynamic bidirectional aggregation of MAC frames with delayed channel access in a wireless network
US7539133B2 (en) 2006-03-23 2009-05-26 Alcatel-Lucent Usa Inc. Method and apparatus for preventing congestion in load-balancing networks
US7747734B2 (en) 2006-03-29 2010-06-29 International Business Machines Corporation Apparatus, system, and method for error assessment over a communication link
US7738473B2 (en) * 2006-04-20 2010-06-15 Forestay Research, Llc Multicast switching in a credit based unicast and multicast switching architecture
DE602006019946D1 (de) 2006-05-02 2011-03-17 Acterna France System und Verfahren zur Überwachung eines Datennetzwerksegments
US7715309B2 (en) 2006-05-24 2010-05-11 At&T Intellectual Property I, L.P. Method and apparatus for reliable communications in a packet network
US7590092B2 (en) 2006-05-30 2009-09-15 Motorola Inc. Method and system for inter-technology handoff of a hybrid access terminal
US7426604B1 (en) 2006-06-14 2008-09-16 Sun Microsystems, Inc. Virtual output buffer architecture
US7630368B2 (en) 2006-06-30 2009-12-08 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US7899049B2 (en) 2006-08-01 2011-03-01 Cisco Technology, Inc. Methods and apparatus for minimizing duplicate traffic during point to multipoint tree switching in a network
KR100833510B1 (ko) 2006-08-03 2008-05-29 한국전자통신연구원 Mpls 네트워크 상에서 oam 성능 감시 패킷을 이용한lsp의 성능 파라미터 측정 방법과 그 장치
JP5092307B2 (ja) 2006-08-04 2012-12-05 富士通株式会社 ネットワーク装置およびデータ制御プログラム
US7870306B2 (en) * 2006-08-31 2011-01-11 Cisco Technology, Inc. Shared memory message switch and cache
CN101558610B (zh) 2006-12-13 2015-02-18 艾利森电话股份有限公司 一种用于在无线电网络中对数据传输进行调度的方法
US9191460B2 (en) 2006-12-14 2015-11-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selective sub-net filtering in a pre-boot execution environment (PXE)
EP1936880A1 (en) 2006-12-18 2008-06-25 British Telecommunications Public Limited Company Method and system for congestion marking
US9253274B2 (en) 2007-01-19 2016-02-02 Cisco Technology, Inc. Service insertion architecture
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
CN101247321B (zh) 2007-02-14 2012-07-04 华为技术有限公司 在基于直径协议的网络中进行路由诊断的方法、装置及系统
JP4992482B2 (ja) 2007-03-09 2012-08-08 富士通株式会社 ネットワーク試験装置
US7864711B2 (en) * 2007-03-20 2011-01-04 Agilent Technologies, Inc. Rank order filtering for randomly sampled data points
US8045558B2 (en) 2007-04-23 2011-10-25 Cisco Technology, Inc. Extensions to IPv6 neighbor discovery protocol for automated prefix delegation
US8005013B2 (en) 2007-06-12 2011-08-23 Hewlett-Packard Development Company, L.P. Managing connectivity in a virtual network
JP2009049708A (ja) 2007-08-20 2009-03-05 Fujitsu Ltd ネットワーク障害情報収集装置、システム、方法及びプログラム
US7729296B1 (en) 2007-09-07 2010-06-01 Force 10 Networks, Inc. Distributed BPDU processing for spanning tree protocols
US7991877B2 (en) 2007-10-05 2011-08-02 International Business Machines Corporation Rogue router hunter
JP2009111747A (ja) 2007-10-30 2009-05-21 Sony Corp 中継装置および方法、並びに、プログラム
US8000251B2 (en) 2007-11-14 2011-08-16 Cisco Technology, Inc. Instrumenting packet flows
CN101442516B (zh) 2007-11-20 2012-04-25 华为技术有限公司 一种dhcp认证的方法、系统和装置
US8514712B1 (en) 2007-12-06 2013-08-20 Force10 Networks, Inc. Non-stop VoIP support
CA2619092C (en) 2008-01-29 2015-05-19 Solutioninc Limited Method of and system for support of user devices roaming between routing realms by a single network server
US7830223B2 (en) 2008-01-30 2010-11-09 Cisco Technology, Inc. Ground straddling in PTH pinfield for improved impedance
US7948910B2 (en) 2008-03-06 2011-05-24 Cisco Technology, Inc. Monitoring quality of a packet flow in packet-based communication networks
US8073945B2 (en) 2008-04-25 2011-12-06 At&T Intellectual Property I, L.P. Method and apparatus for providing a measurement of performance for a network
US7937492B1 (en) 2008-09-30 2011-05-03 Juniper Networks, Inc. LSP ping and traceroute for bypass tunnels
US7936754B2 (en) 2008-12-12 2011-05-03 At&T Intellectual Property I, L.P. Methods and apparatus to dynamically store network routes for a communication network
US8285875B2 (en) 2009-01-28 2012-10-09 Juniper Networks, Inc. Synchronizing resource bindings within computer network
US8086713B2 (en) 2009-01-28 2011-12-27 Juniper Networks, Inc. Determining a subscriber device has failed gracelessly without issuing a DHCP release message and automatically releasing resources reserved for the subscriber device within a broadband network upon determining that another subscriber device requesting the reservation of a network address has the same context information as the failed subscriber device
US7826469B1 (en) 2009-03-09 2010-11-02 Juniper Networks, Inc. Memory utilization in a priority queuing system of a network device
US8243743B2 (en) 2009-04-09 2012-08-14 Ciena Corporation In-band signaling for point-multipoint packet protection switching
US8990431B2 (en) 2009-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing
CN101562543B (zh) 2009-05-25 2013-07-31 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理系统和装置
US8977738B2 (en) 2009-06-05 2015-03-10 Power Measurement Ltd. Automated discovery of monitoring devices on a network
CN102045229B (zh) 2009-10-19 2014-12-10 中兴通讯股份有限公司 一种以太多环网的拓扑管理方法和系统
US8891368B2 (en) 2009-11-06 2014-11-18 Brocade Communications Systems, Inc. Presentation of a selected port
US8687629B1 (en) 2009-11-18 2014-04-01 Juniper Networks, Inc. Fabric virtualization for packet and circuit switching
WO2011067408A1 (en) * 2009-12-04 2011-06-09 Napatech A/S An apparatus and a method of receiving and storing data packets controlled by a central controller
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8325459B2 (en) 2009-12-08 2012-12-04 International Business Machines Corporation Channel performance of electrical lines
US8442063B1 (en) * 2009-12-21 2013-05-14 Xuyang Zhou System and method for scheduling unicast and multicast traffic
US9054996B2 (en) 2009-12-24 2015-06-09 Juniper Networks, Inc. Dynamic prioritized fair share scheduling scheme in over-subscribed port scenario
US9262554B1 (en) * 2010-02-16 2016-02-16 Pmc-Sierra Us, Inc. Management of linked lists within a dynamic queue system
JP5427644B2 (ja) 2010-02-25 2014-02-26 株式会社日立製作所 プリント基板
US8364864B2 (en) 2010-03-17 2013-01-29 Juniper Networks, Inc. Multi-bank queuing architecture for higher bandwidth on-chip memory buffer
WO2011126646A2 (en) 2010-03-31 2011-10-13 Flextronics Ap, Llc Improved backdrilling of multilayer printed circuit boards
US8218557B2 (en) 2010-04-09 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Scalable distributed user plane partitioned two-stage forwarding information base lookup for subscriber internet protocol host routes
US8811398B2 (en) 2010-04-30 2014-08-19 Hewlett-Packard Development Company, L.P. Method for routing data packets using VLANs
US9036481B1 (en) 2010-05-05 2015-05-19 Marvell International Ltd. Method and apparatus for adaptive packet load balancing
US8861364B2 (en) * 2010-05-16 2014-10-14 Altera Corporation Method and apparatus for implementing non-blocking priority based flow control
US8295292B2 (en) * 2010-05-19 2012-10-23 Telefonaktiebolaget L M Ericsson (Publ) High performance hardware linked list processors
US8750297B2 (en) 2010-05-20 2014-06-10 Comcast Cable Communications, Llc Ascertaining per-hop network characteristics
US8634308B2 (en) 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks
US8553545B2 (en) 2010-06-22 2013-10-08 Verizon Patent And Licensing Inc. Congestion buffer control in wireless networks
EP2587755B1 (en) 2010-06-24 2016-04-27 Huawei Technologies Co., Ltd. Method, apparatus and system for implementing multicast
US8407689B2 (en) 2010-06-25 2013-03-26 Microsoft Corporation Updating nodes considering service model constraints
EP2403202A1 (en) * 2010-07-02 2012-01-04 Thomson Licensing Computer system and method for operating the same
CN102333413A (zh) 2010-07-12 2012-01-25 鸿富锦精密工业(深圳)有限公司 印刷电路板
US8339973B1 (en) 2010-09-07 2012-12-25 Juniper Networks, Inc. Multicast traceroute over MPLS/BGP IP multicast VPN
US8886766B2 (en) 2010-10-25 2014-11-11 Salesforce.Com, Inc. Systems and methods for tracking responses on an online social network
US8706705B1 (en) * 2010-12-16 2014-04-22 Conductor, Inc. System and method for associating data relating to features of a data entity
US8737418B2 (en) 2010-12-22 2014-05-27 Brocade Communications Systems, Inc. Queue speed-up by using multiple linked lists
CN102594652B (zh) 2011-01-13 2015-04-08 华为技术有限公司 一种虚拟机迁移方法、交换机、虚拟机系统
US8868766B1 (en) 2011-03-29 2014-10-21 Amazon Technologies, Inc. Optimizing communication among collections of computing resources
JP5235032B2 (ja) 2011-04-04 2013-07-10 シャープ株式会社 表示装置、情報処理システム及びプログラム
CN102171998B (zh) 2011-04-26 2013-10-09 华为技术有限公司 业务实例映射方法、装置和系统
US8693489B2 (en) * 2011-04-28 2014-04-08 Alcatel Lucent Hierarchical profiled scheduling and shaping
US8693341B2 (en) 2011-06-10 2014-04-08 Force10 Networks, Inc. Method and apparatus for optimizing data traffic path through a stacked switch LAG configuration
CN103858386B (zh) * 2011-08-02 2017-08-25 凯为公司 用于通过优化的决策树执行包分类的方法和装置
TWI434634B (zh) 2011-08-09 2014-04-11 中原大學 Differential mode flat spiral delay line structure
US20130040634A1 (en) * 2011-08-10 2013-02-14 Mediatek, Inc. Method and Apparatus for Managing Access to User Equipment Event Information
US9134992B2 (en) 2011-08-31 2015-09-15 Vmware, Inc. Interactive and visual planning tool for managing installs and upgrades
US8610000B2 (en) 2011-10-07 2013-12-17 Tyco Electronics Corporation Circuit board for an electrical connector
US8856384B2 (en) 2011-10-14 2014-10-07 Big Switch Networks, Inc. System and methods for managing network protocol address assignment with a controller
US20130124708A1 (en) 2011-11-10 2013-05-16 Electronics And Telecommunications Research Institute Method and system for adaptive composite service path management
US8935375B2 (en) * 2011-12-12 2015-01-13 Microsoft Corporation Increasing availability of stateful applications
CN102426610B (zh) * 2012-01-13 2014-05-07 中国科学院计算技术研究所 微博搜索排名方法及微博搜索引擎
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9542227B2 (en) * 2012-01-30 2017-01-10 Nvidia Corporation Parallel dynamic memory allocation using a lock-free FIFO
WO2013126837A1 (en) 2012-02-24 2013-08-29 Huawei Technologies Co., Ltd. Balancing of forwarding and address resolution in overlay networks
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US9106508B2 (en) 2012-04-30 2015-08-11 International Business Machines Corporation Providing services to virtual overlay network traffic
US9325562B2 (en) 2012-05-15 2016-04-26 International Business Machines Corporation Overlay tunnel information exchange protocol
US8811409B2 (en) 2012-06-04 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Routing VLAN tagged packets to far end addresses of virtual forwarding instances using separate administrations
US8837300B2 (en) 2012-06-05 2014-09-16 Cisco Technology, Inc. Managing trace requests over tunneled links
US8908691B2 (en) 2012-06-05 2014-12-09 International Business Machines Corporation Virtual ethernet port aggregation (VEPA)-enabled multi-tenant overlay network
US8959185B2 (en) 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
US9064216B2 (en) 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US10129182B2 (en) 2012-06-29 2018-11-13 Juniper Networks, Inc. Methods and apparatus for providing services in distributed switch
US9094459B2 (en) 2012-07-16 2015-07-28 International Business Machines Corporation Flow based overlay network
CN103580902B (zh) 2012-08-07 2015-01-14 腾讯科技(深圳)有限公司 一种计算机信息系统及其动态容灾方法
US9258195B1 (en) 2012-08-08 2016-02-09 Shoretel, Inc. Logical topology visualization
US8989192B2 (en) 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US9124527B2 (en) 2012-08-29 2015-09-01 International Business Machines Corporation Sliced routing table management
US8893262B2 (en) 2012-08-30 2014-11-18 Tropos Networks, Inc. Establishing an IPsec (internet protocol security) VPN (virtual private network) tunnel
CA2883659C (en) 2012-08-31 2020-06-23 Bce Inc. Ip mpls pop virtualization and fault tolerant virtual router
US8837476B2 (en) 2012-09-07 2014-09-16 International Business Machines Corporation Overlay network capable of supporting storage area network (SAN) traffic
US9383967B2 (en) * 2012-09-13 2016-07-05 National Instruments Corporation Accumulation of waveform data using alternating memory banks
EP2891277B1 (en) 2012-09-26 2017-08-09 Huawei Technologies Co., Ltd. Overlay virtual gateway for overlay networks
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
US9160797B2 (en) 2012-10-17 2015-10-13 Verizon Patent And Licensing Inc. Network devices with feature peer network logic
US9787570B2 (en) 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
US9380111B2 (en) 2012-10-17 2016-06-28 Verizon Patent And Licensing Inc. Feature peer network with scalable state information
WO2014071996A1 (en) 2012-11-12 2014-05-15 Abb Technology Ag System and method for visualizing a combined physical and virtual communication network of a power plant
US9137154B2 (en) 2012-11-29 2015-09-15 Lenovo Enterprise Solutions (Singapore Pte. LTD Management of routing tables shared by logical switch partitions in a distributed network switch
US9036639B2 (en) 2012-11-29 2015-05-19 Futurewei Technologies, Inc. System and method for VXLAN inter-domain communications
US9760444B2 (en) * 2013-01-11 2017-09-12 Commvault Systems, Inc. Sharing of secondary storage data
US20140201375A1 (en) 2013-01-11 2014-07-17 Anuta Networks, Inc. Method, apparatus and system pertaining to cloud computing
US9178799B2 (en) 2013-02-01 2015-11-03 TELEFONAKTIEBOLAGET L M ERRICSSON (publ) Method and system of shortest path bridging (SPB) enhanced resilience with loop mitigation
CN105122745B (zh) 2013-02-27 2019-06-28 马维尔国际贸易有限公司 用于网络设备的高效最长前缀匹配技术
CN104022960B (zh) 2013-02-28 2017-05-31 新华三技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
US9374241B2 (en) 2013-03-14 2016-06-21 International Business Machines Corporation Tagging virtual overlay packets in a virtual networking system
US9197551B2 (en) 2013-03-15 2015-11-24 International Business Machines Corporation Heterogeneous overlay network translation for domain unification
WO2014169251A1 (en) 2013-04-12 2014-10-16 Huawei Technologies Co., Ltd. Service chain policy for distributed gateways in virtual overlay networks
US10021027B2 (en) 2013-04-30 2018-07-10 Comcast Cable Communications, Llc Network validation with dynamic tunneling
EP2802103B1 (en) 2013-05-06 2018-04-18 Viavi Solutions Inc. Method and system for measuring packet loss
US9258243B2 (en) 2013-05-10 2016-02-09 Cisco Technology, Inc. Symmetric service chain binding
US9160666B2 (en) 2013-05-20 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Encoding a payload hash in the DA-MAC to facilitate elastic chaining of packet processing elements
JP5769208B2 (ja) 2013-05-21 2015-08-26 国立研究開発法人情報通信研究機構 ネットワークの構成及び動作の可視化システム
US9471356B2 (en) 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US9749231B2 (en) 2013-07-02 2017-08-29 Arista Networks, Inc. Method and system for overlay routing with VXLAN on bare metal servers
US9374323B2 (en) 2013-07-08 2016-06-21 Futurewei Technologies, Inc. Communication between endpoints in different VXLAN networks
US9426060B2 (en) 2013-08-07 2016-08-23 International Business Machines Corporation Software defined network (SDN) switch clusters having layer-3 distributed router functionality
CN103501214B (zh) * 2013-09-04 2018-10-09 国家电网公司 基于位图反馈的h-arqi型链路传输方法
US9419892B2 (en) 2013-09-30 2016-08-16 Juniper Networks, Inc. Methods and apparatus for implementing connectivity between edge devices via a switch fabric
US9755960B2 (en) 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
US20150113143A1 (en) 2013-10-18 2015-04-23 Hewlett-Packard Development Company, L.P Network resource automation management
US9876715B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Network fabric overlay
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9832122B2 (en) 2013-11-05 2017-11-28 Cisco Technology, Inc. System and method for identification of large-data flows
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US9402470B2 (en) 2013-11-05 2016-08-02 Cisco Technology, Inc. Rack mounting kit for telecommunications equipment and rack cross brace
US9544185B1 (en) 2013-11-05 2017-01-10 Cisco Technology, Inc. Hardware based fast convergence for network failures
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9888405B2 (en) 2013-11-05 2018-02-06 Cisco Technology, Inc. Networking apparatuses and packet statistic determination methods employing atomic counters
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US20150124824A1 (en) 2013-11-05 2015-05-07 Cisco Technology, Inc. Incast drop cause telemetry
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9509092B2 (en) 2013-11-06 2016-11-29 Cisco Technology, Inc. System and apparatus for network device heat management
US9389847B2 (en) 2014-06-28 2016-07-12 Vmware, Inc. Selection of relevant software bundles
US9223767B1 (en) 2014-06-28 2015-12-29 Vmware, Inc. Unified graphical user interface for displaying a plan of operations in a datacenter

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992001345A1 (en) * 1990-07-11 1992-01-23 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
WO1993001670A1 (en) * 1991-07-05 1993-01-21 Codex Corporation Device and method for implementing queueing disciplines at high sspeeds
CN1109231A (zh) * 1993-08-27 1995-09-27 阿尔卡塔尔有限公司 临时存储数据包的方法和设备以及使用该设备的交换机
US5926458A (en) * 1997-01-31 1999-07-20 Bay Networks Method and apparatus for servicing multiple queues
US6389031B1 (en) * 1997-11-05 2002-05-14 Polytechnic University Methods and apparatus for fairly scheduling queued packets using a ram-based search engine
US6876952B1 (en) * 2003-04-30 2005-04-05 Cisco Technology, Inc. Methods and apparatus for maintaining queues
US7372857B1 (en) * 2003-05-28 2008-05-13 Cisco Technology, Inc. Methods and apparatus for scheduling tasks

Also Published As

Publication number Publication date
EP3066557B1 (en) 2017-10-11
EP3066557A1 (en) 2016-09-14
EP3066566A1 (en) 2016-09-14
US9674086B2 (en) 2017-06-06
US10652163B2 (en) 2020-05-12
CN105706043A (zh) 2016-06-22
WO2015069578A1 (en) 2015-05-14
US10148586B2 (en) 2018-12-04
US20200252345A1 (en) 2020-08-06
EP3066566B1 (en) 2020-10-14
WO2015069582A1 (en) 2015-05-14
CN105706043B (zh) 2019-05-31
US20170237678A1 (en) 2017-08-17
US20150124832A1 (en) 2015-05-07
US20150124833A1 (en) 2015-05-07
CN105706044A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105706044B (zh) 基于排名的工作保持调度器
US10791065B2 (en) Systems and methods for providing container attributes as part of OAM techniques
US10320664B2 (en) Cloud overlay for operations administration and management
US10103972B2 (en) Managing data flows in software-defined network using network interface card
CN102334112B (zh) 用于虚拟机网络的方法和系统
CN105450690B (zh) 虚拟机管理程序执行的方法和虚拟机管理系统
CN109791482A (zh) 在微服务环境中缩放服务发现
US9667551B2 (en) Policy enforcement proxy
CN104954253B (zh) 用于数据中心覆盖网络的基于PCIe的主机网络加速器(HNA)
CN107370642B (zh) 一种基于云平台多租户网络平稳度监测系统和方法
CN104104620B (zh) 用于按优先级进行业务流处理的方法和系统
WO2018036172A1 (zh) 业务编排方法及装置、业务发放方法及装置
US20220210225A1 (en) Class-based queueing for scalable multi-tenant rdma traffic
CN103369027A (zh) 混合云环境中的位置感知虚拟服务配备
CN104995880A (zh) 虚拟联网系统中的量化拥塞通知
CN105051688A (zh) 经扩展的标记联网
US20180109429A1 (en) Intuitive approach to visualize health of microservice policies
CN107071087A (zh) 逻辑l3路由
JP2015032932A (ja) キャリア網における経路制御システム及び方法
CN109525684A (zh) 报文转发方法和装置
US9825814B2 (en) Dynamic attribute based application policy
WO2022146466A1 (en) Class-based queueing for scalable multi-tenant rdma traffic
EP4272408A1 (en) Cloud scale multi-tenancy for rdma over converged ethernet (roce)
WO2023205004A1 (en) Customized processing for different classes of rdma traffic
CN116724546A (zh) 用于融合以太网上的RDMA(RoCE)云规模多租赁

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant