CN109983737A - 用于评估聚合的连接的网络性能的方法和*** - Google Patents

用于评估聚合的连接的网络性能的方法和*** Download PDF

Info

Publication number
CN109983737A
CN109983737A CN201780061963.4A CN201780061963A CN109983737A CN 109983737 A CN109983737 A CN 109983737A CN 201780061963 A CN201780061963 A CN 201780061963A CN 109983737 A CN109983737 A CN 109983737A
Authority
CN
China
Prior art keywords
connection
packet
data
data packet
assessment
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
CN201780061963.4A
Other languages
English (en)
Other versions
CN109983737B (zh
Inventor
宋浩伟
梁允俊
陈永康
吴锦超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pismo Labs Technology Ltd
Original Assignee
Pismo Labs Technology Ltd
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
Priority claimed from US15/462,951 external-priority patent/US9876723B2/en
Application filed by Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Publication of CN109983737A publication Critical patent/CN109983737A/zh
Application granted granted Critical
Publication of CN109983737B publication Critical patent/CN109983737B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • 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/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/18End to end
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用于通过所选连接传输数据包的方法和***,其中数据会话的第一数据包满足匹配条件。通过用户界面接收所述匹配条件。当接收到所述数据会话的数据包时,然后将通过所选连接传输所述数据包。基于连接选择标准从连接中选择所述所选连接。当由计算装置发送时更改第一数据包的其它差分服务代码点(DSCP)。在网络节点接收到所述第一数据包之后,然后重置DSCP值,之后再发送所述第一数据包。

Description

用于评估聚合的连接的网络性能的方法和***
技术领域
本发明总体上涉及计算机网络的领域。更具体地,本发明涉及用于通过经由多个连接传输评估包而周期性地确定所述多个连接的性能的方法和***。至少部分地基于所述性能选择一个或多个连接以用于传输数据包。通过所述一个或多个连接中的至少一个连接传输数据包。
背景技术
多广域网(WAN)通信装置能够使用其WAN接口中的一个或多个传输数据包。通信装置还支持聚合多个WAN接口的带宽。通信装置还支持端到端连接,例如虚拟专用网(VPN)连接和基于会话的站点到站点(VPN)连接和隧穿。在一些实施方案中,每个TCP/IP会话仅被路由到一个WAN。在此配置中,单个TCP文件传送会话可能仅利用每个端上的一个WAN连接的带宽。例如,在基于会话的站点到站点虚拟专用网(VPN)连接中,VPN流量被路由到两个站点(例如,站点A和B)之间的多个WAN连接。
在一个实施方案中,在WAN连接之间初始地形成M×N个隧道,其中M和N分别是站点A和站点B的WAN网络连接的数量。随后经由不同的隧道路由应用程序TCP/IP会话。然而,应注意,虽然基于会话的站点到站点VPN能够针对不同的会话利用不同的隧道,但是此类型的连接中的单个下载会话仅能够利用一个隧道。
当通信装置传输数据包时,通信装置需要选择最合适的WAN网络接口、接入连接、逻辑连接或端到端连接来传输数据包。然而,要花费时间以识别WAN网络接口、接入连接、逻辑连接或端到端连接中的哪个是最合适的。用以传输数据包的最合适的WAN网络接口、接入连接、逻辑连接或端到端连接应是可以最快地传输数据包或根据一组性能标准的一个。此外,当通信装置建立属于聚合的端到端连接的多个端到端连接时,重要的是选择具有最佳性能的端到端连接来传输数据包,使得聚合的端到端连接的总体性能令人满意,且不受通过具有较差性能的所建立的端到端连接传输数据包不利地影响。
然而,众所周知,端到端连接的性能可能不时地变化。因此,需要周期性地重新确定端到端连接的性能以便校验在给定时间哪个(哪些)端到端连接具有最佳性能。还重要的是使用含有相同信息的数据包重新确定所建立的端到端连接的性能,使得可以基于所建立的端到端连接的性能在所建立的端到端连接之间进行公平比较。
发明内容
本发明公开一种由第一通信装置执行的用于确定多个连接的性能并且实质上基于性能从所述多个连接中选择至少一个第一连接的方法。随后通过所述至少一个第一连接传输数据包。可以聚合所述多个连接以形成聚合的连接。通过经由所述多个连接传输评估包来执行确定性能。评估包基于由第一通信装置接收到的但是尚未通过聚合的连接传输的数据包。数据包可以指定用于可通过聚合的连接到达的主机或节点。替代地,当不存在将通过聚合的连接传输的数据包时,评估包可以基于预定义信息。可以周期性地执行确定性能。当存在超过一个第一连接时可以使用负载均衡来传输数据包。
根据本发明的一个实施例,将至少一个第一连接中的每个连接分到至少两组中。所述至少两组中的至少一组优选用于传输第一类型的数据包,而所述至少两组中的另一至少一组优选用于传输第二类型的数据包。
根据本发明的一个实施例,评估包具有相同或实质上相同的大小。评估包还可以具有相同或实质上相同的信息。
根据本发明的一个实施例,性能实质上基于时延。至少一个第一连接进一步基于数据包的对应时延要求。可以根据数据包的内容确定数据包的对应时延要求。在一个变型中,当确定一个连接的时延高于约1000毫秒时,不选择所述连接作为至少一个第一连接中的一个。当第二连接的时延超过约800毫秒时,第二连接不用于含有近实时视频数据或近实时话音通信的数据包。当第三连接的时延超过约500毫秒时,第三连接不用于近实时话音通信。第二连接和第三连接包括在至少一个第一连接中。
本发明进一步公开一种用于在第一通信装置处通过聚合的连接传输数据包的方法,所述方法首先确定包括在聚合的连接中的多个连接的时延。确定多个连接的时延中的差异,并且确定时延中的差异是否高于时延偏差阈值。若具有最高时延的至少一个第一连接的时延中的差异高于时延偏差阈值,则不使用所述至少一个第一连接传输数据包。替代地使用具有相对低时延的至少一个第二连接传输数据包。多个连接由至少一个第一连接和/或至少一个第二连接组成。在一个变型中,使用第三代移动通信技术(3G)建立至少一个第一连接,并且使用***移动通信技术(4G)或有线以太网建立至少一个第二连接。在一个变型中,当聚合的连接仅包括使用3G建立的至少一个第一连接时,使用所述至少一个第一连接传输数据包。
附图说明
图1A示出了根据本发明的各种实施例的网络环境。
图1B示出了根据本发明的一个实施例的网络环境。
图1C示出了根据本发明的一个实施例的网络环境。
图2是根据本发明的一个实施例的通信装置的示意性框图。
图3A示出了根据本发明的一个实施例的时序图。
图3B示出了根据本发明的一个实施例的时序图。
图4示出了根据本发明的一个实施例的其中只有一个连接用于传输数据包的时序图。
图5示出了根据本发明的一个实施例的其中超过一个连接用于传输数据包的时序图。
图6示出了表示根据本发明的一个实施例的评估包和数据包的传输的时序图。
图7示出了表示根据本发明的一个实施例的评估包和数据包的传输的时序图。
图8A是示出根据本发明的一个实施例的过程的流程图。
图8B是示出根据本发明的一个实施例的过程的流程图。
图9是示出根据本发明的一个实施例的过程的流程图。
图10是示出根据本发明的一个实施例的过程的流程图。
图11示出了根据本发明的一个实施例的用于通信装置的用户或管理员的图形用户界面(GUI)。
图12示出了根据本发明的一个实施例的用于用户选择参数的GUI。
图13示出了表示根据本发明的一个实施例的数据包的传输的时序图。
图14是示出根据本发明的一个实施例的过程的流程图。
具体实施方式
图1A示出了***101,展示根据本发明的一个实施例的网络环境。***101包含多个站点102和104,所述站点各自包括至少一个通信装置106和108。通信装置106和108经由网络110连接。网络110可以包括局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网络、公用交换电话网(PSTN)、因特网、企业内部网、外联网等。
站点102和通信装置106可以包括M个连接112,站点104和通信装置108可以包括N个连接114。连接112和114是用于在站点102与104之间的网络110内通信信息的接入连接。在所示的实施例中,M等于3且N等于2;然而,这些值可以根据所需装置和配置而改变。连接112和114可以具有类似的或不同的带宽能力。此外,连接112和114可以包括不同类型的WAN连接,例如WiFi、电缆、DSL、TI、3G、4G、LTE、卫星连接等。还应注意,站点102和站点104可以被认为是发送器或接收器两者,并且关于任一站点的功能性的论述可以在另一站点上实施。换句话说,***100可以实施为对称网络。
图1B示出了根据本发明的一个实施例的网络环境。逻辑连接103A、103B和103C将通信装置106连接到通信装置108。在一个变型中,逻辑连接103A、103B和103C是端到端连接,其经绑定以形成聚合的端到端连接。在一个变型中,逻辑连接103A、103B和103C被分到不同的连接组中,并且至少部分地基于连接所被分到的组而通过连接传输数据。
根据一个实施例,通信装置106和108具有多个网络接口。通信装置106经由其多个网络接口中的一个或多个与通信装置108的一个或多个网络接口建立逻辑连接103A、103B和103C。
通信装置106和108可以充当网关、路由器、交换器、接入点、集线器、网桥等。
图1C示出了根据实施例调适的***100,其被配置成通过调节在数据会话期间的隧道带宽加权模式来优化绑定的多个可变带宽连接的吞吐量。***100类似于***101,除M×N个虚拟隧道116之外。当例如通过实施绑定的站点到站点VPN连接在站点102与104之间建立绑定的连接时,可以创建M×N个虚拟隧道116。虚拟隧道116对应于站点102的网络连接和站点104的网络连接的独特排列。在通信装置106与108之间形成聚合的端到端连接。连接112和114实施为逻辑连接。
图2是根据本发明的一个实施例的通信装置(例如,通信装置106)的示意性框图。通信装置106包括处理单元201、主存储器202、***总线203、辅助存储装置204以及多个网络接口205。处理单元201和主存储器202彼此直接连接。***总线203将处理单元201直接或间接连接到辅助存储装置204和多个网络接口205。使用***总线203允许通信装置106具有提高的模块性。***总线203将处理单元201耦合到辅助存储装置204和多个网络接口205。***总线203可以是包含存储器总线、***总线以及使用各种总线架构中的任一个的本地总线的若干类型总线结构中的任一个。辅助存储装置204存储用于通过处理单元201执行的程序指令。辅助存储装置204进一步存储条件,其中将连接分到不同组中取决于连接是否满足所述条件。辅助存储装置204还存储分别传输用于确定连接的性能的数据包以及属于数据会话的数据包的预定义时间周期。
一个或多个网络接口205连接到对应的接入连接。通信装置106使用一个或多个接入连接以连接到如图1A中所示的一个或多个公用网络和/或专用网络。在一个变型中,可以使用接入连接建立一个或多个连接以连接通信装置106与另一网络节点(例如通信装置108)或网络主机,如图1B和图1C中所示。
图3A示出了表示根据一个实施例的通过在通信装置(例如,通信装置106)处的连接传输评估包和数据包的时序图。为了更好地理解,结合图2来看图3A。时序图301、302和303分别表示通过第一、第二和第三连接的传输。水平轴线表示时间。通信装置106通过多个网络接口205中的至少一个连接到第一、第二和第三连接。时间实例表示为t-0、t-1、t-6、t-7、t-2、t-3、t-4和t-5。
出于说明的目的,在t-0或实质上相同时间分别通过第一、第二和第三连接传输评估包311a、311b和311c以便确定第一、第二和第三连接的性能。在约t-1处,通信装置106已经分别通过第一连接和第二连接传输评估包311a和311b,并且已经接收到来自通信装置108的确认。然而,通信装置106尚未完成评估包311c的传输。传输评估包所需的时间量中的差异可以归因于多种原因,包含连接的网络性能。另外,在约t-1处,处理单元201在其已经完全传输评估包311a之后已经确定第一连接具有最佳网络性能。所属领域的技术人员众所周知,存在多种方式来基于评估包确定网络性能。为了清楚起见,本发明不限于使得处理单元201在完全传输评估包311a之后的约相同时间处进行网络性能决策。可以基于评估包的传输以及确认的接收来确定性能。可以进一步基于从通信装置108接收到的数据包来确定性能。
一旦处理单元201已经确定第一连接具有最佳性能,处理单元201就选择第一连接来传输数据包312。数据包312含有表示为数据-2的数据。数据-2可以属于一个数据流、多个数据流或不属于流的数据。数据-2的长度可以变化。数据包312可以具有不同大小并且可以包括一个或多个数据包。例如,数据包312可以是因特网协议(IP)包。
在另一示例中,在约t-2处,处理单元201再次重新开始用以确定第一、第二和第三连接的性能的过程。在约t-3处,处理单元201已经确定第二连接具有最佳性能并且因此选择第二连接来传输数据包314。
在一个变型中,传输评估包311、313和315以便选择用于传输数据包的网络接口。例如,多个网络接口206包括第一、第二和第三网络接口。通过第一、第二和第三网络接口传输评估包以用于确定哪个网络接口与具有最佳性能的连接相关联。出于说明的目的,当确定第一网络接口与具有最佳性能的连接相关联时,通过与第一网络接口相关联的连接来传输数据包。连接可以是接入连接或逻辑连接。
根据本发明的一个实施例,在约相同时间传输的评估包含有相同或实质上相同的信息。例如,评估包311a、311b和311c含有相同或实质上相同的信息数据-1。类似地,评估包313a、313b和313c含有相同或实质上相同的信息数据-3。类似地,评估包315a、315b和315c含有相同或实质上相同的信息数据-5。传输全部评估包311、313和315以便确定连接的性能。
当使用相同或实质上相同的信息时,处理单元201不需要产生用于评估包的不同信息。这可以减少所需的计算资源量。另外,可以更准确地比较连接的性能,因为评估包的长度和内容相同或实质上相同。
在一个变型中,相同或实质上相同的信息属于相同数据会话。出于说明的目的,包含于评估包311a、311b和311c中的数据-1、包含于数据包312中的数据-2、包含于评估包313a、313b和313c中的数据-3、包含于数据包314中的数据-4以及包含于评估包315a、315b和315c中的数据-5属于相同数据会话。因此,评估包是属于数据会话的数据包。使用属于数据会话的评估包以确定性能的益处是当传输评估包时不会显著破坏、中断或暂停数据流传输。这是重要的,因为可以周期性地且频繁地评估或确定性能,而不仅在数据会话开始时评估或确定。当存在当前数据会话且存在将要传输的数据包时,优选的是使用数据包作为评估包,即基于数据包的传输评估连接的性能。
在另一示例中,使用TCP将视频流通过通信装置106传输到通信装置108。评估包311a、311b和311c的数据-1封装视频的第一帧的数据。数据包312的数据-2封装视频的第二帧的数据。评估包313a、313b和313c中的数据-3是视频的第三帧。数据包314的数据-4封装视频的第四帧的数据。评估包315a、315b和315c的数据-5封装视频的第五帧的数据。当通过评估包确定性能时,仍然传输视频流的数据。另外,视频仍然在不中断的情况下从通信装置106传输到通信装置108,即使当从t-0到t-5选择不同连接时,即,当在约t-1选择第一连接且在约t-3选择第二连接时。
使用属于数据会话的评估包的另一益处是使用实时数据来确定性能。这使得性能确定更准确且恰当。
在一个变型中,评估包311、313和315含有预定义的信息。尽管在数据会话期间使用含有预定义信息的评估包来确定性能可能打断数据流会话,但是所确定的性能可以用来与所确定的历史性能进行比较。当不存在当前数据会话或当前数据会话没有要传输的数据时,含有预定义数据的评估包更适合用来确定性能。例如,在图3A中,评估包311、313和315含有预定义信息。评估包311a、311b和311c中的预定义信息应是相同的,以便对第一、第二和第三连接进行准确的性能比较。类似地,评估包313a、313b和313c中的预定义信息应是相同的,并且评估包315a、315b和315c中的预定义信息也应是相同的。因此,在时间周期t-0到t-1、t-2到t-3以及t-4到t-5中,对于传输评估包,数据会话被打断、中断或暂停。在一个变型中,评估包311、313和315中的预定义信息是相同的。出于说明的目的,当评估包含有预定义信息时,传输评估包的间隔可以在5秒到15分钟的范围内。优选地,时间周期t-0到t-2可以在5秒到15分钟的范围内。
根据本发明的一个实施例,数据包可以被视为评估包,使得数据包也可以用来确定连接的性能。例如,在约t-3处,处理单元201基于包含于数据包312中的数据-2和包含于评估包313a中的数据-3的成功传输而确定第一连接的性能。处理单元201使用基于仅分别包含于评估包313b和313c中的数据-3的成功传输来确定第二连接和第三连接的性能,因为没有数据包通过第二和第三连接传输。
根据本发明的一个实施例,可以通过用户或管理员配置每个评估包的大小。在一些情境中,一些运营商可以给予更小的包更高的优先级,使得更小的包可以比更大的包更早传输。更小的包可以传输得更早,这可以有利于将评估包的大小配置得更小。因此,所评估时延可以更接近连接的理论时延。若仅评估包而不是全部数据包的大小被配置成小的,则所评估时延可以比在传输数据包时将经历的实际时延低得多。因此,所评估时延可能不能准确地表示连接的性能。为避免这样,可以将全部数据包和评估包的大小配置成小的。
替代地,评估包和数据包的大小可配置成较大。当每个包的大小较大时可以减少总开销,因为存在针对给定量数据的更少数量的包。此外,可以减少用于处理包所需的计算资源,因为包的数量可以更少。
根据本发明的一个实施例,评估包具有相同的大小或实质上相同的大小。例如,评估包311a、311b和311c全部由五个包组成,如图3B中所示。评估包311a由包3001到3005组成;评估包311b由包3011到3015组成;并且评估包311c由包3021到3025组成。包3001、3011和3021全部具有相同的大小。类似地,包3002、3012和3022全部具有相同的大小;包3003、3013和3023全部具有相同的大小;包3004、3014和3024全部具有相同的大小;并且包3005、3015和3025全部具有相同的大小。因此,评估包311a、311b和311c全部具有相同的大小。使用相同大小或实质上相同大小的评估包用于评估允许处理单元201更准确地对连接的性能进行比较。包3001到3025的内容可以是相同的、不同的或随机产生的。包3001到3025的内容还可以属于与先前论述的其它实施例类似的相同数据会话。
当在通过连接传输数据包时连接变得断开或失效时,处理单元201随后传输评估包以用于确定全部三个连接的性能。例如,在含有数据-2的数据包312通过第一连接传输时,第一连接在t-1与t-2之间的时间处(例如,在t-6处)失效。随后处理单元201不等待直到t-2来通过全部三个连接传输含有数据-3的评估包313。取而代之,处理单元201在约t-6处通过第一、第二和第三连接传输评估包313。随后可以确定所述三个连接的性能,并且根据所确定的性能通过所述三个连接中的一个传输含有数据-4的数据包314。
替代地,当第一连接失效时,处理单元201在t-6处仅通过第二和第三连接传输评估包313并且确定第二和第三连接的性能。接着根据所确定的性能通过第二或第三连接传输数据包314。不确定第一连接的性能,因为第一连接已经失效,并且不可立即用于传输数据包。这还可以指示第一连接相比其它连接较不稳定,并且因此通过不使用第一连接可以避免数据传输中的不规则性。
图4示出了其中连接并行地用来传输属于两个数据会话的数据包的实施例。时序图表示根据本发明的一个实施例的通过在通信装置(例如,通信装置106)处的连接传输评估包和数据包。为了更好地理解,结合图2来看图4。时序图401、402和403分别针对第一、第二和第三连接。通信装置106通过多个网络接口205中的至少一个连接到第一、第二和第三连接。时间实例分别表示为t-0、t-1、t-6、t-2、t-3、t-7、t-4和t-5。
评估包410a、410b和410c分别通过第一、第二和第三连接传输,含有相同或实质上相同的信息数据-0。类似地,评估包413a、413b和413c含有相同或实质上相同的信息数据-3。类似地,评估包416a、416b和416c含有相同或实质上相同的信息数据-6。如先前所描述,评估包410、413和416的内容可以属于预定义或随机产生的数据会话。另外,如先前所描述,评估包410a、410b和410c的大小可以是相同的。这也适用于评估包413和416。
出于说明的目的,分别含有数据-11和数据-12的数据包411和414属于第一数据会话。分别含有数据-21和数据-22的数据包412和415属于第二数据会话。在一个变型中,评估包410、413和416属于第一数据会话或第二数据会话。用户或管理员能够选择哪些数据会话将用于评估包。替代地,评估包410、413和416的内容不属于任何数据会话并且含有预定义的信息。在一个变型中,当通信装置(例如,通信装置106)的用户或管理员给予特定数据会话更高的优先选择时,评估包410、413和416的内容属于具有更高的优先选择的特定数据会话。用户或管理员可以因各种原因而对特定数据会话具有更高的优先选择。例如,用户可能想要特定数据会话的信息比其它数据会话的信息传输得更快。例如,用户给予第一数据会话更高的优先选择,因为用户希望第一数据会话的信息比第二数据会话的信息传输得更早。接着评估包410、413和416属于第一数据会话。当评估包410、413和416携载第一数据会话的信息时,在给定时间周期内,相比于属于第二数据会话的信息,传输更多的属于第一数据会话的信息。因此,根据用户的优先选择,更可能的是第一数据会话的信息比第二数据会话的信息传输得更早。
在约t-0处,分别通过第一、第二和第三连接传输评估包410a、410b和410c以确定连接的性能。在约t-1处,处理单元201确定第一连接具有最佳性能。因此,在约t-1处通过第一连接传输属于第一数据会话的数据包411。在约t-6处,通信装置106随后可以开始传输属于第二数据会话的数据包412。因此,尽管存在两个持续的数据会话,但是通信装置106在给定时间处仅使用一个连接用于传输数据包。分别通过第一、第二和第三连接传输评估包413a、413b和413c以用于确定在约t-2处的连接的性能。在约t-3处,处理单元201确定第二连接具有最佳性能。因此,在约t-3处通过第二连接传输属于第一数据会话的数据包414。在约t-7处已经传输数据包414之后,处理单元201传输属于第二数据会话的数据包415并且在约t-4处再次重新评估第一、第二和第三连接的性能。因此,分别通过第一、第二和第三连接传输由评估包416a、416b和416c构成的评估包416以确定其性能。
如图4中所示,即使当存在两个数据会话时在给定时间处也仅使用一个连接来传输数据包。为了清楚起见,本发明还适用于三个或更多个数据会话。这样的优势之一是,若连接被连接到或通过相同网络,则一个连接可用的带宽可或多或少地与全部连接可用的带宽相同。另外,在连接为无线接入连接的情况下仅使用一个连接可以减少信道干扰。例如,在传输属于第一数据会话的数据包411时,第一连接可以具有不受第二和第三无线接入连接干扰的带宽容量。此外,当在某一时间使用一个连接时相比于当在某一时间使用超过一个连接时,所需的处理功率和计算资源的量可以更少。
在一个变型中,第一、第二和第三连接是接入连接,例如使用Wi-Fi、LTE和/或3G通信技术的无线接入连接。在一个变型中,第一、第二和第三连接是在通信装置106与108之间的VPN隧道。
图5示出了其中使用超过一个连接传输属于超过一个数据会话的数据包的本发明的一个实施例。为了更好地理解,结合图2来看图5。时序图501、502和503分别用于第一、第二和第三连接。通信装置106通过多个网络接口205中的至少一个连接到第一、第二和第三连接。时间实例分别表示为t-1、t-2、t-3、t-4和t-5。
评估包510a、510b和510c分别通过第一、第二和第三连接传输并且含有相同或实质上相同的信息数据-0。类似地,评估包513a、513b和153c含有相同或实质上相同的信息数据-3。类似地,评估包516a、516b和516c含有相同或实质上相同的信息数据-6。评估包510、513和516的内容可以属于预定义或随机产生的数据会话。另外,如先前所描述,评估包510a、510b和510c的大小可以是相同的。这也适用于评估包513和516。
在图5中,示出了属于两个数据会话的数据包的传输。因此,分别含有数据-11和数据-12的数据包511和514属于第一数据会话。分别含有数据-21和数据-22的数据包512和515属于第二数据会话。在一个变型中,评估包510、513和516属于或第一数据会话或第二数据会话。用户或管理员能够选择评估包属于哪个数据会话。替代地,评估包510、513和516不属于任何数据会话并且含有预定义的信息。
在t-0处,分别通过第一、第二和第三连接传输评估包510a、510b和510c以确定连接的性能。在约t-1处,处理单元201确定第一连接具有最佳性能,并且第二连接具有第二最佳性能。在约t-1处,分别通过第一连接和第二连接传输属于第一数据会话的数据包511和属于第二数据会话的数据包512。
在一个变型中,用户或管理员给予第一数据会话更高的优先选择。因此,处理单元201确定通过具有最佳性能的第一连接传输属于第一数据会话的数据包511,因为用户希望第一数据会话为更快且更可靠的。通过具有第二最佳性能的第二连接传输属于第二数据会话的数据包512。
在一个变型中,用户或管理员不具有对特定数据会话的任何优先选择。因此,处理单元201使用第一和第二连接来随机传输属于第一或第二数据会话的数据包。因此,作为图5中的示例的替代方案,可以通过第一连接而不是第二连接传输数据包512,并且可以通过第二连接而不是第一连接传输数据包511。
在约t-2处,分别通过第一、第二和第三连接传输评估包513a、513b和513c以再次确定连接的性能。在约t-3处,处理单元201确定第二和第三连接具有最佳性能。
在一个变型中,当用户或管理员给予第一数据会话更高优先选择时,通过第二连接传输属于第一数据会话的数据包514,因为第二连接具有最佳性能,并且通过第三连接传输属于第二数据会话的数据包515。
替代地,若用户或管理员不具有对特定数据会话的任何优先选择,则随机使用第二和第三连接来传输属于第一或第二数据会话的数据包。因此,作为图5中的示例的替代方案,可以通过第二连接而不是第三连接传输数据包515,并且可以通过第三连接而不是第二连接传输数据包514。
在一个变型中,用户或管理员不具有对特定数据会话的任何优先选择。在先前评估时间周期(即,t-0到t-1)之后确定例如第二连接等连接为具有最佳性能的连接中的一个。在评估时间周期t-2到t-3之后再次确定第二连接为具有最佳性能的连接中的一个。在此情况下,优选的是若可能则不改变用于数据会话的连接。更确切地说,由于从t-1直到t-2使用第二连接以传输属于第二数据会话的数据包512,因此从t-3直到t-4再次使用第二连接来传输属于第二数据会话的数据包515。以此方式,第二数据会话将更平稳,因为不切换所使用的连接。
当两个连接分别用于传输两个数据会话的数据包时,可以通过使用负载均衡技术同步传输第一以及数据会话的数据包。由于两个数据会话可以是并行的,因此很可能相比于当只有一个连接用于这两个数据会话时传输完成更快,尤其当两个连接不连接到或不通过相同网络时。然而,可能存在由两个连接的同时使用引起的一些干扰。当连接均衡时所需的处理功率和资源也更高。
比较图3A、图4和图5,图3A示出了属于一个数据会话的数据包的传输,其中在给定时间处仅使用一个连接。另一方面,图4示出了属于两个数据会话的数据包的传输,并且在给定时间处仅使用一个连接。图5也示出了属于两个数据会话的数据包的传输,但是与图4不同,在给定时间处使用两个连接分别传输属于两个数据会话的数据包。
在一个变型中,在传输评估包510和513之后,处理单元201可已经决定全部三个连接已满足性能要求,并且因此可以通过全部三个连接传输数据包511、512、514和515。
图6示出了表示根据本发明的一个实施例的通过在通信装置(例如,通信装置106)处的连接传输评估包和数据包的时序图。为了更好地理解,结合图2来看图6。时序图620、621、622、630和631分别针对第一、第二、第三、第四和第五连接。通信装置106通过多个网络接口205中的至少一个连接到第一、第二、第三、第四和第五连接。时间实例分别表示为t-1、t-2、t-3、t-4和t-5。在一个变型中,第一、第二、第三、第四和第五连接是连接到通信装置106的网络接口205的接入连接。在一个变型中,第一、第二、第三、第四和第五连接是通过网络接口205连接到通信装置106的逻辑连接。
第一、第二、第三、第四和第五连接分到两组中。第一、第二和第三连接属于第一组并且第四和第五连接属于第二组。处理单元201从每个组中选择一个连接用于传输数据包。因此,处理单元201确定第一组连接的性能,并且基于性能选择第一组中的一个连接用于传输数据包。类似地,处理单元201确定第二组连接的性能,并且基于性能选择第二组中的一个连接用于传输数据包。可以同步或几乎同步确定第一组和第二组连接的性能。
通过处理单元201基于连接适合于传输哪些具体类型的数据包来将连接分到超过一个组中。替代地,可以根据策略、出于管理目的、根据历史性能评价或出于具有不同组的连接将合乎需要的任何其它原因将连接分到各组中。用户或管理员可以从每个组中选择超过一个连接用于传输数据包。他们还可以选择不使用来自一些组的任何连接用于传输数据包。因此,本发明的范围不限于使用来自每个组的一个连接用于传输数据包。
分别通过第一、第二和第三连接传输的评估包610a、610b和610c含有相同或实质上相同的信息数据-10。类似地,评估包614a、614b和614c含有相同或实质上相同的信息数据-12。类似地,评估包618a、618b和618c含有相同或实质上相同的信息数据-14。分别通过第四和第五连接传输的评估包612a和612b含有相同或实质上相同的信息数据-20。类似地,评估包615a和615b含有相同或实质上相同的信息数据-22。类似地,评估包619a和619b含有相同或实质上相同的信息数据-24。传输评估包610、614和618用于确定第一组连接的性能。传输评估包612、615和619用于确定第二组连接的性能。如先前所描述,评估包610、614、618、612、615和619的内容可以属于数据会话,可以是预定义的或可以是随机产生的。另外,如先前所描述,评估包610a、610b和610c的大小可以是相同的。这也适用于评估包614、618、612和619。
在约t-1处分别通过第一、第二以及第三连接传输评估包610a、610b和610c。通过经由第一组的全部三个连接传输评估包610来确定第一组连接的性能。处理单元201确定第一连接的性能是第一组连接之中最佳的。因此,在约t-1处,处理单元201确定通过第一连接传输含有数据-11的数据包611。类似地,在约t-0处,通过分别经由第四和第五连接传输评估包612a和612b来确定第二组连接的性能。在约t-1处,处理单元201确定在第二组连接之中第五连接具有最佳性能。因此,处理单元201确定在约t-1处通过第五连接传输含有数据-21的数据包613。
处理单元201再次通过在约t-2处分别经由第一、第二和第三连接传输评估包614a、614b和614c来确定第一组连接的性能。在约t-3处,处理单元201确定第二连接具有最佳性能。因此,在约t-3处通过第二连接传输含有数据-13的数据包616。同时,通过在约t-2处分别经由第四和第五连接传输评估包615a和615b来确定第二组连接的性能。在约t-3处,处理单元201确定第四连接在第二组连接之中具有最佳性能。因此,在约t-3处通过第四连接传输含有数据-23的数据包617。在约t-4处,分别通过第一、第二和第三连接传输评估包618a、618b和618c,并且分别通过第四和第五连接传输评估包619a和619b,以用于分别确定第一组和第二组连接的性能。
在一个实施例中,将多个网络接口205分到第一和第二组中。通过传输评估包610、614和618确定连接到第一组中的网络接口的连接的性能。通过连接到第一组中的网络接口的连接传输评估包610、614和618。通过传输评估包612、615和619确定连接到第二组中的网络接口的连接的性能。通过连接到第二组中的网络接口的连接传输评估包612、615和619。根据所确定的性能从每组中选择一个网络接口用于传输数据包。因此,从每组中选择连接到具有最佳性能的连接的网络接口。
在给定时间处,在通信装置106处使用两个连接来传输数据包。两个连接中的一个属于第一组,并且两个连接中的另一个属于第二组。在一个变型中,当第一、第二、第三、第四和第五连接是逻辑连接时,用于传输数据包的两个连接绑定在一起以形成聚合的连接。替代地,均衡用于传输数据包的两个连接。在一个实施例中,基于某些条件通过处理单元201将连接分到各组中。条件存储于辅助存储装置204中。条件选自由以下组成的群组:性能指标、服务提供商、使用度量标准、位置、时间、使用价格、安全性、用户、因特网协议地址范围、通信协议、通信技术、应用以及装置。连接可以在其满足对应于某一组的条件的情况下属于所述某一组。连接可以属于超过一个组。
在实例中,结合图6看,在通信装置106处存在两个持续的数据会话。通信装置106与108之间的第一数据会话是文件传送协议(FTP)会话,并且通信装置106与108之间的第二数据会话是视频会议会话。FTP会话使用包括第一、第二和第三连接的第一组连接,并且视频会议会话使用包括第四和第五连接的第二组连接。评估包610a、610b和610c具有相同的大小。评估包610a、610b和610c可以具有或不具有相同的信息。具有相同大小的评估包用于准确地确定并比较连接的性能。评估包612a和612b具有相同的大小。这也适用于评估包614、615、618和619。数据-10、数据-12和数据-14是分别包含于评估包610、614和618中的预定义数据。分别含有数据-11和数据-13的数据包611和616是属于FTP会话的文件的包。因此,在确定连接的性能时,FTP会话被瞬时中断,并且当确定完成时,文件的包的传输恢复。数据-20、数据-21、数据-22、数据-23和数据-24是视频会议会话的第一、第二、第三、第四和第五帧。在给定时间处,由FTP会话使用的连接以及由视频会议会话使用的连接使用负载均衡技术得到均衡或经绑定以形成聚合的连接。
比较图6与图4,图6和图4均示出了属于两个数据会话的包的传输。然而,在图6中,通过分到不同组中的两个连接传输属于两个数据会话的包。通过每组连接传输的评估包可以是不同的。在给定时间处,两个连接用于传输数据包。另一方面,在图4中,在给定时间处只有一个连接用于传输数据包,并且连接被分到不同组中。
比较图6与图5,图6和图5均示出了属于两个数据会话的包的传输,并且在图6和图5中均可以在给定时间处使用两个连接。图6与图5之间的差异是在图6中将连接分到不同组中。在图6示出的一些情境中,通过第一组连接传输的评估包610、614和618含有属于第一数据会话的数据,并且通过第二组连接传输的评估包612、615和619含有属于第二数据会话的数据。然而,在图5中示出的情境中,通过全部连接传输的评估包含有相同的数据。相同数据属于第一数据会话还是第二数据会话不取决于连接所属于的组。因此,在图6中,可以在不同过程中执行对于不同组连接的评估。
此外,在图5中,通过经确定具有最佳性能的任何两个连接传输属于第一和第二数据会话的数据包。而在图6中,通过在第一组连接之中具有最佳性能的连接传输属于第一数据会话的数据包,并且通过在第二组连接之中具有最佳性能的连接传输属于第二数据会话的数据包。
如图6中所示,从每组中选择一个连接的益处可以是每组连接对于传输特定类型的数据包可能最佳的。由于第一数据会话和第二数据会话可以包括不同类型的数据包,可能需要通过不同组的连接传输属于不同数据会话的数据包。然而,若数据类型存在频繁改变,则根据数据类型对连接进行分类会消耗较高的计算资源。
在替代方案中,图6示出了属于一个数据会话的包的传输。因此,数据包611、613、616和617属于相同数据会话。评估包610、612、614、615、618和619也可以与数据包611、613、616和617属于相同的数据会话。
图7示出了表示根据本发明的一个实施例的通过在通信装置(例如,通信装置106)处的逻辑连接传输评估包和数据包的时序图。时序图701、702、703、704和705分别针对第一、第二、第三、第四和第五逻辑连接。通信装置106通过多个网络接口205中的至少一个连接到第一、第二、第三、第四和第五逻辑连接。时间实例分别表示为t-1、t-2、t-3、t-4和t-5。
在给定时间处,通信装置106使用两个逻辑连接传输数据包。基于处理单元201所确定的性能选择两个逻辑连接。通过经由全部五个逻辑连接传输含有相同信息的评估包来确定五个逻辑连接的性能。
分别通过第一、第二、第三、第四和第五逻辑连接传输的评估包710a、710b、710c、710d和710e含有相同或实质上相同的信息数据-0。类似地,评估包713a、713b、713c、713d和713e含有相同或实质上相同的信息数据-3。类似地,评估包716a、716b、716c、716d和716e含有相同或实质上相同的信息数据-6。通过处理单元201传输评估包710、713和716以用于确定逻辑连接的性能。如先前所描述,评估包710、713和716的内容可以属于数据会话、预定义或随机产生。另外,如先前所描述,评估包710a、710b和710c的大小可以是相同的。这也适用于评估包713和716。
在约t-0处,处理单元201确定分别通过第一、第二、第三、第四和第五逻辑连接传输评估包710a、710b、710c、710d和710e。在约t-1处,处理单元201确定五个逻辑连接的性能,并且选择具有最佳性能的两个逻辑连接(即,第一和第三逻辑连接)用于传输数据包。例如,第三逻辑连接具有最佳性能并且第一逻辑连接具有第二最佳性能。因此,在约t-1处分别通过第一和第三逻辑连接传输含有数据-1的数据包711和含有数据-2的数据包712。
在约t-2处,处理单元201通过经由第一、第二、第三、第四和第五逻辑连接传输评估包713a、713b、713c、713d和713e来重新确定五个逻辑连接的性能。第一逻辑连接的性能继续是在五个逻辑连接之中性能最佳之一。因此,在约t-3处通过第一逻辑连接传输含有数据-4的数据包714。同时通过第四逻辑连接传输含有数据-5的数据包715,因为第四逻辑连接确定为五个逻辑连接之中具有最佳性能的逻辑连接中的另一个。在约t-4处传输评估包716以用于再次确定五个逻辑连接的性能。
在实例中,通信装置106将属于基于因特网协议的语音业务(VoIP)会话的VoIP包通过聚合的连接传输到通信装置108。所属领域的技术人员将已知的是,连接的时延优选低于约500毫秒,以便实现VoIP会话的适当品质。聚合的连接包括作为VPN隧道的第一、第二、第三、第四和第五逻辑连接。评估包710a、710b、710c、710d和710e具有相同的大小,并且含有相同的信息数据-0。这也适用于评估包713和716。评估包710、数据包711、数据包712、评估包713、数据包714、数据包715和评估包716是属于VoIP会话的VoIP包。此外,数据-0、数据-1、数据-2、数据-3、数据-4、数据-5和数据-6可以封装在含有与连接到VPN隧道所需的认证相关联的加密信息的封装包中。可以选择具有低于约500毫秒的时延的连接以用于传输VoIP包。
在一个实施例中,通过多个网络接口205传输评估包710、713和716以确定通过多个网络接口205建立的逻辑连接的性能。选择连接到确定为具有最佳性能的连接的一个或多个网络接口来传输数据包。使用通过选定的网络接口建立的至少一个逻辑连接来传输数据包。例如,第一网络接口确定为具有最佳性能。第一网络接口连接到第一和第二逻辑连接。处理单元201确定使用第一和第二逻辑连接中的至少一个来传输数据包。
比较图7与图3A,这两个图均示出了属于一个数据会话的包的传输。区别在于,在图7中,在给定时间处使用两个逻辑连接传输数据包,而在图3A中,在给定时间处使用一个连接传输数据包。图7中所示的情境的益处是更高带宽可用于数据会话,因为超过一个逻辑连接用于传输数据包。在图7中,由于通过超过一个逻辑连接传输属于一个数据会话的数据包,因此逻辑连接经绑定以形成聚合的连接。在图3A中,连接可以是接入连接或逻辑连接。然而,在图7中,仅使用逻辑连接,并且无法使用接入连接,因为无法聚合接入连接。
在替代方案中,图7示出了属于两个数据会话的包的传输。因此,数据包711和712可以属于不同数据会话。类似地,数据包714和715可以属于不同的数据会话。
在图3A、图4、图5、图6和图7中,周期性地(例如,在t-0处一次、在t-2处再次以及在t-4处再次)确定连接的性能的原因在于性能可能不时地改变。在许多情境中,连接的性能、尤其是连接到无线网络的那些连接的性能是不稳定的,并且一些连接在一个时间处具有满足要求的性能而在另一时间处具有不满足要求的性能。在优选实施例中,当确定连接的性能时,确定性能之间的时间周期在五秒到一分钟的范围内。每五秒到一分钟周期性地确定性能以适应网络环境中的改变,因为连接的性能可以每几秒发生改变。因此,时间周期t-0到t-2和时间周期t-2到t-4在五秒到一分钟的范围内。替代地,当确定连接的性能以便检查连接失效时,在性能评估之间所允许的时间周期优选地在半小时到一小时的范围内。因此,时间周期t-0到t-2和时间周期t-2到t-4在半小时到一小时的范围内。在t-5之后过程继续。图3A、图4、图5、图6和图7仅示出了如何通过每一个连接传输数据包以用于周期性地确定连接的性能并且基于所确定的性能选择一个连接用于传输数据包。在t-5之后,处理单元201基于在约t-5处所确定的连接的性能选择连接用于传输数据包。因此,应注意,在t-5之后过程未结束。
在另一实例中,在图7中,评估包710、713和716与数据包711、712、714和715属于相同的数据会话。因此,在所述数据会话中传输所述评估包和所述数据包,并且所述包中的每一个具有序列号,使得作为接收装置的通信装置108可以相应地布置它们。
评估包和数据包分配有对应序列号。序列号在包含于评估包中的信息中。当评估包和数据包分配有对应序列号时,指定主机或节点根据到达指定主机或节点的包的对应序列号布置所述包。当属于数据会话的评估包含有相同或实质上相同的信息并且到达指定主机或节点时,指定主机或节点能够至少部分基于序列号识别含有相同或实质上相同信息的评估包。指定主机或节点可以选择忽略、丢弃、舍弃或处理在第一评估包之后到达的评估包。它们可以选择处理所述评估包以用于统计目的,例如监控性能和保持性能记录。信息包含或封装在评估包的有效载荷中。
根据一个实施例,在第一预定义时间周期通过连接传输用于确定所述连接的性能的评估包。当基于连接的性能选择连接传输数据包时,在第二预定义时间周期通过所述连接传输数据包。例如,查看图3A、图4、图5、图6或图7,第一预定义时间周期等于t-0与t-1之间、t-2与t-3之间或t-4与t-5之间的时间周期。在一个变型中,t-0与t-1之间的时间周期略长于t-2与t-3之间或t-4与t-5之间的时间周期,因为连接的初始化时间包含于t-0与t-1之间的时间周期中。在一个变型中,t-0到t-1、t-2到t-3以及t-4到t-5的时间周期是不相同的,但是可以预定义其中的每一个。在一个变型中,t-0与t-1、t-2与t-3或t-4与t-5之间的时间周期是相同且预定义的。类似地,第二预定义时间周期等于t-1与t-2之间或t-3与t-4之间的时间周期。在一个变型中,t-1到t-2和t-3到t-4的时间周期是不相同的,但是可以预定义其中的每一个。替代地,时间周期t-1到t-2和t-3到t-4是相同且预定义的。可以通过通信装置106的用户、制造商或管理员设置对应的预定义时间周期。在一个变型中,用户通过web接口、应用编程接口(API)、命令行接口或控制台设置预定义时间周期。处理单元201在本地从辅助存储装置204或远程地从远程服务器检索预定义时间周期。
在一个实施例中,若连接是稳定的,则确定在通信装置(例如,通信装置106)处的连接的性能的频率低。因此,评估包的传输频率降低。连续地传输数据包的时间周期相比于当连接不稳定时明显更长。当连接稳定时,在评估之后确定具有最佳性能的连接更可能在更长时间继续具有最佳性能。替代地,当连接不稳定时,在评估之后确定具有最佳性能的连接不太可能长时间地继续具有最佳性能。所属领域的技术人员将已知的是,性能可以在每5秒的任何时刻处改变。因此,当连接稳定时,不太经常地执行确定连接的性能并且持续较长时间周期连续地传输数据包。当连接不稳定时,更频繁地执行确定连接的性能并且持续较短时间周期连续地传输数据包。这对于无线通信尤其重要,因为在无线通信中连接更可能不稳定。
在一个实施例中,持续较长时间周期传输评估包。例如,在t-0与t-1之间的时间周期较长。持续较长时间周期传输评估包的益处是性能评估得到的结果更好。这是因为可以在所述时间周期内传输更多数量的评估包,并且因此评估更可靠。然而,持续较长时间周期传输评估包致使通信装置106耗尽更多带宽用于评估,并且由于评估包通过多个连接传输,因此带宽使用的增加可为明显的。除此之外,若评估包含有预定义且不属于数据会话的信息,则数据流传输将被打断、中断或暂停更长时间周期,并且这可能是不期望的。当存在两个持续数据会话并且评估包属于第一数据会话时,第二数据会话会被打断更长的时间周期,这在大多数情境中是不期望的。替代地,持续较短时间周期传输评估包。因此,在连接性能的评估期间消耗较少带宽。在一个变型中,持续较短时间周期传输评估包在评估包含有预定义的信息并且不属于数据会话时也是合乎需要的,因为数据流传输被打断的时间周期较短。然而,由于较少数量的评估包可在较短时间周期内传输,因此评估可能不够可靠。
在本发明的一个实施例中,当选择两个或更多个逻辑连接用于传输数据包时,绑定所述两个或更多个逻辑连接以形成聚合的连接。只要通过两个或更多个逻辑连接传输的包属于相同数据会话就绑定所述两个或更多个逻辑连接。两个或更多个逻辑连接是在所述两个节点之间形成的端到端连接,其中通信装置106是两个节点中的一个。为形成聚合的连接,在通过两个或更多个逻辑连接传输包之前,数据包封装所述包。所述包可以源自通信装置106和/或源自连接到通信装置106的主机和/或节点。使用聚合的连接有益于具有更高的总带宽,总带宽是个别逻辑连接的组合带宽。聚合的连接被使用其的会话或应用程序视为一个逻辑连接。例如,结合图7来看,在时间周期t-1到t-2中,第一和第三逻辑连接用于传输数据包。因此,第一和第三逻辑连接绑定在一起以形成聚合的连接。类似地,在时间周期t-3到t-4中,第一和第四逻辑连接经绑定并且包括于聚合的连接中。第三逻辑连接可能仍包括于聚合的连接中,但是其不用于传输数据包。替代地,当第三逻辑连接不用于传输数据包时从聚合的连接中移除第三逻辑连接。这也可适用于图6,其中在给定时间处选择用于传输数据包的两个连接绑定在一起以形成聚合的连接。
替代地,当选择两个或更多个连接用于传输数据包时,均衡所述两个或更多个连接。优选地,当通过两个或更多个连接传输的数据包属于不同数据会话时,均衡所述两个或更多个连接。使用负载均衡技术或允许在多个连接之间分配并传输数据包的任何其它技术,在两个或更多个连接之间分配并且通过两个或更多个连接传输数据包。例如,结合图7来看,从t-1到t-2,在第一和第三逻辑连接之间分配并且通过第一和第三逻辑连接传输数据包。类似地,从t-3到t-4,在第一和第四逻辑连接之间分配并且通过第一和第四逻辑连接传输数据包。这也可适用于图6,其中在属于两个不同组并且在给定时间选定用于传输数据包的两个连接之间分配数据包并且通过所述两个连接传输数据包。
在本文中所描述的实施例中,根据以下标准中的至少一个确定连接的性能:吞吐量、错误率、包时延、包抖动、符号抖动、服务质量、安全性、覆盖区域、带宽、误码率、包错误率、帧错误率、丢包率、排队等待时间、往返时间、容量、信号电平、干扰电平、带宽等待时间产品、切换等待时间、信号接口比和信噪比。例如,当根据丢包率确定性能时,确定具有最少丢包率的连接具有最佳性能。在另一实例中,当根据吞吐量确定性能时,确定具有最高吞吐量的连接具有最佳性能。可以根据超过一个标准确定性能。
在一个变型中,用户或管理员可以根据某一标准配置通信装置106以确定性能。若用户或管理员选择带宽,则将评估连接的带宽,并且将选择具有最高带宽的连接用于传输数据。若用户或管理员选择时延,则将评估连接的时延,并且将选择具有最低时延的连接用于传输数据。
图8A是示出根据本发明的一个实施例的过程的流程图。在步骤801中,处理单元201通过经由连接传输评估包来确定连接的性能。若在步骤802中确定连接的性能比阈值差,则在步骤803中终止连接。替代地,若确定性能不比阈值差,则在步骤804中不终止连接。当终止连接时,不再通过所述连接传输评估包,并且因此不再确定所述连接的性能。通过不执行连接性能的确定可以节省计算资源和带宽资源。例如,结合图3A来看,在步骤801中,处理单元201通过传输评估包311c来确定第三连接的性能。在步骤802中,处理单元201确定第三连接的性能比阈值差。因此在步骤803中终止第三连接并且不通过第三连接传输评估包313c和315c。
在优选实施例中,如图8B中所示,若连接的性能比阈值差,不终止所述连接,但是在步骤813中不通过所述连接传输其它评估包或数据包。若确定连接的性能不比阈值差,则不终止所述连接并且在步骤814中还通过所述连接发送其它评估包。执行步骤813而不是步骤803的益处是当用户或管理员后续想要使用连接时,他们将不需要再次建立连接。建立连接可能花费一些时间和计算资源。因此,不终止连接而是仅不允许使用所述连接传输其它评估包或数据包。
可以预定义阈值并将其存储于存储介质中,例如辅助存储装置204或主存储器202。可以通过通信装置106的用户或管理员设置阈值。阈值可以是建立连接所需的设置的部分。
若连接的性能比阈值差,则终止隧道或不通过所述连接发送评估包可以有益于节省带宽资源和其它计算资源。
图9是示出根据本发明的一个实施例的过程的流程图。确定数据包的时延要求并且基于数据包的时延要求选择用于传输数据包的连接。出于说明的目的,由于属于话音流量的数据包的时延要求可为小于约500毫秒,因此仅通过具有小于约500毫秒的时延的连接传输属于话音流量的数据包。参考图9,在步骤901中,通过经由连接传输评估包来确定所述连接的时延。若处理单元201在步骤911中确定连接的时延高于第一阈值,则在步骤921中终止所述连接或确定不使用所述连接传输包。优选地,第一阈值是约1000毫秒,使得若连接的时延高于1000毫秒,则在步骤921中确定不使用所述连接。若时延不高于第一阈值,则处理单元201在步骤912中确定时延是否高于第二阈值。若时延高于第二阈值,则在步骤922中将所述连接分到第一组中。允许使用第一组中的连接用于除视频流量和话音流量外的任何流量。优选地,第二阈值是约800毫秒。第一组中的连接(例如所述连接)具有高于约800毫秒的时延,其由于较高时延而不适于用于视频传输或话音传输。因此,它们不用于视频流量和话音流量,但是它们可以用于其中可以容许高于约800毫秒的时延的任何其它类型的流量。若连接的时延不高于第二阈值,则可以允许所述连接用于视频流量。在步骤913处,处理单元201确定连接的时延是否高于第三阈值。若时延高于第三阈值,则在步骤923中将所述连接分到第二组中。第三阈值优选地为约500毫秒。第二组中的连接允许用于视频传输但是不用于话音传输,因为视频传播的品质在具有高于约500毫秒且低于约800毫秒的时延时可为令人满意的,但是话音传输的品质在具有高于约500毫秒的时延时会极差。若连接具有不高于第三阈值的时延,则将所述连接分到第三组中。第三组中的连接允许用于视频传输和话音传输,因为话音传输的品质在具有低于约500毫秒的时延时可为令人满意的。第一、第二和第三阈值是可配置的并且可以通过通信装置106的用户或管理员来配置。
根据本发明的一个实施例,若聚合的连接中的两个或更多个连接之间的时延差异高于时延偏差阈值,则终止具有相对高时延的一个或多个连接,或不通过所述一个或多个连接传输包。出于说明的目的,时延偏差阈值为约500毫秒。第一连接的时延为400毫秒并且第二连接的时延为950毫秒。由于第一与第二连接之间的时延差异高于约500毫秒,因此终止第二连接或不使用第二连接传输数据包。在另一示例中,第一、第二和第三连接的时延分别为400、950和980毫秒,并且时延偏差阈值为约500毫秒。由于第一连接与第二和第三连接两者之间的时延差异高于约500毫秒,因此第二和第三连接不再用于传输数据并且可以被终止。在另一示例中,当第一连接的时延为大致10毫秒并且第二连接的时延为大致200毫秒时,第二连接不再用于传输数据包并且可以被终止。当包通过包括第一连接和第二连接的聚合的连接从通信装置106传输到通信装置108时,通过第一连接传输的第一包可以比通过第二连接传输的第二包到达得早得多。即使第三包和第四包通过第一连接较早到达,通信装置108也仅确认第一包的到达,并且由于第二包尚未到达,因此再次传输全部三个第二、第三和第四包。因此,可以通过终止第二连接或不使用第二连接节省资源,使得通过第一连接传输全部四个第一、第二、第三和第四包并且不需要重传包。
在一个变型中,第二连接可以用于传输除数据包外的任何包,例如运行安全检查包、评估包等。若后续确定第二连接的时延变得下降,则可以再次使用第二连接传输数据包。为了监控第二连接的时延,通信装置106不终止第二连接并且即使在确定时延中的差异高于时延偏差阈值之后仍继续通过第二连接发送评估包。
在一个变型中,时延偏差阈值是预定义的并且可以通过通信装置106的用户或管理员设置。替代地,可以通过处理单元201周期性地设置时延偏差阈值。替代地,可以通过处理单元201至少部分基于聚合的连接中的两个或更多个连接的平均时延来动态地或自动地设置时延偏差阈值。可以基于在具体时间周期内评估的时延值来计算平均时延。具体时间周期可以在10毫秒到5分钟的范围内。时延偏差阈值可以设置为平均时延的百分比值。出于说明的目的,时延偏差阈值可以设置为聚合的连接的全部连接的平均时延的20%。当第一、第二和第三连接经历的时延分别为约400毫秒、500毫秒和900毫秒时,平均时延为约600毫秒。随后可以动态地将时延偏差阈值设置为600毫秒的20%,即为120毫秒。由于第三连接的时延与平均时延之间的差异为超过120毫秒,因此处理单元201可以确定不使用第三连接传输数据包。可以通过用户或管理员配置百分比值。在另一示例中,可以将时延偏差阈值设置为具有相对低时延的连接(而不是聚合的连接中的全部连接)的平均时延的30%。当第一、第二和第三连接经历的时延分别为约400毫秒、500毫秒和900毫秒时,相对低时延的连接的平均时延为约450毫秒。可以通过处理单元201自动地将时延偏差阈值设置为450毫秒的30%,即为135毫秒。由于第三连接的时延与平均时延之间的差异为超过135毫秒,因此处理单元201可以确定不使用第三连接传输数据包。在另一变型中,通信装置106的用户或管理员可以定义用于动态地设置时延偏差阈值的策略。为了说明,定义策略使得若具有相对低时延的连接的平均时延为小于100毫秒,则将时延偏差阈值动态地设置为100毫秒。可以进一步定义策略使得若具有相对低时延的连接的平均时延在100毫秒与500毫秒之间,则将时延偏差阈值动态地设置为400毫秒。应了解,这些值是示例性的,并且可能存在动态地设置时延偏差阈值的各种其它方式。具有相对低时延的连接可以包含除具有最高时延的连接外的任何连接。替代地,具有相对低时延的连接可以包含时延在一定范围的最低时延内的任何连接。
当存在超过两个连接时,可以不同方式使用时延偏差阈值。出于说明的目的,存在五个连接,即,第一、第二、第三、第四和第五连接。第五连接具有最高时延并且第一连接具有最低时延。如果最高时延(即第五连接的时延)和最低时延(即第一连接的时延)之间的差异超过时延偏差阈值,则第五连接不再用于传输数据包并且可以终止。在另一示例中,如果第五连接的时延与第一、第二、第三和第四连接的平均时延之间的差异高于时延偏差阈值,则第五连接不再用于传输数据包并且可以终止。在另一示例中,当第一、第二、第三和第四连接中的每一个的时延为约500毫秒,第五连接的时延为约1000毫秒并且时延偏差阈值为400毫秒时,第五连接不用于传输数据包并且可以被终止。在一个示例中,计算第一、第二、第三、第四和第五连接的时延的均差、方差和标准差。时延偏差阈值设置为时延的标准差。若连接的时延之间的差异高于标准差,则具有相对高时延的一个或多个连接不再用于传输数据并且可以被终止。
出于说明的目的,当存在通过LTE网络或以太网接口建立的一个或多个连接时,处理单元201不连接到3G网络,即使当其能够通过网络接口205中的一个或多个这样做时。所属领域的技术人员已知的是,通过3G网络建立的连接的时延可显著高于通过LTE网络或以太网接口建立的连接的时延。
选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使得所属领域的其它技术人员能够最好地利用本发明和具有适合于预期的特定用途的各种修改的各种实施例。随后的描述仅提供优选的示例性实施例和示例性实施例,并且目的不在于限制本发明的范围、适用性或配置。实际上,优选示例性实施例和示例性实施例的以下说明将为所属领域的技术人员提供实施本发明的优选示例性实施例的有效说明。应理解,在不脱离如在所附权利要求书中阐述的本发明的精神和范围的情况下可以制得元件的功能以及布置的各种变化。
还应注意,实施例可以描述为过程,过程描绘为流程图、作业图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,可以重新布置所述操作的次序。过程在其操作完成时终止,但是可以具有不包含在图中的另外步骤。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于功能时,过程的终止对应于功能返回到调用功能或主功能。
实施例或其各部分可以程序指令来实施,所述程序指令可以在处理单元上操作以用于执行如本文中所描述的功能和操作。构成各种实施例的程序指令可以存储于存储介质中,例如存储于辅助存储装置中。
此外,如本文所公开,术语“辅助存储装置”和“主存储器”可以表示用于存储数据的一个或多个装置,包括只读存储器(ROM)、随机存取存储器(RAM)、磁性RAM、磁心存储器、磁盘存储介质、光学存储介质、快闪存储器装置和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定存储装置、光学存储装置、无线信道和各种能够存储、包含或携载指令和/或数据的其它介质。
此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,执行必要任务的程序指令或代码段可以存储在例如存储介质等机器可读介质中。处理单元可以执行必要任务。处理单元可以是CPU、ASIC半导体芯片、半导体芯片、逻辑单元、数字处理器、模拟处理器、FPGA,或能够执行逻辑和算术功能的任何处理器。代码段可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任何组合。代码段可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任何组合。一个代码段可以通过传递及/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、转发或传输。
网络接口可以通过独立的电子组件实施或者可以与其它电子组件集成。根据配置,网络接口可以不具有网络连接或具有至少一个网络连接。网络接口仅连接到一个可接入网络。因此,可能存在由可访问网络承载的一个以上网络连接。网络接口可以是以太网接口、帧中继接口、光纤接口、电缆接口、DSL接口、令牌环接口、串行总线接口、通用串行总线(USB)接口、火线接口、***组件互连(PCI)接口等。
实施例或其部分可以体现在计算机数据信号中,计算机数据信号可以采用用于通过传输介质进行通信的任何合适的形式,使得其可读取以由功能装置(例如,处理单元)执行而实施本文中描述的操作。计算机数据信号可以包括能够经由传输介质传播的任何二进制数字电子信号,传输介质例如是电子网络信道、光纤、空气、电磁介质、射频(RF)链路等,且因此数据信号可以采用电信号、光信号、射频或其它无线通信信号等形式。在某些实施例中,可以经由计算机网络下载代码段,计算机网络例如是因特网、企业内部网、LAN、MAN、WAN、PSTN、卫星通信***、电缆传输***等。
接入连接可以承载一个或多个协议数据,包含但不限于传输控制协议(TCP)、用户数据报协议(UDP)、因特网控制消息协议(ICMP)、超文本传送协议(HTTP)、邮局协议(POP3)、文件传送协议(FTP)以及因特网消息接入协议(IMAP)。接入连接可以是有线网络或无线网络。有线接入连接可以使用以太网、光纤、电缆、DSL、帧中继、令牌环、串行总线、USB、火线、PCI、T1或能够使信息通过的任何材料来实施。无线接入连接可以使用红外、高速包接入(HSPA)、HSPA+、第三代移动通信技术(3G)、***移动通信技术(4G)、长期演进(LTE)、WiMax、ATM、GPRS、EDGE、GSM、CDMA、WiFi、CDMA2000、WCDMA、TD-SCDMA、蓝牙、WiBRO或任何其它无线技术来实施。
可以在开放***互连(OSI)模型的第2层或第3层处进行逻辑连接,其经由公用、专用或混合公用和专用网络连接两个端点以形成连接。虚拟专用网(VPN)是逻辑连接模型的一个实例。VPN可以是第2层VPN或第3层VPN。还可以使用例如传输控制协议(TCP)之类的面向连接的通信协议来建立逻辑连接。逻辑连接可以被称为端到端连接,因为其在两个端点之间形成连接。
图10包括的流程图示出根据一些实施例的用于通过通信装置(例如,通信装置106、通信装置108、路由器、计算机和物联网(IoT)装置)传输数据包的过程。所述流程图可以表示存储在存储器装置中的例程或程序指令,存储器装置例如是主存储器202和/或辅助存储装置204,或通信装置内的另一存储装置(未示出)。处理单元201可以被配置成执行例程或程序指令。
所述过程使用第一评估数据包来确定满足选择连接标准的连接。为了便于阅读,选择连接的标准称为连接选择标准(connection seletion criteria,CSC)。CSC的实例之一是最低时延连接。满足CSC的连接将用于发送数据包。根据CSC选择的连接称为所选连接(selected connection,SC)。连接可以是WAN网络接口、接入连接、逻辑连接、端到端连接或用于传输数据包的聚合的端到端连接。
为了便于阅读,通信装置106用于描述流程图。并不限制只有通信装置106可以用于所述过程。在步骤1001,通信装置106确定其可以传输数据包的连接数量。在步骤1002,通信装置106检测到目的地为网络110中的主机或装置的新数据会话。检测新数据会话的一种技术是检查所接收的数据包中的会话标识。例如,唯一会话标识是存储在IP包的报头中的会话标识符。在另一实例中,会话标识符存储在IP包的有效载荷中。在另一实例中,TCP数据包不包括会话标识符,通过使用发送者的地址、发送者的端口号、目的地的地址和目的地的端口来识别会话。在另一实例中,执行深度包检测(DPI)以便识别数据会话。用于执行DPI的签名数据库可以由通信装置106的制造商提供,由通信装置106的管理员提供,从位于通信装置106的LAN区域中的计算装置接收,或者从远程服务器接收。
会话标识符成为通信装置106的匹配条件(match condition,MC)之一。并不限制只有会话标识符可以是MC。例如,在使用DPI的情况下,所选签名可以是MC之一。
结合图10来看图13,数据包1301是从连接到通信装置106的LAN接口的发送装置接收的数据会话的第一数据包。数据包1301也可以是由通信装置106生成的数据会话的第一数据包。数据包1301将信息数据-1保存在其有效载荷中。在时间rt-0,接收或生成数据包1301,并且在时间rt-1,通过通信装置106完全接收或生成数据包1301。通信装置106作为发送装置的网关并且可以形成其它网络功能,例如网络地址转换(NAT)和路由。
在步骤1003处,创建一个或多个第一评估包。创建的第一评估包的数量基于在步骤1001确定的可能连接的数量。例如,如果存在五个可能连接,则创建五个第一评估包。在一个变型中,第一评估包的数量少于可能连接的数量,因为在步骤1004中并非所有可能连接都将用于发送第一评估包。
当通信装置106作为所述发送装置的网关时,在步骤1002处检测到的数据会话的第一数据包的有效载荷然后将被复制到第一评估包的有效载荷。第一评估包的目的地地址和目的地端口号也将与第一数据包的目的地地址和目的地端口号相同。出于说明的目的,存在三个可能连接。因此,创建三个第一评估包1311a-1311c。第一评估包1311a-1311c将相同的信息数据-1保存在其相应的有效载荷中。
在步骤1004处,通过相应的连接传输第一评估包1311a-1311c。例如,分别通过第一连接、第二连接和第三连接传输第一评估包1311a-1311c。时间st-0是开始传输第一评估包1311a-1311c的时间。出于说明的目的,在时间st-1a、st-1b和st-1c分别通过第一连接、第二连接和第三连接完全传输第一评估包1311a、1311b和1311c。另外,出于说明的目的,时间st-1a,st-1b和st-1c分别是100毫秒、100毫秒和150毫秒。
在步骤1005处,确定例如第一连接、第二连接和第三连接等连接的时延。评估时延的技术之一是测量确认包的相应到达时间。例如,通信装置106在st-a1之后约500毫秒接收对第一评估包1311a的确认,在时间st-1b之后约10毫秒接收对第一评估包1311b的确认,并且不接收对第一评估包1311c的确认。在所有确认之中,对第一评估包1311b的确认首先由通信装置106接收,因此,通信装置106的处理单元确定连接1310b具有最低时延。
确认可以由一个或多个数据包组成。当存在与通信装置106接收的第一评估包相对应的多个确认时,仅将一个确认转发到发送装置。其它确认将被舍弃。舍弃其它确认的原因之一是:通常,装置或在发送装置中运行的生成数据会话的第一数据包的应用程序不期望多个确认。如果多个确认被转发到发送装置,则发送装置或应用程序可能会混淆或者可能导致错误。
由于连接1310b具有最低时延,因此通信装置106的处理单元在步骤1006中选择连接1310b作为SC,并在步骤1007中通过连接1310b传输数据会话的例如数据包1032、1303和1304等其它数据包的例如数据-2、数据-3和数据-4等内容。因此,将通过连接1310b传输分别包含数据-2、数据-3和数据-4的数据包1312-1314。
在一个更详细的实例中,数据会话是安全数据会话。通常,为了在连接到通信装置106的LAN接口的发送装置或通信装置106本身与安全连接的另一端的接收装置之间建立安全连接,第一数据包或前几个数据包不包含验证信息。因此,通过使用第一数据包来创建多个第一评估包,通常,接收装置不应被第一评估包混淆。与仅接收一个第一评估包相比,当接收多个第一评估包时,可能在接收装置处消耗更多计算和网络资源。
在一个变型中,不基于数据会话的第一数据包中包含的信息来创建第一评估包。相反,第一评估包包含预定义信息或随机创建的数据。一旦在步骤1006中选择连接作为数据会话的SC,则数据会话的第一数据包和其它数据包将通过SC传输。
在一个变型中,在步骤1006选择的CSC实质上基于每个可能连接的带宽可用性。还将更改步骤1003到1005以检测带宽可用性。所属领域的技术人员将理解,有无数种方法来评估连接中的带宽可用性,例如使用来自Ookla的Speedtest.net的结果。在一个变型中,在通信装置106与第一目的地之间测量带宽可用性。所属领域的技术人员将理解,有无数种方法来评估通信装置106与第一目的地之间的带宽可用性,例如使用Bing,其是Linux中的点对点带宽测量工具。
并不限制只有时延和带宽可用性是唯一的CSC。CSC可以是时延、带宽可用性、会话数量、跳数、其它网络性能信息、资费、时间和地理信息中的一个或组合。
并不限制通信装置106的处理单元将对源自其LAN的所有数据包和/或所有数据会话执行步骤1001到1007。在一个实例中,仅执行步骤1002,检测到新的数据会话,并且所述数据会话满足MC。其它MC实例包括:数据包源自特定IP地址。在另一实例中,数据包的目的地端口号是特定端口号;和DPI结果。
图11示出了在步骤1006中通信装置106的用户或管理员选择一个或多个数据会话以使用SC的图形用户界面(GUI)1101。
下拉框1102允许用户或管理员创建MC或选择MC。框1103允许用户或管理员选择CSC。例如,特定计算装置的地址是下拉框1102中的MC,并且CSC将使用具有最大带宽的WAN来从特定计算装置传输数据包。在另一实例中,来自游戏笔记本电脑并且被指定用于具有特定域名标识的一个或多个网络节点的数据包将通过具有最低时延的WAN来传输。因此,MC是游戏笔记本电脑的源地址和在下拉框1102中输入的域名的组合。当在框1103中勾选最低时延复选框时,CSC变为具有最低时延的连接。
在一个变型中,通信装置106从一个或多个远程服务器检索一个或多个MC。MC具有与应用程序相关的命名惯例。例如,将“Game Hero”指定为MC的名称,并用于指示与GameHero相关的数据包的MC。然后将与Game Hero相关的数据包发送到所选连接,所述连接在所有连接之中具有最小抖动。与Game Hero的远程主机的目的地相关的数据会话的签名将用于通信装置106识别数据会话。例如,Game Hero使用五个服务器。这五个服务器的端口号和目的地地址将由通信装置106用作MC。
在一个变型中,GUI 1101类似于在防火墙处设置出站规则。下拉框1102可以是允许用户或管理员输入MC的任何输入字段。与出站规则中的动作不同,框1103是输入CSC。
图12示出了用户在框1202中选择MC并在框1203中为与框1202中选择的MC匹配的特定类型数据包选择WAN的GUI 1201。GUI 1201由在例如计算机、手机或IoT装置等计算装置内部运行的软件产生。计算装置也可以是发送装置。为了便于阅读,所述软件在此称为连接选择软件(connection selection software,CSS)。在一个实例中,用户要求MC是计算装置中的应用程序B并且作为用于选择通信装置106的WAN的CSC的最低时延。因此,分别勾选下拉框1202中“应用程序B”旁边的复选框和1203中“最低时延”。应用程序B创建的所有数据包都将满足MC。CSC从CSS发送到通信装置106。
在另一实例中,当在框1202中勾选了输入目的地地址的第三个复选框,并且在框1202中勾选了输入目的地端口号的第四个复选框时,MC被设置为目的地地址和目的地端口号的组合。匹配MC的数据包将通过根据框1203中设置的CSC选择的WAN发送。
在一个特定的详细实例中,框1202中的应用程序名称,例如应用程序A和应用程序B,由计算装置的用户或管理员输入。替代地,由CSS检测应用程序名称。
在一个变型中,没有框1203,并且在框1202中仅可以选择应用程序。因此,用户仅选择应用程序。然后将通过默认选择的连接传输所选的应用程序。在一个实例中,默认选择的连接是在通信装置106处具有最低时延的WAN。并不限制默认选择的连接必须是具有最低时延的连接。例如,CSS的开发人员可以设置默认选择的连接必须是到目的地的跳数最少的连接。
图14是示出根据一些实施例的用于处理和传输数据包的过程的流程图。CSS在计算装置中运行,计算装置例如是游戏笔记本电脑和嵌有温度传感器的摄像机。在一个实例中,出于说明的目的,计算装置是游戏笔记本电脑并运行赛车游戏和其它应用程序,并且连接到通信装置106的LAN接口。通信装置106可以不直接连接到计算装置但是作为计算装置的网关执行。计算装置也是发送装置。通过例如GUI 1201或命令行指令的图形界面,用户创建MC。例如,MC基于应用程序A,即赛车游戏。从那时起,CSS将处理赛车游戏生成的数据包。
在步骤1401处,CSS检测由赛车游戏生成的数据包,所述赛车游戏是所选的应用程序。CSS在数据包传输之前拦截数据包。然后,在步骤1402处,CSS将数据包中的差分服务代码点(DSCP)值编辑或更改为通信装置106能够识别的值。只要符合因特网工程任务组(IETF)发布的评论请求(request for comment,RFC),所述值就可能是值。例如,DSCP值可以被设置成0x11。然后,CSS将数据包转发到网关,所述网关是通信装置106。
赛车游戏生成的数据包的目的地可以具有相同或不同的目的地。数据包也可以属于相同或不同的会话。数据包的协议也可以相同或不同。在一个变型中,CSS不编辑或更改由所选的应用程序生成的所有数据包中的DSCP值。相反,CSS仅编辑或更改由所选的应用程序生成的某些类型的数据包中的DSCP值。用户可以配置关于数据包类型的CSS。CSS还可以根据预定义的规则选择数据包的类型。预定义规则可以由用户输入、从远程服务器检索或由CSS开发人员创建。
在一个变型中,CSS仅更改或编辑由所选的应用程序生成的数据会话的第一数据包的DSCP值,因为通信装置106仅可以对第一数据包执行MC以选择连接。通信装置106可以不使用MC的数据会话的其它数据包的DSCP值。
在一个变型中,由计算装置的操作***执行步骤1401和1402。在一个实例中,CSS通过向操作***提供应用程序名称、目的地地址、端口号和统一资源标识符(URI)之一或其组合来为操作***配置MC。因此,操作***能够编辑DSCP值。在一个更详细的实例中,对于Windows 8操作***,创建匹配发送到10.1.1.176/28子网的流量的名为Backup的QoS策略并使用DSCP值40标记它并且仅对在加入域的网络适配器上发送的流量有效的命令是:New-NetQosPolicy-Name"Backup"-IPDstPrefixMatchCondition 10.1.1.176/28-NetworkProfile Domain-DSCPAction 40。
在一个详细实例中,只有满足MC的数据会话的第一数据包将由CSS或操作***更改或编辑其DSCP值。当DSCP值用于通信装置106以识别数据会话时,通信装置106然后可以例如通过使用目的地地址、目的地端口、源地址和源端口号的组合来存储数据会话的签名。数据会话的其它数据包可能不需要由CSS或操作***更改或编辑其DSCP值。通信装置106仍然可以通过数据包的目的地地址、目的地端口、源地址和源端口号的组合来识别数据会话。替代地,除了第一数据包之外,数据会话的一些或所有数据包将由CSS或操作***更改或编辑其DSCP值。通信装置106可以通过数据会话的签名或通过DSCP值来识别数据会话。
在步骤1403处,游戏笔记本电脑将数据包发送到通信装置106。在步骤1404处,通信装置1404的处理单元将检查数据包是否属于新会话。当在步骤1403处计算装置发送多个数据包时,处理单元将检查多个数据包中的第一数据包。
如果没有数据包是数据会话的第一数据包,则应该已经为会话分配了连接。如果分配给会话的连接是SC,则在步骤1407重置DSCP值之后,SC将用于传输数据包。如果分配给会话的连接不是SC,则在重置数据包的DSCP值之后应该通过已经在步骤1410处分配给会话的连接发送数据包。重置DSCP值的一个好处是不会混淆下一跳中的路由器,因为下一跳中的路由器可能无法理解DSCP值。
在一个变型中,如果分配给会话的连接不是SC,则可以通过任何连接发送数据包。
如果数据包是数据会话的第一数据包,则在步骤1408处,处理单元将确定第一数据包的DSCP值是否可识别。如果DSCP值与处理单元识别的值之一匹配,则执行步骤1409。否则,将执行步骤1410。在一个实例中,可以识别的DSCP值是0x11、0x22和0x33。在步骤1409处,通信装置106处的匹配条件基于DSCP值0x11、0x22和0x33。当第一数据包与匹配条件DSCP值0x11匹配时,CSC是所有可能连接之中的最低时延连接。当第一数据包与MC DSCP值0x22匹配时,CSC是所有可能连接之中最大的带宽量。当第一数据包与MC DSCP值0x33匹配时,CSC是所有可能连接之中的最大信噪比(SNR)。对于DSCP值没有限制。对于CSC也没有限制。然后,根据CSC选择的连接被分配给数据会话,是用于数据会话的SC。所属领域的技术人员将理解,iptable是可以为数据会话分配连接的工具之一。然后执行步骤1407。
在一个变型中,在步骤1408处,使用DPI结果而不是检查DSCP值,并且步骤1409中的MC基于DPI结果。这允许通信装置106的管理员仅基于CSC进行确定。在一个变型中,在步骤1408处,检查DPI结果和DSCP值,并且步骤1409中的MC基于DPI结果和DSCP值的组合。这允许通信装置106的管理员和计算装置的用户共同配置MC。
相反,处理单元执行DPI以确定数据会话是否应是所选会话。
在一个变型中,如果没有为数据会话分配连接,或者在步骤1408中未识别DSCP值,则通信装置106的处理单元可以不使用相同的连接来传输数据会话的所有数据包。可以通过不同的连接来传输数据会话的数据包。
并不限制CSS仅可以使用DSCP字段来允许通信装置106识别数据包。可以使用数据包中的其它字段,例如选项字段。为了不影响其它网络节点对数据包的路由和/或转发,通信装置106应将CSS使用的字段重置为默认值。
在一个变型中,发送装置能够通过多个连接发送数据包。例如,游戏笔记本电脑是发送装置。游戏笔记本电脑具有多个网络接口,并且能够使用多个因特网连接。游戏笔记本电脑还能够执行通信装置106的功能。因此,游戏笔记本电脑能够执行图12的流程图中描述的所有过程。例如,由游戏笔记本电脑的处理单元执行的指令能够确定数据包是否满足MC、根据CSC进行选择并通过所选连接传输数据包。在一个变型中,由于同一装置正在生成数据包并执行连接选择,因此不需要另一装置来识别满足MC的数据包,并且因此不需要编辑或更改数据包的DSCP值。

Claims (20)

1.一种用于选择并通过所选连接传输数据包的方法,包括以下步骤:
a.通过在第一计算装置处的用户界面接收匹配条件;
b.当数据会话的第一数据包满足所述匹配条件时:
i.将所述第一数据包的差分服务代码点(DSCP)值设置为在所述第一计算装置处的预定义值;
其中由第一网络节点通过所选连接传输所述数据会话的所述第一数据包和其它数据包;并且
其中所述所选连接是可能连接之一。
2.根据权利要求1所述的方法,其中实质上基于连接选择标准来选择所述所选连接。
3.根据权利要求2所述的方法,其中由第一网络节点接收所述连接选择标准。
4.根据权利要求1所述的方法,其中所述连接选择标准实质上基于可能连接之间的最低时延。
5.根据权利要求4所述的方法,其中使用第一评估包来评估所述最低时延,并且其中所述第一评估包包含基于所述第一数据包的内容。
6.根据权利要求1所述的方法,其中所述用户界面是图形用户界面。
7.根据权利要求1所述的方法,其中所述匹配条件实质上基于来自第一应用程序的数据包,并且其中所述应用程序在所述第一计算装置处执行。
8.根据权利要求7所述的方法,其中所述第一应用程序是游戏。
9.根据权利要求8所述的方法,其中所述第一计算装置和所述第一网络节点是一个电子装置。
10.根据权利要求1所述的方法,其中所述DSCP值可由所述第一网络节点识别并且所述DSCP值由所述第一网络节点重置。
11.一种包括第一计算装置和第一网络节点的***,其中所述第一计算装置包括:
至少一个第一网络接口;
至少一个第一处理单元;
至少一个第一主存储器;
至少一个第一用户界面;
至少一个第一非暂时性计算机可读介质,其存储可由所述至少一个第一处理单元执行的针对以下步骤的程序指令:
a.通过所述至少一个第一用户界面接收匹配条件;
b.当数据会话的第一数据包满足所述匹配条件时:将所述第一数据包的差分服务代码点(DSCP)值设置为预定义值;
并且所述第一网络节点包括:
至少一个第二网络接口;
至少一个第二处理单元;
至少一个第二主存储器;
至少一个第二非暂时性计算机可读介质,其存储可由所述至少一个第二处理单元执行的针对以下步骤的程序指令:
c.通过所选连接传输所述数据会话的所述第一数据包和其它数据包;其中所述所选连接是可能连接之一。
12.根据权利要求11所述的***,其中实质上基于连接选择标准来选择所述所选连接。
13.根据权利要求12所述的***,其中由第一网络节点接收所述连接选择标准。
14.根据权利要求11所述的***,其中所述连接选择标准实质上基于可能连接之间的最低时延。
15.根据权利要求14所述的***,其中使用第一评估包来评估所述最低时延,并且其中所述第一评估包包含基于所述第一数据包的内容。
16.根据权利要求11所述的***,其中所述至少一个第一用户界面是图形用户界面。
17.根据权利要求11所述的***,其中所述匹配条件实质上基于来自第一应用程序的数据包,并且其中所述应用程序在所述第一计算装置处执行。
18.根据权利要求17所述的***,其中所述第一应用程序是游戏。
19.根据权利要求18所述的***,其中所述第一计算装置和所述第一网络节点是一个电子装置。
20.根据权利要求11所述的***,其中所述DSCP值可由所述第一网络节点识别并且所述DSCP值由所述第一网络节点重置。
CN201780061963.4A 2014-07-14 2017-09-12 用于评估聚合的连接的网络性能的方法和*** Active CN109983737B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/IB2014/063084 WO2016009250A1 (en) 2014-07-14 2014-07-14 Methods and systems for transmitting data packets
US14/410,099 US9602412B2 (en) 2014-07-14 2014-07-14 Methods and systems for transmitting data packets
US15/462,951 US9876723B2 (en) 2014-12-21 2017-03-20 Methods and systems for evaluating network performance of an aggregated connection
US15/462,951 2017-03-20
PCT/IB2017/055479 WO2018172833A1 (en) 2014-07-14 2017-09-12 Methods and systems for evaluating network performance of an aggregated connection

Publications (2)

Publication Number Publication Date
CN109983737A true CN109983737A (zh) 2019-07-05
CN109983737B CN109983737B (zh) 2022-01-21

Family

ID=54544582

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201910524047.0A Active CN110337121B (zh) 2014-07-14 2014-07-14 用于评估聚合的连接的网络性能的方法和***
CN201480079683.2A Active CN106465162B (zh) 2014-07-14 2014-07-14 用于传输数据包的方法和***
CN201780062035.XA Active CN109792621B (zh) 2014-07-14 2017-09-12 用于评估聚合的连接的网络性能的方法和***
CN201780061963.4A Active CN109983737B (zh) 2014-07-14 2017-09-12 用于评估聚合的连接的网络性能的方法和***

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201910524047.0A Active CN110337121B (zh) 2014-07-14 2014-07-14 用于评估聚合的连接的网络性能的方法和***
CN201480079683.2A Active CN106465162B (zh) 2014-07-14 2014-07-14 用于传输数据包的方法和***
CN201780062035.XA Active CN109792621B (zh) 2014-07-14 2017-09-12 用于评估聚合的连接的网络性能的方法和***

Country Status (4)

Country Link
US (1) US9602412B2 (zh)
CN (4) CN110337121B (zh)
GB (1) GB2534259B (zh)
WO (3) WO2016009250A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805219B2 (en) * 2014-07-14 2020-10-13 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
WO2016009250A1 (en) * 2014-07-14 2016-01-21 Pismo Labs Technology Limited Methods and systems for transmitting data packets
GB2579759B (en) * 2014-07-14 2022-07-13 Pismo Labs Technology Ltd Methods and systems for evaluating network performance of an aggregated connection
US10084675B2 (en) * 2016-04-07 2018-09-25 International Business Machines Corporation Monitoring connections for data communications
US10069897B2 (en) * 2016-04-08 2018-09-04 Verizon Patent And Licensing Inc. Increasing an efficiency of a file transfer by using multiple communication resources
US10084678B2 (en) 2016-04-19 2018-09-25 International Business Machines Corporation Managing connections for data communications using heartbeat messaging
JP2019523621A (ja) * 2016-06-18 2019-08-22 クレバーネット, インコーポレイテッドClevernet, Inc. 複数のチャネルを使用してパフォーマンスを向上するインテリジェントアダプティブトランスポートレイヤー
US10827001B2 (en) 2016-07-27 2020-11-03 International Business Machines Corporation Managing connections for data communications
GB2575228B (en) * 2017-03-20 2022-07-06 Pismo Labs Technology Ltd Methods and systems for evaluating network performance of an aggregated connection
US10809134B2 (en) 2017-05-24 2020-10-20 Cisco Technology, Inc. Thermal modeling for cables transmitting data and power
US11054457B2 (en) 2017-05-24 2021-07-06 Cisco Technology, Inc. Safety monitoring for cables transmitting data and power
US10828716B2 (en) 2017-06-19 2020-11-10 Lincoln Global, Inc. Systems and methods for real time, long distance, remote welding
US10742747B2 (en) 2017-07-06 2020-08-11 International Business Machines Corporation Managing connections for data communications following socket failure
CN109818863B (zh) 2017-11-22 2021-11-19 华为技术有限公司 链路优先级设置方法及装置
GB2573911B (en) * 2017-11-27 2022-07-20 Pismo Labs Technology Ltd Methods and systems for transmitting and receiving data packets through a bonded connection
US11683293B2 (en) * 2021-05-13 2023-06-20 Microsoft Technology Licensing, Llc Creating two simultaneous VPN connections for a VPN client
US11671362B2 (en) 2021-05-13 2023-06-06 Microsoft Technology Licensing, Llc Managing data traffic for two simultaneous VPN connections with a VPN client
CN114615205B (zh) * 2022-03-23 2024-03-08 南京航空航天大学 基于时间效益函数的时间敏感网络下的混合流量调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956637A (zh) * 2012-10-25 2015-09-30 柏思科技有限公司 在多个逻辑网络连接中优先化封装数据包的方法、装置以及***
US20150312112A1 (en) * 2013-10-16 2015-10-29 Pismo Labs Technology Limited Methods and systems for displaying network performance information
CN105579989A (zh) * 2013-07-05 2016-05-11 柏思科技有限公司 通过集中的端到端连接传输包的方法和***
CN106465162A (zh) * 2014-07-14 2017-02-22 柏思科技有限公司 用于传输数据包的方法和***

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654158B2 (ja) * 2000-08-09 2005-06-02 日本電気株式会社 パケット転送経路制御装置及びそれに用いるパケット転送経路制御方法
JP5138847B2 (ja) * 2001-08-31 2013-02-06 富士通株式会社 ネットワークシステム、ネットワーク中継装置、ネットワーク中継監視装置およびネットワーク運用方法
US7668966B2 (en) * 2001-11-02 2010-02-23 Internap Network Services Corporation Data network controller
US8676219B2 (en) * 2007-04-13 2014-03-18 Hart Communication Foundation Combined wired and wireless communications with field devices in a process control environment
US8189577B2 (en) * 2007-06-15 2012-05-29 Silver Spring Networks, Inc. Network utilities in wireless mesh communications networks
FR2919778A1 (fr) * 2007-07-30 2009-02-06 Canon Kk Procede de transmission de paquets de donnees dans un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
US9730078B2 (en) * 2007-08-31 2017-08-08 Fisher-Rosemount Systems, Inc. Configuring and optimizing a wireless mesh network
DE102008030939A1 (de) * 2008-07-02 2010-01-07 Deutsche Thomson Ohg Verfahren und Vorrichtung zur Verwaltung von Datenübertragungen in einem Netz
CN101635663B (zh) * 2008-07-21 2012-06-27 华为技术有限公司 数据传输方法、***及网络设备
CN101729589B (zh) * 2008-10-14 2012-07-18 北京大学 一种提高端到端数据传输速率的方法及***
US9264307B2 (en) * 2008-11-12 2016-02-16 Teloip Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections between remote sites
CN101656637B (zh) * 2009-09-11 2012-06-13 中国科学院计算技术研究所 网络协议的虚拟中继测试装置和方法
CN101719864B (zh) * 2009-11-27 2011-12-07 深圳市共进电子有限公司 一种具有双网口的路由器的数据传输及分配方法
CN201616094U (zh) * 2010-02-11 2010-10-27 北京爱国者存储科技有限责任公司 具有多种连接器的主机装置和协议选择装置
US9253015B2 (en) * 2010-07-09 2016-02-02 Attila Technologies, Llc Transparent proxy architecture for multi-path data connections
WO2012027020A1 (en) * 2010-08-24 2012-03-01 Exxonmobil Upstream Research Company System and method for planning a well path
EP2437434A1 (en) * 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Monitoring of data traffic based on user profiles
US8654869B2 (en) * 2011-10-27 2014-02-18 Cooper Technologies Company Multi-path radio transmission input/output devices, network, systems and methods with link suitability determination
CN103428770B (zh) * 2013-07-30 2016-03-09 北京邮电大学 异构无线网络多连接并行传输中的流量分配方法
CN105453499B (zh) * 2013-08-02 2017-06-30 特洛伊普公司 用于提供远程站点间的聚合/结合网络连接的改善性能的***、装置和方法
US9876723B2 (en) * 2014-12-21 2018-01-23 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
CN104104548B (zh) * 2014-08-01 2018-10-26 哈尔滨工程大学 一种基于sflow和owamp的网络安全态势信息获取***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956637A (zh) * 2012-10-25 2015-09-30 柏思科技有限公司 在多个逻辑网络连接中优先化封装数据包的方法、装置以及***
CN105579989A (zh) * 2013-07-05 2016-05-11 柏思科技有限公司 通过集中的端到端连接传输包的方法和***
US20150312112A1 (en) * 2013-10-16 2015-10-29 Pismo Labs Technology Limited Methods and systems for displaying network performance information
CN106465162A (zh) * 2014-07-14 2017-02-22 柏思科技有限公司 用于传输数据包的方法和***

Also Published As

Publication number Publication date
US9602412B2 (en) 2017-03-21
CN109792621A (zh) 2019-05-21
CN106465162B (zh) 2019-07-12
WO2018172833A1 (en) 2018-09-27
GB2534259B (en) 2021-04-21
GB201516722D0 (en) 2015-11-04
CN109983737B (zh) 2022-01-21
US20160261504A1 (en) 2016-09-08
CN110337121B (zh) 2023-03-24
CN106465162A (zh) 2017-02-22
WO2016009250A1 (en) 2016-01-21
CN110337121A (zh) 2019-10-15
CN109792621B (zh) 2023-02-28
GB2534259A (en) 2016-07-20
WO2018172832A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
CN109983737A (zh) 用于评估聚合的连接的网络性能的方法和***
CN113196723B (zh) 在公共云上限定的虚拟网络中的层四优化
US11082334B2 (en) Distributed quality-of-service (QoS) in an overlay network using capacity enforcement
US10511522B2 (en) Methods and systems for evaluating network performance of and transmitting packets through an aggregated connection
US20210328914A1 (en) Traffic Shaping and End-to-End Prioritization
CN108234235B (zh) 用于数据监控的方法、网络设备以及计算机可读存储介质
US10687253B2 (en) Resource reservation on networks comprising wireless and wired segments
CN104902518B (zh) 实现反射式eps承载的***和方法
US20030141093A1 (en) System and method for routing a media stream
US11621907B2 (en) Enhanced two-way active measurement protocol
CN112202930B (zh) 一种移动设备接入sd-wan网络方法、pop和***
US11601358B2 (en) Cross datacenter communication using a mesh gateway
US9413676B2 (en) System and method for reducing the data packet loss employing adaptive transmit queue length
JP2016174268A (ja) ネットワークシステム、ネットワークシステムの制御方法、通信装置、及びプログラム
Budiyanto et al. Comparative Analysis of VPN Protocols at Layer 2 Focusing on Voice Over Internet Protocol
US20190190835A1 (en) Methods and systems for evaluating network peformance of an aggregated connection
US10805219B2 (en) Methods and systems for evaluating network performance of an aggregated connection
US11082255B1 (en) Method and an apparatus for establishing secure, low latency, optimized paths in a wide area network
JP2003244251A (ja) トンネル経路を再構成するパケット通信方法
WO2012114328A1 (en) System and method for active queue management per flow over a packet switched network
Heuschkel et al. Protocol virtualization through dynamic network stacks
CN114598636A (zh) 流量调度方法、设备及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 40008206

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant