通信装置、通信方法、以及通信程序的制作方法

文档序号:10541135阅读:195来源:国知局
通信装置、通信方法、以及通信程序的制作方法
【专利摘要】本发明涉及通信装置、通信方法、以及通信程序。通信装置具备存储部、设定部、发送部。存储部是将数据发送到数据的目的地的次数与识别数据的标识符建立对应地存储。若向目的地发送的对象的数据即对象数据的发送次数达到阈值,则设定部将作为对象数据的代替而发送给目的地的代替数据设定为对象数据和要求保持对象数据的保持要求的组合。设定部在针对对象数据的保持要求发送后,将对象数据的标识符设定为代替数据。发送部将代替数据向目的地发送。
【专利说明】
通信装置、通信方法、以及通信程序
技术领域
[0001]本发明涉及在多个通信装置间进行的通信。
【背景技术】
[0002]近年来,寻求通信的高速化,为了使通信速度高速化而进行各种尝试。例如为了减少数据的发送量,对发送对象的数据进行重复除去。在重复除去中,接收侧的通信装置将过去从发送侧的通信装置接收到的数据与标识符建立对应地保存在缓存中,发送侧的通信装置也存储过去发送的数据的标识符。发送侧的通信装置使用数据的标识符来判定想发送的数据是否是已经发送过的数据,对于已经发送过的数据,代替数据而将与该数据建立对应的标识符发送给接收侧的通信装置。接收侧的通信装置从缓存读出与接收到的标识符建立对应的数据,并将读出的数据作为从发送侧的通信装置发送的数据进行处理。
[0003]提出一种在与重复的数据的处理相关地处理同一图像数据的情况下,打印机驱动器将表示该含义的信息附加于数据而转送给打印机,打印机对图像数据进行缓存的方法(例如,专利文献I)。
[0004]专利文献1:日本特开2002 — 91731号公报
[0005]在使用缓存除去发送数据中的重复的情况下,接收侧的通信装置具备的缓存的尺寸越大则越多的数据被储存于缓存,所以容易地防止重复的数据的发送。然而,由于接收侧的通信装置具备的缓存的容量是有限的,所以若接收侧的装置没有缓存的空闲容量,则从自最终访问的经过时间较长的数据起按顺序进行删除。因此,因接收侧中的数据的删除,有时不能够高效地进行重复除去。例如即使在发送对象的数据中多次包括数据A,也会存在之前发送的数据A和之后发送的数据A之间大量地发送不重复的数据的情况。此时,若在之后发送的数据A的发送前,接收侧的通信装置的缓存的空闲容量就变没,数据A被接收侧的通信装置删除,则发送侧的通信装置再次向接收侧的通信装置发送将数据A。

【发明内容】

[0006]本发明作为一个方面,目的在于包括高效地防止重复部分的数据的转送,并使通信高速化。
[0007]实施方式所涉及的通信装置具备存储部、设定部、发送部。存储部是将数据发送到上述数据的目的地的次数与识别上述数据的标识符建立对应地存储。若向上述目的地发送的对象的数据亦即对象数据的发送次数达到阈值,则作为上述对象数据的代替而将向上述目的地发送的代替数据设定为上述对象数据和要求保持上述对象数据的保持要求的组合。设定部在针对上述对象数据的保持要求发送后,将上述对象数据的标识符设定为上述代替数据。发送部将上述代替数据向上述目的地发送。
[0008]高效地防止包含重复部分的数据的转送,并使通信高速化。
【附图说明】
[0009]图1是说明实施方式所涉及的通信的例子的图。
[0010]图2是表示使用实施方式所涉及的通信装置的网络的例子。
[0011 ]图3是表示通信装置的构成的例子的图。
[0012]图4是表示通信装置的硬件构成的例子的图。
[0013]图5是说明重复检测部的处理的例子的图。
[0014]图6是表示发送数据表格的例子的图
[0015]图7是说明发送处理的例子的图。
[0016]图8是表示接收缓存中的数据的保存方法的例子和索引值的决定方法的例子的图。
[0017]图9是说明通信处理的例子的图。
[0018]图10是说明发送数据的通信装置的处理的例子的流程图。
[0019]图11是说明接收数据的通信装置的处理的例子的流程图。
[0020]图12是表示第二实施方式所涉及的通信装置的构成的例子的图。
[0021 ]图13是说明阈值的决定方法的例子的图。
[0022]图14是说明接收数据的通信装置的处理的例子的流程图。
【具体实施方式】
[0023]图1表示实施方式所涉及的通信的例子。以下,将发送侧的通信装置设为通信装置10a,将接收侧的通信装置设为通信装置10b。并且,将通信装置1b具备的接收缓存设为接收缓存32b。
[0024]通信装置1a在向通信装置1b发送数据时,生成能够唯一识别发送对象的数据的标识符。通信装置1a在将发送对象的数据发送给通信装置1b时,将向接收侧的通信装置发送过该数据的次数与标识符建立对应地存储。在图1的例子中,是通信装置1a与通信装置1b的通信刚开始,还未从通信装置1a进行数据的发送。通信装置1a预先存储阈值N,在相同的数据的发送次数小于N次的期间,附加禁止发送的数据向缓存的保持的信息,并向通信装置1b发送数据。以下,有时将禁止发送的数据向缓存的保持的信息记载为“禁止信息”。通信装置1b不将与禁止信息一起接收到的数据储存于接收缓存32b。
[0025]另一方面,若相同的数据的发送次数与阈值N—致,则通信装置1a附加要求发送的数据向缓存的保持的信息,并向通信装置1b发送数据。以下,有时将要求发送的数据向缓存的保持的信息记载为“保持要求”。通信装置1b将与保持要求一起接收到的数据与该数据的标识符建立对应地储存于接收缓存32b。
[0026]若相同的数据的发送次数超过阈值N,则通信装置1a将该数据的标识符通知给通信装置1b来代替发送的数据。通信装置1b从接收缓存32b读出与通知的标识符建立对应的数据,并将读出的数据作为从通信装置1a接收到的数据进行处理。
[0027]例如以通信装置1a和通信装置1b从时刻TO开始通信的情况为例进行说明。此处,阈值N被设定为2。通信装置1a在时刻TO的时间点为了将数据A发送给通信装置10b,而将数据A向通信装置1b的发送次数与阈值N相比较。在该时间点,数据A未被发送给通信装置10b,所以本次的发送是第一次。由于本次的发送中的发送次数未达到阈值N,所以通信装置1a如图1的箭头α所示将有关数据A的禁止信息与数据A—起向通信装置1b发送。于是,通信装置1b即使接收数据A,也不将数据A储存于接收缓存32b。因此,如接收缓存32b—O所示,数据不被储存在接收缓存32b中。之后,通信装置1a针对数据B、数据C、数据D、数据E,与数据A同样地和禁止信息一起发送给通信装置10b。因此,通信装置1b直至数据E的接收为止,将从通信装置1a接收到的任何数据都不储存于接收缓存32b。
[0028]接下来,通信装置1a进行用于再次将数据A向通信装置1b发送的处理。数据A从通信装置1a向通信装置1b的发送次数在本次的发送变为2次。由于发送次数变为与阈值N相同的值,所以通信装置1a如图1的箭头β所示,将有关数据A的保持要求与数据A—起向通信装置1b发送。通信装置1b若接收到数据A则将其储存于接收缓存32b。因此,通过在时刻Tl进行的发送处理,通信装置1b保持接收缓存32b—I。
[0029]之后,由于通信装置1a初次发送数据F,所以将数据F与禁止信息一起向通信装置10b。于是,由于通信装置1b不储存数据F,所以保持在接收缓存32b中的数据未被变更。
[0030]在时刻T2,通信装置1a进行向通信装置1b的数据B的第二次的发送处理。此时,由于数据B的发送次数变为与阈值N相同的值,所以通信装置1a如图1的箭头明f示,将数据B和数据B的保持要求向通信装置1b发送。由于通信装置1b将数据B储存于接收缓存32b,所以通过在时刻T2进行的发送处理,通信装置1b将接收缓存32b—I更新为接收缓存32b—2。
[0031]之后,通信装置1a将数据G、数据H与禁止信息一起发送给通信装置10b。由于通信装置1b不储存数据G、数据H,所以保持在接收缓存32b—2中的数据未被变更。
[0032]在时刻T3,通信装置1a要第三次发送数据A。此时,由于数据A的发送次数超过阈值N,所以通信装置1a判定为数据A已经被储存在通信装置1b中。因此,通信装置1a如箭头γ所示将数据A的标识符向通信装置1b发送。通信装置1b若接收到数据A的标识符,则将接收到的标识符作为关键字而检索接收缓存32b—2,来获取数据Α。通信装置1b将获取到的数据A作为来自通信装置1a的发送数据进行处理。
[0033]在时刻T4,通信装置1a进行数据B的第三次的发送处理。此时也与时刻T3中的数据A的发送处理同样地,发送次数高于阈值N,所以通信装置1a将数据B的标识符发送给通信装置10b。通信装置1b将数据B的标识符作为关键字而检索接收缓存32b—2,来获取数据B。通信装置1b将获取到的数据B作为来自通信装置1a的发送数据进行处理。
[0034]这样,在实施方式所涉及的方法中,发送阈值以上的次数的数据被储存于接收侧的通信装置10所具备的接收缓存32,但发送次数小于阈值的数据未被储存于接收侧的通信装置10。因此,即使在发送阈值以上的次数的数据彼此之间,在包含了接收缓存32的容量以上的只有小于阈值的次数才被发送的数据的情况下,接收侧的通信装置10也能够将重复发送来的数据存储于接收缓存32。在图1的例子中,在从时刻Tl的数据A的发送到时刻T3的数据A的发送为止的期间,与接收缓存32b的容量相应量的数据A以外的数据从通信装置1a发送至通信装置10b。然而,关于时刻Tl?T3所发送的数据,数据B以外的数据仅被发送了阈值以下的次数,所以未成为向接收缓存32b的储存对象。因此,不会产生接收缓存32b中的容量不足,在时刻T3再送数据A时,也将数据A保持于接收缓存32b。因此,能够高效地进行重复除去。
[0035]换言之,在实施方式所涉及的发送侧的通信装置10中,通过将数据的发送次数作为重复的产生频率的指标来使用,从而使接收侧的通信装置10有选择地存储重复接收的可能性比较高的数据。因此,通信装置10能够高效地防止包括重复部分的数据的转送。
[0036]<网络的例子和装置构成>
[0037]图2表示使用实施方式所涉及的通信装置10的网络的例子。图2表示区域4a中的装置与区域4b中的装置通过Wide Area Network(WAN)5进行通信的情况下的网络的例子。区域4a、4b中包含任意数量的进行通信的任意种类的装置。在图2的例子中示出区域4a中包括服务器Ia?lc、平板2a、手机3a,区域4b中包括服务器Id?If、平板2b、手机3b的情况。区域4a中所包括的装置经由通信装置I Oa访问WAN5,区域4b中所包括的装置经由通信装置1b访问WAN5。此处,通信装置1a以及通信装置1b能够作为WAN高速化装置进行动作。在图2的例子中,区域4a中所包含的装置经由通信装置1a和通信装置1b向区域4b中所包含的装置发送数据。
[0038]图3表示通信装置10的构成的例子。通信装置10具备发送部11、接收部12、收发部
13、连接管理部14、缓存管理部15/数据处理部16/重复检测部20和存储部30。重复检测部20具有分割部21、标识符生成部22以及设定部23。存储部30具有发送数据表格31和接收缓存32ο
[0039]发送部11使用于通信装置10向WAN5所包含的装置、其它的通信装置10发送数据包时。发送部11将从设定部23等输入的数据包向目的地发送。接收部12从WAN5所包含的装置、其它的通信装置10接收数据包。接收部12将接收到的数据包输出给缓存管理部15。收发部13使用于在不经由WAN5与通信装置10进行通信的装置之间,通信装置10收发数据包时。此处,不经由WAN5与通信装置10进行通信的装置是能够与通信装置10进行通信的区域4中所包含的服务器I等装置。收发部13将从区域4中所包含的装置接收到的数据包输出给数据处理部16。
[0040]连接管理部14对与通信装置10彼此的连接、通信装置10与能够进行通信的区域4中所包含的装置之间的连接状态有关的信息进行保持。缓存管理部15在接收到的数据包包含保持要求的情况下,将与保持要求一起获取的数据储存于接收缓存32,并且,将接收数据包中的数据输出给数据处理部16。另一方面,在接收数据包包含禁止信息的情况下,缓存管理部15将与禁止信息一起获取的数据输出给数据处理部16,但不将与禁止信息一起获取的数据储存于接收缓存32。在从接收部12输入的数据包中的数据是表示特定的数据的标识符的情况下,缓存管理部15从接收缓存32读出与标识符建立对应的数据,并将读出的数据输出给数据处理部16。此外,在接收数据包是通知数据的接收侧的通信装置10中所保持的接收缓存32的信息的控制数据包的情况下,缓存管理部15将输入的控制数据包输出给设定部23ο
[0041]数据处理部16将从缓存管理部15获取的数据作为从发送源的通信装置10发送来的数据进行处理。在从缓存管理部15获取的数据是目的地为通信装置10自身的数据的情况下,数据处理部16使用应用等来处理输入的数据。另一方面,在从缓存管理部15输入的数据是目的地为能够与通信装置10进行通信的区域4中所包含装置的数据的情况下,数据处理部16进行用于向目的地的装置转送数据的处理。
[0042]重复检测部20在将数据发送给其它的通信装置10的通信装置10中进行动作。分割部21通过将作为发送对象的文件等分割为预先决定的数据长来生成能够包含在各个发送数据包中的大小的数据。以下,将能够包含在各个发送数据包中的大小的数据记载为“数据±夬”。数据块是是否产生数据的重复的判定、确定发送次数时的作为对象的数据的块。分割部21将生成的数据块输出给标识符生成部22。标识符生成部22生成用于唯一地识别各数据块的标识符。标识符的生成方法是任意的,例如能够将哈希函数使用于标识符的生成。标识符生成部22将生成的标识符输出给设定部23。
[0043]设定部23将输入的标识符作为关键字来检索发送数据表格31。发送数据表格31的例子在后面表示,但发送数据表格31使将数据块发送到接收侧的通信装置10的次数与识别该数据块的标识符建立对应。发送数据表格31在发送数据表格31中未包含作为关键字来使用的标识符的情况下,将处理对象的标识符与发送次数=I这个信息建立对应地记录于发送数据表格31。另一方面,在从发送数据表格31得到与标识符建立对应的发送次数的情况下,设定部23在得到的次数加上I,并与阈值N相比较。此处,阈值N表示包括具有保持要求的数据包的发送、且向接收侧的通信装置10发送处理对象的数据块的次数。在发送次数小于阈值N的期间,设定部23使数据块和针对该数据块的禁止信息包含在发送数据包中。另一方面,若发送次数与阈值N—致,则设定部23在处理对象的数据块中包含保持要求来生成发送数据包。若发送次数超过阈值N,则设定部23使标识符包含在发送数据包中并向接收侧的通信装置10发送。此外,接收侧的通信装置10在使用表示保持各个数据块的区域的索引值向发送侧的通信装置10通知接收侧的接收缓存32的状况时,设定部23可以将索引值作为标识符来使用。使用了索引值的通信的例子如后述。
[0044]图4表示通信装置10的硬件构成的例子。通信装置10具备处理器101、存储器102、总线105、外部存储装置106、和网络连接装置109。作为选项,通信装置10还可以具备输入装置103、输出装置104、介质驱动装置107。通信装置10有时例如通过计算机等来实现。
[0045]处理器101能够为包括Central Processing Unit(CPU)的任意的处理电路。处理器101作为连接管理部14、缓存管理部15、数据处理部16、以及重复检测部20进行动作。此夕卜,处理器101例如能够执行存储在外部存储装置106中的程序。存储器102作为存储部30进行动作,除了存储发送数据表格31之外,还实现接收缓存32。并且,存储器102也适当地存储通过处理器101的动作所得到的数据、使用于处理器101的处理的数据。网络连接装置109使用于与其它的装置的通信,并作为发送部11、接收部12、收发部13进行动作。
[0046]输入装置103例如被实现为按钮、键盘、鼠标,输出装置104被实现为显示器等。总线105将处理器101、存储器102、输入装置103、输出装置104、外部存储装置106、介质驱动装置107、网络连接装置109之间连接成能够相互进行数据的交接。外部存储装置106储存程序、数据等,并适当地将储存的信息提供给处理器101等。介质驱动装置107能够将存储器102、外部存储装置106的数据输出给可移动存储介质108,另外能够从可移动存储介质108读出程序、数据等。此处,可移动存储介质108能够为包括软盘、光盘(MO)、可读写光盘(CD —R)、可读写数字多功能光盘(DVD—R)的可携带的任意的存储介质。
[0047]<第一实施方式>
[0048]以下,以在图2所示的网络中,从区域4a中的装置向区域4b中的装置发送数据的情况为例,对在通信装置1a和通信装置1b进行的处理的例子进行说明。以下,为了容易理解,以通过区域4a中的装置与区域4b中的装置之间的通信的开始而开始通信装置1a与通信装置1b的通信的情况为例进行说明。在以下的例子中,也以阈值是2的情况为例,但阈值N的值可以根据安装而设定为任意的值。
[0049]另外,在以下的说明中,为了容易明白是哪个装置进行的动作,在符号的后面附加该通信装置10的符号的末尾的字母。例如设定部23a是通信装置1a所具备的设定部23,接收缓存32b是通信装置1b所具备的接收缓存32。
[0050](I)通信装置1a从区域4a中所包含的装置经由收发部13a来接收数据。收发部13a将接收到的数据包输出给数据处理部16a。数据处理部16a从输入的数据包获取接收数据和发送源、目的地的信息等,作为发往通信装置1b的数据。数据处理部16a将发往通信装置I Ob的数据输出给分割部21 a。
[0051]图5是说明重复检测部20a中的处理的例子的图。分割部21a将输入的数据分割为预先决定的数据长的数据块。在图5的例子中,分割部21a将输入的数据分割成X个数据块。分割部21a将各个数据块输出给标识符生成部22a。此外,如果输入到分割部21a的数据的大小为作为数据块而被允许的数据的大小以下,则分割部21a不分割数据而输出给标识符生成部22a。
[0052]在图5的例子中,标识符生成部22a使用预先保持的哈希函数,从数据块生成哈希值,并将得到的哈希值作为各个数据块的标识符。此外,标识符生成部22a所使用的哈希函数是能够唯一地识别各个数据块这样的可生成哈希值的任意的函数。例如Secure HashAlgori thm-1 (SHAI)等哈希函数有时被标识符生成部2 2a使用。
[0053](2)标识符生成部22a将各个数据块和哈希值建立对应地输出给设定部23a。设定部23a使用哈希值来进行发送数据表格31a的检索、发送数据表格31a的更新处理。
[0054]图6表示发送数据表格31的例子。图6所示的发送数据表格31将哈希值、发送次数、索引(index)建立对应。哈希值是由标识符生成部22a生成的值。设定部23a针对通过哈希值所识别的数据块的各个,记录发送到通信装置1b的次数。索引是使用于在接收侧的通信装置1b保持的接收缓存32b中,通过哈希值所确定的数据块被保持的区域的确定的值。设定部23a使用附加保持要求并发送的数据块的大小来计算索引,并将得到的值记录于发送数据表格31a。
[0055]图7的Cl表示数据A即数据块作为Hashl而被输入到设定部23a的情况下进行的发送处理的例子。此外,图7的情况下,为了使图简单化,示出在数据A是作为数据块而被允许的大小以下的数据的情况下的例子。假设从标识符生成部22a向设定部23a输入Hashl这个哈希值、和数据A。由于至今未从通信装置1a向通信装置1b进行数据的发送,所以设定部23a在发送数据表格31a生成Hashl的数据块的项,并将Hashl的数据块的发送次数设定为I。在新生成项的时间点,设定部23a将索引的值设为未定。因此,对于Hashl,图6的发送数据表格31a—I的第一个项所示的数据被记录于发送数据表格31a。
[0056]设定部23a进行发送数据表格31a中的项的更新处理后,对Hashl的数据块的发送次数和阈值N进行比较。此处,由于Hashl的发送次数为1,所以发送次数小于阈值N。因此,设定部23a生成发往将Hashl的数据块(数据A)、禁止信息、数据A的最终目的地等信息作为有效载荷的通信装置1a的数据包Pl。
[0057]此处,禁止信息如果是能够向通信装置1b中的缓存管理部15b通知未将有效载荷中的数据储存于接收缓存32b的信息,则能够采用任意的形式。在以下的说明中,以将数据包中的报头的之后的2位作为标志来使用的情况为例进行说明,该标志使用于为了缓存管理部15b判定是否将有效载荷中的数据储存于接收缓存32b。以下,在禁止信息中,报头之后的2位的值是00,在保持要求中,报头之后的2位的值是01。设定部23a将生成的数据包Pl输出给发送部11a。发送部Ila如图7的Cl所示将数据包Pl向通信装置1b发送。
[0058](3)若通信装置1b的接收部12b接收到从通信装置1a发送的数据包P1,则将数据包Pl输出给缓存管理部15b。由于数据包中的报头之后的2位的值是00,所以缓存管理部15b判定为获得到附加了禁止信息的数据。因此,缓存管理部15b从数据包Pl提取数据A和最终的目的地的信息等,并输出给数据处理部16b。此时,如图7的Cl所示,缓存管理部15b不将提取出的数据A储存于接收缓存32b。数据处理部16b基于从缓存管理部15b获取的信息来生成用于将数据A发送给区域4b中的装置的数据包。数据处理部16b经由收发部13b将生成的数据包发送给目的地的装置。
[0059](4)之后,也继续从区域4a中的装置向区域4b中的装置发送数据,发送对象的数据块进行同样的处理。伴随着发送处理也进行发送数据表格31a的更新。因此,例如若从通信装置1a向通信装置1b各发送一次Hashl?Hash6的数据块,则发送数据表格31a如图6所示的发送数据表格31a—I所示。
[0060](5)如图7的C2所示,向通信装置1a再次发送数据A。因此,通信装置1a的分割部21a如步骤(I)所述那样将数据A输出给标识符生成部22a。标识符生成部22a使用存储的哈希函数来计算针对数据A的哈希值(Hashl)。标识符生成部22a将数据A与Hashl这个哈希值一起输出给设定部23a。
[0061 ] (6)设定部23a将从标识符生成部22a输入的Hashl这个哈希值作为关键字来检索发送数据表格31a—I(图6)。因此,第一个项的信息命中。因此,设定部23a将使发送次数自加I所得的值与阈值N相比较。此处,发送数据表格31a—I中的与Hashl建立对应的发送次数的值是I,通过本次的处理,设定部23a将通过Hashl所识别的数据块向通信装置1b发送变为第二次。由于阈值N是2,所以设定部23a判定为使发送次数自加I所得的值和阈值N—致。因此,设定部23a对通信装置1b要求将通过Hashl所识别的数据块保持于接收缓存32b。
[0062]设定部23a将至此对通信装置1b发出保持要求的数据的大小的合计值在通信装置1b的接收缓存32b中设定为保持Hashl的数据的区域的索引值。此处,设定部23a不存在附加保持要求而发送到通信装置1b的数据。因此,设定部23a将Hashl的索引设定为O。因此,通过第二次通信装置1a接收到的数据A的处理,发送数据表格31a中的针对Hashl的项中的信息如发送数据表格31a—2的第一个项所示那样被更新。此时,设定部23a将在发出保持要求的数据的索引加上发出保持要求的数据的数据长所得的值作为针对接下来附加保持要求来发送的数据的索引进行存储。例如在Hashl的数据的大小为1000字节的情况下,设定部23a存储接下来对通信装置1b要求保持的数据的索引值为1000。
[0063]并且,设定部23a为了对通信装置1b要求将通过Hashl所识别的数据块保持为接收缓存32b,而生成包括数据A和保持要求的数据包P2。设定部23a将生成的数据包P2输出给发送部11a。发送部Ila如图7的C2所示将数据包P2向通信装置1b发送。
[0064](7)通信装置1b的缓存管理部15b与步骤(3)同样地经由接收部12b获取数据包P2。由于数据包中的报头之后的2位的值为01,所以缓存管理部15b判定为获取到附加了保持要求的数据。因此,缓存管理部15b从数据包P2提取数据A和最终的目的地的信息等,并输出给数据处理部16b。并且,如图7的C2所示,缓存管理部15b将提取出的数据A储存于接收缓存32b。数据处理部16b基于从缓存管理部15b获取的信息与步骤(3)同样地进行处理。
[0065](8)之后,假设通信装置1a从区域4a中的装置第二次接收到数据B。此处,数据B的哈希值是Hash2。若第二次接收到数据B,则通信装置1a使用与步骤(5)、(6)同样的处理将有关数据B的保持要求和数据B向通信装置1b发送。即,若将Hash2的数据第二次作为发送对象来获取,则设定部23a在Hash2的数据附加保持要求并发送给通信装置10b。此时,设定部23a将Hash2的索引值按照步骤(6)中的计算而设定为1000。因此,有关Hash2的发送数据表格31a的信息如图6的发送数据表格31a—2的第二个项所示那样被更新。此处,若Hash2的数据的数据长为1200字节,则设定部23a将接下来发出保持要求的有关数据的索引值设定为2200。
[0066](9)接收到包含Hash2的数据块的数据包的通信装置1b进行与步骤(7)同样的处理。因此,Hash2的数据块被转送至Hash2的数据块的最终的目的地,并且被储存于接收缓存32b。图8表示接收缓存3 2中的数据的保存方法的例子和索引值的决定方法的例子。图8的左侧的表格是缓存管理部15b为了管理数据向接收缓存32b的储存状况而保持的信息的例子。右侧的图表示接收缓存32b中的数据的储存例子。缓存管理部15b针对储存在接收缓存32b中的各个数据块,存储哈希值、容量(数据长)、用于确定储存有该数据块的区域的前端的位置的索引值。
[0067]通过步骤(7)所述的处理,由于通过Hashl所识别的数据A被保持在从索引O开始的1000字节量的区域中,所以缓存管理部15b在从索引1000开始的区域中储存通过Hash2所识别的数据块。此处,若通过Hash2所识别的数据块是数据B,则Hash2的数据块如图8的右侧所示,被储存于接收缓存32b中储存数据A的区域的后续区域中。另外,缓存管理部15b如图8的左侧的表格的第二个项所示那样存储Hash2的数据块的储存状况。
[0068](10)之后也继续从区域4a中的装置向区域4b中的装置发送数据,Hash3?Hash5的数据块也进行与阈值N数目相同的发送。因此,通信装置1a针对Hash3?Hash5的数据块的各个,通过进行步骤(5)、(6)、(8)等所述的处理,而对通信装置1b要求储存于接收缓存32b。此外,在Hash3?Hash5的数据块的发送的空闲期间,进行发送次数未达到阈值N的其它的数据块(Hash7,Hash8)的发送的情况下,通信装置1a进行与步骤(3)同样的处理。因此,在完成Hash3?Hash5的数据块的第二次的发送、和Hash6?Hash8的数据块的第一次的发送的阶段中,通信装置1a保持的发送数据表格31a变为如发送数据表格31a—2(图6)所示那样。
[0069](11)另一方面,在通信装置1b中,若接收到包含Hash3?Hash5的数据块的数据包,则如步骤(9)所述那样,将接收到的数据包所包含的数据块储存于接收缓存32b。并且,针对Hash3?Hash5的数据块的各个,将哈希值和索引建立对应。因此,通过Hash3?Hash5的数据块的处理,在接收缓存32b中储存图8的右侧所示数据,缓存管理部15b保持如图8的左侧所示那样的信息。
[0070](12)如图7的C3所示,假设还从区域4a中的装置向通信装置1a发送数据A。因此,通信装置1a的分割部21a如步骤(I)所述那样将数据A输出给标识符生成部22a。标识符生成部22a使用存储的哈希函数来计算针对数据A的哈希值(Hashl )。标识符生成部22a将数据A与Hashl这个哈希值一起输出给设定部23a。
[0071](13)设定部23a将从标识符生成部22a输入的哈希值Hashl作为关键字来检索发送数据表格31a—2(图6)。于是,确定从第一个项已经2次发送Hashl的数据块。因此,设定部23a将使发送次数自加I所得值与阈值N相比较。此处,对于将通过Hashl所识别的数据块向通信装置1b发送变为第三次,由于阈值N为2,所以设定部23a针对Hashl的数据块判定为发送次数超过阈值N。因此,设定部23a生成包含识别该数据块的值的数据包来代替通信装置1b中通过Hashl所识别的数据块。此处,使用于数据块的识别的值是在通信装置1b中能够唯一地识别数据块的任意的信息。例如索引值和数据块的数据长可以作为数据块的标识符而包含在数据包中。该情况下,设定部23a向发送部Ila输出将作为与Hashl建立对应的索引的0、和数据长是1000字节作为数据而包含的数据包P3。此时,设定部23a将表示发送的数据是用于识别数据块的信息这一意思的信息包含在数据包P3中。在以下的说明中,作为表示发送的数据是用于识别数据块的信息这一意思的信息,设定部23a将数据包中的报头之后的2位的值设定为11。如图7的C3所示,发送部Ila将数据包P3向通信装置1b发送。此外,设定部23a更新有关发送数据表格31a的Hashl的数据块的发送次数。
[0072](14)通信装置1b的缓存管理部15b与步骤(3)同样地经由接收部12b获取数据包P3。由于数据包中的报头之后的2位的值是11,所以缓存管理部15b判定为通知了接收缓存32b中与储存完毕的数据块建立对应的索引值和数据长。因此,缓存管理部15b从数据包P3提取索引值、数据长。缓存管理部15b从提取出的索引值所表示的接收缓存32b的区域获取提取出的数据长的信息作为从通信装置1a接收到的数据。缓存管理部15b将获取到的数据输出给数据处理部16b。数据处理部16b基于从缓存管理部15b获取的信息与步骤(3)同样地进行处理。
[0073]图9是说明通信处理的顺序的例子的图。通过进行步骤(I)?(14)所说明的处理,在从区域4a中的装置向区域4b中的装置发送数据时,在通信装置1a与通信装置1b之间高效地进行重复排除处理。即,若通信装置1a接收到从区域4a中的装置向区域4b中的装置的发送数据,则适当地将接收到的数据分割为数据块,进行有关各个数据块的发送次数的判定。此时,通信装置1a中的设定部23a使用发送数据表格31a的数据来判定发送的次数和阈值的关系。对于发送次数为N次以下的数据块,如图9中的箭头A所示,通信装置1a将包括实际数据的数据包向通信装置1b发送。此时,在发送次数小于N次的期间,设定部23a通过事先在向通信装置1b发送的数据包中包含禁止信息,从而抑制通信装置1b中的数据的储存。另外,若发送次数变为N次,则通过包含保持要求,设定部23a使通信装置1b保持发送的数据块。若发送次数变为N+1次以上,则如图9中的箭头B所示,设定部23a代替实际数据而将包含能够唯一地识别数据块的标识符(ID数据)的数据包向通信装置1b发送。即,设定部23a根据相同的数据的发送次数与阈值N的比较结果来生成作为发送对象的数据的代替而发送的代替的数据,并将生成的代替数据作为向接收侧的通信装置10发送的数据。并且,在通信装置1a中,如箭头C所示,将数据的发送状况保存于发送数据表格31a。
[0074]在接收到包含禁止信息的数据包的情况下,通信装置1b如图9的箭头D所示,将数据块的实际数据使用于转送处理,但不在接收缓存32b中储存接收到的数据。在接收到包含保持要求的数据包的情况下,通信装置1b如图9的箭头E所示,将数据块的实际数据使用于转送处理,还将实际数据储存于接收缓存32b。在接收到包含数据块的标识符来代替实际数据的数据包的情况下,通信装置1b中的缓存管理部15b如图9的箭头F所示,通过从接收缓存32b读出通过标识符所识别的数据块的实际数据来恢复数据。通信装置1b将被恢复的数据使用于转送处理。此外,使用于数据块的识别的标识符如参照图6?图8所说明那样能够为索引值和数据块的数据长,也可以使用其它的信息。例如数据块的哈希值可以用作标识符。
[0075]图10是说明发送数据的通信装置10中的处理的例子的流程图。此外,图10是一个例子,例如可以加入步骤S5和S7的判断的顺序彼此变更等的变更。发送侧的通信装置10的收发部13获取发送数据(步骤SI)。若从收发部13输入数据,则分割部21将数据分割为规定的长度以下的数据块(步骤S2)。标识符生成部22针对通过分割部21所生成的各数据块,使用哈希函数来计算哈希值(步骤S3)。标识符生成部22将哈希值和数据块的数据输出给设定部23。设定部23针对输入的数据块,使用发送数据表格31来确定本次的发送是向相同的通信装置10的第几次的发送(步骤S4)。设定部23判定进行了本次的发送时的发送次数是否小于阈值(步骤S5)。在进行了本次的发送时的发送次数小于阈值的情况下,设定部23将实际数据和禁止信息向接收侧的通信装置10发送(步骤S5中小于阈值,步骤S6)。在进行了本次的发送时的发送次数不小于阈值的情况下,设定部23判定进行了本次的发送时的发送次数是否超过阈值(步骤S5:否,步骤S7)。在发送次数与阈值一致的情况下,设定部23将实际数据和保持要求向接收侧的通信装置10发送(步骤S7中与阈值一致,步骤S8)。在发送次数超过阈值的情况下,设定部23不包含实际数据而仅将数据块的标识符向接收侧的通信装置10发送(步骤S7中比阈值大,步骤S9)。
[0076]图11是对接收数据的通信装置10中的处理的例子进行说明的流程图。图11是一个例子,例如在步骤S23中,代替判定是否包含禁止信息,而可以变形为判定是否包含保持要求。若接收部12从发送侧的通信装置10接收到数据包,则将数据输出给缓存管理部15(步骤S21)。缓存管理部15通过确定数据包中的预先决定的区域的值来判定数据包中是否包含实际数据(步骤S22)。在数据包中包含实际数据的情况下,缓存管理部15判定数据包中是否包含禁止信息(步骤S22:是,步骤S23)。在数据包中不包含禁止信息的情况下,缓存管理部15将实际数据写入接收缓存32后,进行实际数据的转送处理(步骤S23:否,步骤S24、S25)。一方面,在数据包中包含禁止信息的情况下,缓存管理部15不将实际数据写入接收缓存32,而进行实际数据的转送处理(步骤S23:是,步骤S25)。另一方面,在接收到的数据包不包含实际数据的情况下,缓存管理部15从接收数据包获取数据的标识符(步骤S22:否,步骤S26)。缓存管理部15从接收缓存32读入与获取的标识符建立对应的数据(步骤S27)。缓存管理部15将读入的数据输出给数据处理部16。数据处理部16进行从缓存管理部15输入的数据的转送处理(步骤S28)。
[0077]这样,在实施方式所涉及的方法中,在发送次数小于阈值的期间,发送数据未被储存在接收侧的通信装置10。因此,即使在包含阈值以上的次数、发送的数据彼此之间只发送小于阈值的次数的数据的情况下,接收侧的通信装置10能够将发送阈值以上的次数的可能性较高的数据有选择地存储于接收缓存32。因此,在使用了通信装置10的系统中,高效地防止包含重复部分的数据的转送。
[0078]作为网络中收发的业务的趋势,报告重复收发的次数较多的数据有集中为一部分白勺数据的趋势。(例如,A.Anand,et al.,“Redundancy in Network Traffic:Findings andImplicat1ns,” in SIGMETRICS/Performance 2009, Seattle ,WA USA)。例如在使用能够全部存储一次发送的数据的接收缓存来进行重复排除的情况下,将作为发送对象的数据的量与不进行重复排除的情况下相比能够减少A%。对于相同的数据,也报告仅将按重复次数从多到少的顺序排列数据块时的上位20%重复的数据块作为重复排除的对象的情况下能够减少的量大体也是0.8XA%左右。即,即使将使用于重复除去的数据数减少为五分之一,重复除去的性能的降低也只不过20%左右。因此,如第一实施方式所示,通过最初的数次将附加了禁止信息的实际数据发送给接收侧的通信装置10,即使妨碍向接收缓存32的储存,但也可以说对于收发的数据量的减少几乎没有带来影响。
[0079]并且,在实施方式所涉及的方法中,储存于接收缓存32的数据是向接收侧的通信装置10至少发送与阈值相同的次数的数据块。因此,与将全部的接收数据储存于接收缓存的情况相比,能够减小通信装置10中的接收缓存32的容量。
[0080]此外,在以上的说明中,为了容易明白,以通信装置1a为发送侧,通信装置1b为接收侧的情况为例进行了说明,但任意的通信装置10也都能够作为发送侧和接收侧的两方的装置进行动作。并且,通信装置10能够向多个通信装置10进行数据的发送,另外,也能够从多个通信装置10接收数据。因此,在多个通信装置10之间进行通信的情况下,缓存管理部15分为发送侧的通信装置10和接收侧的通信装置10的每个组合来管理接收缓存32的信息。因此,缓存管理部15能够分别管理里从通信装置1a发送到通信装置1b的索引O中所储存的数据、和从通信装置1c发送到通信装置1b的索引O中所储存的数据。同样地,设定部23也按照每个目的地的通信装置10,保持其它的发送数据表格31,使用与接收侧的通信装置10相匹配的发送数据表格31来设定包含在发送数据包中的信息。
[0081 ] <第二实施方式>
[0082]在第二实施方式中,对通信装置50根据通信量速率来变更阈值N的情况下的例子进行说明。以下,有时将在网络上每个单位时间流动的数据量记载为“通信量速率”。另外,在以下的说明中,将在特定的路径上I秒流动的数据量用bps(Bits Per Second)表示。
[0083]图12是表示第二实施方式所涉及的通信装置50的构成的例子的图。通信装置50具备阈值设定部40,还具备发送部11、接收部12、收发部13、连接管理部14、缓存管理部15、数据处理部16、重复检测部20、存储部30。发送部11、接收部12、收发部13、连接管理部14、缓存管理部15、数据处理部16、重复检测部20、存储部30与第一实施方式同样地进行动作。
[0084]阈值设定部40具有阈值决定部41和通信量速率计算部42。通信量速率计算部42从连接管理部14获取通信装置50自身作为接收侧进行通信的通信装置50的数量、和这些通信装置50的标识符。阈值决定部41针对发送侧的通信装置50的各个,计算从该装置接收的数据的通信量速率。通信量速率计算部42将得到的结果输出给阈值决定部41。
[0085]阈值决定部41求出接收缓存32的空闲容量,并按照每个发送源的装置,计算附加保持要求来发送数据时的发送次数(阈值N)。此时,阈值决定部41以接收数据的通信量速率越低,发送侧的装置所使用的阈值N越小的方式决定阈值N。因此,通信量速率越低,反复收发相同的数据的次数越小,能够有效活用通信路径。另一方面,在通信量速率较高的情况下,由于比较大地设定阈值N,所以存在反复收发相同的数据的情况,但能够将接收侧的通信装置50中储存于接收缓存32的数据限定为发送次数比较大的数据。
[0086]图13是对阈值的决定方法的例子进行说明的图。在图13中,以通信装置50a从通信装置50b?50e接收数据,通信装置50a计算通信装置50b?50e的各个中所使用的阈值N的情况为例进行说明。此外,在图13中,为了容易观察通信装置50a?50e的各个是否计算了作为发送侧和接收侧的任意一个进行动作时的阈值,而为了便于说明,将通信装置50a表记为接收装置,将通信装置50b?50e表记为发送装置。
[0087]通信装置50a中的连接管理部14a与通信装置50b?50e之间将通信装置50a作为接收侧进行通信通知给通信量速率计算部42a。通信量速率计算部42a计算从通信装置50b?50e的各个接收的数据的通信量速率。例如通信量速率计算部42a通过对按照发送源的装置在规定的时间中接收到的数据包的数量进行计数,能够计算通信量速率。另外,通信量速率计算部42a能够按照发送源的装置,根据直至接收到规定的数据的量为止所花费的时间来计算通信量速率。在图13的例子中,通信量速率计算部42a计算为通信装置50a与通信装置50b之间以50Mbps、与通信装置50c之间以20Mbps、与通信装置50d以及50e之间以15Mbps进行通信。通信量速率计算部42a将对各通信装置50所得的通信量速率的值输出给阈值决定部41a。
[0088]阈值决定部41a计算接收缓存32a的空闲容量。阈值决定部41a通过以与通信量速率的比例成正比例的方式决定阈值N,能够以通信量速率较低的通信优先地使用接收缓存32a。即,使用以下的式子来决定阈值N。
[0089]N=MXRXC...(I)
[0090]此处,M为接收缓存32a的空闲容量,C为常量。R是通信装置50a接收到的数据的通信量速率的合计值中与作为计算阈值N的对象的通信装置50之间的通信量速率所占的比例。乘数C被设定为阈值N落入I?2 O左右的预先决定的值的范围。阈值决定部41 a对向通信装置50a发送来数据的全部通信装置50b?50e使用相同的常量C来计算阈值N。此外,在计算所得到的阈值N不是整数的情况下,阈值决定部41a将比得到的计算值小的整数的最大值设定为阈值N。此外,在比得到的计算值小的整数的最大值小于I的情况下,阈值决定部41a将阈值N设定为I。
[0091]例如若接收缓存32a的空闲容量为IM字节,则式子(I)中的M为IX109。此处,阈值决定部41a使用的常量C为I X 10一8。在通信装置50a与通信装置50b?50e之间进行的通信中,通信量速率的合计值是50Mbps+20Mbps+15Mbps+15Mbps = 100Mbps。因此,通信量速率的比例R在通信装置50b中是50/100,在通信装置50c中是20/100,在通信装置50d和50e中是15/100。该情况下,阈值决定部41根据式子(I)如以下那样计算阈值N。
[0092]N(通信装置50b) = 1 X 19X (50/100) X I X 10—8 = 5
[0093]N(通信装置50c) = 1 X 19X (20/100) X I X 10—8 = 2
[0094]叭通信装置50(1、506)= 1\109\(15/100)\1\10 — 8=1.5
[0095]因此,阈值决定部41a将与通信装置50b之间的阈值N设为5,将与通信装置50c之间的阈值N设为2。并且,由于计算值为1.5,所以通信装置50d和通信装置50e将阈值N设定为I。
[0096]阈值决定部41a生成用于将得到的值通知给发送侧的通信装置50的控制数据包。控制数据包包括用于指定目的地的地址的报头、表示通知阈值N的值的信息、以及得到的阈值N。阈值决定部41a将生成的控制数据包经由发送部Ila发送给发送目的地的通信装置50。
[0097]通信装置50b的接收部12b将从通信装置50a接收到的控制数据包输出给设定部23b ο设定部23b将存储的阈值N更新为控制数据包所储存的值。若设定部23b更新阈值N,则以后使用更新后的值来设定向通信装置50a发送的数据。即,在发送次数小于新设定的阈值N的期间,设定部23b将在实际数据附加禁止信息的数据作为发送对象,在与新的阈值N相同的次数的发送中,将实际数据和保持信息作为向通信装置50a的发送对象。若通信装置50c?通信装置50e也从通信装置50a接收到控制数据包,则进行同样的处理。此外,若相同的数据的发送次数变为阈值N,则由于发送侧的通信装置50将数据与保持要求一起发送,所以阈值N可以说是对发送侧的通信装置50来说,不附加保持要求而能够发送相同的数据的次数的上限值的指标。因此,在第二实施方式中,可以说接收侧的通信装置50对发送侧的通信装置50决定不附加保持要求而能够发送相同的数据的次数的上限值的指标。
[0098]图14是用于对接收数据的通信装置50的处理的例子的流程图。图14示出每隔规定的周期进行阈值N的再计算的情况下的例子。该情况下,各通信装置50保持计时器,接收侧的通信装置50每隔规定的周期进行阈值N的计算处理。在图14的例子中,使用变量n、m、常量Y。常量Y是对计算阈值N的通信装置50发送数据的通信装置50的数量。变量η是使用于对进行了通信量速率的计算的路径的数量进行计数的变量。另外,变量m是为了对进行了阈值N的计算的通信装置50的数量进行计数而使用。此外,图14中,为了容易明白数据的发送侧的通信装置50,在流程图中,为了便于说明将发送侧的通信装置50记载为发送装置。
[0099]通信量速率计算部42对计时器进行初始化(步骤S41)。通信量速率计算部42将变量η设定为1,并且从连接管理部14获取向通信装置50发送数据的发送源的通信装置50的数量(Y)(步骤S42)。通信量速率计算部42计算与第η个发送侧的通信装置50之间的通信的通信量速率(步骤S43)。通信量速率计算部42使η自加I,并判定η是否是Y以下(步骤S44、S45)。在变量η为Y以下的情况下,通信量速率计算部42反复步骤S43以下的处理(步骤S45:是)。另一方面,若变量η超过Y,则阈值决定部41将变量m设定为I (步骤S45:否,步骤S46)。阈值决定部41计算与第m个发送侧的通信装置50之间所使用的阈值N(步骤S47)。阈值决定部41使变量m自加I,并判定m是否是Y以下(步骤S48,S49)。在变量m为Y以下的情况下,阈值决定部41反复步骤S47以下的处理(步骤S49:是)。另一方面,若变量m超过Y,则通信量速率计算部42判定计时器是否期满(步骤S49:否,步骤S50)。在计时器未期满的情况下,通信量速率计算部42待机到计时器期满(步骤S50:否)。若计时器期满,则通信量速率计算部42反复步骤S41以下的处理(步骤S50:是)。
[0100]根据第二实施方式,通信装置50能够根据接收缓存32的空闲区域来变更阈值N的值。并且,由于定期地进行发送侧的各个通信装置50所使用的阈值N的计算,所以在与接收侧的通信装置50进行通信的发送侧的通信装置50的数量发生变动的情况下,阈值N也能够根据变动而变更。因此,由于根据通信装置50所进行的通信的状况而自律地变更阈值N的值,所以进行适合状况的通信的设定。
[0101]< 其它 >
[0102]此外,实施方式并不限于上述,能够进行各种变形。以下叙述几个该例子。
[0103]发送次数超过阈值时为了数据块的识别而发送的信息是在接收侧的通信装置10中能够唯一地识别数据块的任意的信息,例如可以是哈希值。在哈希值作为标识符被使用的情况下,发送侧的通信装置10所包含的设定部23将要发送的数据块哈希值代替数据块而包含在数据包中并向接收侧的通信装置10发送。该情况下,接收侧的通信装置10作为接收到与通知的哈希值建立对应的数据而进行处理。
[0104]即使在使用索引值和数据块的长度作为标识符的情况下,接收侧的通信装置10所具备的接收缓存32的空闲容量也可以没有。因此,接收侧的通信装置10在因没有接收缓存32的空闲容量而删除数据块的情况下,将删除的数据块通知给发送侧的通信装置10。通过该处理,能够在发送侧的通信装置10与接收侧的通信装置10之间使针对相同的数据块的索引值一致。此外,在通信装置50彼此的通信中,使用索引值将重复的数据通知给接收侧的通信装置50的情况下,在发送侧和接收侧的通信装置50中进行同样的处理。
[0105]以上的说明中所记载的发送数据表格31、接收缓存32中所存储的信息要素、信息的形式只是一个例子。发送数据表格31、接收缓存32中所存储的信息要素、信息的存储的形式等能够根据安装而任意地变更。
[0106]在第一以及第二实施方式的任意一个中,都能够变形为以接收侧的装置保持的接收缓存32的空闲区域越小,决定是否发送包含保持信息的数据时所使用的阈值的值越大的方式进行调整。例如在第二实施方式的情况下,在阈值决定部41计算阈值N时,能够接收缓存32的空闲容量越小,越大地设定常量C的值。此时,阈值决定部41预先存储接收缓存32的空闲容量和常量C的关系,能够与计算阈值N时的接收缓存32的空闲容量相匹配地选择常量Cο在第一实施方式中,在设定部23所设定的阈值N以接收缓存32中的可使用的容量越小,阈值N越小的方式设定。
[0107]在第二实施方式中,如果接收侧的装置是通信装置50,则不管发送侧的装置是通信装置50和通信装置10中的哪个,都能够同样地进行阈值的变更处理。此外,该情况下,通信装置10针对从数据的接收侧的通信装置50接收到的控制数据包,也进行与发送侧的通信装置50同样的处理。
[0108]符号说明
[0?09] I…服务器;2…平板;3…手机;4…区域;5…WAN; 10、50…通信装置;11…发送部;12...接收部;13...收发部;14...连接管理部;15...缓存管理部;16...数据处理部;20...重复检测部;21...分割部;22…标识符生成部;23…设定部;30...存储部;31...发送数据表格;32…接收缓存;4(l...阈值设定部;41…阈值决定部;42…通信量速率计算部;101.??处理器;102…存储器103...输入装置;104…输出装置;105…总线;106…外部存储装置;107…介质驱动装置;108...可移动存储介质;109…网络连接装置。
【主权项】
1.一种通信装置,其特征在于,具备: 存储部,使将数据发送到所述数据的目的地的次数与识别所述数据的标识符建立对应地存储; 设定部,若向所述目的地发送的对象的数据亦即对象数据的发送次数达到阈值,则将作为所述对象数据的代替而向所述目的地发送的代替数据设定为所述对象数据和要求保持所述对象数据的保持要求的组合,在针对所述对象数据的保持要求发送后,将所述对象数据的标识符设定为所述代替数据;以及 发送部,将所述代替数据向所述目的地发送。2.根据权利要求1所述的通信装置,其特征在于, 所述设定部在所述对象数据的发送次数小于所述阈值的期间,将所述代替数据设定为所述对象数据和禁止所述对象数据的保持的信息的组合。3.根据权利要求1或者2所述的通信装置,其特征在于,具备: 接收部,接收向所述通信装置发送的数据; 接收缓存,对接收数据中的附加了所述保持要求的数据进行保持; 计算部,计算从向所述通信装置发送数据的装置亦即发送源接收的数据的通信量速率;以及 决定部,将所述发送源使用的指标值作为直至所述发送源附加所述保持要求为止能够向所述通信装置发送相同的数据的次数的上限值的指标,并按照与所述通信量速率越低则指标值为越小的值的方式进行决定; 所述发送部将包括所述指标值的数据包向所述发送源发送。4.一种通信方法,其特征在于, 在包括第一通信装置和第二通信装置的网络中, 所述第一通信装置生成识别发送给所述第二通信装置的数据的标识符, 若向所述第二通信装置发送的对象的数据亦即对象数据的发送次数达到阈值,则将作为所述对象数据的代替而向所述第二通信装置发送的代替数据设定为所述对象数据和要求保持所述对象数据的保持要求的组合, 所述第二通信装置将与所述保持要求一起接收到的所述对象数据保持于所述第二通信装置保持的接收缓存中, 所述第一通信装置在所述保持要求发送后,将所述对象数据的标识符设定为所述代替数据, 所述第二通信装置若接收到所述标识符,则将与所述标识符建立了对应的数据作为从所述第一通信装置接收到的数据进行处理。5.根据权利要求4所述的通信方法,其特征在于, 所述第一通信装置在所述对象数据向所述第二通信装置的发送次数小于所述阈值的期间,将所述代替数据设定为所述对象数据和禁止所述对象数据的保持的禁止信息的组入η ? 所述第二通信装置在将与所述禁止信息一起接收到的对象数据作为来自所述第一通信装置的接收数据进行处理时,不将所述的与所述禁止信息一起接收到的对象数据存储于所述接收缓存。6.根据权利要求4或者5所述的通信方法,其特征在于, 所述第二通信装置计算从所述第一通信装置接收的数据的通信量速率, 按照所述通信量速率越低则阈值的值为越小的值的方式决定所述阈值的值, 向所述第一通信装置通知被决定为所述阈值的值, 所述第一通信装置将从所述第二通信装置通知的值作为所述阈值来使用,并判定是否附加所述保持要求来将数据发送给所述第二通信装置。7.根据权利要求4或者5所述的通信方法,其特征在于, 所述第一通信装置使用第一阈值来判定是否将所述保持要求包含在向所述第二通信装置发送的数据中, 第三通信装置使用第二阈值来判定是否将所述保持要求包含在向所述第二通信装置发送的数据中, 所述第二通信装置计算从所述第一通信装置接收的数据的通信量速率亦即第一速率、和从所述第三通信装置接收的数据的通信量速率亦即第二速率, 并在所述第二速率高于所述第一速率的情况下,按照所述第二阈值的值大于所述第一阈值的方式决定所述第一阈值以及第二阈值的更新值, 所述第一通信装置使用从所述第二通信装置通知的所述第一阈值的更新值来判定是否将所述保持要求包含在向所述第二通信装置发送的数据中, 所述第三通信装置使用从所述第二通信装置通知的所述第二阈值的更新值来判定是否将所述保持要求包含在向所述第二通信装置发送的数据中。8.—种通信程序,其特征在于, 使通信装置进行如下的处理: 使将数据发送到上述数据的目的地的次数与识别上述数据的标识符建立对应地存储;若向所述目的地发送的对象的数据亦即对象数据的发送次数达到阈值,则将作为所述对象数据的代替而向所述目的地发送的代替数据设定为所述对象数据和要求保持所述对象数据的保持要求的组合; 在针对所述对象数据的保持要求发送后,将所述对象数据的标识符设定为上述代替数据;以及 将所述代替数据设定为上述目的地。9.根据权利要求8所述的通信程序,其特征在于, 在所述对象数据的发送次数小于所述阈值的期间,将所述代替数据设定为所述对象数据和禁止所述对象数据的保持的信息的组合。10.根据权利要求8或者9所述的通信程序,其特征在于, 使所述通信装置进行如下的处理: 接收向所述通信装置发送的数据; 计算从向所述通信装置发送数据的装置亦即发送源接收的数据的通信量速率; 将所述发送源使用的指标值作为直至所述发送源附加所述保持要求为止能够向所述通信装置发送相同的数据的次数的上限值的指标,并按照与所述通信量速率越低则指标值为越小的值的方式进行决定;以及 将包含所述指标值的数据包向所述发送源发送。
【文档编号】G06F13/00GK105900395SQ201480072777
【公开日】2016年8月24日
【申请日】2014年1月16日
【发明人】佐沢真, 佐沢真一
【申请人】富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1