CN105282211A - 长寿命的mptcp会话 - Google Patents
长寿命的mptcp会话 Download PDFInfo
- Publication number
- CN105282211A CN105282211A CN201510283906.3A CN201510283906A CN105282211A CN 105282211 A CN105282211 A CN 105282211A CN 201510283906 A CN201510283906 A CN 201510283906A CN 105282211 A CN105282211 A CN 105282211A
- Authority
- CN
- China
- Prior art keywords
- mptcp
- remote endpoint
- subflow
- session
- electronic 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及长寿命的MPTCP会话。支持长寿命的多路径传输控制协议(MPTCP)会话的技术。可以在两个端点之间建立MPTCP会话。可以在该MPTCP会话的一个或多个MPTCP子流上在MPTCP端点之间传送应用数据。可以终止所有MPTCP子流。可以在已终止所有MPTCP子流之后保持MPTCP会话状态信息。从而,可以保持零个子流的MPTCP会话。可以随后使用所保持的MPTCP会话状态信息,将另外的MPTCP子流添加回该MPTCP会话。
Description
技术领域
本发明涉及电子设备,更具体地,涉及一种用于保持长寿命的多路径传输控制协议(MPTCP)会话的系统和方法。
背景技术
MPTCP是建立在常规TCP之上的传输层协议,用来提供在其上应用能够通过多路径发送/接收数据的传输层。例如,可以使用多路径TCP在多归属设备上将在多个网络上创建的TCP连接或子流聚集到单个管道或干线中以发送/接收数据。
发明内容
这里描述了具有零子流支持的支持“长寿命的”或“半持久的”MPTCP会话的技术。当关闭MPTCP会话的所有MPTCP子流时,不关闭MPTCP会话,MPTCP会话跨越的端点可以保持用于MPTCP会话的MPTCP会话状态信息。
通过这样做,如果之后需要另外的数据传输,端点也许能够重新建立MPTCP子流作为同一个MPTCP会话的一部分,而不是建立全新的MPTCP会话。相对于建立全新的MPTCP会话,以该方式将MPTCP子流添加到存在的MPTCP会话,可以减少数据交换能再次发生之前的设置延迟。
这里还描述了当将MPTCP子流添加到存在的MPTCP会话时用于加速数据交换的技术。该技术可以在将子流添加到零子流状态的MPTCP会话时使用,以相对于建立全新的MPTCP会话减少设置延迟,或者该技术可以独立使用(例如,在具有一个或多个已存在的子流的MPTCP会话中)。
用于在将MPTCP子流添加到存在的MPTCP会话时加速数据交换的技术可以包括:当MPTCP子流处于建立前状态时,通过该MPTCP子流发送应用数据。例如,不是在发送应用数据之前等待四步骤握手过程完成,端点可以在发送SYN和接收SYN/ACK之间,或替代地在发送ACK和接收ACK之间,发送应用数据,作为握手过程的一部分以增加MPTCP子流。使用预先建立的MPTCP会话状态信息,当子流处于建立前状态时,可以配置另一个端点来认证应用数据。
还可以在几种不同类型的设备中实现和/或与这几种不同类型的设备一起使用这里描述的技术,这些设备包括但不限于便携式媒体播放器、蜂窝电话、平板计算机、机顶盒设备、电视系统、负载平衡器、服务器以及其它计算设备。
该发明内容旨在提供本文中描述的一些主题的概述。因此,应理解,上述特征只是示例,而不应被解释为以任何方式缩限这里所述主题的范围或精神。这里所述主题的其它特征、方面和优点将通过以下具体实施方式、附图和权利要求而变得明显。
附图说明
当通过结合以下附图考虑以下优选实施例的描述时可以更好地理解本主题,其中:
图1-2示出示例通信系统;
图3示出和无线用户设备装置通信的蜂窝基站和Wi-Fi接入点;
图4示出无线用户设备装置的示例框图;
图5示出可以结合多路径传输控制协议通信使用的示例协议栈;
图6为示出保持长寿命的MPTCP会话的方法的各方面的流程图;
图7为示出示例消息序列流的消息序列图,该消息序列流可能发生在被配置用于保持长寿命的MPTCP会话的端点之间;以及
图8-9为示出示例序列流的消息序列图,该序列流表征了当将子流添加到存在的MPTCP会话时的加速的数据交换。
尽管这里描述的特征容易有多种修改和可选形式,但是其具体实施例通过附图中的示例的形式示出并在此详细描述。然而,应理解,附图和对其的详细描述并不是要限于所公开的特定形式,相反,其旨在覆盖落入所附权利要求限定的主题的精神和范围内的全部修改、等同物和替代品。
具体实施方式
术语
以下为本发明中使用的术语词汇表:
存储介质:任意类型的非暂态内存设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘、或磁带设备;计算机系统存储器或随机存取存储器,例如DRAM、DDRRAM、SRAM、EDORAM、RambusRAM等;非易失性存储器,例如闪存、磁介质(例如硬盘驱动器)或光存储装置;寄存器,或其它相似类型的存储元件等。存储介质还可以包括其它类型的非暂态存储器或其组合。另外,存储介质可以位于执行程序的第一计算机系统中,或可以位于通过网络(例如互联网)和第一计算机系统连接的不同的第二计算机系统中。在后一情况中,第二计算机系统可以向第一计算机提供程序指令以执行。术语“存储介质”可以包括两个或更多个存储介质,其可以处于不同位置,例如在通过网络连接的不同计算机系统中。存储介质可以存储由一个或多个处理器执行的程序指令(例如实施为计算机程序)。
载体介质:如上所述的存储介质以及物理传输介质,例如总线、网络和/或其它传送信号(例如电信号、电磁信号或数字信号)的物理传输介质。
可编程硬件元件:包括各种硬件器件,其包括通过可编程互连连接的多个可编程功能块。示例包括:FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、FPOA(现场可编程对象阵列)和CPLD(复杂PLD)。可编程功能块的范围可以从细粒度(组合逻辑或查找表)到粗粒度(算术逻辑单元或处理器核)。可编程硬件元件也可称为“可重构逻辑”。
计算机系统:任意类型的计算或处理系统,包括个人计算机系统(PC)、大型计算机系统、工作站、网络家电、互联网家电、个人数字助理(PDA)、个人通信设备、智能电话、电视系统、网格计算系统或其它设备或设备组合。一般地,能够广泛地定义术语“计算机系统”,以覆盖任意具有至少一个执行来自存储介质的指令的处理器的设备(或设备组合)。
用户装备(UE)(或“UE装置”):任意类型的移动或便携式并进行无线通信的计算机系统设备。UE装置的示例包括移动电话或智能电话(例如iPhone,基于安卓TM的电话)、便携式游戏设备(例如NintendoDSTM、PlayStationPortableTM、GameboyAdvanceTM、iPhoneTM)、膝上计算机、PDA、便携式互联网设备、音乐播放器、数据存储设备或其它手持设备等。一般地,能够广泛地定义术语“UE”或“UE装置”,以覆盖容易被用户携带并能够无线通信的任意电子、计算和/或电信设备(或设备组合)。
基站:术语“基站”具有其一般意义上的全部含义,至少包括安装在固定地点的无线通信站,并作为无线电话系统或无线电系统的一部分用来通信。
处理元件:指各种元件或元件组合。例如,处理元件包括诸如ASIC(专用集成电路)的电路、个体处理器核的部分或电路、整个处理器核、个体处理器、可编程硬件器件(例如现场可编程门阵列(FPGA))和/或包括多个处理器的系统的更大部分。
自动地:指由计算机系统(例如计算机系统执行的软件)或设备(例如电路、可编程硬件元件、ASIC等)执行的动作或操作,不需要直接指定或执行动作或操作的用户输入。从而术语“自动地”与用户手动指定或执行操作相对,其中用户提供输入以直接执行操作。自动过程可以由用户提供的输入发起,但之后“自动”执行的动作不通过用户指定,即非“手动地”执行,其中用户指定每个要执行的动作。例如,通过选择每个字段和提供指定信息的输入(例如,通过键入信息、选择复选框、互斥选择等)来填写电子表格的用户手动地填写表格,即使计算机系统必须响应于用户的动作而更新表格。可以通过计算机系统自动地填写表格,其中计算机系统(例如计算机系统上执行的软件)分析表格的字段并填写表格,而不需要任何用户输入以指定对所述字段的答复。如上所示,用户可以调用表格自动填写,但不涉及表格实际填写(例如,用户没有手动指定对字段的答复,所述对字段的答复被自动完成)。本说明书提供各种响应用户采取的动作而自动执行操作的示例。
图1-2-通信系统
图1-2示出示例(简化)的通信系统。应注意,图1-2的系统只是可能的系统的示例,可以根据需要在任意的各种系统中实现实施例。
图1示出的示例无线通信系统包括两个端点,这两个端点之间具有多个通信路径。从而,端点102能够通过路径106或路径108与端点104通信。
端点102和端点104中的每一个可以是“固定”或“移动”端点。固定端点可以是基本静态的端点,并且/或者可以是通过一种或多种有线通信技术通信的端点。一些示例可以包括服务器计算机,其通过互联网、桥接器、负载平衡器、个人桌面计算机或工作站、机顶盒、电视等提供基于云的服务。移动端点可以是基本移动的端点,并且/或者可以是通过一种或多种无线通信技术通信的端点。一些示例可以包括移动电话或智能电话、平板计算机、便携式游戏设备、便携式媒体播放器等。应注意,享有固定和移动端点两者特点的混合端点也是可能的。例如,许多膝上计算机能够执行无线(例如Wi-Fi)和有线(例如以太网)通信两者,另外也能够在不同时间是基本移动的(例如,当根据电池存电工作时)或基本静态的(例如,当插在和/或连接到电源插座上时)。
端点102和104中的一者或两者可以是多归属的(multihomed)。例如,端点102和104中的一者或两者可以通过多种网络接口通信。这样,在端点102和104之间可以有多个可能的通信路径106、108。应注意,尽管图1示出两个路径(即,路径106和路径108),应当注意端点之间可以存在任意数目的路径。例如,如果端点102和104中的每一个能够通过两种不同网络接口通信,则它们之间可能存在四个可能的通信路径。其它数目的不同网络接口和可能的通信路径也是可能的。
可以使用多个通信路径106和108来建立端点102和104之间的多路径传输控制协议(MPTCP)会话或连接。可以根据和/或包括在MPTCP规范IETFRFC6824中描述的任意的各种特征来建立MPTCP会话。例如,可以通过路径106建立MPTCP连接的一个子流,同时可以通过路径108建立MPTCP连接的另一个子流。可以根据本公开的各方面建立和配置/控制这种MPTCP连接。
图2示出的示例无线通信系统代表一种可能的通信系统,其具有图1示出的示例通信系统的特性。特别地,第一端点(即无线用户设备(UE)装置206)可以使用第一通信路径(即通过蜂窝基站204、核心网络208和广域网200)或者第二通信路径(即通过Wi-Fi接入点202和广域网200)中的任意一个与另一端点(即负载平衡器210)通信。
如图所示,UE装置206与Wi-Fi接入点202和蜂窝基站204通信。接入点202可以是提供无线局域网(WLAN)的接入点。接入点202可以配置为与诸如互联网的广域网(WAN)200通信。从而,接入点202可以帮助UE206和网络200之间的通信。接入点202和UE206可以配置为通过使用Wi-Fi的传输介质进行通信,所述Wi-Fi包括IEEE802.11的任意版本(例如a、b、g、n、ac等)。应注意,接入点202也可以帮助UE和其它也直接参加WLAN的计算设备之间的通信。
基站204可以是基站收发台(BTS)或者小区站点(“蜂窝基站”),可以包括根据一个或多个蜂窝通信协议能够与蜂窝设备(例如UE206)无线通信的硬件。UE206和蜂窝基站204可以使用任意蜂窝通信技术进行通信,这些技术诸如GSM、UMTS(WCDMA,TCS-CDMA)、LTE、LTE-Advanced(LTE-A)、3GPP2CDMA2000(例如1xRTT、1xEV-DO、HRPD、eHRPD)等。
如图所示,蜂窝基站可以配置为与蜂窝服务提供商的核心网络208通信。从而,基站204可以帮助UE206和核心网络208之间的通信。核心网络208又可以配置为与WAN200(例如互联网,或另一个广域网)进行通信。应注意,核心网络208还可以或替代地配置为与一个或多个其它网络(例如,诸如公共交换电话网络(PSTN)的电信网络、其它蜂窝服务提供商的一个或多个核心网络等)进行通信。从而,蜂窝基站204可以向UE206(和潜在的众多其它UE)提供各种电信能力,诸如语音及SMS服务和/或数据服务。
从而,UE206可以使用多种无线通信标准通信,这些标准包括:至少一个无线联网协议(例如Wi-Fi)和至少一个蜂窝通信协议(例如GSM、UMTS(WCDMA)、LTE、LTE-Advanced(LTE-A)、3GPP2CDMA2000(例如1xRTT、1xEV-DO、HRPD、eHRPD)等)。另外应注意,如果需要,UE206还可以或替代地配置为使用一个或多个全球导航卫星系统(GNSS,例如GPS或GLONASS)、一个或多个移动电视广播标准(例如ATSC-M/H或DVB-H)和/或任何其它无线通信协议进行通信。另外或作为替代,UE206可以使用一种或多种有线通信标准进行通信。例如,UE206可以通过以太网与一个或多个有线接入点通信。例如,对于UE206,除了使用Wi-Fi通信之外或作为替代,可以通过有线方式与Wi-Fi接入点202耦接。其它无线和有线通信标准(包括多于两种无线和/或有线通信标准)的组合也是可能的。
负载平衡器210还可以配置为与WAN200通信。负载平衡器210可以提供对群簇或服务器群的访问,所述群簇或服务器群被配置为通过互联网提供一种或多种基于云的服务。例如,如图所示,负载平衡器还可以配置为与服务中心212和214通信,这些服务中心的每一个可以包括被配置为提供基于云的服务的一个或多个计算设备(例如服务器)。例如,每个服务中心可以配置为针对特定应用提供服务,所述特定应用诸如为地图应用、智能个人助理应用、电子商务应用、媒体流传输应用、游戏应用等。应注意,当负载平衡器210如图2所示作为到服务中心212和214的一个可能的示例访问端口(和潜在的MPTCP端点)时,如需要,任意设备可以(替代地或和负载平衡器210组合)用作到服务中心212和214的中介/访问端口设备/实体,例如网关、路由器、防火墙和/或任意其它“中间盒”。此外,应注意,尽管没有明确示出,负载平衡器210可以包括任意数量的用于连接到WAN200的网络接口,包括一个或多个有线网络接口和/或一个或多个无线网络接口。
图3示出与蜂窝基站204和Wi-Fi接入点202通信的UE装置206。UE206可以是具有多种无线网络连接的装置,诸如移动电话、手持设备、计算机或平板电脑、或实际上任意类型的无线设备。
UE206可以包括被配置为执行存储于存储器中的程序指令的处理器。UE206可以通过执行该存储的指令执行任意本文所述的方法实施例。替代地或另外,UE206可以包括诸如FPGA(现场可编程门阵列)的可编程硬件元件,该元件配置为执行任意本文所述的方法实施例,或任意本文所述的方法实施例的任意部分。
UE206可以配置为使用多种无线通信协议中的任一种来通信。例如,UE206可以配置为使用至少一种蜂窝通信协议(诸如CDMA2000、LTE、LTE-A等)和Wi-Fi进行通信。其它无线和/或有线通信标准的组合也是可以的。
UE206可以包括用于使用一个或多个无线通信协议进行通信的一个或多个天线。UE206可以共享多种无线通信标准之间的接收和/或发送链的一个或多个部分;例如,UE206可以配置为利用使用部分或全部共享无线通信电路(例如,使用共享的无线电设备或至少共享的无线电组件)的LTE或CDMA2000(1xRTT/1xEV-DO/HRPD/eHRPD)进行通信。共享的通信电路可以耦接到单个天线或多个天线(例如,用于MIMO)以执行无线通信。替代地,UE206可以包括分离的发送和/或接收链(例如,包括分离的天线和其它无线电组件)用于每种被配置用于通信的无线通信协议。作为另一可能,UE206可以包括在多个无线通信协议之间共享的一个或多个无线电设备或无线电组件,以及由单个无线通信协议排他地使用的一个或多个无线电设备或无线电组件。例如,UE206可以包括使用LTE或CDMA20001xRTT(或LTE及GSM中的任一种)进行通信的共享的无线电设备、以及使用Wi-Fi和蓝牙中每一个进行通信的分离的无线电设备。其它配置也是可能的。
图4-UE的示例框图
图4示出UE206的示例框图。如图所示,UE206可以包括片上系统(SOC)400,其可以包括用于各种目的的部分。例如,如图所示,SOC400可以包括:一个或多个处理器402,其可以执行用于UE206的程序指令;以及显示电路404,其可以执行图形处理并为显示器460提供显示信号。处理器402还可以耦接到存储器管理单元(MMU)440,所述存储器管理单元440可以配置为接收来自处理器402的地址,并将这些地址转换为存储器(例如存储器406、只读存储器(ROM)450、NAND闪存410)和/或其它电路或器件中的位置,所述其它电路或设备诸如为显示电路404、无线通信电路430(也称为“无线电设备”)、连接器接口420和/或显示器460。MMU440可以配置为执行存储器保护和页表转换或设置。在一些实施例中,MMU440可以被包括作为处理器402的一部分。
如图所示,SOC400可以耦接到UE206的其它各个电路。例如,UE206可以包括各种类型的存储器(例如包括NAND闪存410)、连接器接口420(例如用于耦接到计算机系统、底座、充电站等)、显示器460和一个或多个无线电设备430(例如,用于LTE、LTE-A、CDMA2000、蓝牙、Wi-Fi、GPS等)。
如上所述,UE206可以配置为使用多种无线通标准进行无线通信。进一步如上所述,在这样的实例中,无线电设备430可以包括在多种无线通信标准之间共享的无线电组件和/或被排他地配置为根据单个无线通信标准使用的无线电组件。如图所示,UE装置206可以包括至少一个天线435(以及可能多个天线,例如用于MIMO和/或用于实施不同的无线通信技术等),以执行与基站、接入点和/或其它设备的无线通信。
UE206还可以包括一个或多个用户接口元件,和/或被配置为与一个或多个用户接口元件一起使用。该用户接口元件可以包括各种元件中的任意种,诸如显示器460(其可为触屏显示器)、键盘(其可为分立键盘或可以实施为触屏显示器的一部分)、鼠标、麦克风和/或扬声器、一个或多个照相机、一个或多个按钮、和/或任何各种其它能够向用户提供信息和/或接收/解释用户输入的元件。
如本文所述,UE206可以包括硬件和软件组件,用于实现支持长寿命MPTCP会话和/或当将MPTCP子流添加到存在的MPTCP会话中时的加速数据交换的特征,例如本文参考图6-9及其它图所述。UE装置206的处理器420可以配置为例如通过执行存储在存储介质(例如非暂态计算机可读存储介质)上的程序指令而实施本文描述的部分或全部特征。替代地(或另外),处理器402可以配置为可编程硬件元件,诸如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。替代地(或另外),UE装置206的处理器402结合一个或多个其它组件400、404、406、410、420、430、435、440、450和460可以配置为实施本文描述的部分或全部特征,诸如本文参考图6-9及其它图所述的特征。
图5-MPTCP可协议栈
图5示出示例协议栈,根据本公开的各方面,该协议栈可以由UE500用来建立、配置和控制MPTCP连接和UE500与中间盒516(其可以提供从那里到服务中心518和520的重定向)之间的子流。应理解,当图5所示的示例协议栈代表一种可能的可以用于实施本公开的各方面的协议栈时,结合众多替代协议栈中的任意协议栈,结合不同于UE500的装置和中间盒516和/或服务中心518和520(例如没有中介中间盒516或具有多个中间盒),可以建立、配置和/或控制MPTCP连接和子流。由此,图5所示的示例协议栈作为整体不应被认为是对本公开的限制。
如图所示,一个或多个联网应用502可以在UE500上运行。联网应用可以包括使用网络连接以通过网络通信的任何应用。例如,应用(或“app”)502可以包括浏览器应用、电子邮件应用、聊天应用、社交媒体应用、媒体流传输应用、游戏应用、智能个人助理应用、地图应用和/或各种其它类型联网应用中的任意应用。
联网应用502可以与联网框架504对接,该框架可由运行在UE500上的操作系统提供。联网框架504可以提供在应用502和由UE500提供的低级联网功能之间的抽象层级。联网框架504又可以与TCP连接库实体506对接。通过与网络接口状态实体508通信,TCP连接库506可以获知各个网络接口的状态。
网络接口状态实体508可以监视上行/下行状态,并支持对UE500可用的各个网络接口的网络接口维持(upkeep)。关于UE500可用的各网络接口的状态的信息对于能够使用一种或多种无线通信(诸如蜂窝通信和Wi-Fi)的移动设备特别有帮助。例如,网络接口状态实体508可以获知蜂窝数据链路在任意给定的时刻是否可用,并且可以类似地获知Wi-Fi链路在任意给定的时刻是否可用。网络接口状态实体508还可以类似地监视任何另外的或替代的网络接口。在一些情况下,网络接口状态实体508还可以获知关于各种可用网络接口的任何其它考虑,例如网络接口使用偏好。例如,对于许多移动设备,Wi-Fi数据通信可以比蜂窝数据通信更便宜(例如,如果蜂窝服务提供商提供定量数据使用,而Wi-Fi服务提供商提供非定量数据使用);在这种情况下,UE500中的网络接口状态实体508会注意到,在可能时偏好于使用Wi-Fi网络接口而不是蜂窝网络接口进行数据通信。可以另外或替代地存储其它偏好或考虑。
通过与网络接口状态实体508通信而获知这种信息,那么,TCP连接库506可以用作传输连接管理器,并智能地管理用于联网应用502的TCP连接。例如,TCP连接库506能够发起和拆除通过各种网络接口与联网实体(例如中间盒516)的TCP连接(包括MPTCP子流),建立和/或修改MPTCP子流的优先级,以及声明对MPTCP子流创建和优先级状态修改的控制等等。TCP连接库506可以通过套接字层BSD套接字510、MPTCP套接字512和TCP连接/子流514这么做。
如图所示,所产生的MPTCP子流可以建立为与中间盒516的MPTCP连接的一部分。中间盒516可以包括各种类型的中间盒功能的任意功能,例如防火墙、负载平衡、网络地址转换等。中间盒516又可以把数据路由到服务中心518或服务中心520,更具体地可以在分离的连接中路由到用作服务中心518或520的一部分的服务器(例如,根据负载平衡算法)。
每个服务中心518和520可以针对特定应用进行配置(例如,可以特别地建立和/或布置)。从而,根据联网应用502的性质,中间盒516可以将在与UE500的MPTCP连接上接收的应用流重定向。例如,如果用于地图应用的应用流被从UE500传送到中间盒516,并且服务中心518是用于该地图应用的服务中心,则该应用流可以通过中间盒516重定向到服务中心518。如果用于智能个人助理应用的应用流被从UE500传送到中间盒516,并且服务中心520是用于该智能个人助理应用的服务中心,则该应用流可以通过中间盒516重定向到服务中心520。
图6-长寿命的MPTCP会话
图6为示出用于电子设备来保持与远程端点的长寿命MPTCP会话的示例处理的流程图。该处理可以使得其间存在这种长寿命MPTCP会话的两个端点能够快速重新建立MPTCP子流,并在在两个端点之间不存在子流的一段时间之后恢复数据交换。
图6所示的方法可以结合上述附图所示的计算机系统或设备等中的任意一种而使用。所示的方法元素中的一些元素可以并发执行,以和所示不同的顺序执行,或者可以省略。也可以按需执行另外的方法元素。如图所示,该方法可以如下操作。
在602中,可以在实施该方法的设备和远程端点之间建立MPTCP会话。MPTCP会话可以由该设备或远程端点发起。建立MPTCP会话可以包括执行TCP(例如SYN/ACK)握手过程,该过程包括“MP_CAPABLE”选项。作为建立MPTCP会话的一部分,该设备和远程端点之间的第一子流可以被建立。
由建立MPTCP会话的端点交换的MP_CAPABLE选项可以包括认证信息,其可以用于保持会话安全性并认证MPTCP会话的新子流。例如,每个端点可以为另一个端点提供用于该端点的密钥。
可以建立MPTCP会话,作为用于在该设备和/或远程端点上执行的特定应用的套接字。例如,通过该应用向远程端点发送特定数据或从远程端点检索特定数据的用户请求可能已在该设备或远程端点处被接收,从而可以建立MPTCP会话以根据该用户请求实现端点之间的数据交换。其它建立MPTCP会话的原因(例如,背景数据传送、来电或推送通知等)也是可能的。
在604中,一旦建立了MPTCP会话(包括第一子流),可以通过第一MPTCP子流传送应用数据。对应用数据的传送可以包括从该设备向远程端点发送应用数据,以及/或者在设备接收来自远程端点的应用数据。所述传送可以是可靠的,从而每个端点可以在从另一端点成功接收到数据时发送确认。
如果需要,除了第一MPTCP子流之外,可以在设备和远程端点之间另外建立(例如,使用具有“MP_JOIN”选项的TCP握手过程)任意数量的另外的MPTCP子流。可以在与第一MPTCP子流彼此至少部分不同的网络路径上建立这样的另外的子流。例如,如果通过设备的Wi-Fi网络接口建立第一MPTCP子流,则可以通过设备的蜂窝网络接口建立另一个MPTCP子流。还可以在任何这样另外的MPTCP子流上传送应用数据。
在606中,可以终止第一MPTCP子流。如果已经创建了任何另外的MPTCP子流,则也可以终止这些子流。一旦已通过第一子流(以及任何另外的子流)传送了任何期望的应用数据,则不再需要保持MPTCP会话的活跃子流。因此,可以例如通过设备和远程端点在各个子流上交换TCPFIN标志,来关闭各个活跃MPTCP子流。从而,在终止所有活跃MPTCP子流后,MPTCP会话可能包括零个MPTCP子流。
在608中,可以保持MPTCP会话的MPTCP会话状态信息。换句话说,即使MPTCP会话不包括任何MPTCP子流,也可以将诸如认证信息和MPTCP会话的当前数据序列号的状态信息存储在电子设备和远程端点处。
在610中,使用保持的MPTCP会话状态信息,可以建立第二MPTCP子流。可以在以后例如基于在设备和远程端点之间交换应用数据的新的用户请求,建立第二MPTCP子流。
例如,建立第二MPTCP子流可以包括在电子设备和远程端点之间交换具有MP_JOIN选项的TCP握手。MP_JOIN选项可以包括作为MPTCP会话状态信息的一部分存储的(或基于存储的信息产生的)认证信息。第二MPTCP子流可以由电子设备或远程端点发起。
一旦建立了第二MPTCP子流,可以通过第二MPTCP子流在电子设备和远程端点之间传送另外的应用数据。
从而,设备和远程端点可以对保持零个子流的MPTCP会话重建(添加)子流。以这种方式将子流添加到存在的MPTCP会话,可以比建立全新的MPTCP会话更简单更快速,例如因为每个端点可能已具有该MPTCP会话的认证信息,从而可以跳过这种信息的重新产生。
这里根据图5的方法描述的长寿命的MPTCP会话可以和半持久的或长寿命的TCP连接(或类似的长寿命的MPTCP子流)对比。例如,这里描述的这种长寿命的MPTCP会话可以不要求由跨越电子设备和远程端点的各种中间盒保持的任何保持活跃型通信或会话数据,而是可以简单地通过在每个端点存储MPTCP会话状态信息来保持活跃。与之相比,为了保持半持久的或长寿命的TCP连接而没有活跃的数据通信,将需要周期的保持活跃型通信,并且可能还要求不受任何端点控制的各种中间盒保持会话状态信息(例如,对于互联网服务提供商(ISP)网址转换(NAT)等)。
在一些实例中,当将MPTCP子流添加到存在的MPTCP会话时,例如,如果需要,当诸如在610中将MPTCP子流添加到零个子流的MPTCP会话时,可以“加速”电子设备和远程端点之间的数据交换。例如,可以在第二MPTCP子流处于建立前状态时(即在具有MP_JOIN选项的TCP握手过程完成之前)发起数据交换。将在下文关于图8-9对这种可能的加速数据交换的示例和进一步的细节进行进一步地描述。
图7-9-示例信号流
图7-9为示出可以实施图6中的方法的各方面的各种设备(称为“MPTCP端点A”702和“MPTCP端点B”704,或替代地简称为“端点A”和“端点B”)之间的示例信号流的信号流图。例如,图7所示的信号流可以在实施用于支持长寿命的MPTCP会话的技术时出现,而图8-9所示的信号流可以在实施当将新子流添加到存在的MPTCP会话时加速数据交换的技术时出现。
图7-9所示的信号流可以与以上各图所示的任意计算机系统或设备等结合使用。所示的一些信号流可以并发执行,以与所示不同的顺序执行,或者可以省略。也可以根据需要执行另外的方法元素。如图所示,信号流可以如下操作。
在706中,端点A可以向端点B包括MP_CAPABLE选项的SYN消息,以发起MPTCP握手过程。该MP_CAPABLE选项可以包括用于端点A的密钥(“密钥A”)。
在708中,端点B可以向端点A发送包括MP_CAPABLE选项的SYN/ACK消息,以继续进行MPTCP握手过程。该MP_CAPABLE选项可以包括用于端点B的密钥(“密钥B”)。
在710中,端点A可以向端点B发送包括MP_CAPABLE选项的ACK消息,以完成MPTCP握手过程。该MP_CAPABLE选项可以包括两个端点的密钥(密钥A和密钥B)。这时,可以建立MPTCP会话,其可以包括第一子流(即通过其传送具有MP_CAPABLE选项的TCP握手过程并建立MPTCP会话的子流)。
在712中,端点A可以通过第一子流向端点B发送数据(例如,应用数据)。该数据可以使用基于当建立MPTCP会话时交换的认证信息的传输层安全(TLS)。
在714中,端点B可以确认由端点A发送的数据。还应注意,尽管未示出,端点B也可以向端点A发送数据(例如,对端点A发送的数据的响应),该数据进而可以由端点A确认。
在716中,端点A可以向端点B发送子流FIN消息。一旦端点A没有要与端点B交换的另外的数据,端点A可以发送这样的消息。
在718中,端点B可以确认端点A发送的子流FIN消息,并可以包括其自己的子流FIN消息,以指示它也没有要与端点A交换的另外的数据。
在720中,端点A可以确认端点B发送的子流FIN消息。这时,第一子流可以关闭,并且端点A和端点B之间的MPTCP会话可以不包括任何子流。然而,因为端点A和端点B都没有发送或确认MPTCP级的DATA_FIN消息,从而MPTCP会话本身可以不被关闭。
在722中,端点A和端点B中的每个可以保持(存储)MPTCP会话的MPTCP会话状态信息。这可以包括存储密钥A和密钥B、MPTCP会话的最近数据序列号、和/或各种其它信息。
在724中,端点A可以向端点B发送具有MP_JOIN选项的SYN消息,从而发起第二子流的建立。MP_JOIN选项可以使用键控材料,所述键控材料原本是在初始的MP_CAPABLE握手中交换的,并且作为MPTCP会话状态信息的一部分来存储。例如,MP_JOIN选项可以包括“令牌B”,其可以是密钥B的密码散列,以及A的现时(nonce)或随机数(“现时A”)和A的地址ID。
在726中,端点B可以向端点A发送具有MP_JOIN选项的SYN/ACK消息。该MP_JOIN选项可以同样使用最初在初始的MP_CAPABLE握手中交换的键控材料、以及来自端点A的SYN消息的信息。例如,MP_JOIN选项可以包括基于现时A、密钥A和密钥B的用于端点B的截断的基于散列的消息认证代码(“HMACB”)、以及用于B的现时或随机数(“现时B”)和B的地址ID。
在728中,端点A可以向端点B发送具有MP_JOIN选项的ACK消息。该MP_JOIN选项也可以使用最初在初始MP_CAPABLE握手中交换的键控材料、以及来自端点B的SYN/ACK消息的信息。例如,MP_JOIN选项可以包括基于现时B、密钥A和密钥B的用于端点A的截断的基于散列的消息认证代码(“HMACA”)。
在730中,端点B可以确认端点A的具有MP_JOIN选项的ACK消息。这时,每个端点可能已向另一个端点认证了自己,并且第二子流可以建立。
在732中,端点A可以通过第二子流向端点B发送数据(例如,应用数据)。
在734中,端点B可以确认由端点A发送的数据。应注意,尽管没有示出,端点B也可以向端点A发送数据(例如,对端点A发送的数据的响应),该数据进而可以被端点A确认。
接下来转到图8-9,如前所述,所示的信号流可以与用于在将MPTCP子流添加到存在的MPTCP会话时加速数据交换的方法结合使用。特别地,所示的信号流可以用于当MPTCP子流仍处于建立前状态时在该MPTCP子流上发起端点(例如,图8中的端点A802和端点B804,或图9中的端点A902和端点B904)之间的数据交换。例如,使用图8所示的信号流,可以在仅一个往返时间之后(而不是在完成将MPTCP子流添加到存在的MPTCP会话的握手过程所需的两个往返时间之后)开始MPTCP子流上的数据交换。
如图8所示,在806中,通过向端点B发送具有MP_JOIN选项的SYN消息,端点A可以发起MPTCP子流的建立。MP_JOIN选项可以使用键控材料,其最初在初始的MP_CAPABLE握手中交换,并且可以作为MPTCP会话状态信息的一部分而存储,例如前文参考图7所述。
在808中,端点B可以向端点A发送具有MP_JOIN选项的SYN/ACK消息。同样如前文参考图7所述,该MP_JOIN选项可以使用最初在初始的MP_CAPABLE握手中交换的键控材料、以及来自端点A的SYN消息的信息。
在810中,端点A可以向端点B发送具有MP_JOIN选项的ACK消息。同样如前所述,该MP_JOIN选项也可以使用最初在初始MP_CAPABLE握手中交换的键控材料、以及来自端点B的SYN/ACK消息的信息。
在812中,不是等待端点B确认端点A的具有MP_JOIN选项的ACK消息以发起数据交换,端点A可以向端点B发送数据。如果需要,该数据可以使用传输层安全(例如,基于用于端点A和端点B的键控信息)。
在814中,端点B可以确认端点A的具有MP_JOIN选项的ACK消息。这时,每个端点可能已向另一个端点认证了自己,并且第二子流可以建立。
在816中,端点B也可以确认端点A的数据。应注意,在一些实例中,即使在完成子流建立握手过程之前端点A可能已向端点B发送了数据,但是端点B可以在接收到端点A的数据之前接收并响应了端点A的具有MP_JOIN选项的ACK消息。从而,从端点B的角度看,可以建立子流,并且端点B可以以与就像端点A在完成子流建立握手过程之后发送数据相同的方式进行响应(即通过确认端点A的数据)。根据需要,之后可以在(现已建立的)子流上执行进一步的数据交换(例如,从端点A到端点B和/或从端点B到端点A)。
然而根据图8所示的信号流,可以在一个往返时间之后开始在MPTCP子流上的数据交换,使用图9所示的信号流,可以在发起MPTCP子流的建立之后(即零往返时间之后)立即开始在MPTCP子流上的数据交换。
如图所示,在906中,端点A可以通过向端点B发送具有MP_JOIN选项的SYN消息来发起MPTCP子流的建立。
在908中,在发送具有MP_JOIN选项的SYN消息之后,并在接收到作为响应的具有MP_JOIN选项的SYN/ACK消息之前,端点A也可以向端点B发送数据。如果需要,该数据可以使用传输层安全(例如,基于用于端点A和端点B的键控信息)。此外,该数据可以包括数据序列信号(DSS)选项,该选项可以用于在端点B处对对端点A的这种建立前数据交换进行认证。在一些实例中,该数据可以包括诸如ACK号的随机数,例如,因为端点A可能还没有接收到端点B的MP_JOIN响应。
在910中,端点B可以向端点A发送具有MP_JOIN选项的SYN/ACK消息。
在912中,端点B可以确认端点A的数据。因为认证和安全信息可以由端点A和端点B中的每一个保持,从而,即使还没有完全建立子流,端点B也能够认证并从而接受端点A的数据。例如,端点B可以尝试解密端点A发送的数据,如果解密失败,则丢弃该数据和连接。如果解密成功,则端点B可以接受该数据,并且也可以认证端点A(例如,即使它还没有发送其HMAC)。端点B还可以确认由端点A发送的数据的MPTCP数据序列号与由端点B保持的关于发送和/或接收的最后MPTCP序列号的会话状态信息一致。还应注意,可以配置端点B以忽略在子流建立过程中很早接收的数据的ACK号,因为如前所述,它可能和任何实际确认无关。
在914中,端点A可以继续进行握手过程,并向端点B发送具有MP_JOIN选项的ACK消息。
在916中,端点B可以完成握手过程,并向端点A发送响应于端点A的具有MP_JOIN选项的ACK消息的ACK消息。
从而,端点可以在MPTCP子流还处于建立前状态时就发起MPTCP子流上的数据交换。这可以潜在地减少开始在MPTCP子流上交换数据所需的时间量(即延迟)。应注意,如果由于各种原因中的任意原因使得加速数据交换不成功(例如,如果一个或多个中间盒丢弃在将子流添加到MPTCP会话的建立前阶段期间发送的数据),则还可以在子流已完全建立后交换该数据。
本发明的实施例可以以任何形式实现。例如,一些实施例可以作为计算机实施的方法、计算机可读存储介质或计算机系统实现。其它实施例可以使用一个或多个诸如ASIC的定制设计的硬件装置来实现。另外的实施例可以使用一个或多个诸如FPGA的可编程的硬件元件实现。
在一些实施例中,非暂态计算机可读存储介质可以配置为使其存储程序指令和/或数据,其中所述程序指令如果被计算机系统执行使计算机系统执行一方法,例如,本文所述的方法实施例中的任一个,或本文所述的方法实施例的任意组合,或本文所述的方法实施例的任意子集,或这些子集的任意组合。
在一些实施例中,设备(例如,UE206)可以配置为包括处理器(或一组处理器)和存储介质,其中所述存储介质存储程序指令,其中处理器被配置为读取和运行来自存储介质的程序指令,其中所述程序指令可被执行以实现本文所述的各种方法实施例的任一个(或本文所述的方法实施例的任意组合,或本文所述的方法实施例的任意子集,或这些子集的任意组合)。该设备可以以任意形式实现。
尽管已经相当详细地描述了上述实施例,当完全理解上述公开时,本领域技术人员可以容易地想到多种变化和修改。本发明旨将以下权利要求解释为包括所有这些变化和修改。
Claims (20)
1.一种用于电子设备执行与远程端点的多路径传输控制协议(MPTCP)通信的方法,该方法包括:
与远程端点交换具有MP_CAPABLE选项的TCP握手,其中该具有MP_CAPABLE选项的TCP握手建立与远程端点的MPTCP会话并建立该MPTCP会话中的第一MPTCP子流;
经由第一MPTCP子流向远程端点传送应用数据;
通过与经由第一MPTCP子流传送的数据一起包括TCPFIN标志,终止所述MPTCP会话中的第一MPTCP子流,其中在终止第一MPTCP子流后,所述MPTCP会话在所述电子设备和远程端点之间包括零个MPTCP子流;以及
在终止所述MPTCP会话中的所有MPTCP子流后,在所述电子设备和远程端点之间有零个MPTCP子流的情况下在所述电子设备处保持MPTCP会话状态信息。
2.根据权利要求1的方法,其中MPTCP会话状态信息包括认证信息和数据序列号。
3.根据权利要求1的方法,还包括,在之后:
与远程端点交换具有MP_JOIN选项的TCP握手,其中该具有MP_JOIN选项的TCP握手建立所述MPTCP会话中的第二MPTCP子流,
其中交换具有MP_JOIN选项的TCP握手使用所保持的MPTCP会话状态信息。
4.根据权利要求3的方法,还包括,在之后:
当第二MPTCP子流处于建立前状态时在第二MPTCP子流上发送应用数据。
5.根据权利要求3的方法,其中与远程端点交换具有MP_JOIN选项的TCP握手包括:
从所述电子设备向远程端点发送具有MP_JOIN选项的SYN消息;
在所述电子设备处接收来自远程端点的具有MP_JOIN选项的SYN/ACK响应;
从所述电子设备向远程端点发送具有MP_JOIN选项的ACK响应;以及
在所述电子设备处接收来自远程端点的ACK响应。
6.根据权利要求5所述的方法,还包括:
在向远程端点发送具有MP_JOIN选项的SYN消息之后,并且在接收来自远程端点的具有MP_JOIN选项的SYN/ACK响应之前,在第二MPTCP子流上发送应用数据。
7.根据权利要求5所述的方法,还包括:
在向远程端点发送具有MP_JOIN选项的ACK响应之后,并且在接收来自远程端点的ACK响应之前,在第二MPTCP子流上发送应用数据。
8.一种电子设备,包括:
一个或多个网络接口;以及
操作地耦接到该一个或多个网络接口的处理元件;
其中所述处理元件和所述一个或多个网络接口被配置为:
建立与远程端点的多路径传输控制协议(MPTCP)会话;
终止所述电子设备和远程端点之间的所有MPTCP子流;以及
在已终止所述电子设备和远程端点之间的所有MPTCP子流之后,在所述电子设备处保持所述MPTCP会话。
9.根据权利要求8所述的电子设备,
其中保持所述MPTCP会话包括保持所述MPTCP会话的MPTCP会话状态信息。
10.根据权利要求9所述的电子设备,
其中MPTCP会话状态信息包括认证信息和数据序列号。
11.根据权利要求8所述的电子设备,其中所述处理元件和所述一个或多个网络接口还配置为,在之后:
使用所保持的MPTCP会话状态信息,在所述电子设备和远程端点之间添加MPTCP子流,作为所述MPTCP会话的一部分。
12.根据权利要求11所述的电子设备,其中所述处理元件和所述一个或多个网络接口还配置为,在之后:
当添加的MPTCP子流处于建立前状态时在该添加的MPTCP子流上发送应用数据。
13.根据权利要求12所述的电子设备,
其中,使用每个端点上作为传输层安全(TLS)会话状态信息的一部分保持的TLS信息,来发送当添加的MPTCP子流处于建立前状态时在该添加的MPTCP子流上发送的应用数据。
14.根据权利要求12所述的电子设备,其中所述处理元件和所述一个或多个网络接口还配置为,在之后:
当添加的MPTCP子流处于建立前状态时在该添加的MPTCP子流上接收从远程端点发送的对所述应用数据的确认。
15.一种电子设备,包括:
一个或多个网络接口;以及
操作地耦接到该一个或多个网络接口的处理元件;
其中所述处理元件和所述一个或多个网络接口被配置为:
建立与远程端点的多路径传输控制协议(MPTCP)会话;
将MPTCP子流添加到所述电子设备和远程端点之间的该MPTCP会话;以及
当添加的MPTCP子流处于建立前状态时在该添加的MPTCP子流上发送应用数据。
16.根据权利要求15所述的电子设备,其中所述处理元件和所述一个或多个网络接口还配置为:
接收对所述应用数据的确认,其中当添加的MPTCP子流处于建立前状态时在该添加的MPTCP子流上接收该确认。
17.根据权利要求15所述的电子设备,其中添加MPTCP子流包括与远程端点交换具有MP_JOIN选项的TCP握手,其中所述处理元件和所述一个或多个网络接口还配置为:
从所述电子设备向远程端点发送具有MP_JOIN选项的SYN消息;
在所述电子设备处接收来自远程端点的具有MP_JOIN选项的SYN/ACK响应;
从所述电子设备向远程端点发送具有MP_JOIN选项的ACK响应;以及
在所述电子设备处接收来自远程端点的ACK响应。
18.根据权利要求17所述的电子设备,
其中,在向远程端点发送具有MP_JOIN选项的SYN消息之后,并且在从远程端点接收具有MP_JOIN选项的SYN/ACK响应之前,发送所述应用数据。
19.根据权利要求17所述的电子设备,
其中,在向远程端点发送具有MP_JOIN选项的ACK响应之后,并且在从远程端点接收ACK响应之前,发送所述应用数据。
20.根据权利要求15所述的电子设备,
其中,在将所述MPTCP子流添加到所述MPTCP会话时,所述MPTCP会话包括零个子流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/291,075 US9578109B2 (en) | 2014-05-30 | 2014-05-30 | Long-lived MPTCP sessions |
US14/291,075 | 2014-05-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105282211A true CN105282211A (zh) | 2016-01-27 |
CN105282211B CN105282211B (zh) | 2019-01-15 |
Family
ID=54481703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510283906.3A Active CN105282211B (zh) | 2014-05-30 | 2015-05-29 | 长寿命的mptcp会话 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9578109B2 (zh) |
CN (1) | CN105282211B (zh) |
DE (1) | DE102015208666B4 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231349A (zh) * | 2017-05-23 | 2017-10-03 | 北京邮电大学 | 一种在智能终端设备中实现mptcp协议的方法及装置 |
WO2018032517A1 (zh) * | 2016-08-19 | 2018-02-22 | 华为技术有限公司 | 业务流路由方法和设备 |
WO2018176961A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 一种负载均衡系统、方法及装置 |
CN109076017A (zh) * | 2016-05-09 | 2018-12-21 | 阿尔卡特朗讯 | 多路径无线通信 |
CN110995867A (zh) * | 2019-12-20 | 2020-04-10 | 上海有个机器人有限公司 | 一种用于人机交互的通信系统和机器人 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362148B2 (en) * | 2014-01-27 | 2019-07-23 | International Business Machines Corporation | Path selection using TCP handshake in a multipath environment |
US10306025B2 (en) * | 2014-10-27 | 2019-05-28 | Nec Corporation | Method of managing an MPTCP connection and network device |
US9681481B2 (en) * | 2014-12-19 | 2017-06-13 | At&T Intellectual Property I, L.P. | Mobility management of wireless networks based on multipath transfer control protocol |
US9742659B2 (en) * | 2015-01-28 | 2017-08-22 | Dell Products Lp | Multipath bandwidth usage |
MY194317A (en) * | 2015-02-13 | 2022-11-28 | Ericsson Telefon Ab L M | Multi-path transmission control protocol connections |
US10397379B2 (en) | 2015-03-06 | 2019-08-27 | Apple Inc. | Robust multipath TCP stateless connection establishment |
WO2016155826A1 (en) * | 2015-04-01 | 2016-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | System, apparatus and method for load balancing |
EP3314864B1 (en) * | 2015-06-26 | 2018-10-10 | Telefonaktiebolaget LM Ericsson (publ) | First network node and methods therein, for determining whether a second multi path transmission control protocol connection is to be initiated |
US9942131B2 (en) * | 2015-07-29 | 2018-04-10 | International Business Machines Corporation | Multipathing using flow tunneling through bound overlay virtual machines |
US10178205B2 (en) | 2016-05-31 | 2019-01-08 | Gainspan Corporation | Wireless device of a wireless local area network communicating with a device of an external network on a TCP session before and after disassociation from the wireless local area network |
US10079895B2 (en) * | 2016-07-08 | 2018-09-18 | American Megatrends, Inc. | Auto detecting remote session protocol for remote access |
EP3482547B1 (en) * | 2016-07-08 | 2023-11-08 | Alcatel Lucent | Flow aggregation and routing for multi-connectivity client devices |
WO2018141392A1 (en) * | 2017-02-02 | 2018-08-09 | NEC Laboratories Europe GmbH | Firewall support for multipath connections |
US11303560B2 (en) * | 2017-09-15 | 2022-04-12 | Nokia Technologies Oy | HCPE-based intelligent path selection over a multipath network |
EP3729785B8 (en) * | 2017-12-22 | 2022-08-10 | Nokia Technologies OY | Designs of an mptcp-aware load balancer and load balancer using the designs |
CN110392394B (zh) * | 2019-07-26 | 2021-04-16 | 湖南大学 | 无线网络中基于链路状态信息的mptcp调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185771A (zh) * | 2011-05-05 | 2011-09-14 | 清华大学 | Mptcp中发送方数据包调度方法及系统 |
US20120093150A1 (en) * | 2010-10-15 | 2012-04-19 | Telefonaktiebolaget L M Ericsson | Multipath transmission control protocol proxy |
US20120099601A1 (en) * | 2010-10-21 | 2012-04-26 | Wassim Haddad | Controlling ip flows to bypass a packet data network gateway using multi-path transmission control protocol connections |
CN103346963A (zh) * | 2013-06-26 | 2013-10-09 | 南京昭视畅网络科技有限公司 | 一种基于预测到达时间的mptcp数据调度方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068502B2 (en) | 2004-12-30 | 2011-11-29 | Alcatel Lucent | Method and apparatus for enabling persistent connections with wireless networks |
US20070240209A1 (en) | 2006-04-05 | 2007-10-11 | Lewis Adam C | Session persistence on a wireless network |
US9455897B2 (en) * | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
US20120144062A1 (en) * | 2010-06-04 | 2012-06-07 | Interdigital Patent Holdings, Inc. | MPTCP And Mobile IP Interworking |
US8806030B2 (en) * | 2010-12-06 | 2014-08-12 | Microsoft Corporation | Multichannel connections in file system sessions |
EP2495927B1 (en) * | 2011-03-02 | 2014-10-08 | Alcatel Lucent | Concept for providing information on a data packet association and for forwarding a data packet |
WO2012142105A1 (en) * | 2011-04-11 | 2012-10-18 | Interdigital Patent Holdings, Inc. | Session manager and source internet protocol (ip) address election |
US20120331160A1 (en) | 2011-06-22 | 2012-12-27 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-path transmission control protocol proxy service |
US9264353B2 (en) | 2011-09-22 | 2016-02-16 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
US9843646B2 (en) * | 2012-11-02 | 2017-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Assigning addresses in a communications network |
EP2763362A1 (en) | 2013-01-31 | 2014-08-06 | Thomson Licensing | A method for connecting a multi-homed and MPTCP capable client with a regular TCP server |
US9888042B2 (en) * | 2013-05-21 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for multipath transmission control protocol connection management |
US9456464B2 (en) | 2013-06-06 | 2016-09-27 | Apple Inc. | Multipath TCP subflow establishment and control |
EP2882148A1 (en) | 2013-12-09 | 2015-06-10 | Université Catholique De Louvain | Establishing a data transfer connection |
US10075987B2 (en) | 2013-12-18 | 2018-09-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Multipath TCP subflow establishing on single IP connection |
-
2014
- 2014-05-30 US US14/291,075 patent/US9578109B2/en active Active
-
2015
- 2015-05-11 DE DE102015208666.6A patent/DE102015208666B4/de active Active
- 2015-05-29 CN CN201510283906.3A patent/CN105282211B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120093150A1 (en) * | 2010-10-15 | 2012-04-19 | Telefonaktiebolaget L M Ericsson | Multipath transmission control protocol proxy |
US20120099601A1 (en) * | 2010-10-21 | 2012-04-26 | Wassim Haddad | Controlling ip flows to bypass a packet data network gateway using multi-path transmission control protocol connections |
CN102185771A (zh) * | 2011-05-05 | 2011-09-14 | 清华大学 | Mptcp中发送方数据包调度方法及系统 |
CN103346963A (zh) * | 2013-06-26 | 2013-10-09 | 南京昭视畅网络科技有限公司 | 一种基于预测到达时间的mptcp数据调度方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109076017A (zh) * | 2016-05-09 | 2018-12-21 | 阿尔卡特朗讯 | 多路径无线通信 |
US10841205B2 (en) | 2016-05-09 | 2020-11-17 | Alcatel Lucent | Multi-path wireless communication |
CN109076017B (zh) * | 2016-05-09 | 2021-01-08 | 阿尔卡特朗讯 | 用于路由信号的方法、路由设备和计算机可读存储介质 |
WO2018032517A1 (zh) * | 2016-08-19 | 2018-02-22 | 华为技术有限公司 | 业务流路由方法和设备 |
WO2018176961A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 一种负载均衡系统、方法及装置 |
CN108667880A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 一种负载均衡系统、方法及装置 |
US11122116B2 (en) | 2017-03-31 | 2021-09-14 | Huawei Technologies Co., Ltd. | Load balancing system, method, and apparatus |
CN107231349A (zh) * | 2017-05-23 | 2017-10-03 | 北京邮电大学 | 一种在智能终端设备中实现mptcp协议的方法及装置 |
CN110995867A (zh) * | 2019-12-20 | 2020-04-10 | 上海有个机器人有限公司 | 一种用于人机交互的通信系统和机器人 |
Also Published As
Publication number | Publication date |
---|---|
DE102015208666B4 (de) | 2018-07-05 |
DE102015208666A1 (de) | 2015-12-03 |
US9578109B2 (en) | 2017-02-21 |
CN105282211B (zh) | 2019-01-15 |
US20150350337A1 (en) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105282211A (zh) | 长寿命的mptcp会话 | |
US20200336550A1 (en) | Multipath TCP Subflow Establishment and Control | |
US10321298B2 (en) | Selection of preferred mechanisms for telephone number validation | |
US10397379B2 (en) | Robust multipath TCP stateless connection establishment | |
US9762702B2 (en) | Multipath TCP signaling with application specific tags | |
US11723056B2 (en) | Efficient discovery of edge computing servers | |
US9736680B2 (en) | Techniques for transferring a data payload utilizing near-field communication | |
US11330065B2 (en) | Application connection for devices in a network | |
US11197331B2 (en) | Zero-round-trip-time connectivity over the wider area network | |
WO2016008344A1 (en) | Wireless connection establishing methods and wireless connection establishing apparatuses | |
US20160255181A1 (en) | Method and system for providing selective call execution based on user preferences | |
CN112119673A (zh) | 支持多种无线通信协议的电子装置及其方法 | |
CN108476212A (zh) | 动态wlan连接 | |
US11659012B2 (en) | Relayed communication channel establishment | |
EP2871871B1 (en) | Remote socket connection | |
CN108370500B (zh) | 无线装置的优化设置 | |
US20180020068A1 (en) | Dual Channel Delivery | |
CN105340353A (zh) | 设备到设备通信安全 | |
EP3657826B1 (en) | Application connection for devices in a network | |
WO2023197576A1 (zh) | 中继传输方法、切换方法、装置和用户设备 | |
US20240056302A1 (en) | Apparatus, method, and computer program | |
WO2022127808A1 (zh) | 授信中继通信方法、装置、终端及网络侧设备 | |
JP2015156161A (ja) | 通信機器、および通信システム |
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 |