CN101647025B - 具有拒绝服务缓解的文件服务器流水线 - Google Patents

具有拒绝服务缓解的文件服务器流水线 Download PDF

Info

Publication number
CN101647025B
CN101647025B CN2008800101058A CN200880010105A CN101647025B CN 101647025 B CN101647025 B CN 101647025B CN 2008800101058 A CN2008800101058 A CN 2008800101058A CN 200880010105 A CN200880010105 A CN 200880010105A CN 101647025 B CN101647025 B CN 101647025B
Authority
CN
China
Prior art keywords
client computer
request
server
data
resource
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.)
Expired - Fee Related
Application number
CN2008800101058A
Other languages
English (en)
Other versions
CN101647025A (zh
Inventor
D·克鲁斯
R·加纳帕锡
J·C·福勒
M·乔治
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101647025A publication Critical patent/CN101647025A/zh
Application granted granted Critical
Publication of CN101647025B publication Critical patent/CN101647025B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Abstract

公开了在服务器上使用信用度来计量带宽分配的方法。该方法可以从客户机接收数据请求,对该数据请求做出响应并确定客户机的数据请求是否超过该客户机的当前数据分配信用度限额。使用往返时间,该方法可以计算一客户机的连接吞吐量,并且如果服务器拥有资源备用、该客户机正积极地使用当前允许的流水线深度以及网络连接等待时间和带宽指示需要更深的流水线来达成饱和度,则可以增加该客户机的数据分配信用度限额。如果服务器没有资源备用,该方法可以减少客户机的当前数据分配信用度限额。

Description

具有拒绝服务缓解的文件服务器流水线
背景
此背景旨在提供本专利申请的基本上下文,而不旨在描述要解决的具体问题。
文件客户机可以向文件服务器投送多个待办请求,并且所投送的这些请求中的每一个都将使用文件服务器资源,直到该请求被处理且响应被发送为止。在不限制由客户机发送的待办文件操作请求的数量的情况下,文件服务器自己遭受拒绝服务(DoS)攻击的危险。阻止客户机连接锁定过多服务器资源的最简单方式是对待办操作的数量施加小的、静态的限额。然而,由于为了完全利用带宽,深操作流水线是必要的,所以,尤其是在具有高等待时间连接的情况下,此方法限制了性能。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
公开了在服务器上使用信用度来计量带宽分配的方法。该方法可以从客户机接收数据请求,对该数据请求做出响应并确定客户机的数据请求是否超过该客户机的当前数据分配信用度限额。使用往返时间,该方法可以计算客户机的连接吞吐量,并且如果服务器有资源备用、该客户机正积极地使用当前允许的流水线深度以及网络连接等待时间和带宽指示需要更深的流水线来达到饱和,则可以增加该客户机的数据分配信用度限额。如果服务器没有资源备用,该方法可以减少客户机的当前数据分配信用度限额。
附图
图1是可根据各权利要求来操作的计算系统的框图;
图2是使用信用度在服务器上计量带宽分配的方法的流程图。
图3是计量带宽的优点的图示。
描述
尽管以下正文阐明众多不同实施例的详细描述,但是应当理解,该描述的法律范围由本发明所附的权利要求书的言辞来限定。该详细描述应被解释为仅是示例性的,且不描述每一可能的实施例,因为描述每一可能的实施例即使不是不可能的也是不切实际的。可使用现有技术或在本申请提交日之后开发的技术来实现众多替换实施例,而这仍落入权利要求书的范围之内。
还应该理解,在本专利中,除非使用句子“如此处所用,术语‘_____’特此被定义为意指……”或者类似句子来明确地定义一个术语,否则不管是明确地还是含蓄地,都没有限制该术语意义超出其平常或普通意义的意图,并且,这一术语不应该被解释为被限制在基于本专利的任何部分中(除了权利要求书的语言之外)所做的任何陈述的范围中。就本专利所附的权利要求书中所述的任何术语在本专利中以与单数意义相一致的方式来引用而言,这是为简明起见而如此做的,仅仅是为了不使读者感到混淆,且这类权利要求术语并不旨在隐含地或以其它方式限于该单数意义。最后,除非一权利要求要素是通过叙述单词“装置”和功能而没有叙述任何结构来定义的,否则任何权利要求要素的范围并不旨在基于35 U.S.C.§12第6段的应用来解释。
图1示出在其上可实现用于所要求保护的方法和装置的步骤的系统的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并不旨在对本权利要求的装置的方法的使用范围或功能提出任何局限。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
所要求保护的方法和装置的步骤可运行于多种其它通用或专用计算系统环境或配置。适合在本权利要求的方法或装置中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型机、包括上述系统或设备中的任一个的分布式计算机环境等。
所要求保护的方法和装置的步骤可在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。这些方法和装置也可以在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参见图1,用于实现要求保护的方法和装置的各步骤的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是数种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。上述中任一组合也应包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,它通常储存在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在其上操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器140,对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘156进行读写的光盘驱动器155。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。
以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常称为鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。这些和其它输入设备通常由耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由其它接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。除监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口190连接。
计算机110可使用至一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器172可以是内置或外置的,它可以经由用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
图2示出使用信用度在诸如服务器等计算机100上计量带宽分配的方法。服务器具有有限的响应请求的能力。由于此限制,问题可能产生。例如,恶意用户可以向服务器做出超出服务器的能力的请求来发起服务拒绝攻击。在另一示例中,如果没有采取在许多用户之间共享服务器的能力的步骤,则用户可能能够垄断该服务器。图3可以示出样本客户机305和服务器310。该客户机305传送请求315,而该服务器310传送响应320。
以下方法及其替换方法通过考虑特定服务器310资源、连接变量以及客户活动模式来给予客户机合适深度的流水线来解决此问题。具体地,所允许的客户机流水线深度仅在以下情况时增加:1)服务器拥有资源备用;以及2)该客户机正积极使用当前所允许的流水线深度;以及3)网络连接等待时间和带宽指示需要更深的流水线来达成饱和度。结果,可以通过使用服务器310资源信息、网络连接信息、以及客户机活动模式来确定扼流来动态地对文件服务器310操作扼流。更具体地,给定服务器310、连接、以及客户机信息,该方法可以用一种在需要时在最大化流水线深度和性能的同时减少拒绝服务机会的方式动态地确定每个客户机的信用度限额。
在框200,可以从客户机处接收数据请求。可以在例如服务器310等计算机上接收该请求。在框210,该请求的接收者可以对该数据请求做出响应。例如,服务器310可以传送与框200中的请求相关的数据。如果服务器310正忙,则它可以发送它正忙的消息。其它响应也是可能的。
在框220,确定客户机的数据请求是否超过该客户机的当前数据分配信用度限额。文件服务器资源可以按照“信用度”来计量,其代表了还未被完成的待办工作项目。每一信用度可以代表来自客户机的请求数据的最大数量(例如,64KB)以及跟踪该请求的处理的服务器专用资源。服务器消息块(“SMB”)2.0文件共享协议提供分配信用度的机制。
文件服务器310可以通过允许每一客户机使用特定的最大数量信用度来控制来自客户机的待办请求的数量。任何超过此限额的请求会失败并可以终止客户机到服务器310的连接。通常,此最大流水线深度是不仅限制拒绝服务机会,还限制并发性和性能的小的、静态的值。
随着网络连接的带宽延迟产品增加,可能需要更深的流水线来完全利用带宽。例如,如果一连接具有10毫秒的往返时间(RTT)以及125兆字节/秒的带宽,应用程序协议必须平均每轮往返传输1.25兆字节来完全利用可用的带宽。如果该应用程序协议的流水线深度少于此值,它将不能每轮往返传输足够的数据来利用它的带宽。图3可以示出更深流水线的好处。
每一客户机可以从它的数据分配信用度限额的默认值开始。通过调整该信用度限额,该服务器310能够在确保拒绝服务攻击不成功的同时确保最大化带宽分配。理想地,该默认值可以使典型的带宽延迟产品饱和。例如,使用10毫秒往返时间(RTT)的1千兆比特每秒连接需要1.25兆字节的待办数据,其等于大约二十个64KB信用度。在一个实施例中,可以通知该客户机它的当前信用度限额。
在框230,可以为客户机计算连接吞吐量。一般而言,吞吐量可被计算为,在目的地正确接收到的数据分组(或包含在数据分组中的比特)的数量除以数据分组被接收所花的时间。在一个实施例中,可以在每次花费了整个信用度窗口时计算连接的吞吐量。例如,如果客户机拥有10信用度并且第1和第11个SMB请求之间的时间间隔是100毫秒、其中每一信用度可以代表最多64KB的数据,则该连接吞吐量被计算为在0.1秒中640KB、或6.4兆字节/秒。此吞吐量可以具有下限值来防止恶意客户机通过模拟非常低的初始吞吐量来获取信用度。该下限值应该低到足以满足最差的所支持的往返时间(“RTT”)。例如,如果该方法适用于2秒的RTT连接,并且默认信用度限额是二十个64KB信用度,则施加的下限吞吐量应该不高于每2秒1.28兆字节,或640KB/秒。否则,此类连接将不能够在被给予更多信用度的情况下展示出更高的计算出的吞吐量,因为该下限值将高于它们的真正最大吞吐量。同样,下限吞吐量自然地防止小控制服务器消息块不必要地贡献更深的流水线。
在框240,可以确定服务器是否具有额外的可用资源备用。在一个实施例中,具有可用或备用资源意味着具有足够的存储器来跟踪请求并保持传入数据。在另一实施例中,具有可用资源可以意味着具有跟踪请求并保持传入数据所需的被特别分配的数据结构。
在框250,如果服务器具有资源备用,并且客户机正积极地使用当前所允许的流水线深度,且网络连接等待时间和带宽指示需要更深的流水线来达成饱和度,则可以增加该客户机当前的数据分配信用度限额。确定客户机是否正积极使用当前所允许的流水线深度可以意味着该连接的吞吐量在假定上次信用度增加的情况下已经增加了预期数量的给定百分比(例如50%)。例如,如果上次将连接的限额从20增加到40,并且当时的吞吐量是100kB/秒,则该连接必需达到至少150kB/秒以便有资格进行另一次增加。
在框260,如果服务器310没有资源备用,则可以减少客户机的当前数据分配信用度限额。如相对于框240所述,资源可以涉及跟踪并保持传入数据所需的存储器和被特别分配的数据结构。
在操作中,可以从具有最大数量的信用度的连接中减少客户机的当前数据分配信用度限额。在另一实施例中,可以在所有客户机之间成比例地减少信用度。还可以存在客户机可以保持在其之上的信用度下限。此外,在减少客户机的当前数据分配信用度限额时,还可以或者异步地或者在下一SMB响应中通知客户机它的信用度已经被减少。此外,可以在传输级对传入请求扼流来遵守当前信用度限额。
如果流水线满了(前一深度),则超过新信用度限额的传入请求可以是失败的。这允许信用度改变时网络上的任何待办请求被优雅地处理。
在另一实施例中,可以尽可能快地为受影响的连接完成当前正被处理的数据请求来减少连接的资源使用。例如,可以立即触发待决改变通知请求来释放它们的服务器资源。此外,超出新信用度限额的连接资源可在其变为可用时被释放。
此算法的效果可以是如下所述:
所有连接可以流水线处理足够的数据来使典型带宽延迟产品连接饱和;
看上去可以从更高的信用度获得真正好处的连接将接收到更高的信用度。这允许高等待时间和/或高带宽连接最终使它们的网络容量饱和;以及
恶意客户机无法简单地获取服务器310资源,并且无法永久地锁定它们。该客户机可以通过以与合法用户相同的方式执行大量工作来取得额外的服务器310资源-服务器无法区分这两种做真正工作的情况。在最差的情况下,恶意客户机可以通过持续在模拟的高等待时间连接上执行工作来逐渐获取服务器资源。如果服务器310确定资源少或其它客户机更需要现有资源,则这样的客户机将不能取得额外资源。如果服务器310想要回收资源,则该客户机还将失去它的额外资源并被扼流。
尽管以上正文陈述了众多不同实施例的详细描述,但是应当理解,本专利的法律范围由本专利所附的权利要求书的言辞来限定。该详细描述应被解释为仅是示例性的,且不描述每一可能的实施例,因为描述每一可能的实施例即使不是不可能的也是不切实际的。可使用现有技术或在本申请提交日之后开发的技术来实现众多替换实施例,而这仍落入权利要求书的范围之内。
由此,可在此处所描述和示出的技术和结构上作出许多修改和变化而不脱离本权利要求的精神和范围。因此,应当理解,此处所描述的方法和装置仅是说明性的,且不限制本权利要求的范围。

Claims (15)

1.一种在服务器上使用信用度来计量带宽分配的方法,所述方法包括:
从客户机接收数据请求(200);
对所述数据请求做出响应(210);
确定所述客户机的数据请求是否超过所述客户机的当前数据分配信用度限额(220);
计算客户机的连接吞吐量(230);
如果符合以下条件,则增加所述客户机的当前数据分配信用度限额(250):
所述服务器具有资源备用(240),所述资源备用指跟踪请求并保持传入数据的足够的存储器和所需的被分配的数据结构;以及
所述客户机正积极使用当前所允许的流水线深度;以及
网络连接等待时间和带宽指示需要更深的流水线来达成饱和度;以及
如果符合以下条件,则减少所述客户机的当前数据分配信用度限额(260):
所述服务器不具有资源备用。
2.如权利要求1所述的方法,其特征在于,所述客户机正积极使用当前所允许的流水线深度还包括,所述连接的吞吐量在假定上次信用度增加的情况下已经至少增加了预期数量的给定百分比(250)。
3.如权利要求2所述的方法,其特征在于,所述给定百分比是百分之五十。
4.如权利要求1所述的方法,其特征在于,减少客户机的当前数据分配信用度限额还包括从具有最大数量的信用度的连接中取走信用度(260)。
5.如权利要求4所述的方法,其特征在于,减少客户机的当前数据分配信用度限额还包括,或者异步地、或者在下一服务器消息块SMB响应中,让所述客户机知道它的信用度已经被减少(260)。
6.如权利要求4所述的方法,其特征在于,还包括在传输级对传入请求进行扼流来遵守所述当前信用度限额(310)。
7.如权利要求6所述的方法,其特征在于,还包括如果前一深度的全流水线已经被处理,则开始使超过新的信用度限额的传入请求失败(260)。
8.如权利要求4所述的方法,其特征在于,还包括为受影响的连接尽可能快地完成当前正被处理的数据请求来减少连接的资源使用(310)。
9.如权利要求8所述的方法,其特征在于,还包括如果存在客户机的待决改变通知请求,则立即释放为此客户机保持的服务器资源(310)。
10.如权利要求4所述的方法,其特征在于,还包括在超过新的信用度限额的连接资源变为可用时将它们释放(260)。
11.一种用于使用信用度在服务器上计量带宽分配的系统,所述系统包括:
用于从客户机接收数据请求的装置;
用于对所述数据请求做出响应的装置;
用于确定客户机的数据请求是否超过所述客户机的当前数据分配信用度限额的装置;
用于计算客户机的连接吞吐量的装置;
用于如果符合以下条件,则增加所述客户机的当前数据分配信用度限额的装置:
所述服务器具有资源备用,所述资源备用指跟踪请求并保持传入数据的足够的存储器和所需的被分配的数据结构;以及
所述客户机正积极使用当前所允许的流水线深度;以及
网络连接等待时间和带宽指示需要更深的流水线来达成饱和度;以及
用于如果符合以下条件,则减少所述客户机的当前数据分配信用度限额的装置:
所述服务器不具有资源备用。
12.如权利要求11所述的系统,其特征在于,所述客户机正积极使用当前所允许的流水线深度还包括,所述连接的吞吐量在假定上次信用度增加的情况下已经至少增加了预期数量的百分之五十。
13.如权利要求11所述的系统,其特征在于,所述减少客户机的当前数据分配信用度限额还包括从具有最大数量的信用度的连接中取走信用度。
14.如权利要求11所述的系统,其特征在于,还包括用于在传输级对传入数据进行扼流来遵守当前信用度限额,并且如果前一深度的全流水线已经被处理,则开始使超过新的信用度限额的传入请求失败的装置。
15.如权利要求11所述的系统,其特征在于,还包括用于如果存在客户机的待决改变通知请求,则立即释放为此客户机保持的服务器资源的装置。
CN2008800101058A 2007-03-26 2008-02-28 具有拒绝服务缓解的文件服务器流水线 Expired - Fee Related CN101647025B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/690,962 2007-03-26
US11/690,962 US7872975B2 (en) 2007-03-26 2007-03-26 File server pipelining with denial of service mitigation
PCT/US2008/055396 WO2008118608A1 (en) 2007-03-26 2008-02-28 File server pipeline with denial of service mitigation

Publications (2)

Publication Number Publication Date
CN101647025A CN101647025A (zh) 2010-02-10
CN101647025B true CN101647025B (zh) 2012-04-25

Family

ID=39788897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800101058A Expired - Fee Related CN101647025B (zh) 2007-03-26 2008-02-28 具有拒绝服务缓解的文件服务器流水线

Country Status (4)

Country Link
US (1) US7872975B2 (zh)
EP (1) EP2130157A4 (zh)
CN (1) CN101647025B (zh)
WO (1) WO2008118608A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882560B2 (en) * 2005-12-16 2011-02-01 Cisco Technology, Inc. Methods and apparatus providing computer and network security utilizing probabilistic policy reposturing
US9286469B2 (en) * 2005-12-16 2016-03-15 Cisco Technology, Inc. Methods and apparatus providing computer and network security utilizing probabilistic signature generation
US8413245B2 (en) * 2005-12-16 2013-04-02 Cisco Technology, Inc. Methods and apparatus providing computer and network security for polymorphic attacks
US8495743B2 (en) * 2005-12-16 2013-07-23 Cisco Technology, Inc. Methods and apparatus providing automatic signature generation and enforcement
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8843630B1 (en) * 2008-08-27 2014-09-23 Amazon Technologies, Inc. Decentralized request routing
CN105072454B (zh) 2009-01-07 2019-04-19 索尼克Ip股份有限公司 针对在线内容的媒体指南的特定化、集中式、自动化创建
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US8977677B2 (en) 2010-12-01 2015-03-10 Microsoft Technology Licensing, Llc Throttling usage of resources
US20120144157A1 (en) * 2010-12-06 2012-06-07 James Reginald Crew Allocation of Mainframe Computing Resources Using Distributed Computing
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9329901B2 (en) 2011-12-09 2016-05-03 Microsoft Technology Licensing, Llc Resource health based scheduling of workload tasks
WO2013105932A1 (en) * 2012-01-10 2013-07-18 Intel Corporation Flow control mechanism for a storage server
US9305274B2 (en) 2012-01-16 2016-04-05 Microsoft Technology Licensing, Llc Traffic shaping based on request resource usage
US8875287B2 (en) * 2012-10-04 2014-10-28 Akamai Technologies, Inc. Server with mechanism for reducing internal resources associated with a selected client connection
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9122524B2 (en) 2013-01-08 2015-09-01 Microsoft Technology Licensing, Llc Identifying and throttling tasks based on task interactivity
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
WO2015174972A1 (en) * 2014-05-14 2015-11-19 Hitachi Data Systems Engineering UK Limited Method and an apparatus, and related computer-program products, for managing access request to one or more file systems
US9332132B1 (en) * 2014-11-26 2016-05-03 Tsc Acquisition Corporation System and method for reclaiming obligated network resources
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
JP2018156561A (ja) * 2017-03-21 2018-10-04 富士通株式会社 ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置
US10630602B1 (en) 2018-10-08 2020-04-21 EMC IP Holding Company LLC Resource allocation using restore credits
US11005775B2 (en) 2018-10-08 2021-05-11 EMC IP Holding Company LLC Resource allocation using distributed segment processing credits
US11201828B2 (en) * 2018-10-08 2021-12-14 EMC IP Holding Company LLC Stream allocation using stream credits
CN112260955B (zh) * 2020-09-18 2022-11-11 苏州浪潮智能科技有限公司 一种混合读写流量控制方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766843A (zh) * 2004-10-07 2006-05-03 微软公司 用于限制对版本存储资源使用的方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9509921D0 (en) * 1995-05-17 1995-07-12 Roke Manor Research Improvements in or relating to mobile radio systems
US6862295B1 (en) * 1999-07-07 2005-03-01 Nortel Networks Limited Asynchronous scheduler
KR100668207B1 (ko) 1999-12-13 2007-01-11 주식회사 케이티 실시간 자원 관측에 기반한 사용자 수용 제어 방법
US20030099199A1 (en) * 2001-11-27 2003-05-29 Amplify.Net, Inc., Bandwidth allocation credit updating on a variable time basis
US7227840B1 (en) * 2002-03-18 2007-06-05 Juniper Networks, Inc. High performance probabilistic rate policer
US7061867B2 (en) 2002-04-02 2006-06-13 Intel Corporation Rate-based scheduling for packet applications
US7113497B2 (en) * 2002-05-08 2006-09-26 Lenovo (Singapore) Pte. Ltd. Bandwidth management in a wireless network
US20030229720A1 (en) * 2002-06-05 2003-12-11 Amplify. Net, Inc. Heterogeneous network switch
JP4503934B2 (ja) * 2002-09-26 2010-07-14 株式会社東芝 サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機
US7747255B2 (en) * 2003-03-26 2010-06-29 Sony Corporation System and method for dynamic bandwidth estimation of network links
US6970962B2 (en) * 2003-05-19 2005-11-29 International Business Machines Corporation Transfer request pipeline throttling
US7966661B2 (en) * 2004-04-29 2011-06-21 Microsoft Corporation Network amplification attack mitigation
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution
US7564781B2 (en) * 2005-11-16 2009-07-21 Tropos Networks, Inc. Determining throughput between hosts

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766843A (zh) * 2004-10-07 2006-05-03 微软公司 用于限制对版本存储资源使用的方法和系统

Also Published As

Publication number Publication date
WO2008118608A1 (en) 2008-10-02
US20080240144A1 (en) 2008-10-02
EP2130157A1 (en) 2009-12-09
EP2130157A4 (en) 2012-09-05
CN101647025A (zh) 2010-02-10
US7872975B2 (en) 2011-01-18

Similar Documents

Publication Publication Date Title
CN101647025B (zh) 具有拒绝服务缓解的文件服务器流水线
CN108829350B (zh) 基于区块链的数据迁移方法和装置
US8019790B2 (en) System and method of dynamically changing file representations
CN101421702B (zh) 负荷控制装置及其方法
JP4744171B2 (ja) 計算機システム及び記憶制御方法
US7363629B2 (en) Method, system, and program for remote resource management
US8149866B2 (en) System and method for filtering communications at a network interface controller
US11128440B2 (en) Blockchain based file management system and method thereof
US8856400B1 (en) I/O performance quotas
US11922059B2 (en) Method and device for distributed data storage
US7523206B1 (en) Method and system to dynamically apply access rules to a shared resource
CN104142871A (zh) 用于数据备份的方法、装置和分布式文件系统
US9055467B2 (en) Sender device based pause system
CN116670662A (zh) 在分布式文件系统中管理锁协调器重新平衡
CN103905335A (zh) 流量控制方法及装置
JP2008304982A (ja) 情報の管理方法及び情報処理装置
US20090276851A1 (en) Detecting malicious behavior in a series of data transmission de-duplication requests of a de-duplicated computer system
EP3318025B1 (en) Systems and methods for scalable network buffer management
US20230082508A1 (en) Tokenized bandwidth and network availability in a network
US6718282B1 (en) Fault tolerant client-server environment
KR102128832B1 (ko) 네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치의 데이터 처리 방법
CN106789272A (zh) 一种服务器集群管理方法及系统
US20230104784A1 (en) System control processor data mirroring system
US8037242B2 (en) Contents delivery system using cache and data replication
US8190765B2 (en) Data reception management apparatus, systems, and methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150521

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150521

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120425