信息处理系统、方法和装置以及非暂态存储介质与流程

文档序号:17048299发布日期:2019-03-05 19:47阅读:184来源:国知局
信息处理系统、方法和装置以及非暂态存储介质与流程

本发明涉及信息处理系统、信息处理方法、存储程序的非暂态存储介质以及信息处理装置。



背景技术:

已知以下技术:该技术用于当包由于阻塞等导致丢失并且没有被接收侧终端正常接收时,使用诸如传输控制协议(tcp)的通信协议来执行对再发送(重传)从发送侧终端发送的包的控制(例如,参见日本未审查专利申请公开第2009-100118号(jp2009-100118a))。

已知以下技术:当在发送侧终端已经使用tcp发送包之后的预定时间内发送侧终端还未接收到来自接收侧终端的确认(ack)时,在ack的超时重传时间(rto,retransmissiontimeout)超时的时刻处重传包。

已知以下技术:当发送侧终端将已经由应用等请求发送的数据划分成多个片段并且在不等待来自接收侧终端的ack的情况下顺序发送包括所划分的片段的包时,快速地重传包而不等待rto的超时(例如,参见v.jacobson,“congestionavoidanceandcontrol”,computercommunicationreview,第18卷,第4期,第314页至329页,1988年8月)。这样的技术被称为快速重传等。在快速重传中,当接收到来自发送侧终端的包时,接收侧终端确定所接收的包中包括的序列号,并且当存在丢失的序列号时,将ack返回到以正确的顺序接收到的最后的包。当连续三次接收到包括相同序列号的ack时,发送侧终端重传丢失的包。当第一次和第二次接收到ack时发送侧终端不重传丢失的包的原因在于,接收侧终端处的包的到达顺序已被简单地改变的可能性相对较高。



技术实现要素:

然而,在现有技术中,当包括数据已被划分成的片段中的从最终片段起的三个片段的包中之一不能够由接收侧终端正常接收时,快速重传是不可能的。在这样的情况下,由于在ack的预定rto超时之前未接收到的包不被重传,因此需要相对较长的时间来重传包。

本发明提供了一种能够提高相对快速重传的概率的技术。

本发明的第一方面提供了一种信息处理系统,包括:第一信息处理装置,第一信息处理装置包括发送单元,该发送单元被配置成在对发送数据被划分成的发送片段进行顺序地发送之后发送包括伪数据的伪片段;以及第二信息处理装置,其被配置成使用传输控制协议与第一信息处理装置通信,第二信息处理装置包括移除单元,该移除单元被配置成当接收到发送片段和伪片段时移除伪片段,并且将包括发送片段的数据设置为发送数据。

根据该配置,发送侧信息处理装置发送包括发送数据的包并且然后发送包括伪数据的包。因此,可以提高相对快速重传的概率。

在第一方面中,发送单元可以被配置成发送包括如下伪数据的伪片段,该伪数据的大小不取决于发送单元能够使用一个片段发送的数据的最大大小。

根据该配置,发送侧信息处理装置发送包括发送数据的包并且然后发送包括具有任意大小的伪数据的包。因此,例如,可以使用相对较小的伪数据来抑制网络的频带的消耗并且提高相对快速重传的概率。

在第一方面中,伪数据可以包括发送数据的至少一部分。

根据该配置,发送侧信息处理装置重传预定发送数据作为伪数据。因此,例如,接收侧信息处理装置可以从伪数据中获取丢失的发送片段而不等待丢失的发送片段的重传。

在第一方面中,伪数据可以包括与发送片段的最终片段相同的数据。

根据该配置,发送侧信息处理装置重传发送数据中的最终片段作为伪数据。因此,例如,接收侧信息处理装置可以从伪数据中获取最终片段而不等待丢失的最终片段的重传。

在第一方面中,发送单元可以被配置成发送三个伪片段。

根据该配置,发送侧信息处理装置发送伪片段的三个包。因此,即使当发送数据中的最终片段的包丢失时,也可以令人满意地执行tcp的快速重传。

在第一方面中,第二信息处理装置可以被配置成:每当由第二信息处理装置接收到每个发送片段和每个伪片段时向第一信息处理装置发送确认信号,确认信号包括与由第二信息处理装置以正确的接收顺序接收到的最后发送片段对应的标识信息,并且第一信息处理装置可以被配置成:当与同一发送片段对应的标识信息被接收到预定次数时,发送与标识信息对应的发送片段之后的发送片段。

本发明的第二方面提供了一种信息处理方法,其包括:使得第一信息处理装置在使用传输控制协议对发送数据被划分成的发送片段进行顺序地发送之后,发送包括伪数据的伪片段;以及使得第二信息处理装置在接收到发送片段和伪片段时,移除伪片段并且将包括发送片段的数据设置为发送数据。

本发明的第三方面提供了一种存储程序的非暂态存储介质,当由信息处理装置执行该程序时,该程序使得信息处理装置执行方法。该方法包括:在使用传输控制协议对发送数据被划分成的发送片段进行顺序地发送之后,发送包括伪数据的伪片段;以及当使用传输控制协议从其他信息处理装置接收到发送片段和伪片段时,移除伪片段并且将包括发送片段的数据设置为信息处理装置中的发送数据。

本发明的第四方面提供了一种信息处理装置,其被配置成:在使用传输控制协议对发送数据被划分成的发送片段进行顺序地发送之后,发送包括伪数据的伪片段。

本发明的第五方面提供了一种信息处理装置,其被配置成:当使用传输控制协议从其他信息处理装置接收到发送片段和伪片段时,移除伪片段并且将包括发送片段的数据设置为其他信息处理装置中的发送数据。

附图说明

下面将参照附图描述本发明的示例性实施方式的特征、优点以及技术和工业意义,在附图中相同的附图标记表示相同的元件,并且在附图中:

图1是示出根据实施方式的信息处理系统的配置的示例的图;

图2是示出根据实施方式的信息处理装置的硬件配置的示例的图;

图3是示出根据实施方式的信息处理装置的功能框图的示例的图;

图4是示出由根据实施方式的信息处理系统执行的处理的示例的顺序图;

图5a是示出添加伪数据的处理的示例的图;

图5b是示出添加伪数据的处理的示例的图;

图5c是示出添加伪数据的处理的示例的图;

图6是示出根据实施方式的信息处理系统的优点的图;以及

图7是示出其中真实数据被使用作为伪数据的示例的图。

具体实施方式

在下文中,将参照附图描述本发明的实施方式。

<系统配置>

图1是示出根据实施方式的信息处理系统1的配置的示例的图。在图1中,信息处理系统1包括信息处理装置10-1和信息处理装置10-2(在下文中,当它们不需要彼此区分时简称为“信息处理装置10”)。信息处理系统1中包括的装置的数目不限于两个。

信息处理装置10-1和信息处理装置10-2经由网络50而彼此连接,网络50诸如是车载局域网(lan)、lan、无线lan、因特网或者移动电话网络、诸如长期演进(lte)或第五代(5g)。

在以下描述中,将其中车载装置经由车载lan彼此连接的车载系统作为示例进行描述,但是所公开的技术可以应用于工厂等中的装置控制网络系统或者传感器等被连接至云等的物联网(iot)系统中的各种装置。

信息处理装置10-1和信息处理装置10-2是车载装置,诸如传感器和车载电子控制单元(ecu)。

<硬件配置>

图2是示出根据实施方式的信息处理装置10的硬件配置的示例的图。图2中所示出的信息处理装置10包括经由总线b彼此连接的驱动装置100、辅助存储装置102、存储器装置103、cpu104、接口装置105、显示装置106和输入装置107。

用于实现信息处理装置10中的处理的信息处理程序由例如记录介质101提供。当记录有信息处理程序的记录介质101被设置在驱动装置100中时,信息处理程序经由驱动装置100从记录介质101被安装在辅助存储装置102中。信息处理程序不需要使用记录介质101来安装,而是可以经由网络从其他计算机下载。除了所安装的信息处理程序之外,辅助存储装置102存储需要的文件或数据等。

存储器装置103例如是随机存取存储器(ram),并且当已经发出程序开始指令时从辅助存储装置102读取程序并且存储程序。cpu104根据存储器装置103中存储的程序来实现与信息处理装置10相关联的功能。接口装置105用作用于连接至网络的接口。

记录介质101的示例包括便携式记录介质,诸如cd-rom、dvd盘和usb存储器。辅助存储装置102的示例包括硬盘驱动器(hdd)和闪速存储器。记录介质101和辅助存储装置102两者均对应于计算机可读记录介质。

<功能配置>

以下将参照图3描述根据实施方式的信息处理装置10的功能配置。图3是示出根据实施方式的信息处理装置10的功能框图的示例的图。信息处理装置10包括获取单元11、添加单元12、划分单元13、生成单元14、发送单元15、重传单元16、接收单元17、确认单元18、移除单元19和输出单元20。获取单元11、添加单元12、划分单元13、生成单元14、发送单元15、重传单元16、接收单元17、确认单元18、移除单元19以及输出单元20表示通过信息处理装置10中安装的一个或更多个程序使信息处理装置10的cpu104执行的处理来实现的功能。获取单元11、添加单元12、划分单元13、生成单元14、发送单元15和重传单元16是发送侧功能单元。接收单元17、确认单元18、移除单元19和输出单元20是接收侧功能单元。

获取单元11从应用获取要被发送的真实数据(发送数据)。添加单元12将伪数据添加至由获取单元11获取的真实数据。

划分单元13将其中已经通过添加单元12将伪数据添加至真实数据的数据划分成多个片段。例如,划分单元13划分数据使得每个片段的大小等于或小于可以使用一个tcp包发送的tcp数据的最大大小,即可以使用一个片段发送的数据的最大大小(最大片段大小(mss))。

生成单元14顺序地生成包括由划分单元13划分的片段的包。发送单元15从第一片段至最终片段顺序地发送由生成单元14生成的包。即,发送单元15发送包括真实数据的一个或更多个包(“第一包”),并且然后发送包括伪数据的一个或更多个包(“第二包”)。

当接收到对同一包的预定次数的确认时,重传单元16重传该包。例如,当使用tcp的快速重传功能从接收侧信息处理装置10三次接收到同一ack时,重传单元16重传由ack指示的tcp包。

接收单元17从其他信息处理装置10接收包。当接收单元17在没有接收到包括一个片段的包的情况下已经接收到包括比所述一个片段靠后的片段的包时,确认单元18返回对所述一个片段的确认。

移除单元19根据片段的顺序连接由接收单元17接收到的片段并且然后从连接的数据中移除伪数据。移除单元19可以从由接收单元17接收到的片段中移除伪数据,并且然后根据片段的顺序连接已经从其中移除伪数据的片段。输出单元20将已经由移除单元19从其中移除伪数据的数据输出至应用。

<处理>

下面将参照图4和图5a至图5c描述由根据实施方式的信息处理系统1执行的处理。图4是示出由根据实施方式的信息处理装置1执行的处理的示例的顺序图。图5a至图5c是示出添加伪数据的处理的示例的图。

在步骤s1中,信息处理装置10-1的获取单元11从应用获取包括真实数据和目的地的通信地址的发送请求。

随后,信息处理装置10-1的添加单元12将可以使用三个tcp包发送的伪数据添加至发送请求中包括的真实数据(步骤s2)。此处,伪数据可以是例如在信息处理装置10-1与信息处理装置10-2之间预先设置的预定数据。

例如,假设信息处理装置10-1和信息处理装置10-2经由以太网(注册商标)连接,以太网帧中的有效载荷是1500字节,有效载荷中的ip报头是20字节,并且有效载荷中的tcp报头是20字节。在这样的情况下,mss是1460字节(=1500字节-20字节-20字节)。因此,如图5a所示,添加单元12通过添加4380字节的伪数据来添加可以使用三个tcp包发送的伪数据。

如图5b所示,添加单元12可以从2920(=1460×2)减去在真实数据的字节数目除以mss的字节数目之后的余数,并且然后添加通过向其加1获得的字节数目的伪数据,使得最终tcp包中包括的tcp数据是1字节。在这样的情况下,例如,当真实数据是4480字节时,可以添加2821(=2920-(4480mod4380)+1)字节的伪数据。

如图5c所示,添加单元12执行添加使得包括伪数据的从最终包起的三个包的每个tcp包中包括的tcp数据是1字节。在这样的情况下,例如,可以安装tcp协议栈使得这样的伪数据被添加。

随后,信息处理装置10-1的划分单元13将其中已经将伪数据添加至真实数据的数据从头部起顺序地划分成具有等于或小于mss的大小的片段(步骤s3)。

随后,信息处理装置10-1的生成单元14顺序地生成包括所划分的片段的第一个至第n个tcp包(步骤s4)。此处,从最终包起的三个(第(n-2)个至第n个)tcp包包括伪数据。

随后,信息处理装置10-1的发送单元15以片段的顺序发送所生成的包(步骤s5)。此处,序列号被包括在每个tcp包的tcp报头中。tcp包的接收侧可以基于先前接收的tcp包中包括的序列号、tcp数据的字节数目以及当前接收的tcp包中包括的序列号来确定当前接收的tcp包是否已经以正确的顺序被接收到。

在以下描述中,假设信息处理装置10-2接收到第一个至第n个tcp包中的第一个至第(n-4)个tcp包,并且由于阻塞等导致第(n-3)个tcp包丢失。

当由接收单元17接收到第(n-4)个tcp包时,信息处理装置10-2的确认单元18返回第(n-4)个tcp包的确认(步骤s6)。具体地,信息处理装置10-2的确认单元18返回包括ack序号的ack,该ack序号是通过将第(n-4)个tcp包中包括的tcp数据的字节数目添加至第(n-4)个tcp包中包括的序列号而获得的。基于该ack,信息处理装置10-1可以确定预期第(n-3)个tcp包要由信息处理装置10-2在下次接收。

随后,当在尚未接收到第(n-3)个tcp包的情况下已经接收到第(n-2)个tcp包时,信息处理装置10-2的确认单元18返回第(n-4)个tcp包的确认(步骤s7)。即,再次返回与在步骤s6中发送的ack相同的ack。

随后,当在尚未接收到第(n-3)个tcp包的情况下已经接收到第(n-1)个tcp包时,信息处理装置10-2的确认单元18返回第(n-4)个tcp包的确认(步骤s8)。即,三次返回与在步骤s6中发送的ack相同的ack。

信息处理装置10-1的重传单元16已经三次接收到包括同一ack序号的ack,并且因此随后使用快速重传功能重传第(n-3)个tcp包(步骤s9)。

随后,信息处理装置10-2的移除单元19顺序地连接所接收的tcp包中包括的片段并且然后从数据中移除伪数据(步骤s10)。

随后,信息处理装置10-2的输出单元20将已经从其中移除伪数据的接收数据输出至信息处理装置10-2的应用(步骤s11)。因此,信息处理装置10-2的应用可以从信息处理装置10-1的应用接收发送数据。

当已经以正确的顺序接收到tcp包时,每当从信息处理装置10-1接收到tcp包时,信息处理装置10-2可以返回所接收的tcp包的ack。可替选地,信息处理装置10-2可以返回多个接收的tcp包中的一个ack。

<优点>

以下将参照图6描述根据实施方式的信息处理装置1的优点。图6是示出根据实施方式的信息处理系统1的优点的图。

在一次发送的包的数目被定义为w的情况下,当包丢失时,通过快速重传功能重传的概率p(w)和由于ack的rto的超时而引起的重传的概率q(w)可以通过下面的方程式来计算。

p(w)=max(1-3/w,0)…(1)

q(w)=min(1,3/w)…(2)

图6中的曲线601是表示不添加伪数据的现有技术中的w和p(w)之间的关系的线。在现有技术中,当w等于或小于3时,即使当发生包丢失时也不执行快速重传。

图6中的曲线602是表示当在上述实施方式中添加三个伪数据包时w和p(w)之间的关系的线。在该实施方式中,即使当发生包丢失时也不执行对仅包括伪数据的包的快速重传。

图6中的线603是表示当在上述实施方式中添加三个伪数据包时针对真实数据的w和p(w)之间的关系的线。如由图6中的线603所指示的,当添加三个伪数据包时,当发生包丢失时必然执行对包括真实数据的包的快速重传。在添加大于三个包的伪数据的情况下,当发生包丢失时执行对包括真实数据的包的快速重传。当添加一个伪数据包或两个伪数据包时,p(w)比现有技术中的p(w)高,并且因此可以在比ack的rto更短的时间内重传包。

<伪数据的修改示例>

在上述实施方式中,已经描述了其中与真实数据不相关的数据用作伪数据的示例。替代地,真实数据可以用作伪数据。

图7是示出其中真实数据用作伪数据的示例的图。如图7所示,例如,在真实数据已经被划分成片段并且被发送之后,包括从最终片段起的三个片段的tcp包被发送作为伪数据。因此,如图7所示,在真实数据已经被划分成第一至第k片段并且被发送之后,第(k-2)片段、第(k-1)片段和第k片段被重传。在这样的情况下,可以将指示伪数据的标志添加至被重传作为伪数据的从最终片段起的三个片段。

当包括从真实数据的最终片段起的三个片段的tcp包已经被正常接收时,接收侧确定所接收的tcp包中的从最终片段起的三个片段是伪数据并且移除(丢弃)伪数据。

当包括从真实数据的最终片段起的三个片段的tcp包中的一个或更多个丢失时,接收侧例如通过安装tcp的协议栈来执行以下处理。首先,确定包括由于包丢失而导致未被接收到的片段的tcp包是否已经被接收作为伪数据。当已经接收到这样的tcp包时,从伪数据获取该片段并且将其中所接收的片段被连接的数据发送至应用。当丢失的tcp包被重传时,tcp包被丢弃。因此,即使当发生包丢失时,也可以较快速地获取数据。

代替将包括从最终片段起的三个片段的tcp包发送作为伪数据,可以将包括任意片段的tcp包发送作为伪数据。在这样的情况下,可以将指示伪数据的标志和指示片段的序号的数据添加至被重传作为伪数据的每个片段。

<修改示例>

在上述实施方式中,使用了tcp,但是所公开的技术不限于tcp,并且可以使用用于当接收到预定次数的同一ack或否定确认(nack)时执行重传的协议。

<结论>

在现有技术中,作为用于在彼此连接的装置之间传输数据的标准的控制器区域网(can)是已知的。can被用于车辆、工厂等中的装置的控制信息的传输。can的有效载荷的最大值例如是8字节(64位)。

另一方面,在以太网(注册商标)中,有效载荷的最大值例如是1500字节,并且可以使用一个包发送的数据的大小相对较大。在连接至现有技术中的can的装置中,一次发送的数据的大小相对较小。因此,当装置连接至以太网时,从装置发送的数据可以使用相对较少数目的包来发送。因此,即使当包经受包丢失时,也不经常执行快速重传。

根据上述实施方式,发送侧信息处理装置发送包括真实数据的包并且然后发送包括伪数据的包。当包括真实数据的一个包的ack被接收到预定次数时,包被重传。因此,可以提高相对快速的重传的概率。

虽然上面已描述本发明的实施方式,但是本发明不限于这样的特定实施方式,并且可以在不脱离在所附权利要求书中描述的本发明的主旨的情况下以各种形式进行修改和改变。

信息处理装置10的功能单元可以例如通过包括一个或更多个计算机的云计算来实现。

添加和移除伪数据的功能可以被安装在用于诸如应用层的层中的通信的程序中。可替选地,这样的功能可以被安装在用于诸如传输层的层中的通信的程序(协议栈)中。在这样的情况下,程序可以被捆绑在操作系统(os)中并且被安装在信息处理装置10中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1