CN102771103B - 高速通信系统以及高速通信方法 - Google Patents

高速通信系统以及高速通信方法 Download PDF

Info

Publication number
CN102771103B
CN102771103B CN201180009747.8A CN201180009747A CN102771103B CN 102771103 B CN102771103 B CN 102771103B CN 201180009747 A CN201180009747 A CN 201180009747A CN 102771103 B CN102771103 B CN 102771103B
Authority
CN
China
Prior art keywords
node
performance model
communication
signal
starting point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180009747.8A
Other languages
English (en)
Other versions
CN102771103A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN102771103A publication Critical patent/CN102771103A/zh
Application granted granted Critical
Publication of CN102771103B publication Critical patent/CN102771103B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

根据本发明的高速通信系统包括:设置在通信路径上的多个节点;以及建立在所述多个节点的各节点之间的多个通信连接。所述多个节点在所述节点之间交换表示所述多个通信连接的每一个能够达到的通信性能的多个性能模型信息。所述多个节点的每一个实施基于所述多个性能模型信息中的任一性能模型信息的通信控制。

Description

高速通信系统以及高速通信方法
技术领域
本发明涉及经由多个节点进行数据传输的高速通信系统以及高速通信方法。
背景技术
TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,互联网协议)通信方式是互联网中使用的典型的通信协议。在该TCP/IP通信方式中,发送终端决定适应于在从接收终端通知而来的窗口大小(接收终端可接收的数据段数或数据大小等信息)的范围内使用可发送的最大的数据大小进行通信时的通信速度的通信速率并进行通信。已知发送终端所决定的通信速率与网络的延迟成反比,并且与分组丢失率的平方根成反比地下降。即,在存在大的延迟的网络、或分组丢失率高的网络中,TCP的通信性能施展不出来。
如图1所示,存在利用TCP通信在终端或节点之间依次传送数据并将数据传输到最终目的地装置的通信方式。在如此在网络上的多个节点的每一个中进行决定TCP的通信速率的控制的通信方式中,网络的延迟和分组丢失被分散在各个节点间的网络区间中。因此,各个节点间的TCP连接中的网络的延迟和分组丢失变小则基于TCP的通信性能提高。专利文献1中公开了以提高无线通信的性能为目的的相关技术。
在先技术文献
专利文献
专利文献1:日本国特开2008-199332号公报。
发明内容
发明要解决的问题
但是,在这种通信方式中,每个TCP连接独立动作,因此有时在传送数据的节点的队列中积累大量数据。作为一例,对由传送数据的节点将从一个网络通过TCP连接A接收的数据通过TCP连接B发送给另一个网络的情况进行说明。在此情况下,当TCP连接A的吞吐量大于TCP连接B的吞吐量时,节点上的队列中积累的数据量将增加。而且,当节点的队列中积累的数据要达到积累量的上限时,节点执行以下处理:使用TCP的通告窗口向数据发送源的其他节点发送限制可接收的数据大小的通知,并暂时停止其通信。然而,在该方法中,仅在节点的队列中积累的数据就要达到积累量的上限时进行控制,无法防止队列中积累大量数据。此外,在使用通告窗口来减少来自发送源的数据的吞吐量的方法中,信号传递需要时间,因此在重新开始通信时也由于延迟而导致性能下降。
同样地,有一种在队列中积累的数据量要达到积累量的上限的情况下向发送源的节点发送在IEEE802.1中规定的暂停信号等暂时停止通信的信号的方法。然而,如果在有延迟的线路上执行该方法,则由于直到通信被暂时停止为止的时间和直到重新开始为止的时间所造成的延迟,会引起通信性能的极度下降。因此,通常不使用该方法。
在TCP通信中,当在网络内发生了分组丢失时,进行数据的重传。当进行数据的重传时,有时吞吐量会下降,节点上的队列会增加。
在一般的TCP的控制中,依据网络的延迟来决定通信速率的上升速度。因此,延迟互不相同的网络区间之间存在通信速率产生差异、结果导致大量数据被积累在节点的队列中的问题。
本发明的目的的一个例子在于,提供能够减少存在于通信路径上的多个节点上的各个队列中积累的数据量来提高通信性能的高速通信系统以及高速通信方法。
用于解决问题的手段
为了达到上述目的,本发明的高速通信系统包括:设置在通信路径上的多个节点;以及建立在所述多个节点的各节点之间的多个通信连接,其中,所述多个节点在所述节点之间交换表示所述多个通信连接的每一个能够达到的通信性能的多个性能模型信息,所述多个节点的每一个实施基于所述多个性能模型信息中的任一性能模型信息的通信控制。
在本发明的高速通信系统中,所述多个节点优选具有起始点节点、终点节点、以及设置在所述起始点节点与终点节点之间的中继节点。也可以如下:所述起始点节点向终点节点发送通知通信要被进行的控制开始信号,检测到所述控制开始信号的所述终点节点基于所述控制开始信号的检测来计算所述终点节点的性能模型信息,并且所述中继节点基于所述控制开始信号的检测来计算所述中继节点的性能模型信息。并且也可以如下:所述起始点节点向所述终点节点发送保存有所述性能模型信息的性能模型通知信号,当所述中继节点向所述终点节点传送所述性能模型通信信号时,所述中继节点传送仅保存有将所述性能模型通知信号中保存的性能模型信息与所述中继节点算出的性能模型信息进行比较时表示较小的值的性能模型信息的所述性能模型通知信号。接着也可以如下:所述终点节点存储所接收的所述性能模型通知信号中保存的性能模型信息,并且向所述起始点节点发送保存有所述性能模型信息的性能模型确定信号,将所述性能模型确定信号中继给所述起始点节点的中继节点以及所述起始点节点存储所述性能模型确定信号中保存的性能模型信息,所述起始点节点和所述中继节点基于保存在所述性能模型确定信号中的性能模型信息进行TCP控制。
本发明的高速通信方法被用于经由通信路径上的多个节点进行通信的高速通信系统中,所述多个节点具有起始点节点、终点节点、以及设置在所述起始点节点与所述终点节点之间的中继节点。该高速通信方法包括:所述起始点节点向所述终点节点发送通知通信要被进行的控制开始信号;检测到所述控制开始信号的所述终点节点基于所述控制开始信号的检测来计算终点节点的性能模型信息;所述中继节点基于所述控制开始信号的检测来计算终点节点的性能模型信息;所述起始点节点向所述终点节点发送保存有所述性能模型信息的性能模型通知信号;当所述中继节点向所述终点节点传送所述性能模型通信信号时,所述中继节点传送仅保存有将所述性能模型通知信号中保存的性能模型信息与所述中继节点算出的性能模型信息进行比较时表示较小的值的性能模型信息的所述性能模型通知信号;所述终点节点存储所接收的所述性能模型通知信号中保存的性能模型信息,并且向所述起始点节点发送保存有所述性能模型信息的性能模型确定信号;将所述性能模型确定信号中继给所述起始点节点的中继节点以及所述起始点节点存储所述性能模型确定信号中保存的性能模型信息;以及所述起始点节点和所述中继节点基于所述性能模型确定信号中保存的性能模型信息进行TCP控制。
发明效果
根据本发明的实施方式,通过上述的处理,能够在不增大节点的队列中积累的数据量的情况下进行通信,由此能够实现通信的高速化。
此外,根据本发明的实施方式,能够减轻由于节点前后的TCP连接上的速度的差异导致节点中积累的数据量增大的程度,因此能够实现通信的高速化。
此外,根据本发明的实施方式,执行控制,使得在节点的前后提高、降低通信速率的速度相同,因此能够减轻导致节点中积累的数据量增大的程度,能够实现通信的高速化。
此外,根据本发明的实施方式,即使使用控制信号停止通信,在重新开始通信时通信的重新开始也不会由于传输延迟而延迟。由此,能够防止通信性能下降。
附图说明
图1是示出根据本发明第一实施方式的高速通信系统的构成的框图;
图2是示出图1所示的发送终端的功能模块的图;
图3是示出图1所示的接收终端的功能模块的图;
图4是示出图1所示的中继节点的功能模块的图;
图5是示出根据本发明第一实施方式的高速通信系统的处理流程的图;
图6是示出根据本发明第一实施方式的各个节点的队列的状态的图。
具体实施方式
以下,参考附图,对根据本发明第一实施方式的高速通信系统进行说明。图1是示出根据第一实施方式的高速通信系统的构成的框图。
图1所示的高速通信系统(高速通信装置)包括发送终端101、接收终端102、以及中继节点103、104。图1示出了发送终端101与接收终端102进行通信的例子。从发送终端101发送的数据被发送给中继节点103。中继节点103将该数据发送给中继节点104。并且,中继节点104将该数据发送给接收终端102。此时,数据通过TCP连接而在各个邻接的终端与节点之间或者节点与节点之间被发送。
当进行数据通信时,发送终端101在向处于该数据通信的下游的节点103发送数据时,通知可达到的平均吞吐量B。节点103对从发送终端101接收的平均吞吐量B与本节点可达到的平均吞吐量B进行比较,并将较小值的吞吐量B发送给数据通信的下游的中继节点104。中继节点104同样对从中继节点103接收的平均吞吐量B与本节点的平均吞吐量B进行比较,并将较小值的吞吐量B发送给数据通信的下游的接收终端102。由此,接收终端102能够知道在从发送终端101到达至接收终端102的各个区间的TCP数据通信中最小的平均吞吐量B。
此外,同样地,发送终端101在向处于该数据通信的下游的节点103发送数据时,通知本终端中的吞吐量上升速度ΔC。节点103对从发送终端101接收的上升速度ΔC与本节点中的吞吐量上升速度ΔC进行比较,将较小值的上升速度ΔC发送给数据通信的下游的中继节点104。中继节点104同样对从中继节点103接收的吞吐量上升速度ΔC与本节点中的吞吐量上升速度ΔC进行比较,并将较小值的上升速度ΔC发送给数据通信的下游的接收终端102。由此,接收终端102能够知道在从发送终端101到达至接收终端102的各个区间的TCP数据通信中最小的吞吐量上升速度ΔC。
接收终端102向中继节点104发送从中继节点104接收的平均吞吐量B和吞吐量上升速度ΔC的信息。中继节点104向中继节点103发送该平均吞吐量B和吞吐量上升速度ΔC的信息。中继节点103向发送终端101发送该平均吞吐量B和吞吐量上升速度ΔC的信息。由此处于数据通信的通信路径上的各个节点和各个终端能够检测到该通信路径上的最低的平均吞吐量B和吞吐量上升速度ΔC的信息。处于数据通信的通信路径上的各个节点和各个终端使用从数据通信的最终目的地发送的平均吞吐量(通信路径上的最低的平均吞吐量)B和吞吐量上升速度ΔC进行通信控制。
在一般的通信技术中,对在连接通信线路的情况下可用的线路速度、即最大吞吐量进行通知。
相对于此,在本发明的实施方式中,将网络分割为多个TCP区间,并且发送终端、接收终端、中继节点中的每一个根据网络的质量状况来估计各个TCP区间中可达到的平均吞吐量B,并分别交换该信息。由此能够知道在通信路径上实际可用的吞吐量,并使用这些信息进行控制,以使各个终端和节点的队列中不积累大量数据。而且根据本发明的实施方式,如上所述,各终端和中继节点分别交换在各个TCP区间估计的平均吞吐量B以及吞吐量上升速度ΔC,由此进行通信控制。
TCP是根据网络的混杂状况而动态适应吞吐量的协议。吞吐量上升速度ΔC是指每单位时间的吞吐量上升速度。
在作为TCP的派生技术的TCP RENO中,基本上在分组在终端间或终端-节点间等往返一次的时间(RTT:Round Trip Time,往返时间)内使吞吐量提高一个分组的量。因此,每单位时间的吞吐量上升速度ΔC能够由下式算出。
ΔC=PacketSize/RTT
在作为TCP的另一个派生技术的CUBIC TCP中,吞吐量根据分组丢失率来决定,而不依赖于RTT。从而,即使是不同派生技术的TCP,通过求出每单位时间的吞吐量上升速度,在终端-节点间进行交换,从而每个节点考虑最小的平均吞吐量和吞吐量的上升速度进行动作,由此能够调整数据积累到队列中的速度。其结果,能够减少队列中积累的数据量。
而且,在本发明的实施方式中,除上述处理之外,还在节点间或终端-节点间分别交换当分组在网络内消失时重发分组所需的时间、减少吞吐量时的减少幅度、处于各个终端和节点的队列中所积累的数据量的信息。例如,在从中继节点104向接收终端102的TCP连接中,节点104检测到发生了分组丢失。于是,节点104向邻接的在先的中继节点103发送通知发生了分组丢失的控制信号S。在中继节点103中,接收到控制信号S时,使得分组发送等待该控制信号S中保存的“节点104向接收终端102重发分组所需的时间”,之后,以与保存在控制信号S中的“重新开始通信时的吞吐量”相同的吞吐量重新开始通信。由此,能够减少中继节点103的队列中积累的数据量,并且能够继续通信而不会不必要地停止节点104的数据发送。
在本发明的实施方式中,鉴于这些相交换的通信的性能模型的信息(吞吐量B、吞吐量上升速度ΔC等)和处于队列中的数据量来进行控制,使得每个节点的队列中积累足够的数据而且不会积累所需以上更多的数据。
图2是示出发送终端的功能模块的图。
如图2所示,发送终端101包括:输入输出处理部11、IP处理部12、TCP发送部13、以及应用处理部14。
输入输出处理部11将从网络接收的分组传递给IP处理部12,并将从IP处理部12传递而来的分组发送给网络。IP处理部12判定从输入输出处理部11输入的分组的目的地,将该目的地传递给TCP发送部13,并且将从TCP发送部13传递而来的TCP段生成为分组后传递给输入输出处理部11。TCP发送部13接收来自通信相对方的控制信号,并决定与此相应的TCP的处理方法,对从应用传递而来的数据实施TCP的处理来生成TCP段后传递给IP处理部12。应用处理部14从数据存储部15中读取数据并将该数据传递给TCP发送部13。
TCP发送部13包括:控制信号接收部131、动作模型决定部132、第一拥塞窗口决定部133、第二拥塞窗口决定部134、以及数据发送部135。
控制信号接收部131接收来自通信相对方的控制信号,并将该控制信号传递给动作模型决定部132。动作模型决定部132从控制信号决定第二拥塞窗口决定部134的动作方法,并向第二拥塞窗口决定部134通知该动作方法。第一拥塞窗口决定部133实现依据TCP的通常的拥塞窗口控制,第二拥塞窗口决定部134按照从动作模型决定部132指示的动作方法,实现调整后的拥塞窗口控制。数据发送部135将从应用处理部14传递而来的数据保存到段存储部16中,在参考第一拥塞窗口决定部133或第二拥塞窗口决定部134的拥塞窗口的情况下决定数据的发送,生成TCP段并将其传递给IP处理部12。
图3是示出接收终端的功能模块的图。
如图3所示,接收终端102包括:输入输出处理部21、IP处理部22、TCP接收部23、以及应用处理部24。
输入输出处理部21接收来自网络的分组,将该分组传递给IP处理部22,并且将从IP处理部22传递而来的分组发送给网络。IP处理部22判定从输入输出处理部21输入的分组的目的地,将该目的地传递给TCP接收部23,并且将从TCP接收部23传递而来的ACK生成为分组后传递给输入输出处理部21。TCP接收部23从IP处理部22接收分组,进行TCP的接收处理,并根据需要,向IP处理部22传递控制信号,向应用处理部传递数据。应用处理部24从TCP接收部23接收数据,将该数据保存到数据存储部25中。
TCP接收部23包括:数据接收部231、ACK发送部232、以及控制信号收发部233。
数据接收部231从来自IP处理部22的分组中取出段,将该段保存在段存储部234中,根据来自应用的请求,将段变换成数据(排列,拼接)后传递该数据,并参考处于段存储部234的队列的剩余容量向ACK发送部232进行通知。ACK发送部232接收来自数据接收部231的通知,生成ACK并将其传递给IP处理部22。控制信号收发部233发送或接收控制信号。
图4是示出中继节点的功能模块的图。
中继节点103、104进行以下处理:对接收的分组进行TCP接收处理,将其变换成数据,通过数据传送部35将该数据传递给TCP发送部34,并发送分组。
对中继节点103、104的功能与发送终端101或接收终端102的功能之间的差异进行说明。中继节点103、104包括:输入输出处理部31、IP处理部32、TCP接收部33、TCP发送部34、以及数据传送部35。输入输出处理部31、IP处理部32、TCP接收部33、TCP发送部34进行与发送终端101或接收终端102的对应的处理部相同的处理,但在下述的处理上存在差异。即,中继节点103、104的TCP发送部34的控制信号收发部341在发生了分组丢失时向TCP接收部33的控制信号收发部333进行通知。此外,TCP接收部33的控制信号接收部333进行向作为发送源的通信相对方通知分组丢失、以及当前TCP发送部34中的待发送数据量、重新开始通信时的吞吐量。
图5示出了高速通信系统的处理流程。
接下来,按顺序对根据本实施方式的高速通信系统的处理流程的细节进行说明。
对在图1的高速通信系统中进行数据通信时的例子进行说明。从发送终端101发送的数据依次被传送给中继节点103、中继节点104、接收终端102。
首先,发送终端101向接收终端102发送控制开始信号(步骤S101)。此时,控制开始信号经由中继节点103、104被发送给接收终端102。接着,在发送了控制开始信号的发送终端101中,计算在发送终端101与中继节点103之间的TCP连接中可达到的平均吞吐量B1(步骤S102)。计算该平均吞吐量B(B1)的处理通过式(1)进行。
[公式1]
这里,在上述式(1)中,当将“k”设为表示中继节点103的“103”时,“Wk”是发送终端101的最大拥塞窗口大小与作为随后节点的中继节点103的最大接收窗口大小中的较小的值。“d”是发送终端101与作为随后节点的中继节点103之间的RTT。“C”是常数,“p”是分组丢失率。“d”和“p”最好预先通过统计值计算,并在通信中随时更新。
发送终端101如下求出吞吐量上升速度ΔC(步骤S103)。
ΔC=PacketSize/d
“PacketSize”是段大小。发送终端101如下求出当假定在本终端中发生了分组丢失时直到通过重传分组而重新开始通信为止的时间FRT(以下,称为通信重新开始预计时间)(步骤S103)。
FRT=d(d:发送终端101与中继节点103之间的RTT)
发送终端101如下求出当发生了分组丢失从而重传分组并重新开始通信时与分组丢失前相比减少吞吐量的比例BD(以下称为吞吐量减少比例)(步骤S104)。
BD=1/2
在步骤S101中接收了从发送终端101发送的控制开始信号的中继节点103、中继节点104、接收终端102,与发送终端101同样地计算与发送目的地的节点或终端之间的TCP连接中的平均吞吐量B、该TCP连接中的吞吐量上升速度ΔC、通信重新开始预计时间FRT、吞吐量减少比例BD。
将发送终端101算出的信息分别记为平均吞吐量B1、吞吐量上升速度ΔC1、通信重新开始预计时间FRT1、吞吐量减少比例BD1。将接收终端102算出的信息分别记为平均吞吐量B2、吞吐量上升速度ΔC2、通信重新开始预计时间FRT2、吞吐量减少比例BD2。将中继节点103算出的信息分别记为平均吞吐量B3、吞吐量上升速度ΔC3、通信重新开始预计时间FRT3、吞吐量减少比例BD3。将中继节点104算出的信息分别记为平均吞吐量B4、吞吐量上升速度ΔC4、通信重新开始预计时间FRT4、吞吐量减少比例BD4。
接下来,发送终端101生成保存有所算出的平均吞吐量B1、吞吐量上升速度ΔC1、通信重新开始预计时间FRT1、吞吐量减少比例BD1的性能模型通知信号,将该性能模型通知信号发送给中继节点103(步骤S105)。中继节点103在接收到性能模型通知信号后,将该性能模型通知信号中保存的平均吞吐量B1与本节点算出的平均吞吐量B3进行比较(步骤S106)。接下来,中继节点103将保存在性能模型通知信号中的信息更新为在该比较中表示较小的值的平均吞吐量B、以及在算出该平均吞吐量B的装置(发送终端101或中继节点103中的任一者)中算出的吞吐量上升速度ΔC、通信重新开始预计时间FRT、吞吐量减少比例BD。此外,中继节点103将该更新后的性能模型通知信号发送给中继节点104(步骤S107)。
在中继节点104中也进行同样的处理。即,中继节点104从接收自中继节点103的性能模型通知信号中获取平均吞吐量B,将该平均吞吐量B与本节点的平均吞吐量B4进行比较(步骤S108),选中表示较小值的平均吞吐量B。接着,中继节点104将保存在性能模型通知信号中的信息更新为在该比较中表示较小值的平均吞吐量B、以及在算出该平均吞吐量B的装置中算出的吞吐量上升速度ΔC、通信重新开始预计时间FRT、吞吐量减少比例BD。此外,中继节点103将该更新后的性能模型通知信号发送给接收终端102(步骤S109)。接收终端102将平均吞吐量B、吞吐量上升速度ΔC、通信重新开始预计时间FRT、吞吐量减少比例BD保存到存储部中。
接收终端102生成保存有该存储部中保存的信息中的平均吞吐量B、吞吐量上升速度ΔC、吞吐量减少比例BD的性能模型确定信号,并将该性能模型确定信号发送给中继节点104(步骤S110)。中继节点104将保存在性能模型确定信号中的平均吞吐量B、吞吐量上升速度ΔC、吞吐量减少比例BD保存到存储部中,并将该性能模型确定信号发送给中继节点103(步骤S111)。同样地,中继节点103将保存在性能模型确定信号中的平均吞吐量B、吞吐量上升速度ΔC、吞吐量减少比例BD保存到存储部中,并将该性能模型确定信号发送给发送终端101(步骤S112)。发送终端101将保存在性能模型确定信号中的平均吞吐量B、吞吐量上升速度ΔC、吞吐量减少比例BD保存到存储部中。
接着,在TCP发送部13中具有动作模型决定部132的发送终端101、在TCP发送部34中具有动作模型决定部342的中继节点103、以及中继节点104基于通过性能模型确定信号获取的信息(以下将通过性能模型确定信号获取的各个信息设为平均吞吐量Bx、吞吐量上升速度ΔCx、吞吐量减少比例BDx),如下决定TCP控制的动作(步骤S113)。首先,发送终端101、中继节点103、104的动作模型决定部(132、342)计算以下各项(a)、(b)、(c)。
(a)最大窗口大小=平均吞吐量Bx×2
(b)接收到一个ACK分组时的拥塞窗口的增加幅度=2×吞吐量上升速度ΔCx/d
其中,“d”是终端-节点间或节点-节点间的RTT。
(c)分组丢失时的拥塞窗口的减少=吞吐量减少比例BDx
每个第一拥塞窗口决定部(133、343)例如如下实现通常的TCP动作。
·最大窗口大小=根据每个终端的任意设定。
·接收到一个ACK分组时的拥塞窗口的增加幅度=与一个分组相当
·分组丢失时的拥塞窗口的减少=1/2
TCP控制包括基于分组丢失的判定来决定动作的TCP控制、基于延迟的增加来决定动作的TCP控制、以及考虑分组丢失和延迟二者的TCP控制等,可以通过任意的动作来实现TCP控制。各终端、各中继节点基于所决定的参数来进行TCP的控制。
图6是示出各节点中的队列的状态的图。
各中继节点103、104以及接收终端102执行通过上述处理而决定的TCP动作。并且,各中继节点103、104以及接收终端102根据积累在TCP接收部(23、33)的队列中的待发送数据量,如下向上游的节点或上游终端通知通信抑制判定信号。这里设为i=0,1,2,3。此外,关于节点(i),将发送终端101设为节点(0),将中继节点103设为节点(1),将中继节点104设为节点(2),将接收终端102设为节点(3)。而且,将针对节点(i)的队列q(i)分别设为q(0)、q(1)、q(2)、q(3)。
此时,考虑在先节点(i-1)和接在其后连着的随后节点(i)。
(A):q(i)<m×平均吞吐量B(i)×FRT(i-1)的情况
这是积累在随后节点(i)的队列q(i)中的数据量少于当在先节点(i-1)与随后节点(i)之间的RTT的时间内以该节点间的平均吞吐量B(i-1)进行了通信时的数据量的m倍(m为常数)的数据量的情况。在此情况下,由于数据通信还有余地,因此随后节点(i)向在先节点(i-1)发送表示使用进行正常的拥塞窗口控制的第一拥塞窗口决定部(133、343)的通信抑制判定信号。
(B):m×平均吞吐量B(i)×FRT(i-1)≤q(i)≤X的情况
这是积累在随后节点(i)的队列q(i)中的数据量多于等于当在先节点(i-1)与随后节点(i)之间的RTT的时间内以该节点间的平均吞吐量B(i)进行了通信时的数据量的m倍(m为常数)的数据量、但少于常数X的情况,常数X是表示通信停止的上限值。在此情况下,由于数据通信没有余地,因此随后节点(i)向在先节点(i-1)发送表示使用进行减少拥塞窗口的控制的第二拥塞窗口决定部(134、344)的通信抑制判定信号。
(C):X<q(i)的情况
这是积累在随后节点(i)的队列q(i)中的数据量超过了表示通信停止的上限值X的情况。在此情况下,随后节点(i)向在先节点(i-1)发送表示将数据发送停止FRT(i)的时间、即随后节点(i)与其之后的节点(i+1)之间的RTT的时间的通信抑制判定信号。常数m设定为2~4程度的数值,常数X设定为5~10程度等的数值。然后,接收到通信抑制判定信号的各节点基于该通信抑制判定信号所表示的信息来进行通信控制。
此外,各节点或终端检测分组丢失的发生。当检测到发生了分组丢失时,检测到分组丢失的节点(i)如下发送控制信号S,接收到该控制信号S的节点(i-1)也如下进行动作。
(D):在检测到分组丢失的节点(i)使用第二拥塞窗口决定部进行通信的情况下,随后节点(i)向在先节点(i-1)发送表示停止FRT(i)的时间、即随后节点(i)与其之后的节点(i+1)之间的RTT的时间的通信抑制判定信号。(E):节点(i-1)将通信停止信抑制判定信号所表示的FRT(i)的时间。并且在经过了FRT(i)的时间之后,节点(i-1)通过对拥塞窗口乘以吞吐量减少比例BD来决定新拥塞窗口大小,重新开始通信。
通过以上处理,根据本实施方式的高速通信系统进行根据积累在处于节点的队列中的数据量来改变TCP的控制方法的处理。
对某节点(i)中有非常多的待发送数据量,并且即使在节点(i-1)发生了分组丢失、从而通信停止了FRT(i-1)的时间、即节点(i)与其在先节点(i-1)之间的RTT的时间时节点(i)的待发送数据也不变为0的情况进行说明。在此情况下,节点(i-1)通过抑制吞吐量的第二拥塞窗口决定部(134、344)进行TCP的动作。
相反地,对某节点(i)中的待发送数据量不是非常多,并且当在节点(i-1)中发生了分组丢失、从而通信停止了FRT(i-1)的时间时节点(i)的待发送数据可能变为0的情况进行说明。在此情况下,节点(i-1)通过进一步提高吞吐量的第一拥塞窗口决定部(133、343)进行TCP的动作。
由此可将积攒在各节点的队列中的数据量抑制得较小。
例如,对从中继节点104向接收终端102的TCP连接为瓶颈的情况进行说明。在此情况下,中继节点104通过第一拥塞窗口决定部(343)进行TCP的动作。此外,其他中继节点或发送终端101通过进行第二拥塞窗口决定部(134、344)的TCP的动作,而执行发挥和中继节点104与接收终端101之间的通信大致相同的吞吐量的控制。
此外,例如,对从发送终端101向中继节点103的TCP连接为瓶颈的情况进行说明。在此情况下,发送终端101通过第一拥塞窗口决定部(133)进行TCP的动作,其他节点通过进行第二拥塞窗口决定部(344)的TCP的动作,而执行发挥和发送终端101与中继节点103之间的通信大致相同的吞吐量的控制。
接下来,对根据第二实施方式的高速通信系统进行说明。
根据第二实施方式的高速通信系统是第一实施方式所示的构成中中继节点103的第一拥塞窗口决定部343进行与在第一实施方式中说明的处理不同的处理的情况的例子。
这里,将中继节点103设为节点i。并且节点i的第一拥塞窗口决定部133如(1)~(3)这样设定,以满足(I)以及(II)的条件。
(I):节点(i)中的平均吞吐量B(i)=节点(i+1)中的平均吞吐量B(i+1)
(II):节点(i)中的发生了分组丢失时的吞吐量减少比例BD(i)=节点(i+1)中的发生了分组丢失时的吞吐量减少比例BD(i+1)
(1):最大窗口大小=(平均吞吐量B(i+1)×d(i+1))×(d(i)/d(i+1))
(2):接收到一个ACK分组时的拥塞窗口的增加幅度=2×节点(i+1)的吞吐量上升速度ΔC(i+1)/d(i+1)
其中,“d”是节点与该节点的随后节点之间的RTT
(3):分组丢失时的节点(i)中的拥塞窗口的减少值=节点(i+1)中的发生了分组丢失时的吞吐量减少比例BD(i+1)
由此,即使在从节点i向节点i+1的通信路径(i)的延迟非常大、并且从节点i+1向节点i+2的通信路径(i+1)的延迟小的情况下,能够使得两者以相等的吞吐量大体联动地进行通信。
这对于从节点103向节点104的通信路径为诸如海底缆线区间等那样的虽没有分组丢失但延迟非常大的通信路径的情况很有效。这是因为在一般的TCP中拥塞窗口针对每个RTT增加一个分组的量,因此吞吐量的上升非常缓慢的缘故。如果使用本发明的实施方式,还能够解决该问题。
以上,对高速通信系统进行了说明,根据上述的处理,通过不增大节点的队列中积累的数据量地进行通信,能够实现通信的高速化。
此外,根据本发明的实施方式,能够减轻由于节点前后的TCP连接中的速度差异而导致节点中积累的数据量增大的程度,因此能够实现通信的高速化。
此外,根据本发明的实施方式,进行控制使得提高和降低通信速率的速度在节点的前后相同,因此能减轻导致节点中积累的数据量增大的程度,因此能够实现通信的高速化。
此外,根据本发明的实施方式,即使使用控制信号停止通信,在重新开始通信时通信的重新开始也不会由于传输延迟而延迟,由此,能够防止通信性能下降。
上述的发送终端、中继节点、接收终端在内部具有计算机系统。上述各处理的过程以程序的形式被记录在计算机可读的记录介质中,由计算机通过读取并执行该程序来进行上述处理。这里,计算机可读的记录介质是指磁盘、光磁盘、CD-ROM、DVD-ROM、半导体存储器等。
也可以通过通信线路向计算机发布该计算机程序,并由接收该发布的计算机执行该程序。
上述程序也可以是用于实现前述功能的一部分的程序。此外,也可以是能够与已记录在计算机系统中的程序组合来实现前述功能的所谓的差分文件(差分程序)。
以上,参考实施方式对本申请发明进行了说明,但本申请发明不限定于上述实施方式。本申请发明的构成或细节能够在本申请发明的范围内进行本领域技术人员可理解的各种改变。
该申请要求以2010年2月17日申请的日本申请特愿2010-032872为基础的优先权,其全部公开内容合并于此。
产业上的可用性
本发明能够应用于经由多个节点发送数据的高速通信系统以及高速通信方法。根据该高速通信系统以及高速通信方法,通过不增大积累在节点的队列中的数据量进行通信,能够实现通信的高速化。
标号说明
101 发送终端
102 接收终端
103、104 中继节点
11、21、31 输入输出处理部
12、22、32 IP处理部
13、34 TCP发送部
23 TCP接收部
14、24、35 应用处理部

Claims (9)

1.一种高速通信系统,包括:
设置在通信路径上的多个节点;以及
建立在所述多个节点的各节点之间的多个通信连接,
其中,所述多个节点在所述节点之间交换表示所述多个通信连接的每一个能够达到的通信性能的多个性能模型信息,
所述多个节点的每一个实施基于所述多个性能模型信息中的任一性能模型信息的通信控制,其中
所述多个节点具有起始点节点、终点节点、以及设置在所述起始点节点与所述终点节点之间的中继节点,
所述起始点节点向终点节点发送通知通信要被进行的控制开始信号,
检测到所述控制开始信号的所述终点节点基于所述控制开始信号的检测来计算所述终点节点的性能模型信息,并且所述中继节点基于所述控制开始信号的检测来计算所述中继节点的性能模型信息,
所述起始点节点向所述终点节点发送保存有所述性能模型信息的性能模型通知信号,
当所述中继节点向所述终点节点传送所述性能模型通知信号时,所述中继节点传送仅保存有将所述性能模型通知信号中保存的性能模型信息与所述中继节点算出的性能模型信息进行比较时表示较小的值的性能模型信息的所述性能模型通知信号,
所述终点节点存储所接收的所述性能模型通知信号中保存的性能模型信息,并且向所述起始点节点发送保存有所述性能模型信息的性能模型确定信号,
将所述性能模型确定信号中继给所述起始点节点的中继节点以及所述起始点节点存储所述性能模型确定信号中保存的性能模型信息,
所述起始点节点和所述中继节点基于保存在所述性能模型确定信号中的性能模型信息进行TCP控制。
2.如权利要求1所述的高速通信系统,其中,
所述多个节点的每一个估计所述能够达到的通信性能中的所述节点之间的平均吞吐量,
所述多个节点的每一个在所述节点之间交换以所述平均吞吐量表示的性能模型信息,决定作为目标的平均吞吐量,并实施基于所述作为目标的平均吞吐量的通信控制。
3.如权利要求1所述的高速通信系统,其中,
所述多个节点的每一个估计所述能够达到的通信性能中的所述节点之间的吞吐量上升速度,
所述多个节点的每一个在所述节点之间交换以所述吞吐量上升速度表示的性能模型信息,决定作为目标的吞吐量上升速度,并实施基于所述作为目标的吞吐量上升速度的通信控制。
4.如权利要求1所述的高速通信系统,其中,
所述起始点节点、所述中继节点以及所述终点节点具有邻接连接的在先节点和随后节点,
在所述随后节点的队列中积累的数据量少于在所述在先节点与所述随后节点之间的RTT的时间内以所述在先节点与所述随后节点之间的平均吞吐量进行了通信时的数据量的常数倍的数据量的情况下,所述随后节点向所述在先节点发送表示进行正常的拥塞窗口控制的通信抑制判定信号,
所述在先节点基于所述通信抑制判定信号进行TCP控制。
5.如权利要求1所述的高速通信系统,其中,
所述起始点节点、所述中继节点以及所述终点节点具有邻接连接的在先节点和随后节点,
在所述随后节点的队列中积累的数据量多于等于在所述在先节点与所述随后节点之间的RTT的时间内以所述在先节点与所述随后节点之间的平均吞吐量进行了通信时的数据量的常数倍的数据量、但少于常数的情况下,所述随后节点向所述在先节点发送表示减少拥塞窗口的控制的通信抑制判定信号,所述常数是表示通信停止的上限值,
所述在先节点基于所述通信抑制判定信号进行TCP控制。
6.如权利要求1所述的高速通信系统,其中,
所述起始点节点、所述中继节点以及所述终点节点具有邻接连接的在先节点和随后节点,
在所述随后节点的队列中积累的数据量超过了表示通信停止的上限值的情况下,所述随后节点向所述在先节点发送表示将数据发送停止随后节点与其下一个节点之间的RTT的时间的通信抑制判定信号,
所述在先节点基于所述通信抑制判定信号进行TCP控制。
7.如权利要求1所述的高速通信系统,其中,
所述起始点节点、所述中继节点以及所述终点节点具有邻接连接的在先节点和随后节点,
在所述随后节点检测到分组丢失、并且所述随后节点在对下一个节点的TCP控制中正在进行减少拥塞窗口的控制的情况下,所述随后节点将表示停止随后节点与其下一个节点之间的RTT的时间的通信抑制判定信号发送给所述在先节点,
所述在先节点基于所述通信抑制判定信号进行TCP控制。
8.如权利要求7所述的高速通信系统,其中,
所述在先节点将通信停止所述随后节点与所述其下一个节点之间的RTT的时间,在所述RTT的时间经过之后,通过对拥塞窗口乘以吞吐量减少比例来决定新拥塞窗口大小,并重新开始通信。
9.一种高速通信系统中的高速通信方法,所述高速通信方法经由通信路径上的多个节点进行,所述多个节点具有起始点节点、终点节点、以及设置在所述起始点节点与所述终点节点之间的中继节点,所述高速通信方法包括:
所述起始点节点向所述终点节点发送通知通信要被进行的控制开始信号;
检测到所述控制开始信号的所述终点节点基于所述控制开始信号的检测来计算终点节点的性能模型信息;
所述中继节点基于所述控制开始信号的检测来计算中继节点的性能模型信息;
所述起始点节点向所述终点节点发送保存有所述性能模型信息的性能 模型通知信号;
当所述中继节点向所述终点节点传送所述性能模型通信信号时,所述中继节点传送仅保存有将所述性能模型通知信号中保存的性能模型信息与所述中继节点算出的性能模型信息进行比较时表示较小的值的性能模型信息的所述性能模型通知信号;
所述终点节点存储所接收的所述性能模型通知信号中保存的性能模型信息,并且向所述起始点节点发送保存有所述性能模型信息的性能模型确定信号;
将所述性能模型确定信号中继给所述起始点节点的中继节点以及所述起始点节点存储所述性能模型确定信号中保存的性能模型信息;以及
所述起始点节点和所述中继节点基于所述性能模型确定信号中保存的性能模型信息进行TCP控制。
CN201180009747.8A 2010-02-17 2011-02-10 高速通信系统以及高速通信方法 Active CN102771103B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010032872 2010-02-17
JP2010-032872 2010-02-17
PCT/JP2011/052859 WO2011102294A1 (ja) 2010-02-17 2011-02-10 高速通信システム及び高速通信方法

Publications (2)

Publication Number Publication Date
CN102771103A CN102771103A (zh) 2012-11-07
CN102771103B true CN102771103B (zh) 2017-05-31

Family

ID=44482881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180009747.8A Active CN102771103B (zh) 2010-02-17 2011-02-10 高速通信系统以及高速通信方法

Country Status (6)

Country Link
US (1) US9071452B2 (zh)
EP (1) EP2538630B1 (zh)
JP (1) JP5673664B2 (zh)
CN (1) CN102771103B (zh)
RU (1) RU2510981C1 (zh)
WO (1) WO2011102294A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178790B2 (en) * 2012-08-06 2015-11-03 Ixia Methods, systems, and computer readable media for controlling Tx and Rx throughput over TCP
US9178823B2 (en) 2012-12-12 2015-11-03 Ixia Methods, systems, and computer readable media for generating simulated network traffic using different traffic flows and maintaining a configured distribution of traffic between the different traffic flows and a device under test
US9397901B2 (en) 2012-12-18 2016-07-19 Ixia Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers
US9116873B2 (en) 2013-03-21 2015-08-25 Ixia Methods, systems, and computer readable media for adjusting load at a device under test
JP6010502B2 (ja) * 2013-05-07 2016-10-19 アンリツネットワークス株式会社 パケット処理方法及びパケット処理装置
US9386462B2 (en) * 2014-03-28 2016-07-05 GM Global Technology Operations LLC Methods and apparatus for determining and planning wireless network deployment sufficiency when utilizing vehicle-based relay nodes
US9386624B2 (en) 2014-03-28 2016-07-05 GM Global Technology Operations LLC Systems and methods of facilitating portable device communications
JP2015204466A (ja) * 2014-04-10 2015-11-16 株式会社東芝 データ転送装置、データ転送方法および通信装置
CN113225159B (zh) * 2015-06-26 2024-06-07 康杜实验室公司 高速通信系统
JP6508382B1 (ja) 2018-03-26 2019-05-08 日本電気株式会社 情報処理装置、情報処理方法、プログラム
US11381464B2 (en) 2019-11-28 2022-07-05 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing a generalized model for defining application state machines

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494296A (zh) * 2002-10-10 2004-05-05 ض� 确定网络路径传输单元
JP2008199332A (ja) * 2007-02-14 2008-08-28 Nec Commun Syst Ltd 無線装置およびそれを用いた無線ネットワーク
JP2009152977A (ja) * 2007-12-21 2009-07-09 Nec Corp 通信品質監視装置、通信品質監視システム、通信品質監視方法及びそのプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
US7146425B2 (en) * 2000-12-22 2006-12-05 Matsushita Electric Industrial Co., Ltd. Measurement-based admission control utilizing effective envelopes and service curves
US7349346B2 (en) * 2002-10-31 2008-03-25 Intel Corporation Method and apparatus to model routing performance
KR100548134B1 (ko) * 2003-10-31 2006-02-02 삼성전자주식회사 무선 네트워크 환경에서의 tcp의 데이터 전송효율을향상시킬 수 있는 통신시스템 및 그 방법
US7801127B2 (en) * 2004-10-25 2010-09-21 Ineoquest Technologies, Inc. System and method for creating a sequence number field for streaming media in a packet-based networks utilizing internet protocol
KR100606025B1 (ko) 2004-11-18 2006-07-28 삼성전자주식회사 간이 망 관리 프로토콜 기반의 망 관리 장치 및 방법
CN101675705B (zh) * 2007-12-25 2013-06-12 松下电器产业株式会社 通信装置、通信方法
US8089884B2 (en) * 2008-04-07 2012-01-03 Itt Manufacturing Enterprises, Inc. Method and apparatus for early warning of congestion in Ad-Hoc wireless networks
JP2010032872A (ja) 2008-07-30 2010-02-12 Canon Inc 像担持体の表面電荷分布検出装置、及びこれを備えた画像形成装置
US20110010239A1 (en) * 2009-07-13 2011-01-13 Yahoo! Inc. Model-based advertisement optimization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494296A (zh) * 2002-10-10 2004-05-05 ض� 确定网络路径传输单元
JP2008199332A (ja) * 2007-02-14 2008-08-28 Nec Commun Syst Ltd 無線装置およびそれを用いた無線ネットワーク
JP2009152977A (ja) * 2007-12-21 2009-07-09 Nec Corp 通信品質監視装置、通信品質監視システム、通信品質監視方法及びそのプログラム

Also Published As

Publication number Publication date
RU2510981C1 (ru) 2014-04-10
EP2538630A4 (en) 2016-09-14
EP2538630A1 (en) 2012-12-26
WO2011102294A1 (ja) 2011-08-25
RU2012134796A (ru) 2014-03-27
CN102771103A (zh) 2012-11-07
US20120314576A1 (en) 2012-12-13
JP5673664B2 (ja) 2015-02-18
US9071452B2 (en) 2015-06-30
JPWO2011102294A1 (ja) 2013-06-17
EP2538630B1 (en) 2018-06-13

Similar Documents

Publication Publication Date Title
CN102771103B (zh) 高速通信系统以及高速通信方法
CN104954279B (zh) 一种传输控制方法、装置及系统
TWI487389B (zh) 避免網路壅塞的方法及其裝置
EP2316182B1 (en) Method for transporting data over a data connection and network component
US9426080B2 (en) Data communication apparatus, data transmission method, and computer system
CN102790913B (zh) 一种基于3g网络音视频传输方法
US7489637B2 (en) Method of enhancing the efficiency of data flow in communication systems
CN103269260A (zh) 数据传输方法、数据接收端、数据发送端和数据传输系统
CN106850169B (zh) 一种资源调度分配的方法以及通信设备
CN104038845B (zh) 报文传输方法及装置
CN103763073B (zh) 一种丢包重传的方法及终端
CN104683259B (zh) Tcp拥塞控制方法及装置
CN109639340A (zh) 一种适用于卫星链路的tcp加速方法
CN112653634A (zh) 一种流量控制方法、装置、设备及可读存储介质
US11570117B2 (en) Congestion control
CN106936730A (zh) 一种报文发送方法、tcp代理以及tcp客户端
CN103338184A (zh) 数据发送方法及装置、数据接收装置以及数据传输系统
JP5832335B2 (ja) 通信装置および通信システム
Nguyen et al. Performance evaluation of TCP congestion control algorithms in data center networks
CN102752076B (zh) 数据发送的控制方法及装置及计算机系统
CN108199814A (zh) 数据传输方法及装置
CN107979542A (zh) 网络拥塞确定方法及本端网元
JP5539161B2 (ja) データ伝送方式、及び、複数拠点データ配信方式
CN107018086B (zh) 一种数据中心网络中基于数据包优先级的传输控制方法
US10516770B2 (en) Transmitting entity and method performed thereby for transmitting one or more data packets to a receiving entity

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