WO2015107653A1 - 通信装置、通信方法、および、通信プログラム - Google Patents
通信装置、通信方法、および、通信プログラム Download PDFInfo
- Publication number
- WO2015107653A1 WO2015107653A1 PCT/JP2014/050687 JP2014050687W WO2015107653A1 WO 2015107653 A1 WO2015107653 A1 WO 2015107653A1 JP 2014050687 W JP2014050687 W JP 2014050687W WO 2015107653 A1 WO2015107653 A1 WO 2015107653A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- communication device
- transmitted
- target data
- communication
- Prior art date
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/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- 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/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1816—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of the same, encoded, message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- 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/20—Traffic policing
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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
Definitions
- the present invention relates to communication performed between a plurality of communication devices.
- deduplication may be performed on data to be transmitted.
- the receiving communication device stores data received from the transmitting communication device in the past in a cache in association with the identifier, and the transmitting communication device also stores the identifier of the data transmitted in the past. I remember it.
- the communication device on the transmission side determines whether the data to be transmitted is data that has already been transmitted, using the identifier of the data.
- An identifier associated with the data is transmitted to the communication device on the receiving side.
- the communication device on the reception side reads out the data associated with the received identifier from the cache, and handles the read data as data transmitted from the communication device on the transmission side.
- the receiving device When using a cache to eliminate duplication in transmission data, the larger the cache size of the receiving communication device, the more data is stored in the cache, making it easier to prevent duplicate data from being transmitted.
- the receiving device since the capacity of the cache included in the communication device on the receiving side is finite, the receiving device deletes data in order from the longest elapsed time since the last access when the cache has no free space. For this reason, there is a case where duplication cannot be efficiently removed by deleting data on the receiving side. For example, even if data A is included a plurality of times in the data to be transmitted, a large amount of non-overlapping data is transmitted between data A transmitted first and data A transmitted later There is a case. At this time, if there is no more free space in the cache of the receiving communication device before the transmission of the data A to be transmitted later, and the data A is deleted by the receiving communication device, the transmitting communication device Is transmitted again to the communication device on the receiving side.
- An object of the present invention is, as one aspect, to efficiently prevent transfer of data including overlapping portions and speed up communication.
- the communication device includes a storage unit, a setting unit, and a transmission unit.
- the storage unit stores the number of times data is transmitted to the data destination in association with an identifier for identifying the data.
- the setting unit stores the target data and the target data as alternative data to be transmitted to the destination as an alternative to the target data. Set to the combination of requested retention requests.
- the setting unit sets an identifier of the target data in the alternative data after transmitting a holding request for the target data.
- the transmission unit transmits the alternative data to the destination.
- the example of the network where the communication apparatus concerning embodiment is used is shown. It is a figure which shows the example of a structure of a communication apparatus. It is a figure which shows the example of the hardware constitutions of a communication apparatus. It is a figure explaining the example of a process of a duplication detection part. It is a figure which shows the example of a transmission data table. It is a figure explaining the example of a transmission process. It is a figure which shows the example of the storage method of a data in a reception cache, and the example of the determination method of an index value. It is a figure explaining the example of a communication process. It is a flowchart explaining the example of a process of the communication apparatus which transmits data.
- FIG. 1 shows an example of communication according to the embodiment.
- the communication device on the transmission side is referred to as communication device 10a
- the communication device on the reception side is referred to as communication device 10b
- the reception cache included in the communication device 10b is referred to as a reception cache 32b.
- the communication device 10a When the communication device 10a transmits data to the communication device 10b, the communication device 10a generates an identifier that can uniquely identify the transmission target data.
- the communication device 10a transmits data to be transmitted to the communication device 10b, the communication device 10a stores the number of times the data has been transmitted to the receiving communication device in association with the identifier.
- the communication device 10a stores a threshold value N in advance.
- the communication device 10a adds information prohibiting the transmission data to be stored in the cache, and sends the data to the communication device 10b. Send.
- information that prohibits holding of data to be transmitted in a cache may be referred to as “prohibited information”.
- the communication device 10b does not store the data received together with the prohibition information in the reception cache 32b.
- the communication device 10a transmits information to the communication device 10b with information requesting to hold the data to be transmitted in the cache.
- the information that requests the transmission data to be held in the cache may be referred to as a “holding request”.
- the communication device 10b stores the data received together with the holding request in the reception cache 32b in association with the identifier of the data.
- the communication device 10a When the number of transmissions of the same data exceeds the threshold value N, the communication device 10a notifies the communication device 10b of the identifier of the data instead of the data to be transmitted.
- the communication device 10b reads data associated with the notified identifier from the reception cache 32b, and handles the read data as data received from the communication device 10a.
- the communication device 10a and the communication device 10b start communication from time T0 will be described as an example.
- the threshold value N is set to 2.
- the communication device 10a compares the number of transmissions of the data A to the communication device 10b with the threshold value N in order to transmit the data A to the communication device 10b at time T0. At this point in time, data A has not been transmitted to the communication device 10b, so this transmission is the first time. Since the number of transmissions in the current transmission does not reach the threshold value N, the communication device 10a transmits the prohibition information about the data A together with the data A to the communication device 10b as indicated by the arrow ⁇ in FIG.
- the communication device 10b does not store the data A in the reception cache 32b. For this reason, as shown in the reception cache 32b_0, data is not stored in the reception cache 32b. Thereafter, the communication device 10a also transmits the data B, data C, data D, and data E to the communication device 10b together with the prohibition information in the same manner as the data A. For this reason, the communication device 10b does not store any data received from the communication device 10a in the reception cache 32b until the data E is received.
- the communication device 10a performs processing for transmitting the data A to the communication device 10b again.
- the number of transmissions of data A from the communication device 10a to the communication device 10b is two in this transmission. Since the number of transmissions is the same as the threshold value N, the communication device 10a transmits a holding request for the data A together with the data A to the communication device 10b as indicated by an arrow ⁇ in FIG.
- the communication device 10b stores the data A in the reception cache 32b. Therefore, the communication device 10b holds the reception cache 32b_1 by the transmission process performed at time T1.
- the communication device 10a transmits the data F for the first time, the data F is transmitted to the communication device 10b together with the prohibition information. Then, since the communication device 10b does not store the data F, the data held in the reception cache 32b is not changed.
- the communication device 10a performs a second transmission process of the data B toward the communication device 10b.
- the communication device 10a transmits the data B and the data B holding request to the communication device 10b as indicated by the arrow ⁇ in FIG. Since the communication device 10b stores the data B in the reception cache 32b, the communication device 10b updates the reception cache 32b_1 to the reception cache 32b_2 by transmission processing performed at time T2.
- the communication device 10a transmits data G and data H together with the prohibition information to the communication device 10b. Since the communication device 10b does not store the data G and data H, the data held in the reception cache 32b_2 is not changed.
- the communication device 10a tries to transmit data A for the third time.
- the communication device 10a determines that the data A is already stored in the communication device 10b. Therefore, the communication device 10a transmits the identifier of data A to the communication device 10b as indicated by an arrow ⁇ .
- the communication device 10b searches the reception cache 32b_2 using the received identifier as a key, and acquires data A. The communication device 10b handles the acquired data A as transmission data from the communication device 10a.
- the communication device 10a performs the third transmission process of the data B.
- the number of transmissions exceeds the threshold value N, so the communication device 10a transmits the identifier of data B to the communication device 10b.
- the communication device 10b searches the reception cache 32b_2 using the identifier of the data B as a key, and acquires the data B.
- the communication device 10b handles the acquired data B as transmission data from the communication device 10a.
- the data transmitted the number of times equal to or greater than the threshold is stored in the reception cache 32 included in the communication device 10 on the reception side. 10 is not stored. For this reason, even when the data transmitted only the number of times less than the threshold is included between the data transmitted the number of times equal to or greater than the threshold, the receiving side communication device 10 is duplicated.
- the transmitted data can be stored in the reception cache 32.
- data other than data A is transmitted from the communication device 10a to the communication device 10b by the capacity of the reception cache 32b between the transmission of data A at time T1 and the transmission of data A at time T3. Sent.
- the data transmitted at times T1 to T3 are not stored in the reception cache 32b because data other than the data B is transmitted only the number of times equal to or less than the threshold value. Therefore, there is no shortage of capacity in the reception cache 32b, and the data A is held in the reception cache 32b even when the data A is retransmitted at time T3. For this reason, deduplication is efficiently performed.
- the communication device 10 on the transmission side by using the number of times of data transmission as an index of the occurrence frequency of duplication, there is a relatively high possibility that the communication device 10 on the reception side receives duplicate data. High data is selectively stored. Therefore, the communication device 10 can efficiently prevent transfer of data including overlapping portions.
- FIG. 2 shows an example of a network in which the communication apparatus 10 according to the embodiment is used.
- FIG. 2 shows an example of a network when a device in the area 4a communicates with a device in the area 4b across the Wide Area Network (WAN) 5.
- the areas 4a and 4b include an arbitrary number of arbitrary types of apparatuses that perform communication.
- the server 4a includes the servers 1a to 1c, the tablet 2a, and the mobile phone 3a in the area 4a, and the server 1d to 1f, the tablet 2b, and the mobile phone 3b are included in the area 4b.
- a device included in the area 4a accesses the WAN 5 via the communication device 10a, and a device included in the area 4b accesses the WAN 5 via the communication device 10b.
- the communication device 10a and the communication device 10b can operate as a WAN acceleration device.
- the device included in the area 4a transmits data to the device included in the area 4b via the communication device 10a and the communication device 10b.
- FIG. 3 shows an example of the configuration of the communication device 10.
- the communication device 10 includes a transmission unit 11, a reception unit 12, a transmission / reception unit 13, a connection management unit 14, a cache management unit 15, a data processing unit 16, a duplicate detection unit 20, and a storage unit 30.
- the duplication detection unit 20 includes a division unit 21, an identifier generation unit 22, and a setting unit 23.
- the storage unit 30 includes a transmission data table 31 and a reception cache 32.
- the transmission unit 11 is used when the communication device 10 transmits a packet to a device included in the WAN 5 or another communication device 10.
- the transmission unit 11 transmits the packet input from the setting unit 23 or the like toward the destination.
- the receiving unit 12 receives a packet from a device included in the WAN 5 or another communication device 10.
- the receiving unit 12 outputs the received packet to the cache management unit 15.
- the transmission / reception unit 13 is used when the communication device 10 transmits / receives a packet between the communication device 10 and a device that communicates without going through the WAN 5.
- a device that communicates with the communication device 10 without going through the WAN 5 is a device such as the server 1 included in the area 4 that can communicate with the communication device 10.
- the transmission / reception unit 13 outputs the packet received from the device included in the area 4 to the data processing unit 16.
- the connection management unit 14 holds information regarding the connection state between the communication devices 10 and the connection state with the devices included in the area 4 in which the communication device 10 can communicate.
- the cache management unit 15 stores the data acquired together with the holding request in the reception cache 32, and further outputs the data in the received packet to the data processing unit 16.
- the cache management unit 15 outputs the data acquired together with the prohibition information to the data processing unit 16, but does not store the data acquired together with the prohibition information in the reception cache 32.
- the cache management unit 15 reads data associated with the identifier from the reception cache 32 and uses the read data as a data processing unit. 16 is output.
- the received packet is a control packet for notifying information of the reception cache 32 held by the communication device 10 on the data receiving side
- the cache management unit 15 outputs the input control packet to the setting unit 23. To do.
- the data processing unit 16 processes the data acquired from the cache management unit 15 as data transmitted from the communication device 10 as a transmission source.
- the data processing unit 16 processes the input data using an application or the like.
- the data processing unit 16 transfers the data to the destination device. Process to do.
- the duplication detection unit 20 operates in the communication device 10 that transmits data to another communication device 10.
- the dividing unit 21 generates data having a size that can be included in each transmission packet by dividing a file to be transmitted into a predetermined data length.
- data of a size that can be included in each transmission packet is referred to as “chunk”.
- a chunk is a block of data that is a target for determining whether data duplication has occurred and for specifying the number of transmissions.
- the dividing unit 21 outputs the generated chunk to the identifier generating unit 22.
- the identifier generation unit 22 generates an identifier for uniquely identifying each chunk.
- the method for generating the identifier is arbitrary. For example, a hash function can be used for generating the identifier.
- the identifier generation unit 22 outputs the generated identifier to the setting unit 23.
- the threshold value N indicates the number of times the chunk to be processed is transmitted to the receiving side communication device 10 including transmission of a packet having a holding request. While the number of transmissions is smaller than the threshold value N, the setting unit 23 includes the chunk and the prohibition information for the chunk in the transmission packet. On the other hand, when the number of transmissions coincides with the threshold value N, the setting unit 23 generates a transmission packet including the retention request in the processing target chunk. When the number of transmissions exceeds the threshold value N, the setting unit 23 includes the identifier in the transmission packet and transmits it to the communication device 10 on the reception side.
- the setting unit 23 When the receiving-side communication device 10 notifies the transmitting-side communication device 10 of the status of the receiving-side reception cache 32 using an index value indicating an area in which each chunk is held, the setting unit 23
- the index value may be used as an identifier. An example of communication using the index value will be described later.
- FIG. 4 shows an example of the hardware configuration of the communication device 10.
- the communication device 10 includes a processor 101, a memory 102, a bus 105, an external storage device 106, and a network connection device 109. Further, as an option, the communication device 10 may include an input device 103, an output device 104, and a medium driving device 107.
- the communication device 10 may be realized by, for example, a computer.
- the processor 101 can be an arbitrary processing circuit including a central processing unit (CPU).
- the processor 101 operates as the connection management unit 14, the cache management unit 15, the data processing unit 16, and the duplication detection unit 20.
- the processor 101 can execute, for example, a program stored in the external storage device 106.
- the memory 102 operates as the storage unit 30 and stores the transmission data table 31 and realizes the reception cache 32. Further, the memory 102 appropriately stores data obtained by the operation of the processor 101 and data used for processing of the processor 101.
- the network connection device 109 is used for communication with other devices, and operates as the transmission unit 11, the reception unit 12, and the transmission / reception unit 13.
- the input device 103 is realized as, for example, a button, a keyboard, or a mouse
- the output device 104 is realized as a display or the like.
- the bus 105 connects the processor 101, the memory 102, the input device 103, the output device 104, the external storage device 106, the medium drive device 107, and the network connection device 109 so that data can be exchanged between them.
- the external storage device 106 stores programs, data, and the like, and provides the stored information to the processor 101 and the like as appropriate.
- the medium driving device 107 can output the data of the memory 102 and the external storage device 106 to the portable storage medium 108, and can read programs, data, and the like from the portable storage medium 108.
- the portable storage medium 108 may be any portable storage medium including a floppy disk, a Magneto-Optical (MO) disk, a Compact Recordable (CD-R), and a Digital Versatile Disk Recordable (DVD-R). It can be a medium.
- a floppy disk a Magneto-Optical (MO) disk
- CD-R Compact Recordable
- DVD-R Digital Versatile Disk Recordable It can be a medium.
- the setting unit 23a is the setting unit 23 provided in the communication device 10a
- the reception cache 32b is the reception cache 32 provided in the communication device 10b.
- the communication device 10a receives data from the device included in the area 4a via the transmission / reception unit 13a.
- the transmission / reception unit 13a outputs the received packet to the data processing unit 16a.
- the data processing unit 16a acquires the received data and the information of the transmission source and the destination from the input packet and sets it as data addressed to the communication device 10b.
- the data processing unit 16a outputs data addressed to the communication device 10b to the dividing unit 21a.
- FIG. 5 is a diagram for explaining an example of processing in the duplication detection unit 20a.
- the dividing unit 21a divides input data into chunks having a predetermined data length. In the example of FIG. 5, the dividing unit 21a divides input data into X chunks. The dividing unit 21a outputs each chunk to the identifier generating unit 22a. If the size of the data input to the dividing unit 21a is equal to or smaller than the size of data allowed as a chunk, the dividing unit 21a outputs the data to the identifier generating unit 22a without dividing the data.
- the identifier generation unit 22a generates a hash value from a chunk using a hash function held in advance, and uses the obtained hash value as an identifier for each chunk.
- the hash function used in the identifier generation unit 22a is an arbitrary function that can generate a hash value that can uniquely identify each chunk.
- a hash function such as Secure Hash Algorithm-1 (SHA1) may be used in the identifier generation unit 22a.
- SHA1 Secure Hash Algorithm-1
- the identifier generation unit 22a associates each chunk with a hash value and outputs the associated chunk to the setting unit 23a.
- the setting unit 23a uses the hash value to search the transmission data table 31a and update the transmission data table 31a.
- FIG. 6 shows an example of the transmission data table 31.
- the transmission data table 31 illustrated in FIG. 6 associates a hash value, the number of transmissions, and an index (index).
- the hash value is a value generated by the identifier generation unit 22a.
- the setting unit 23a records the number of times of transmission to the communication device 10b for each chunk identified by the hash value.
- the index is a value used for specifying an area in which the chunk specified by the hash value is held in the reception cache 32b held by the receiving-side communication device 10b.
- the setting unit 23a calculates the index using the size of the chunk to be transmitted with the holding request, and records the obtained value in the transmission data table 31a.
- FIG. 7 shows an example of a transmission process performed when a chunk that is data A is input to the setting unit 23a as Hash1.
- the data A is data having a size less than or equal to the size allowed as a chunk.
- a hash value Hash1 and data A are input from the identifier generation unit 22a to the setting unit 23a. Since no data has been transmitted from the communication device 10a to the communication device 10b so far, the setting unit 23a generates a Hash1 chunk entry in the transmission data table 31a and sets the number of Hash1 chunk transmissions to 1. To do. At the time when a new entry is generated, the setting unit 23a sets the index value to be undetermined. Therefore, for Hash1, the data shown in the first entry of the transmission data table 31a_1 in FIG. 6 is recorded in the transmission data table 31a.
- the setting unit 23a compares the number of transmissions of the Hash1 chunk with the threshold value N after updating the entry in the transmission data table 31a. Here, since the number of transmissions of Hash1 is 1, the number of transmissions is smaller than the threshold value N. Therefore, the setting unit 23a generates a packet P1 addressed to the communication apparatus 10a using information such as the Hash1 chunk (data A), prohibition information, and the final destination of the data A as a payload.
- the prohibition information can take any form as long as it is information that can notify the cache management unit 15b in the communication device 10b that the data in the payload is not stored in the reception cache 32b.
- the two bits immediately after the header in the packet are used as a flag used by the cache management unit 15b to determine whether to store the data in the payload in the reception cache 32b.
- the 2-bit value immediately after the header is 00
- the 2-bit value immediately after the header is 01.
- the setting unit 23a outputs the generated packet P1 to the transmission unit 11a.
- the transmitter 11a transmits the packet P1 to the communication device 10b as indicated by C1 in FIG.
- the reception unit 12b of the communication device 10b Upon receiving the packet P1 transmitted from the communication device 10a, the reception unit 12b of the communication device 10b outputs the packet P1 to the cache management unit 15b. Since the 2-bit value immediately after the header in the packet is 00, the cache management unit 15b determines that the data with the prohibition information has been acquired. Then, the cache management unit 15b extracts the data A and final destination information from the packet P1, and outputs them to the data processing unit 16b. At this time, as indicated by C1 in FIG. 7, the cache management unit 15b does not store the extracted data A in the reception cache 32b. The data processing unit 16b generates a packet for transmitting the data A to the devices in the area 4b based on the information acquired from the cache management unit 15b. The data processing unit 16b transmits the generated packet to the destination device via the transmission / reception unit 13b.
- the transmission data table 31a is also updated. Therefore, for example, when the chunks Hash1 to Hash6 are transmitted once from the communication device 10a to the communication device 10b, the transmission data table 31a is as shown in the transmission data table 31a_1 shown in FIG.
- the setting unit 23a searches the transmission data table 31a_1 (FIG. 6) using the hash value called Hash1 input from the identifier generation unit 22a as a key. Then, the information of the first entry is hit. Therefore, the setting unit 23a compares the value obtained by incrementing the number of transmissions by one with the threshold value N.
- the value of the number of transmissions associated with Hash1 in the transmission data table 31a_1 is 1, and the setting unit 23a transmits the chunk identified by Hash1 to the communication device 10b by this processing is 2. It will be the second time. Since the threshold value N is 2, the setting unit 23a determines that the value obtained by incrementing the transmission count by 1 matches the threshold value N. Therefore, the setting unit 23a requests the communication device 10b to hold the chunk identified by Hash1 in the reception cache 32b.
- the setting unit 23a sets the total value of the data sizes that have been requested to be held to the communication device 10b so far as the index value of the area in which the Hash1 data is held in the reception cache 32b of the communication device 10b. To do. Here, it is assumed that the setting unit 23a has not transmitted data to the communication device 10b with a holding request so far. Then, the setting unit 23a sets the index of Hash1 to 0. Therefore, the information in the entry for Hash1 in the transmission data table 31a is updated as shown in the first entry of the transmission data table 31a_2 by the processing of the data A received by the communication device 10a for the second time.
- the setting unit 23a stores a value obtained by adding the data length of the data for which the holding request is issued to the index of the data for which the holding request is issued as an index for the data to be transmitted next with the holding request. For example, when the data size of Hash1 is 1000 bytes, the setting unit 23a stores that the index value of data that is next requested to be held by the communication device 10b is 1000.
- the setting unit 23a generates a packet P2 including the data A and the holding request in order to request the communication device 10b to hold the chunk identified by Hash1 in the reception cache 32b.
- the setting unit 23a outputs the generated packet P2 to the transmission unit 11a.
- the transmitter 11a transmits the packet P2 to the communication device 10b as indicated by C2 in FIG.
- the cache management unit 15b of the communication device 10b acquires the packet P2 via the reception unit 12b, similarly to the procedure (3). Since the 2-bit value immediately after the header in the packet is 01, the cache management unit 15b determines that the data to which the holding request is attached has been acquired. Then, the cache management unit 15b extracts the data A and final destination information from the packet P2, and outputs them to the data processing unit 16b. Further, as indicated by C2 in FIG. 7, the cache management unit 15b stores the extracted data A in the reception cache 32b. The data processing unit 16b performs processing similar to the procedure (3) based on the information acquired from the cache management unit 15b.
- the communication device 10a receives the data B for the second time from the devices in the area 4a.
- the hash value of the data B is Hash2.
- the communication device 10a transmits a holding request for the data B and the data B to the communication device 10b using the same processing as in the procedures (5) and (6). That is, when the Hash2 data is acquired as a transmission target for the second time, the setting unit 23a attaches a holding request to the Hash2 data and transmits it to the communication device 10b. At this time, the setting unit 23a sets the index value of Hash2 to 1000 according to the calculation in the procedure (6).
- the information in the transmission data table 31a for Hash2 is updated as shown in the second entry of the transmission data table 31a_2 in FIG.
- the setting unit 23a sets the index value for the data to be issued a holding request next to 2200.
- FIG. 8 shows an example of a data storage method and an index value determination method in the reception cache 32.
- the table on the left side of FIG. 8 is an example of information held for the cache management unit 15b to manage the storage status of data in the reception cache 32b.
- the figure on the right shows an example of data storage in the reception cache 32b.
- the cache management unit 15b stores, for each chunk stored in the reception cache 32b, a hash value, a capacity (data length), and an index value for specifying the head position of the area in which the chunk is stored. .
- the cache management unit 15b is identified by Hash2 in the area starting from the index 1000.
- the chunk identified by Hash2 is data B
- the chunk of Hash2 is stored following the area where data A is stored in the reception cache 32b, as shown on the right side of FIG.
- the cache management unit 15b stores the storage status of the Hash2 chunk as shown in the second entry of the table on the left side of FIG.
- the transmission data table 31a held by the communication device 10a is the transmission data table 31a_2 (FIG. 6). ) As shown.
- the setting unit 23a searches the transmission data table 31a_2 (FIG. 6) using the hash value Hash1 input from the identifier generation unit 22a as a key. Then, it is determined from the first entry that the Hash1 chunk has already been transmitted to the second floor. Therefore, the setting unit 23a compares the value obtained by incrementing the number of transmissions by one with the threshold value N.
- the threshold N is 2 while the chunk identified by Hash1 is transmitted to the communication device 10b for the third time, and therefore the setting unit 23a sets the number of transmissions for the chunk of Hash1 to the threshold N. Judged to exceed.
- the setting unit 23a generates a packet including a value for identifying the chunk instead of the chunk identified by Hash1 in the communication device 10b.
- the value used to identify the chunk is arbitrary information that can uniquely identify the chunk in the communication device 10b.
- the index value and the data length of the chunk may be included in the packet as the chunk identifier.
- the setting unit 23a outputs, to the transmission unit 11a, a packet P3 including 0 as an index associated with Hash1 and data having a data length of 1000 bytes as data.
- the setting unit 23a includes information indicating that the data to be transmitted is information for identifying a chunk in the packet P3.
- the setting unit 23a sets the value of 2 bits immediately after the header in the packet to 11 as information indicating that the data to be transmitted is information for identifying the chunk. As illustrated in C3 of FIG. 7, the transmission unit 11a transmits the packet P3 to the communication device 10b. Note that the setting unit 23a updates the number of transmissions for the Hash1 chunk of the transmission data table 31a.
- the cache management unit 15b of the communication device 10b acquires the packet P3 via the reception unit 12b, similarly to the procedure (3). Since the 2-bit value immediately after the header in the packet is 11, the cache management unit 15b determines that the index value and the data length associated with the chunk stored in the reception cache 32b are notified. Then, the cache management unit 15b extracts an index value and a data length from the packet P3. The cache management unit 15b acquires the extracted data length information as data received from the communication device 10a from the area of the reception cache 32b represented by the extracted index value. The cache management unit 15b outputs the acquired data to the data processing unit 16b. The data processing unit 16b performs processing similar to the procedure (3) based on the information acquired from the cache management unit 15b.
- FIG. 9 is a diagram for explaining an example of a communication processing procedure.
- the efficiency is improved between the communication device 10a and the communication device 10b when data is transmitted from the device in the area 4a to the device in the area 4b.
- deduplication processing is performed. That is, when the communication device 10a receives transmission data from the device in the area 4a to the device in the area 4b, the communication device 10a appropriately divides the received data into chunks and determines the number of transmissions for each chunk. .
- the setting unit 23a in the communication device 10a uses the data in the transmission data table 31a to determine the relationship between the number of transmissions and the threshold value.
- the communication device 10a transmits a packet including actual data to the communication device 10b.
- the setting unit 23a suppresses data storage in the communication device 10b by including prohibition information in the packet transmitted to the communication device 10b.
- the setting unit 23a causes the communication device 10b to hold the chunk to be transmitted by including a holding request.
- the setting unit 23a transmits a packet including an identifier (ID data) that can uniquely identify a chunk instead of actual data to the communication device 10b. To do.
- ID data an identifier
- the setting unit 23a generates alternative data to be transmitted as an alternative to the transmission target data according to the comparison result between the number of transmissions of the same data and the threshold value N, and the generated alternative data is received by the communication device 10 on the receiving side. Data to be sent to. Further, the communication device 10a stores the data transmission status in the transmission data table 31a as indicated by an arrow C.
- the communication device 10b uses the actual data of the chunk for transfer processing as indicated by an arrow D in FIG. 9, but does not store the received data in the reception cache 32b.
- the communication device 10b uses the actual data of the chunk for the transfer process and further stores the actual data in the reception cache 32b as indicated by an arrow E in FIG.
- the cache management unit 15b in the communication device 10b receives the chunk actual data identified by the identifier as indicated by an arrow F in FIG. Restore data by reading from.
- the communication device 10b uses the restored data for the transfer process.
- the identifier used for identifying the chunk can be the index value and the data length of the chunk, but other information may be used. For example, the hash value of the chunk may be used as the identifier.
- FIG. 10 is a flowchart for explaining an example of processing in the communication apparatus 10 that transmits data.
- the transmission / reception unit 13 of the transmission-side communication device 10 acquires transmission data (step S1).
- the division unit 21 divides the data into chunks having a predetermined length or less (step S2).
- the identifier generation unit 22 calculates a hash value for each chunk generated by the division unit 21 using a hash function (step S3).
- the identifier generation unit 22 outputs the hash value and chunk data to the setting unit 23.
- the setting unit 23 uses the transmission data table 31 to identify the number of times the current transmission is transmitted to the same communication device 10 (step S4).
- the setting unit 23 determines whether or not the number of transmissions when the current transmission is performed is less than a threshold (step S5).
- the setting unit 23 transmits the actual data and the prohibition information to the communication device 10 on the receiving side (less than the threshold in step S5, step S6). If the number of transmissions at the time of the current transmission is not less than the threshold, the setting unit 23 determines whether the number of transmissions at the time of the current transmission exceeds the threshold (No in step S5, step S7). .
- the setting unit 23 transmits the actual data and the holding request to the communication device 10 on the receiving side (matches the threshold in step S7, step S8). If the number of transmissions exceeds the threshold, the setting unit 23 transmits only the chunk identifier without including the actual data to the communication device 10 on the receiving side (greater than the threshold in step S7, step S9).
- FIG. 11 is a flowchart for explaining an example of processing in the communication apparatus 10 that receives data.
- FIG. 11 is an example.
- step S23 instead of determining whether to include prohibition information, it may be modified to determine whether to include a retention request.
- the receiving unit 12 When receiving the packet from the communication device 10 on the transmission side, the receiving unit 12 outputs the data to the cache management unit 15 (step S21).
- the cache management unit 15 determines whether or not actual data is included in the packet by specifying the value of a predetermined area in the packet (step S22). When the actual data is included in the packet, the cache management unit 15 determines whether the prohibition information is included in the packet (Yes in step S22, step S23).
- the cache management unit 15 When the prohibition information is not included in the packet, the cache management unit 15 writes the actual data to the reception cache 32 and then performs the actual data transfer process (No in step S23, steps S24 and S25). On the other hand, when the prohibition information is included in the packet, the cache management unit 15 performs the transfer process of the actual data without writing the actual data to the reception cache 32 (Yes in Step S23, Step S25). On the other hand, if the received packet does not include actual data, the cache management unit 15 acquires the data identifier from the received packet (No in step S22, step S26). The cache management unit 15 reads the data associated with the acquired identifier from the reception cache 32 (step S27). The cache management unit 15 outputs the read data to the data processing unit 16. The data processing unit 16 performs a transfer process of data input from the cache management unit 15 (step S28).
- transmission data is not stored in the communication device 10 on the reception side while the number of transmissions is less than the threshold. For this reason, even when data that is transmitted only less than the threshold is included between the transmitted data and the number of times that is equal to or greater than the threshold, the receiving-side communication device 10 can transmit the number of times that is equal to or greater than the threshold. High-performance data can be selectively stored in the reception cache 32. Therefore, in the system using the communication device 10, transfer of data including overlapping portions is efficiently prevented.
- the deduplication performance degradation is only about 20%. Therefore, as shown in the first embodiment, even if the actual data with the prohibition information is transmitted to the communication device 10 on the reception side for the first few times, even if the storage in the reception cache 32 is prevented, the data is transmitted / received. It can be said that it has almost no effect on the reduction of data volume.
- the data stored in the reception cache 32 is a chunk that is transmitted to the communication device 10 on the reception side at least as many times as the threshold value. For this reason, the capacity of the reception cache 32 in the communication device 10 can be reduced as compared with the case where all the reception data is stored in the reception cache.
- the case where the communication device 10a is the transmission side and the communication device 10b is the reception side has been described as an example for easy understanding.
- any communication device 10 is a device on both the transmission side and the reception side. Can work as.
- the communication device 10 can transmit data to the plurality of communication devices 10 and can also receive data from the plurality of communication devices 10. For this reason, when communication is performed with a plurality of communication devices 10, the cache management unit 15 divides the information in the reception cache 32 for each combination of the communication device 10 on the transmission side and the communication device 10 on the reception side. to manage.
- the cache management unit 15 separately manages the data stored in the index 0 transmitted from the communication device 10a to the communication device 10b and the data stored in the index 0 transmitted from the communication device 10c to the communication device 10b. it can.
- the setting unit 23 also has a separate transmission data table 31 for each destination communication device 10, and information to be included in the transmission packet using the transmission data table 31 that matches the communication device 10 on the reception side. Is set.
- bps Bit Per Second
- FIG. 12 is a diagram illustrating an example of the configuration of the communication device 50 according to the second embodiment.
- the communication device 50 includes a threshold setting unit 40, and further includes a transmission unit 11, a reception unit 12, a transmission / reception unit 13, a connection management unit 14, a cache management unit 15, a data processing unit 16, a duplication detection unit 20, and a storage unit 30.
- a transmission unit 11, the reception unit 12, the transmission / reception unit 13, the connection management unit 14, the cache management unit 15, the data processing unit 16, the duplication detection unit 20, and the storage unit 30 operate in the same manner as in the first embodiment.
- the threshold setting unit 40 includes a threshold determination unit 41 and a traffic rate calculation unit 42.
- the traffic rate calculation unit 42 acquires from the connection management unit 14 the number of communication devices 50 with which the communication device 50 is communicating as the receiving side and the identifiers of those communication devices 50.
- the threshold value determination unit 41 calculates the traffic rate of data received from each communication device 50 on the transmission side.
- the traffic rate calculation unit 42 outputs the obtained result to the threshold value determination unit 41.
- the threshold determination unit 41 obtains the free capacity of the reception cache 32, and calculates the number of transmissions (threshold N) when transmitting data with a holding request for each transmission source device. At this time, the threshold value determination unit 41 determines the threshold value N such that the lower the received data traffic rate, the smaller the threshold value N used in the transmission-side apparatus. For this reason, the lower the traffic rate, the smaller the number of times the same data is repeatedly transmitted and received, and the communication path can be used effectively. On the other hand, when the traffic rate is high, the threshold value N is set to be relatively large, so that the same data may be repeatedly transmitted / received, but the data stored in the reception cache 32 is transmitted by the communication device 50 on the reception side. It can be limited to data with a relatively large number of times.
- FIG. 13 is a diagram illustrating an example of a threshold value determination method.
- the communication device 50a receives data from the communication devices 50b to 50e and the communication device 50a calculates the threshold value N used in each of the communication devices 50b to 50e will be described as an example.
- the communication device 50a in order to make it easier to see whether the threshold value is calculated when each of the communication devices 50a to 50e operates as the transmission side or the reception side, the communication device 50a is referred to as a reception device, a communication device.
- the devices 50b to 50e are referred to as transmitting devices.
- the connection management unit 14a in the communication device 50a notifies the traffic rate calculation unit 42a that the communication device 50a is communicating as the receiving side with the communication devices 50b to 50e.
- the traffic rate calculation unit 42a calculates the traffic rate of data received from each of the communication devices 50b to 50e. For example, the traffic rate calculation unit 42a can calculate the traffic rate by counting the number of packets received during a predetermined time for each transmission source device. In addition, the traffic rate calculation unit 42a can calculate the traffic rate from the time taken to receive a predetermined amount of data for each transmission source device. In the example of FIG.
- the traffic rate calculation unit 42a communicates with the communication device 50a at 50 Mbps with the communication device 50b, 20 Mbps with the communication device 50c, and 15 Mbps with the communication devices 50d and 50e. And calculate.
- the traffic rate calculation unit 42a outputs the traffic rate value obtained for each communication device 50 to the threshold value determination unit 41a.
- the threshold value determination unit 41a calculates the free capacity of the reception cache 32a.
- M the free capacity of the reception cache 32a
- C is a constant.
- R is the ratio of the traffic rate to the communication device 50 for which the threshold value N is calculated, out of the total traffic rate of the data received by the communication device 50a.
- the multiplier C is set so that the threshold value N falls within a predetermined value range of about 1 to 20.
- the threshold value determination unit 41a calculates the threshold value N using the same constant C for all the communication devices 50b to 50e that have transmitted data to the communication device 50a. In addition, when the threshold value N obtained by calculation is not an integer, the threshold value determination unit 41a sets the maximum value of an integer smaller than the calculated value as the threshold value N. When the maximum integer value smaller than the obtained calculated value is smaller than 1, the threshold value determining unit 41a sets the threshold value N to 1.
- the threshold value determination unit 41 calculates the threshold value N from Equation (1) as follows.
- the threshold value determination unit 41a sets the threshold value N between the communication device 50b and the threshold value N between the communication device 50c and the communication device 50c. Further, for the communication device 50d and the communication device 50e, since the calculated value is 1.5, the threshold value N is set to 1.
- the threshold value determination unit 41a generates a control packet for notifying the communication device 50 on the transmission side of the obtained value.
- the control packet includes a header for designating the destination address, information indicating that the value of the threshold value N is notified, and the obtained threshold value N.
- the threshold value determination unit 41a transmits the generated control packet to the transmission destination communication device 50 via the transmission unit 11a.
- the receiving unit 12b of the communication device 50b outputs the control packet received from the communication device 50a to the setting unit 23b.
- the setting unit 23b updates the stored threshold value N to a value stored in the control packet. After the threshold value N is updated, the setting unit 23b thereafter sets data to be transmitted to the communication device 50a using the updated value. That is, while the number of transmissions is smaller than the newly set threshold value N, the setting unit 23b sets the real data with the prohibition information as a transmission target, and in the same number of transmissions as the new threshold value N, the actual data And the held information are to be transmitted to the communication device 50a.
- the communication device 50c to the communication device 50e perform the same processing when receiving the control packet from the communication device 50a.
- the transmission side communication device 50 transmits the data together with the holding request when the number of times of transmission of the same data reaches the threshold value N. Therefore, the threshold value N is the same data without attaching the holding request to the transmission side communication device 50. It can be said that it is an index of the upper limit value of the number of times that can be transmitted. For this reason, in the second embodiment, an index of the upper limit value of the number of times that the receiving side communication device 50 can transmit the same data to the transmitting side communication device 50 without attaching a holding request is determined. It can be said.
- FIG. 14 is a flowchart illustrating an example of processing of the communication device 50 that receives data.
- FIG. 14 shows an example in which the recalculation of the threshold value N is performed every predetermined period.
- each communication device 50 holds a timer, and the communication device 50 on the receiving side performs a calculation process of the threshold value N every predetermined cycle.
- variables n and m and a constant Y are used.
- the constant Y is the number of communication devices 50 that are transmitting data to the communication device 50 that calculates the threshold value N.
- the variable n is a variable used for counting the number of paths for which the traffic rate has been calculated.
- the variable m is used to count the number of communication devices 50 that have calculated the threshold value N.
- the communication device 50 on the transmission side is described as a transmission device for convenience in the flowchart.
- the traffic rate calculation unit 42 initializes a timer (step S41).
- the traffic rate calculation unit 42 sets the variable n to 1 and acquires the number (Y) of transmission source communication devices 50 that are transmitting data from the connection management unit 14 to the communication device 50 (step S42).
- the traffic rate calculation unit 42 calculates the traffic rate of communication with the communication device 50 on the nth transmission side (step S43).
- the traffic rate calculation unit 42 increments n by 1 and determines whether n is Y or less (steps S44 and S45). When the variable n is equal to or less than Y, the traffic rate calculation unit 42 repeats the processing after step S43 (Yes in step S45).
- the threshold value determination unit 41 sets the variable m to 1 (No in step S45, step S46).
- the threshold value determination unit 41 calculates a threshold value N to be used with the m-th transmission-side communication device 50 (step S47).
- the threshold value determination unit 41 increments the variable m by 1, and determines whether m is equal to or less than Y (steps S48 and S49).
- the threshold value determination unit 41 repeats the processing after step S47 (Yes in step S49).
- the traffic rate calculation unit 42 determines whether the timer has expired (No in step S49, step S50). If the timer has not expired, the traffic rate calculation unit 42 waits until the timer expires (No in step S50). When the timer expires, the traffic rate calculation unit 42 repeats the processing after step S41 (Yes in step S50).
- the communication device 50 can change the value of the threshold value N according to the free area of the reception cache 32. Further, the calculation of the threshold value N used by the individual communication devices 50 on the transmission side is performed periodically, so even when the number of communication devices 50 on the transmission side communicating with the communication device 50 on the reception side varies. The threshold value N can be changed according to the fluctuation. Therefore, since the value of the threshold value N is autonomously changed according to the status of communication performed in the communication device 50, communication settings suitable for the status are set.
- the information transmitted for identifying the chunk when the number of transmissions exceeds the threshold is arbitrary information that can uniquely identify the chunk in the communication device 10 on the receiving side, and may be a hash value, for example.
- the setting unit 23 included in the communication device 10 on the transmission side includes the hash value for the chunk to be transmitted in a packet instead of the chunk and transmits the packet to the communication device 10 on the reception side. To do. In this case, the communication device 10 on the receiving side performs processing on the assumption that data associated with the notified hash value has been received.
- the receiving communication device 10 notifies the transmitting communication device 10 of the chunk to be deleted.
- the index values for the same chunk can be matched between the communication device 10 on the transmission side and the communication device 10 on the reception side.
- the same processing is performed by the transmitting and receiving communication devices 50. .
- the information elements and information formats stored in the transmission data table 31 and the reception cache 32 described in the above description are merely examples.
- the information elements stored in the transmission data table 31 and the reception cache 32, the information storage format, and the like can be arbitrarily changed according to the implementation.
- the threshold value used when determining whether to transmit data including the retained information as the free area of the reception cache 32 retained by the receiving device is smaller. Can be deformed so that is adjusted to be large.
- the threshold value determination unit 41 can increase the value of the constant C as the free capacity of the reception cache 32 is smaller when calculating the threshold value N.
- the threshold determination unit 41 prestores the relationship between the free capacity of the reception cache 32 and the constant C, and selects the constant C according to the free capacity of the reception cache 32 when the threshold N is calculated. It shall be possible.
- the threshold value N set in the setting unit 23 is set so that the threshold value N becomes smaller as the usable capacity of the reception cache 32 is smaller.
- the threshold value can be changed in the same manner regardless of whether the transmitting device is the communication device 50 or the communication device 10.
- the communication device 10 also performs the same processing as that of the communication device 50 on the transmission side for the control packet received from the communication device 50 on the data reception side.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
Description
図2は、実施形態にかかる通信装置10が用いられるネットワークの例を示す。図2は、Wide Area Network(WAN)5をはさんで、エリア4a中の装置とエリア4b中の装置が通信する場合のネットワークの例を示す。エリア4a、4bには通信を行う任意の種類の装置が任意の数だけ含まれる。図2の例では、エリア4aにサーバ1a~1c、タブレット2a、携帯電話3aが含まれ、エリア4bにサーバ1d~1f、タブレット2b、携帯電話3bが含まれている場合を示している。エリア4aに含まれている装置は、通信装置10aを介してWAN5にアクセスし、エリア4bに含まれている装置は、通信装置10bを介してWAN5にアクセスするものとする。ここで、通信装置10aおよび通信装置10bは、WAN高速化装置として動作することができる。図2の例では、エリア4aに含まれている装置が通信装置10aと通信装置10bを介してエリア4bに含まれている装置にデータを送信している。
以下、図2に示すネットワークにおいて、エリア4a中の装置からエリア4b中の装置にデータが送信される場合を例として、通信装置10aと通信装置10bで行われる処理の例を説明する。以下、理解し易くするために、エリア4a中の装置とエリア4b中の装置の間の通信の開始により、通信装置10aと通信装置10bの通信が開始された場合を例として説明する。以下の例でも閾値Nは2である場合を例とするが、閾値Nの値は実装に応じて任意の値に設定され得る。
第2の実施形態では、トラフィックレートに応じて、通信装置50が閾値Nを変更する場合の例を説明する。以下、ネットワーク上を単位時間当たりに流れるデータ量を「トラフィックレート」と記載することがある。また、以下の説明では、特定の経路を1秒に流れるデータ量をbps(Bits Per Second)で示すものとする。
N=M×R×C ・・・(1)
ここで、Mは、受信キャッシュ32aの空き容量、Cは定数である。Rは、通信装置50aが受信しているデータのトラフィックレートの合計値のうち、閾値Nを計算する対象とする通信装置50との間のトラフィックレートが占める割合である。乗数Cは、閾値Nが1~20程度の予め決められた値の範囲に収まるように設定される。閾値決定部41aは、通信装置50aにデータを送信してきている全ての通信装置50b~50eに対して同じ定数Cを用いて、閾値Nを計算する。なお、計算で得られた閾値Nが整数でない場合、閾値決定部41aは、得られた計算値より小さい整数の最大値を、閾値Nに設定するものとする。なお、得られた計算値より小さい整数の最大値が1より小さくなる場合、閾値決定部41aは、閾値Nを1に設定する。
N(通信装置50b)=1×109×(50/100)×1×10-8=5
N(通信装置50c)=1×109×(20/100)×1×10-8=2
N(通信装置50d、50e)
=1×109×(15/100)×1×10-8=1.5
従って、閾値決定部41aは、通信装置50bとの間の閾値Nを5、通信装置50cとの間の閾値Nを2とする。さらに、通信装置50dと通信装置50eについては、計算値が1.5であるので、閾値Nを1に設定する。
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
2 タブレット
3 携帯電話
4 エリア
5 WAN
10、50 通信装置
11 送信部
12 受信部
13 送受信部
14 接続管理部
15 キャッシュ管理部
16 データ処理部
20 重複検知部
21 分割部
22 識別子生成部
23 設定部
30 記憶部
31 送信データテーブル
32 受信キャッシュ
40 閾値設定部
41 閾値決定部
42 トラフィックレート算出部
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 外部記憶装置
107 媒体駆動装置
108 可搬記憶媒体
109 ネットワーク接続装置
Claims (10)
- データを前記データの宛先に送信した回数を、前記データを識別する識別子に対応付けて記憶する記憶部と、
前記宛先へ送信する対象のデータである対象データの送信回数が閾値に達すると、前記対象データの代替として前記宛先に送信する代替データを、前記対象データと前記対象データの保持を要求する保持要求の組み合わせに設定し、前記対象データに対する保持要求の送信後は、前記対象データの識別子を前記代替データに設定する設定部と、
前記代替データを前記宛先に送信する送信部
を備えることを特徴とする通信装置。 - 前記設定部は、前記対象データの送信回数が前記閾値未満の間、前記代替データを、前記対象データと前記対象データの保持を禁止する情報の組み合わせに設定する
ことを特徴とする請求項1に記載の通信装置。 - 前記通信装置に向けて送信されたデータを受信する受信部と、
受信データのうちで、前記保持要求が付加されたデータを保持する受信キャッシュと、
前記通信装置にデータを送信する装置である送信元から受信するデータのトラフィックレートを算出する算出部と、
前記送信元が前記保持要求を付加するまでに前記通信装置に同じデータを送信できる回数の上限値の指標として前記送信元が使用する指標値を、前記トラフィックレートが低いほど小さな値になるように決定する決定部を備え、
前記送信部は、前記指標値を含むパケットを前記送信元に送信する
ことを特徴とする請求項1または2に記載の通信装置。 - 第1の通信装置と第2の通信装置を含むネットワークにおいて、
前記第1の通信装置は、
前記第2の通信装置に送信するデータを識別する識別子を生成し、
前記第2の通信装置へ送信する対象のデータである対象データの送信回数が閾値に達すると、前記対象データの代替として前記第2の通信装置に送信する代替データを、前記対象データと前記対象データの保持を要求する保持要求との組み合わせに設定し、
前記第2の通信装置は、前記保持要求と共に受信した前記対象データを前記第2の通信装置が保持する受信キャッシュに保持し、
前記第1の通信装置は、前記保持要求の送信後は、前記対象データの識別子を前記代替データに設定し、
前記第2の通信装置は、前記識別子を受信すると、前記識別子に対応付けられたデータを、前記第1の通信装置から受信したデータとして扱う
ことを特徴とする通信方法。 - 前記第1の通信装置は、前記第2の通信装置への前記対象データの送信回数が前記閾値未満の間、前記代替データを、前記対象データと前記対象データの保持を禁止する禁止情報の組み合わせに設定し、
前記第2の通信装置は、前記禁止情報と共に受信した対象データを、前記第1の通信装置からの受信データとして処理する際に、前記受信キャッシュに格納しない
ことを特徴とする請求項4に記載の通信方法。 - 前記第2の通信装置は、
前記第1の通信装置から受信するデータのトラフィックレートを算出し、
前記閾値の値を、前記トラフィックレートが低いほど小さな値になるように決定し、
前記第1の通信装置に、前記閾値として決定した値を通知し、
前記第1の通信装置は、前記第2の通信装置から通知された値を前記閾値として用いて、前記保持要求を付してデータを前記第2の通信装置に送信するかを判定する
ことを特徴とする請求項4または5に記載の通信方法。 - 前記第1の通信装置は、第1の閾値を用いて前記第2の通信装置に送信するデータに前記保持要求を含めるかを判定し、
第3の通信装置は、第2の閾値を用いて前記第2の通信装置に送信するデータに前記保持要求を含めるかを判定し、
前記第2の通信装置は、
前記第1の通信装置から受信するデータのトラフィックレートである第1のレートと、前記第3の通信装置から受信するデータのトラフィックレートである第2のレートを算出し、
前記第2のレートが前記第1のレートより高い場合、前記第2の閾値の値が前記第1の閾値よりも大きくなるように、前記第1および第2の閾値の更新値を決定し、
前記第1の通信装置は、前記第2の通信装置から通知された前記第1の閾値の更新値を用いて、前記第2の通信装置に送信するデータに前記保持要求を含めるかを判定し、
前記第3の通信装置は、前記第2の通信装置から通知された前記第2の閾値の更新値を用いて、前記第2の通信装置に送信するデータに前記保持要求を含めるかを判定する
ことを特徴とする請求項4または5に記載の通信方法。 - データを前記データの宛先に送信した回数を、前記データを識別する識別子に対応付けて記憶し、
前記宛先へ送信する対象のデータである対象データの送信回数が閾値に達すると、前記対象データの代替として前記宛先に送信する代替データを、前記対象データと前記対象データの保持を要求する保持要求の組み合わせに設定し、
前記対象データに対する保持要求の送信後は、前記対象データの識別子を前記代替データに設定し、
前記代替データを前記宛先に送信する
処理を通信装置に行わせることを特徴とする通信プログラム。 - 前記対象データの送信回数が前記閾値未満の間、前記代替データを、前記対象データと前記対象データの保持を禁止する情報の組み合わせに設定する
処理を、前記通信装置に行わせることを特徴とする請求項8に記載の通信プログラム。 - 前記通信装置に向けて送信されたデータを受信し、
前記通信装置にデータを送信する装置である送信元から受信するデータのトラフィックレートを算出し、
前記送信元が前記保持要求を付加するまでに前記通信装置に同じデータを送信できる回数の上限値の指標として前記送信元が使用する指標値を、前記トラフィックレートが低いほど小さな値になるように決定し、
前記指標値を含むパケットを前記送信元に送信する
処理を、前記通信装置に行わせることを特徴とする請求項8または9に記載の通信プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/050687 WO2015107653A1 (ja) | 2014-01-16 | 2014-01-16 | 通信装置、通信方法、および、通信プログラム |
EP14879155.1A EP3096501A4 (en) | 2014-01-16 | 2014-01-16 | Communication apparatus, communication method, and communication program |
JP2015557635A JP6172296B2 (ja) | 2014-01-16 | 2014-01-16 | 通信装置、通信方法、および、通信プログラム |
CN201480072777.7A CN105900395A (zh) | 2014-01-16 | 2014-01-16 | 通信装置、通信方法、以及通信程序 |
US15/189,766 US9935889B2 (en) | 2014-01-16 | 2016-06-22 | Communication apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/050687 WO2015107653A1 (ja) | 2014-01-16 | 2014-01-16 | 通信装置、通信方法、および、通信プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/189,766 Continuation US9935889B2 (en) | 2014-01-16 | 2016-06-22 | Communication apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015107653A1 true WO2015107653A1 (ja) | 2015-07-23 |
Family
ID=53542572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/050687 WO2015107653A1 (ja) | 2014-01-16 | 2014-01-16 | 通信装置、通信方法、および、通信プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9935889B2 (ja) |
EP (1) | EP3096501A4 (ja) |
JP (1) | JP6172296B2 (ja) |
CN (1) | CN105900395A (ja) |
WO (1) | WO2015107653A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017022034A1 (ja) * | 2015-07-31 | 2017-02-09 | 富士通株式会社 | 情報処理装置、情報処理方法、及び、情報処理プログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6821363B2 (ja) * | 2016-09-15 | 2021-01-27 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
CN107800758B (zh) * | 2017-03-28 | 2020-07-24 | 平安壹钱包电子商务有限公司 | 风控数据处理方法、装置及系统 |
US11606277B2 (en) | 2021-02-10 | 2023-03-14 | Cohesity, Inc. | Reducing the impact of network latency during a restore operation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002091731A (ja) | 2000-09-20 | 2002-03-29 | Canon Inc | 情報処理装置および画像処理装置およびデータ処理方法および記憶媒体 |
JP2003524968A (ja) * | 2000-02-18 | 2003-08-19 | アヴァマー テクノロジーズ インコーポレイテッド | Dnaトランスミッション(送信)及びトランスクリプション技術を利用した冗長データセットを表示及び維持するためのシステム及び方法 |
JP2009187393A (ja) * | 2008-02-07 | 2009-08-20 | Nec Corp | アクセス頻度の高い情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム |
JP2009205201A (ja) * | 2008-02-26 | 2009-09-10 | Kddi Corp | 重複排除技術を用いたデータバックアップ方法、記憶制御通信装置及びプログラム |
JP2012079044A (ja) * | 2010-09-30 | 2012-04-19 | Yahoo Japan Corp | ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630290B (zh) * | 2009-08-17 | 2011-06-08 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
JP5654314B2 (ja) * | 2010-10-26 | 2015-01-14 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理方法および情報処理システム |
CN102693315A (zh) * | 2012-05-29 | 2012-09-26 | 上海家配电子商务有限公司 | 一种基于共享内存映射的url去重方法及装置 |
CN103502957B (zh) * | 2012-12-28 | 2016-07-06 | 华为技术有限公司 | 数据处理方法及装置 |
-
2014
- 2014-01-16 JP JP2015557635A patent/JP6172296B2/ja active Active
- 2014-01-16 CN CN201480072777.7A patent/CN105900395A/zh active Pending
- 2014-01-16 EP EP14879155.1A patent/EP3096501A4/en not_active Withdrawn
- 2014-01-16 WO PCT/JP2014/050687 patent/WO2015107653A1/ja active Application Filing
-
2016
- 2016-06-22 US US15/189,766 patent/US9935889B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003524968A (ja) * | 2000-02-18 | 2003-08-19 | アヴァマー テクノロジーズ インコーポレイテッド | Dnaトランスミッション(送信)及びトランスクリプション技術を利用した冗長データセットを表示及び維持するためのシステム及び方法 |
JP2002091731A (ja) | 2000-09-20 | 2002-03-29 | Canon Inc | 情報処理装置および画像処理装置およびデータ処理方法および記憶媒体 |
JP2009187393A (ja) * | 2008-02-07 | 2009-08-20 | Nec Corp | アクセス頻度の高い情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム |
JP2009205201A (ja) * | 2008-02-26 | 2009-09-10 | Kddi Corp | 重複排除技術を用いたデータバックアップ方法、記憶制御通信装置及びプログラム |
JP2012079044A (ja) * | 2010-09-30 | 2012-04-19 | Yahoo Japan Corp | ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム |
Non-Patent Citations (2)
Title |
---|
A. ANAND ET AL.: "Redundancy in Network Traffic : Findings and Implications", SIGMETRICS/PERFORMANCE, 2009 |
See also references of EP3096501A4 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017022034A1 (ja) * | 2015-07-31 | 2017-02-09 | 富士通株式会社 | 情報処理装置、情報処理方法、及び、情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015107653A1 (ja) | 2017-03-23 |
US20160301621A1 (en) | 2016-10-13 |
EP3096501A4 (en) | 2017-02-01 |
EP3096501A1 (en) | 2016-11-23 |
CN105900395A (zh) | 2016-08-24 |
US9935889B2 (en) | 2018-04-03 |
JP6172296B2 (ja) | 2017-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6172296B2 (ja) | 通信装置、通信方法、および、通信プログラム | |
CN107786450B (zh) | 一种数据报文传输方法、装置及机器可读存储介质 | |
JP6295767B2 (ja) | スイッチ装置、情報処理システムおよびスイッチ装置の制御方法 | |
CN108282522B (zh) | 基于动态路由的数据存储访问方法及系统 | |
CN103823807B (zh) | 一种去除重复数据的方法、装置及系统 | |
CN105338090A (zh) | 一种基于WebSocket的断点续传方法及装置 | |
CN105407128A (zh) | 在ccn中的中间路由器上兴趣保持活动 | |
CN109587822B (zh) | 信息发送控制方法、信息接收控制方法、装置、存储介质 | |
JP2011170667A (ja) | ファイル同期システム、ファイル同期方法およびファイル同期プログラム | |
WO2006001137A1 (ja) | データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム | |
CN109361625B (zh) | 核查转发表项的方法、装置和控制器 | |
JP6432407B2 (ja) | ノード、情報処理システム、方法、および、プログラム | |
JP6886874B2 (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
JP7097427B2 (ja) | データ処理システム、及びデータ処理方法 | |
CN106453663B (zh) | 改进的基于云服务的存储扩容方法及装置 | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
JP6056857B2 (ja) | 通信制御装置及び通信制御方法 | |
JP6420462B2 (ja) | サービスノード能力処理方法、装置、サービス分類器及びサービスコントローラ | |
WO2020134392A1 (zh) | 数据分发方法、装置及存储介质 | |
CN110830381B (zh) | 拥塞控制方法及相关设备 | |
CN115065694A (zh) | 一种云存储数据中转上传系统、方法、设备及介质 | |
CN111444160A (zh) | 一种数据存储系统和上传、存储方法、装置、设备及介质 | |
JP6452573B2 (ja) | データ送信装置及びデータ受信装置及びデータ送信方法及びデータ受信方法及びデータ送信プログラム及びデータ受信プログラム | |
JP6850618B2 (ja) | 中継装置および中継方法 | |
CN107087010B (zh) | 中间数据传输方法及系统、分布式系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14879155 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015557635 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2014879155 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014879155 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |