CN103959724A - 在混合通信网络中提供路径信息 - Google Patents

在混合通信网络中提供路径信息 Download PDF

Info

Publication number
CN103959724A
CN103959724A CN201280057047.0A CN201280057047A CN103959724A CN 103959724 A CN103959724 A CN 103959724A CN 201280057047 A CN201280057047 A CN 201280057047A CN 103959724 A CN103959724 A CN 103959724A
Authority
CN
China
Prior art keywords
transmission medium
stream
grouping
transmission
equipment
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.)
Granted
Application number
CN201280057047.0A
Other languages
English (en)
Other versions
CN103959724B (zh
Inventor
E·G·科恩
Y·赵
M·B·瑞安
H·沙洛姆
A·J·考恩
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103959724A publication Critical patent/CN103959724A/zh
Application granted granted Critical
Publication of CN103959724B publication Critical patent/CN103959724B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/125Shortest path evaluation based on throughput or bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

用于选择在其上传送第一流的传输介质的系统和方法。多个传输介质中的至少一个传输介质可以在本质上是显著动态的。可以确定多个传输介质中的每一个传输介质的路径特性。可以基于所确定的路径特性从该多个传输介质中选择用于第一流的第一传输介质。可以在第一传输介质上传送第一流的第一多个分组。

Description

在混合通信网络中提供路径信息
相关申请
本申请要求于2011年11月21日提交的美国申请S/N.13/301,576的优先权权益。
背景技术
公开领域
本发明一般涉及通信系统,尤其涉及用于在包括多个传输介质的网络中传送和接收流的系统和方法。
相关技术描述
存在当前常用于建立通信网络的各种联网技术。一些示例包括无线局域网(WLAN)技术、电力线通信技术、以太网、和802.16(WiMAX)以及其他联网技术。在相同空间中(例如,在家庭环境中)存在多种此类通信网络甚至是相对常见的。在此类情景中,可使用多种不同的联网技术来耦合至其他混合联网设备由此形成较稳健的混合网络的混合联网设备将是特别有用的。
然而,通信机制(例如,传输介质)和针对个体联网技术的协议细节(例如,设备和拓扑发现、与其他网络的桥接等)通常是每种联网技术所特有的。桥接此类不同的联网技术以形成有效的混合网络是具有挑战性的目标,并且对各种混合联网区域的改善将是期望的。
概述
给出了本公开的诸实施例以改善联网系统。更具体地,本公开的诸实施例涉及用于在能够使用多个传输介质来传送/接收流的联网系统中进行路径选择、负载平衡、流聚集、分组丢失最小化、重复分组检测、以及脱序分组重新排序的方法。
本公开的一些实施例可以由电子设备(例如,第一混合联网设备)来实现,该电子设备经由多个传输介质耦合至另一电子设备(例如,第二混合联网设备)。例如,这些电子设备可以能够经由多种类型的网络进行通信,该多种类型的网络中的至少一些可以利用不同的传输介质来传达通信。此外,在一些实施例中,其中至少一个传输介质可以本质上是显著动态的,例如,至少一个传输介质的PHY速率可以随时间显著变化。
经由多个传输介质彼此耦合的电子设备具有能够使用任何或全部传输介质(或者传输介质的某种组合)来进行通信的优点。然而,为了最优地利用不同的传输介质和相关联的联网技术,可能需要高级控制算法。例如,一些类型的通信可能比其他类型的通信更好地适用于一种类型的联网技术和/或传输介质。从多个可用传输介质中智能地选择用来传送流的传输介质并非易事,尤其是在介质特性可能随时间变化并且必须有规律地监视的情况下。此过程在本文中被称为路径选择,并且本公开的一组实施例涉及用于路径选择的系统和方法。
此外,由于流特性(例如,流利用多少带宽)和介质特性(例如,传输介质的链路容量)随时间变化,因而可能在一个或多个传输介质上出现过度订阅状况。另外,在一些情况下,传输介质可能暂时或永久失效。因此,对正通过多个传输介质在电子设备之间传达的各种流进行平衡以优化对可用网络容量的使用而同时避免过度订阅并向各种类型的内容流提供恰适的服务是本公开的另一重要方面。监视各个传输介质并选择一个或多个流以及将这一个或多个流从一个传输介质移至另一个传输介质以优化对各种传输介质的使用的过程在本文中被称为负载平衡,并且本公开的一组实施例涉及用于负载平衡的系统和方法。
多个传输介质用于通信的可用性本身还促成使用多个传输介质来传送流的可能性。例如,在一些情景中,通信流可具有比由任何单个传输介质能全部承受的带宽更大的带宽要求。这可能在非常大的流的情形中发生,或者可能更常见地在每个传输介质上已在传达数个流并且在任何给定传输介质上所剩余的可用链路容量有限的情况下发生。在此类情景中,可能期望在第一传输介质上传达通信流的一部分,而在第二传输介质上传达该通信流的另一部分。此过程在本文中被称为流拆分和流聚集(例如,因为流可在传送侧被拆分并且在接收侧被聚集),并且本公开的一组实施例涉及用于选择流以进行流拆分/聚集的系统和方法。如同路径选择和负载平衡一样,选择流以进行拆分/聚集并且确定以何种方式拆分流的过程可能由于一个或多个传输介质可能本质上是动态的事实而变得复杂。应当注意,在一些实施例中,流拆分/聚集还可以用在负载平衡的过程中,例如用作更高级的技术。
使用多个传输介质来在两个电子设备之间进行通信的思想具有许多明显的优点:具体地,可以由此建立具有更大总容量的更稳健网络,并且具有用于容适带有不同服务质量(QoS)要求或其他需要的不同类型的内容的更大灵活性。然而,以将由接收电子设备识别并成功接收的方式来协调流(部分地(如在流拆分/聚集中那样),或者全部地)从一个传输介质至另一个传输介质的移动将给出其自己的一组挑战。这在传输介质在本质上是显著不同的且利用不同联网技术的情况下可能尤其是这种情形。其一个示例是分组排序。如果传输介质具有不同的传输等待时间(这对于不同类型的通信接口可能是常见的),则在切换前传输介质上传达的最后几个分组可能在切换后传输介质上传达的前几个分组之后被电子设备接收。本公开的一组实施例涉及用于使接收机能检测此类脱序分组并对它们进行重新排序的系统和方法。
另外,虽然以经协调方式利用多个传输介质来在两个电子设备之间通信的能力提供了将流从已经失效的传输介质移至仍起作用的传输介质的潜在可能性,但可能期望提供使由失效的传输介质引起的潜在分组丢失最小化的方式。相应地,本公开的一组实施例涉及用于在将流切换到新传输介质时使接收机处的分组丢失最小化的系统和方法,例如通过维护分组缓冲器,其中若确定分组缓冲器中的一些或全部分组没有经由原始传输介质成功传达给接收机,则可在新传输介质上重传分组缓冲器。
作为前述分组丢失最小化技术的结果或者出于其他原因,有时可能是以下情形:在将流从一个传输介质切换到另一传输介质时传达了重复分组。例如,如果失效的传输介质在失效前传送了该传输介质被调度成要传送的一些分组,但传送电子设备没有办法知道这一点,则其可能使用新传输介质重传这些分组。在此情形中,接收机可能接收到通信流的至少一些分组的重复副本。使接收机能够(优选在无需检视分组内容的情况下)快速确定这一点以丢弃重复分组将是合乎需要的。相应地,本公开的一组实施例涉及用于重复分组检测和移除的系统和方法。
本公开的各种实施例可按需个体地或组合地实现。例如,根据一组实施例,经由多个传输介质耦合至第二混合联网设备的第一混合联网设备可被配置成根据本公开的要素实现路径选择、负载平衡、流拆分/聚集、脱序分组重新排序、以及利用重复分组检测和移除的分组丢失最小化。
在一些实施例中,一种供设备选择要在其上传送第一流的传输介质的方法,该方法包括:确定多个传输介质中的每一个传输介质的路径特性,其中该多个传输介质中的至少一个传输介质在本质上是显著动态的;基于所确定的路径特性为第一流从该多个传输介质中选择第一传输介质;以及在第一传输介质上传送第一流的第一多个分组。
在一些实施例中,路径特性包括以下一者或多者:传输介质的链路容量;当前介质利用率;或者最大介质利用率。
在一些实施例中,该方法进一步包括确定第一流的内容类型;并且其中所述选择第一传输介质进一步基于第一流的内容类型。
在一些实施例中,该方法进一步包括确定第一流的优先级等级;并且其中所述选择第一传输介质进一步基于第一流的优先级等级。
在一些实施例中,该方法进一步包括基于传输介质的路径特性来确定针对多种流内容类型中的每一种流内容类型的优选传输介质次序。
在一些实施例中,该方法进一步包括检测至少一个传输介质在至少一个路径特性方面的改变;以及基于所检测到的至少一个传输介质在至少一个路径特性方面的此改变来修改针对多种流内容类型中的至少一种流内容类型的优选传输介质次序。
在一些实施例中,该方法进一步包括确定第一传输介质的当前介质利用率超过第一阈值;基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以供在第二传输介质上传送;以及基于选择第一流以供在第二传输介质上传送而在第二传输介质上传送第一流的第二多个分组,其中在所述选择第一流以供在第二传输介质上传送之后不再在第一传输介质上传送第一流的分组。
在一些实施例中,一种设备包括:用于经由多个传输介质耦合至第二设备的多个端口,其中该多个传输介质中的至少一个传输介质在本质上是显著动态的;以及配置成选择要在其上传送流的传输介质的逻辑,其中该逻辑被配置成确定该多个传输介质中的每一个传输介质的路径特性,基于所确定的路径特性为第一流从该多个传输介质中选择第一传输介质,以及在所选择的传输介质上传送第一流的第一多个分组。
在一些实施例中,路径特性包括以下一者或多者:传输介质的链路容量;当前介质利用率;或者最大介质利用率。
在一些实施例中,该逻辑被进一步配置成确定第一流的内容类型;并且其中所述选择第一传输介质进一步基于第一流的内容类型。
在一些实施例中,该逻辑被进一步配置成确定第一流的优先级等级;并且其中所述选择第一传输介质进一步基于第一流的优先级等级。
在一些实施例中,该逻辑被进一步配置成基于传输介质的路径特性来确定针对多种流内容类型中的每一种流内容类型的优选传输介质次序。
在一些实施例中,该逻辑被进一步配置成检测至少一个传输介质在至少一个路径特性方面的改变;以及基于所检测到的至少一个传输介质在至少一个路径特性方面的改变来修改针对多种流内容类型中的至少一种流内容类型的优选传输介质次序。
在一些实施例中,该逻辑被进一步配置成确定第一传输介质的当前介质利用率超过第一阈值;基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以供在第二传输介质上传送;以及基于选择第一流以供在第二传输介质上传送而在第二传输介质上传送第一流的第二多个分组,其中在所述选择第一流以供在第二传输介质上传送之后不再在第一传输介质上传送第一流的分组。
在一些实施例中,一种计算机可读存储器介质包括供设备选择要在其上传送第一流的传输介质的程序指令,其中这些程序指令可被执行以:确定多个传输介质中的每一个传输介质的路径特性,其中该多个传输介质中的至少一个传输介质在本质上是显著动态的;基于所确定的路径特性为第一流从该多个传输介质中选择第一传输介质;以及将第一流的第一多个分组路由至第一传输介质以供传输。
在一些实施例中,一种供设备对多个传输介质进行负载平衡的方法,其中该多个传输介质中的至少一个传输介质在本质上是显著动态的,该方法包括:在第一传输介质上传送第一流的第一多个分组;确定第一传输介质的当前介质利用率超过第一阈值;基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于该多个传输介质的一个或多个路径特性以及第一流的一个或多个特性;以及在第二传输介质上传送第一流的第二多个分组,其中在所述选择第一流以供在第二传输介质上传送之后不再在第一传输介质上传送第一流的分组。
在一些实施例中,该方法进一步包括确定在第二传输介质上传送第一流将不会使第二传输介质的介质利用率超过第二阈值;并且其中所述选择第一流以供在第二传输介质上传送是至少部分地基于所述确定在第二传输介质上传送第一流将不会使第二传输介质的介质利用率超过第二阈值。
在一些实施例中,第一流具有第一优先级等级,其中所述选择第一流以供在第二传输介质上传送是至少部分地基于该第一优先级等级。
在一些实施例中,第一优先级等级是基于第一流的内容类型。
在一些实施例中,第一流的该一个或多个特性包括第一流的估计带宽要求;并且其中该多个传输介质的该一个或多个路径特性对于每个相应的传输介质而言包括以下一者或多者:该传输介质的链路容量;当前介质利用率;或者最大介质利用率。
在一些实施例中,一种设备包括:用于经由多个传输介质耦合至第二设备的多个端口,其中该多个传输介质中的至少一个传输介质在本质上是显著动态的;以及配置成对该多个传输介质进行负载平衡的逻辑,其中该逻辑被配置成经由该多个端口中的第一端口在第一传输介质上传送第一流的第一多个分组;确定第一传输介质的当前介质利用率超过第一阈值;基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于该多个传输介质的一个或多个路径特性和第一流的一个或多个特性;以及经由该多个端口中的第二端口在第二传输介质上传送第一流的第二多个分组;其中在所述选择第一流以供在第二传输介质上传送之后不再在第一传输介质上传送第一流的分组。
在一些实施例中,一种计算机可读存储器介质包括用于对多个传输介质进行负载平衡的程序指令,其中这些程序指令能被执行以:将第一流的第一多个分组路由至第一传输介质以供传输;确定第一传输介质的当前介质利用率超过第一阈值;基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于该多个传输介质的一个或多个路径特性和第一流的一个或多个特性;以及基于选择第一流以供在第二传输介质上传送而将第一流的第二多个分组路由至第二传输介质以供传输。
在一些实施例中,一种供第一设备来关联双向流的方法,该方法包括:在第一传输介质上从第二设备接收第一流的第一多个分组;确定第二流可以关联于第一流地来生成,其中该第二流用于传送给第二设备;存储指示第一流被指派到第一传输介质并且第二流与第一流相关联的信息;以及在第一传输介质上向第二设备传送第二流的第二多个分组;其中所述在第一传输介质上向第二设备传送第二流的第二多个分组是基于指示第一流被指派到第一传输介质并且第二流与第一流相关联的信息。
在一些实施例中,该方法进一步包括接收关于第二流可关联于来自第二设备的第一流地来生成的指示,其中所述确定第二流可关联于第一流地来生成是基于接收到关于第二流可关联于第一流地来生成的指示。
在一些实施例中,第二流的第二多个分组是响应于接收到第一流的第一多个分组而生成的。
在一些实施例中,第一多个分组包括TCP数据分组,其中第二多个分组包括TCP ACK分组。
附图简要说明
在结合以下附图阅读以下实施例的详细描述时可获得对本发明更好的理解,其中:
图1解说了根据一个实施例的包括多种联网技术的示例性通信网络;
图2是根据一个实施例的示例性设备的系统示图;
图3是解说根据一个实施例的实现多个联网接口的混合设备的示例性协议栈的概念图;
图4-7是解说根据一组实施例的用于经由多个传输介质来传送和接收流的方法的流程图;
图8是根据一个实施例的围绕流拆分/流聚集来解说传送设备与接收设备之间的消息流的通信示图;
图9是根据一个实施例解说根据不同场景的各种传输介质的假设链路容量的图表;
图10A-B是解说根据一个实施例的其中可实现流拆分/流聚集的场景的框图;
图11是解说根据一个实施例的可由接收设备用来维持对经聚集分组流的分组排序的环形缓冲器的示图。
虽然本发明容易有各种修改和替换性形式,但是其特定实施例作为示例在附图中示出并在本文中被详细描述。然而,应当理解,这些附图及其详细描述并不旨在将本发明限于所公开的具体形式,而是相反,其目的是要涵盖落在由所附权利要求所定义的本发明的精神和范围内的所有修改、等效、以及替换。
本公开的实施例的详细描述
术语
以下是本申请中使用的术语表:
存储器介质——各种类型的存储器设备或存储设备中的任一种。术语“存储器”和“存储器介质”旨在包括安装介质,例如,CD-ROM、软盘、或磁带设备;计算机系统存储器或随机存取存储器(诸如,DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM,等等);或者非易失性存储器(诸如闪存、硬件寄存器、磁介质(例如,硬盘驱动器)或光学存储)。存储器介质还可包括其他类型的存储器,或者其组合。术语“存储器介质”可包括两个或更多个存储器介质。
计算机系统——各种类型的移动或静止的计算或处理系统中的任一种,包括个人计算机系统(PC)、大型计算机系统、工作站、网络设施、因特网设施、移动电话、智能电话、膝上型设备、笔记本、上网本、或平板计算机系统、个人数字助理(PDA)、多媒体设备、或者其他设备或设备组合。一般而言,术语“计算机系统”可被宽泛地定义为涵盖具有至少一个执行来自存储器介质的指令的处理器的任何设备(或设备的组合)。
传输介质——能够被用来传送/接收通信的各种介质中的任一种,包括有线传输介质(诸如双绞线、光纤、电话连线、电连线等)或无线传输介质(诸如电磁谱等中各种有执照或无执照频带中的任一种)。短语“动态传输介质”可以更具体地指在短时间量上经受其PHY速率方面方面的显著改变的传输介质。802.11(WLAN/Wi-Fi)和电力线通信网络(PLC)是利用动态传输介质的联网技术的两个示例:相对不可预测的因素(诸如干扰、信道衰落、有噪条件及其他)可影响由802.11网络所使用的ISM频带和由PLC网络所使用的电连线两者。
流(Stream)——也被称为“流(Flow)”。如本领域技术人员一般所理解的,术语流可以指随时间变得可用的、共享一些共有特性的数据元素序列。作为一个示例,流的数据元素可具有相同的源和目的地IP地址和端口。在一些实施例中,该短语可用于指旨在一起使用(通常是按预计(例如顺序)次序来一起使用)的数据分组序列。例如,流可包括可被应用用来呈现视频的分组序列(例如,视频流)。
图1
图1解说了包括经由多个网络耦合的若干设备102a、102b、…102n的示例性混合网络100(例如,该多个网络中的每一个网络可利用不同的传输介质或者在一些情形中利用多个传输介质)。联网技术可包括Wi-Fi(例如,将2.4GHz、5GHz、和/或另一ISM频带用作其传输介质)、电力线通信(例如,将电连线用作其传输介质)、以太网(例如,使用双绞线、光纤、和/或其他有线传输介质)、和/或各种其他联网技术/传输介质中的任一种。应注意,虽然图1解说了一种可能的混合网络,但根据本公开的实施例,在各种安排中的任何安排中,可对所示的联网技术附加地或替换地使用其他联网技术。
图2
图2是配置成实现本公开的一个或多个实施例的电子设备200的一个实施例的框图。在一些实现中,电子设备200可以是台式计算机、膝上型计算机、平板计算机、移动电话、智能电器、电力线通信设备、游戏控制台、网络桥接设备、或包括被配置成跨多个通信网络进行通信的混合通信单元的其他电子系统之一。电子设备200包括处理器单元202(可能包括多个处理器、多个内核、多个节点、和/或实现多线程处理等等)。电子设备200包括存储器单元206。存储器单元206可以是系统存储器(例如,高速缓存、SRAM、DRAM、零电容器RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一者或多者)或者上面已经描述的机器可读介质的可能实现中的任何一个或多个。电子设备200还包括总线210(例如,PCI、ISA、PCI-Express、 NuBus、AHB、AXI等)、以及网络接口204,该网络接口204可包括无线网络接口(例如,WLAN接口、蓝牙接口、WiMAX接口、接口、无线USB接口等)和/或有线网络接口(例如,电力线通信接口、以太网接口等)中的一者或多者。在一些实现中,电子设备200可包括多个网络接口——每一个网络接口将电子设备200耦合至不同的通信网络。例如,电子设备200可包括电力线通信接口、以太网接口、和WLAN接口,它们分别将电子设备200与电力线通信网段、以太网和无线局域网相耦合。
电子设备200还包括通信单元208。通信单元208可包括混合控制实体212和混合桥接器214。混合控制实体212和混合桥接器214可被配置成执行与使用多个(可能动态的)传输介质来传送和/或接收流有关的数种技术中的任一种技术。例如,混合控制实体212和/或混合桥接器214可被配置成根据一组实施例来实现图4-7的方法中的任一种或者全部方法。这些功能性中的任一个功能性可以部分地(或者全部地)实现在硬件中和/或(例如,执行存储在诸如存储器单元206之类的存储器介质上的程序指令的)处理器单元202上。例如,该功能性可用专用集成电路来实现、在处理器单元202中所实现的逻辑中实现、在外围设备或卡上的协处理器中实现等。此外,诸实现可包括更少的组件或包括图2中未解说的附加组件(例如,视频卡、音频卡、附加网络接口、外围设备等)。处理器单元202、存储器单元206以及网络接口204被耦合至总线210。尽管被解说为耦合至总线210,但是存储器单元206也可耦合至处理器单元202。
图3
在一种实现中,如图3中所描绘的,混合设备102a…102n的联网功能性可使用与国际标准组织(ISO)开放系统互连(OSI)参考模型一致的“分层”办法来分成各个子功能。该组联网协议层可被称为“协议栈”。图3描绘了实现多个联网接口的设备102的示例协议栈。在图3的示例中,混合设备102包括两个通信接口。因此,混合设备102包括两个物理(PHY)层302和304以及两个对应的媒体接入控制(MAC)层306和308。MAC层306和PHY302层将设备102耦合到一个通信网段322(例如,以太网)。类似地,MAC层308和PHY层304将混合设备102耦合到另一个通信网段324(例如,电力线通信网络)。注意,通信网段322和324各自可以是扩展的桥接网络(诸如混合通信网络)的一部分。设备102包括网络层312。网络层312可实现网际协议版本4(IPv4)通信协议、网际协议版本6(IPv6)通信协议、通信协议或其它合适的网络层协议。设备102还在网络层312与MAC层306和308之间实现“混合适配层”310。在一个示例中,如图3中所描绘的,混合适配层310可包括混合控制实体212、混合桥接器214、和/或配置成实现本公开的实施例的其他模块。设备102还包括跨网络层312操作的传输层314。混合设备102可取决于由混合设备102实现的网络层协议来实现传输控制协议(TCP)、用户数据报协议(UDP)、和/或其他合适的传输层协议。混合设备102还包括可利用协议栈来与其他设备通信的三个应用316、318以及320。
在一些实现中,应用层(包括应用316、318和320)、传输层314和网络层312可被统称为“较高协议层”。MAC层306和308以及PHY层302和304可被统称为“较低协议层”。混合适配层310可用单组较高协议层(例如,用于所实现的每个较高层协议类型的单个网络层和传输层)但是用多个联网接口(例如,多个PHY层和MAC层)来实现用于管理混合设备102中的网络通信的功能性。在一种实现中,混合适配层310可与下面的MAC层306和308对接,以管理联网资源并做出对协议栈中的较高层而言透明的迅速分组路线改变。混合适配层310还可使得较高协议层能够如同源混合设备102仅包括单个MAC层和对应的单个PHY层那样来操作。注意,图3中描绘的协议栈解说了混合设备102的架构的一个实施例。在其他实现中,取决于可能实现的联网技术和可任选协议,(诸)混合设备102可包括其他合适的层或子层。例如,一些联网技术可实现MAC层之上的以太网汇聚层。作为另一示例,一些联网技术可包括逻辑链路控制(LLC)协议层。此外,在一些实现中,一个或多个其他子层可执行本文描述的功能性。
图4-8
图4-7是解说与使用多个传输介质的网络通信有关的若干方法的流程图。尽管以下关于图4-7所描述的各步骤是以特定次序示出的,但应当注意,根据各个实施例,这些步骤中的一个或多个步骤可被省略、重复、或以与所示次序不同的次序执行。还可以按需补充地或者替换地添加一个或多个附加步骤。在一些实施例中,一种或多种方法(或者一种或多种方法的一个或多个步骤)可彼此组合。
图4是解说供设备向第二设备传送流的方法的实施例的流程图。实现该方法的设备可经由多个传输介质耦合至第二设备;例如,在一些实施例中,第一和第二设备可以是图1中所示的设备中的两个设备。在一些实施例中,实现该方法的系统可以是诸如图2中所示并关于其描述的系统。该系统可实现诸如图3中所示并关于其描述的OSI协议栈。例如,在一组实施例中,该方法可例如被混合控制实体212和/或混合桥接器214实现在混合适配层310处。在其他实施例中,该方法可被实现在另一层或若干层处(例如,若干层中的每一层可实现该方法的元素)。该方法可如下执行。
在402,可确定多个传输介质中的每一者的路径特性。在一些实施例中,其中至少一个传输介质可以在本质上是显著动态的。例如,传输介质可包括Wi-Fi(例如,使用2.4GHz、5GHz、和/或另一ISM频带)、PLC(例如,使用电连线)、和/或一个或多个其他显著动态的传输介质,它们可取决于各种因素(例如,包括干扰、信道衰落、或其他因素)随时间推移在PHY速率方面变化。传输介质还可包括在本质上不是显著动态的一个或多个传输介质,即,其PHY速率随时间推移可以是基本静态且可预测的传输介质,诸如以太网。
根据一些实施例,针对每个传输介质确定的路径特性可包括每个传输介质的当前介质利用率、最大介质利用率、和/或一个或多个链路容量。根据一些实施例,当前介质利用率可以是传输介质繁忙的时间百分比。最大介质利用率可以是最大所准许介质利用率。例如,如果当前介质利用率高于最大介质利用率,则传输介质可被认为过度订阅或者超容量,这可触发一个或多个负载平衡决定。在一些实施例中,最大介质利用率可被设为小于100%,即,可维持一余量以便提供期望性能,例如计及个体流介质利用率上的可变性。换言之,由于个体分组流的介质使用率(个体流的“流介质利用率”)可随时间推移而变化,因此可能期望将最大介质利用率设为小于100%,以便通过在被调度成在该介质上传送的话务量超过支持该话务的介质容量之前将话务从该介质移开来避免负面地影响正在该传输介质上传达的流的性能。根据各种实施例,传输介质的最大介质利用率对于不同类型的传输介质/通信接口和/或取决于被调度成使用该传输介质的不同类型的流(例如,基于流内容、分组类型、和/或优先级等级)可以是不同的。传输介质的用于特定目的地的链路容量可以是该传输介质在源设备与目的地设备之间的可用数据承载容量。换言之,传输介质的链路容量是该传输介质在给定时间能向特定设备传送多少附加数据的度量,例如以每秒兆比特(Mbps)、每秒吉比特(Gbps)、或用于数据率的任何其他测量单位来计。在一些实施例中,可针对每个传输介质可接入的每个可能目的地估计链路容量。例如,根据一组实施例,如果设备被配置成使用PLC、Wi-Fi2.4GHz、或Wi-Fi5GHz中的任一者与两个其他设备通信,则可确定6个链路容量估计。在一些实施例中,链路容量可计及最大介质利用率、传输介质的PHY速率、以及差错率。在一些实施例中,其他因素可附加地或替换地被包括在链路容量计算/估计中。例如,在一组实施例中,传输介质的链路容量对不同类型的流(例如,取决于优先级和/或内容类型)可以是不同的,因为针对较高优先级流的链路容量计算可计及撤换掉较低优先级流的可能性。
应注意,在一些实施例中,可针对系统可用的所有传输介质(潜在地包括动态和静态传输介质两者)确定这些路径特性。除了这些路径特性以外(或者代替其中一个或多个路径特性),可针对其中一个或多个传输介质确定一个或多个其他特性(可能包括因介质而异的特性)。例如,在一些实施例中,可针对Wi-Fi连接确定有效介质利用率和链路容量。这些导出的路径特性可被调节以计及此类连接可包括通过接入点(例如,无线路由器)进行中继这一事实。另外,在一些实施例中,可确定每个传输介质上的个体流(例如,分组流)的使用特性。例如,在一些实施例中,可针对在传输介质上传送的每个流来确定估计流介质利用率。如上所述,流介质利用率可以是对流正使用传输介质到什么程度的度量(例如,时间百分比)。
在404,可基于所确定的路径特性为第一流从这多个传输介质中选择第一传输介质。第一流可以是“新”流,即,其分组尚未被传送的流。第一流可旨在传送给经由多个传输介质耦合至第一设备的第二设备。换言之,第二设备可以能够经由这多个传输介质中的任一者从第一设备接收第一流的分组。因此,第一设备可能需要确定要使用哪个传输介质(路径)来初始地向第二设备传送第一流的分组。
实际的路径选择算法可按多种方式中的任一种(例如取决于有多少传输介质可用以及每个传输介质当前有多少链路容量针对第一流的目的地设备)来使用所确定的路径特性。路径选择算法还可取决于第一流的流特性(例如,内容类型(视频、音频、其他、等等)、分组类型(例如,UDP、TCP等)、优先级等级(例如,低、中、高))。在一些情形中,这些流特性可自动地或手动地相关;例如,在一些实施例中,视频内容流可自动得到高优先级等级。其他自动或手动优先级相关也是可能的。
在一组实施例中,第一传输介质可基于在多个传输介质中具有最高可用链路容量而被选择。在一些实施例中,在具有充足的链路容量(例如,高于某个阈值的链路容量)来支持第一流的类型的附加流的多个传输介质中,第一传输介质可以是对于第一流的流类型而言优选的介质。
在一些实施例中,路径选择过程可包括确定针对多种流类型中的每一类型的优选传输介质次序。在一些实施例中,针对多种流类型中的每一类型的优选传输介质次序可主要应用于新流。例如,可使用该优选次序来将新流指派给传输介质,但一旦流已被指派给传输介质,则该流的分组就可继续无限期地在该介质上传送(例如,除非由于过度订阅或其他事件而被重新指派)。
在一个实施例中,流的归类可以是非常简单的;例如,UDP分组可被指派第一优选传输介质次序,而非UDP分组可被指派第二优选传输介质次序。在一些实施例中,可根本不执行基于类型的对流的分类或归类:在此类实施例中,所有类型的流可被等同地对待。然而,通常可能期望提供用于对流类型进行区分和分类的更大能力,以便取决于流特性来提供更广的服务质量范围,因此在一些实施例中,流可被分类成两个以上类别。
一般而言,可能优选将高优先级(例如,基于内容类型(例如,语音、视频、数据等)、分组结构(TCP、UDP等)、手动指派、或另一基础)的分组流指派给具有更高可靠性和/或更大链路容量的传输介质(例如,以便向高优先级流提供最佳性能)。然而,其他因素可补充地或替换地在确定针对给定流类型的优选传输介质次序中具有显著作用。
应注意,在一些实施例中,对针对不同流类型的优选传输介质次序的指派可基于路径特性的改变而频繁地更新。例如,如果传输介质的介质利用率显著增加和/或介质变得过度订阅,则该传输介质可降到针对一种或多种流类型的优选传输介质次序的底部,以避免将附加流指派给该传输介质,直至其介质利用率已降低并且其链路容量已增大(例如,由于一个或多个流完成了或已被重新指派给不同的传输介质)。
在一些实施例中,一旦第一传输介质已被选择用于传送第一流,则可存储指示第一流的后续分组应当被路由至第一传输介质以供传送的信息。
在406,可在第一传输介质上传送第一流的第一多个分组。取决于实施例,第一流的第一多个分组可个体地和/或以突发(即,以多个分组的群)来传送,其中在第一流的个体分组或分组突发之间潜在地具有在第一传输介质上传送的其他流的个体分组或分组突发。在步骤406,可基于选择了第一传输介质以供传送第一流而将第一流的第一多个分组路由至第一传输介质以供在第一传输介质上传送。在一些实施例中,该路由可具体地基于所存储的指示第一流的分组应当被路由至第一传输介质以供传送的信息。例如,在一些实施例中,当第一设备接收到第一流的新分组以供传送时,这些新分组中的将这些新分组标识为是第一流的部分的信息可与所存储的指示第一流的分组应当被路由至第一传输介质以供传送的信息相组合地用于确定这些新分组的路由。
在一些实施例中,例如在将第一流指派给第一传输介质之前和/或之后,一个或多个其他分组流可被指派给第一传输介质和/或这多个传输介质中的一个或多个其他传输介质并在其上传送。在一些实施例中,用于此类其他流的路径选择可按类似方式执行;例如,可维护一个或多个表或其他数据结构以跟踪这多个传输介质针对不同流类型而言的当前优选选择次序并跟踪哪些传输介质当前被指派给哪些活跃分组流。在一些实施例中,当分组流不再活跃时,所存储的与它们有关的信息可从(诸)表或(诸)其他数据结构中移除。
还应注意,在一些实施例中,指派给每个传输介质的一个或多个活跃分组流可具有不同的目的地址。例如,如上所述,在一些实施例中,每个传输介质可将实现该方法的设备耦合至多个其他设备。因此,可使用相同的传输介质将一个或多个流传送到不同目的地设备或许是可能的。
在408,可确定第一传输介质的当前介质利用率超过第一阈值。在一些实施例中,这可发生在第一多个分组(或第一多个分组的至少一部分)已在第一传输介质上传送之后,例如由于改变了的介质条件和/或有附加流已被指派给第一传输介质。例如,可确定当前介质利用率超过第一传输介质的最大介质利用率。如上所述,这在本文可被称为过度订阅事件,并且可指示第一介质被过度订阅。为了维持第一传输介质上的流的期望性能和服务质量,可能期望(部分地或完全地)将当前正在第一传输介质上传送的一个或多个流转移到另一传输介质。一般而言,可能优选在传输介质之间整体转移各个流,例如以避免与使用多个通信接口来传送流相关联的开销。然而,在一些环境中(例如,其中没有哪个可用传输介质有充足的链路容量来支持对当前正在第一传输介质上传送的任何流的整体传送),可能期望将流的传输拆分到两个或更多个通信接口之间。
在410a,可选择第一流以在第二传输介质上传送。可基于确定第一传输介质的当前介质利用率超过第一阈值而选择第一流以在第二传输介质上传送。在一些实施例中,用于选择第一流以在第二传输介质(例如,代替第一传输介质)上传送的过程可包含与初始路径选择过程的相似性。例如,正在第一传输介质(即,其被过度订阅)上传送的第一流和任何其他流的特性可在选择将第一流移到第二传输介质时被纳入考虑之中。类似地,第二传输介质以及这多个传输介质中的任何其他传输介质的特性可在选择第二传输介质以传送第一流时被纳入考虑之中。
在一些实施例中,选择将当前正在第一传输介质上传送的流以重新指派给不同传输介质的过程可包括确定正在第一介质上传送的每个流的流介质利用率。根据一组实施例,可优选地选择具有最大流介质利用率的流以供重新指派给另一传输介质。在另一组实施例中,可优选地选择将具有最小流介质利用率的流以供重新指派给另一传输介质。在一些实施例中,还可考虑流优先级;例如,在一些实施例中,可优选地选择具有最低优先级等级的流以供重新指派,或者可优选地选择具有最低优先级等级的流当中具有最大(或最小)流介质利用率的流以供重新指派。
在其他实施例中,补充或者代替流优先级和流介质利用率地,在确定要将哪个流重新指派给新传输介质时可考虑其他因素。例如,传输介质本身的特性可影响要选择哪个流以供重新指派。在一些实施例中,可用传输介质的特性可附加地或替换地在选择要将流重新指派给哪个新传输介质时被纳入考虑之中。例如,在选择流(例如,第一流)以供在新传输介质(例如,第二传输介质)上传送时以及在选择要在其上传送被选择进行重新指派的流(例如,第一流)的新传输介质(例如,第二传输介质)时这两者中,均可确定和考虑这多个传输介质中的每一者的当前链路容量。如上所述,在一些实施例中,可优选地选择具有最低优先级和/或最大流介质利用率的流以供重新指派。然而,如果不存在有充足的链路容量可用来添加具有最低优先级和/或最大流介质利用率的流的传输介质可用,则可选择具有较高优先级和/或较低流介质利用率的流以供重新指派。
在一组示例性实施例中,重新指派过程可如下执行。具有最大可用链路容量的传输介质可被选择以将流从第一传输介质重新指派到该传输介质。可确定所选传输介质是否具有充足的链路容量以用于(例如,作为流优先级、流介质利用率、或其他因素的结果而)优选地被选择以供进行重新指派的流。如果所选传输介质的确具有充足的链路容量以供用于该流,则该流可被重新指派到所选传输介质。如果所选传输介质不具有充足的链路容量以供用于该流,则可确定所选传输介质是否具有充足的链路容量以供用于下一个流。该过程可以此方式继续,直至选择了可接受的流以供重新指派给所选传输介质。如果没有可接受的流被选择以供整个地进行重新指派(例如,如果不存在具有充足的链路容量来支持当前正在第一传输介质上传送的任何流的可用传输介质,或出于另一原因),则该方法可替换地前进至步骤410b,以确定流是否可被部分地被重新指派,例如拆分/聚集。
在一些实施例中,可向第二设备提供关于第一流已被重新指派给第二传输介质的指示。该指示可包括控制消息(诸如一个或多个控制分组),或者可采取另一形式。替换地,在一些实施例中,可以不提供指示,并且第二设备可被配置成简单地基于在第二传输介质上接收到第一流的分组来确定第一流已被重新指派给第二传输介质。
在412a,可在第二传输介质上传送第一流的第二多个分组。可基于选择了第一流以供在第二传输介质上传送(例如,在410a中)而在第二传输介质上传送第一流的第二多个分组。在确定第一流应当在第二传输介质上传送(例如,作为第一传输介质的过度订阅以及基于第二传输介质的一个或多个路径特性和/或第一流的一个或多个流特性的选择算法的结果)之后,可存储指示第一流的后续分组应当被路由至第二传输介质的信息。例如,如果存在存储有指示每个活跃流被指派给哪个传输介质的信息的表或其他数据结构,则该表可被更新以指示第一流的分组应当被路由至第二传输介质。
在第一流已被重新指派给第二传输介质之后,第一流的分组可不再在第一传输介质上传送,例如基于指示第一流的分组应当被路由至第二传输介质的经更新的表或其他数据结构。取决于第一传输介质的过度订阅的程度,在第一流的重新指派之后,第一传输介质可不再是被过度订阅的。在此情形中,对流的进一步重新指派可能是不必要的,至少直至发生另一过度订阅事件(或传输介质失效,在这种情形中,正在该传输介质上传送的所有流可被重新指派给新传输介质)。然而,如果在第一流的重新指派之后,第一传输介质仍是被过度订阅的,则可发生另一过度订阅事件,这在一些实施例中可触发对另一流进行重新指派以使之离开第一传输介质。应注意,在一些实施例中,在由于过度订阅事件而将流从一传输介质移开与重新测量该传输介质的介质利用率之间可存在延迟(例如,可配置延迟)。这对于确保经更新的数据/统计被使用并且传输介质不会基于较旧的数据/统计而被不正确地确定为仍是被过度订阅的而言可能是期望的。
如上所述,根据一些实施例,如果没有哪个正在第一传输介质上传送的流能整个被重新指派给另一传输介质而不导致对另一传输介质的过度订阅,则可选择流以供在多个传输介质上传送。因此,在此类情形中,作为对步骤410a的替换方案,在410b中,可选择第一流以供在第一传输介质和第二传输介质两者上传送。因此,在一些实施例中,可基于确定第一传输介质的当前介质利用率超过第一阈值、并且还基于确定这多个传输介质中不存在具有充足的可用链路容量(例如,至该传输介质可接入的任何目的地设备)的替换传输介质以供当前正在第一传输介质上传送的任何流整个地在该替换传输介质上传送,来选择第一流以供在第一传输介质和第二传输介质两者上传送。
另外,在一些实施例中,可确定第二设备被配置成聚集流。在一些实施例中,该确定可基于在第一设备与第二设备之间传送的初始配置消息来作出。替换地,第一设备可询问第二设备,并接收指示第二设备被配置成聚集流的肯定响应,或者可简单地尝试拆分第一流而不确认第二设备聚集流的能力。然而,一般而言,可能优选在将第一流拆分在多个传输介质之间之前接收对第二设备聚集流的能力的确认。在一些实施例中,如果第一设备接收到关于第二设备未被配置成聚集流的指示,则第一设备可以不拆分第一流。在此情形中,可作出对负载平衡的尽力型尝试而不进行流拆分/聚集。替换地,正使用第一传输介质传送给一不同设备的流可被选择以进行拆分,例如,倘若该另一设备支持流聚集。
在一些实施例中,对要将流重新指派给哪两个传输介质的选择可以比选择流以重新指派给单个新传输介质更加复杂。如上所述,在传送设备处拆分流并在接收设备处聚集该经拆分流可引发显著的附加开销,并且与使所有流均完全在一个传输介质或另一个传输介质上传送相比,可能是对个体传输介质的低效率使用。然而,在难以或不可能以容适所有活跃流而不导致至少一个传输介质的过度订阅的方式对多个传输介质进行负载平衡的情景中,这种方式可能比其他选项更优选,因为它可给出整体而言更高效率地使用这多个传输介质的机会。
在一些实施例中,用于确定要将流重新指派给哪两个传输介质的选择过程、以及对要重新指派的流的选择可包括使用许多与在选择传输介质和选择流以供在无需拆分的情况下进行重新指派时所使用的相同的特性。例如,在选择第一流以重新指派给第一和第二传输介质两者时,可确定并使用各个传输介质的链路容量以及正在第一传输介质上传送的个体流的流介质利用率和/或类型(例如,优先级)。在一组示例性实施例中,具有最高链路容量的两个传输介质可被选择以将流重新指派给它们。在另一组实施例中,第一传输介质可被自动选择以继续传送被选择用于重新指派的流的一部分,并且其余传输介质中具有最高链路容量的传输介质可被选择作为第二传输介质。可按需替换地使用其他用于选择要将流重新指派给哪两个传输介质的过程。
应注意,在一些实施例中,可能不期望将单个流拆分在三个或更多个传输介质之间,因为这种附加拆分和聚集所引起的增加的开销可能不是期望的或必要的。例如,如果通过将一个流拆分在两个传输介质之间不能达成成功的负载平衡,则可能期望将第二流拆分在两个(例如,其他的)传输介质之间而非将单个流拆分在三个或更多个传输介质之间。然而,如果需要,则可执行将流拆分在三个或更多个传输介质之间的操作。
如上所述,在一些实施例中,选择流以供拆分和重新指派给多个传输介质可以基于流的特性和/或传输介质的特性。例如,在一组实施例中,在已选择了具有最高链路容量的两个传输介质以向其重新指派流的情况下,要被重新指派的流可基于其流介质利用率和/或其优先级来选择。因此,在一组实施例中,可从具有最低优先级等级的诸流当中选择流(例如,第一流),并且该流可以是具有最低优先级等级的诸流当中具有能被所选传输介质容适的最高流介质利用率的流。替换地,例如,如果不能找到具有较低优先级的可接受流,则可从具有较高优先级等级的诸流当中选择流,并且该流可以是具有此较高优先级等级的诸流当中具有能被所选传输介质能容适的最高流介质利用率的流。其他各组实施例可按需利用不同的选择准则和/或按不同方式使用相同的选择准则;例如,在另一组实施例中,可优选地选择具有最小流介质利用率的流,具有较高优先级的流可免于进行拆分(或任何形式的重新指派),和/或具有最低优先级的流可被选择而不管其是否能被所选传输介质容适,例如以作为对负载平衡的尽力型尝试。
在一些实施例中,一旦已选择了流进行重新指派,则可执行进一步计算以确定如何最佳地将该流(例如,第一流)拆分在所选传输介质(例如,第一和第二传输介质)之间。例如,可能期望以避免任一传输介质的过度订阅的方式来确定第一流中要被路由至第一传输介质的分组比例和第一流中要被路由至第二传输介质的分组比例。在一组实施例中,该计算可包括确定第一传输介质的当前介质利用率超过其最大介质利用率的量,并选择要用来拆分第一流的比率,该比率至少将第一传输介质的当前介质利用率超过其最大介质利用率的该量重新指派给第二传输介质。
在412b,可使用第一传输介质和第二传输介质两者来传送第一流的第二多个分组。使用第一传输介质和第二传输介质两者来传送第一流可包括在第一传输介质上传送第二多个分组的第一部分以及在第二传输介质上传送第二多个分组的第二部分。在一些实施例中,可在第二多个分组的第一部分和第二部分之间维持一配置成避免第一或第二传输介质的后续过度订阅的比率(例如,近似的或精确的比率)。
如同在其他流重新指派情景中那样,在一些实施例中,指示被选择进行拆分/聚集的流的分组要被路由至所选传输介质的信息可基于选择该流和那些传输介质而被存储。另外,在一些实施例中,指示要用来拆分所选流的比率的信息可被存储。该信息可存储在表或其他数据结构中;例如,在一些实施例中,先前存储的指示所选流的先前传输介质指派的信息可被更新以指示所选流的新传输介质指派和比率。
在一些实施例中,还可向第二设备提供关于第二多个分组正使用第一和第二传输介质两者来传送的指示。在一组实施例中,包括聚集指令的控制消息(例如,包括聚集缓冲器的推荐大小)可由第一设备传送给第二设备,从而指示第二多个分组正使用第一和第二传输介质两者来传送。这可允许第二设备发起聚集缓冲器和/或执行其他用于聚集第一流的技术。在一些实施例中,旨在帮助第二设备聚集第一流的一种或多种技术也可被执行。
在一个实施例中,可将序列号插入第一流的分组中,例如,倘若第一流尚未包括序列号。序列号可辅助第二设备重新排序经拆分流。虽然TCP和RTP分组流可固有地包括分组序列号,但UDP分组流可能并非固有地包括可由第二设备访问且可用来重新排序经拆分流的序列号。因此,在一些实施例中,可例如通过分组封装(例如,转换成TCP)、将序列号插入冗余字段(诸如在一些实施例中为VLAN标签)、或通过另一手段来将序列号插入第一流的分组中。
替换地或附加地,在一些实施例中,可在每个传输介质上的突发开始处插入切换标记分组。切换标记分组可指示在传输介质上传达的流的一部分(“突发”)的开始。因此,在一个传输介质上传达的“流开始”标记分组可指示(根据预计分组排序)该流的下一部分正在该传输介质上传达。在一些实施例中,每个流开始标记分组可包括指示关于将要在该传输介质上传送的突发大小的信息。这可允许接收机确定该突发何时完成,并由此有可能确定何时应预期下一突发会出现在不同传输介质上。
如上所述,在一些实施例中,流拆分/聚集可按维持该流在每个传输介质上传送的比例的比率的方式来执行。完成此举的一种手段可以是在每个传输介质上使用不同的突发大小,其中突发大小是根据该比率来配置的。例如,如果期望有21:33的比率,则有21个(或21的倍数,诸如42个)分组的分组突发可在第一传输介质上传送,而有33个(或33的倍数,诸如66个)分组的突发可在第二传输介质上传送。
在一些实施例中,还可使用“流结束”标记分组。例如,在一些实施例中,流开始标记分组可以不包括指示在该传输介质上传送的突发大小的信息,但可在突发结束时传送流结束标记分组以向接收机指示该突发完成了(例如,以及指示在当前时间该流没有进一步分组正在该传输介质上传达)。然而,在一些实施例中,使用流结束标记分组可能不是期望的,因为其可代表相对于简单地在流开始标记分组中包括突发大小信息而言不必要地添加了开销。
由此,在一组实施例中,可在第二多个分组的第一部分的开始处插入流开始标记分组(并且在一些实施例中,可在第二多个分组的第一部分的结束处插入流结束标记分组)。类似地,可在第二多个分组的第二部分的开始处插入流开始标记分组(并且在一些实施例中,可在第二多个分组的第二部分的结束处插入流结束标记分组)。切换标记分组可向第二设备指示如何根据预计流分组次序来重新组合第二多个分组,以使得在接收之后,第二多个分组的第一部分和第二部分(以及任何后续流部分,其可类似地包括流开始标记分组以及可能还有流结束标记分组,只要该流正被拆分)可按其预计次序被重新组合而不管它们是否按次序被接收。
如上所述,相对于将流完全在单个传输介质上传送,流拆分和聚集可引发附加的开销。因此,在一些实施例中,可能期望监视各个传输介质的链路容量和各个流的流介质利用率,以便在有充足的链路容量变得可供用于将经拆分流完全在单个传输介质上传送时重新合并经拆分流。例如,在一组实施例中,可在后续时间确定传输介质(例如,第一传输介质,或另一传输介质)具有充足的可用链路容量以供用于将第一流完全在该传输介质上传送。在此类情形中,第一流可完全被重新指派给该传输介质,并且第一流的第三多个分组可在该传输介质上传送,其全部都可在新选择的传输介质上传送。
图5是解说供设备在多个传输介质上从第二设备接收第一流的方法的流程图。根据一些实施例,图5的方法步骤可对应于响应于发射机侧动作(诸如图4中所示并参照图4描述的)的至少一些接收机侧动作。具体而言,图5可涉及得到关于将流拆分在两个传输介质之间的发起和/或终止的提醒的过程、以及由接收机采取的可能动作以确保对经拆分流的成功聚集和正确分组排序。
实现该方法的设备可经由多个传输介质耦合至第二设备;例如,在一些实施例中,第一和第二设备可以是图1中所示的两个设备。在一些实施例中,实现该方法的系统可以是诸如图2中所示并关于其描述的系统。该系统可实现诸如图3中所示并关于其描述的OSI协议栈。例如,在一组实施例中,该方法可例如由混合控制实体212和/或混合桥接器214在混合适配层310实现。在其他实施例中,该方法可实现在另一层或若干层(例如,若干层中的每一层可实现该方法的元素)处。该方法可如下地执行。
在502,可在第一传输介质上从第二设备接收第一流的第一多个分组。第一多个分组可全部在第一传输介质上被接收。换言之,第一流可初始完全在单个传输介质上被接收。
在504,可从第二设备接收关于第一流将在第一传输介质和第二传输介质两者上传送的指示。该设备可存储指示第一流将在第一传输介质和第二传输介质两者上传送的信息。在一些实施例中,接收该指示还可触发聚集缓冲器的发起,以确保在第一和第二传输介质上接收的分组的分组排序不被损害。
在506,可使用第一传输介质和第二传输介质两者从第二设备接收第一流的第二多个分组。第二多个分组的第一部分(例如,第一突发)可在第一传输介质上被接收,而第二多个分组的第二部分(例如,第二突发)可在第二传输介质上被接收。
在一些实施例中,第一流的分组可按交替方式(例如,交替的突发)在第一和第二介质上被接收。正因如此,有可能且甚至很可能偶尔有分组将不是按其预计分组排序被接收。换言之,在一些实施例中,第一流的第二多个分组的至少一部分可能按与预计次序不同的次序被接收。在此类情形中,可执行一个或多个进一步的步骤,例如以便重新排序接收到的分组。
在508和510,可确定第二多个分组的预计次序,并且可根据第二多个分组的预计次序来对第二多个分组进行重新排序。在许多实施例中,各部分分组可能内部的排序可能是正确的。因此,在一些实施例中,可提供用于重新排序(重新组合)经由不同传输介质接收到的第一流的各部分的机制。如上所述,在一组实施例中,这可包括聚集缓冲器。聚集缓冲器的本质和大小可根据不同实施例而变化。在一些实施例中,从第二设备接收到的指示可包括例如基于第一流和/或第一和第二传输介质的特性的推荐聚集缓冲器大小。
一些聚集缓冲技术可利用分组序列号。相应地,在一些实施例中,第一流的分组可包括序列号。一些类型的流(例如,TCP、RTP)可固有地包括能被用来进行分组重新排序的序列号。一些其他类型的流(例如,UDP)可能并非固有地包括序列号。在此类情形中,可例如通过封装流分组、或将序列号插入冗余字段(例如在一些实施例中为VLAN标签)、或通过另一手段来将序列号插入流分组中。
在一组实施例中,聚集缓冲器可以是环形缓冲器。发起和维护环形缓冲器可包括确定并维护基序列变量,其可以是指向下一个供处理的分组的指针(例如,基于该分组的分组序列号)。新接收到的分组可基于其序列号被存储在缓冲器中相对于基序列指针而言恰适的缓冲器位置处,并且分组可被处理且基序列变量可恰适地被更新。
使用如刚才描述的分组序列号和环形缓冲器可以是用于确保第一流可被聚集成其预计分组排序而不管第一流是否有一些分组是被脱序地接收的一种可能技术。然而,如上所述,并非所有类型的流都固有地包括序列号,且在此类情形中人为地插入序列号可能是繁重的并且可潜在地造成附加问题。例如,在一些实施例中,封装分组以添加序列号可能使分组增大到超过交换机所支持的大小,而将标签插入冗余字段中可能要求附加的复杂性并且潜在地因将字段用于非预计目的而造成歧义性。
作为一种可能的替换方案(例如,对于并非固有地包括序列号的流、或者一般地对于所有流),在一些实施例中,可在第一流中将切换标记分组恰好插入在第一流的分组传输从一个传输介质移至另一个传输介质之前(以及在一些实施例中为在此之后)。切换标记分组可指示正在传输介质上传达的流部分的开始或结束。因此,在一个传输介质上传达的“流开始”标记分组可指示该流的下一部分(根据预计分组排序)正在该传输介质上传达。类似地,“流结束”标记分组可指示在当前时间该流没有进一步分组正在该传输介质上传达。
由此,在一组实施例中,可在第二多个分组的第一部分的开始处接收流开始标记分组,并且可在第二多个分组的第一部分的结束处接收流结束标记分组。类似地,可在第二多个分组的第二部分的开始处接收流开始标记分组,并且可在第二多个分组的第二部分的结束处接收流结束标记分组。切换标记分组可向该设备指示如何根据预计流分组次序来重新组合第二多个分组,以使得在接收之后,第二多个分组的第一部分和第二部分(以及任何后续的流部分,其可类似地包括流开始和流结束标记分组,只要该流正被拆分)可按其预计次序被重新组合而不管它们是否按次序被接收。
例如,在一些实施例中,可能在第二多个分组的第一部分的一些分组和流结束标记分组在第一传输介质上被接收之前,在第二传输介质上接收流开始标记分组和第二多个分组的第二部分的一些分组,尽管在第一流的预计排序中,第二多个分组的第二部分可能是在第二多个分组的第一部分之后。在此情形中,第二多个分组的第二部分的任何过早地被接收的分组可被缓冲在聚集缓冲器中,直至第二多个分组的第一部分的所有分组都被接收和处理。在一些实施例中,第二多个分组的整个第一部分已被接收这一事实可通过在第一传输介质上接收到流结束标记分组来指示。此时,所缓冲的分组可被转发给协议栈的下一层进行处理,以使得第二多个分组可按预计次序被处理。
当然,也有可能在一些情形中,流结束标记分组可能例如由于某种差错而没被接收到。在此情形中,可存在超时参数(例如,基于实际时间或基于缓冲器大小(充满))以避免无限地等待最终将不会在第一传输介质上接收到的进一步分组。
在另一组实施例中,可使用流开始标记分组但并不同时使用流结束标记分组。例如,如以上关于图4所述,在一些实施例中,在特定传输介质上接收到的流开始标记分组可包括指示即将在该传输介质上传送的突发的突发大小的信息。在此情形中,接收机可以能够基于流开始标记分组中的突发大小信息来确定何时发生了突发结束(例如,在已经接收到由流开始标记分组中的突发大小信息所指示的数目个分组时)。
因此,在一些实施例中,可在第一传输介质上接收第一流的第一流开始标记分组。第一流开始标记分组可包括指示第一突发大小的信息。随后可在第一传输介质上接收第一流的第一分组突发(例如,具有第一突发大小)。
还可在第二传输介质上接收第一流的第二流开始标记分组。第二流开始标记分组可包括指示第二突发大小的信息。随后可在第二传输介质上接收第一流的第二分组突发(例如,具有第二突发大小)。
在一些实施例中,可在第一传输介质上接收第一突发的第一部分之后且在第一传输介质上接收第一突发的第二部分之前,在第二传输介质上接收第二突发的第一部分。在此情形中,在接收第二突发的第一部分时,可基于指示第一流开始标记分组中的第一突发大小的信息来确定第一突发的第二部分尚未被接收。基于此,在第一突发的第一和第二部分被处理的同时第二突发的第一部分可被存储在缓冲器中,并且第二突发的第一部分可在对第一突发的第二部分的处理已完成之后被处理(例如,由于在预计流排序中,第一突发的所有分组可在第二突发的任何分组之前)。
将注意,在一些实施例中,诸如当如上所述地使用切换标记分组时,可能无需将聚集缓冲器实现为环形缓冲器,尽管若需要仍可将聚集缓冲器实现为环形缓冲器。
应注意,虽然以上主要将切换标记分组描述为用在流拆分/聚集的情形中,但切换标记分组可补充地或替换地用在流重新指派情景中,其中诸流被整个地转移到新传输介质。
图6是解说供设备将流切换到新传输介质的方法的流程图。图6的方法可主要用在“故障转移”情景中,即,其中一传输介质已失效(即,已经历通信能力的显著或全部丧失)的情景。然而,图6的方法的部分或全部可补充地或替换地用在正常的负载平衡情景中,即,其中原始传输介质和新传输介质两者都能够被用于通信。
实现该方法的设备可经由多个传输介质耦合至第二设备;例如,在一些实施例中,第一和第二设备可以是图1中所示的设备中的两个设备。在一些实施例中,实现该方法的系统可以是诸如图2中所示并关于其描述的系统。该系统可实现诸如图3中所示并关于其描述的OSI协议栈。例如,在一组实施例中,该方法可例如由混合控制实体212和/或混合桥接器214在混合适配层310处实现。在其他实施例中,该方法可实现在另一层或若干层处(例如,若干层中的每一层可实现该方法的元素)。该方法可如下地执行。
在602,可接收旨在传送给第二设备的第一流。第一流(例如,第一流的分组)可接收自较高协议层。
在604,可在第一传输介质上将第一流的第一多个分组传送给第二设备。第一多个分组可包括一个或多个索引标记分组。每个索引标记分组可包括索引号。例如,在一些实施例中,初始索引标记分组可具有索引号1(或按需地为任何其他数字),并且每个后续索引标记分组可具有相对于在它前面的索引标记分组中的索引号递增了1的索引号。索引标记分组可被插入第一流中。索引标记分组可以有规律或无规律的间隔被插入第一流中。在一组实施例中,索引标记分组可按需每n个分组地被插入第一流中,其中n可以是50、100、1000、5000、或任何其他数字。在一些实施例中,n的值可以不是固定的,并且可在一些间隔上或甚至在每个间隔上变化。
在606,第一流的第一多个分组的第一部分可被存储在缓冲器中。在一些实施例中,第一流的分组的至少一部分可(例如,暂时地)被存储在传送缓冲器中。在一些实施例中,索引标记分组也可被存储在传送缓冲器中。
在608,可确定第一多个分组的至少一部分可能尚未被第二设备接收到。在一些实施例中,传输介质(或利用特定传输介质的接口)可偶尔暂时或永久地失效。如本文所使用的,传输介质的失效旨在指其中由于通信能力的(暂时或永久的)显著或完全丧失致使流不可再在该传输介质上传送的情景。因此,如果确定第一传输介质已失效,则可推论第一多个分组的至少一部分可能尚未被第二设备接收到。
如果第一传输介质失效,则被指派给第一传输介质的每个流可被重新指派到新传输介质。在一些实施例中,该选择过程可类似于以上关于图4描述的负载平衡新传输介质选择过程。例如,可考虑第一流(以及可能还有其他流)以及一个或多个可用传输介质的特性以确定哪个(或哪些)传输介质可最佳地容适第一流(以及可能还有其他流)。在一些实施例中,可确定第一流应当被重新指派到第二传输介质。
由于第一多个分组中的一些分组可能尚未被第二设备接收到,因此可确定存储在传送缓冲器中的分组的至少一部分应当被重传。另外,在一些实施例中,可在重传的分组的开始和结束处在第二传输介质上将缓冲器标记分组传送给第二设备,以向接收机指示“所强调的”分组(即,在缓冲器开始标记分组与缓冲器结束标记分组之间的那些分组)可能重复先前传送的分组(例如,作为第一多个分组的部分在第一传输介质上传送的分组)。
在一些实施例中,缓冲器开始标记分组可包括标识索引标记分组以及指示缓冲器开始标记分组在第一流中相对于所标识的索引标记分组而言的位置的信息。例如,在一些实施例中,流的缓冲器开始标记分组可包括该流中的处在缓冲器中的第一分组之前的最后一个索引标记分组的索引号、以及该流中处在该索引标记分组与缓冲器中的第一分组之间的分组的数目。这可允许第二设备标识并丢弃任何重复分组,而不管索引标记是否是以有规律的(例如,可预测的)间隔被插入的,因为第二设备可能仅需要跟踪一个或多个近期接收到的索引标记分组索引号和自那一个或多个近期接收到的索引标记分组起接收到的分组的数目。
在一些实施例中,缓冲器开始标记分组还可包括指示缓冲器大小的信息。例如,并非传送缓冲器结束分组,而是简单地向接收机指示缓冲器的大小(例如,分组数目)可能是有利的,这可使得接收机能确定何时已接收到缓冲器的全部。这对于避免在缓冲器结束分组中体现的附加开销而言可能是期望。
应注意,在一些实施例中,可以不使用缓冲器标记分组,因为在一些实施例中,索引标记分组可(例如,在以有规律的间隔被插入的情况下)提供充分的基础供第二设备确定是否已接收到重复分组并且标识和丢弃此类重复分组。
在610,可在第二传输介质上将第一流的第二多个分组传送给第二设备。第二多个分组可包括第一多个分组的至少子集,并且还可包括这一个或多个索引标记分组的至少子集。例如,第二多个分组可包括被存储在了传送缓冲器中的那些分组(包括任何索引标记分组)(它们也是第一多个分组的部分)。换言之,第二多个分组可包括与第一多个分组中的一些分组的重复。如上所述,这对于避免分组丢失而言可能是期望的,因为可能已确定第一多个分组可能并非全部都已被第二设备接收到。然而,还可能期望向第二设备提供相对简单的用于标识和移除在第一传输介质和第二传输介质两者上皆被成功接收到的分组(即,其重复副本)的手段。
如上所述,可在第二传输介质上将缓冲器结束标记分组传送给第二设备。可在传送第二多个分组中所包括的第一多个分组的该至少子集之后将缓冲器结束标记分组传送给第二设备。换言之,可在所有被缓冲的分组都已被重传之后将缓冲器结束标记分组传送给第二设备,例如以便向第二设备指示所有被缓冲的分组(即,其可能重复在第一传输介质上传送的第一多个分组中的分组)都已被传送并且后续分组不会重复先前传送的分组。
在被缓冲的分组结束之后,还可在第二传输介质上将第一流的附加分组(即,非重复分组)传送给第二设备。在一些实施例中,附加分组可被用于调节(例如,自扼流)对重复缓冲器中的分组的传送。例如,在一组实施例中,可接收第一流的附加分组以供传送给接收机。该附加分组可被存储在缓冲器中(例如,在缓冲器尾部)以供在第二多个分组之后传送。基于接收到第一流的附加分组以供传送给接收机,来自缓冲器头端的预选数目个分组随后可在第二传输介质上被重传。换言之,附加分组可被用作从缓冲器释放分组的自动定时器机制,以避免在短时间量里用潜在大量的分组(例如,可能由于第一传输介质的失效而需要重传的那些分组)使接收机过载。应注意,此类自扼流机制可以是可任选的和/或可替换地(或附加地)实现在接收机中,如关于图7描述的。
如上所述,在一些实施例中,可以不传送缓冲器结束标记分组。在该情形中,缓冲器开始分组可包括指示缓冲器大小的信息,在此情形中缓冲器结束分组将是无关紧要的。替换地,在一些实施例中,可能不存在提供给第二设备的关于被缓冲的分组的重传已完成的指示。例如,如果索引标记分组以有规律的间隔被插入第一流中,则它们可提供充分的基础供第二设备标识和丢弃任何重复分组而完全无需缓冲器结束(或者在一些实施例中为缓冲器开始)标记分组。
图7是解说供设备移除从第二设备接收到的重复分组的方法的流程图。图7的方法可主要用在“故障转移”情景中,即,其中传输介质已失效(即,已经历通信能力的显著或全部丧失)的情景。然而,图7的方法的部分或全部可补充地或替换地用在正常的负载平衡情景中,即,其中原始传输介质和新传输介质两者都能够被用于通信。
实现该方法的设备可经由多个传输介质耦合至第二设备;例如,在一些实施例中,第一和第二设备可以是图1中所示的设备中的两个设备。在一些实施例中,实现该方法的系统可以是诸如图2中所示并关于其描述的系统。该系统可实现诸如图3中所示并关于其描述的OSI协议栈。例如,在一组实施例中,该方法可例如由混合控制实体212和/或混合桥接器214在混合适配层310处实现。在其他实施例中,该方法可实现在另一层或若干层处(例如,若干层中的每一层可实现该方法的元素)。该方法可如下地执行。
在702,可在第一传输介质上接收第一流的第一多个分组。第一多个分组可包括一个或多个索引标记分组。每个索引标记分组可包括索引号。例如,在一些实施例中,初始索引标记分组可具有索引号1(或按需地为任何其他数字),并且每个后续索引标记分组可具有相对于在它前面的索引标记分组中的索引号而言递增1的索引号。索引标记分组可以有规律的或无规律的间隔地位于第一流中。在一组实施例中,索引标记分组可按需每n个分组地位于第一流中,其中n可以是50、100、1000、5000、或任何其他数字。在一些实施例中,n的值可以不是固定的,并且可在一些间隔上或甚至在每个间隔上变化。
在704,可存储指示在第一传输介质上接收到的在第一流中的最后一个索引标记以及自该最后一个索引标记起在第一传输介质上接收到的第一流的分组的数目的信息。在一些实施例中,例如,如果索引标记以相对短和/或无规律的间隔来定位,则可存储指示多个先前接收到的索引标记分组的索引号的信息,可能还连同指示在那些索引标记分组之间接收到的分组的数目的信息。
在706中,可在第二传输介质上接收缓冲器开始标记分组。在一些实施例中,缓冲器开始标记分组可包括标识索引标记分组并指示缓冲器开始标记分组在第一流中相对于所标识的索引标记分组而言的位置的信息。例如,在一些实施例中,流的缓冲器开始标记分组可包括该流中的处在缓冲器中的第一分组之前的最后一个索引标记分组的索引号、以及该流中处在该索引标记分组与缓冲器中的第一分组之间的分组的数目。这可允许第二设备标识并丢弃任何重复分组,而不管索引标记是否是以有规律的(例如,可预测的)间隔被插入的,因为第二设备可能仅需要跟踪一个或多个近期接收到的索引标记分组索引号和自那一个或多个近期接收到的索引标记分组起接收到的分组的数目。在一些实施例中,缓冲器开始标记分组还可包括指示缓冲器大小的信息。
在708,可在第二传输介质上接收第一流的第二多个分组。第二多个分组可包括第一多个分组的至少子集,并且可包括这一个或多个索引标记分组的至少子集。例如,第二多个分组可包括由第二设备存储在传送缓冲器中的分组(包括任何索引标记分组)(它们也是第一多个分组的部分)。换言之,第二多个分组可包括第一多个分组中的一些分组的重复。
在一些实施例中,还可由第一设备在第二传输介质上接收缓冲器结束标记分组。缓冲器结束标记分组可由第一设备在接收第二多个分组中所包括的第一多个分组的该至少子集之后接收。换言之,缓冲器结束标记分组可在所有被缓冲的分组都已被接收之后由第一设备接收,并且可向第一设备指示所有被缓冲的分组(即,其可能重复在第一传输介质上接收的第一多个分组中的分组)都已被传送并且后续分组不会重复先前传送了的分组。然而应注意,在一些实施例中,缓冲器结束标记分组可能不是必要的或期望的,例如,倘若缓冲器开始标记分组包括了指示正被传送的缓冲器的大小的信息。在此情形中,接收机可以能够基于缓冲器开始标记分组中所包括的信息来确定何时已接收到该缓冲器的全部。这对于避免在缓冲器结束分组中体现的附加开销而言可能是期望。
在被缓冲的分组之后,第一流的附加分组(即,非重复分组)也可由第一设备在第二传输介质上接收。在一些实施例中,附加分组可被用于调节(例如,自扼流)对被缓冲的分组的处理(例如,向较高协议层的转发),例如,倘若在短时间量里接收到大量分组。这对于避免使一个或多个较高协议层过载(这可潜在地导致分组丢失)而言可能是期望的。
例如,在一组实施例中,第二多个分组中的至少一些分组可例如在处理之前被存储在接收缓冲器中。第一流的附加分组可在第二传输介质上被接收,并且可被存储在接收缓冲器的尾端。基于接收到第一流的附加分组,来自接收缓冲器头端的预选数目个分组可被处理(例如,转发给较高协议层)并从该缓冲器头端移除。由此,在一些实施例中,附加分组可被用作从缓冲器释放分组的自动定时器机制。根据一组实施例,每个进一步的附加分组的接收可使得从接收缓冲器头端释放附加的预选数目个分组,直至接收缓冲器为空。
另外应注意,在一些实施例中,可以根本不使用缓冲器标记分组,因为在一些实施例中,索引标记分组(例如,在以有规律的间隔被插入的情况下)可提供充分的基础供第二设备确定是否已接收到重复分组并且标识和丢弃此类重复分组。
在710,可确定在第一传输介质上接收到的第一多个分组或在第二传输介质上接收到的第二多个分组中的一个或多个分组是重复分组。确定在第一传输介质上接收到的第一多个分组或在第二传输介质上接收到的第二多个分组中的一个或多个分组是重复分组可以至少部分地基于这一个或多个索引标记分组。在一些实施例中,该确定可部分地基于所存储的指示在第一传输介质上接收到的第一流的最后一个索引标记分组以及自在第一传输介质上接收到的第一流的此最后一个索引标记分组起在第一传输介质上接收到的第一流的分组的数目的信息来作出。例如,如果索引标记分组是以有规律的间隔被插入的,则将在第二传输介质上接收到的第一索引标记分组以及在接收该索引标记分组之前在第二传输介质上接收到的分组的数目与在第一传输介质上接收到的最后一个索引标记分组以及自该索引标记分组起在第一传输介质上接收到的分组的数目作比较可提供关于是否存在任何重复分组、及存在多少重复分组、以及哪些分组是重复分组的指示。然而,该过程可能要求等待直至在第二传输介质上接收到索引标记分组,这可能是低效率的。
替换地,如果缓冲器开始标记分组在第一流的任何内容分组之前在第二传输介质上被接收到,则缓冲器开始标记分组中标识其在该流中的位置的信息可被用来立即检测重复分组的存在。例如,在一些实施例中,所存储的指示在第一传输介质上接收到的最后一个索引标记分组以及自该最后一个索引标记分组起在第一传输介质上接收到的分组的数目的信息可与指示该缓冲器开始标记分组在第一流中相对于最新近的索引标记分组而言的位置的信息进行比较以确定第一多个分组或第二多个分组中是否有任何分组互为重复分组。
在712,可丢弃所确定的重复分组。按需要,丢弃的重复分组可以是这些重复分组的在第一或第二传输介质中任一者上接收到的副本。在一组实施例中,如果在已接收到缓冲器开始标记分组之后继续在第一传输介质上接收到第一流的分组,并且那些分组是在此缓冲器开始标记分组在流分组排序中的位置之后,则那些分组可被丢弃(例如,由于可假定它们将在第二传输介质上被重传)。另一方面,如果在接收到缓冲器开始标记分组时,在第一传输介质上第一流的分组已被接收到直至越过了此缓冲器开始标记分组在流分组排序中的位置的点处,则在第二传输介质上接收到的第一流的分组可被丢弃直至接收到非重复分组(即,尚未在第一传输介质上接收和处理的分组)。在该点,第一流可被完全地切换到第二传输介质。在一些实施例中,可继续存储指示在第二传输介质上近期接收到的一个或多个索引标记分组以及自那些近期接收到的索引标记分组起或在它们之间接收到的分组的数目的信息,例如,以防在稍后的时间进一步将第一流重新指派给新传输介质。
图8-11和附加考虑
图8-11及与之联合地提供的以下细节以及附加考虑涉及可根据图4-7的方法来使用的具体示例性实现。然而,如本领域技术人员将认识到的,可根据图4-7的方法使用任何数目的不同实现(包括不同实现细节),且相应地,以下考虑整体而言不应被认为限定本公开。
图8
图8是根据一个实施例的围绕流拆分/流聚集来解说传送设备与接收设备之间的消息流800的通信示图。
初始,可由传送设备检测过度订阅事件。该设备(例如,在混合联网层中操作的混合控制实体,诸如图2中所示的混合控制实体212,或另一系统元件)可决定要拆分流。该设备可例如通过向接收设备传送指示要拆分流的决定的控制分组来通知接收设备。接收设备(例如,在混合联网层中操作的混合桥接器,诸如图2中所示的混合桥接器214,或另一系统元件)可接收这些控制分组并确认收到这些控制分组,这些控制分组可包括聚集指令(诸如推荐聚集缓冲器大小等)。
在一些实施例中,由传送设备用来确定对新接收到的分组(包括被选择进行拆分的流的那些分组)的路由的路由表可根据要拆分该流的决定而被更新。传送设备随后可跨多个接口拆分该流,例如通过将经拆分流的一些分组路由至第一传输介质并将经拆分流的一些分组路由至第二传输介质。在一些实施例中,可根据路由表中存储的信息来维持经拆分流的被路由至每个所选传输介质的比例。
同时,接收设备可在这多个接口上接收经拆分流的分组并聚集和重新排序这些分组。
最后,传送设备可决定要停止拆分该流。传送设备可随后开始使用单个接口而非多个接口来传送该流的分组。传送设备可借助于进一步的控制分组来通知接收设备,这些控制分组可被接收设备接收和确认。
因此,根据一些实施例,传送设备可在其修改流的拆分状态时(例如在其开始拆分流时以及在其停止拆分流时)向接收机发送命令。
此信息的目的可以是要使得接收机能够创建重新排序缓冲器并开始对流进行重新排序。重新排序可以是相对昂贵的(在CPU和存储器两方面)并且可潜在地增加流的递送等待时间。相应地,接收机并非在所有时间对所有流都这样做可能是合乎需要的。因此,在一些实施例中,可以仅对跨多个介质传送的流执行重新排序(例如,包括建立聚集缓冲器)。
根据一些实施例,控制分组还可指示推荐缓冲器大小和/或推荐超时。发射机可基于流所拆分到的这两个接口的流速率和相对等待时间来推荐聚集缓冲器大小。接收机通常可遵守该推荐,但也可取决于存储器可用性而进行超控。发射机还可基于流所拆分到的这两个接口的流速率和相对等待时间来推荐超时。再次,接收机通常可遵守该推荐,但也可取决于存储器可用性进行超控。
图9
图9是根据一个实施例解说根据不同场景的各种传输介质的假设链路容量的图表900。在所解说的实施例中,有三个可用传输介质:PLC、在2.4GHz频谱中工作的Wi-Fi(W2)、以及在5GHz频谱中工作的Wi-Fi(W5)。PLC和W5当前具有大于25Mbps的链路容量,25Mbps在该示例性实施例中已被设为阈值,传输介质在高于该阈值的情况下被认为具有比足以用于添加新话务(例如,新流)的容量更多的容量。在所解说的实施例中,W2的确也具有一些可用链路容量,但小于25Mbps。
所示的其中有多个传输介质具有足以支持新话务的链路容量的场景可被称为“高可用性”。在该情景中,可以有较大的自由度基于流本身的匹配特性来为新流选择最恰适的传输介质。例如,具有高优先级和/或某些特定类型的内容(例如,语音、视频)的流可优选地被指派到较快和/或更可靠的传输介质,而具有低优先级和/或某些特定类型的内容(例如,数据下载)的流可优选地被指派到较慢和/或较不可靠的传输介质(例如,以便将较快和/或更可靠的传输介质保留用于较高优先级话务)。
与所示场景形成对比,其中没有一个以上传输介质具有超过“高可用性”阈值的链路容量的场景可被称为“低可用性”。在此情景中,至少在一些实施例中,新流可简单地被指派给具有最高链路容量的传输介质,并且可以不作出特殊努力来将新流的特性与最恰适的传输介质进行匹配。
图10A-10B
图10A和10B解说了其中可能期望有分组聚集的场景。一个基本使用情形是覆盖:例如,在家庭使用场景中,聚集可向具有不足以支持单个流的带宽的房屋角落提供覆盖。在此类情形中,跨多个接口来拆分流将增大覆盖。分组聚集在各种其他场景中可能也是期望的。
如图10A中所示,在一个实施例中,话务生成器1002可(例如,经由以太网耦合)被耦合至第一设备1004。第一设备可经由具有10Mbps连接的Wi-Fi且经由具有7Mbps连接的PLC来耦合至第二设备1006。第二设备1006可(例如,经由以太网耦合)被耦合至话务阱1008。
如果话务阱1008要发起要求来自话务生成器1002的12Mbps的视频流,则Wi-Fi连接和PLC将皆不具有单独支持该视频流的容量。然而,如果该流被拆分以使得该流的部分在Wi-Fi链路上传送且该流的部分在PLC链路上传送,则这些连接可联合地支持该视频流。
图10B解说了其中有充足的带宽可用于若干流的场景——然而,由于流指派而在每个介质中剩余的零星带宽不足以处置附加流。在此情形中,Wi-Fi提供40Mbps连接而PLC提供20Mbps连接,但流1和2各自利用Wi-Fi连接的15Mbps且流3利用PLC连接的15Mbps。因此,Wi-Fi具有10Mbps剩余链路容量,而PLC具有5Mbps剩余链路容量。任一传输介质都不能单独地支持新流4(要求15Mbps),但通过拆分此新流,这些传输介质就能联合地支持此新流。
在一些实施例中,由于分组聚集造成的主要性能限制(CPU利用)可能以是在接收机侧对分组的重新排序。给定了有限的CPU,这提供了聚集流的最大大小与在聚集一个流的同时所能支持的总体的非聚集话务之间的折衷。相应地,在一些实施例中,可能期望限制被聚集流的大小,可能取决于存在多少非聚集话务而包括不同的流大小限制。作为一个示例,在没有其他话务的情况下可支持最高达30Mbps的聚集流,而在有最高达50Mbps的其他话务的情况下可支持最高达20Mbps的聚集流。当然,这些仅仅是示例,并且可按需使用不同的限制(或没有限制)。
另外,由于接收聚集流的成本(例如,CPU成本)可能高于接收非聚集流的成本,因此在一些实施例中,可能期望应当使聚集流的数目最小化。例如,在一组实施例中,可能期望在有两个可用传输介质的情况下拆分最多一个流,以及在有三个可用传输介质的情况下拆分最多两个流。
换言之,在一些实施例中,可避免其中源自于同一设备(具有两个介质)的两个流都将跨两个介质被拆分的情景。这不会约束可使用性:可以总是有可能将跨两个接口拆分的一个以上的流转换成除了一个流以外其他所有流都在单个接口上运行。相同的逻辑可应用于具有三个可用介质的设备。
应注意,在一些实施例中,聚集可以在混合设备之间完成(例如,与在源和阱之间的情形相反)。要聚集(即,要跨多个接口拆分流)的决定可在源混合设备处作出。在一些实施例中,所有混合决定均可在源混合设备处作出。
图11
图11解说了根据一个实施例的聚集(重新排序)缓冲器1100。Wi-Fi和PLC(及其他可能的通信接口)的传输等待时间可以是不同的,且因此有可能即使所有分组都正确地被递送,它们也可能被脱序地递送,这可能不是期望的。
重新排序这些分组可需要用到重新排序缓冲器。此缓冲器的大小可以是可配置的,例如基于流所拆分到的这两个接口的流速率和相对等待时间以及存储器可用性。注意,在现实中,该过程可能并非严格地是重新排序过程,而是按正确次序重新组合的过程,这是因为正被重新组合的两个底下的流内在地是有序的。
重新排序缓冲器可包括指向尚未递送到较高层的收到分组的指针。基序列变量可包括对应于索引0的分组序列号。重新排序缓冲器可被实现为环形缓冲器。根据一个实施例,当接收到分组时,可执行以下逻辑。
如果(分组序列号<基序列),则收到分组是旧的脱序分组(例如,可能是超时的分组)。取决于实现,该分组可按需被丢弃或递送。
替换地,如果(分组序列号<基序列+大小),则该分组可在缓冲器内。该分组可被存储在缓冲器中的恰适位置处。指向该分组的指针可被放置在索引(分组序列号–基序列)处。如果该索引已为非空(例如,分组指针已经存在于该位置中),则该分组可被丢弃(例如,由于其可能是重复分组)。任何按序分组可随后被递送:如果缓冲器索引0包含分组指针,则该分组可被递送并且该索引可被重置为空。环形缓冲器指针可前移一,并且基序列变量也可递增。这可重复,直至缓冲器索引0为空(例如,不包含指向分组的指针),这例如指示该序列中的下一分组尚未被接收到。
替换地,如果(分组序列号>=基序列+大小),则该分组可在缓冲器之外但是更加新;这可以是例如缓冲器太小的指示。在一些实施例中,足够的分组可被递送以使该新序列号进入缓冲器,而不管该序列中是否存在空洞。
重新排序缓冲器还可纳入超时机制。在可编程的超时之后,分组可被递送给较高层,即使序列中有空洞亦然。在一些实施例中,超时机制可包括维护对每个分组的接收时戳的记录。注意,在一些实施例中,可能期望时戳是接收(RX)时间而非固有时戳。超时机制可进一步包括维护缓冲器中的第一可用分组(例如越过第一缺口的分组)的时戳。如果第一可用分组的时戳超时(即大于超时值),则它(以及任何其他超时分组)可被递送。
注意,索引0处可能从来没有分组,因为其将被转发给联网栈。还要注意,这可能是相对昂贵的操作,因为为了计算该值,必须逐步遍历第一缺口以搜索第一分组。
应注意,就初始序列号而言,TCP和RTP两者可使初始序列号随机化以防止序列号预测攻击。在一些实施例中,混合级别处的发射机和接收机可能无法控制该序列号。然而,在一些实施例中,流拆分和聚集可在流已开始流送之后被激活。另外,聚集可显式地被激活;例如,发射机可向接收机发送指示流(包括流标识符)即将被拆分的命令。这可允许接收机在拆分开始之前标识当前运行的序列号,从而减轻可能由随机化的初始序列号引起的任何潜在问题。
应注意,在许多实施例中,可以不使用上述的利用分组序列号的环形缓冲器。例如,可以按需使用任何数目的其他环形缓冲器技术、或其他聚集缓冲技术。本文别处描述的切换标记技术的实施例表示用于重新排序聚集的一种可能的替换(或补充)选项。
附加考虑
数据结构
如先前所述,在一些实施例中,实现本公开的要素的设备可将信息存储在一个或多个存储器中。在一组实施例中,信息可存储在一个或多个数据结构中。例如,在一组实施例中,可维护路由表,其中可存储有标识活跃流及其各种特性(例如,路由信息)的信息。例如,此类路由表可针对多个流中的每个流包括流标识符、该流的目的地址(DA)、该流的类型、优先级、以及一个或多个所指派接口(例如,隐式地或显式地包括传输介质/媒体)。在一些实施例中,例如,对于在多个接口之间拆分的流,路由表还可包括指示以下的信息:这多个所指派接口中的哪个接口当前正被用于传送该流、每个所指派接口上将使用的突发大小、和/或在正在当前使用的接口上正传送的当前突发中剩余多少分组。
另外,可维护指示针对一个或多个流目的地址和/或流类型中的每一者的当前优选传输介质次序的表。该表可例如基于介质利用率、链路容量等方面的改变而被有规律地更新。路由表也可例如基于任何路由改变(例如,作为负载平衡、故障转移、拆分流、流完成的结果,或出于任何其他原因)而被有规律地更新。
突发大小
应注意,在一些实施例中,可能期望限制突发的大小,因为大的突发会限制对多个接口的同时使用,这可能违背根据一些实施例的流拆分/聚集的目标。
例如,具有1400字节的分组大小的以10Mbps运行的流意味着892pps(分组每秒)。225个分组的突发将意味着0.28秒。换言之,在该情形中,一介质被使用长达0.28秒,而同时其他介质不被使用。
设备能力发现
每当作出要拆分流的决定时,知晓目的地设备的能力可能是重要的。例如,目的地混合设备可以是不支持聚集的旧式设备。
设备可将能力作为其拓扑发现分组的部分来广告。例如,一个或多个控制分组的部分可被分配用于声明支持聚集。在一些实施例中,设备可传送此信息并维护关于网络上的所有设备的此类信息的数据库以在负载平衡决定期间使用。
分组丢失最小化和重复分组移除
本公开的实施例涉及其中有多个传输介质可用于传送流的系统以及与此类系统有关的各种技术。许多实施例涉及将流的流动从一个传输介质切换到另一个传输介质。由于此类路径切换,若干分组流破坏是可能的,包括分组丢失、分组重复、以及脱序分组递送。
虽然不同的联网协议和应用对此类分组流破坏有不同反应,但一般而言存在副作用。例如,TCP/IP将响应于以上任一者而扼流吞吐量,并且一些视频应用可显示视觉毛刺。为了向最终用户提供无缝体验,所有这些破坏都必须被最小化或在可能的情况下被消除。
混合系统可在两种场景下切换流:故障转移——当一接口失效并且来自它的所有流都被切换到另一接口时,以及负载平衡——当一介质被过度订阅并且一个或多个流从该介质切换到另一接口时。
注意,有可能混合系统即使在接口仍开启并在传送一些分组时仍认为该接口是“失效的”。例如,对于一些接口,如果其报告的PHY速率降至阈值(例如,5Mbps、或任何其他PHY速率)以下,则混合系统可认为其“失效”。
可能可用的两个常见通信接口包括Wi-Fi和电力线网络(例如,HomePlugAV)。Wi-Fi驱动器和HPAV驱动器两者均可保证来自特定流的分组的按序递送。这两者可缓冲分组以供传送。根据一些实施例,外部应用可以能够获得关于哪些分组已从Wi-Fi驱动器成功传送但未从HPAV驱动器成功传送的信息,且外部应用可能无法从任一驱动器的传送缓冲器移除分组。相应地,传送缓冲器中的分组将继续被传送,只要介质存活(例如,即使它被认为已失效)。
当接口(真正)失效时,它可能无法从其缓冲器传送任何更多分组。该缓冲器中的所有分组可能丢失,且所发送的任何附加分组可能同样如此,直至混合系统确定该接口已失效并开始在新接口上传送分组。用于减少分组丢失的一种机制是随着分组在接口上被传送而保存一滑动窗口(缓冲器)的分组并在切换时在新接口上(重新)发送它们。换言之,每当路径切换被触发时,这些分组可在新接口上被传送。
根据一些实施例,此类特征可全局地实现或在每流基础上实现。例如,实现该特征的每个流可由此具有其自己的缓冲器,其具有缓冲器大小(例如,可存储的分组的数目)、以及缓冲器时间窗(例如,指定要将分组保存到何种程度(在时间上))。
为了实现该特征,根据一组实施例,当分组在接口上传送时,其流可首先被标识。如果该流启用了缓冲,则该分组可被附加至缓冲器。缓冲器可被逐步遍历(例如,从头到尾),并且如果分组在时间窗之外、如果缓冲器太大、和/或如果分组已被成功传送,则这些分组可被移除。因此,在分组被传送时,缓冲器可被维持。
当流正从一个介质切换到另一个介质时,缓冲器可被逐步遍历(例如,从头到尾)并且成功传送的分组可被丢弃。就所知而言尚未被成功传送的分组可在新接口上被传送。
应注意,确定分组是否已被成功传送可能仅从一些接口可用(例如,Wi-Fi或提供对此信息的访问的其他接口)。因此,在一些实施例中,该信息可仅用于从此类接口的路径切换。
以上描述的用于分组丢失最小化的缓冲器可被用于每当执行路径切换时在新接口上传送分组。在一些实施例中,此类缓冲器中的分组的数目可由混合系统检测接口已失效要花多长时间(这是可能花费几秒的过程)来规定。因此,在至少一些实施例中,缓冲器大小可>1000个分组。在其他实施例中,可使用任何数目的其他(例如,更小或更大的)缓冲器大小。
通过接口(相对)瞬时地传送>1000个分组可压垮这些驱动器(以太网、Wi-Fi、嵌入式PLC)的缓冲器。可相应地实现用于扼流这些传输的机制。在一些实施例中,可从混合桥接器外部来扼流该传输,以便不阻挡持续传输。例如,令牌桶过滤器排队原则(TBF qdisc)实现此类扼流机制——藉此可指定最大速率。
以上描述的传送缓冲器重传机制可用于减少分组丢失。然而,如果分组已经在旧接口上传出去往空中,则接收机可接收到重复分组。对此的相对容易的(部分)解决方案可以是从缓冲器中移除已(在原始接口上)成功传送的那些分组。这对于Wi-Fi接口或许是可能的(如上所述),但对于HPAV接口或许不是可能的(同样如上所述)。即使在Wi-Fi上针对向另一接口路径的转换使用该特征可能也无法完全解决该问题,因为除非该接口真正停机,否则仍在原始(Wi-Fi)接口的缓冲器中的分组可能不被移除并且仍可保持被传出去。
更完整且(就CPU成本而言)简化的解决方案可利用此特定重复场景的若干特征。具体而言,可利用以下事实:在一个接口上传送的所有分组被按序接收;一旦已作出要从一个接口切换到另一接口的决定,原始接口上的所有进一步传输均被停止;并且重复可仅存在于重复缓冲器中(例如,由于其是重复的原因)。当然,在一些实施例中,该解决方案也可有利地用在包括不同条件的其他场景中。
该方法的特定优点可在于:该算法可以不用作出关于分组本身的任何假定。换言之,在一些实施例中,不进行对数据分组的检视(具体地,在一些实施例中,可以不假定有序列号被嵌入分组中)。
用于实现该方法的发射机(数据源)侧功能性可包括每N个分组地将索引标记(MI)分组插入数据流中。索引标记可包括索引号,其可随每个后续索引标记分组而递增1。索引标记分组可在重复缓冲器之前被插入。因此,这些索引标记分组可以是重复缓冲器的部分。
在执行路径切换时,重复缓冲器可被重传。可在新接口上在重复缓冲器的开始和/或结束处插入缓冲器标记分组(MB)——分别为MB,B和MB,E。在MB,B中,可包括落在重复缓冲器之外的最后一个索引标记(MI)分组的索引、以及自该索引标记分组起从缓冲器中移除(无论是由于被成功传送了还是由于超龄或因为缓冲器大小而被移除)了的来自该流的分组的数目。该数据对可被称为(IT,LT)。
用于实现该方法的接收机(数据阱)侧功能性可包括跟踪索引标记(MI)分组。例如,接收到的最后一个索引以及自该索引标记起接收到的该流的分组的数目可被存储。该数据对可被称为(IR,LR)。
在接收到缓冲器的开始即缓冲器标记分组(MB,B)时,从替换接口进来的属于该流的任何分组可被丢弃。根据各种实施例,这种阻挡可在一时间区间(例如,可编程时间区间)之后被移除或者可被保持直至(例如,在新接口上)观察到下一MB,B
另外,从MB,B获得的数据对(IT,LT)可被检视并与(IR,LR)作比较。如果IT==IR且LT>=LR,则没有分组可被丢弃——新接口上可能没有重复分组。如果IT==IR且LT<LR,则前LR–LT个分组可从缓冲器中被丢弃,因为它们已经在原始接口上被接收。如果IT<IR,则重复缓冲器分组可被丢弃,直至接收到具有索引IR的索引标记分组。此时,可丢弃附加的LR个分组。如果(IT>IR),则没有分组可被丢弃;这可指示重复缓冲器没有大到足以处置由于故障转移造成的分组丢失,且没有重复分组已被接收。
以上算法可照管两个重复数据流:在对重复缓冲器分组的接收已开始之后在旧接口上抵达的分组、以及在故障转移之后但在对重复缓冲器分组的接收之前在旧接口上抵达的分组。
根据一些实施例,还可使用重复缓冲器启用/禁用特征(如上所述)来控制该特征。换言之,在一些实施例中,索引标记(MI)可仅在针对该流启用了重复缓冲器的情况下才被插入。另外,在一些实施例中,“每流的索引标记间隔”参数可以是可配置的。例如,可能希望基于路径表征信息来动态地调整索引标记间隔。
以上描述的重复分组最小化规程指定了索引标记分组(MI)可每N个分组地被插入到流中。基于以上算法,值N可以无需是固定的,并且可偶尔地或在每个间隔上变化,例如只要保持对所传送和接收的分组的正确计数即可。值N也可独立于重复缓冲器的大小。在一些实施例中,例如,N可以非常大。然而,在分组差错率(PER)和N以及接收到的重复分组的数目之间可存在联系。
PER导致分组被丢弃——这意味着该分组可被计数为传送了但可能未被计数为接收了。每个此类缺失的分组可导致重复分组被接收。例如,如果有10个分组在最后一个MI之后被传送,则LT=10。然而,如果由于PER而仅接收到9个分组,则LR=9。在此情形中,在接收机处将没有分组被移除,这可导致重复分组被接收。重复分组的机会可因此与PER*N成比例。增大N可相应地增大接收重复的机会。
如上所述,以上描述的分组丢失最小化技术可要求存储否则可能并非必要的附加信息。根据一些实施例,存储在传送侧的附加信息可包括最后一个索引标记分组(MI)索引以及自此最后一个索引标记分组起的分组数目。
存储在接收侧的附加信息可包括最后一个索引标记分组索引、自此最后一个索引标记分组起的分组数目、以及流接口(例如,正接收流的接口)。在一些实施例中,还可存储阻挡模式标志,其指示并非在该流接口上接收到的所有分组应被丢弃。另外,指示当前是否正在搜索索引标记分组(以及该索引标记分组的索引)的信息可被存储,和/或指示(例如,基于被确定为重复的分组数目,如上所述)要丢弃的分组数目的计数可被存储。
如本领域技术人员将认识到的,不同的实现可包括与分组丢失最小化算法有关的不同的所存储信息。
服务质量
本公开的实施例涉及可由配置成使用多个传输介质进行通信的设备使用的各种技术。这些技术可在一些实施例中按需被实现而不考虑用于改善服务质量(QoS)的内容分类和区分。然而,服务提供方可能想要能够区分时间关键性数据(例如,Netflix视频)与可推迟的数据(例如,文件下载),例如以确保顾客不会烦恼其电视上的视频有较差质量或者其语音传输是断断续续的——他们想要保证服务质量。零售顾客可等同地希望能够流送因特网视频(例如,Hulu或Netflix)而没有干扰或延迟。甚至免费内容的消费者也可能期望服务质量保证/区分。
在非混合网络中,仅有单个介质用于传送数据。在混合网络中,可有能用来传送数据的多个介质——其中每个介质具有不同的、且动态地变化的特性。因此,引起另一方面的QoS问题。
本节描述根据一组实施例可由混合联网系统递送的QoS的细节。根据一组实施例,包括了对混合系统的期望行为(包括所标识的服务类型(包括付费和免费视频及其他)、以及系统的动作)、以及用于递送此功能性的实现架构和算法的描述。
注意,存在两种类型的QoS。优先级化QoS涉及用优先级等级来对分组加标签。分组可基于此优先级来被对待(例如,较高优先级可与较低优先级不同地对待)。参数化QoS涉及介质对带宽的保留和保证。属于具有带宽保留的流的分组被给予最高优先级(有保证)递送。
虽然一些介质(例如,MoCA)实现一种类型的参数化QoS,但它可能未在实践中使用,因为其可要求端到端带宽保留和应用级参与(以保留带宽)。本节相应地专注于优先级化QoS。
QoS有关行为可在混合网络的数个方面是恰适的。这些方面中的一些可包括将数据分类成不同的服务类型(类),基于分类来对数据加标签,路径选择和将经分类的数据指派给特定接口,故障转移和流的重新指派,过度拥塞情形中对话务的负载平衡,以及在带宽不足以支持全部流时对不同数据流的流优先级化。
数据分类可涉及将数据分组分成流以及将流分类为特定服务类型。根据一组实施例可分类的一些可能的服务类型包括因特网流送视频、因特网流送音频、因特网实时音频/视频、和/或其他服务类型。
应注意,分类可包括检视分组内容而非容器类型。内容类型分类对于IPv4或IPv6话务是可能的。
还应注意,一些话务类型可以不被分类,因为它们可能已根据其类来加了标签。此类话务类型的示例包括IPTV、VoD(承运商提供的视频点播)、以及VoIP。
一旦数据被分类为特定话务类型,它可能仍需要加标签。根据一些实施例,一些系统元件可被配置成利用不同级别的标签粒度。例如,混合系统可潜在地能够使用比网络驱动器更高粒度的分类。例如,在一个实施例中,“视频”可仅具有一个标签,但混合系统可被配置成区分IPTV、VoD和OTT视频类型。
当流启动时,它们可被指派到默认接口,默认接口有规律地被更新。用于选择默认接口的算法可包括初始考虑每个可用介质的链路容量(LC)。在高可用性场景中,足以支持新话务的链路容量(例如,大于预配置或动态阈值(诸如25Mbps或任何其他阈值)的链路容量)可以在多个介质上可用。在此情形中,可基于可编程次序(例如“P52”)来选择介质(例如,仅考虑具有大于LC阈值的LC的那些介质)。在低可用性场景中,可能没有高链路容量介质可用。在此情形中,可简单地选择具有最高链路容量的介质。
应注意,可编程的介质优选次序可以每话务类地来配置。例如,以上示例的“P52”可应用于IPTV并指示IPTV流可优选地被首先指派到PLC,继之以Wi-Fi5GHz,以及继之以Wi-Fi2.4GHz。
在一些实施例中,用于被认为“高可用性”的链路容量阈值也可以是每话务类可配置的参数。当然,在流启动时,可能不知道它们将需要多少带宽。该阈值允许每话务类地来定制行为。例如,根据一组实施例,可能期望至少25Mbps的LC可用于IPTV,而对于OTT,10Mbps的LC可以是充足的。还有可能对所有类使用单个阈值。
应注意,在一些实施例中,可将一话务类型从一些介质中排除。例如,如果在优选传输介质次序(例如,优选次序“25”)中指定了可用传输介质之中的仅一些可用传输介质,则这可意味着将仅考虑Wi-Fi2G和Wi-Fi5G,且即使Wi-Fi2G和Wi-Fi5G两者都变为禁用,该流也将不会在PLC接口上被转发。在这种情形中,该流可被丢弃。取决于实现,这可以是或可以不是期望选项。
以上描述的路径选择算法参考了链路容量。如上所述,链路容量可以是可在特定传输介质上从源点传送至目的地的话务量(通常以Mbps来衡量)。其可考虑了链路的物理特性(例如,PHY速率和PER)以及整体介质拥塞。然而,从QoS观点而言,可能期望将链路容量修改为因类(优先级)而异的。例如,在一些实施例中,链路容量可被定义为能从源点传送至目的地的、特定优先级类的话务量(以Mbps计)。因此,对于特定混合设备,链路容量可以是二维阵列:LC[DA][优先级]。
注意,当信道空闲时,到特定目的地的所有链路容量,即LC[DA][*],是相同的。但在介质上有话务时,针对高优先级数据的链路容量可高于针对低优先级数据的链路容量——即,LC[DA][高]>=LC[DA][低]。这可允许较高优先级话务将较低优先级话务排挤开的可能性。
在一些实施例中,所支持优先级的数目可由底下的介质来规定——例如,在一组实施例中,其对于Wi-Fi和PLC两者皆可为4。因此,在该情形中,即使由于分类而存在两个流类型之间的较高粒度(例如,能够区分IPTV与VoD),但从可用链路容量的角度来看,它们可以是相同的。所支持优先级的其他数目也是可能的。
当一个介质失效时,流被重新指派到其他可用介质。根据一组实施例,对于失效接口上的每个流,可确定该流是否能被切换到替换接口。本节中早先描述的路径选择算法可被用来找到替换接口——即,如果存在具有充足带宽的多个介质,则基于流的该优先级类的介质优先级配置来在它们之间进行选择。也可以使用因流而异的链路容量。如果没有充足的容量,则可使用流优先级化方法。
当介质变得过度拥塞(介质利用率跨过阈值)时,则一些流可能需要被重新指派到其他介质以缓解拥塞。根据一些实施例,如果可能,高优先级流(根据一组实施例,诸如IPTV/VoD/OTT/VoIP)不应当被切换,例如以避免毛刺。换言之,较低优先级流应当是用于切换的首选。
根据一组实施例,为了进行负载平衡,从过度拥塞介质上的较低优先级等级的流开始并移向较高优先级等级的流地,可采取以下步骤。可选择具有最高介质利用率的下一流。可确定该流是否被切换到替换接口。这可包括使用本节中早先描述的路径选择算法,即,如果存在具有充足带宽的多个介质,则基于该流的该优先级类的介质优先级配置来在它们之间进行选择。也可以使用因流而异的链路容量。如果该流不能被切换,则可选择下一流。如果最低优先级等级的所有流都不能被切换,则可选择在次高优先级等级的具有最高介质利用率的流。如果没有充足的链路容量供任何流切换,例如,如果其他介质也过度拥塞,则可使用流优先级化方法。
当所有介质都过度拥塞并且负载平衡不能被执行时,介质上的所有流的质量可能会降级。存在两种可能的过度拥塞场景:可能存在导致过度拥塞的较高和较低优先级流的混合,或具有相等优先级的一组流可能正导致过度拥塞。
取决于正发生哪种场景,各种可配置动作是可能的。对于混合优先级流,较低优先级流可被丢弃。如果需要/可能,可使用更细粒度的优先级化。例如,如果可能,可使用不同类型的视频流之间(例如,IPTV相对于VoD相对于OTT等)的优先级差别化。替换选项可以是扼流TCP流吞吐量。然而,视频TCP流(例如,OTT或VoD流)的表征对于理解此类流的吞吐量相对于时间特性可能是期望的。例如,在一些实施例中,可优选不扼流视频TCP流。
对于相等优先级流,存在各种选项。一种可能性是丢弃相对于其比特率而言消耗最多资源的流。在一些实施例中,流优先级可按目的地址来配置;例如,去往起居室TV的话务可具有比去往卧室TV的话务高的优先级。对TCP流吞吐量设上限可以是一个选项。另一可能性是丢弃最年轻的流。然而,在一些实施例中,快速信道切换(例如,如果用户从一个IPTV频道切换到另一个IPTV频道)可能是过度订阅的一个可能原因。这两个流可在切换期间并发地流动(因此“黑屏”不会出现)并且最终设备可选择正确的(例如,最年轻的)流来显示。然而,在资源争用的情形中,新流应当优先于较老的流来接收资源。因此,如果有多个流去往相同的最终设备,则最老的流可被丢弃。
根据一组实施例,可按需对分组聚集施加附加的因QoS而异的约束。例如,如果可能,可拆分/聚集较低优先级流而非高优先级流。另外,可提供可配置参数以准许指定一些话务类型将从不被聚集。
注意,在一些实施例中,可能期望从不拆分/聚集VoIP流(例如,由于产生毛刺的潜在可能性)。然而,在许多实施例中,此类流可能利用非常少的带宽且因此可能一般不是用于拆分/聚集的优选候选。
如上所述,包括QoS考虑的路径表征可每目的地和优先级等级地来利用增强型链路容量。根据一些实施例,在实现级别,这可意味着每优先级等级的介质利用率,因为其可被用来从原始链路容量确定可用链路容量。
应注意,信道接入可取决于多个节点的交互以及它们必须发送的话务的优先级。对于PLC,该接入可以是全协调式的并且具有严格的优先级。对于Wi-Fi,这可以是统计接入——其中较高优先级话务具有较高的机会来接入信道。节点内的接入可以仍按照严格的优先级(例如,在节点具有多个话务类要发送时,它可以用严格的优先级来这样做)而无论传输接口是什么。
根据一些实施例,可支持三个服务质量等级。这些服务质量等级可包括高优先级(例如,加快转发)、中优先级、和正常优先级。例如,在一组实施例中,需要以最少分组丢失和低等待时间来递送的视频、IP语音、或任何其他定制流可被指派高优先级。中优先级可被指派给任何其他较高优先级话务,而正常优先级(尽力型)可被指派给任何其他话务类型。
根据一些实施例,混合控制分组可被用于各种混合控制功能。至少在一些实施例中,这些混合控制功能对于系统的正确行为(拓扑发现、路径表征等)可能是极其重要的。相应地,如果控制分组由于网络拥塞而没有到达其目的地,则混合可能性可能受损。因此,根据一些实施例,混合控制分组可通常具有可用的最高优先级。
此举的一个例外可以是标记分组(例如,缓冲器开始/缓冲器结束、流开始/流结束、和/或索引标记分组)。根据一组实施例,标记分组可效仿它们所附至的流,以保持它们相对其流处于正确次序。该效仿可包括相同的优先级化、目的地址、和/或其他特性。
双向数据
应注意,在一些实施例中,可实现迫使特定TCP流的所有话务都在单个接口上流动的特征。这可以是出于如果数据和ACK流在不同接口上则等待时间差异可能触发TCP对该流进行扼流的考虑而进行的。
在一些实施例中,本文描述的路径选择方案可假定每个设备独立于每个其他设备地作出关于路径选择和切换的决定(由于故障转移或负载平衡)。具体而言,每个设备可为源自其自身或通过其桥接的流(例如,该设备为该流的路径的下一部分发源的流)作出这些决定。如果在这两个设备之间在任一方向上存在多个数据流,则每个流可独立于其他流地被指派到一介质,并且按需被切换。
然而,对于一些高级协议,诸如IP/TCP,不同方向上的多个流实际上与彼此在功能上相关联。例如,在IP/TCP的情形中,TCP数据可在一个方向上流动,而对应于此数据的TCP ACK在另一方向上流动。许多联网协议可被设计成例如通过减少周转时间来优化此类相关双向话务的性能。根据一些实施例,由底层介质进行的此类优化仅可在所有相关流都正在使用相同介质的情况下才能进行。因此,在一些实施例中,对于IP/TCP流(和/或具有相关联的双向话务的其他流),此类流可被标识,并且可保证所有相关流使用相同介质。
完成此举的一种可能机制可包括传送设备显式地向接收设备通知流可具有相关联的“从”流,“从”流应当利用与“主”流相同的传输介质。传送设备可经由一个或多个控制分组或经由另一手段来通知接收设备。
完成此举的另一种可能机制可包括接收设备检测并标识此类流。例如,接收设备可基于检视流的第一收到分组来标识流。如果该检视指示该分组是可能生成相反方向上的关联流的类型,则接收设备可存储指示接收设备不应针对该流作出任何路径选择或负载平衡决定的信息。应注意,在传送设备显式地向接收设备通知该流的本质的上述机制中,接收设备还可存储指示该流是“从”流(例如,不应在本地对其作出路径选择或负载平衡决定)的信息。
因此,在一组实施例中,可在第一传输介质上从第二设备接收第一流的第一多个分组。可确定可关联于第一流地生成第二流,其中第二流用于传送给第二设备。在一些实施例中,可从第二设备接收指示可关联于第一流地生成第二流的指示。在此情形中,确定可关联于第一流地生成第二流可以基于接收可关联于第一流生成第二流的指示。替换地,第一设备可独立于来自第二设备的任何指示地来确定可关联于第一流地生成第二流,例如通过检视第一流的一个或多个分组以确定分组类型。
可存储指示第一流被指派到第一传输介质且第二流与第一流相关联的信息。可在第一传输介质上将第二流的第二多个分组传送给第二设备,这可基于指示第一流被指派到第一传输介质且第二流与第一流相关联的信息。
在一些实施例中,可响应于接收到第一流的第一多个分组而生成第二流的第二多个分组。例如,在一组实施例中,第一多个分组可包括TCP数据分组,而第二多个分组可包括响应于这些TCP数据分组而生成的TCP ACK分组。
应注意,具有相关联反向流的流可呈现关于流拆分和聚集的附加问题。在此情形中,根据各种实施例,此类流可要么被免于进行流拆分,要么(例如,如果可能)可禁用导致“从”流的协议特征(例如,TCP ACK特征)。
自扼流
如以上根据一些实施例所描述的,一些设备可实现用于通过将分组缓冲在传送接口上来帮助消除在故障转移时丢失分组的机制。在故障转移的情形中,该缓冲器可随后在新接口上被传送。类似地,在接收侧,当在新接口上检测到分组时,它们可被缓冲以保证按序递送。在后一种情形中,一旦检测到所有分组已被接收,则所缓冲的分组可全部沿协议栈被向上转发。在任一种情形中,均可能在短时间量里传送大量分组。在一些实施例中,这具有由于存储器耗尽而导致分组丢失的潜在可能性。
以上简要提及的一种机制可包括使用公知的扼流机制(诸如TBF)来限制向其目的地转发分组的速率。然而,这些通用机制可能是复杂的——例如,它们可依赖于附加定时器来帮助调控向其目的地转发分组的速率。
较简单的机制可包括自扼流。由于在此类事件之后特定流的分组可继续被传送和接收,因此有可能将此类传送或接收用作用于向其目的地转发分组的定时器。例如,在一组实施例中,可实现FIFO缓冲器,其中新分组被放置在缓冲器尾部,同时可编程数目的较旧分组可从头部移除并被处理(例如,转发至其目的地)。缓冲器可最终被耗尽,此时自扼流阶段可完成。根据各种实施例,可按需在发射机侧和/或接收机侧中任一者或两者处实现自扼流FIFO缓冲器。
尽管已相当详细地描述了以上各实施例,但一旦完全领会以上公开,众多变型和修改就将对本领域技术人员变得显而易见。所附权利要求书旨在被解读为涵盖所有这些变型和修改。

Claims (26)

1.一种供设备选择要在其上传送第一流的传输介质的方法,所述方法包括:
确定多个传输介质中的每一个传输介质的路径特性,其中所述多个传输介质中的至少一个传输介质在本质上是显著动态的;
基于所确定的路径特性为所述第一流从所述多个传输介质中选择第一传输介质;
在所述第一传输介质上传送所述第一流的第一多个分组。
2.如权利要求1所述的方法,其特征在于,所述路径特性包括以下一者或多者:
所述传输介质的链路容量;
当前介质利用率;或者
最大介质利用率。
3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
确定所述第一流的内容类型;
其中所述选择第一传输介质进一步基于所述第一流的所述内容类型。
4.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
确定所述第一流的优先级等级;
其中所述选择第一传输介质进一步基于所述第一流的所述优先级等级。
5.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
基于所述传输介质的所述路径特性来确定针对多种流内容类型中的每一种流内容类型的优选传输介质次序。
6.如权利要求5所述的方法,其特征在于,所述方法进一步包括:
检测至少一个传输介质在至少一个路径特性方面的改变;
基于所检测到的至少一个传输介质在至少一个路径特性方面的改变来修改针对所述多种流内容类型中的至少一种流内容类型的所述优选传输介质次序。
7.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
确定所述第一传输介质的当前介质利用率超过第一阈值;
基于确定所述第一传输介质的所述当前介质利用率超过所述第一阈值而选择所述第一流以供在第二传输介质上传送;
基于选择所述第一流以供在所述第二传输介质上传送而在所述第二传输介质上传送所述第一流的第二多个分组,其中在所述选择第一流以供在所述第二传输介质上传送之后不再在所述第一传送介质上传送所述第一流的分组。
8.一种设备,包括:
用于经由多个传输介质耦合至第二设备的多个端口,其中所述多个传输介质中的至少一个传输介质在本质上是显著动态的;
配置成选择要在其上传送流的传输介质的逻辑,其中所述逻辑被配置成:
确定所述多个传输介质中的每一个传输介质的路径特性;
基于所确定的路径特性为所述第一流从所述多个传输介质中选择第一传输介质;
在所选择的传输介质上传送所述第一流的第一多个分组。
9.如权利要求8所述的设备,其特征在于,所述路径特性包括以下一者或多者:
所述传输介质的链路容量;
当前介质利用率;或者
最大介质利用率。
10.如权利要求8所述的设备,其特征在于,所述逻辑被进一步配置成:
确定所述第一流的内容类型;
其中所述选择第一传输介质进一步基于所述第一流的所述内容类型。
11.如权利要求8所述的设备,其特征在于,所述逻辑被进一步配置成:
确定所述第一流的优先级等级;
其中所述选择第一传输介质进一步基于所述第一流的所述优先级等级。
12.如权利要求8所述的设备,其特征在于,所述逻辑被进一步配置成:
基于所述传输介质的所述路径特性来确定针对多种流内容类型中的每一种流内容类型的优选传输介质次序。
13.如权利要求12所述的设备,其特征在于,所述逻辑被进一步配置成:
检测至少一个传输介质在至少一个路径特性方面的改变;
基于所检测到的至少一个传输介质在至少一个路径特性方面的改变来修改针对所述多种流内容类型中的至少一种流内容类型的所述优选传输介质次序。
14.如权利要求8所述的设备,其特征在于,所述逻辑被进一步配置成:
确定所述第一传输介质的当前介质利用率超过第一阈值;
基于确定所述第一传输介质的所述当前介质利用率超过所述第一阈值而选择第一流以供在第二传输介质上传送;
基于选择所述第一流以供在所述第二传输介质上传送而在所述第二传输介质上传送所述第一流的第二多个分组,其中在所述选择第一流以供在所述第二传输介质上传送之后不再在所述第一传送介质上传送所述第一流的分组。
15.一种包括供设备选择要在其上传送第一流的传输介质的程序指令的计算机可读存储器介质,其中所述程序指令能被执行以:
确定多个传输介质中的每一个传输介质的路径特性,其中所述多个传输介质中的至少一个传输介质在本质上是显著动态的;
基于所确定的路径特性为所述第一流从所述多个传输介质中选择第一传输介质;
将所述第一流的第一多个分组路由至所述第一传输介质以供传输。
16.一种供设备对多个传输介质进行负载平衡的方法,其中所述多个传输介质中的至少一个传输介质在本质上是显著动态的,所述方法包括:
在第一传输介质上传送第一流的第一多个分组;
确定所述第一传输介质的当前介质利用率超过第一阈值;
基于确定所述第一传输介质的当前介质利用率超过所述第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于所述多个传输介质的一个或多个路径特性和所述第一流的一个或多个特性;
在所述第二传输介质上传送所述第一流的第二多个分组,其中在所述选择第一流以供在所述第二传输介质上传送之后不再在所述第一传输介质上传送所述第一流的分组。
17.如权利要求16所述的方法,其特征在于,所述方法进一步包括:
确定在所述第二传输介质上传送所述第一流将不会使所述第二传输介质的介质利用率超过第二阈值;
其中所述选择第一流以供在所述第二传输介质上传送是至少部分地基于所述确定在所述第二传输介质上传送所述第一流将不会使所述第二传输介质的介质利用率超过第二阈值。
18.如权利要求16所述的方法,其特征在于,所述第一流具有第一优先级等级,其中所述选择第一流以供在所述第二传输介质上传送是至少部分地基于所述第一优先级等级。
19.如权利要求18所述的方法,其特征在于,所述第一优先级等级基于所述第一流的内容类型。
20.如权利要求16所述的方法,其特征在于,
所述第一流的所述一个或多个特性包括所述第一流的估计带宽要求;
其中所述多个传输介质的所述一个或多个路径特性对于每个相应的传输介质而言包括以下一者或多者:
所述传输介质的链路容量;
当前介质利用率;或者
最大介质利用率。
21.一种设备,包括:
用于经由多个传输介质耦合至第二设备的多个端口,其中所述多个传输介质中的至少一个传输介质在本质上是显著动态的;
被配置成对所述多个传输介质进行负载平衡的逻辑,其中所述逻辑被配置成:
经由所述多个端口中的第一端口在第一传输介质上传送第一流的第一多个分组;
确定所述第一传输介质的当前介质利用率超过第一阈值;
基于确定所述第一传输介质的当前介质利用率超过所述第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于所述多个传输介质的一个或多个路径特性和所述第一流的一个或多个特性;
经由所述多个端口中的第二端口在所述第二传输介质上传送第一流的第二多个分组;
其中在所述选择第一流以供在所述第二传输介质上传送之后不再在所述第一传输介质上传送所述第一流的分组。
22.一种包括用于对多个传输介质进行负载平衡的程序指令的计算机可读存储器介质,其中所述程序指令能被执行以:
将第一流的第一多个分组路由至第一传输介质以供传输;
确定所述第一传输介质的当前介质利用率超过第一阈值;
基于确定所述第一传输介质的当前介质利用率超过所述第一阈值而选择第一流以供在第二传输介质上传送,其中所述选择还基于所述多个传输介质的一个或多个路径特性和所述第一流的一个或多个特性;
基于选择所述第一流以供在所述第二传输介质上传送而将所述第一流的第二多个分组路由至所述第二传输介质以供传输。
23.一种供第一设备来关联双向流的方法,所述方法包括:
在第一传输介质上从第二设备接收第一流的第一多个分组;
确定第二流可以关联于所述第一流地来生成,其中所述第二流用于传送给所述第二设备;
存储指示所述第一流被指派到第一传输介质并且所述第二流与所述第一流相关联的信息;
在所述第一传输介质上向所述第二设备传送所述第二流的第二多个分组;
其中所述在所述第一传输介质上向所述第二设备传送所述第二流的所述第二多个分组是基于指示所述第一流被指派到所述第一传输介质并且所述第二流与所述第一流相关联的信息。
24.如权利要求23所述的方法,其特征在于,进一步包括:
接收关于所述第二流可以关联于来自所述第二设备的所述第一流地来生成的指示,其中所述确定所述第二流可以关联于所述第一流地来生成是基于接收到关于所述第二流可以关联于所述第一流地来生成的指示。
25.如权利要求23所述的方法,其特征在于,所述第二流的所述第二多个分组是响应于接收到所述第一流的所述第一多个分组而生成的。
26.如权利要求25所述的方法,其特征在于,所述第一多个分组包括TCP数据分组,其中所述第二多个分组包括TCP ACK分组。
CN201280057047.0A 2011-11-21 2012-11-20 混合联网路径选择和负载平衡 Expired - Fee Related CN103959724B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/301,576 2011-11-21
US13/301,576 US9065749B2 (en) 2011-11-21 2011-11-21 Hybrid networking path selection and load balancing
PCT/US2012/066109 WO2013078228A1 (en) 2011-11-21 2012-11-20 Providing path information in mixed communication networks

Publications (2)

Publication Number Publication Date
CN103959724A true CN103959724A (zh) 2014-07-30
CN103959724B CN103959724B (zh) 2018-11-02

Family

ID=47297468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280057047.0A Expired - Fee Related CN103959724B (zh) 2011-11-21 2012-11-20 混合联网路径选择和负载平衡

Country Status (7)

Country Link
US (1) US9065749B2 (zh)
EP (1) EP2783491A1 (zh)
JP (2) JP2015502712A (zh)
KR (1) KR101560613B1 (zh)
CN (1) CN103959724B (zh)
IN (1) IN2014CN04024A (zh)
WO (1) WO2013078228A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311758A (zh) * 2019-07-19 2019-10-08 北京清源新创科技有限公司 数据低延迟传输方法、装置及设备和存储介质
WO2023109794A1 (en) * 2021-12-16 2023-06-22 Huawei Technologies Co., Ltd. Methods and systems for adaptive stochastic-based load balancing

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9059932B2 (en) * 2011-11-03 2015-06-16 Qualcomm Incorporated Packet ordering based on delivery route changes in communication networks
US8824477B2 (en) 2011-11-03 2014-09-02 Qualcomm Incorporated Multiple delivery route packet ordering
US9461777B2 (en) 2011-11-21 2016-10-04 Qualcomm Incorporated Hybrid networking system with seamless path switching of streams
US9065749B2 (en) 2011-11-21 2015-06-23 Qualcomm Incorporated Hybrid networking path selection and load balancing
US9014085B2 (en) * 2011-11-28 2015-04-21 At&T Intellectual Property I, L.P. Internet protocol session persistence for mobile communications
KR101858545B1 (ko) 2011-12-14 2018-05-17 퀄컴 인코포레이티드 감소된 트랜지스터 누설 전류를 위한 게이트 라운딩
US9055608B2 (en) * 2012-08-31 2015-06-09 Verizon Patent And Licensing Inc. Frequency band admission
US10516904B2 (en) * 2012-09-14 2019-12-24 Comcast Cable Communications, Llc Controlling delivery of requested content based on delivery bandwidth limitations
US9167310B2 (en) 2012-09-14 2015-10-20 Comcast Cable Communications, Llc Optimized delivery techniques
US9722943B2 (en) * 2012-12-17 2017-08-01 Qualcomm Incorporated Seamless switching for multihop hybrid networks
US20140241167A1 (en) * 2013-02-27 2014-08-28 Rogers Communications Inc. Hybrid cable-wireless system
GB2517156A (en) * 2013-08-12 2015-02-18 En Twyn Ltd A power line communications network
US9178714B2 (en) * 2013-09-04 2015-11-03 Qualcomm Incorporated Selecting a communication medium for data transmission
JP6338349B2 (ja) * 2013-10-28 2018-06-06 キヤノン株式会社 データ送信装置、データ受信装置、それらの制御方法、プログラム
US9473418B2 (en) 2013-12-12 2016-10-18 International Business Machines Corporation Resource over-subscription
US9510283B2 (en) * 2014-01-24 2016-11-29 Starkey Laboratories, Inc. Systems and methods for managing power consumption in a wireless network
US20150312337A1 (en) * 2014-04-25 2015-10-29 Netapp Inc. Mirroring log data
US10243784B2 (en) * 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US10057336B2 (en) * 2015-11-17 2018-08-21 Sap Se Dynamic load balancing between client and server
US10063457B2 (en) * 2016-03-29 2018-08-28 Juniper Networks, Inc. Method, system, and apparatus for improving forwarding capabilities during route convergence
JP6432991B2 (ja) * 2016-03-31 2018-12-05 Necプラットフォームズ株式会社 ネットワーク機器及びその制御方法
CN109417509B (zh) * 2016-05-13 2021-07-13 瑞典爱立信有限公司 多路径网络中改善的资源使用
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US10404567B2 (en) * 2016-12-29 2019-09-03 Oath Inc. UDPing-continuous one-way monitoring of multiple network links
JP6879129B2 (ja) * 2017-08-31 2021-06-02 沖電気工業株式会社 中継装置および中継プログラム
KR102242523B1 (ko) * 2018-04-16 2021-04-21 엘지전자 주식회사 무선전력 전송시스템에서 데이터 스트림의 전송을 수행하는 장치 및 방법
WO2020236272A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating fine-grain flow control in a network interface controller (nic)
CN114651480A (zh) * 2019-11-06 2022-06-21 华为技术有限公司 执行多路径通信
EP4097928A1 (en) * 2020-01-29 2022-12-07 Arris Enterprises, Llc Methods, systems, and devices for steering packets across multiple access technologies
WO2024189858A1 (ja) * 2023-03-15 2024-09-19 日本電信電話株式会社 通信システム、送信機、通信方法、および通信用プログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042938A (zh) * 2006-03-24 2007-09-26 富士通株式会社 以纠错码存储器构成的具有冗余功能的半导体存储器设备
US20080002716A1 (en) * 2006-06-30 2008-01-03 Wiley William L System and method for selecting network egress
CN101170497A (zh) * 2007-11-20 2008-04-30 中兴通讯股份有限公司 报送网络资源信息数据的方法及装置
CN101202632A (zh) * 2006-12-13 2008-06-18 英业达股份有限公司 双控制器系统的数据传输系统及方法及通信路径选择方法
CN101282346A (zh) * 2008-05-14 2008-10-08 北京泰得思达科技发展有限公司 一种双控制器系统的通讯路径选择的方法
EP2061211A1 (en) * 2006-09-05 2009-05-20 NEC Corporation Packet recovery method, communication system, information processing device, and program
CN101447929A (zh) * 2008-12-26 2009-06-03 华为技术有限公司 一种流量选路方法、路由器和通信系统
CN101471759A (zh) * 2007-12-28 2009-07-01 中国移动通信集团公司 提高业务数据传输质量的方法和业务数据传输装置
CN101572695A (zh) * 2008-04-30 2009-11-04 深圳华为通信技术有限公司 一种传输流路径切换的方法、系统及装置
CN101707571A (zh) * 2009-09-23 2010-05-12 李悦 一种电力线、无线双网路由方法
CN102143020A (zh) * 2010-12-31 2011-08-03 华为终端有限公司 一种传输方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3114672B2 (ja) * 1997-10-21 2000-12-04 日本電気株式会社 Atmネットワークにおけるコネクション性能測定方法
JP3597049B2 (ja) * 1998-07-09 2004-12-02 日本電気エンジニアリング株式会社 統合ネットワーク内における経路選択型通信装置
JP2003124980A (ja) * 2001-10-17 2003-04-25 Fujitsu Ltd パケット振り分け装置
JP3678200B2 (ja) * 2002-01-11 2005-08-03 Kddi株式会社 通信内容の秘匿性向上のための経路分散装置
JP2006345323A (ja) * 2005-06-09 2006-12-21 Mitsubishi Electric Corp データ転送装置および情報伝送システム
US20070110035A1 (en) 2005-11-14 2007-05-17 Broadcom Corporation, A California Corporation Network nodes cooperatively routing traffic flow amongst wired and wireless networks
US8477600B2 (en) * 2008-01-18 2013-07-02 Futurewei Technologies, Inc. Composite transport functions
JP5169296B2 (ja) * 2008-02-22 2013-03-27 日本電気株式会社 通信装置、帯域制御通信方法、帯域制御通信プログラムおよびプログラム記録媒体
CN101252461B (zh) * 2008-04-11 2010-08-04 华为技术有限公司 信令传送的保护方法、装置、终端及系统
DE102008030939A1 (de) * 2008-07-02 2010-01-07 Deutsche Thomson Ohg Verfahren und Vorrichtung zur Verwaltung von Datenübertragungen in einem Netz
US8462881B2 (en) * 2008-12-31 2013-06-11 Ubidyne, Inc. Method for digitally predistorting a payload signal and radio station incorporating the method
JP5329244B2 (ja) * 2009-01-16 2013-10-30 株式会社東芝 無線端末および無線通信方法
JP2010171662A (ja) * 2009-01-21 2010-08-05 Kddi R & D Laboratories Inc アプリケーションに基づくリソース混雑度に応じた異種無線システムの切替制御方法、無線端末、基地局及びプログラム
WO2011021754A1 (en) * 2009-08-20 2011-02-24 Lg Electronics Inc. Method for transmitting a packet at a base station in a network using multiple communication schemes
JP5445184B2 (ja) * 2010-02-04 2014-03-19 富士通株式会社 通信装置、通信システム及び通信方法
US8726082B2 (en) * 2011-09-02 2014-05-13 Verizon Patent And Licensing Inc. Method and system for providing incomplete action monitoring and service for data transactions
US9065749B2 (en) 2011-11-21 2015-06-23 Qualcomm Incorporated Hybrid networking path selection and load balancing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042938A (zh) * 2006-03-24 2007-09-26 富士通株式会社 以纠错码存储器构成的具有冗余功能的半导体存储器设备
US20080002716A1 (en) * 2006-06-30 2008-01-03 Wiley William L System and method for selecting network egress
EP2061211A1 (en) * 2006-09-05 2009-05-20 NEC Corporation Packet recovery method, communication system, information processing device, and program
CN101202632A (zh) * 2006-12-13 2008-06-18 英业达股份有限公司 双控制器系统的数据传输系统及方法及通信路径选择方法
CN101170497A (zh) * 2007-11-20 2008-04-30 中兴通讯股份有限公司 报送网络资源信息数据的方法及装置
CN101471759A (zh) * 2007-12-28 2009-07-01 中国移动通信集团公司 提高业务数据传输质量的方法和业务数据传输装置
CN101572695A (zh) * 2008-04-30 2009-11-04 深圳华为通信技术有限公司 一种传输流路径切换的方法、系统及装置
CN101282346A (zh) * 2008-05-14 2008-10-08 北京泰得思达科技发展有限公司 一种双控制器系统的通讯路径选择的方法
CN101447929A (zh) * 2008-12-26 2009-06-03 华为技术有限公司 一种流量选路方法、路由器和通信系统
CN101707571A (zh) * 2009-09-23 2010-05-12 李悦 一种电力线、无线双网路由方法
CN102143020A (zh) * 2010-12-31 2011-08-03 华为终端有限公司 一种传输方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311758A (zh) * 2019-07-19 2019-10-08 北京清源新创科技有限公司 数据低延迟传输方法、装置及设备和存储介质
WO2023109794A1 (en) * 2021-12-16 2023-06-22 Huawei Technologies Co., Ltd. Methods and systems for adaptive stochastic-based load balancing

Also Published As

Publication number Publication date
US9065749B2 (en) 2015-06-23
US20130128738A1 (en) 2013-05-23
CN103959724B (zh) 2018-11-02
KR101560613B1 (ko) 2015-10-16
IN2014CN04024A (zh) 2015-07-10
EP2783491A1 (en) 2014-10-01
JP2016167851A (ja) 2016-09-15
KR20140100529A (ko) 2014-08-14
WO2013078228A1 (en) 2013-05-30
JP2015502712A (ja) 2015-01-22

Similar Documents

Publication Publication Date Title
CN103959724A (zh) 在混合通信网络中提供路径信息
CN103959698A (zh) 具有无缝路径切换的混合联网系统
US9608899B2 (en) Packet-based aggregation of data streams across disparate networking interfaces
CN101411134B (zh) 用于高速媒体接入控制的存储器管理
CN103348637B (zh) 用于混合通信网络中的帧递送路径选择的方法和装置
CN104956637A (zh) 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统
WO2014166402A1 (en) System and method for providing a software defined protocol stack
TW200816758A (en) Systems and methods for dynamically customizable quality of service on the edge of a network
US12089082B1 (en) Multichannel communication systems
US9538545B2 (en) Mapping data traffic throughout protocol layers based on priority information
EP2073453B1 (en) Communication method in a network comprising a primary network and a secondary network
CN107257962A (zh) 用于通用串行总线的协议适配层数据流控制
EP2362589A1 (en) Priority and source aware packet memory reservation and flow control
CN104025519A (zh) 传送数据流的分组的网络网关和方法
CN103023811B (zh) 队列调度策略的切换方法及装置
EP3902215A1 (en) Method for transmitting data and network device
CN116418753A (zh) 报文的调度方法、装置、电子设备及存储介质

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
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: 20181102

Termination date: 20201120