CN106850426A - 基于部分数据重叠的多路径数据传输方法和装置 - Google Patents

基于部分数据重叠的多路径数据传输方法和装置 Download PDF

Info

Publication number
CN106850426A
CN106850426A CN201710015488.9A CN201710015488A CN106850426A CN 106850426 A CN106850426 A CN 106850426A CN 201710015488 A CN201710015488 A CN 201710015488A CN 106850426 A CN106850426 A CN 106850426A
Authority
CN
China
Prior art keywords
data
paths
path
data block
request
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
CN201710015488.9A
Other languages
English (en)
Other versions
CN106850426B (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.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN201710015488.9A priority Critical patent/CN106850426B/zh
Publication of CN106850426A publication Critical patent/CN106850426A/zh
Application granted granted Critical
Publication of CN106850426B publication Critical patent/CN106850426B/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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明提供了一种基于部分数据重叠的多路径数据传输方法和装置。该方法主要包括:根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置,并确定每条路径的请求数据具有相同的终止位置;在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;对同一个数据传输周期内通过多个路径获取到的数据进行聚合。本发明的通过保证一个周期内数据成功传输的概率最大的条件下求得每条路径的请求数据的起始位置,使得一些路径所传输数据的靠后部分是其它路径所传输数据的靠前部分,从而提高了传输数据尾部在一个周期内成功到达客户端的概率。

Description

基于部分数据重叠的多路径数据传输方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种基于部分数据重叠的多路径数据传输方法和装置。
背景技术
随着视频清晰度的提高,视频对带宽的需求也越来越高,而单条路径的带宽已无法满足这一需求。幸运的是,多接口技术的发展使得客户端可以同时使用多个接口,实现了多路径传输,满足了高清视频对带宽的需求。同时,由于内容分发网络和数据中心的急速发展,多源多路径传输也逐渐被人们接受与重视,是多路径传输的一种新兴的发展趋势。
传统的多路径传输策略,采用的是MPTCP(Multipath TCP,多路径TCP)协议这种经典的底层多路径传输协议,但这一协议并没有得到广泛应用。这主要是因为MPTCP协议不仅需要修改客户端与服务器的核心操作系统,还会修改TCP选项字段使得字段,不被中间设备认可。而且它只能实现单源的多路径传输,而不支持多源的多路径传输,不适应现在的发展趋势。
因此,现有的播放器多采用HTTP的范围请求来实现多路径传输。它不仅适用于多源多路径的传输,还通过传输数据的数据调度方法,实现更有效地传输。
数据调度方法旨在通过数据在多路径中的传输效率。在数据调度方法中,多是以一个周期为调度时间,目前,多路径传输的数据调度方法可大致可分为两类:
一个周期内不同的路径传输完全相同的数据片段。如,要求在一个周期内各路径传输完全相同的数据片段。这样一来,只要有一条路径上的数据传输成功则数据的传输就是成功的。
上述数据调度方法的缺点为:该方法会引起不必要的开销(如:带宽、电、链路等)。
一个周期内不同的路径传输完全不同的数据片段。如,根据预测的各路径带宽,为每条路径分配不同大小的传输数据,使得同一个传输周期中,各路径传输的数据同时到达客户端,减少因数据乱序而产生的时延。
上述数据调度方法的缺点为:由于路径的带宽是服从高斯分布的随机变量,路径一个周期所传输的数据量也是符合高斯分布的随机变量。这将导致每个周期内,一条路径上较晚传输的数据(尾部数据)传输成功的概率较低;。因此尾部数据仍有可能无法及时到达,而影响视频的流畅播放。
发明内容
本发明的实施例提供了一种基于部分数据重叠的多路径数据传输方法和装置,以实现提高多路径数据传输的效率。
为了实现上述目的,本发明采取了如下技术方案。
根据本发明的一个方面,提供了一种基于多路径的数据传输方法,包括:
根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置,并确定每条路径的请求数据具有相同的终止位置;
在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;
对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
进一步地,所述的根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置,并确定每条路径的请求数据具有相同的终止位置,包括:
根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,根据每条路径在数据传输周期内可传输数据量的高斯分布的累计函数求得每条路径的传输能力;
设一个数据传输周期内需要获取的数据块的总数为N,将各条路径的传输能力进行降序排序,设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置靠后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
进一步地,所述的每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,包括:
设总共有n条路径,按各条路径的传输能力大小降序排列,路径序号分别是1,2,…,n;
设第1条路径在一个数据传输周期内的传输数据片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,下标表示路径序号,则第1条路径成功传输的概率为p(S1≥N);
第2条路径在一个数据传输周期内传输片段c2包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为S2,下标表示路径序号,则第2条路径成功传输的概率为p(S2≥N-x2+1);
……
第n条路径在一个数据传输周期内传输片段cn包含部分数据段,起始位置的数据块编号为xn,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为Sn,下标表示路径序号,则第n条路径成功传输的概率为p(Sn≥N-xn+1);
在以下说明中,用符号Vi和符号Si分别表示客户端从前i条路径和第i条路径收到的不重复的数据块总量,用符号xi表示第i条路径传输的数据的起始数据块编号;
在一个传输周期结束后,成功传输本次所需的N个数据块的概率可以分解为以下几种情况:
情况1:无论其它路径传输成功与否,这N个数据块被第1条路径成功传输的概率为:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数;
情况2:这N个数据块必由前两条路径,即,第1条和第2条路径,联手成功传输,其概率为:
F2(V2≥N)=p(S2≥N-x2+1)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1)
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数;
情况i,(n≥i≥2):这N个数据块必由前i条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
其中符号Vi表示客户端从前i条路径收到的不重复的数据块总量,符号Fi表示随机变量Vi的分布函数;
计算所有以上n种情况,则在一个传输周期结束后,所有N个数据块全部被成功传输的概率为:
Σi=1...n Fi(Vi≥N).
通过求解下面的最优化算法,得到每条路径i上请求数据的起始位置xi:
maxΣi=1...n Fi(Vi≥N)
s.t.1≤xi≤N。
进一步地,所述的根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,包括:
设数据传输周期为T,路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’;
在一个传输周期T,路径i成功传输的数据量Si~N的概率p,能够根据期望和方差(μ’i,σ’i)用高斯分布累计函数求得。
进一步地,述的对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合,包括:
在一个数据传输周期过程后,对通过所述多个路径获取到的数据块进行排序并剔除重复的数据块,将连续且不重复的数据块放入缓存,判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
根据本发明的另一个方面,提供了一种基于多路径的数据传输装置,包括:
数据位置确定模块,用于确定每条路径的请求数据具有相同的终止位置,并根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置;
数据请求发送模块,用于在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;
数据聚合处理模块,用于对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
进一步地,所述的数据位置确定模块,具体用于根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,根据每条路径在数据传输周期内可传输数据量的高斯分布的累计函数求得每条路径的传输能力;
设一个数据传输周期内需要获取的数据块的总数为N,将各条路径的传输能力进行降序排序,设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置靠后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
进一步地,所述的数据位置确定模块,具体用于设总共有n条路径,按各条路径的传输能力大小降序排列,路径序号分别是1,2,…,n;
设第1条路径在一个数据传输周期内的传输数据片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,下标表示路径序号,则第1条路径成功传输的概率为p(S1≥N);
第2条路径在一个数据传输周期内传输片段c2包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为S2,下标表示路径序号,则第2条路径成功传输的概率为p(S2≥N-x2+1);
……
第n条路径在一个数据传输周期内传输片段cn包含部分数据段,起始位置的数据块编号为xn,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为Sn,下标表示路径序号,则第n条路径成功传输的概率为p(Sn≥N-xn+1);
在以下说明中,用符号Vi和符号Si分别表示客户端从前i条路径和第i条路径收到的不重复的数据块总量,用符号xi表示第i条路径传输的数据的起始数据块编号;
在一个传输周期结束后,成功传输本次所需的N个数据块的概率可以分解为以下几种情况:
情况1:无论其它路径传输成功与否,这N个数据块被第1条路径成功传输的概率为:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数;
情况2:这N个数据块必由前两条路径,即,第1条和第2条路径,联手成功传输,其概率为:
F2(V2≥N)=p(S2≥N-x2+1)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1)
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数;
情况i,(n≥i≥2):这N个数据块必由前i条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
其中符号Vi表示客户端从前i条路径收到的不重复的数据块总量,符号Fi表示随机变量Vi的分布函数;
计算所有以上n种情况,则在一个传输周期结束后,所有N个数据块全部被成功传输的概率为:
Σi=1...n Fi(Vi≥N).
通过求解下面的最优化算法,得到每条路径i上请求数据的起始位置xi:
maxΣi=1...n Fi(Vi≥N)
s.t.1≤xi≤N。
进一步地,所述的数据位置确定模块,具体用于设数据传输周期为T,路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’;
在一个传输周期T,路径i成功传输的数据量Si~N的概率p,能够根据期望和方差(μ’i,σ’i)用高斯分布累计函数求得。进一步地,所述的装置还包括:判断模块;
所述的数据聚合处理模块,用于在一个数据传输周期过程后,对通过所述多个路径获取到的数据块进行排序并剔除重复的数据块,将连续且不重复的数据块放入缓存;
所述的判断模块,用于判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例给出了一种新的基于多路径的数据传输方法,该方法规定一个周期内各路径传输的数据具有相同的终止位置和不同的起始位置,而起始位置是在保证一个周期内数据成功传输的概率最大的条件下求得的。这种方法使得一些路径所传输数据的靠后部分是其它路径所传输数据的靠前部分,从而提高了传输数据尾部在一个周期内成功到达客户端的概率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于多路径的数据传输方法的处理流程图;
图2为本发明实施例的一个数据传输周期内各路径传输数据的模型的示意图;
图3为本发明实施例的一个数据传输周期内多个服务器中任意一个接受到某条路径的请求后发送数据的工作流程图;
图4为本发明实施例的一个数据传输周期内客户端接收数据的工作流程图;
图5为本发明实施例提供的一种基于多路径的数据传输装置的结构图,图中,数据位置确定模块511、数据请求发送模块512、数据聚合处理模块513和判断模块514。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
本发明实施例要求客户端通过多条路径向多个服务器请求一段数据,并在一个周期内完成请求数据的下载。为了保证缓存中有足够的数据以应对网络的突发状况,应尽可能保证一个周期内请求数据下载成功。本发明实施例规定一个周期内各路径传输的数据具有相同的终止位置和不同的起始位置,其中,起始位置是在保证一个周期内数据成功传输的概率最大的条件下求得的。这种方法使得一些路径所传输数据的靠后部分是其它路径所传输数据的靠前部分,从而提高了传输数据尾部在一个周期内成功到达客户端的概率,保证一个周期内请求数据下载成功。
本发明实施例提供的一种基于多路径的数据传输方法的处理流程如图1所示,包括如下的处理步骤:
步骤S110、根据每条路径的带宽的期望和方差计算出每条路径的数据传输能力。
首先需要设定数据传输周期T,本发明实施例设定传输周期T为相应请求数据的播放时间,以保证缓存中始终有足够的数据应对网络的突发状况。
数据传输周期T内请求下载的数据块总数为N,对每一个数据块都进行编号。
设总共有n条路径,设路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’。因此,在一个传输周期T,路径i成功传输的数据量Si~N(μ’i,σ’i)高斯分布。那么,前面公式中,路径i传输一定数据量的概率p,就可以根据期望和方差(μ’i,σ’i),用高斯分布累计函数求得。
路径的数据传输能力是指每条路径i在数据传输周期T内成功传输N个数据块的概率,可根据每条路径i在周期T内可传输数据量的高斯分布的累计函数求得,记作:p(Si≥N)。
本实施例中传输数据量的高斯分布会根据其期望与方差进行归一化处理,保证其变化是有范围的。这是因为尽管带宽是服从高斯分布的,但是它的变化范围是有限而不是无穷。
步骤S120、本发明实施例规定一个周期内各路径传输的数据具有相同的终止位置和不同的起始位置,并根据每条路径的数据传输能力通过传输成功率的最优化算法确定每条路径的请求数据的起始位置。
将各条路径的传输能力进行降序排序,使得第一条路径的传输能力最强,而最后一条路径的传输能力最弱。设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置考后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过最优化算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
图2表示本发明实施例一个周期内,各路径传输数据的模型。各路径根据传输能力降序排序,第一条路径的传输能力最大,其余路径的传输能力依次降低。假设一个周期T内传输N个数据段,并对数据段编号。其中,ci为第i条路径传输的数据片段,一个数据片段通常包含数个数据块。各路径一个周期内传输的数据片段具有相同的终止位置和不同的起始位置。xi表示第i条路径上传输数据起始位置的数据段编号,N表示所有路径上传输数据终止位置的数据段编号。其中,第一条路径传输全部N个数据段,即数据片段c1包含N个数据块,起始位置为数据块1,终止位置为数据块N。
以两条路径的为例,第一条路径的传输能力较好,第二条路径的传输能力较差,则两条路径的传输任务分别为:
第一条路径在一个周期内传输片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,则其成功传输的概率为;p(S1≥N)
第二条路径在一个周期内传输片段c2只包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S2,成功传输的概率为p(S2≥N-x2+1)。
在两条路径传输的情况下,一个周期内成功传输所需数据块可作如下讨论:
在周期结束时,无论其它路径传输成功与否,第1条路径成功传输了N个数据段(即片段c1),则在此情况下,一个周期内成功传输全部数据块的概率为第一条路径成功传输的概率,即:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数。
在周期结束时,如果第1条路径未传输N个数据段,但至少传输了N-x2+1个数据段,第2条路径成功传输片段c2,则第1条和第2条路径联手成功传输了这N个数据块。在此情况下,一个周期内成功传输全部数据块的概率为:
F2(V2≥N)=p(S2≥N)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1),
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数。
则两条路径在一个周期内成功完成数据传输的概率为:
F1(V1≥N)+F2(V2≥N),
通过对在2条路径共同传输的条件下的数据成功传输概率的最优化,得到在请求数据成功传输概率最大时,第二条路径上传输数据的起始位置x2
max F1(V1≥N)+F2(V2≥N)
s.t.1≤x2≤N.
在一个周期内,多条路径,设路径的总条数为n,成功传输请求数据片段的情况也可使用上述方法进行分析。
当N个数据块必由前i(n≥i≥2)条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
则一个周期内成功传输的概率为Σi=1...n Fi(Vi≥N)。通过如下的最优化公式,得到在请求数据成功传输概率最大时,每条路径i上传输数据的起始位置xi
maxΣi=1...n Fi(Vi≥N)
s.t.1≤xi≤N.
步骤S130、在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置。
本发明应用在多源的条件下,客户端通过多条路径分别连接到多个服务器,以保证有足够多的有效路径。
每条路径i在一个数据传输周期T内同时向各自所连接的服务器发出数据下载请求且只发送一次。该请求包含了各路径上传输数据的起始位置和终止位置。例如,第i条路径上请求数据片段ci的起始位置的数据块编号为xi,终止位置为的数据块编号N。
如果某条路径的传输能力较好,较早地完成数据传输,则本周期内不会再通过该路径发出请求,等待下个周期。
图3为本发明实施例的一个周期内多个服务器中任意一个接受到某条路径的请求后发送数据的工作流程图,各服务器在接收到请求的同时启动超时计时器,计时器的上限为(T-RTT)/2。其中T为数据传输周期,RTT为传输往返时间。然后,根据路径i的请求返回其请求的数据。当路径i所请求的数据完成传输或计时器计时到期,路径i上的数据传输停止,等待下个周期。
步骤S140、对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
图4为本发明实施例的一个数据传输周期内客户端接收数据的工作流程图,主要包括:在一个数据传输周期过程后,客户端对接收到的数据块进行聚合,即对数据块进行排序并剔除重复的数据块,以保证输入到缓存中的数据块连续且不重复,将连续且不重复的数据块放入缓存。
步骤S150、判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
客户端在发出请求后,会同时启动自身的超时计时器,计时器的上限为周期T。当计时器计时到期,即周期结束时,如果本周期缓存接收的数据块不足N,保留缓存中最靠前的连续数据块,未到的和不连续的数据块将在下一个周期继续请求;如果本周期结束前,客户端得到全部需求数据块,各路径本周期的传输立刻停止,无论各路径的传输是否结束,以减少不必要的开销,并等到下一个周期再请求新的数据块。
开始下一个周期的传输,重复上述步骤,直至客户端发出停止请求。
实施例二
该实施例提供了一种基于多路径的数据传输装置,其具体实现结构如图5所示,具体可以包括如下的模块:
数据位置确定模块511,用于确定每条路径的请求数据具有相同的终止位置,并根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置;
数据请求发送模块512,用于在同一个数据传输周期内分别通过每条路径并发发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;
数据聚合处理模块513,用于对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
进一步地,所述的数据位置确定模块511,具体用于根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,根据每条路径在数据传输周期内可传输数据量的高斯分布的累计函数求得每条路径的传输能力;
设一个数据传输周期内需要获取的数据块的总数为N,将各条路径的传输能力进行降序排序,设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置考后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
进一步地,所述的数据位置确定模块511,具体用于设总共有n条路径,按各条路径的传输能力大小降序排列,路径序号分别是1,2,…,n。
设第1条路径在一个数据传输周期内的传输数据片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,下标表示路径序号,则第一条路径成功传输的概率为p(S1≥N);
第2条路径在一个数据传输周期内传输片段c2包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为S2,下标表示路径序号,则第2条路径成功传输的概率为p(S2≥N-x2+1);
……
第n条路径(最后一条路径)在一个数据传输周期内传输片段cn包含部分数据段,起始位置的数据块编号为xn,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为Sn,下标表示路径序号,则第n条路径成功传输的概率为p(Sn≥N-xn+1);
在以下说明中,用符号Vi和符号Si分别表示客户端从前i条路径和第i条路径收到的不重复的数据块总量,用符号xi表示第i条路径传输的数据的起始数据块编号。
在一个传输周期结束后,成功传输本次所需的N个数据块的概率可以分解为以下几种情况:
情况1:无论其它路径传输成功与否,这N个数据块被第1条路径成功传输的概率为:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数。
情况2:这N个数据块必由前两条路径,即,第1条和第2条路径,联手成功传输,其概率为:
F2(V2≥N)=p(S2≥N-x2+1)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1)
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数。
情况i,(n≥i≥2):这N个数据块必由前i条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
其中符号Vi表示客户端从前i条路径收到的不重复的数据块总量,符号Fi表示随机变量Vi的分布函数。
计算所有以上n种情况,则在一个传输周期结束后,所有N个数据块全部被成功传输的概率为:
Σi=1...n Fi(Vi≥N).
通过求解下面的最优化算法,得到每条路径i上请求数据的起始位置xi
maxΣi=1...n Fi(Vi≥N)
s.t.1≤xi≤N.
进一步地,所述的数据位置确定模块511,具体用于设数据传输周期为T,路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’。因此,在一个传输周期T,路径i成功传输的数据量Si~N(μ’i,σ’i)高斯分布。那么,前面公式中,路径i传输一定数据量的概率p,就可以根据期望和方差(μ’i,σ’i),用高斯分布累计函数求得。
进一步地,所述的装置还包括:判断模块514;
所述的数据聚合处理模块513,用于在一个数据传输周期过程后,对通过所述多个路径获取到的数据块进行排序并剔除重复的数据块,将连续且不重复的数据块放入缓存;
所述的判断模块514,用于判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
用本发明实施例的装置进行基于多路径的数据传输的具体过程与前述方法实施例类似,此处不再赘述。
综上所述,本发明实施例给出了一种新的基于多路径的数据传输方法,该方法规定一个周期内各路径传输的数据具有相同的终止位置和不同的起始位置,其中,起始位置是在保证一个周期内数据成功传输的概率最大的条件下求得的。这种方法使得一些路径所传输数据的靠后部分是其它路径所传输数据的靠前部分,从而提高了传输数据尾部在一个周期内成功到达客户端的概率,解决了现有技术中传输数据的尾部成功到达客户端的概率较低的问题。
本实施例有效地利用了多条路径的带宽,不仅保障了片段的按序到达,还保障了片段的及时到达,提高了QoS,保障了视频播放的稳定性与流畅性。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于多路径的数据传输方法,其特征在于,包括:
根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置,并确定每条路径的请求数据具有相同的终止位置;
在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;
对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
2.根据权利要求1所述的方法,其特征在于,所述的根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置,并确定每条路径的请求数据具有相同的终止位置,包括:
根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,根据每条路径在数据传输周期内可传输数据量的高斯分布的累计函数求得每条路径的传输能力;
设一个数据传输周期内需要获取的数据块的总数为N,将各条路径的传输能力进行降序排序,设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置靠后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
3.根据权利要求2所述的方法,其特征在于,所述的每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,包括:
设总共有n条路径,按各条路径的传输能力大小降序排列,路径序号分别是1,2,…,n;
设第1条路径在一个数据传输周期内的传输数据片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,下标表示路径序号,则第1条路径成功传输的概率为p(S1≥N);
第2条路径在一个数据传输周期内传输片段c2包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为S2,下标表示路径序号,则第2条路径成功传输的概率为p(S2≥N-x2+1);
……
第n条路径在一个数据传输周期内传输片段cn包含部分数据段,起始位置的数据块编号为xn,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为Sn,下标表示路径序号,则第n条路径成功传输的概率为p(Sn≥N-xn+1);
在以下说明中,用符号Vi和符号Si分别表示客户端从前i条路径和第i条路径收到的不重复的数据块总量,用符号xi表示第i条路径传输的数据的起始数据块编号;
在一个传输周期结束后,成功传输本次所需的N个数据块的概率可以分解为以下几种情况:
情况1:无论其它路径传输成功与否,这N个数据块被第1条路径成功传输的概率为:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数;
情况2:这N个数据块必由前两条路径,即,第1条和第2条路径,联手成功传输,其概率为:
F2(V2≥N)=p(S2≥N-x2+1)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1)
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数;
情况i,(n≥i≥2):这N个数据块必由前i条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
其中符号Vi表示客户端从前i条路径收到的不重复的数据块总量,符号Fi表示随机变量Vi的分布函数;
计算所有以上n种情况,则在一个传输周期结束后,所有N个数据块全部被成功传输的概率为:
Σi=1...nFi(Vi≥N).
通过求解下面的最优化算法,得到每条路径i上请求数据的起始位置xi:
max Σi=1...nFi(Vi≥N)
s.t. 1≤xi≤N。
4.根据权利要求2所述的方法,其特征在于,所述的根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,包括:
设数据传输周期为T,路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’;
在一个传输周期T,路径i成功传输的数据量Si~N的概率p,能够根据期望和方差(μ’i,σ’i)用高斯分布累计函数求得。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述的对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合,包括:
在一个数据传输周期过程后,对通过所述多个路径获取到的数据块进行排序并剔除重复的数据块,将连续且不重复的数据块放入缓存,判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
6.一种基于多路径的数据传输装置,其特征在于,包括:
数据位置确定模块,用于确定每条路径的请求数据具有相同的终止位置,并根据每条路径的数据传输能力分别确定每条路径的请求数据的起始位置;
数据请求发送模块,用于在同一个数据传输周期内分别通过每条路径发送获取数据的请求,该请求中携带每条路径的请求数据的起始位置和终止位置;
数据聚合处理模块,用于对同一个数据传输周期内通过所述多个路径获取到的数据进行聚合。
7.根据权利要求6所述的装置,其特征在于:
所述的数据位置确定模块,具体用于根据每条路径的带宽的期望和方差得到每条路径在数据传输周期内可传输数据量的期望和方差,根据每条路径在数据传输周期内可传输数据量的高斯分布的累计函数求得每条路径的传输能力;
设一个数据传输周期内需要获取的数据块的总数为N,将各条路径的传输能力进行降序排序,设置传输能力最强的第一条路径的请求数据的起始位置为第一个数据块,设置传输能力差的路径的请求数据的起始位置比传输能力强的路径的请求数据的起始位置靠后,每条路径的请求数据的起始位置基于数据成功传输的概率最大的条件通过算法确定,并设置每条路径的请求数据的终止位置为第N个数据块。
8.根据权利要求7所述的装置,其特征在于:
所述的数据位置确定模块,具体用于设总共有n条路径,按各条路径的传输能力大小降序排列,路径序号分别是1,2,…,n;
设第1条路径在一个数据传输周期内的传输数据片段c1包括N个数据段,起始位置的数据块编号为x1=1,终止位置的数据块编号为N,一个周期内实际传输的数据块数为S1,下标表示路径序号,则第1条路径成功传输的概率为p(S1≥N);
第2条路径在一个数据传输周期内传输片段c2包含部分数据段,起始位置的数据块编号为x2,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为S2,下标表示路径序号,则第2条路径成功传输的概率为p(S2≥N-x2+1);
……
第n条路径在一个数据传输周期内传输片段cn包含部分数据段,起始位置的数据块编号为xn,终止位置的数据块编号为N,一个数据传输周期内实际传输的数据块数为Sn,下标表示路径序号,则第n条路径成功传输的概率为p(Sn≥N-xn+1);
在以下说明中,用符号Vi和符号Si分别表示客户端从前i条路径和第i条路径收到的不重复的数据块总量,用符号xi表示第i条路径传输的数据的起始数据块编号;
在一个传输周期结束后,成功传输本次所需的N个数据块的概率可以分解为以下几种情况:
情况1:无论其它路径传输成功与否,这N个数据块被第1条路径成功传输的概率为:
F1(V1≥N)=p(S1≥N),
其中符号V1表示客户端从第1条路径收到的不重复的数据块总量,符号F1表示随机变量V1的分布函数;
情况2:这N个数据块必由前两条路径,即,第1条和第2条路径,联手成功传输,其概率为:
F2(V2≥N)=p(S2≥N-x2+1)F1(N-1≥V1≥x2-1)=p(S2≥N-x2+1)p(N-1≥S1≥x2-1)
其中符号V2表示客户端从前2条路径收到的不重复的数据块总量,符号F2表示随机变量V2的分布函数;
情况i,(n≥i≥2):这N个数据块必由前i条路径联手成功传输,其概率为:
Fi(Vi≥N)=p(Si≥N-xi+1)Fi-1(N-1≥Vi-1≥xi-1),
其中符号Vi表示客户端从前i条路径收到的不重复的数据块总量,符号Fi表示随机变量Vi的分布函数;
计算所有以上n种情况,则在一个传输周期结束后,所有N个数据块全部被成功传输的概率为:
Σi=1...nFi(Vi≥N).
通过求解下面的最优化算法,得到每条路径i上请求数据的起始位置xi:
max Σi=1...nFi(Vi≥N)
s.t. 1≤xi≤N。
9.根据权利要求7所述的方法,其特征在于:
所述的数据位置确定模块,具体用于设数据传输周期为T,路径i带宽的期望和方差为(μ’i,σ’i),则路径i在数据传输周期T内可传输数据量的期望和方差(μi,σi)的计算公式如下:μi=Tμi’,σi=Tσi’;
在一个传输周期T,路径i成功传输的数据量Si~N的概率p,能够根据期望和方差(μ’i,σ’i)用高斯分布累计函数求得。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述的装置还包括:判断模块;
所述的数据聚合处理模块,用于在一个数据传输周期过程后,对通过所述多个路径获取到的数据块进行排序并剔除重复的数据块,将连续且不重复的数据块放入缓存;
所述的判断模块,用于判断是否得到全部数据块,如果得到全部数据块,则停止所述各路径在本数据传输周期内的数据传输;否则,则记录未获取到的数据块,在下个数据传输周期继续请求。
CN201710015488.9A 2017-01-10 2017-01-10 基于部分数据重叠的多路径数据传输方法和装置 Active CN106850426B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710015488.9A CN106850426B (zh) 2017-01-10 2017-01-10 基于部分数据重叠的多路径数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710015488.9A CN106850426B (zh) 2017-01-10 2017-01-10 基于部分数据重叠的多路径数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN106850426A true CN106850426A (zh) 2017-06-13
CN106850426B CN106850426B (zh) 2020-09-29

Family

ID=59117949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710015488.9A Active CN106850426B (zh) 2017-01-10 2017-01-10 基于部分数据重叠的多路径数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN106850426B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037671A (zh) * 2021-03-04 2022-09-09 华为技术有限公司 多路径聚合调度方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073237A (zh) * 2004-11-30 2007-11-14 艾利森电话股份有限公司 用于传送多媒体文件的方法
CN103023809A (zh) * 2012-12-28 2013-04-03 中国船舶重工集团公司第七0九研究所 一种采用二次缓冲技术的信息系统数据同步处理方法
US20130343377A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Hash-based packet distribution in a computer system
CN103716835A (zh) * 2012-09-29 2014-04-09 国际商业机器公司 基于多路径传输和接收数据的方法、装置和系统
CN104506230A (zh) * 2014-12-19 2015-04-08 南京邮电大学 一种适用于卫星网络的多路径并行可靠传输方法
US20150379430A1 (en) * 2014-06-30 2015-12-31 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
CN105933232A (zh) * 2016-03-29 2016-09-07 东北大学 支持多业务数据传输需求的多径传输控制终端及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073237A (zh) * 2004-11-30 2007-11-14 艾利森电话股份有限公司 用于传送多媒体文件的方法
US20130343377A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Hash-based packet distribution in a computer system
CN103716835A (zh) * 2012-09-29 2014-04-09 国际商业机器公司 基于多路径传输和接收数据的方法、装置和系统
CN103023809A (zh) * 2012-12-28 2013-04-03 中国船舶重工集团公司第七0九研究所 一种采用二次缓冲技术的信息系统数据同步处理方法
US20150379430A1 (en) * 2014-06-30 2015-12-31 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
CN104506230A (zh) * 2014-12-19 2015-04-08 南京邮电大学 一种适用于卫星网络的多路径并行可靠传输方法
CN105933232A (zh) * 2016-03-29 2016-09-07 东北大学 支持多业务数据传输需求的多径传输控制终端及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037671A (zh) * 2021-03-04 2022-09-09 华为技术有限公司 多路径聚合调度方法及电子设备

Also Published As

Publication number Publication date
CN106850426B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN102792755B (zh) 使用采用轮询的edca进行多用户上行链路通信
CN104253673B (zh) 上行多用户数据传输方法及上行多用户输入输出系统
DE112005002365B4 (de) UMTS-Funkverbindungssteuerung mit voller Verknüpfung
CN103414917B (zh) 远程传输系统
CN106961741A (zh) 一种上行资源分配方法和装置
CN100336363C (zh) 一种实现聚合链路流量均衡的方法
RU2002102704A (ru) Устройство и способ для повторной передачи данных в соответствии с протоколом линии радиосвязи в мобильной системе связи
CN110418376A (zh) 数据传输方法及装置
CN104936156B (zh) 短信发送方法和装置
CN109327247A (zh) 无线通信系统、无线通信装置、无线通信方法
CN105847139A (zh) 数据传输方法、装置及系统
US6944173B1 (en) Method and system for transmitting data between a receiver and a transmitter
CN103748845B (zh) 报文发送方法、接收方法、装置及系统
CN108282248A (zh) 一种数据传输方法、网络侧设备及用户设备
CN107612664A (zh) 一种无线链路控制层rlc数据重传方法、装置及存储介质
CN104468509A (zh) 手机网络游戏数据传输的方法、系统和手机用户端
CN109639596A (zh) 一种用于车载can-canfd混合网络的网关调度方法
CN103999394B (zh) 数据重传、反馈方法,以及相应的装置
CN106850426A (zh) 基于部分数据重叠的多路径数据传输方法和装置
CN104066128B (zh) 一种数据发送方法及装置
CN104683262A (zh) 一种数据包的处理方法和设备
CN106851667A (zh) 一种针对空口协议数据面的数据处理方法及装置
CN104661315A (zh) 一种上报缓存状态报告的方法及用户设备
CN105933167A (zh) 提高链路带宽利用率的方法及装置
CN110445578A (zh) 一种spi数据传输方法及装置

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
GR01 Patent grant
GR01 Patent grant