CN106134136B - 计算针对广域网上的数据传送的长期调度 - Google Patents

计算针对广域网上的数据传送的长期调度 Download PDF

Info

Publication number
CN106134136B
CN106134136B CN201580014366.7A CN201580014366A CN106134136B CN 106134136 B CN106134136 B CN 106134136B CN 201580014366 A CN201580014366 A CN 201580014366A CN 106134136 B CN106134136 B CN 106134136B
Authority
CN
China
Prior art keywords
network
equipment
data
time
long
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
CN201580014366.7A
Other languages
English (en)
Other versions
CN106134136A (zh
Inventor
S·坎杜拉
I·梅纳彻
R·施瓦兹
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106134136A publication Critical patent/CN106134136A/zh
Application granted granted Critical
Publication of CN106134136B publication Critical patent/CN106134136B/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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • 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/564Attaching a deadline to packets, e.g. earliest due date first
    • 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/628Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了关于调度网络中的网络业务的各种技术。将数据从第一计算设备传送到第二计算设备的请求包括标识将传送的数据的量和期限的数据,其中数据将在期限之前被传送。基于请求计算长期调度,其中长期调度定义在相对长的时间范围期间通过网络的业务流。基于长期调度计算短期调度,其中网络中的设备基于短期调度被配置。

Description

计算针对广域网上的数据传送的长期调度
技术领域
本公开的实施例总体上涉及网络管理,并且更具体地,涉及用于计算针对广域网上的数据传送的长期调度的方法、计算设备和计算机可读存储介质。
背景技术
广域网(WAN)正变得无所不在,并且常常在WAN中的计算设备之间传送相对大量的数据。为了支持大量数据的传送,相应的WAN的运营商将大量的资源投入到支持WAN中的计算设备之间的数据传送的计算机网络硬件中。因此,最大化WAN中对这样的计算机网络硬件的利用从效率的观点而言是期望的。
遗憾的是,生成网络数据业务的WAN中的数据传送的请求者通常相互不知道。因此,数据传送的请求者提出具有WAN能够处理请求的期望的请求,并且将立即初始化数据传送。虽然这对于相对小的网络业务不是大问题的,但是当涉及相对大数据量的数据传送在时间方面重叠时,WAN可能过度重负。即使一个或多个请求者具有将其传送延迟至另一时间的选项,这样的重叠的传送也可能发生,因为没有提供这样的数据传送可以被时间偏移的机制。因此,该不灵活性不仅可能导致过度网络负担的时段,其由于存在相对小数量的网络业务,也可能导致在其期间未充分利用WAN的硬件资源的其他时间段。因此,当在WAN上传送大量的数据时,常常迫使WAN的运营商购买昂贵的计算机网络硬件来适应高需求时间段。这通常导致WAN被过度提供,使得这样的昂贵的计算机网络硬件对于其使用寿命的大部分而言保持未充分利用。
发明内容
以下是在本文中更详细描述的主题的简要概述。该概述不旨在限于权利要求的范围。
在本文中描述了关于基于针对数据传送的多个请求的网络(诸如广域网(WAN))中的数据传送的调度的各种技术,其中请求具有相应的期限,并且其中数据传送要在相应的期限之前完成。在示例性实施例中,网络可以包括多个数据中心(各自包括多个计算设备),并且传送数据的请求可以是将数据从第一数据中心中的计算设备传送到第二数据中心中的计算设备的请求。网络中的数据中心可以被包括在公共云或私有云中。公共云通过因特网向公众透露数据中心(例如,应用和存储)的资源。相反,私有云向操作数据中心的私有企业透露数据中心的资源。
而且,网络包括支持网络中的设备之间的数据传送的多个设备。该多个设备包括被配置为存储和处理数据的多个计算设备,其中多个计算设备驻留在网络的边缘上。例如,多个计算设备可以包括数据中心中的服务器计算设备。此外,多个设备包括网络基础设施设备(例如,交换机、路由器、集线器、网关等),其被配置为引导多个计算设备中的计算设备当中和之间的数据传送。
网络还包括控制器计算设备,其被配置为调度网络上的数据传送。例如,控制器计算设备可以接收网络中的相应的计算设备之间的传送数据的多个请求,其中每个请求可以标识:1)(例如,将从其传送数据的)相应的源计算设备;2)(例如,向其传送数据的)相应的接收计算设备;3)将从源计算设备传送到接收计算设备的相应的数据的量;和4)相应的期限,其中从源计算设备到接收计算设备的数据传送将在期限之前完成。控制器计算设备可以在任何时间接收这些请求,并且请求可以指定不同的数据的量和不同的期限。例如,第一数据传送请求可以在第一时间点处被接收,并且可以通过指定指示在时间方面接近于第一时间点的期限来指示数据传送是相对紧急的。第二数据传送请求可以在第二时间点处被接收(其中第一时间点和第二时间点是接近的),并且通过指定相对地远离第二时间点的期限来指示数据传送不是特别地时间敏感的。
控制器计算设备接收这样的请求并且计算针对网络中的数据传送的长期调度。长期调度可以覆盖多个(潜在地统一的)时间单位,其中针对由长期调度覆盖的每个时间单位在长期调度中定义通过网络的数据流。因此,长期调度包括由长期调度覆盖的每个时间单位的子调度。在非限制性示例中,长期调度可以覆盖十二个5分钟间隔,其中时间单位是5分钟间隔。对于长期调度中的这些时间单位中的每一个而言,长期调度可以包括相应的子调度。子调度可以标识哪些计算设备将充当针对子调度的时间单位的源计算设备、计算设备将输出数据的相应速率、数据将在源计算设备与接收计算设备之间行进的相应的路径等。因此,可以确信,控制器计算设备计算长期调度以支持所请求的数据传送在其相应的期限之前完成,同时最大化网络资源的利用。为此目的,在实施例中,控制器计算设备可以基于长期调度来确定接受还是拒绝新接收的数据传送请求(例如,控制器计算设备可以基于长期调度、其中其数据传送尚未完成的先前所接收的请求和其相应的期限,确定所请求的数据传送是否可以在其指定的期限之前完成)。控制器计算设备随着时间重新计算长期调度以考虑新接收的请求、网络中的变更、已满足的请求(其中相应的数据传送已经完成)等。在示例性实施例中,控制器计算设备可以提供执行优化过程来计算长期调度。例如,优化过程可以包括混合填充和覆盖算法的执行。
控制器计算设备还可以基于长期调度来计算短期调度。该短期调度可以覆盖少于长期调度的时间单位。例如,短期调度可以覆盖在时间方面紧接在当前时间单位(例如,5分钟间隔)之后的单个时间单位。短期调度包括:1)针对网络中的相应的网络基础设施设备的路由表;和2)针对标识待由源计算设备输出的数据的源计算设备的指令和数据将由源计算设备输出的相应的速率。控制器计算设备根据长期调度计算短期调度以支持数据传送的完成。控制器计算设备将短期调度中的路由表和指令传输到网络中的相应的网络基础设施设备和源计算设备。
在其中网络支持公共云中透露的计算设备之间的数据传送的示例性实施例中,控制器计算设备可以计算向公共云的运营商的用户透露的价格调度。控制器计算设备可以计算定价调度以随时间使需求平滑,从而支持网络的网络资源的利用的最大化。例如,定价调度可以指示具有较不紧急的需求的请求当与具有较紧急的需求相比较时与传送的每数据单位较小费用相关联。在另一示例中,当与其他时间段内的期限相关联(其与比特定时间段少的需求相关联)的数据传送相比较时,定价调度可以指示与特定时间段内的期限相关联的数据传送一般地每所传送的数据单位计费更多。更进一步地,针对数据传送的价格可以基于(一个或多个)源和/或目的地计算设备。
上文概述呈现了简化概述以便提供本文所讨论的系统和/或方法的一些方面的基本理解。该概述不是本文所讨论的系统和/或方法的广泛概述。其不旨在标识重要/关键元件或描绘这样的系统和/或方法的范围。其唯一目的是以简化形式将一些概念呈现为稍后呈现的更详细描述的前序。
附图说明
图1是支持网络中的计算设备之中和之间的调度数据传送的示例性系统的功能框图。
图2是针对网络中的数据传送的示例性长期调度。
图3是针对网络中的数据传送的示例性短期调度。
图4是可以生成针对WAN中的数据传送的长期调度和短期调度的示例性调度器组件的功能框图。
图5是示例性网络图。
图6是可以向用户暴露以支持针对网络上的数据传送的请求的接收的示例性图形用户界面。
图7是图示用于调度网络中的数据传送的示例性方法的流程图。
图8是图示用于计算针对网络中的数据传送的长期调度的示例性方法的流程图。
图9是图示用于透露对应于网络中的数据传送的价格调度的示例性方法的流程图。
图10是示例性计算系统。
具体实施方式
现在将参考附图描述关于在网络(诸如广域网(WAN))中的计算设备之间传送数据的各种技术,其中相同附图标记被用于自始至终指代相同元件。在以下描述中,出于解释的目的,阐述很多特定细节以便提供对一个或多个方面的透彻理解。然而,可以明显的是,可以在没有这些特定细节的情况下实践(一个或多个)这样的方面。在其他实例中,以框图形式示出众所周知的结构和设备以便支持描述一个或多个方面。而且,应理解到,可以通过多个组件执行被描述为由单个系统组件执行的功能性。类似地,例如,组件可以被配置为执行被描述为由多个组件执行的功能性。
而且,术语“或”旨在意指包括性“或”而不是排他性“或”。即,除非另外指定或从上下文清楚的,短语“X采用A或B”旨在意指自然包括性排列中的任一个。即,“短语X采用A或B”满足以下实例中的任一个:X采用A;X采用B;或X采用A和B二者。另外,除非另外指定或从待涉及单数形式的上下文清楚的,如本申请和随附的权利要求中使用的冠词“一”和“一个”应当一般地被解释为意指“一个或多个”。
如本文所使用的,术语“组件”和“系统”旨在涵盖计算机可读数据存储,其配置有当由处理器执行时使得某些功能性执行的计算机可执行指令。计算机可执行指令可以包括例程、功能等。还应理解到,组件或系统可以定位在单个设备上或跨数个设备分布。而且,如本文所使用的,术语“示例性的”旨在用作一些东西的图示或示例并且不旨在指示偏好。
现在参考图1,图示了示例性控制器计算设备100,其被配置为计算针对网络102中的数据传送的长期调度。例如,网络102可以是WAN。虽然控制器计算设备100被示出为在网络的外部,但是应理解到,这出于说明的目的并且理解到控制器计算设备100被包括在网络102中。而且,虽然控制器计算设备100被示出并且被描述为单个计算设备,但是控制器计算设备100将涵盖逻辑中心化的控制系统,其中如由控制器计算设备100所执行的所描述的功能性可以跨越若干计算设备分布。
网络102包括驻留在网络102的边缘上的多个计算设备104-110。在示例性实施例中,多个计算设备104-110中的计算设备的数目可以在十个计算设备与3000个计算设备之间。在另一示例性实施例中,多个计算设备104-110中的计算设备的数目可以在十个计算设备与100000个计算设备之间。在示例性实施例中,计算设备104-110可以是驻留在相应的服务器机架中的服务器计算设备。而且,在示例中,计算设备104-110可以在相应的不同的数据中心处,其中每个数据中心包括相互通信的相应的多个计算设备。该数据中心可以被用于支持公共云和/或私有云的提供。公共云通过因特网(例如,免费地)向公众透露数据中心的资源,而私有云向操作数据中心的企业透露数据中心的资源。网络102还包括多个网络基础设施设备112-114,其支持计算设备104-110之中和之间的数据的传送。例如,网络基础设施设备112-114可以是或包括交换机、路由器、集线器、网关等。根据示例,多个网络基础设施设备中的网络基础设施设备的数目可以在10个设备与1000个设备之间。在另一示例中,多个网络基础设施设备中的网络基础设施设备的数目可以在100个设备与10000个设备之间。
在示例中,被保留在计算设备104-110之一上的数据的所有者可以期望将这样的数据传送到计算设备104-110中的另一个。常规地,例如,当接收将数据从第一计算设备104传送到第三计算设备108的请求时,涉及非常少的调度。相反,第一计算设备104开始以尽可能高的速率传输数据,并且数据通过网络102沿着一个或多个路径行进到第三计算设备108,潜在地使网络102的基础设施负担重。特别地,当将数据向前引导到预期接收者(第三计算设备108)时,网络基础设施设备112-114通常地配置有平衡跨越网络链路传输的负载的指令。该方法对于过度提供的网络而言是能工作的,其中WAN 102的运营商提供足够的网络容量以满足最大的数据传送需求。然而,这趋向于网络102的资源的低效的使用。
如下文将更详细描述的,控制器计算设备100计算针对网络102上的数据传送的长期调度,其可以导致使网络102上的容量随时间平滑,因此增加网络102的利用的效率。为此目的,与常规方法相比,控制器计算设备100当计算针对网络102中的数据传送的长期调度(计划)时,预期传送期限(在不同的时间处被接收并且具有不同的持续时间)。
利用关于长期调度的计算的更多细节,控制器计算设备100包括可以接收多个数据传送请求的接收器组件116。例如,网络102可以被配置为同时地支持100000个分离的业务流(例如,计算设备104-110中的计算设备之间的数据传送)。由接收器组件116接收的数据传送请求包括待传输的数据的源的相应的标识、待传输的数据的预期接收者的相应的标识、在WAN 102上待传输的相应的数据的量和相应的期限。更特别地,由接收器组件116接收的数据传送请求:1)将从其传送数据的源计算设备的标识;2)待传送的数据的指示;3)将接收待传送的数据的接收者计算设备的标识;4)待从源计算设备传送到接收者计算设备的数据的量;和5)期限,其中该量的数据将在期限之前从源计算设备传送到接收者计算设备。而且,应理解到,请求可以包括多个潜在的期限,其中用于传送的费用取决于期限而变化。接收器组件116可以从源计算设备、从接收者计算设备或从由从源计算设备待传送到接收者计算设备的数据的所有者操作的另一计算设备接收数据传送请求。可以从计算设备104-110中的设备中的任一个进行接收或可以从标识将从其传送数据的(一个或多个)服务器的系统或组件来接收数据传送请求。在示例中,上文所提到的系统或组件不需要标识请求中的特定源和目标计算设备;因此,请求可以是更一般化的,请求关于网络中的路径、传送速率等的信息。
在非限制性示例中,接收器组件116可以接收第一数据传送请求,其中第一数据传送请求将第一计算设备104标识为源计算设备、标识待传送的数据、将第三计算设备108标识为接收计算设备、标识出数据的量是50太字节并且标识这样的传送将在数据传送请求的日期的下午4:00之前完成。类似地,接收器组件116可以接收第M数据传送请求,其中第M数据传送请求将第二计算设备106标识为源计算设备、标识待传送的数据、将第一计算设备104标识为接收计算设备、标识数据的量是5拍字节并且标识这样的传送将在第二天上午5:00之前完成。
控制器计算设备100附加地包括调度器组件118,其与接收器组件116通信。控制器计算设备100具有对数据储存库120的访问权,其中数据储存库120包括网络地图122。网络地图122表示网络102的物理地形。例如,网络地图122可以是表示网络102的计算机实现的图形,其中图形包括表示网络102中的设备(例如,计算设备104-110和网络基础设施设备112-114)的节点和表示各设备之间的通信链路的边缘。网络地图122还可以包括标识网络102的约束(诸如网络102的相应的链路的容量)的数据。在示例性实施例中,基于从网络102的设备所接收的数据,可以不时更新网络地图122。例如,可以从网络102中的指示特定链路为下行的设备接收数据。在另一示例中,可以从网络102中的指示特定链路已经被恢复的设备接收数据。网络地图122可以不时更新以反映网络102的拓扑中的这些改变。
调度器组件118从数据储存库120接收多个数据传送请求(随时间)和网络地图122,基于数据传送请求和网络地图122计算针对网络102中的数据传送的长期调度124并且将长期调度124存储在数据储存库120中。此外,虽然未示出,但是调度器组件118可以基于历史网络利用来计算长期调度。例如,如果用户历史上每天在特定时间处请求数据的传送,则即使接收器组件116尚未从用户接收数据传送请求,调度器组件118也可以保留针对长期调度的用户的网络资源。更进一步地,当计算长期调度时,调度器组件118可以保留针对ad-hoc请求的网络资源,其中ad-hoc请求通常是不具有指定期限并且请求在网络102将传送的相对小量的数据的那些ad-hoc请求。在示例中并且如下文将更详细描述的,当计算长期调度124时,调度器组件118可以执行优化过程,其中优化过程可以包括混合填充和覆盖算法的执行。
现在阐述关于长期调度124的附加细节。长期调度124覆盖在时间方面向前的多个时间单位(例如,将来的时间单位)。在示例性实施例中,由长期调度124覆盖的时间单位可以是一致的,使得时间单位具有共同的持续时间。在另一示例性实施例中,由长期调度覆盖的时间单位可以是不一致的,其中当与在时间方面远离当前时间的长期调度覆盖的时间单位相比较时,在时间方面接近于当前时间的由长期调度124覆盖的时间单位的持续时间是更短的。根据示例,长期调度124可以覆盖240个连续的一分钟时间窗(例如,对于4小时总时间窗而言),其中由长期调度124覆盖的时间单位是一分钟窗口。长期调度124包括针对由长期调度124覆盖的每个时间单位的相应的子调度,其中子调度定义在其时间单位期间通过网络102的数据流。
例如,子调度可以标识计算设备104-110中的哪些计算设备是源计算设备、计算设备104-110中的哪些计算设备是接收计算设备(其中计算设备可以是源计算设备和接收计算设备二者)、相应的源计算将输出数据的速率和数据将从源计算设备被传送到接收计算设备的路径。调度器组件118随着时间推移重新计算长期调度124,使得长期调度随着时间向前移动而覆盖特定持续时间的时间窗。长期调度的重新计算还允许要预期到的新数据传送请求(ad-hoc或具有特定期限)、要预期到的网络102的拓扑中的改变、要预期到的完成的请求等。下文阐述了用于执行长期调度124的该计算的示例性过程。
调度器组件118可以基于长期调度124计算短期调度126并且可以将短期调度126存储在数据储存库120中。短期调度126定义紧接在当前时间单位之后的时间单位(例如,下一个一分钟时间窗)期间的通过网络102的数据流动。因此,短期调度126比长期调度124覆盖更少的时间单位。在示例性实施例中,短期调度126可以覆盖单个时间单位。短期调度126包括:1)相应地针对网络基础设施设备112-114的路由表;和关于是否在由短期调度126覆盖的时间期间输出特定数据的计算设备104-110中的源计算设备的指令和输出特定数据的速率。控制器计算设备100可以将相应的路由表传输到网络基础设施设备112-114并且可以将相应的指令传输到计算设备104-110中的一个或多个。
因此,可以确定调度器组件118计算长期调度124和短期调度126以支持在其相应的期限之前对应于接受的数据传送请求的所请求的数据传送的完成。在另一示例中,在数据传送的完成不可能的情况下,调度器组件118可以计算长期调度124以最小化营收损失、允许要满足的请求的百分比(例如,待满足的所有请求的95%)等。此外,如上文所指出的,调度器组件118可以基于长期调度124确定接受还是拒绝所接收的数据传送请求。根据示例,长期调度124可以指示针对特定时间窗网络102中的某个链路被调度为以最大容量传输数据。基于该信息,调度器组件118可以向请求者输出对数据传送请求不能够在期限之前完成的指示(因为链路不支持由数据传送请求引起的增加的容量)。当调度数据传送时,调度器组件118可以附加地执行其他分析。例如,当操作在公共云中时,调度器组件118可以被配置为确定接受还是拒绝所接收的请求以最大化利润、最小化损失等。
控制器计算设备100可以附加地包括价格设定器组件128,其可以基于长期调度124向用户定价透露调度。例如,当计算设备104-110中的至少一个被包括在通过公共云透露资源的数据中心中,公共云的用户可以针对数据传送支付费用。价格设定器组件128可以将针对数据传送的价格设定为针对数据传送的请求中的期限的函数(长度)、传送将被完成的时间等。例如,价格设定器组件128可以根据当数据传送请求的期限在时间方面远离当前时间时所传送的数据单位设定更低的价格。价格设定器组件128可以计算价格调度以将网络利用推动到期望的操作点。即,价格设定器组件128可以设定价格以基于期限的数据传送请求,操纵针对网络102中的数据传送的需求。因此,可以激励数据传送请求的发起者将提供更长的期限来实现降低的成本。而且,价格设定器组件128可以被配置为接受或拒绝出价;例如,请求可以标识多个期限,每个期限具有与其相关的特定价格(例如,每个待传送的单位)。例如,请求可以指示如果传送在第一时间之前完成,则请求者愿意支付第一价格,如果传送在第二时间之前完成,则请求者愿意支付第二价格等。价格设定器组件128可以行动以选择价格(以及因此期限),并且可以基于价格设定器组件128的动作来算长期调度。
现在参考图2,示出了由调度器组件118计算的长期调度124的示例性描绘。如可以确定,长期调度124覆盖多个时间单位(时间单位1-时间单位P)。因此,长期调度124可以被感知为包括多个子调度202-210,一个子调度针对每个时间单位。子调度202-210中的每个子调度可以定义针对其相应的时间单位数据将如何流过网络102。例如,长期调度124中的第一子调度202可以定义针对第一时间单位数据将如何流过网络102(例如,针对由第一时间单位表示的5分钟而言)。因此,第一子调度202可以针对源计算设备与接收计算设备之间的每个数据传送(业务流)定义源将输出数据的速率和输出数据将行进以到达接收计算设备的(一个或多个)路径。因此,第一子调度202可以配置(或指定)各种业务流的速率和(一个或多个)路径,每个业务流具有其自身的源和接收计算设备,并且每个业务流具有业务流将从源计算设备行进到接收计算设备所定义的(一个或多个)路径。如上文所指示的,时间单位1-P可以具有共同持续时间,其在示例中可以在1分钟与5分钟之间。在另一示例中,时间单位1-P可以具有不同的持续时间。例如,第一时间单位可以具有比第P时间单位的持续时间更短的持续时间。根据特定示例,针对第一子调度202的第一时间单位可以具有1分钟的持续时间,而针对第P调度210的第P时间单位可以具有10分钟的持续时间。
现在参考图3,图示了短期调度126的示例性描绘。短期调度126覆盖紧接着的后续时间单位(时间单位0)。短期调度126包括分别对应于多个网络基础设施设备112-114的多个路由表302-306和分别对应于多个计算设备104-110的多个指令308-312。多个指令308-312定义计算设备104-110中的哪一个将开始输出数据以满足数据传送请求和(一个或多个)计算设备将输出这样的数据的(一个或多个)速率。调度器组件118可以将路由表302-306传输到相应的网络基础设施设备112-114,并且调度器组件118可以将指令308-312传输到相应的计算设备104-110。因此,第一路由表302被传输到第一网络基础设施设备112,并且第M路由表306被传输到第M网络基础设施设备114。响应于接收到第一路由表302,第一网络基础设施设备112被配置(对于时间单位0而言)有路由表302,并且根据第一路由表302的内容对由网络基础设施设备112接收的数据进行路由。同样地,第一指令308被传输到第一计算设备104,并且第Z指令312被传输到第Z计算设备110。因此,在示例中,响应于第一指令308的接收,第一计算设备104根据第一指令308输出数据。
现在参考图4,呈现了调度器组件118的详细描绘。调度器组件118可以访问数据储存库120并且取回网络地图122。调度器组件118包括网络图构建器组件401,其接收网络地图122并且基于网络地图122和由长期调度124覆盖的时间单位的数目覆盖构建网络图402。调度器组件118使得网络图402保留在数据储存库120中。当构建网络图402时,网络图构建器组件401可以生成网络地图122的多个实例:一个实例针对由长期调度124覆盖的每个时间单位。网络图构建器组件401可以通过生成耦合表示相同设备的网络地图122的实例中的节点的边缘来耦合网络地图122的不同的实例。
简单地参考图5,图示了可以通过网络图构建器组件401构建的示例性网络图500。示例性网络图500包括对于第一网络地图的网络地图501a的第一实例和对于第二时间单位的网络地图501b的第二实例。网络地图122的第一实例501a包括分别表示网络102的计算设备104-110的第一多个节点502a-508a和分别表示网络基础设施设备112-114的第二多个节点510a-512a。网络地图122的第一实例501a包括表示网络102中的设备之间的物理链路的(以实线所示的)边缘。网络地图122的第二实例501b附加地包括这样的边缘。在示例中,可以在网络地图122的实例中对边缘不同地进行加权。例如,当与第二时间单位相比较时,可以期望为第一时间单位保留网络102中的特定链路上的更多带宽。这可以通过向网络地图122的第一实例501a和网络地图122的第二实例501b中的链路分配不同的权重来在网络地图500中表示。
网络图402还包括多个边缘514-524,其耦合表示相同设备的网络地图122的实例501a与实例501b之间的节点。例如,第一边缘514将节点504a与节点504b耦合,其中504a和504b二者表示第二计算设备106。类似地,第二边缘516将节点502a耦合到节点502b,其中节点502a和节点502b二者表示网络102中的第一计算设备104。在示例性实施例中,相对高的权重可以被分配给边缘514-524。可以通过网络图402在许多不同的时间单位处表示网络102。基于例如由这样的边缘所表示的物理网络链路的容量、时间单位期间的物理链路的历史需求、其某种组合等,可以对以实线所示的边缘进行加权。虽然未示出,但是如果网络图500包括对应于第三时间单位的网络地图122的第三实例,则WAN地图122的第三实例中的每个节点将耦合到表示相同设备的网络图500中的所有节点。
返回图4,调度器组件118还可以包括路径约束器组件404,其接收网络图402并且向网络图402应用基于路径的约束。例如,为了降低计算复杂性,路径约束器组件404可以将源与目的地之间的若干潜在的路径约束到某个阈值数目的路径,可以基于源计算设备与目的地计算设备之间的若干网络跃点约束路径(例如,当确定源与接收者之间的路径时,未考虑具有超过源与目的地之间的阈值数目的跃点的网络路径)或其他适合的约束。响应于向网络图402应用约束,调度器组件118可以将约束图形406存储在数据储存库120中。
调度器组件118还可以包括优化器组件408,其接收约束的图形406和与所有未决的数据传送请求有关的数据(例如,先前所接收和所接受的数据传送请求,其中其相应的数据传送是不完整的),并且基于未决的数据传送请求、其相应的状态(例如,待传送的数据的量,在请求的相应的期限之前的时间量等)和约束的图形406,输出长期调度124。如上文所指示的,优化器组件408可以执行适合的优化过程来计算长期调度。在示例性实施例中,优化过程可以包括混合填充和覆盖算法的执行,其中优化器组件408计算长期调度124以(例如)使随时间的网络利用平滑并且满足请求的期限。在示例性实施例中,优化器组件408可以执行混合填充和覆盖算法的并行化版本。并行化对于允许随情况改变随时间的长期调度124的重复计算而言可以是必要的。其他类型的优化方法(包括期望最大化方法、线性规划过程等)可以被用于生成长期调度124。优化器组件408可以基于长期调度124生成短期调度126。
现在阐述关于可以由优化器组件408执行的示例性优化过程的附加细节。一般的,优化器组件408接收计算机实现的图形G=(V,E),其中|V|=n并且|E|=m,并且非负边缘容量c:E→R+。可以通过元组(ai,bi,di,Di,si,ti,Pi)定义长期请求,其中ai是优化器组件408变得知道请求的知道时间,bi是可以从其调度请求的开始时间,di是在其之后不能调度请求的期限,Di是请求的需求,si是请求需要从其被路由的源节点,ti是请求需要被路由到的目标节点,并且Pi是请求的从si到ti的容许路径的集合。
当时间步τ开始时,优化器组件408变得知道针对该ai=τ的所有长期请求i。此外,优化器组件408可以具有可以由时间τ处的高优先级(例如,ad-hoc)请求需要的边缘e的容量ce的分数的估计Xeτ。由于Xe,τ是估计,因而服务ad-hoc请求所需要的容量的实际分数在时间τ的开始处变为已知的(连同在这样的时间处做出的长期请求)。
如上文所指示的,优化器组件408可以将调度问题视为混合填充和覆盖问题,并且可以因此使用填充和覆盖约束来生成调度。例如,优化器组件408可以使用与针对时间τ中的路径p∈Pi上的请求i所分配的流的量相对应的变量fi,p,τ,其中bi≤τ≤di。使用这些变量,可以公式化假设分配的灵活性的线程填充和覆盖不等式;在每个时间中并且对于每个边缘而言,分配在其上的总业务不超过其容量;每个长期请求i被分配至少其需求Di的分数αi
这些不等式演变并且改变出于若干原因:新长期请求到达;显示边缘的高优先权使用的随机实现(例如,以服务ad-hoc请求);以及将来的边缘的欠分配随着时间前进减少。优化器组件408响应于改变不等式而调节变量fi,p,τ而,从而对调度进行适配。应注意到,该方法基于仅计算针对当前时间点的调度的方案改进,因为优化器组件408相对缓慢地调度到将来中,这使能第i个请求接收的需求的分数上的折衷的αi的输出。
而且,如所指示的,优化器组件408可以校正高优先级(ad-hoc)数据传送请求。Xe,τ是由时间τ处的高优先级请求所需要的边缘e的容量的分数的估计。因此,当公式化以上不等式时,取代使用时间τ处的容量ce,优化器组件408可以使用(1-Xe,τ)·ce。一旦时间已经到达时间τ并且观察到这样的分数的实现,则优化器组件408可以发现边缘e是过使用的-例如,e上的总业务超过其容量。当这发生时,优化器组件408可以降低某个预调度的fi,p,τ,其中e∈p。这可以通过公式化关于最小化对由优先化组件408输出的折衷αi的影响的小线性规划(其大小仅取决于原始计算机实现的图形G而非τ的大小)来完成。
而且,优化器组件408可以被配置为未充分利用对将来有深远影响的边缘(包括,约束图形G),并且随着时间前进减少该限制。例如,参数βe,t,τ可以被用于确定可以在时间τ处由优化器组件408利用的(1-Xe,τ)·ce的分数。随着时间τ前进,βe,t,τ可以增加(例如,未充分利用限制减少)。
在示例性实施例中,优化器组件408可以被配置为最大化最差的许诺α,其对应于“公平”目标。尽管最大化α,可以未充分利用网络102的一些部分,并且可以分配更多业务。为了解决该问题,优化器组件408可以采用二次效用函数;例如,最大化平均许诺δ,其导致具有更高的网络利用的调度。该效用可以公式化为覆盖不等式。
可以确定极其冗长的长期请求(例如,di-ai)是非常大的,可以使优化器组件408的运行时间缓慢。为了支持相对迅速地计算解,优化器组件408可以采用滑动窗口方法,其中优化器组件408将固定数目的时间步考虑到将来中。其相应的期限超过滑动窗口的请求可以分解为较小的请求。在这样的情况下,优化器组件408可以基于其原始需求和已经分配的总业务,更新较小的请求的需求。
现在将参数关于优化器组件408的设计和操作的附加细节。出于解释的目的,过程导出在级中,从离线情况开始,继续到在线情况,并且然后添加附加特征,诸如通过β参数的业务平滑,容量约束的宽限和违反、归因于有界层的请求分割和不同的优先级的处理。而且,虽然本文所提供的示例指代计算网络中的业务流调度,但是应理解到,本文所描述的混合填充和覆盖方法可以使用在其他场景中。例如,预期当接收数据以输出解时不等式的动态修改。另外,一般地预期了混合填充和覆盖算法的并行化,并且这样做来计算针对网络业务流的长期调度仅是其中可以期望使混合填充和覆盖算法并行化的一个示例性场景。更进一步地,预期了估计网络中的高优先级业务和分配网络链路的剩余的带宽来满足目标的一般方法。在这样的情况下,当实际的高优先级业务与估计不同时,可以动态地更新链路的带宽的分配,同时传输对目标的最小破坏。
如上文所指示的,G=(V,E),其中|V|=n并且|E|=m,并且非负边缘容量c:E→R+。可以通过元组(ai,bi,di,Di,si,ti,Pi)定义长期请求。此外,除非另外指定,否则可以假定存在上限请求的相应的期限的绝对大小T(其可以是大的),例如,
现在描述离线情况中的优化器组件408,其中假定优化器组件408开始知道所有请求,例如,ai≡0,对于所有请求1≤i≤k。给定图形G和所有k请求,可以期望定位最大的α,0≤α≤1,使得当检查容量约束时,可以对每个请求的需求的至少α的分数进行路由。这被称为“并发多物网络流问题”,分数地解决线性填充/覆盖约束的系统的问题的特殊情况。给定α,通过线性规划解决离线情况(在没有效用的情况下)所需要的线性不等式组如下:
在上文阐述的示例中,优化过程迭代地搜索最好的α(例如,使用线性搜索方法)。在每个迭代中,确定线性规划是否是可行的;如果是可行的,则可以输出可行解。下面呈现了用于解决可行性问题的示例性过程。
初始化
找到并且
如果不存在这样的i*,t*和p*,那么
停止并且返回不存在可行解
否则
R←R\{i*};
返回
完成上文所提到的初始化和ye,ts和zis的更新,使得以下成立:
在过程的每个步骤中,增加(仔细地选择的)单个业务变量fi*,p*,t*。可以选择“最差的”填充约束(例如,其容量最接近被违反的网络102中的链路)中的增加将小于“最差的”覆盖约束(例如,最远离其需求需要的请求)中的增加的变量。关于填充和覆盖问题的现有过程可以通过使用最大和最小操作符的光滑逼近满足该要求;在不等式(*)中表现逼近要求,其中ye,ts可以被视为表示填充约束的内部变量,而zi可以被视为表示覆盖约束的内部变量。
现有的填充和覆盖算法的输出保证满足覆盖约束(假定α是可行的)。由于(*)是最大值和最小值的光滑逼近的导数的比例(与约束的值中的改变的比例相反),输出通过小乘积因子违反填充约束。当准确度参数ε减小到零时,该因子单调地减小到一。在以下定理中正式做出这样的保证。
定理1:如果线性规划是可行的,那么对于每个0<ε≤1/2而言,过程的输出满足:
定理2:对于每个0<ε≤1/2而言,可行性检查过程在至多个迭代之后终止。
ε的选择反映过程的准确度(通过使填充约束偏离多少)与运行时间之间的所要求的折衷。当作为违反的通过β参数的业务光滑的概念意指仅超过容量ce的预指定分数而不是整个容量时,容量约束中的小违反可以是可接受的。
如可以确信的,最大化α对应于公平目标,其中保证来自每个请求的需求的α的分数在其截止之前路由。这单独地可以是不够的,因为实现最好的α的解可以不利用网络的各部分并且可以仍然路由更多业务是可能的。因此,人们可以使用附加效用函数,例如,平均α:其需要沿着原始公平目标的所有最优解最大化(例如,“最差的”α的上文所提到的最大化)。
可以引入以下形式的任何效用: 其中ui,p,t≥0。特别地,可以通过选择实现上文所提到的平均α实体。可以注意,可以被用于对“软期限”进行建模。例如,请求i可以是固定的,并且可以针对t>D(D是某个时间步)的快速地指数衰减的函数hi(t)考虑效用系数ui,p,t=hi(t)。该函数对D是针对请求i的软期限的事实进行建模。
以下约束可以被添加到上文所提到的线性规划:针对g的最大值的某个猜测U。当常规填充和覆盖算法针对任何填充和覆盖约束工作时,添加以上线性覆盖约束是可能的。给定约束,可以对以上所提到的过程做出以下改变:添加内部r变量;r被初始化到1;当增加fi*,p*,t*时,r更新如下:条件(*)被改变为:
当新约束第一次被满足时,即,内部变量r从(*)被移除并且不再更新;过程的停止条件是满足所有覆盖约束(针对每个请求i有一个一级附加效用约束由以下公式选择γ:变量r被初始化如上使得以下成立:
现在阐述离线情况中的优化器组件408的操作——其中优化器组件408接收请求并且响应于请求的接收对长期调度进行适配。在优化器组件408在时间t=0(例如,ai≡0)处知道所有请求的离线情况中做出的假定可能是不合理的。当离线使用时可以由优化器组件408采用的示例性过程具有三个主要性质:其使能请求的在线处理;当新请求到达时,其做出对解的增量改变;其逐渐地更新许诺的α值。
关于这样的过程,可以通过τ索引时间。当时间步τ开始时,由优化器组件408采用的过程变为知道请求i,其知道时间是τ,例如,ai=τ。可以通过R(τ)={i:ai≤τ,di≥τ}表示在时间τ处相关的请求的集合。在本文中按级来描述这样的过程的偏离。
呈现了第一设计,其中过程实际上是增量的并且贪婪地选择值。在线过程用来通过线性规划LP(τ)在时间τ处解答的不等式组被表示如下:
可以被定义为在针对请求i∈R(τ)在时间τ之前的过程并且由过程调度的请求i的需求的αi许诺分数已经路由的总业务。可以注意,Fi,τ-1是当在时间步τ处操作时的常量。
时间τ处的在线过程将来自先前时间步骤的解用作其开始点。此后,给定针对αis的值,过程执行离线算法来确定针对给定αi值,是否存在可行解。过程可以确定αi值,因为不是新的请求i(例如,αi<τ)已经具有来自先前的时间步骤的许诺αi。新知道请求i(例如,αi=τ)可以初始地设定为具有αi=0。该过程可以进行“充水”过程,其中只要LP(τ)是可行的,最低α得分增加。
相对于离线过程,可以做出以下改变:条件(*)被改变为:
当增加fi*,p*,t*时,变量zi*被更新如下: γ根据 改变;当以下时,i*从R被移除:
算法的停止条件是满足所有“新”覆盖约束。与等式(1)和等式(2)类似地,维持ye,t和zi以支持以下定义:
以上在线增量解的问题在于基本上以贪婪的方式选择α值,其可以引起序列α0,α1,……中的宽变化并且一些α可以具有非常小的值。
为了维持随时间的公平,可以引入业务光滑的概念。直观地,这可以通过限制增量在线过程可以使用的容量来完成,这为将来的请求留下一些容量真空。正式地,βe,t,τ可以表示当在时间步τ处运行时可以由在线增量过程使用的将来时间t中的边缘e的容量的分数。这改变LP(τ)的容量约束如下:
给定边缘e∈E并且时间t,以下函数在τ中是非递减的:βe,t,τ:[0,...,t]→[0,1]。βe,t,τ可以设定到1,因为当在线过程到达时间步骤τ=t时,可以使用边缘的整个容量,因为不存在节省针对将来使用的空容量的原因。例如,对于某个常量c而言,示例性选择是βe,t,τ=exp(-(t-τ)/c)。
基于前述内容,可以实现对等式(1)的以下改变:可以针对ye,t*更新规则,其中条件(*)改变为:
ye,t初始化并且更新为维持以下定义:
在在线情况中,当在时间τ处操作时,人们可以改进由业务光滑方法获得的结果。由于优化器组件408当采用在线过程时,在每个时间步τ处应用充水时,可能是α值中的一些α值能够被改进的情况。在每个时间步τ处,在在线过程(在业务光滑化终止的情况下),可以利用效用约束来应用相同算法方法。LP’(τ)可以表示在线过程需要利用效用在时间τ处解答的不等式组:
可以被定义为针对请求i∈R(τ)在时间τ之前由过程已经路由的流的总效用。可以注意,Ui,τ-1是当在时间步τ处操作时的常量。
请求i的总业务的第二约束状态不应当超过其总需求(Di)(这是填充约束)。总效用的第三约束状态是至少某个给定值F(这是覆盖约束)。可以注意,在LP和LP(τ)中不需要第二约束,但是此处对于LP’(τ)而言需要。
当考虑这样的约束时,对等式(1)的以下改变可以包含到优化器组件408中:可以添加内部变量Si,其中当增加fi*,p*,t*时,变量si*被更新如下:条件(*)被改变为:
过程的停止条件是满足效用约束;γ被选择为维持内部变量ye,t、Si和γ,使得等式(6)保持未改变,并且以下成立:
如公式1中所指示的,优化器组件408可以通过至多(1+3ε)的小乘积因子违反容量约束的解。这可以在业务光滑化和效用合并二者中发生。然而,这不是问题,因为由在时间τ处和边缘的容量ce调度的时间t处的边缘e上的业务的超过的βe,t,τ·ce单位。该方法允许在实际上根本不违反导致更高的α值的最后输出中的容量的情况下由优化器组件408生成的小容量违反的接受。
可以确定,在线情况不具有理论性能保证,但是可以证明当适当的不等式组是可行的时,那么由优化器组件408使用的过程将不遇到困难;即,存在可以增加隐含最差填充约束的光滑化的导数与最差填充约束的光滑化的导数的比例以1为上限的变量fi*,p*,t*。这对于任何当前解成立。在以下定理中概述这一点:
定理3:对于任何如果LP、LP(τ)和LP’(τ)是可行的,那么总是存在i*、p*和t*使得相应的条件(*)成立。
如上文所指示的,期望高优先级请求(例如,ad-hoc请求)被满足。可以假定所有高优先级请求被分解为小数据块,每个具有ai=bi=di,例如,每个高优先级请求确切地跨越单个时间步。上文所提到的过程具有针对高优先级请求将需要的时间t处的边缘e的容量ce的分数的先验估计。可以通过Xe,t表示该分数。这引起先前所提到的过程的以下适配:利用(1-Xe,t)·ce替换ce。由于X是估计,因而可以是以下情况:一旦时间步t到达并且过程变得知道实际的高优先级请求,则需要边缘e的容量的Xe,t分数变得明显。在这种情况下,该过程可以被配置为降低边缘e上的一些预调度的业务,其可以通过公式化校正边缘e上的预调度的业务的小线性规划同时最小化对由优化器组件408所提供的许诺保证αi的影响完成。
在另一示例性实施例中,为了加速运行时间,可以期望考虑滑动窗口方法的使用。给定窗口大小W,如果在线过程在时间步τ处,则其仅看到前面将来的W个时间步。关于该方法的潜在问题在于,可能存在针对该di–ai>W的请求i,例如,在其中过程变得知道其在当前窗口之后结束的请求i的过程的时间处。
该潜在问题的方案是将该问题分解为较小的请求。特别地,一旦过程变得知道如上文在时间τ处的请求i,则认为其期限是滑动窗口的当前结束时间:τ+W。此外,其需求被设定为适于当前滑动窗口的其原始需求的比例。在更多特殊性的情况下,当优化器组件408的在线过程在时间τ处时,可以通过以下公式确定需求:
在任何后续时间步处,可以从Di减去所调度的请求i的总业务。
可以确定,优化器组件408必须以相对紧张的时间尺度进行操作。因此,上文所描述的过程可以被修改为支持其执行的推进。例如,可以将最短路径问题分解。找到满足(*)的(i,t,p)可以与执行展开图上的所有对最短路径过程基本上类似,所述展开图包括针对每个时间点的原始网络的一个副本。然而,鉴于可以由调度器组件118考虑的大问题实例,这样做可能是太昂贵的。因此,如上文所提到的,可以约束网络图402。例如,对于每个源-目的地对而言,可以针对图形的每个副本保留路径的长度列表分类的(路径的长度是其边缘的长度的总和;通过给定边缘长度)。可以通过采取所有副本中间的ce最小长度路径获得针对每个源目的地的最短路径;这样的分解的优点在于,可以针对小得多的图形搜索最短路径。
鉴于上文内容,在过程的任何迭代中,可以仅针对对应于最后更新的时间点计算最短路径(例如,其中通过t表示这样的时间点)。而且,仅需要针对其当前最短路径具有与其流动已经增大的路径的共同边缘的当前最短路径计算(对应于时间t的)最短路径。这导致每个迭代中的更少的更新,这使过程更高效。
而且,可以使上文所阐述的过程并行化。可以并行完成增量流动变量fi,p,t并且更新对应的间隔变量ye,t和zi,只要不存在时间维度的竞争,并且进一步一次仅将请求分配给一个线程。为了服从这些约束,总时间可以分为时间范围,其中每个时间范围被分配给不同的线程。可以以粗略地平衡每个范围内的“负载”(请求计数)的方式选择特定时间范围。当每个请求在确切地一个时间范围内是“活的”时,并行化是简单的。然而,请求可以跨越多个时间范围。为了解决该挑战,请求可以被分配给具有与该时间范围中的请求的相对质量相等的可能性的特定时间范围。这样的分配保证实际上强制执行了上文所描述的约束。在散布阶段中,每个线程运行给定数目的迭代(其可以设定——例如,为104)。以下收集阶段然后更新所有变量的值。虽然一些覆盖约束基于条件*剩余保持对fi,p,t不满足并且可行的编辑可能,优化组件408重复以上散布和收集阶段。注意,跨越多个时间范围的请求可以被分配给不同的散布阶段中的不同的线程。朝向执行的结尾,在不满足的请求的数目相对小的情况下,过程可以切换到单线程执行(例如,并行化开销变为有意义的)。
概述以上中的至少一些,可以由优化器组件408使用的示例性算法可以被分类为混合填充和覆盖算法。该过程可以通过做出对变量的小但证明地安全的改变标识方案,使得存在填充约束上的过度违反的约束。当新约束出现时(例如,下一时间步处的新传送或网络条件中的改变),过程可以使用“旧的”收敛状态(例如,问题不需要从头解决,而是可以从先前的收敛状态开始)。该过程允许对请求者做出的许诺,其中许诺保证不管是新到达、高优先权(ad-hoc)请求还是改变网络条件,都将满足传送请求。这可以通过在下一时间步(从当前时间)处留出特定数量的将来的网络资源来完成,资源可以完全地被分配,同时对于将来的时间步而言,增加的数量的资源可以保持未分配。而且,可以针对实际的实施方式并行化这样的过程。
参考图6,图示了可以向被保留在网络102的至少一个计算设备中的数据的所有者暴露的示例性图形用户界面600。图形用户界面600包括数字字段602,其被配置为接收从源计算设备将传送到接收计算设备的数据的标识。例如,可以基于数据字段602中引用的数据的标识来确定将从源计算设备传送到接收计算设备的数据的量。
图形用户界面600附加地包括接收者ID字段604,其标识网络102中的接收计算设备。图形用户界面600可以可选地包括开始字段606,其被配置为当可以开始接收者ID字段604中标识的接收计算设备的数据的传送时,接收时间的标识。如果从图形用户界面600省略开始字段606或者未指定开始时间,那么可以做出可以立即开始数据的传送的假定。图形用户界面600还包括期限字段608,其可以接收何时接收者ID字段604中标识的从源计算设备到接收计算设备的数据的传送将完成的指示。基于字段602-608中阐述的数据,可以在定价字段610中呈现定价信息。定价信息可以例如随着期限字段608中阐述的期限改变、随着数据字段602中的数据的量改变等而改变。因此,可以确信图形用户界面600支持对绝对期限的规定,其中数据传送将在期限之前完成。当确定接受还是拒绝请求时,调度器组件118可以考虑期限,并且可以基于期限计算长期调度124和短期调度126。
图7-图9图示了涉及调度网络中的数据传送的示例性方法。虽然方法被示出并且被描述为按序列执行的一系列动作,但是应理解并且领会到,方法不由序列的顺序限制。例如,一些动作可以按照与本文描述了什么不同的顺序发生。另外,动作可以与另一动作并发地发生。而且,在一些实例中,并非可以要求所有动作以实施本文所描述的方法。
而且,本文所描述的行为可以是可以由一个或多个处理器实现和/或存储在计算机可读介质或媒体上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行线程等。更进一步地,方法的动作的结果可以被存储在计算机可读介质中、被显示在显示设备上等。
现在参考图7,图示了支持长期调度的计算的示例性方法700。方法700在702处开始,并且在704处,接收将数据从网络中的第一计算设备传送到网络中的第二计算设备的请求。如上文所指示的,请求包括标识第二计算设备的第一数据,标识将根据请求从第一计算设备被传送到第二计算设备的数据的量的第二数据和标识期限的第三数据,其中数据的从第一计算设备到第二计算设备的传送将在期限之前被完成。
响应于接收到请求并且至少部分地基于请求,在706处生成针对网络中的数据传送的长期调度。如上文所指示的,优化过程被用于计算长期调度。长期调度包括多个将来的时间单位并且被生成为支持在期限之前完成该量的数据从第一计算设备向第二计算设备的传送。而且,长期调度针对多个将来的时间单位中的至少一个将来的时间单位标识网络中的路径,数据将通过网络中的该路径从第一计算设备被传送到第二计算设备。
在708处,基于长期调度,短期调度被生成以用于网络中的数据传送,其中短期调度被生成为支持在期限之前数据的从第一计算设备到第二计算设备的传送的完成。短期调度包括用于网络中的网络基础设施设备的路由表。路由表标识由网络基础设施接收的数据将被传送到的至少一个设备。在710处,路由表被传输到网络基础设施设备,并且方法700在712处完成。
现在参考图8,图示了支持生成长期调度的示例性方法800。方法800在802处开始,并且在804处,接收网络的地图。如上文所指示的,网络的地图包括表示WAN中的设备的多个节点和表示网络中的设备之间的网络链路的多个边缘。在806处,基于网络的地图,构建网络图。网络图包括网络的地图的多个实例:网络的地图的一个实例针对由长期调度覆盖的每个时间单位。在808处,接收针对数据传送的路径约束。这样的路径约束可以限制将从源计算设备传送到接收计算设备的数据可以行进的路径。
在810处,接收到关于未决数据传送请求的信息。除了其他信息,这样的信息可以包括针对每个请求将传送的剩余的相应数据的量、请求的相应期限。在812处,基于网络图、路径约束和在810接收的信息,在网络图上并行执行混合填充和覆盖算法。应理解到,应预期到预期用于计算长期调度的其他类型的算法。可以结合计算长期调度来解出线性程序。方法800在814处完成。
现在转向图9,图示了支持透露关于网络上的数据传送的定价信息的示例性方法900。方法在902处开始,并且在904处,接收到针对网络上的数据传送的长期调度。在906处,基于长期调度,生成针对数据传送的定价调度。该定价调度可以被配置为随时间使网络中的数据传送的需求平滑,从而增加网络的硬件资源的利用的效率。在908处,接收到针对WAN上的数据传送的请求,其中该请求包括在传送将被完成之前要传送的数据的量和期限。在910处,基于定价调度和所接收的请求,向请求者透露定价信息。数据传送的请求者可以然后基于定价信息来接受价格或者修改请求。方法900在912处完成。
现在参考图10,图示了可以根据本文所公开的系统和方法使用的示例性计算设备1000的高级图示。例如,计算设备1000可以使用在支持计算针对网络中的数据传送的长期调度的系统中。通过另一示例,计算设备1000可以是网络102中的源计算设备或接收计算设备。计算设备1000包括执行被存储在存储器1004中的指令的至少一个处理器1002。例如,该指令可以是用于实施如由上文所讨论的一个或多个组件执行所描述的功能性的指令或用于实施上文所描述的方法中的一个或多个的指令。处理器1002可以通过系统总线1006访问存储器1004。除存储可执行指令之外,存储器1004还可以存储路由表、长期调度、短期调度等。
计算设备1000附加地包括通过系统总线1006由处理器1002可访问的数据储存库1008。数据储存库1008可以包括可执行指令、数据传送调度等。计算设备1000还包括允许外部设备与计算设备1000通信的输入接口1010。例如,输入接口1010可以被用于接收来自外部计算机设备、来自用户等的指令。计算设备1000还包括将计算设备1000与一个或多个外部设备接合的输出接口1012。例如,计算设备1000可以通过输出接口1012显示文本、图像等。
应预期到,经由输入接口1010和输出接口1012与计算设备1000通信的外部设备可以被包括在用户可以与其交互的基本上任何类型的用户界面。用户界面类型的示例包括用户界面、自然用户界面等。例如,图形用户界面可以采用(一个或多个)输入设备(诸如键盘、鼠标、遥控器等)接受来自用户的输入并且在输出设备(诸如显示器)上提供输出。而且,自然用户界面可以使得用户能够以没有由输入设备(诸如键盘、鼠标、遥控器等)强加的约束的方式与计算设备1000交互。而是,自然用户界面可以依赖于语音识别、接触和触笔识别、在屏幕上和在屏幕附近二者的手势识别、空中手势、头和眼跟踪、声音和语音、视觉、接触、手势、机器智能等。
此外,虽然被图示为单个系统,但是应理解到,计算设备1000可以是分布式系统。因此,例如,数个设备可以通过网络连接通信并且可以共同地执行被描述为由计算设备1000执行的任务。
可以以硬件、软件或其任何组合实现本文所描述的各种功能。如果以软件实现,则功能可以被存储在计算机可读介质上或作为一个或多个指令或代码在其上传输。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是可以由计算机访问的任何可用的存储介质。以示例而非限制的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光学存储、磁盘存储或其他磁存储设备或可以被用于存储以指令或数据结构的形式的期望的程序代码并且可以由计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括紧致盘(CD)、激光盘、光盘、数字万用盘(DVD)、软盘和蓝光盘(BD),其中磁盘通常磁性地复制数据并且光盘通常利用激光光学地复制数据。而且,传播信号未被包括在计算机存储介质的范围内。计算机可读介质还包括通信介质,其包括支持将计算机程序从一个地点传送到另一个地点的任何介质。例如,连接可以是通信介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源传输软件,那么同轴电缆、光缆、双绞线、DSL或诸如红外、无线电和微波的无线技术被包括在通信介质的定义中。以上组合还应当包括在计算机可读媒体的范围内。
备选地或者附加地,可以至少部分通过一个或多个硬件逻辑组件执行本文所描述的功能性。例如,并且非限制性地,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统系统(SOC)、复杂可编程逻辑设备(CPLD)等。
上文已经描述什么包括一个或多个实施例的示例。当然,出于描述前述方面的目的,描述以上设备或方法的每个可想到的修改和变更是不可能的,但是本领域的普通技术人员可以认识到,各方面的许多进一步的修改和置换是可能的。因此,所描述的各方面旨在包含落在随附的权利要求的精神和范围内的所有这样的变更、修改和变型。而且,在术语“包括(include)”被用在具体实施方式或者权利要求中的程度上,这样的术语旨在以如当用作权利要求中的过渡词时“包括(comprising)”被解译时与术语“包括(comprising)”类似的方式而是包含性的。

Claims (20)

1.一种用于计算针对广域网上的数据传送的长期调度的方法,包括:
接收将数据从网络中的第一计算设备传送到所述网络中的第二计算设备的第一请求,所述第一请求包括:
所述第二计算设备的标识;
将根据所述第一请求从所述第一计算设备被传送到所述第二计算设备的数据的量的标识;以及
第一期限,所述第一期限标识第一时间,其中所述数据从所述第一计算设备向所述第二计算设备的所述传送将在所述第一期限中标识的所述第一时间之前被完成;
响应于接收到所述第一请求并且基于所述第一请求,计算覆盖包括多个时间单位的第一时间窗口的长期调度,所述长期调度被生成以支持在所述第一期限中标识的所述第一时间之前完成所述数据从所述第一计算设备向所述第二计算设备的所述传送,对于所述多个时间单位中的时间单位,所述长期调度标识所述网络中的至少一个路径,所述数据将通过所述至少一个路径从所述第一计算设备被传送到所述第二计算设备;
基于所述长期调度计算短期调度,所述短期调度覆盖在所述第一时间窗口之前出现的第二时间窗口,所述短期调度包括比所述长期调度更少的时间单位,所述短期调度被计算以支持在所述第一期限中标识的所述第一时间之前完成所述数据的所述量从所述第一计算设备向所述第二计算设备的所述传送,所述短期调度包括用于所述网络中的网络基础设施设备的路由表,所述路由表标识至少一个设备,由所述网络基础设施设备接收的数据将被传送到所述至少一个设备;以及将所述路由表传输到所述网络基础设施设备,其中所述网络基础设施设备根据所述路由表将所述数据传送到所述至少一个设备。
2.根据权利要求1所述的方法,还包括:
接收所述网络的地图,所述网络的所述地图包括分别表示所述网络中的设备的多个节点,所述网络的所述地图还包括表示所述网络中的各设备之间的链路的多个边缘;以及
基于所述网络的所述地图,生成所述长期调度。
3.根据权利要求2所述的方法,还包括:
响应于接收到所述网络的所述地图,构建表示所述多个时间单位上的所述网络的网络图,所述网络图包括分别与所述多个时间单位对应的、所述网络的所述地图的多个实例,所述网络的所述地图的所述多个实例由在所述网络的所述地图的所述多个实例中的表示共同设备的节点之间的边缘相互连接,并且其中所述长期调度基于所述网络图被生成。
4.根据权利要求3所述的方法,还包括:针对所述第一计算设备与所述第二计算设备之间的数据传送,将所述网络图中表示的能够被用于将所述数据从所述第一计算设备传送到所述第二计算设备的路径的数目约束到潜在路径的阈值数目,其中生成所述长期调度基于所述潜在路径的阈值数目。
5.根据权利要求1所述的方法,还包括:
接收针对所述网络中的各计算设备之间的相应的多个数据传送的多个请求,所述多个请求指定相应的多个期限,所述相应的多个期限是不同的;以及
基于所述多个请求生成所述长期调度,所述长期调度被生成以支持所述网络中的所述各计算设备之间的所述数据传送在其相应的多个期限之前完成。
6.根据权利要求1所述的方法,还包括:
在将所述路由表传输到所述网络基础设施设备之后,接收将第二数据从所述网络中的第三计算设备传送到所述网络中的第四计算设备的第二数据传送请求,第二请求包括:
所述第四计算设备的标识;
将根据所述第二请求从所述第三计算设备被传送到所述第四计算设备的数据的量的标识;以及
第二期限,所述第二期限标识第二时间,其中所述数据从所述第三计算设备向所述第四计算设备的所述传送将在所述第二期限中标识的所述第二时间之前被完成,所述第二时间不同于所述第一时间;
响应于接收到所述第二请求并且基于所述第一请求和所述第二请求,计算覆盖包括第二多个时间单位的第三时间窗口的第二长期调度,所述第二长期调度被生成以支持在所述第一期限中标识的所述第一时间之前完成所述数据从所述第一计算设备向所述第二计算设备的所述传送,并且以支持在所述第二期限中标识的所述第二时间之前完成所述第二数据从所述第三计算设备向所述第四计算设备的所述传送,对于第二多个将来时间单位中的第二时间单位,所述长期调度标识所述网络中的第一路径和所述网络中的第二路径,所述数据将通过所述第一路径从所述第一计算设备被传送到所述第二计算设备,所述第二数据将通过所述第二路径从所述第三计算设备被传送到所述第四计算设备;以及
基于所述第二长期调度生成第二短期调度,所述第二短期调度覆盖在所述第三时间窗口之前出现的第四时间窗口,所述第二短期调度包括比所述第二长期调度更少的时间单位,所述第二短期调度被生成以支持在所述第一期限中标识的所述第一时间之前完成所述数据从所述第一计算设备向所述第二计算设备的所述传送,并且以支持在所述第二期限中标识的所述第二时间之前完成所述第二数据从所述第三计算设备向所述第四计算设备的所述传送,所述第二短期调度包括用于所述网络中的所述网络基础设施设备的第二路由表;以及
将所述第二路由表传输到所述网络基础设施设备。
7.根据权利要求1所述的方法,其中所述长期调度在多个处理器核上被并行计算。
8.根据权利要求1所述的方法,还包括:
基于所述数据的所述量和所述第一期限中标识的所述第一时间,来评估对将从所述第一计算设备向所述第二计算设备传送的所述数据的所有者的费用。
9.根据权利要求1所述的方法,还包括动态地调节对数据的所有者的费用的价格,所述数据的所有者请求通过所述网络的数据传送,其中所述价格基于所述长期调度被动态地调节。
10.根据权利要求1所述的方法,还包括向所述网络中的计算设备中的数据的所有者透露价格调度,所述价格调度包括基于所述网络中的历史数据传送的价格。
11.根据权利要求1所述的方法,其中计算所述长期调度包括执行混合填充和覆盖算法以计算所述长期调度。
12.根据权利要求1所述的方法,还包括:
接收所述网络中的至少一个链路停用的指示;以及
基于所述网络中的所述至少一个链路停用的所述指示,计算所述长期调度。
13.一种控制器计算设备,包括:
至少一个处理器;以及
存储器,其存储指令,当所述指令由所述至少一个处理器执行时,使所述至少一个处理器执行动作,所述动作包括:
接收多个数据传送请求,每个数据传送请求包括:
将被传送的数据的量的标识;以及
期限,所述期限标识相应时间,每个数据传送请求是用以在包括多个网络基础设施设备的网络上传送数据的请求,每个数据传送请求将在所述期限中标识的所述相应时间之前被完成;
基于所述多个数据传送请求计算长期调度,所述长期调度覆盖包括多个时间单位的第一时间窗口,所述长期调度定义针对所述多个时间单位中的每个时间单位的通过所述网络的业务流;
基于所述长期调度计算短期调度,所述短期调度覆盖第二时间窗口,所述第二时间窗口比所述第一时间窗口更短并且在所述第一时间窗口之前出现;以及
基于所述短期调度,使相应的路由表被传输到所述多个网络基础设施设备,其中所述多个网络基础设施设备基于所述路由表来路由所述网络中的数据分组。
14.根据权利要求13所述的计算设备,其中计算所述长期调度包括执行混合填充和覆盖算法。
15.根据权利要求13所述的计算设备,其中所述长期调度和所述短期调度在时间上彼此相邻。
16.根据权利要求13所述的计算设备,其中所述多个时间单位具有一致的持续时间。
17.根据权利要求13所述的计算设备,所述动作还包括接收所述网络的地图,所述网络的所述地图标识所述网络中的设备和所述设备之间的链路,所述长期调度基于所述网络的所述地图被计算。
18.根据权利要求13所述的计算设备,所述动作还包括:
基于所述长期调度生成价格调度;以及
向数据传送的请求者透露所述价格调度。
19.根据权利要求13所述的计算设备,所述动作还包括:
接收所述网络的地图;以及
基于所述网络的所述地图来构建网络图,所述网络的所述地图包括分别表示所述多个网络基础设施设备的多个节点,所述网络图包括分别针对所述多个将来时间单位的所述网络的所述地图的多个实例,并且其中所述长期调度基于所述网络图被计算。
20.一种计算机可读存储介质,其包括指令,当所述指令由处理器执行时,使所述处理器执行动作,所述动作包括:
接收将数据从网络中的第一设备传送到所述网络中的第二设备的请求,所述请求包括:
所述第二设备的标识;
将从所述网络中的所述第一设备被传送到所述网络中的所述第二设备的数据的量的指示;以及
标识时间的期限,其中所述数据从所述第一设备向所述第二设备的所述传送将在所述期限中标识的所述时间之前被完成;
响应于接收到所述请求并且基于所述请求,计算覆盖第一时间窗口的长期调度,所述第一时间窗口包括多个时间单位,
其中所述长期调度针对所述多个时间单位中的每个时间单位定义通过所述网络的业务流,并且进一步地其中所述长期调度被计算以支持在所述期限中标识的所述时间之前完成所述数据从所述第一设备向所述第二设备的所述传送;
基于所述长期调度,计算覆盖第二时间窗口的短期调度,所述第二时间窗口包括比所述第一时间窗口更少的时间单位,所述第二时间窗口在所述第一时间窗口之前,所述短期调度被计算以支持在所述期限中标识的所述时间之前完成所述数据的所述量从所述第一设备向所述第二设备的所述传送,所述短期调度包括用于所述网络中的网络基础设施设备的路由表,所述路由表标识由所述网络基础设施设备接收的数据将被传送到的至少一个设备;以及
将所述路由表传输到所述网络基础设施设备,其中所述网络基础设施设备基于所述路由表将所述数据传送到所述至少一个设备。
CN201580014366.7A 2014-03-14 2015-03-11 计算针对广域网上的数据传送的长期调度 Active CN106134136B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/210,538 2014-03-14
US14/210,538 US10218639B2 (en) 2014-03-14 2014-03-14 Computing long-term schedules for data transfers over a wide area network
PCT/US2015/019808 WO2015138523A2 (en) 2014-03-14 2015-03-11 Computing long-term schedules for data transfers over a wide area network

Publications (2)

Publication Number Publication Date
CN106134136A CN106134136A (zh) 2016-11-16
CN106134136B true CN106134136B (zh) 2019-11-19

Family

ID=52875231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580014366.7A Active CN106134136B (zh) 2014-03-14 2015-03-11 计算针对广域网上的数据传送的长期调度

Country Status (17)

Country Link
US (2) US10218639B2 (zh)
EP (1) EP3117574B1 (zh)
JP (1) JP6641288B2 (zh)
KR (1) KR102296617B1 (zh)
CN (1) CN106134136B (zh)
AU (2) AU2015229558B2 (zh)
BR (1) BR112016020103B1 (zh)
CA (1) CA2939964A1 (zh)
CL (1) CL2016002225A1 (zh)
IL (1) IL247164B (zh)
MX (1) MX2016011539A (zh)
MY (1) MY186472A (zh)
NZ (1) NZ723357A (zh)
PH (1) PH12016501638A1 (zh)
RU (1) RU2688270C2 (zh)
SG (1) SG11201607426XA (zh)
WO (1) WO2015138523A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705749B2 (en) * 2014-09-08 2017-07-11 International Business Machines Corporation Executing data stream processing applications in dynamic network environments
US9755946B2 (en) * 2015-01-06 2017-09-05 Verizon Patent And Licensing Inc. Confidentially determining route diversity for network routes
WO2016161127A1 (en) * 2015-04-01 2016-10-06 Neutrona Networks International Llc Network management system with traffic engineering for a software defined network
US10164904B2 (en) * 2016-05-04 2018-12-25 Facebook, Inc. Network bandwidth sharing in a distributed computing system
US20180012164A1 (en) * 2016-07-08 2018-01-11 Conduent Business Services, Llc Method of planning for deployment of facilities and apparatus associated therewith
WO2018095513A1 (en) 2016-11-22 2018-05-31 Huawei Technologies Co., Ltd. Bandwidth calendaring in sdn
US10541939B2 (en) * 2017-08-15 2020-01-21 Google Llc Systems and methods for provision of a guaranteed batch
KR102423416B1 (ko) * 2017-12-12 2022-07-22 한국전자통신연구원 서버리스 환경에서의 펑션 장기 실행 제공 장치 및 방법
US11601825B2 (en) * 2018-08-08 2023-03-07 Faraday&Future Inc. Connected vehicle network data transfer optimization
US11070645B1 (en) * 2018-12-14 2021-07-20 Amazon Technologies, Inc. Flexible scheduling of data transfers between computing infrastructure collections for efficient resource utilization
US11563642B2 (en) * 2019-10-15 2023-01-24 Rockwell Collins, Inc. Smart point of presence (SPOP) aircraft-based high availability edge network architecture
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11381456B2 (en) 2020-04-06 2022-07-05 Vmware, Inc. Replication of logical network data between global managers
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11343227B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Application deployment in multi-site virtualization infrastructure
US11411891B2 (en) 2020-10-30 2022-08-09 Ge Aviation Systems Llc System and method for a time-sensitive network
US11997614B2 (en) 2021-04-22 2024-05-28 Commscope Technologies Llc Systems and methods for providing planned spectrum allocation for shared spectrum
US11974314B2 (en) * 2021-06-30 2024-04-30 Commscope Technologies Llc Systems and methods for diminishing frequency spectrum contentions amongst at least two spectrum access systems

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920701A (en) * 1995-01-19 1999-07-06 Starburst Communications Corporation Scheduling data transmission
US5615254A (en) * 1995-04-04 1997-03-25 U S West Technologies, Inc. Methods and systems for dynamic routing in a switched comunication network
US6130875A (en) * 1997-10-29 2000-10-10 Lucent Technologies Inc. Hybrid centralized/distributed precomputation of network signal paths
US6205150B1 (en) * 1998-05-28 2001-03-20 3Com Corporation Method of scheduling higher and lower priority data packets
US6108314A (en) 1998-08-31 2000-08-22 Motorola, Inc. Method, subscriber device, wireless router, and communication system efficiently utilizing the receive/transmit switching time
US6760328B1 (en) 1999-10-14 2004-07-06 Synchrodyne Networks, Inc. Scheduling with different time intervals
JP2001229081A (ja) 2000-02-17 2001-08-24 Hitachi Ltd データ転送方式
JP3756054B2 (ja) 2000-10-16 2006-03-15 シャープ株式会社 ネットワーク通信方法、ネットワーク通信装置及び情報機器
US7280526B2 (en) * 2001-01-18 2007-10-09 Lucent Technologies Inc. Fast and scalable approximation methods for finding minimum cost flows with shared recovery strategies, and system using same
US7010493B2 (en) * 2001-03-21 2006-03-07 Hitachi, Ltd. Method and system for time-based storage access services
AU2002345574A1 (en) 2001-06-05 2002-12-16 Cetacean Networks, Inc. Real-time network scheduled packet routing system
US6760813B1 (en) * 2001-12-20 2004-07-06 Cisco Technology, Inc. Devices, softwares and methods for preemptively updating expiring entries in a cache memory to anticipate future inquiries
US7983923B1 (en) * 2002-07-10 2011-07-19 Sap Ag Collaborative management of delivery schedules
AU2002349425A1 (en) 2002-11-13 2004-07-14 Zte Corporation Forward-link rate scheduling method and scheduler
US7376121B2 (en) * 2003-06-06 2008-05-20 Microsoft Corporation Method and system for global routing and bandwidth sharing
US7526765B2 (en) * 2003-11-26 2009-04-28 International Business Machines Corporation Method and apparatus for on-demand resource allocation and job management
US8213438B2 (en) * 2003-12-19 2012-07-03 Iwics Inc. Data transport protocol for a multi-station network
US7366528B1 (en) * 2004-01-13 2008-04-29 At&T Mobility Ii Llc Preventing wireless message delivery outside of specified times
US8412822B1 (en) * 2004-01-27 2013-04-02 At&T Intellectual Property Ii, L.P. Optimized job scheduling and execution in a distributed computing grid
JP4829474B2 (ja) 2004-01-30 2011-12-07 富士通株式会社 ネットワーク制御装置およびそのパス制御方法
US7529217B2 (en) 2004-03-27 2009-05-05 Dust Networks, Inc. Low-power autonomous node for mesh communication network
US8924247B2 (en) * 2004-08-19 2014-12-30 LoadPoint, Inc Ranking system using instant post-transaction surveying of transaction judges
US7542473B2 (en) 2004-12-02 2009-06-02 Nortel Networks Limited High-speed scheduling apparatus for a switching node
US8417549B2 (en) * 2005-05-27 2013-04-09 Sap Aktiengeselleschaft System and method for sourcing a demand forecast within a supply chain management system
US7751317B2 (en) * 2006-01-26 2010-07-06 Microsoft Corporation Cost-aware networking over heterogeneous data channels
US20080180445A1 (en) * 2007-01-29 2008-07-31 Mark Peskin Output Management Systems And Methods
US7865614B2 (en) * 2007-02-12 2011-01-04 International Business Machines Corporation Method and apparatus for load balancing with server state change awareness
US8861356B2 (en) * 2007-03-13 2014-10-14 Ntt Docomo, Inc. Method and apparatus for prioritized information delivery with network coding over time-varying network topologies
US8719375B2 (en) * 2007-03-22 2014-05-06 Microsoft Corporation Remote data access techniques for portable devices
US8325627B2 (en) 2007-04-13 2012-12-04 Hart Communication Foundation Adaptive scheduling in a wireless network
WO2009084102A1 (ja) * 2007-12-28 2009-07-09 Japan Marine Science Inc. プロセスマネジメント支援システム、及びシミュレーション方法
GB2457431A (en) * 2008-01-28 2009-08-19 Fujitsu Lab Of Europ Ltd Interference mitigation method in a wireless network
RU2361386C1 (ru) * 2008-02-26 2009-07-20 Федеральное государственное образовательное учреждение высшего профессионального образования Дальневосточный государственный аграрный университет Комбайн самоходный гусеничный кормоуборочный
US20100041365A1 (en) * 2008-06-12 2010-02-18 At&T Mobility Ii Llc Mediation, rating, and billing associated with a femtocell service framework
US8368698B2 (en) * 2008-09-24 2013-02-05 Microsoft Corporation Calculating a webpage importance from a web browsing graph
US8040810B2 (en) * 2008-11-26 2011-10-18 Mitsubishi Electric Research Laboratories, Inc. Method for routing packets in wireless ad-hoc networks with probabilistic delay guarantees
GB2469501B (en) * 2009-04-16 2012-01-04 Appshare Ltd Method and system for network-based collaboration
US9779386B2 (en) * 2009-08-31 2017-10-03 Thomson Reuters Global Resources Method and system for implementing workflows and managing staff and engagements
US20110154353A1 (en) 2009-12-22 2011-06-23 Bmc Software, Inc. Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US8346845B2 (en) * 2010-04-14 2013-01-01 International Business Machines Corporation Distributed solutions for large-scale resource assignment tasks
US8914471B2 (en) 2010-05-28 2014-12-16 Qualcomm Incorporated File delivery over a broadcast network using file system abstraction, broadcast schedule messages and selective reception
RU106474U1 (ru) * 2010-12-24 2011-07-10 Дмитрий Валерьевич Овчинников Региональная информационно-вычислительная сеть
US8705363B2 (en) * 2011-04-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Packet scheduling method and apparatus
US9009318B2 (en) * 2011-11-03 2015-04-14 Microsoft Corporation Offline resource allocation algorithms
US8787154B1 (en) * 2011-12-29 2014-07-22 Juniper Networks, Inc. Multi-topology resource scheduling within a computer network
US20130179371A1 (en) 2012-01-05 2013-07-11 Microsoft Corporation Scheduling computing jobs based on value
US9197508B2 (en) * 2012-06-15 2015-11-24 Cisco Technology, Inc. Time-based scheduling for tunnels computed by a stateful path computation element
US20130346227A1 (en) * 2012-06-22 2013-12-26 Microsoft Corporation Performance-Based Pricing for Cloud Computing
US8843169B2 (en) 2012-08-06 2014-09-23 Microsoft Corporation Signal-aware data transfer in cellular networks
US8583467B1 (en) 2012-08-23 2013-11-12 Fmr Llc Method and system for optimized scheduling of workflows
US20140214474A1 (en) * 2013-01-25 2014-07-31 Marcello Balduccini Aggregation of customer requirements
US10068285B2 (en) * 2013-04-24 2018-09-04 International Business Machines Corporation Multi-dimensional surface-based bid matching
US9367809B2 (en) * 2013-10-11 2016-06-14 Accenture Global Services Limited Contextual graph matching based anomaly detection
US9325624B2 (en) * 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication

Also Published As

Publication number Publication date
EP3117574A2 (en) 2017-01-18
IL247164B (en) 2019-08-29
WO2015138523A2 (en) 2015-09-17
US10218639B2 (en) 2019-02-26
WO2015138523A3 (en) 2015-11-05
AU2015229558B2 (en) 2018-12-20
BR112016020103A8 (pt) 2021-06-29
US20190260692A1 (en) 2019-08-22
PH12016501638A1 (en) 2017-02-06
EP3117574B1 (en) 2019-04-24
MX2016011539A (es) 2016-11-29
AU2015229558A1 (en) 2016-09-08
SG11201607426XA (en) 2016-10-28
KR20160132852A (ko) 2016-11-21
BR112016020103A2 (pt) 2017-08-15
NZ723357A (en) 2022-02-25
CA2939964A1 (en) 2015-09-17
RU2016136670A (ru) 2018-03-16
RU2688270C2 (ru) 2019-05-21
RU2016136670A3 (zh) 2018-10-24
IL247164A0 (en) 2016-09-29
CN106134136A (zh) 2016-11-16
MY186472A (en) 2021-07-22
US20150264135A1 (en) 2015-09-17
JP2017508403A (ja) 2017-03-23
KR102296617B1 (ko) 2021-08-31
CL2016002225A1 (es) 2017-02-24
US10693812B2 (en) 2020-06-23
BR112016020103B1 (pt) 2023-11-28
AU2019201941A1 (en) 2019-04-11
JP6641288B2 (ja) 2020-02-05
AU2019201941B2 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
CN106134136B (zh) 计算针对广域网上的数据传送的长期调度
Ben Alla et al. A novel task scheduling approach based on dynamic queues and hybrid meta-heuristic algorithms for cloud computing environment
Vossen et al. Optimization and mediated bartering models for ground delay programs
Abrishami et al. Cost-driven scheduling of grid workflows using partial critical paths
Najafizadeh et al. Multi-objective Task Scheduling in cloud-fog computing using goal programming approach
US8028293B2 (en) Optimal policies for load balancing for distributed and strategic agents (more technically, optimal coordination mechanisms for machine scheduling)
Kerkhove et al. Scheduling of unrelated parallel machines with limited server availability on multiple production locations: a case study in knitted fabrics
CN109445386A (zh) 一种基于onba的云制造任务最短生产时间调度方法
Nikoofal Sahl Abadi et al. Multiobjective model for solving resource‐leveling problem with discounted cash flows
Mostafa Cooperative fog communications using a multi-level load balancing
CN113220437B (zh) 一种工作流多目标调度方法及装置
Prado et al. On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers
Zhang et al. Modeling and simulation of task rescheduling strategy with resource substitution in cloud manufacturing
Kaur et al. PaF & MbOTS: Novel Task Scheduling Strategies for Fog Computing Environment
Suriyanarayanan et al. Intelligent Dynamic Replanning for Reduced Airport Operations
Liu et al. Low-latency Virtual Network function Scheduling Algorithm Based on Deep Reinforcement Learning
Sun et al. A Cost Optimization Strategy for Workflow Scheduling in Cloud
Sartzetakis et al. Edge/Cloud Infinite-time Horizon Resource Allocation for Distributed Machine Learning and General Tasks
Hameed et al. Efficient Resource Scheduling in Fog: A Multi-Objective Optimization Approach
Venkataswamy Job Scheduling in Datacenters using Constraint Controlled RL
Lu et al. A Double Deep Q-Network framework for a flexible job shop scheduling problem with dynamic job arrivals and urgent job insertions
Rouhifar et al. DITRA: an efficient event-driven multi-objective optimization algorithm for bandwidth allocation in IoT environments
Peng et al. Research Article Genetic Algorithm-Based Task Scheduling in Cloud Computing Using MapReduce Framework
ORA-FR et al. Deliverable D4. 2 Final Report on AI-driven Techniques for the MonB5G Decision Engine
Burnett Multiple objective assembly scheduling with spatial resources and recurring tasks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1225531

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant