CN107948236B - 通信装置、通信方法以及存储介质 - Google Patents
通信装置、通信方法以及存储介质 Download PDFInfo
- Publication number
- CN107948236B CN107948236B CN201710914380.3A CN201710914380A CN107948236B CN 107948236 B CN107948236 B CN 107948236B CN 201710914380 A CN201710914380 A CN 201710914380A CN 107948236 B CN107948236 B CN 107948236B
- Authority
- CN
- China
- Prior art keywords
- data
- communication apparatus
- buffer
- reception buffer
- capacity
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/21—Control channels or signalling for resource management in the uplink direction of a wireless link, i.e. towards the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/12—Flow control between communication endpoints using signalling between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通信装置、通信方法以及存储介质。通信装置包括:接收单元,被配置为响应于表示允许传输的数据量的通知接收从其他通信装置传输的数据;存储单元,被配置为在存储区域存储接收单元接收的数据;确定单元,被配置为确定除了具有在所述通信装置和所述其他通信装置之间建立逻辑通信路径时保留的容量的接收缓冲器以外,其他缓冲器是否也能够保证存储单元存储数据的存储区域,所述其他缓冲器被配置为存储接收单元接收的数据中不能在接收缓冲器中存储的数据;决定单元,被配置为基于确定单元的确定结果决定允许从所述其他通信装置传输的数据量;以及通知单元,被配置为向所述其他通信装置发送表示决定单元决定的允许传输的数据量的通知。
Description
技术领域
本发明涉及一种控制通信装置之间传输和接收数据的量的技术。
背景技术
通信装置之间采用的通信方法的一种是传输控制协议(TCP)/互联网协议(IP)。根据TCP/IP执行通信的通信装置建立与其他通信装置(通信对方)的逻辑通信路径(连接),并管理针对各通信路径的接收缓冲器。在接收缓冲器中临时存储通信装置接收的数据。接收缓冲器具有规定的容量,通信装置的存储器资源被分配为各接收缓冲器。
TCP/IP具有防止超过接收缓冲器的容量的数据量被传输到通信装置的窗口控制功能。在窗口控制下,数据接收装置向数据传输装置通知接收缓冲器的容量作为表示允许通过目标通信路径传输的数据量的窗口尺寸。传输装置经由目标通信路径向接收装置传输等于或小于通知的窗口尺寸的数据量。窗口控制防止从传输装置传输高于接收装置的接收缓冲器的容量的数据量。
此外,日本特开2009-237768号公报公开了如下技术:通信装置传输关于表示高于接收缓冲器的可用存储容量的值的窗口尺寸。当通信装置接收具有高于接收缓冲器的可用存储容量的尺寸的数据时,使用不同于接收缓冲器的临时缓冲器存储不能在接收缓冲器中存储的数据。
然而,在日本特开2009-237768号公报公开的通信方法中,对具有高于能够存储的数据量的尺寸的数据的接收可能导致通信效率的低下。例如,在通信装置由于缺乏存储器资源而无法使用临时缓冲器的情况下,如果接收具有高于接收缓冲器的可用存储容量的尺寸的数据,则可能丢弃不能在接收缓冲器中存储的接收数据,这可能会导致通信效率的低下。
发明内容
根据本发明的一个方面,一种通信装置,包括:接收单元,被配置为响应于表示允许传输的数据量的通知接收从其他通信装置传输的数据;存储单元,被配置为在存储区域存储接收单元接收的数据;确定单元,被配置为确定除了具有在所述通信装置和所述其他通信装置之间建立逻辑通信路径时保留的容量的接收缓冲器以外,其他缓冲器是否也能够保证存储单元存储数据的存储区域,所述其他缓冲器被配置为存储接收单元接收的数据中不能在接收缓冲器中存储的数据;决定单元,被配置为基于确定单元的确定结果决定允许从所述其他通信装置传输的数据量;以及通知单元,被配置为向所述其他通信装置发送表示决定单元决定的允许传输的数据量的通知。
根据以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出通信系统的配置的视图。
图2是例示通信装置的硬件配置的框图。
图3是例示通信装置的操作的流程图。
图4是例示窗口缩放选项格式的视图。
图5是例示缩放因子和缩放单位容量之间的对应关系的表。
图6A和6B是分别例示根据缩放因子的窗口尺寸的表。
图7是例示通信装置和其他通信装置之间的通信内容的序列图。
图8是例示决定窗口尺寸的通信装置的操作的流程图。
图9是例示网络缓冲器的内部结构的视图。
具体实施方式
下文将参照附图具体描述本发明的示例性实施例。应注意,并非所有实施例中描述的特征的组合对于根据本发明解决问题都是必需的。
系统配置
图1例示了根据本示例性实施例的通信系统10的配置。通信系统10包括通信装置101和通信装置102。通信装置101和通信装置102经由网络110执行TCP/IP通信。在本示例性实施例中,网络110是由基于以太网(Ethernet,注册商标)标准的局域网(LAN)组成的。然而,网络110的配置不限于此。例如,网络110可以包括互联网,或可以包括基于IEEE802.11系列标准或蓝牙(Bluetooth,注册商标)标准的无线LAN。虽然本示例性实施例被描述为集中于两个装置(即,通信装置101和通信装置102)之间的通信,但三个或更多设备可以通过网络110彼此通信。此外,本示例性实施例示出了通信装置101和通信装置102基于TCP/IP相互通信的示例。然而,通信装置101和通信装置102可以基于另一协议彼此通信。
图2示出了根据本示例性实施例的通信装置101的硬件配置。通信装置102具有类似于通信装置101的硬件配置。通信装置101包括存储单元201、控制单元202、功能单元203、输入单元204、输出单元205和通信单元206。
存储单元201包括存储器,例如ROM或RAM,并存储用于执行下文描述的通信装置101的各种操作的程序、以及诸如用于TCP/IP通信的通信参数等各种信息。存储单元201还充当网络缓冲器,其存储要在通信装置101和通信装置102之间传输和接收的数据。作为存储单元201,不仅使用ROM或RAM,还可以使用诸如软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储器卡以及DVD的存储介质。
控制单元202包括诸如CPU或MPU的处理器,并读出存储在存储单元201中的程序并执行该程序,从而控制整个通信装置101。控制单元202可以与存储在存储单元201中的程序和操作系统(OS)一起控制整个通信装置101。此外,控制单元202可以包括使用多核等的多个处理器,并且整个通信装置101可以由多个处理器控制。
功能单元203是用于通信装置101执行预定处理的硬件。例如,当通信装置101是照相机时,功能单元203包括摄像单元并执行摄像处理。此外,当通信装置101是打印机时,功能单元203包括打印单元并执行打印处理。此外,当通信装置101是投影仪时,功能单元203包括投影单元并执行投影处理。由功能单元203处理的数据可以是初步存储在存储单元201中的数据,或者可以是通过经以下描述的通信单元206与另一设备的通信获得的数据。
输入单元204接受用户执行的各种输入操作。输出单元205向用户提供各种输出。输出单元205输出的示例包括由显示单元输出的图像、由扬声器输出的音频和振动输出。输入单元204和输出单元205两者都可以由使用触摸屏等的单个模块来实现。输入单元204和输出单元205可以作为通信装置101外的单独设备来呈现。在这种情况下,控制单元202作为输入控制单元操作,以控制输入单元204,并且作为输出控制单元来控制输出单元205。
通信单元206控制TCP/IP通信,并将诸如图像数据、文档数据和音频数据等内容传输到诸如通信装置102的另一设备,并从另一设备接收内容。
[操作流程]
首先,将描述在基于TCP/IP的通信中执行的基本操作。在通信开始时,在通信装置101和通信装置102之间建立用于传输和接收数据的逻辑通信路径(连接)。通信装置101可以建立多个连接。
执行TCP/IP协议处理的通信装置101和通信装置102配设有网络缓冲器,以包化(packetize)通信数据或执行传输/接收处理。网络缓冲器在多个连接中共享,并且在传输处理和接收处理中也被共享。在传输TCP/IP包的通信装置102中,根据应用程序的数据传输命令指定的数据被复制到分配为传输缓冲器的网络缓冲器中的存储区域。复制到存储区域的传输数据根据最大传输单元(MTU)被分割。这里描述的术语“MTU”是指从传输端通信设备到接收端通信设备在单个帧中传输的数据的最大尺寸。TCP头和IP头被添加到分割的传输数据中以生成TCP/IP包。当用以太网作为传输路径时,通过进一步添加以太网头生成以太网帧,并且生成的以太网帧被传输到通信装置101。
在接收到TCP/IP包的通信装置101中,从网络接收的包被临时保持在通信单元206内的存储器等中,并且被分割为每个包的头部分和数据部分。每个包的数据部分被存储在网络缓冲器中的存储区域中,该网络缓冲器被分配为与该连接相对应的接收缓冲器。此外,根据应用的数据接收命令将存储在接收缓冲器中的数据移动(读出)到由应用准备的数据缓冲器(应用缓冲器)中,并对所接收的数据进行处理。接收缓冲器具有在建立连接时保留的预定数据容量,并且不能存储超过数据容量的数据量。作为特定的保留定时,可以在为建立连接而执行TCP中的三次握手(three-way handshaking)之前保留数据容量,也可以在三次握手中保留。
TCP/IP具有称为窗口控制的功能。在TCP/IP的窗口控制中,数据接收侧通信装置101根据接收缓冲器的可用存储容量来决定窗口尺寸。此外,通信装置101向数据传输侧通信装置102传输表示所确定的窗口尺寸的值的确认(ACK)包。此外,通信装置102可以在不等待下一个ACK包的情况下,向通信装置101传输等于或小于窗口尺寸的数据量。换句话说,TCP中指定的窗口尺寸表示允许通过连接从通信装置102传输的数据量,ACK包中包括的有关窗口尺寸的信息是控制通信装置102的传输数据量的控制信息。
当应用不从接收缓冲器读出接收的包时,通信装置101向通信装置102通知ACK包,该ACK包表示比接收缓冲器为空时小的窗口尺寸。当应用读出接收的包时,接收缓冲器的可用存储容量增加,并且通知通信装置102随后要传输的ACK包中更大的窗口尺寸。
窗口缩放选项作为可以在TCP/IP中通知的增加窗口尺寸上限的选项而被提供。当从通信装置101发送到通信装置102的连接建立请求和响应连接建立请求而由通信装置102发送的响应包括如图4所示的表示窗口缩放选项的参数时,窗口缩放选项是有效的。当窗口缩放选项有效时,通信装置101根据TCP中的窗口缩放选项传输包括关于窗口尺寸的信息的ACK包,从而通知通信装置102窗口尺寸。具体地,在窗口缩放选项中的Shift.cnt字段(field)的值表示对应于窗口尺寸增加量的缩放因子。从通信装置101接收到ACK包的通信装置102通过对TCP头中的窗口字段值执行与缩放因子相对应的量的位偏移,从而计算窗口尺寸。
当窗口缩放选项有效时,在窗口字段值为1时,对应于窗口尺寸的缩放单位容量如下表示。
缩放单位容量=2^缩放因子(字节),因此,窗口尺寸被表达为:
窗口尺寸=窗口字段值×2^缩放因子(字节)
在窗口缩放选项中,缩放因子被表示为“0”到“14”范围的值。图5是例示缩放因子和缩放单位容量之间的对应关系的表。
下文将参照图6A和图6B进一步描述根据缩放因子的窗口尺寸。在本示例性实施例中,根据所述缩放因子和接收缓冲器的可用存储容量确定的缩放单元容量来决定当窗口缩放选项有效时通知的窗口尺寸。图6A示出了当缩放单位容量为256字节时,即,当缩放因子为8时,可用缓冲器存储容量和窗口尺寸之间的对应关系。图6B示出了当缩放单位容量为2048字节时,即,当缩放因子为11时,可用缓冲器存储容量和窗口尺寸之间的对应关系。
在使用窗口缩放选项的通信中,窗口字段值是整数,因此窗口尺寸是缩放单位容量的倍数,即2的n次方的倍数(n是与缩放因子相对应的整数)。然而,接收缓冲器的可用存储容量不限于2的n次方的倍数。因此,在根据接收缓冲器的可用存储容量来决定窗口尺寸的情况下,窗口尺寸和可用存储容量之间可能存在舍入误差。在接收缓冲器可用的存储容量是向下取整时(当窗口字段值以窗口的尺寸是小于可用存储容量的方式来设置时)获得的窗口尺寸是将缩放单位容量乘以通过将可用存储容量除以缩放单位容量得到商而获得的值。在接收缓冲器可用的存储容量是向上取整时(当窗口字段值以窗口的尺寸是大于可用存储容量的方式来设置时)获得的窗口尺寸是将缩放单位容量乘以通过将可用存储容量除以缩放单位容量得到商加1值而获得的值。
如果通信装置101持续向下取整接收缓冲器的可用存储容量并通知小于可用的存储容量的窗口尺寸,则只从通信装置102传输小于可用存储容量的数据量。因此,在某些情况下不能有效地使用接收缓冲器。另一方面,如果通信装置101持续向上取整接收缓冲器的可用存储容量并通知大于可用的存储容量的窗口尺寸,则通信装置102可以传输大于接收缓冲器的可用存储容量的数据量。因此,接收的数据不能存储在接收缓冲器中,并且可能在通信装置101中被丢弃。在本示例性实施例中,通信装置101根据状态决定向上取整还是向下取整窗口尺寸,从而实现更高的通信效率。
下文将参照3描述通信装置101和通信装置102彼此通信时通信装置101执行的操作。在用户通过输入单元204传输开始通信装置101和通信装置102之间的通信的指示时开始图3例示的处理。然而,图3例示的处理开始时的定时不限于上述定时。例如,可以在应用传输开始通信的指示时或者根据计时器的定时开始处理。图3例示的处理以如下方式实施:控制单元202读出存储单元201存储的程序并执行该程序。
可以由硬件实施图3中所示的处理的至少一部分。例如,在通过硬件实施处理的情况下,可以使用预定的编译器,以根据用于执行各步骤的程序自动生成现场可编程门阵列(FPGA)上的专用电路。处理也可以通过形成像FPGA那样的门阵列电路来通过硬件实现。此外,该处理可由专用集成电路(ASIC)实施。
在步骤S301,通信装置101通过TCP中三次握手建立与通信装置102的连接。在三次握手中执行的通信中,通信装置101响应于连接建立请求(SYN_ACK包)而向通信装置102通知窗口尺寸。窗口缩放选项不被应用于SYN_ACK包通知的窗口尺寸。当窗口缩放选项在连接建立期间的通信中有效时,窗口缩放选项应用于响应(ACK包)通知的窗口尺寸,以在连接建立后接收数据。
在步骤S302,通信装置101确定是否保持连接。如果通信装置101确定保持连接(在步骤S302为“是”),处理推进到步骤S303。另一方面,如果通信装置101确定不保持连接(在步骤S302为“否”),处理推进到步骤S307,然后通信装置101断开连接并终止处理。通信装置101确定不保持连接的情况包括,例如,在预定的时间段没有执行从通信装置102向通信装置101的数据传输的情况,或向通信装置101发送终止通信指示的情况。
在步骤S303,通信装置101在具有预定数据容量的接收缓冲器的可用空间中存储从通信装置102接收的至少一部分数据。在本示例性实施例中,所接收的数据中要存储的至少一部分数据是可存储在接收缓冲器的可用空间中的数据量。在步骤S304,通信装置101确定除了在步骤S303存储在接收缓冲器中的接收数据以外,是否还存在由于接收缓冲器容量不足而无法保存在接收缓冲器中的接收数据。如果不存在不能存储在接收缓冲器中的接收数据(步骤S304为“否”),处理推进到步骤S306。如果存在不能存储的接收数据(步骤S304为“是”),处理推进到步骤S305。在步骤S305,通信装置101使临时缓冲器来存储在从通信装置102接收的数据中不能在接收缓冲器中存储的数据。这里描述的术语“临时缓冲器”是指不被分配为网络缓冲器内的存储区域中的接收缓冲器的存储区域,该存储区域是临时用来存储由于接收缓冲器容量不足而不能被存储在接收缓冲器的数据。
具体地,通信装置101以将接收的数据与连接建立时的连接相关联的方式在接收缓冲器(保留区域)存储通过通信装置101和通信装置102之间的连接接收到的数据。此外,在通过连接接收的数据中,由于接收缓冲器的容量不足而不能存储在接收缓冲器中的数据被存储在与特定连接不相关的存储区域中。
在步骤S306,通信装置101基于接收缓冲器的可用存储容量计算窗口尺寸,并利用ACK包通知通信装置102窗口尺寸。下文描述计算窗口尺寸的方法。在步骤S306的处理完成后,处理推进到步骤S302,重复步骤S302到S306的数据接收处理。
图7示出了当通信装置101和通信装置102彼此通信时执行的通信序列的示例。步骤S601到S603是与通信装置101和通信装置102之间的连接的建立相关联的序列。在步骤S601,通信装置102向通信装置101传输连接建立请求。在步骤S602,通信装置101向通信装置102传输连接建立请求的响应。在这种情况下,在步骤S601到S602的每一步骤中窗口缩放选项的Shift.cnt值是“8”。也就是说,通知256字节作为缩放单位容量。
步骤S604到S607是从通信装置102向通信装置101传输数据和从通信装置101向通信装置102传输确认的序列。在通信设备中101的接收缓冲器的容量是4500字节的情况下,当通信装置101在步骤S604接收1500字节数据时,接收缓冲器的可用的存储容量为3000字节。在步骤S605,通信装置101传输ACK数据包从而向通信装置102通知窗口尺寸。
在这种情况下,由于接收缓冲器的可用存储容量为3000字节,而缩放单位容量为256字节,则窗口尺寸和可用存储容量之间存在舍入误差。当接收缓冲器的可用存储容量被向下取整时(当“11”被设置为窗口字段值时),要通知的窗口尺寸为2816字节。当可用存储容量向上取整时(当“12”被设置为窗口字段值)时,要通知的窗口尺寸为3072字节。如果接收缓冲器的可用存储容量为3000字节时通知3072字节的窗口尺寸,则缓冲器可能缺乏与72字节相对应的容量。因此,如果能够分配具有容量等于或大于72字节的临时缓冲器,则通信装置101通知通信装置102的窗口尺寸为3072字节,如果临时缓冲器无法分配,则通信装置101通知通信装置102的窗口尺寸为2816字节。
在步骤S606,当通信装置101接收1500字节的数据时,接收缓冲器的可用存储容量为1500字节。当通信装置101在步骤S607传输ACK包时,像步骤S605那样发生窗口尺寸的舍入误差。当接收缓冲器的可用存储容量被向下取整时,要通知的窗口尺寸为1280字节。当接收缓冲器的可用存储容量被向上取整时,要通知的窗口尺寸为1536字节。因此,如果能保证等于或大于36字节容量的临时缓冲器(可能是容量不充足的缓冲器),则通信装置101通知通信装置102的窗口尺寸为1536字节。如果窗口尺寸不能作为临时缓冲器被保证,则通信装置101通知通信装置102的窗口尺寸为1280字节。
具体地说,通信装置101确定从通信装置102接收到的数据是否可以存储在临时缓冲器中。是否可以使用临时缓冲器取决于例如网络缓冲器的使用状态,该网络缓冲器用于在与接收目标数据的连接不同的另一连接中传输和接收数据。此外,通信装置101基于确定结果决定表示允许从通信装置102传输的数据量的窗口尺寸。
更具体地,通信装置101决定是否使窗口尺寸为等于或小于接收缓冲器可用的存储容量的第一数据量,或大于接收缓冲器可用的存储容量的第二数据量。在本实施例中,第一数据量是通过根据缩放因子向下取整接收缓冲器的可用存储容量的值,第二数据量是通过根据缩放因子向上取整接收缓冲器的可用存储容量的值。换句话说,第一数据量是对应于根据缩放因子的缩放单位容量的整数倍的数据量,并且是不超过接收缓冲器的可用存储容量的数据量中的最大数据量。第二数据量是对应于缩放单位容量的整数倍的数据量,并且是大于接收缓冲器的可用存储容量的数据量中的最小数据量。
用于确定第一数据量和第二数据量的方法不限于上述方法。例如,第一数据量可以小于通过以与缩放单位容量的倍数相对应的量来向下取整接收缓冲器的可用存储容量而获得的值。第二数据量可以大于通过以与缩放单位容量的倍数相对应的量来向上取整接收缓冲器的可用存储容量而获得的值。
此外,通信装置101确定是否存在可用来存储从通信装置102接收的数据的临时缓冲器,该临时缓冲器具有与从作为窗口尺寸候选的第二数据量(向上取整值)减去接收缓冲器可用的存储容量得到的数据量对应的容量。当确定不能使用具有与减去可用存储容量后获得的数据量对应的容量的临时缓冲器时,窗口尺寸被设置为第一数据量(向下取整值)。当确定能使用具有与减去可用存储容量后获得的数据量对应的容量的临时缓冲器时,窗口尺寸被设置为第二数据量。
在确定窗口尺寸之后,通信装置101在ACK的传输中通知通信装置102根据所确定的窗口尺寸的控制信息。此外,通信装置101响应于通知从通信装置102接收数据。
在上述处理中,当通信装置101能够利用临时缓冲器接收比接收缓冲器的可用存储容量更大的数据量时,可以控制通信装置102传输比接收缓冲器的可用存储容量更大的数据量。此外,当临时缓冲器无法使用且只能接收小于接收缓冲器的可用存储容量的数据量时,可以控制通信装置102传输等于或小于接收缓冲器的可用存储容量的数据量。因此,通信装置101可以控制通信装置102在可接收和存储的数据量的范围内传输较大数量。结果,可以有效地利用存储器资源来接收更大的数据量,并且可以提高通信效率,同时抑制由于例如丢弃接收的数据而导致的通信效率的劣化。此外,例如,通过重复步骤S604到S607的处理,通信装置101可以从通信装置102获得内容数据并通过输出单元205向用户提供图像输出或音频输出。
虽然图7中并未示出,但根据本示例性实施例的通信装置101确定接收缓冲器的可用存储容量是否等于或大于预定的阈值,并根据确定结果以及临时缓冲器是否可用的确定结果来决定窗口的大小。将参照图8描述根据本示例性实施例的通信装置101的操作。
图8所示的处理是在图3步骤S306执行的处理,在通信装置101接收数据并将数据存储在缓冲器时开始处理。然而,当开始图8所示的处理时的定时不限于该定时。图8中所示的处理以这样的方式实现,即控制单元202读出存储在存储单元201中的程序并执行该程序。
在步骤S801,通信装置101确定从通信装置102的连接建立请求和对连接建立请求的响应中窗口缩放选项是否有效。如果确定该窗口缩放选项是有效的(在步骤S801为“是”),则处理推进到步骤S802。另一方面,如果确定该窗口缩放选项无效(在步骤S801为“否”),则通信装置101通知接收缓冲器的可用存储容量为可以被指定为窗口尺寸的值的范围内的窗口尺寸。具体地,当接收缓冲器的可用存储容量等于或小于无需使用窗口缩放选项就能通知的窗口尺寸的上限,则通信装置101通知的接收缓冲器的可用存储容量为窗口尺寸。另一方面,当接收缓冲器的可用存储容量大于窗口尺寸的上限时,通信装置101例如通知上限值作为窗口尺寸。
在步骤S802,通信装置101确定接收缓冲器的可用存储容量是否等于或大于MTU。如果确定接收缓冲器的可用存储容量等于或大于MTU(在步骤S802为“是”),则处理推进到S803,并基于是否可以使用临时缓冲器来决定窗口尺寸。另一方面,如果确定的接收缓冲器的可用存储容量小于MTU(在步骤S802为“否),则处理推进到S807。
在步骤S803,通信装置101以如下方式计算向上取整值:接收缓冲器的可用存储容量成为窗口缩放选项的缩放单位容量的倍数。例如,当接收缓冲器的可用存储容量为1500字节且缩放单位容量为256字节时,向上取整值为1536字节。在步骤S804,通信装置101从步骤S803计算的值减去接收缓冲器的可用存储容量,从而计算当接收步骤S803中计算的数据量时不能存储在接收缓冲器中的数据量。此外,通信装置101确定是否可以使用这样的临时缓冲器,该临时缓冲器具有能够存储不能存储在接收缓冲器中的数据的可用存储容量。在步骤S804,如果确定临时缓冲器可用(在步骤S804为“是”),则处理推进到S805,如果确定临时缓冲器无法使用(在步骤S804为“否”),则处理推进到S807。
在步骤S804,根据本示例性实施例的通信装置101确定是否能够使用这样的临时缓冲器,该临时缓冲器具有当通过向上取整接收缓冲器可用的存储容量而得到的值被设置为窗口尺寸时所需的容量。因此,当能够使用具有所需容量的临时缓冲器时,可以有效地利用临时缓冲器。但是,临时缓冲器不限于此。在步骤S804,通信装置101可以确定是否能够使用具有预定容量(诸如缩放单位容量)的临时缓冲器。
在步骤S805,通信装置101将具有能够存储在步骤S804计算的数据量的可用存储容量的网络缓冲器中的存储区域分配到临时缓冲器。临时缓冲器用于存储通信装置101从通信装置102接收到的数据中由于接收缓冲器的可用存储容量不足而不能存储在接收缓冲器中的数据。当预先执行了如图8所示的处理后存在被分配为临时缓冲器的存储区域时,与步骤S804计算的数据量比较分配的存储区域的容量。当分配的存储区域的容量小于步骤S804计算的数据量时,具有与分配的存储区域的容量和计算的数据量之间的差相对应的容量的存储区域被新分配为临时缓冲器。另一方面,当分配的存储区域的容量大于步骤S804计算的数据量时,释放对具有对应于该差的容量的存储区域的分配。
在步骤S806,通信装置101通知通信装置102在步骤S803中计算的值作为窗口尺寸。同时,在步骤S807,通信装置101通知如下的值作为窗口尺寸,该值是通过以使值成为窗口缩放选项的缩放单位容量的倍数的方式、向下取整接收缓冲器的可用存储容量而获得的。例如,当接收缓冲器的可用存储容量为1500字节且缩放单位容量为256字节时,向下取整值为1280字节。
通过执行图8所示的处理,当接收缓冲器具有等于或大于MTU的可用存储容量时,通信装置101可以尽可能地利用临时缓冲器来有效利用可用存储容量。此外,例如,当作为临时缓冲器的可用存储区域的容量小时,通信装置101不能将具有充足容量的临时缓冲器分配给分别对应于多个连接的多个接收缓冲器。因此,当接收缓冲器的可用存储容量小于MTU时,通信装置101抑制临时缓冲器的使用,从而使网络缓冲器(具有有限容量的存储区域)可以更容易地用于其他处理。
在步骤S802,除了确定接收缓冲器的可用存储容量是否等于或大于MTU之外,通信装置101也可确定缩放单位容量是或否小于MTU。此外,当接收缓冲器的可用存储容量等于或大于MTU并且缩放单位容量小于MTU时,通信装置101设置通过向下取整接收缓冲器的可用存储容量获得到的值作为窗口尺寸。另外,当接收缓冲器的可用存储容量小于MTU时,设置通过向下取整接收缓冲器的可用存储容量得到的值作为窗口尺寸。另一方面,当接收缓冲器的可用存储容量等于或大于MTU并且缩放单位容量等于或大于MTU时,基于是否可以使用临时缓冲器决定窗口尺寸。
根据以上处理,在可能发生等于或大于MTU的缩放单位容量的大的舍入误差的情况下,通信装置101尽可能使用临时缓冲器,防止没有利用的接收缓冲器的可用存储容量的一部分的尺寸增加。在可能发生小于MTU的缩放单位容量的舍入误差的情况下,通信装置101抑制临时缓冲器的使用,从而使网络缓冲器更容易用于其他处理。
在图8所示的处理中,当接收缓冲器的可用存储容量等于或大于作为预定阈值的MTU时,确定是否能够使用临时缓冲器。然而,预定阈值并不限于此。例如,预定阈值可以是诸如缩放单位容量的其他值。此外,通信设备可以仅基于是否能够使用临时缓冲器来确定窗口尺寸,而不将接收缓冲器的可用存储容量与预定阈值相比较。此外,当接收缓冲器的可用存储容量小于预定阈值时,可以针对是否使用临时缓冲器而做出确定。例如,取代于执行步骤S802的处理,通信装置101确定接收缓冲器的可用存储容量是否小于缩放单位容量。当接收缓冲器的可用存储容量小于缩放单位容量时,处理推进到步骤S803,并基于是否能够使用临时缓冲器来决定窗口尺寸。另一方面,当接收缓冲器的可用存储容量等于或大于缩放单位容量时,处理推进到步骤S807,通过向下取整可用的存储容量得到的值被设置为窗口尺寸。
根据上述的处理,当窗口尺寸为0且不使用临时缓冲器就不能接收到更多数据时,通信装置101可以尽可能地使用临时缓冲器连续接收数据。此外,在不使用临时缓冲器的情况下能够接收数据时,通信装置101抑制临时缓冲器的使用,从而使得网络缓冲器更容易用于其他处理。
通信装置101可以基于在接收缓冲器的可用存储容量和等于或小于可用存储容量的第一数据量之间的差以及接收缓冲器的可用存储容量和大于可用存储容量的第二数据量之间的差中的至少一者决定窗口尺寸。例如,第一数据量是通过向下取整接收缓冲器的可用存储容量而获得的值,并且,例如,第二数据量是通过向上取整接收缓冲器的可用存储容量而获得的值。具体地,通信装置101确定接收缓冲器的可用存储容量和第一数据量之间的差是否等于或大于预定值,而不执行图8的步骤S802中的处理。此外,当接收缓冲器的可用存储容量和第一数据量之间的差等于或大于预定值时,处理推进到步骤S803以根据临时缓冲器是否可用来决定第一数据量或第二数据量作为要设置的窗口尺寸。另一方面,当接收缓冲器的可用存储容量和第一数据量之间的差小于预定值,则处理推进到S807以设置第一数据量作为窗口尺寸。
根据以上处理,当通知第一数据量作为窗口尺寸并且不能利用接收缓冲器的可用存储容量的部分较大时,通信装置101能够通过通知第二数据量以有效利用接收缓冲器。另一方面,即使通知第一数据量,如果接收缓冲器的不能利用的部分很小,则通知第一数据量以抑制临时缓冲器的使用,从而使具有有限容量的网络缓冲器更容易用于其他处理。与上文描述的类似的有益效果也可通过确定接收缓冲器的可用存储容量和第二数据量之间的差是否小于预定值来获得,而不执行步骤S802的处理。在图8步骤S804的处理中,确定网络缓冲器中是否存在可作为具有预定容量的临时缓冲器的可用存储区域。但是,确定目标可以不被限定为整个网络缓冲器,而被限定为网络缓冲器中的特定存储区域。为了说明在这种情况下通信装置101执行的操作,将参照图9描述通信装置101的存储单元201中要开发的网络缓冲器的内部结构。网络缓冲器包括用于管理要传输和接收的包的包管理结构901、用于存储每个包的头部分的头缓冲器结构902、以及用于存储每个包的数据部分的数据缓冲器结构903。数据缓冲器结构903是通过以预定分割单位分割用于存储各包的数据部分的网络缓冲器中的区域而获得的分割区域。类似地,头缓冲器结构902是通过分割用于存储各包的头部分的区域而获得的分割区域。包管理结构901是用于以头部分和数据部分相互关联的方式、处理作为数据包的存储在头缓冲结构902中的头部分和存储在数据缓存器结构903中的数据部分的结构。
虽然本示例性实施例例示了网络缓冲器具有三种结构的情况,但本发明不限于此。例如,网络缓冲器可以不包括包管理结构901,并且头部分和数据部分可以以与包管理结构901不同的其他结构相互关联。此外,网络缓冲器可以不包括头缓冲器结构902,并且各包的头部分可以存储在数据缓存器结构903中。
接收缓冲器的容量和分配给接收缓冲器的数据缓冲器结构903的总容量不一定彼此匹配。例如,当接收缓冲器的容量比数据缓冲结构903的预定容量大两倍并且小于预定容量的三倍时,三个数据缓冲器结构903被分配到接收缓冲器。在这种情况下,在三个数据缓冲器结构903中的至少一个中,数据容量的一部分对应于接收缓冲器,而另一部分不用作接收缓冲器。此外,分配给某一接收缓冲器的数据缓冲器结构903的一部分不用作另一接收缓冲器。
因此,图8中的步骤S804中,通信装置101可确定数据缓冲器结构903(其中的部分数据容量对应接收缓冲器)中的没有对应接收缓冲器的部分是否可以作为临时缓冲器。具体地,针对存储区域确定是否可以使用网络缓冲器中的临时缓冲器,该存储区域可以被限定为部分用于接收缓冲器的数据缓冲器结构903。此外,当存在包括一部分可作为具有预定存储容量的临时缓冲器的数据缓冲结构903时,处理推进到S805,当不存在数据缓冲器结构903时,处理推进到S807。具体地,当分配到接收缓冲器的数据缓冲器结构903的可用存储容量总量等于或大于通过向下取整接收缓冲器可用存储容量得到的值时,确定可以使用临时缓冲器。
根据上述的处理,通信装置101尽可能地最大限度地利用在网络缓冲器中的存储区域中不用于其他处理的存储区域作为临时缓冲器。结果,通信装置101能够通过有效地利用存储器资源来接收更大量的数据,而不中断用于其他处理的网络缓冲器的使用。
在参照图8的上述描述中,通信装置101确定每次通知窗口尺寸时是否可以使用临时缓冲器。但是,确定方法不限于此。例如,通信装置101可以确定是否可以使用具有对应于缩放单位容量的容量的临时缓冲器,来存储接通过在图3的步骤S301中连接建立时的连接从通信装置102收到的数据。当确定临时缓冲器可以被使用时,通信装置101通过不与特定连接相关联的网络缓冲器中的存储区域,来确保用作临时缓冲器的存储区域。此外,通信装置101设置通过向上取整接收缓冲器的可用存储容量而获得的值作为在目标连接中通知的窗口尺寸。另一方面,当确定临时缓冲器不能使用时,通信装置101设置通过向下取整接收缓冲器的可用存储容量而获得的值作为在目标连接中通知的窗口尺寸。
根据上述的处理,通信装置101可以仅确定一次是否可以使用临时缓冲器,并且在建立连接时保证临时缓冲器,从而导致处理负荷的减少。
如上所述,根据本示例性实施例的通信装置101确定除了具有预定数据容量的接收缓冲器外,是否还可以使用另一存储区域来存储从通信装置102接收到的数据。此外,通信装置101基于确定结果决定允许从通信装置102传输的数据量,并向通信装置102发送与决定的允许传输的数据量相对应的通知。然后,通信装置101响应于通知接收从通信装置102传输的数据,将所接收的数据存储在接收缓冲器,并可以在另一个存储区域中存储接收的数据中由于容量不足而不能被存储在接收缓冲器的接收到的数据。
通过这种配置,通信装置101可以使用与可存储的数据量相对应的通信数据量与通信装置102通信。例如,如果可以使用不同于接收缓冲器的另一个存储区域,则通信装置101允许通信装置102传输比接收缓冲器的可用存储容量更大的数据量,如果不能使用另一个存储区域,则通信装置101允许通信装置102传输等于或小于接收缓冲器的可用存储容量的数据量。其结果是,可以提高通信的吞吐量,同时防止所接收的包在不被存储在缓冲器中的情况下被丢弃。
而在本示例性实施例中,主要描述了通信装置101和通信装置102使用窗口缩放选项进行通信的情况,本发明也可以应用到不使用窗口缩放选项进行通信的情况。具体地,当可以使用临时缓冲器时,通信装置101可以通知大于接收缓冲器的可用存储容量的值作为窗口尺寸,当不能使用临时缓冲器时,通信装置101可以通知等于或小于接收缓冲器的可用存储容量的值作为窗口尺寸,而无需考虑缩放因子。
虽然在本示例性实施例中,主要描述了通信装置101和通信装置102根据TCP/IP进行通信的情况,单所使用的协议不限于这些协议。例如,通信装置101和通信装置102可以根据用户数据报协议(UDP)执行通信。此外,如在本示例性实施例中描述的控制通信数据量的功能,可以通过比TCP高的层(例如HTTP)的协议中创建的消息来实现。
根据上述示例性实施例,通信装置能够使用根据能够存储的数据量的通信数据量于其他通信装置通信。
其他实施例
本发明的实施例还可以通过读出并执行记录在存储介质(例如,非临时性计算机可读存储介质)上的用以进行本发明的上述实施例中的一个或更多个实施例的功能的计算机可执行指令的系统或装置的计算机来实现,以及通过由系统或装置的计算机通过例如从存储介质读出并执行用以进行上述实施例中的一个或更多个实施例的功能的计算机可执行指令来进行的方法来实现。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)、或其它电路中的一个或更多个,并且可以包括独立的计算机或独立的计算机处理器的网络。例如可以从网络或存储介质向计算机提供计算机可执行指令。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布计算系统的存储器、光盘(例如,压缩盘(CD)、数字多用途盘(DVD)、或蓝光盘(BD)TM)、闪存存储设备、存储卡等中的一个或更多个。本发明还可以由计算机来实现。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对下列权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构及功能。
Claims (19)
1.一种通信装置,包括:
接收单元,被配置为响应于表示允许传输的数据量的通知接收从其他通信装置传输的数据;
存储单元,被配置为在存储区域存储接收单元接收的数据;
确定单元,被配置为确定除了具有在所述通信装置和所述其他通信装置之间建立逻辑通信路径时保留的容量的接收缓冲器以外,其他缓冲器是否也能够保证存储单元存储数据的存储区域,所述其他缓冲器被配置为存储接收单元接收的数据中不能在接收缓冲器中存储的数据;
决定单元,被配置为基于确定单元的确定结果决定允许从所述其他通信装置传输的数据量;以及
通知单元,被配置为向所述其他通信装置发送表示决定单元决定的允许传输的数据量的通知。
2.根据权利要求1所述的通信装置,其中所述接收缓冲器是在建立通信路径时存储区域与通信路径相关联的方式保留的存储区域,并且
其中,确定单元确定所述其他缓冲器是否能够从没有与特定通信路径关联的存储区域得到保证。
3.根据权利要求1所述的通信装置,其中决定单元决定第一数据量和第二数据量的一者被设置为允许的数据量,第一数据量等于或小于接收缓冲器的可用存储容量,第二数据量大于接收缓冲器的可用存储容量。
4.根据权利要求3所述的通信装置,其中,确定单元确定是否能够保证具有对应于通过从第二数据量减去接收缓冲器的可用存储容量而获得的数据量的容量的所述其他缓冲器,第二数据量是允许的数据量的候选。
5.根据权利要求4所述的通信装置,其中,当确定单元确定不能保证具有对应于减去的数据量的容量的所述其他缓冲器时,决定单元决定第一数据量作为允许的数据量,当确定单元确定能够保证具有对应于减去的数据量的容量的所述其他缓冲器时,决定单元决定第二数据量作为允许的数据量。
6.根据权利要求3所述的通信装置,其中,当接收缓冲器的可用存储容量大于阈值时,决定单元基于确定单元的确定结果决定允许的数据量,当接收缓冲器的可用存储容量小于阈值时,决定单元基于确定单元的确定结果决定允许的数据量为第一数据量。
7.根据权利要求6所述的通信装置,其中,所述阈值是所述通信装置和所述其他通信装置之间的通信路径中的最大传输单元MTU。
8.根据权利要求7所述的通信装置,其中,当接收缓冲器的可用存储容量大于MTU并且在传输控制协议TCP中窗口缩放选项的缩放因子确定的缩放单位容量小于MTU时,决定单元决定允许的数据量为第一数据量。
9.根据权利要求3所述的通信装置,其中,当接收缓冲器的可用存储容量小于阈值时,决定单元基于确定单元的确定结果决定允许的数据量,当接收缓冲器的可用存储容量大于阈值时,决定单元基于确定单元的确定结果决定允许的数据量为第一数据量。
10.根据权利要求9所述的通信装置,其中,所述阈值是 TCP中窗口缩放选项的缩放因子确定的缩放单位容量。
11.根据权利要求3所述的通信装置,其中,决定单元基于接收缓冲器的可用存储容量和第一数据量之间的差以及接收缓冲器的可用存储容量和第二数据量之间的差中的至少一者决定第一数据量和第二数据量中的一者作为允许的数据量。
12.根据权利要求1所述的通信装置,其中,确定单元确定是否能从通过以预定分割单位分割通信装置存储数据的区域而获得的多个分割的区域中的不与接收缓冲器对应的分割的区域的一部分来保证所述其他缓冲器,所述分割的区域是一部分数据容量对应于接收缓冲器的区域。
13.根据权利要求1所述的通信装置,其中,确定单元确定在建立通信路径时是否能够保证具有对应于缩放单位容量的容量的缓冲器,所述缩放单位容量有TCP中窗口缩放选项的缩放因子来确定。
14.根据权利要求1所述的通信装置,其中,所述接收缓冲器是对应于所述通信装置和所述其他通信装置之间的逻辑通信路径的TCP连接的缓冲器,以及
其中,通知单元传输TCP中指定的窗口尺寸作为表示允许的数据量的通知。
15.根据权利要求3所述的通信装置,其中,通知单元传输根据TCP中窗口缩放选项的缩放因子的窗口尺寸作为表示允许的数据量的通知,以及
其中,决定单元决定第一数据量和第二数据量中的一者作为允许的数据量,第一数据量是对应于缩放因子确定的缩放单位容量的整数倍的数据量并且等于或小于接收缓冲器的可用存储容量,第一数据量是对应于缩放因子确定的缩放单位容量的整数倍的数据量并且大于接收缓冲器的可用存储容量。
16.一种通信装置执行的通信方法,所述通信方法包括:
确定步骤,确定除了具有在所述通信装置和其他通信装置之间建立逻辑通信路径时保留的容量的接收缓冲器以外,是否也能够保证用于存储从其他通信装置传输的数据中不能够在接收缓冲器中存储的数据的其他缓冲器,所述其他缓冲器被配置为存储接收单元接收的数据中不能在接收缓冲器中存储的数据;
决定步骤,基于所述确定步骤中的确定结果决定允许从所述其他通信装置传输的数据量;
发送步骤,向所述其他通信装置发送表示决定的允许传输的数据量的通知;
接收步骤,响应于所述通知接收从其他通信装置传输的数据;
第一存储步骤,在接收缓冲器中存储接收的数据;以及
第二存储步骤,在所述其他缓冲器中存储接收的数据中不能在接收缓冲器中存储的数据。
17.根据权利要求16所述的通信方法,其中,所述接收缓冲器是在建立通信路径时存储区域与通信路径相关联的方式保留的存储区域,并且
其中,确定步骤包括确定所述其他缓冲器是否能够从没有与特定通信路径关联的存储区域得到保证。
18.根据权利要求16所述的通信方法,其中决定步骤包括:决定第一数据量和第二数据量的一者被设置为允许的数据量,第一数据量等于或小于接收缓冲器的可用存储容量,第二数据量大于接收缓冲器的可用存储容量。
19.一种存储介质,存储使计算机执行通信方法的程序,所述通信方法包括:
确定步骤,确定除了具有在通信装置和其他通信装置之间建立逻辑通信路径时保留的容量的接收缓冲器以外,是否也能够保证用于存储从其他通信装置传输的数据中不能够在接收缓冲器中存储的数据的其他缓冲器,所述其他缓冲器被配置为存储接收单元接收的数据中不能在接收缓冲器中存储的数据;
决定步骤,基于所述确定步骤中的确定结果决定允许从所述其他通信装置传输的数据量;
发送步骤,向所述其他通信装置发送表示决定的允许传输的数据量的通知;
接收步骤,响应于所述通知接收从其他通信装置传输的数据;
第一存储步骤,在接收缓冲器中存储接收的数据;以及
第二存储步骤,在所述其他缓冲器中存储接收的数据中不能在接收缓冲器中存储的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-201254 | 2016-10-12 | ||
JP2016201254A JP2018064187A (ja) | 2016-10-12 | 2016-10-12 | 通信装置、通信方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107948236A CN107948236A (zh) | 2018-04-20 |
CN107948236B true CN107948236B (zh) | 2021-03-09 |
Family
ID=61829201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710914380.3A Active CN107948236B (zh) | 2016-10-12 | 2017-09-30 | 通信装置、通信方法以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10284481B2 (zh) |
JP (1) | JP2018064187A (zh) |
CN (1) | CN107948236B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6693547B2 (ja) * | 2018-09-28 | 2020-05-13 | ダイキン工業株式会社 | 情報送信装置および機器管理システム |
CN109272752B (zh) * | 2018-10-11 | 2021-03-02 | 南威软件股份有限公司 | 一种路口车辆图片采集系统的传输方法及传输系统 |
JP7283215B2 (ja) * | 2019-05-08 | 2023-05-30 | 住友電気工業株式会社 | 車載装置、システム、制御方法、半導体集積回路及びコンピュータプログラム |
CN114221905A (zh) * | 2020-09-03 | 2022-03-22 | 阿里巴巴集团控股有限公司 | 处理单元及流控制单元、以及相关方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581840A (zh) * | 2003-08-14 | 2005-02-16 | 株式会社Ntt都科摩 | 通信控制方法和系统 |
CN101039270A (zh) * | 2007-03-12 | 2007-09-19 | 杭州华为三康技术有限公司 | 支持多通道数据传输的数据传输装置及方法 |
EP1829266B1 (en) * | 2004-12-22 | 2008-10-29 | Telefonaktiebolaget LM Ericsson (publ) | Data flow control with duplicate acknowledgment |
CN102929787A (zh) * | 2011-09-12 | 2013-02-13 | 微软公司 | 用于存储装置组的分配策略 |
CN103051559A (zh) * | 2012-12-28 | 2013-04-17 | 华为技术有限公司 | 数据流接收处理方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005010766A1 (ja) * | 2003-07-24 | 2005-02-03 | Fujitsu Limited | データ格納システム |
JP5049834B2 (ja) | 2008-03-26 | 2012-10-17 | 株式会社東芝 | データ受信装置、データ受信方法およびデータ処理プログラム |
US9804928B2 (en) * | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
US9128638B2 (en) * | 2013-07-22 | 2015-09-08 | Progress Rail Services Corporation | Integrated time-stamped event recorder |
JP6369332B2 (ja) * | 2015-01-05 | 2018-08-08 | 株式会社オートネットワーク技術研究所 | 車載中継装置 |
WO2016181528A1 (ja) * | 2015-05-13 | 2016-11-17 | 株式会社日立製作所 | ストレージ装置 |
US10417102B2 (en) * | 2016-09-30 | 2019-09-17 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic |
-
2016
- 2016-10-12 JP JP2016201254A patent/JP2018064187A/ja active Pending
-
2017
- 2017-09-30 CN CN201710914380.3A patent/CN107948236B/zh active Active
- 2017-10-10 US US15/729,268 patent/US10284481B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581840A (zh) * | 2003-08-14 | 2005-02-16 | 株式会社Ntt都科摩 | 通信控制方法和系统 |
EP1829266B1 (en) * | 2004-12-22 | 2008-10-29 | Telefonaktiebolaget LM Ericsson (publ) | Data flow control with duplicate acknowledgment |
CN101039270A (zh) * | 2007-03-12 | 2007-09-19 | 杭州华为三康技术有限公司 | 支持多通道数据传输的数据传输装置及方法 |
CN102929787A (zh) * | 2011-09-12 | 2013-02-13 | 微软公司 | 用于存储装置组的分配策略 |
CN103051559A (zh) * | 2012-12-28 | 2013-04-17 | 华为技术有限公司 | 数据流接收处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20180102977A1 (en) | 2018-04-12 |
CN107948236A (zh) | 2018-04-20 |
JP2018064187A (ja) | 2018-04-19 |
US10284481B2 (en) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948236B (zh) | 通信装置、通信方法以及存储介质 | |
EP3544261A1 (en) | Data transmission method and device | |
US9906581B2 (en) | Information processing apparatus, control method, and storage medium | |
CN112787945B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
KR20150123185A (ko) | 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법 | |
US8121151B2 (en) | Reception apparatus and method and program | |
US20180139255A1 (en) | Communication apparatus, communication method, and storage medium | |
US20120236927A1 (en) | Transmission apparatus, transmission method, and recording medium | |
US20140297791A1 (en) | Communication apparatus, method of controlling the same, and storage medium | |
CN115396372B (zh) | 数据流的速率控制方法、智能网卡、云端设备及存储介质 | |
US20220286532A1 (en) | Method and apparatus for obtaining shared maximum segment size mss | |
JP6758858B2 (ja) | 通信装置、通信方法及びプログラム | |
JP2017027196A (ja) | 通信装置、電力制御方法、及び電力制御プログラム | |
CN111769910A (zh) | 一种数据传输方法及装置 | |
US20190373085A1 (en) | Transfer apparatus, transfer method, and program | |
JP2019016842A (ja) | 通信装置および制御方法 | |
JP6436853B2 (ja) | 通信装置、通信方法、及びプログラム | |
US11902405B2 (en) | Communication apparatus, communication method, and storage medium | |
WO2021204073A1 (zh) | 一种停止发送调度请求的方法及装置 | |
US20230062831A1 (en) | Communication apparatus and control method thereof, and storage medium | |
JP2018170680A (ja) | 通信装置及び送信制御方法 | |
JP6800514B2 (ja) | 通信装置、その制御方法、およびプログラム | |
JP2009049514A (ja) | データ処理システム、送信装置及び帯域制御装置 | |
RU2439844C2 (ru) | Устройство и способ выполнения передачи обслуживания в сети связи | |
CN116347536A (zh) | 图像帧的获取方法、装置及通信设备 |
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 |