WO2015170475A1 - 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体 - Google Patents

通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体 Download PDF

Info

Publication number
WO2015170475A1
WO2015170475A1 PCT/JP2015/002320 JP2015002320W WO2015170475A1 WO 2015170475 A1 WO2015170475 A1 WO 2015170475A1 JP 2015002320 W JP2015002320 W JP 2015002320W WO 2015170475 A1 WO2015170475 A1 WO 2015170475A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
output
line
unit
control frame
Prior art date
Application number
PCT/JP2015/002320
Other languages
English (en)
French (fr)
Inventor
行郎 平田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CA2946508A priority Critical patent/CA2946508A1/en
Priority to US15/309,520 priority patent/US10142247B2/en
Priority to JP2016517816A priority patent/JP6195017B2/ja
Priority to EP15789544.2A priority patent/EP3142308A4/en
Priority to CN201580024088.3A priority patent/CN106464607B/zh
Priority to RU2016147933A priority patent/RU2648566C1/ru
Publication of WO2015170475A1 publication Critical patent/WO2015170475A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Definitions

  • the present invention relates to a communication apparatus, a communication system, a communication method, and a storage medium storing a communication program that perform data transfer by aggregating a plurality of communication lines.
  • a link aggregation standardized by IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 802.3ad is a technology for increasing communication bandwidth using multiple lines.
  • frames are distributed to a plurality of lines based on MAC (Media Access Control Address) addresses, IP (Internet Protocol) addresses, and the like.
  • MAC Media Access Control Address
  • IP Internet Protocol
  • Patent Document 1 describes a method of performing retransmission processing when data packets are transmitted in parallel using a plurality of wireless channels and transmitted normally and are not normally transmitted.
  • a plurality of data packets whose transmission times are equal to each other in several units that can be transmitted in parallel are generated from the data frames stored in the transmission buffer and are continuously transmitted in several units that can be transmitted in parallel. Send in parallel.
  • dummy bits are added to the data packet with a short required transmission time during parallel retransmission, so that the required transmission times are aligned with other data packets.
  • the present invention stores a communication device, a communication system, a communication method, and a communication program that can suppress a deviation in the amount of data transferred by each line when data transfer is performed using a plurality of communication lines.
  • An object is to provide a storage medium.
  • a communication apparatus is a communication apparatus that performs data transfer using a plurality of lines, and divides the divided frames in accordance with a dividing unit that divides an input frame and an output band of the plurality of lines.
  • a distribution unit, and a transmission unit that transmits the distributed frame wherein the distribution unit is configured to output a data amount that can be output in a unit time for each line as an output band at a predetermined period on the line.
  • the frame is allocated to the line with the smallest remaining output weight indicating the ratio of the remaining data amount that can be output to the transmission unit, and the transmission means transmits a dummy frame corresponding to the remaining data amount when a predetermined period elapses. .
  • the communication system includes a plurality of communication apparatuses that perform data transfer using a plurality of lines, and the communication apparatus is divided according to a dividing unit that divides an input frame and an output band of the plurality of lines.
  • Distribution means for distributing the allocated frames, and transmission means for transmitting the allocated frames.
  • the distribution means uses the line to output the amount of data that can be output per unit time set for each line as an output band.
  • the frame is allocated to the line with the smallest remaining output weight indicating the ratio of the remaining amount of data that can be output every predetermined period, and the transmission means transmits a dummy frame corresponding to the remaining amount of data when the predetermined period elapses. It is characterized by.
  • the communication method according to the present invention is a communication method in the case where data transfer is performed using a plurality of lines, and the amount of data that can be output per unit time set for each line as an output band by dividing an input frame
  • the divided frames are allocated to the line with the smallest remaining output weight indicating the ratio of the remaining amount of data that can be output for each predetermined cycle on the line, and the remaining frames when the predetermined period elapses.
  • a dummy frame corresponding to the amount of data is transmitted.
  • a storage medium storing a communication program according to the present invention is a storage medium storing a communication program applied to a computer that performs data transfer using a plurality of lines.
  • Each line is output as an output band in the distribution process by executing the division process for dividing, the distribution process for distributing the divided frames according to the output bandwidth of a plurality of lines, and the transmission process for transmitting the distributed frames.
  • the frame is allocated to the line with the smallest remaining output weight that indicates the ratio of the remaining amount of data that can be output in a given period to the amount of data that can be output per unit time set to
  • a communication program for transmitting a dummy frame corresponding to the remaining data amount when a predetermined period has elapsed is stored.
  • FIG. 1 is a block diagram illustrating an embodiment of a communication system according to the present invention. It is explanatory drawing which shows the example of a data frame transmission process. It is explanatory drawing which shows the example of a data frame reception process. It is explanatory drawing which shows the example of the data frame before a division
  • FIG. 1 is a block diagram showing an embodiment of a communication system according to the present invention.
  • the communication system of this embodiment includes two communication devices 1 and a communication device 15.
  • the communication device 1 and the communication device 15 are devices having the same function, and include a reception unit 2 and a transmission unit 3. Note that the communication device 1 and the communication device 15 may include functions different from each other in addition to the reception unit 2 and the transmission unit 3.
  • the communication device 1 and the communication device 15 are connected to each other via a plurality of lines 1, lines 2,.
  • the communication device 1 and the communication device 15 are paired, and communication is performed between the two communication devices.
  • the communication apparatus 1 and the communication apparatus 15 may be directly connected, and may be connected via another apparatus. Even when the connection is made via another device, the frame destination of the communication device 1 is the communication device 15. In the present embodiment, it is assumed that a frame transmitted by a device other than the communication device 1 is not input to the communication device 15.
  • the transmission unit 3 includes a division unit 4, a bandwidth management unit 5, an allocation unit 6, a plurality of control frame generation units 7-1 to 7-n, storage units 8-1 to 8-n, and arbitration units 9-1 to 9 -N.
  • a control frame generation unit 7, a storage unit 8, and an arbitration unit 9 are provided for each line (port) to be connected.
  • the dividing unit 4 divides the input frame and inputs it to the distribution unit 6.
  • the method by which the dividing unit 4 divides the frame is arbitrary, and the dividing unit 4 may divide the frame using a widely known method.
  • the bandwidth management unit 5 manages the output bandwidth of each line.
  • the distribution unit 6 distributes the divided frames in accordance with the output bandwidth of each line and inputs them to the storage unit 8. The contents of the output band managed by the band management unit 5 and the method by which the distribution unit 6 distributes the divided frames will be described later.
  • the control frame generation unit 7 generates a control frame to be transmitted to another communication device. Further, the control frame generation unit 7 generates a dummy frame to be transmitted when there are few data frames to be transmitted with respect to the output band of each line managed by the band management unit 5. Details of the control frame and the dummy frame will be described later.
  • the storage unit 8 temporarily holds the frame input from the distribution unit 6.
  • the arbitration unit 9 sequentially transmits the frames input to the storage unit 8 via the connected line.
  • the division unit 4, the bandwidth management unit 5, the distribution unit 6, the control frame generation unit 7, and the arbitration unit 9 are realized by a CPU (Central Processing Unit) of a computer that operates according to a program (communication program).
  • the program is stored in a storage unit (not shown) of the communication device 1, and the CPU reads the program, and according to the program, the dividing unit 4, the bandwidth management unit 5, the distribution unit 6, and the control frame generation unit 7. And it may operate as the arbitration unit 9.
  • the dividing unit 4, the bandwidth managing unit 5, the allocating unit 6, the control frame generating unit 7, and the arbitrating unit 9 may each be realized by dedicated hardware.
  • the storage unit 8 is realized by, for example, a memory.
  • FIG. 2 is an explanatory diagram illustrating an example of a data frame transmission process performed by the transmission unit 3.
  • the dividing unit 4 divides each frame, assigns a sequence number, a head flag and an end flag to the divided frames, and assigns the distributing unit 6 To enter.
  • the head flag is a flag for identifying whether the data is the head data of the divided frame
  • the tail flag is a flag for identifying whether the data is the tail data of the divided frame.
  • sequence number of frame 1a is n
  • sequence number of frame 1b is n + 1
  • sequence number of frame 1c is n + 2
  • sequence number of frame 2 is n + 3
  • sequence number of frame 3a is n + 4
  • sequence number of frame 3b Becomes n + 5.
  • the distribution unit 6 transmits a frame to the storage unit 8 (8-1, 8-2, 8-3) of each line according to the output band of each line managed by the band management unit 5.
  • the output band of the line 2 is the largest and the output band of the line 1 is the smallest.
  • a storage unit 8 provided for each line stores received frames.
  • the arbitration unit 9 (9-1, 9-2, 9-3) reads out the frame stored in the storage unit 8 and transmits it to each connected line.
  • the receiving unit 2 includes a plurality of filter units 10-1 to 10-n, control frame processing units 11-1 to 11-n, storage units 12-1 to 12-n, a reading unit 13, and a combining unit 14.
  • a filter unit 10 a control frame processing unit 11, and a storage unit 12, respectively.
  • the filter unit 10, the control frame processing unit 11, and the storage unit 12 are provided for each line (port) to be connected.
  • the filter unit 10 receives a frame transmitted from another device and inputs the frame to the control frame processing unit 11 and the storage unit 12.
  • the control frame processing unit 11 processes the received control frame.
  • the storage unit 12 temporarily holds the frame input from the filter unit 10.
  • the reading unit 13 reads the frame held in each storage unit 12 and inputs the frame to the combining unit 14.
  • the combining unit 14 combines the frames input from the reading unit 13 and transmits them to another device.
  • the filter unit 10, the control frame processing unit 11, the reading unit 13, and the combining unit 14 are realized by a CPU of a computer that operates according to a program (communication program).
  • the program is stored in a storage unit (not shown) of the communication apparatus 1, and the CPU reads the program and operates as the filter unit 10, the control frame processing unit 11, the reading unit 13, and the combining unit 14 according to the program. May be.
  • each of the filter unit 10, the control frame processing unit 11, the reading unit 13, and the combining unit 14 may be realized by dedicated hardware.
  • the storage unit 12 is realized by, for example, a memory.
  • FIG. 3 is an explanatory diagram illustrating an example of a data frame reception process performed by the reception unit 2.
  • a frame 1a, a frame 1b, a frame 1c, a frame 2, a frame 3a, and a frame 3b illustrated in FIG. 3 are frames transmitted by each arbitration unit 9 illustrated in FIG.
  • the filter unit 10 (10-1, 10-2, 10-3) inputs the transmitted data frame to the storage unit 12 (12-1, 12-2, 12-3).
  • the reading unit 13 reads the data frames stored in the storage unit 12 in the order of sequence numbers regardless of the arrival order, and inputs the data frames to the combining unit 14.
  • the reading unit 13 reads a frame obtained by adding 1 to the sequence number of the previous frame in order from the frame 1a having the smallest sequence number as the next frame.
  • the combining unit 14 recognizes a frame from a frame having a head flag of 1 to a frame having a tail flag of 1 as a frame before division. Then, the combining unit 14 deletes the sequence number, the head flag, and the tail flag from the divided frames, combines them, restores the frames before the division, and transmits them.
  • the control frame is used for line connection confirmation and dynamic output bandwidth control.
  • the control frame is generated by the control frame generation unit 7 (7-1, 7-2,..., 7-n) of the transmission unit 3 in FIG.
  • the arbitration unit 9 (9-1, 9-2,..., 9-n) arbitrates between the data frame and the control frame, and the control frame is output to the line.
  • the control frame processing unit 11 analyzes the contents of the control frame, and uses the analyzed contents to generate output bandwidth control and a control frame for transmission.
  • the dummy frame is a frame that is inserted for an empty band when the output data frame is smaller than the set output band. This dummy frame is also used for dynamic output bandwidth control described later.
  • the bandwidth management unit 5 controls the control frame generation unit 7 (7-1, 7-2,..., 7 ⁇ corresponding to each line when the output data frame is smaller than the output bandwidth to be managed. Notify n).
  • the control frame generation unit 7 Upon receiving the notification, the control frame generation unit 7 generates a dummy frame so that the output frame is an output band managed by the band management unit 5, and outputs the dummy frame to the arbitration unit 9.
  • the arbitration unit 9 transmits a dummy frame for which output arbitration with the data frame has been performed.
  • the control frame processing unit 11 (11-1, 11-2,..., 11-n). Then, the control frame processing unit 11 discards the input dummy frame.
  • FIG. 4 is an explanatory diagram illustrating an example of a data frame before division.
  • the pre-division data frame 21 illustrated in FIG. 4 includes a header 22 and a payload 23 necessary to make the network transparent.
  • FIG. 5 is an explanatory diagram showing an example of the divided data frame.
  • the post-division data frames 24-a to 24-c are generated from the pre-division data frame 21 illustrated in FIG. In the example shown in FIG. 5, the pre-division data frame is divided into three frames.
  • the division unit 4 divides the pre-division data frame 21 into pre-division data frame division data 31. Further, the dividing unit 4 adds a header 25, a sequence number 26, a head flag 27, a tail flag 28, a control flag 29, and a dummy flag 30 to each divided data to generate a divided data frame.
  • the header 25 is a header necessary for the data frame to pass through the network, and is newly added separately from the header 22 of the data frame before division.
  • the sequence number 26 is used by the reading unit 13 of the receiving unit 2 to rearrange the divided data frames.
  • the value of the sequence number 26 is a value obtained by adding 1 to the sequence number of the immediately preceding divided data frame.
  • the head flag 27 is a flag indicating the head of the pre-division data frame. Among the divided data frames illustrated in FIG. 5, only the divided data frame 24-a has the leading flag 27 set to 1, and the divided data frame 24-b and the divided data frame 24-c have the leading flag 27 set to 0. Set to
  • the end flag 28 is a flag indicating the end of the pre-division data frame.
  • the tail flag 28 is set to 1 only in the divided data frame 24-c, and the tail flag 28 of the divided data frame 24-a and the divided data frame 24-b is 0.
  • the start flag 27 and the end flag 28 are used by the combining unit 14 of the receiving unit 2 to assemble a frame.
  • the control flag 29 is a flag indicating that the frame is a control frame.
  • the dummy flag 30 is a flag indicating that the frame is a dummy frame. In the case of the divided data frame illustrated in FIG. 5, the control flag 29 and the dummy flag 30 are set to 0.
  • FIG. 6 is an explanatory diagram illustrating an example of a control frame format.
  • the control frame 32 includes a header 25, a sequence number 26, a head flag 27, a tail flag 28, a control flag 29, and a dummy flag 30 in the same manner as the divided data frame illustrated in FIG.
  • the value of the sequence number 26 of the control frame is a value obtained by adding 1 to the sequence number of the previous control frame 32. Further, 1 is fixedly set in the head flag 27 and the tail flag 28. Further, since the control flag 29 is a field indicating a control frame, 1 is set.
  • the dummy flag 30 is set to 0 because it is a field indicating a dummy frame.
  • the filter unit 10 of the receiving unit 2 determines that a frame in which 1 is set in the control flag 29 is a control frame, and outputs it to the control frame processing unit 11. That is, the filter unit 10 uses whether or not 1 is set in the control flag 29 as a control frame condition.
  • control frame 32 includes, in addition to the information included in the divided data frame, the counter device transmission frame number 33, the counter device transmission byte number 34, the device reception frame number 35, and the device reception byte number. 36, own device transmission frame number 37, own device transmission byte number 38, and delay measurement information 39 are included.
  • the counter device transmission frame number 33 indicates the number of frames transmitted from the opposite communication device.
  • the counter device transmission byte count 34 indicates the number of bytes of the frame transmitted from the counter communication device.
  • the own device reception frame number 35 indicates the number of frames received from the opposite communication device.
  • the own device received byte number 36 indicates the number of bytes of the frame received from the opposite communication device.
  • the own device transmission frame number 37 represents the number of frames transmitted by the own communication device.
  • the own device transmission byte number 38 represents the number of bytes of the frame transmitted by the own communication device.
  • the delay measurement information 39 represents a delay time measured when a frame transmission is transmitted. A method of using each field included in the control frame will be described in the description of the output band adjustment function described later.
  • FIG. 7 is an explanatory diagram showing an example of a dummy frame format. Similar to the divided data frame 24 illustrated in FIG. 5 and the control frame 32 illustrated in FIG. 6, the dummy frame 40 includes a header 25, a sequence number 26, a head flag 27, a tail flag 28, a control flag 29, and a dummy flag. 30 is included.
  • the value of the sequence number 26 of the dummy frame is fixedly set to 0, and the values of the start flag 27 and the end flag 28 are fixedly set to 1.
  • the control flag 29 is set to 0, and the dummy flag 30 is set to 1.
  • the filter unit 10 of the receiving unit 2 determines that a frame for which 1 is set in the dummy flag 30 is a dummy frame and outputs the frame to the control frame processing unit 11. That is, the filter unit 10 uses whether or not 1 is set in the dummy flag 30 as a dummy frame condition.
  • the bandwidth management unit 5 manages the amount of data that can be output per unit time set for each line as an output bandwidth and the remaining amount of data that can be output for each predetermined period on that line. Specifically, the bandwidth management unit 5 holds the number of bytes that can be output per unit time as the amount of data that can be output per unit time, and the remaining number of bytes that can be output as the remaining amount of data that can be output every predetermined period. For each line. This unit time is fixedly set in an arbitrary unit.
  • the distribution unit 6 notifies the bandwidth management unit 5 of the number of bytes of the output divided data frame each time the divided data frame is output to the line.
  • the bandwidth management unit 5 subtracts the notified number of bytes of the divided data frame from the number of remaining outputtable bytes.
  • the bandwidth management unit 5 sets the amount of data that can be output (number of bytes that can be output) to the amount of remaining data that can be output (number of bytes that can be output) for each predetermined period. That is, the bandwidth management unit 5 performs a process of resetting the remaining number of outputtable bytes to return to the number of outputtable bytes at every predetermined period. Specifically, the bandwidth management unit 5 loads the number of bytes that can be output per unit time to the number of bytes that can be output for each reset period.
  • the distribution unit 6 calculates a value indicating the ratio of the remaining data amount that can be output to the data amount that can be output.
  • the value calculated in this way is referred to as remaining output weight.
  • the allocating unit 6 may calculate the remaining output weight using Equation 1 illustrated below.
  • Remaining output weight number of bytes that can be output / number of bytes that can be output per unit time (Equation 1)
  • the distribution unit 6 distributes the frame to the line having the largest remaining output weight. That is, the line on which the divided data frame is output is the line with the largest remaining output weight.
  • FIG. 8 is an explanatory diagram showing an example of processing for distributing frames.
  • frames are distributed using two lines (line 1 and line 2).
  • line 1 and line 2 the line 1 illustrated in FIG. 8 has 1200 outputable bytes per unit time
  • the line 2 has 600 outputable bytes per unit time.
  • frames are denoted by # and 15 frames # 1 to # 15 are transmitted. Note that the number of bytes in the frame is all 200.
  • the number of bytes that can be output per unit time is set as the number of bytes that can be output at time t1, the number of bytes that can be output on line 1 is 1200, and the number of bytes that can be output on line 2 is 600.
  • the distribution unit 6 calculates the remaining output weight as the distribution process. At time t1, the remaining output weights of the line 1 and the line 2 have the same value, so the allocating unit 6 distributes the frame # 1 to the line 1 having a smaller number.
  • the distribution unit 6 subtracts 200 from the remaining number of bytes that can be output from the line 1 and calculates 1000.
  • the allocating unit 6 calculates the remaining output weight of the line 1 as about 0.83 and calculates the remaining output weight of the line 2 as 1.00. Therefore, the distribution unit 6 distributes the frame # 2 to the line 2 having a larger remaining output weight. Then, the distribution unit 6 calculates 400 by subtracting 200 the remaining number of bytes that can be output from the line 2.
  • the allocating unit 6 calculates the remaining output weight of the line 1 as about 0.83 and calculates the remaining output weight of the line 2 as about 0.67. Therefore, the distribution unit 6 distributes the frame # 3 to the line 1 having a larger remaining output weight. Thereafter, the same processing is repeated.
  • the bandwidth management unit 5 sets the number of bytes that can be output per unit time as the number of bytes that can be output. That is, the remaining number of bytes that can be output from line 1 is set to 1200, and the number of bytes that can be output from line 2 is set to 600.
  • the bandwidth management unit 5 sets the remaining number of outputtable bytes to the control frame generation unit 7. Notify The control frame generation unit 7 generates dummy frames for the number of remaining outputtable bytes and outputs the dummy frames to the arbitration unit 9.
  • the allocating unit 6 compares the remaining output weights between the lines and performs the distribution process, the line 1 and the line 2 correspond to the number of bytes that can be output per unit time. Frames are output evenly.
  • the allocating unit 6 does not output the divided data frame to the line having the largest remaining output possible number of bytes but to the line having the largest remaining output weight. Therefore, there is no time bias, and frames can be output equally to each line.
  • FIG. 9 is an explanatory diagram showing an operation example when a frame is output to a line having the largest number of remaining outputtable bytes.
  • the number of bytes that can be output from line 1 is equal to or greater than the number of bytes that can be output from line 2. Therefore, during this period, the frames are not distributed evenly, and are distributed only to the line 1. Thereafter, after the remaining number of bytes that can be output on the line 1 falls below the number of bytes that can be output on the line 2, the frames are alternately allocated to the lines 1 and 2.
  • FIG. 10 is an explanatory diagram illustrating an example of a method of adjusting the output band.
  • the solid arrow illustrated in FIG. 10 indicates the flow of the frame, and the dotted arrow indicates the flow of the control frame.
  • the output band adjustment function includes a function to widen the output band and a function to narrow the output band.
  • the state in which the function for expanding the output band is executed is referred to as an output band increase mode, and the state in which the function for narrowing the output band is executed is referred to as an output band reduction mode.
  • the output band reduction mode is set in the initial state, and processing for narrowing the output band is performed.
  • the bandwidth management unit 5 sets the output bandwidth of the target line to be narrow.
  • the new output band is calculated based on the number of frames and the number of bytes received from the communication device 15.
  • the arbitrating unit 9 of the communication device 1 counts the number of frames and the number of bytes of the transmitted divided data frame and dummy frame.
  • the counted value is held, for example, in a memory (not shown) included in the arbitration unit 9.
  • the arbitration unit 9 does not count the number of frames and the number of bytes of the control frame.
  • the control frame generation unit 7 generates a control frame at a predetermined timing and inputs it to the arbitration unit 9.
  • the arbitrating unit 9 sets the number of frames to be held in the own device transmission frame number 37 of the input control frame 32 and sets the number of bytes to be held in the own device transmission byte number 38 of the control frame 32. Then, the arbitration unit 9 transmits the control frame 32 in which the number of frames and the number of bytes are set to the communication device 15. When the control frame 32 is transmitted, the arbitration unit 9 resets the number of frames and bytes to be held to zero.
  • the filter unit 10 of the communication device 15 When receiving the divided data frame and the dummy frame, the filter unit 10 of the communication device 15 counts the number of frames and the number of bytes of the received frame. The counted value is held in, for example, a memory (not shown) included in the filter unit 10. The filter unit 10 does not count the number of control frames and the number of bytes.
  • the filter unit 10 When receiving the control frame, the filter unit 10 transmits the received control frame to the control frame processing unit 11. At the same time, the filter unit 10 notifies the control frame processing unit 11 of the counted number of frames and bytes.
  • the control frame processing unit 11 notifies the control frame generation unit 7 of the own communication device 15 of the own device transmission frame number 37 included in the control frame 32 as the counter device transmission frame number. Further, the control frame processing unit 11 notifies the control frame generation unit 7 of the own communication device 15 of the own device transmission byte number 38 included in the control frame 32 as the counter device transmission byte number. Further, the control frame processing unit 11 notifies the control frame generation unit 7 of the own communication device 15 of the number of frames notified from the filter unit 10 of the own communication device 15 as the number of received frames of the own device. Further, the control frame processing unit 11 notifies the control frame generation unit 7 of the own communication device 15 of the number of bytes notified from the filter unit 10 of the own communication device 15 as the received device byte count.
  • the control frame generation unit 7 of the communication device 15 sets the number of opposite device transmission frames notified from the control frame processing unit 11 as the number of opposite device transmission frames 33 of the control frame 32. Further, the control frame generation unit 7 of the communication device 15 sets the counter device transmission byte number notified from the control frame processing unit 11 in the counter device transmission byte number 34 of the control frame 32.
  • control frame generation unit 7 of the communication device 15 sets the number of received frames received from the control frame processing unit 11 in the number 35 of received frames of the control frame 32.
  • control frame generation unit 7 of the communication device 15 sets the number of received bytes received from the control frame processing unit 11 as the number of received bytes 36 of the control frame 32. Then, the arbitrating unit 9 of the communication device 15 transmits the control frame 32 in which each information is set to the communication device 1.
  • the control frame processing unit 11 compares the counter device transmission frame number 33 included in the control frame 32 with the own device reception frame number 35. When the counter device transmission frame number 33 is larger than the own device reception frame number 35, the control frame processing unit 11 of the communication device 1 determines that the output band is to be narrowed, calculates a newly set output region, This is notified to the bandwidth management unit 5 of the communication device 1.
  • the new output band may be calculated using, for example, Expression 2 illustrated below.
  • New output bandwidth Number of received bytes of own device 36 ⁇ Control frame transmission interval ... (Formula 2)
  • the bandwidth management unit 5 of this embodiment manages the output bandwidth based on the number of bytes that can be output per unit time. Therefore, the bandwidth management unit 5 may calculate the number of bytes that can be output per unit time using Equation 3 illustrated below, and update the output bandwidth based on the calculated value.
  • the arbitration unit 9 transmits the control frame 32 including the transmission data amount transmitted from each line to the communication device 15, and the filter unit 10 controls the control frame by the arbitration unit 9.
  • the control frame 32 transmitted from the communication device 15 is received in response to the transmission.
  • the received control frame 32 includes the amount of received data received by the communication device 15, and when the received data amount is smaller than the transmitted data amount, the bandwidth management unit 5 transmits the line that transmitted the control frame. Set the output bandwidth of to narrow. By narrowing the output band in this way, it is possible to further suppress the deviation of the data amount of each line.
  • the control frame generation unit 7 of the communication device 1 temporarily inserts many dummy frames, and the control frame processing unit 11 measures the delay time of the frame before and after that.
  • the control frame processing unit 11 determines that a delay has occurred due to the communication band exceeding the physical band in the network between the communication apparatus 1 and the communication apparatus 15, and widens the output band. Judge that it is not possible.
  • the control frame processing unit 11 determines that the output band can be expanded.
  • the bandwidth management unit 5 of the communication device 1 notifies the control frame generation unit 7 of the communication device 1 of the remaining number of bytes that can be output.
  • the control frame generation unit 7 determines the notified remaining number of outputtable bytes as the dummy frame insertion amount, generates a dummy frame for the insertion amount, and outputs the dummy frame to the arbitration unit 9 of the communication device 1.
  • the bandwidth management unit 5 of the communication device 1 adds the amount of bandwidth increase to the remaining number of bytes that can be output and notifies the control frame generation unit 7 of the communication device 1.
  • control frame processing unit 11 of the communication device 1 notifies the bandwidth management unit 5 of the communication device 1 of whether or not the delay amount has increased.
  • the bandwidth management unit 5 of the communication device 1 overwrites the number of bytes that can be output per unit time with the amount of increase in bandwidth + the number of bytes that can be output per unit time.
  • the bandwidth management unit 5 increases the output bandwidth of the line transmitted by increasing the dummy frame. Is set widely according to the increased data amount of the dummy frame.
  • the control frame processing unit 11 may measure the delay time using, for example, the following two measurement methods.
  • the method for measuring the delay time is not limited to the two methods exemplified below.
  • the control frame processing section 11 The delay is measured using a time stamp, as in the frame delay measurement standardized in 1731 (ETH-DM: Frame Delay ⁇ Measurement17).
  • the delay time is obtained using the time stamp at the time of frame transmission and the time stamp at the time of frame reception.
  • the control frame generator 7 When this method is used, the control frame generator 7 generates a control frame in which the time stamp is added to the delay measurement information 39 of the control frame 32. By adding this time stamp to the delay measurement information 39, the delay is measured. In addition, by adding a delay amount to the delay measurement information 39, the delay amount is transmitted between the communication device 1 and the communication device 15.
  • the control frame processing unit 11 measures the delay by relatively comparing the time when the control frame arrives.
  • FIG. 11 is an explanatory diagram illustrating an example of a method for measuring the delay time.
  • control frames are transmitted simultaneously from four lines.
  • control frames are received at different timings depending on the bandwidth of each line.
  • the control frame generation unit 7 selects one line for expanding the output band, and temporarily inserts a large number of dummy frames into the line.
  • the control frame processing unit 11 can widen the output bandwidth. Judge that there is.
  • the control frame generation unit 7 generates a control frame in which the relative delay amount is added to the delay measurement information 39 of the control frame 32. By adding a delay amount to the delay measurement information 39, the delay amount is transmitted between the communication device 1 and the communication device 15.
  • the state transition between the output bandwidth increase mode and the output bandwidth reduction mode is executed at the following timing.
  • the mode is shifted to the output bandwidth reduction mode.
  • the control frame processing unit 11 determines that the output band is not a target to be narrowed in the output band reduction mode (that is, when the counter device transmission frame number 33 is the same as the own device reception frame number 35), the mode shifts to the output band increase mode. Is done.
  • the dividing unit 4 divides the input frame, the allocating unit 6 distributes the divided frames according to the output bands of a plurality of lines, and each arbitrating unit 9 The sorted frame is transmitted.
  • the allocating unit 6 sends a frame to the line having the smallest remaining output weight indicating the ratio of the remaining number of bytes that can be output per unit time to the number of bytes that can be output per unit time set as the output band.
  • the arbitrating unit 9 transmits a dummy frame corresponding to the remaining data amount for each reset period. Therefore, when data transfer is performed using a plurality of communication lines, it is possible to suppress a deviation in the amount of data transferred by each line.
  • the arbitration unit 9 transmits a control frame including the amount of transmission data transmitted from each line to another device.
  • This control frame is generated by the control frame generator 7.
  • the filter part 10 receives the control frame transmitted from the communication apparatus 15 according to transmission of a control frame.
  • This control frame includes the amount of received data received by the communication device 15.
  • the band management unit 5 sets the output band of the line that transmitted the control frame to be narrow.
  • the control frame generation unit 7 increases the data amount of the dummy frame to be transmitted and the band management unit 5 does not cause a delay due to the increase of the dummy frame
  • the output bandwidth of the line transmitted by increasing the number of dummy frames is set widely according to the increased amount of dummy frame data.
  • the output bandwidth setting of each line can be dynamically adjusted, so that such a problem can be solved.
  • the communication device 1 (communication device 15) has not only the function of efficiently distributing frames but also the function of adjusting the output bandwidth has been described.
  • the communication device may not have a function of adjusting the output band.
  • the communication device may include one or both of a function of adjusting the output band and a function of expanding the output band and a function of narrowing the output band.
  • FIG. 12 is a block diagram showing an outline of a communication apparatus according to the present invention.
  • the communication device according to the present invention is a communication device (for example, the communication device 1 or the communication device 15) that performs data transfer using a plurality of lines, and a dividing unit 81 (for example, the dividing unit 4) that divides an input frame. ) And an output band of a plurality of lines (for example, according to an output band of each line managed by the band management unit 5), and a distribution unit 82 (for example, the band management unit 5, The distribution unit 6) and the transmission unit 83 (for example, the arbitration unit 9) that transmits the distributed frame are provided.
  • a communication device for example, the communication device 1 or the communication device 15
  • a dividing unit 81 for example, the dividing unit 4
  • an output band of a plurality of lines for example, according to an output band of each line managed by the band management unit 5
  • a distribution unit 82 for example, the band management unit 5
  • the allocating unit 82 has a predetermined period (for example, a reset period) on the line with respect to the amount of data (for example, the number of bytes that can be output per unit time) that can be output per unit time set as an output band for each line
  • the frame is allocated to the line having the smallest remaining output weight indicating the ratio of the remaining data amount (for example, the remaining number of bytes that can be output).
  • the transmission unit 83 transmits a dummy frame (for example, a dummy frame 40) corresponding to the remaining data amount when a predetermined period has elapsed.
  • the transmission unit 83 transmits a control frame (for example, the control frame 32) including the transmission data amount (for example, the number of own device transmission frames 37 and the number of own device transmission bytes 38) transmitted from each line to another device. May be.
  • the distribution unit 82 receives a control frame transmitted from another device (for example, the communication device 15) in response to the transmission of the control frame, and receives other control frames included in the control frame.
  • the output band of the line on which the control frame is transmitted for example, by the bandwidth management unit 5 You may set so that it may become narrow.
  • the allocating unit 82 may determine the output band to be set based on the amount of received data (for example, Equation 2 above) received by another device with respect to the control frame transmission interval. .
  • the transmission unit 83 may increase the data amount of the dummy frame to be transmitted.
  • the allocating unit 82 (for example, the bandwidth management unit 5) increases the data amount of the dummy frame by increasing the output bandwidth of the line transmitted by increasing the dummy frame when there is no delay due to the increase of the dummy frame. It may be set so as to widen depending on.
  • the output band based on the delay of the dummy frame, it is possible to suppress the influence when transmitting the data frame.
  • data can be efficiently transmitted by widening the output band in this way.
  • the transmission unit 83 may increase the number of dummy frames within a range where no frame loss occurs.
  • FIG. 13 is a block diagram showing an outline of a communication system according to the present invention.
  • the communication system according to the present invention includes a plurality of communication devices 80 that perform data transfer using a plurality of lines. Note that the content of the communication device 80 is the same as the content of the communication device 80 illustrated in FIG.
  • the transmission unit 83 (for example, the arbitration unit 9) of the first communication device 80 (for example, the communication device 1) transmits a transmission data amount (for example, own device transmission) transmitted from each line.
  • a control frame including the frame number 37 and the own device transmission byte number 38) is transmitted to the second communication device 80 (for example, the communication device 15).
  • the transmission unit 83 (for example, the arbitration unit 9) of the second communication device 80 receives the received data amount (for example, the counter device transmission frame number 33, the counter device transmission byte number 34, the host device reception frame number). 35, the control frame in which the own device received byte number 36) is set is transmitted to the first communication device 80.
  • the distribution unit 82 (for example, the control frame processing unit 11 and the bandwidth management unit 5) of the first communication device 80 determines that the received data amount included in the control frame received from the second communication device 80 is greater than the transmission data amount. Is set so that the output band of the line that transmitted the control frame is narrow.
  • a frame is allocated to a line with the smallest remaining output weight indicating the ratio of the remaining data amount that can be output every predetermined period on the line, and the remaining data is transmitted when the predetermined period elapses in the transmission process.
  • the present invention is preferably applied to a communication apparatus that aggregates a plurality of communication lines and performs data transfer.
  • Examples of the communication line include an Ethernet (registered trademark) network and a line for performing communication using a packet or a cell.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

[課題]複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる通信装置を提供する。 [解決手段]分割部81は、入力されたフレームを分割する。振分部82は、複数の回線の出力帯域に応じて、分割されたフレームを振り分ける。送信部83は、振り分けられたフレームを送信する。また、振分部82は、出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、その回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分ける。送信部83は、所定の周期経過時に残りのデータ量に相当するダミーフレームを送信する。

Description

通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体
 本発明は、複数の通信回線を集約してデータ転送を行う通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体に関する。
 複数回線を使って通信帯域を増加させる技術に、IEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.3adで標準化されているリンクアグリゲーションがある。リンクアグリゲーションでは、MAC(Media Access Control address)アドレスやIP(Internet Protocol )アドレスなどに基づいて、フレームが複数の回線に振り分けられる。
 また、特許文献1には、複数の無線チャネル等を利用してデータパケットを並列送信し、正常に伝送されなかった場合に再送処理を行う方法が記載されている。特許文献1に記載された方法では、送信バッファに蓄積されたデータフレームから、並列送信可能な数単位で伝送所要時間が互いに等しい複数のデータパケットを生成し、並列送信可能な数単位で連続的に並列送信する。そして、1度に生成された複数のデータパケット群の伝送所要時間が異なる場合、並列再送時に伝送所要時間の短いデータパケットにダミービットを付加し、他のデータパケットと伝送所要時間を揃える。
特開2008-187725号公報
 上述したリンクアグリケーションでは、各回線の使用帯域に偏りが生じることがある。例えば、ある回線で物理帯域よりもトラフィックが多く、ほかの回線で物理帯域よりもトラフィックが少ない場合、上述した方法では、トラフィックを均等に分散させることは困難である。
 また、特許文献1に記載された方法では、伝送所要時間が互いに等しくなるように複数のデータパケットが生成され、各チャネル間で独立してデータが転送される。そのため、回線の状況によっては、各チャネル間で転送されるデータ量に偏りが生じてしまう場合がある。
 そこで、本発明は、複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる通信装置、通信システム、通信方法、および、通信用プログラムが記憶された記憶媒体を提供することを目的とする。
 本発明による通信装置は、複数の回線を用いてデータ転送を行う通信装置であって、入力されたフレームを分割する分割手段と、複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分手段と、振り分けられたフレームを送信する送信手段とを備え、振分手段が、出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、その回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分け、送信手段が、所定の周期経過時に残りのデータ量に相当するダミーフレームを送信することを特徴とする。
 本発明による通信システムは、複数の回線を用いてデータ転送を行う通信装置を複数備え、通信装置が、入力されたフレームを分割する分割手段と、複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分手段と、振り分けられたフレームを送信する送信手段とを含み、振分手段が、出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、その回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分け、送信手段は、所定の周期経過時に残りのデータ量に相当するダミーフレームを送信することを特徴とする。
 本発明による通信方法は、複数の回線を用いてデータ転送を行う場合の通信方法であって、入力されたフレームを分割し、出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、その回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線に、分割されたフレームを振り分け、振り分けられたフレームと、所定の周期経過時に残りのデータ量に相当するダミーフレームとを送信することを特徴とする。
 本発明による通信用プログラムが記憶された記憶媒体は、複数の回線を用いてデータ転送を行うコンピュータに適用される通信用プログラムが記憶された記憶媒体であって、コンピュータに、入力されたフレームを分割する分割処理、複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分処理、および、振り分けられたフレームを送信する送信処理を実行させ、振分処理で、出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、その回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分けさせ、送信処理で、所定の周期経過時に残りのデータ量に相当するダミーフレームを送信させる通信用プログラムが記憶されていることを特徴とする。
 本発明によれば、複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる。
本発明による通信システムの一実施形態を示すブロック図である。 データフレーム送信処理の例を示す説明図である。 データフレーム受信処理の例を示す説明図である。 分割前のデータフレームの例を示す説明図である。 分割後のデータフレームの例を示す説明図である。 制御フレームフォーマットの例を示す説明図である。 ダミーフレームフォーマットの例を示す説明図である。 フレームを振り分ける処理の例を示す説明図である。 残り出力可能バイト数が一番大きい回線にフレームを出力する場合の動作例を示す説明図である。 出力帯域を調整する方法の例を示す説明図である。 遅延時間を測定する方法の例を示す説明図である。 本発明による通信装置の概要を示すブロック図である。 本発明による通信システムの概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 図1は、本発明による通信システムの一実施形態を示すブロック図である。本実施形態の通信システムは、2台の通信装置1、通信装置15を備えている。通信装置1および通信装置15は、同一の機能を有する装置であり、受信部2と送信部3とを含む。なお、通信装置1と通信装置15とは、受信部2および送信部3以外に、それぞれ互いに異なる機能を含んでいてもよい。
 通信装置1と通信装置15は、複数の回線1、回線2、…、回線nを介して互いに接続される。通信装置1と通信装置15とは、対になり、2つの通信装置間で通信が行われる。なお、通信装置1と通信装置15とは、直接接続されていてもよく、別の装置を経由して接続されていてもよい。なお、別の装置を経由して接続される場合であっても、通信装置1のフレームの宛先は、通信装置15である。また、本実施形態では、通信装置1以外の装置が送信したフレームは、通信装置15に入力されないものとする。
 送信部3は、分割部4、帯域管理部5、振分部6、複数の制御フレーム生成部7-1~7-n、格納部8-1~8-nおよび調停部9-1~9-nを有する。以下、制御フレーム生成部、格納部および調停部の機能を説明する場合、それぞれ制御フレーム生成部7、格納部8および調停部9と記す。制御フレーム生成部7、格納部8および調停部9は、接続される回線(ポート)ごとに設けられる。
 分割部4は、入力されたフレームを分割し、振分部6に入力する。分割部4がフレームを分割する方法は任意であり、分割部4は、広く知られた方法を用いてフレームを分割すればよい。
 帯域管理部5は、各回線の出力帯域を管理する。振分部6は、各回線の出力帯域に応じて、分割されたフレームを振り分け、格納部8に入力する。なお、帯域管理部5が管理する出力帯域の内容および振分部6が分割後のフレームを振り分ける方法は、後述される。
 制御フレーム生成部7は、他の通信装置に対して送信する制御フレームを生成する。また、制御フレーム生成部7は、帯域管理部5が管理する各回線の出力帯域に対して、送信されるデータフレームが少ない場合に送信されるダミーフレームを生成する。なお、制御フレームおよびダミーフレームの詳細は後述される。
 格納部8は、振分部6から入力されたフレームを一時的に保持する。
 調停部9は、格納部8に入力されたフレームを、接続された回線を介して、順次送信する。
 分割部4と、帯域管理部5と、振分部6と、制御フレーム生成部7と、調停部9とは、プログラム(通信用プログラム)に従って動作するコンピュータのCPU(Central Processing Unit)によって実現される。例えば、プログラムは、通信装置1の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、分割部4、帯域管理部5、振分部6、制御フレーム生成部7および調停部9として動作してもよい。
 また、分割部4と、帯域管理部5と、振分部6と、制御フレーム生成部7と、調停部9とは、それぞれが専用のハードウェアで実現されていてもよい。また、格納部8は、例えば、メモリ等により実現される。
 図2は、送信部3によって行われるデータフレーム送信処理の例を示す説明図である。
フレーム1、フレーム2およびフレーム3が送信部3に入力されると、分割部4は、各フレームを分割し、分割したフレームにシーケンス番号、先頭フラグおよび末尾フラグを付与して、振分部6に入力する。先頭フラグは、分割されたフレームの先頭のデータか否かを識別するフラグであり、末尾フラグは、分割されたフレームの末尾のデータか否かを識別するフラグである。
 ここで、フレーム1aのシーケンス番号をnとすると、フレーム1bのシーケンス番号はn+1、フレーム1cのシーケンス番号はn+2、フレーム2のシーケンス番号はn+3、フレーム3aのシーケンス番号はn+4、フレーム3bのシーケンス番号はn+5になる。
 振分部6は、帯域管理部5が管理する各回線の出力帯域に従って、各回線の格納部8(8-1,8-2,8-3)にフレームを送信する。図2に示す例では、帯域管理部5が管理する各回線では、回線2の出力帯域が一番大きく、回線1の出力帯域が一番小さいとする。回線ごとに設けられる格納部8は、受信したフレームを格納する。調停部9(9-1,9-2,9-3)は、格納部8に格納されたフレームを読み出し、接続される各回線に送信する。
 受信部2は、複数のフィルタ部10-1~10-n、制御フレーム処理部11-1~11-n、格納部12-1~12-n、読出部13、および結合部14を有する。以下、フィルタ部、制御フレーム処理部および格納部の機能を説明する場合、それぞれフィルタ部10、制御フレーム処理部11および格納部12と記す。フィルタ部10、制御フレーム処理部11および格納部12は、接続される回線(ポート)ごとに設けられる。
 フィルタ部10は、他の装置から送信されたフレームを受信し、制御フレーム処理部11および格納部12に入力する。
 制御フレーム処理部11は、受信した制御フレームを処理する。
 格納部12は、フィルタ部10から入力されたフレームを一時的に保持する。
 読出部13は、各格納部12に保持されたフレームを読出し、結合部14に入力する。
 結合部14は、読出部13から入力されたフレームを結合し、他の装置に送信する。
 フィルタ部10と、制御フレーム処理部11と、読出部13と、結合部14とは、プログラム(通信用プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、通信装置1の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、フィルタ部10、制御フレーム処理部11、読出部13および結合部14として動作してもよい。
 また、フィルタ部10と、制御フレーム処理部11と、読出部13と、結合部14とは、それぞれが専用のハードウェアで実現されていてもよい。また、格納部12は、例えば、メモリ等により実現される。
 図3は、受信部2によって行われるデータフレーム受信処理の例を示す説明図である。図3に例示するフレーム1a、フレーム1b、フレーム1c、フレーム2、フレーム3aおよびフレーム3bは、図2に例示する各調停部9が送信したフレームである。
 フィルタ部10(10-1,10-2,10-3)は、送信されたデータフレームを格納部12(12-1,12-2,12-3)に入力する。読出部13は、格納部12に格納されているデータフレームを、到着順にかかわらず、シーケンス番号の順番で読み出し、結合部14に入力する。
 図2および図3に示す例では、読出部13は、シーケンス番号が一番小さいフレーム1aから順に、前のフレームのシーケンス番号に1を加算したフレームを次のフレームとして読み出す。
 結合部14は、先頭フラグが1のフレームから末尾フラグが1のフレームまでを、分割前のフレームとして認識する。そして、結合部14は、分割されたフレームから、シーケンス番号、先頭フラグおよび末尾フラグを削除して結合し、分割前のフレームに復元して送信する。
 次に、制御フレームの内容を説明する。制御フレームは、回線の接続確認および動的出力帯域制御に使用される。具体的には、制御フレームは、図1における送信部3の制御フレーム生成部7(7-1,7-2,…,7-n)によって生成される。そして、調停部9(9-1,9-2,…,9-n)が、データフレームと制御フレームとの調停を行い、制御フレームが回線に出力される。
 また、通信装置15の受信部2では、フィルタ部10(10-1,10-2,…,10-n)が制御フレームを受信し、制御フレーム条件に一致した場合に、制御フレーム処理部11(11-1,11-2,…,11-n)に入力する。制御フレーム処理部11は、制御フレームの内容を解析し、解析された内容を、出力帯域制御と送信用の制御フレームを生成するために使用する。
 次に、ダミーフレームの内容を説明する。ダミーフレームは、設定された出力帯域よりも、出力されるデータフレームが少ない場合に、空き帯域分挿入されるフレームである。このダミーフレームは、後述する動的出力帯域制御にも使用される。
 具体的には、帯域管理部5は、管理する出力帯域よりも、出力されるデータフレームが少ない場合、各回線に対応する制御フレーム生成部7(7-1,7-2,…,7-n)にその旨を通知する。通知を受けた制御フレーム生成部7は、出力するフレームが、帯域管理部5によって管理される出力帯域となるように、ダミーフレームを生成し、調停部9に出力する。調停部9は、データフレームとの出力調停が行われたダミーフレームを送信する。
 また、通信装置15の受信部2では、フィルタ部10(10-1,10-2,…,10-n)がダミーフレームを受信し、ダミーフレーム条件に一致した場合に、制御フレーム処理部11(11-1,11-2,…,11-n)に入力する。そして、制御フレーム処理部11は、入力されたダミーフレームを破棄する。
 次に、本実施形態で用いられるフレームの内容を説明する。図4は、分割前のデータフレームの例を示す説明図である。図4に例示する分割前データフレーム21は、ネットワークを透過させるために必要なヘッダ22と、ペイロード23とを含む。
 図5は、分割後のデータフレームの例を示す説明図である。分割後データフレーム24-a~24-cは、図4に例示する分割前データフレーム21から生成される。図5に示す例では、分割前データフレームが3つのフレームに分割されている。
 図5に例示する分割後データフレーム24-a~24-cのように、分割部4は、分割前データフレーム21を、分割前データフレーム分割データ31に分割する。さらに、分割部4は、分割した各データに対して、ヘッダ25、シーケンス番号26、先頭フラグ27、末尾フラグ28、制御フラグ29およびダミーフラグ30を付与して、分割後データフレームを生成する。
 ヘッダ25は、データフレームがネットワークを透過するために必要なヘッダであり、分割前データフレームのヘッダ22とは別に、新たに付与される。
 シーケンス番号26は、受信部2の読出部13が分割後データフレームを並べ替えるために使用される。シーケンス番号26の値は、一つ前の分割後データフレームのシーケンス番号に1を加算した値になる。
 先頭フラグ27は、分割前データフレームの先頭を示すフラグである。図5に例示する分割後データフレームのうち、分割後データフレーム24-aのみ先頭フラグ27が1に設定され、分割後データフレーム24-bおよび分割後データフレーム24-cの先頭フラグ27は0に設定される。
 末尾フラグ28は、分割前データフレームの末尾を示すフラグである。図5に例示する分割後データフレームのうち、分割後データフレーム24-cのみ末尾フラグ28が1に設定され、分割後データフレーム24-aおよび分割後データフレーム24-bの末尾フラグ28は0に設定される。
 先頭フラグ27および末尾フラグ28は、受信部2の結合部14がフレームを組み立てるために使用される。
 制御フラグ29は、フレームが制御フレームであることを示すフラグである。また、ダミーフラグ30は、フレームがダミーフレームであることを示すフラグである。図5に例示する分割後データフレームの場合、制御フラグ29およびダミーフラグ30が0に設定される。
 図6は、制御フレームフォーマットの例を示す説明図である。制御フレーム32は、図5に例示する分割後データフレームと同様に、ヘッダ25、シーケンス番号26、先頭フラグ27、末尾フラグ28、制御フラグ29およびダミーフラグ30を含む。制御フレームのシーケンス番号26の値は、ひとつ前の制御フレーム32のシーケンス番号に1を加算した値になる。また、先頭フラグ27および末尾フラグ28には固定的に1が設定される。また、制御フラグ29は、制御フレームを示すフィールドのため、1が設定される。
また、ダミーフラグ30は、ダミーフレームを示すフィールドのため、0が設定される。
 受信部2のフィルタ部10は、制御フラグ29に1が設定されているフレームを制御フレームと判断し、制御フレーム処理部11に出力する。すなわち、フィルタ部10は、制御フラグ29に1が設定されているか否かを制御フレーム条件として利用する。
 制御フレーム32は、回線の帯域を調整するため、分割後データフレームに含まれる情報に加え、対向装置送信フレーム数33、対向装置送信バイト数34、自装置受信フレーム数35、自装置受信バイト数36、自装置送信フレーム数37、自装置送信バイト数38および遅延測定情報39を含む。
 対向装置送信フレーム数33は、対向する通信装置から送信されたフレーム数を示す。
対向装置送信バイト数34は、対向する通信装置から送信されたフレームのバイト数を示す。自装置受信フレーム数35は、対向する通信装置から受信したフレーム数を示す。自装置受信バイト数36は、対向する通信装置から受信したフレームのバイト数を示す。自装置送信フレーム数37は、自通信装置が送信するフレーム数を表す。自装置送信バイト数38は、自通信装置が送信するフレームのバイト数を表す。遅延測定情報39は、フレーム送信を送信した際に測定される遅延時間を表す。なお、制御フレームに含まれる各フィールドを利用する方法は、後述の出力帯域調整機能の説明において、説明される。
 図7は、ダミーフレームフォーマットの例を示す説明図である。ダミーフレーム40は、図5に例示する分割後データフレーム24や、図6に例示する制御フレーム32と同様に、ヘッダ25、シーケンス番号26、先頭フラグ27、末尾フラグ28、制御フラグ29およびダミーフラグ30を含む。
 ダミーフレームのシーケンス番号26の値は、固定的に0が設定され、先頭フラグ27および末尾フラグ28の値は、固定的に1が設定される。また、制御フラグ29には0が設定され、ダミーフラグ30には1が設定される。
 受信部2のフィルタ部10は、ダミーフラグ30に1が設定されているフレームをダミーフレームと判断し、制御フレーム処理部11に出力する。すなわち、フィルタ部10は、ダミーフラグ30に1が設定されているか否かをダミーフレーム条件として利用する。
<フレーム振分機能>
 次に、振分部6が分割後のフレームを振り分ける方法を説明する。帯域管理部5は、出力帯域として各回線に設定される単位時間に出力可能なデータ量と、その回線で所定の周期ごとに出力可能な残りのデータ量を管理する。具体的には、帯域管理部5は、単位時間に出力可能なデータ量として単位時間当たりの出力可能バイト数を保持し、所定の周期ごとに出力可能な残りのデータ量として残り出力可能バイト数を回線ごとに保持している。
この単位時間は、任意の単位で固定的に設定される。
 振分部6は、回線に分割後データフレームを出力するたびに、出力した分割後データフレームのバイト数を帯域管理部5へ通知する。帯域管理部5は、保持する残り出力可能バイト数から、通知された分割後データフレームのバイト数を減算する。
 帯域管理部5は、所定の周期ごとに、出力可能なデータ量(出力可能バイト数)を、出力可能な残りのデータ量(残り出力可能バイト数)に設定する。すなわち、帯域管理部5は、所定の周期ごとに、残り出力可能バイト数をリセットして出力可能バイト数に戻す処理を行う。具体的には、帯域管理部5は、リセット周期毎に、残り出力可能バイト数に単位時間当たり出力可能バイト数をロードする。
 振分部6は、出力可能なデータ量に対する、出力可能な残りのデータ量の割合を示す値を算出する。以下、このように算出される値を残り出力重みと記す。振分部6は、以下に例示する式1を用いて残り出力重みを算出してもよい。
 残り出力重み=残り出力可能バイト数/単位時間当たり出力可能バイト数 …(式1) 
 そして、振分部6は、残り出力重みが最も大きい回線にフレームを振り分ける。すなわち、分割後データフレームが出力される回線は、残り出力重みが一番大きい回線になる。
 図8は、フレームを振り分ける処理の例を示す説明図である。図8に示す例では、2回線(回線1、回線2)を利用してフレームが振り分けられる。ここで、図8に例示する回線1は、単位時間当たりの出力可能バイト数が1200であり、回線2は、単位時間当たりの出力可能バイト数が600であるとする。また、図8では、フレームを#で記し、#1~#15までの15のフレームが送信されているものとする。なお、フレームのバイト数は、すべて200とする。
 時間t1のときの出力可能バイト数には、単位時間当たり出力可能バイト数がセットされており、回線1の出力可能バイト数は1200、回線2の出力可能バイト数は600である。フレーム#1が到着すると、振分部6は、振分処理として残り出力重みを算出する。時間t1では、回線1と回線2とで残り出力重みは同じ値になるため、振分部6は、より小さい番号の回線1にフレーム#1を振り分ける。そして、振分部6は、回線1の残り出力可能バイト数を200減算して1000と算出する。
 次に、時間t2において、回線1の出力可能バイト数は1000、回線2の出力可能バイト数は600である。そのため、振分部6は、回線1の残り出力重みを約0.83と算出し、回線2の残り出力重みを1.00と算出する。そこで、振分部6は、残り出力重みがより大きい回線2にフレーム#2を振り分ける。そして、振分部6は、回線2の残り出力可能バイト数を200減算して400と算出する。
 同様に、時間t3において、回線1の出力可能バイト数は1000、回線2の出力可能バイト数は400である。そのため、振分部6は、回線1の残り出力重みを約0.83と算出し、回線2の残り出力重みを約0.67と算出する。そこで、振分部6は、残り出力重みがより大きい回線1にフレーム#3を振り分ける。以降、同様の処理が繰り返される。
 ここで、時間t1から時間t10の期間が残り出力可能バイト数をリセットする周期であるとする。時間t10において、帯域管理部5は、残り出力可能バイト数に単位時間当たり出力可能バイト数を設定する。すなわち、回線1の残り出力可能バイト数が1200に設定され、回線2の残り出力可能バイト数が600に設定される。
 残り出力可能バイト数をリセットする際(すなわち、出力可能バイト数をロードする前に)、残り出力可能バイト数が0でない場合、帯域管理部5は、残り出力可能バイト数を制御フレーム生成部7に通知する。制御フレーム生成部7は、残り出力可能バイト数分のダミーフレームを生成し、調停部9に出力する。
 このように、本実施形態では、振分部6が各回線間の残り出力重みを比較して振分処理を行うため、回線1と回線2には単位時間当たりの出力可能バイト数に応じて均等にフレームが出力される。
 すなわち、本実施形態では、振分部6が、分割後データフレームを、残り出力可能バイト数が一番大きい回線に出力するのではなく、残り出力重みが一番大きい回線に出力する。そのため、時間的な偏りがなく、各回線に均等にフレームを出力できる。
 仮に、残り出力可能バイト数が一番大きい回線にフレームを出力した場合、図8に例示するように均等にフレームを出力することは困難である。この場合の動作を図9に示す。
図9は、残り出力可能バイト数が一番大きい回線にフレームを出力する場合の動作例を示す説明図である。
 図9に示す例では、時刻t1から時刻t4までは、回線1の残り出力可能バイト数は、回線2の残り出力可能バイト数以上である。そのため、この期間、フレームは均等に振り分けられず、回線1にのみ振り分けられる。以後、回線1の残り出力可能バイト数が回線2の残り出力可能バイト数を下回ってからは、回線1と回線2とに交互にフレームが振り分けられる。
 このように、残り出力可能バイト数が一番大きい回線にフレームを出力する方法では、あるポートでのみフレームが出力される期間と、すべての回線で均等にフレームが出力される期間とが存在する。そのため、フレームを均等に出力することは困難である。一方、本実施形態では、残り出力重みが一番大きい回線に出力することで、この問題を解決している。
<出力帯域調整機能>
 次に、出力帯域を調整する方法を説明する。図10は、出力帯域を調整する方法の例を示す説明図である。図10に例示する実線矢印は、フレームの流れを示し、点線矢印は、制御フレームの流れを示す。出力帯域調整機能には、出力帯域を広げる機能と、出力帯域を狭める機能とが含まれる。以下、出力帯域を広げる機能を実行している状態を、出力帯域増加モードと記し、出力帯域を狭める機能を実行している状態を、出力帯域削減モードと記す。本実施形態において、初期状態では、出力帯域削減モードになっているものとし、出力帯域を狭める処理が行われるとする。
 まず初めに、出力帯域を狭める処理を説明する。出力帯域削減モードにおいて、出力帯域を狭めるか否かの判断は、通信装置1から送信したフレーム数と、対向の通信装置15が受信したフレーム数とを比較することによって行われる。通信装置15が受信したフレーム数が、通信装置1が送信したフレーム数より小さい場合、帯域管理部5は、対象の回線の出力帯域が狭くなるように設定する。本実施形態では、新たな出力帯域は、通信装置15から受信したフレーム数及びバイト数に基づいて算出される。
 図10に示す例では、通信装置1の調停部9は、送信した分割データフレームとダミーフレームとのフレーム数及びバイト数をカウントする。カウントされた値は、例えば、調停部9が有するメモリ(図示せず)に保持される。なお、調停部9は、制御フレームのフレーム数及びバイト数をカウントしない。
 制御フレーム生成部7は、所定のタイミングで制御フレームを生成し、調停部9に入力する。調停部9は、入力された制御フレーム32の自装置送信フレーム数37に、保持するフレーム数を設定し、制御フレーム32の自装置送信バイト数38に保持するバイト数を設定する。そして、調停部9は、フレーム数及びバイト数を設定した制御フレーム32を通信装置15に送信する。制御フレーム32を送信した際、調停部9は、保持するフレーム数及びバイト数を0にリセットする。
 通信装置15のフィルタ部10は、分割データフレームおよびダミーフレームを受信すると、受信したフレームのフレーム数及びバイト数をカウントする。カウントされた値は、例えば、フィルタ部10が有するメモリ(図示せず)に保持される。なお、フィルタ部10は、制御フレームのフレーム数及びバイト数をカウントしない。
 フィルタ部10は、制御フレームを受信すると、受信した制御フレームを制御フレーム処理部11に送信する。併せて、フィルタ部10は、カウントしているフレーム数及びバイト数を制御フレーム処理部11に通知する。
 制御フレーム処理部11は、制御フレーム32に含まれる自装置送信フレーム数37を対向装置送信フレーム数として、自通信装置15の制御フレーム生成部7に通知する。また、制御フレーム処理部11は、制御フレーム32に含まれる自装置送信バイト数38を対向装置送信バイト数として、自通信装置15の制御フレーム生成部7に通知する。さらに、制御フレーム処理部11は、自通信装置15のフィルタ部10から通知されたフレーム数を自装置受信フレーム数として、自通信装置15の制御フレーム生成部7に通知する。また、制御フレーム処理部11は、自通信装置15のフィルタ部10から通知されたバイト数を自装置受信バイト数として、自通信装置15の制御フレーム生成部7に通知する。
 通信装置15の制御フレーム生成部7は、制御フレーム32の対向装置送信フレーム数33に、制御フレーム処理部11から通知された対向装置送信フレーム数を設定する。また、通信装置15の制御フレーム生成部7は、制御フレーム32の対向装置送信バイト数34に、制御フレーム処理部11から通知された対向装置送信バイト数を設定する。
 同様に、通信装置15の制御フレーム生成部7は、制御フレーム32の自装置受信フレーム数35に、制御フレーム処理部11から通知された自装置受信フレーム数を設定する。また、通信装置15の制御フレーム生成部7は、制御フレーム32の自装置受信バイト数36に、制御フレーム処理部11から通知された自装置受信バイト数を設定する。そして、通信装置15の調停部9は、各情報が設定された制御フレーム32を通信装置1に送信する。
 通信装置1のフィルタ部10が制御フレーム32を受信すると、制御フレーム処理部11は、制御フレーム32に含まれる対向装置送信フレーム数33と自装置受信フレーム数35とを比較する。通信装置1の制御フレーム処理部11は、対向装置送信フレーム数33が自装置受信フレーム数35より大きい場合、出力帯域を狭める対象であると判断し、新たに設定する出力領域を算出して、通信装置1の帯域管理部5に通知する。新たな出力帯域は、例えば、以下に例示する式2を用いて算出されてもよい。
 新たな出力帯域=自装置受信バイト数36÷制御フレーム送信間隔 …(式2)
 なお、本実施形態の帯域管理部5は、出力帯域を単位時間当たりの出力可能バイト数に基づいて管理する。そこで、帯域管理部5は、以下に例示する式3を用いて単位時間当たりの出力可能バイト数を算出し、算出した値に基づいて出力帯域を更新してもよい。
 単位時間当たりの出力可能バイト数
 = 単位時間×制御フレーム処理部11から通知された出力帯域 …(式3)
 このように、本実施形態の通信装置1では、調停部9が各回線から送信される送信データ量を含む制御フレーム32を通信装置15に送信し、フィルタ部10が、調停部9による制御フレームの送信に応じて通信装置15から送信される制御フレーム32を受信する。この受信する制御フレーム32には、通信装置15が受信した受信データ量が含まれており、その受信データ量が送信データ量よりも小さい場合、帯域管理部5は、その制御フレームを送信した回線の出力帯域を狭く設定する。このように出力帯域を狭くすることで、各回線のデータ量の偏りをより抑制できる。
 次に、出力帯域を広げる処理を説明する。出力帯域増加モードにおいて、出力帯域を狭めるか否かの判断は、通信装置1から一時的に多く挿入されるダミーフレームにより、フレームの遅延時間が発生したか否かによって行われる。
 具体的には、通信装置1の制御フレーム生成部7がダミーフレームを一時的に多く挿入し、制御フレーム処理部11が、フレームの遅延時間をその前後で測定する。遅延時間が大きくなった場合、制御フレーム処理部11は、通信装置1と通信装置15との間のネットワークで通信帯域が物理帯域を超えたことによる遅延が発生したと判断し、出力帯域を広げられないと判断する。一方、遅延時間が大きくならなかった場合、制御フレーム処理部11は、出力帯域を広げられると判断する。
 本実施形態では、フレームロスが発生したか否かを判断する代わりに、フレームの遅延時間の変化の判断結果に基づいて、出力帯域を広げられるか否かが判断される。制御フレーム生成部7がフレームロスを発生させない範囲でダミーフレームを増加させることで、データフレームへの影響を最小限にとどめることができる。
 通信装置1の帯域管理部5は、通信装置1の制御フレーム生成部7に残り出力可能バイト数を通知する。制御フレーム生成部7は、通知された残り出力可能バイト数をダミーフレーム挿入量と判断し、その挿入量分のダミーフレームを生成して、通信装置1の調停部9へ出力する。
 なお、出力帯域増加モードでは、通信装置1の帯域管理部5が、残り出力可能バイト数に帯域増加量を加算して、通信装置1の制御フレーム生成部7に通知する。
 その後、通信装置1の制御フレーム処理部11は、通信装置1の帯域管理部5へ遅延量増加の有無を通知する。遅延量の増加がない場合、通信装置1の帯域管理部5は、単位時間当たりの出力可能バイト数を、帯域増加量+単位時間当たりの出力可能バイト数に上書きする。
 このように、制御フレーム生成部7が送信するダミーフレームのデータ量を増加させ、ダミーフレームの増加による遅延が生じない場合、帯域管理部5は、ダミーフレームを増加させて送信した回線の出力帯域を、増加させたダミーフレームのデータ量に応じて広く設定する。
 制御フレーム処理部11は、例えば、以下に例示する2通りの測定方法を用いて遅延時間を測定してもよい。ただし、遅延時間を測定する方法は、以下に例示する2通りの方法に限定されない。
 1つ目の方法として、制御フレーム処理部11は、Y.1731で標準化されているフレーム遅延測定(ETH-DM:Frame Delay Measurement )のように、タイムスタンプを使用して遅延を測定する。フレーム遅延測定では、フレーム送信時点におけるタイムスタンプとフレーム受信時点におけるタイムスタンプとを用いて遅延時間が求められる。
 この方法を用いる場合、制御フレーム生成部7は、制御フレーム32の遅延測定情報39にこのタイムスタンプを付与した制御フレームを生成する。遅延測定情報39にこのタイムスタンプを付与することで、遅延の測定が行われる。また、遅延測定情報39に遅延量を付与することで、通信装置1と通信装置15との間で遅延量が伝達される。
 2つ目の方法として、制御フレーム処理部11は、制御フレームが到着する時間を相対的に比較することにより、遅延を測定する。図11は、遅延時間を測定する方法の例を示す説明図である。
 図11に示す例では、4つの回線から制御フレームが同時に送信される。受信側の通信装置では、各回線の帯域幅により、異なったタイミングで制御フレームが受信される。このとき、制御フレーム生成部7は、出力帯域を広げる対象の1回線を選出し、その回線にダミーフレームを一時的に多く挿入する。
 その後の制御フレームの到着時間が、ダミーフレームを多く挿入していない回線と比較して、相対的な遅延量の増加がなかった場合、制御フレーム処理部11は、出力帯域を広げることが可能であると判断する。制御フレーム生成部7は、制御フレーム32の遅延測定情報39にこの相対的な遅延量を付与した制御フレームを生成する。遅延測定情報39に遅延量を付与することで、通信装置1と通信装置15との間で遅延量が伝達される。
 出力帯域増加モードと出力帯域削減モード間の状態遷移は、次のタイミングで実行される。出力帯域増加モードでフレームロスが発生した場合、出力帯域削減モードに移行される。出力帯域削減モードで制御フレーム処理部11が出力帯を狭くする対象にならないと判断した場合(つまり、対向装置送信フレーム数33が自装置受信フレーム数35と同じ場合)、出力帯域増加モードに移行される。
 以上のように、本実施形態では、分割部4が入力されたフレームを分割し、振分部6が、複数の回線の出力帯域に応じて分割されたフレームを振り分け、各調停部9が、振り分けられたフレームを送信する。このとき、振分部6は、出力帯域として各回線に設定される単位時間当たり出力可能バイト数に対し、その回線の残り出力可能バイト数の割合を示す残り出力重みが最も小さい回線にフレームを振り分ける。また、調停部9は、リセット周期ごと残りのデータ量に相当するダミーフレームを送信する。そのため、複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる。
 また、本実施形態では、出力帯域を狭める方法として、調停部9が、各回線から送信される送信データ量を含む制御フレームを他の装置に送信する。なお、この制御フレームは、制御フレーム生成部7により生成される。そして、フィルタ部10が、制御フレームの送信に応じて通信装置15から送信された制御フレームを受信する。この制御フレームには、通信装置15が受信した受信データ量が含まれる。制御フレーム処理部11が、その受信データ量が送信データ量よりも小さいと判断した場合に、帯域管理部5が、上記制御フレームを送信した回線の出力帯域を狭く設定する。このように出力帯域を狭くすることで、各回線のデータ量の偏りをより抑制できる。
 また、本実施形態では、出力帯域を広げる方法として、制御フレーム生成部7が、送信するダミーフレームのデータ量を増加させ、帯域管理部5が、ダミーフレームの増加による遅延が生じない場合に、ダミーフレームを増加させて送信した回線の出力帯域を、増加させたダミーフレームのデータ量に応じて広く設定する。このようにダミーフレームの遅延に基づいて判断することで、データフレームを送信する際の影響を低く抑えることができる。また、このように、出力帯域を広げることで、効率的にデータを送信できる。
 以上のように、本実施形態による通信装置を用いることで、複数の回線を集約(アグリゲート)する際、各回線の出力帯域設定に従って偏りなくデータを送信する。よって、それぞれの回線の出力帯域設定に応じてトラフィックを効率よく分散して通信できるため、回線を効率よく使用することが可能となる。
 また、例えば、各回線の出力帯域の設定に誤りがあると、フレームの遅延やロスが発生し、フレームをシーケンス番号通りに組み立てられず正常に通信ができない。本実施形態によれば各回線の出力帯域設定を動的に調整できるため、このような問題を解決できる。
 なお、本実施形態では、通信装置1(通信装置15)が、効率的にフレームを振り分ける機能だけでなく、出力帯域を調整する機能を備えている場合について説明した。ただし、通信装置は、出力帯域を調整する機能を備えていなくてもよい。また、通信装置は、出力帯域を調整する機能のうち、出力帯域を広げる機能と、出力帯域を狭める機能との、いずれか一方または両方を備えていてもよい。
 次に、本発明の概要を説明する。図12は、本発明による通信装置の概要を示すブロック図である。本発明による通信装置は、複数の回線を用いてデータ転送を行う通信装置(例えば、通信装置1、通信装置15)であって、入力されたフレームを分割する分割部81(例えば、分割部4)と、複数の回線の出力帯域に応じて(例えば、帯域管理部5が管理する各回線の出力帯域に応じて)、分割されたフレームを振り分ける振分部82(例えば、帯域管理部5、振分部6)と、振り分けられたフレームを送信する送信部83(例えば、調停部9)とを備えている。
 振分部82は、出力帯域として各回線に設定される単位時間に出力可能なデータ量(例えば、単位時間当たり出力可能バイト数)に対し、その回線で所定の周期(例えば、リセット周期)ごとに出力可能な残りのデータ量(例えば、残り出力可能バイト数)の割合を示す残り出力重みが最も小さい回線にフレームを振り分ける。また、送信部83は、所定の周期経過時に残りのデータ量に相当するダミーフレーム(例えば、ダミーフレーム40)を送信する。そのような構成により、複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる。
 また、送信部83は、各回線から送信される送信データ量(例えば、自装置送信フレーム数37、自装置送信バイト数38)を含む制御フレーム(例えば、制御フレーム32)を他の装置に送信してもよい。また、振分部82(例えば、フィルタ部10)は、制御フレームの送信に応じて他の装置(例えば、通信装置15)から送信される制御フレームを受信し、その制御フレームに含まれる他の装置が受信した受信データ量が、送信データ量よりも小さい場合(例えば、制御フレーム処理部11が判定した場合)に、(例えば、帯域管理部5が)制御フレームを送信した回線の出力帯域が狭くなるように設定してもよい。
 具体的には、振分部82は、制御フレームを送信する間隔に対する、他の装置が受信した受信データ量(例えば、上記の式2)に基づいて、設定する出力帯域を決定してもよい。
 また、送信部83(例えば、制御フレーム生成部7)は、送信するダミーフレームのデータ量を増加させてもよい。そして、振分部82(例えば、帯域管理部5)は、ダミーフレームの増加による遅延が生じない場合に、ダミーフレームを増加させて送信した回線の出力帯域を、増加させたダミーフレームのデータ量に応じて広くなるように設定してもよい。このようにダミーフレームの遅延に基づいて出力帯域を判断することで、データフレームを送信する際の影響を低く抑えることができる。また、このように、出力帯域を広げることで、効率的にデータを送信できる。
 具体的には、送信部83は、フレームロスを発生させない範囲でダミーフレームを増加させてもよい。
 図13は、本発明による通信システムの概要を示すブロック図である。本発明による通信システムは、複数の回線を用いてデータ転送を行う通信装置80を複数備えている。なお、通信装置80の内容は、図12に例示する通信装置80の内容と同様である。
 図13に例示する通信システムにおいて、第一の通信装置80(例えば、通信装置1)の送信部83(例えば、調停部9)は、各回線から送信される送信データ量(例えば、自装置送信フレーム数37、自装置送信バイト数38)を含む制御フレームを第二の通信装置80(例えば、通信装置15)に送信する。第二の通信装置80の送信部83(例えば、調停部9)は、自通信装置が受信した受信データ量(例えば、対向装置送信フレーム数33、対向装置送信バイト数34、自装置受信フレーム数35、自装置受信バイト数36)を設定した制御フレームを第一の通信装置80に送信する。第一の通信装置80の振分部82(例えば、制御フレーム処理部11、帯域管理部5)は、第二の通信装置80から受信した制御フレームに含まれる受信データ量が、送信データ量よりも小さい場合に、制御フレームを送信した回線の出力帯域が狭くなるように設定する。
 そのような構成であっても、複数の通信回線を用いてデータ転送を行う場合に、各回線が転送するデータ量の偏りを抑制できる。
 なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)複数の回線を用いてデータ転送を行うコンピュータに適用される通信用プログラムであって、前記コンピュータに、入力されたフレームを分割する分割処理、前記複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分処理、および、振り分けられたフレームを送信する送信処理を実行させ、前記振分処理で、前記出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、当該回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分けさせ、前記送信処理で、前記所定の周期経過時に前記残りのデータ量に相当するダミーフレームを送信させるための通信用プログラム。
(付記2)コンピュータに、送信処理で、各回線から送信される送信データ量を含む制御フレームを他の装置に送信させ、振分処理で、前記制御フレームの送信に応じて前記他の装置から送信される制御フレームを受信させ、当該制御フレームに含まれる前記他の装置が受信した受信データ量が、前記送信データ量よりも小さい場合に、前記制御フレームを送信した回線の出力帯域が狭くなるように設定させる付記1記載の通信用プログラム。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2014年5月8日に出願された日本出願特願2014-096762を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、複数の通信回線を集約してデータ転送を行う通信装置に好適に適用される。
通信回線として、例えば、Ethernet(登録商標)網や、パケットやセルを利用して通信を行う回線が挙げられる。
 1,15 通信装置
 2 受信部
 3 送信部
 4 分割部
 5 帯域管理部
 6 振分部
 7 制御フレーム生成部
 8 格納部
 9 調停部
 10 フィルタ部
 11 制御フレーム処理部
 12 格納部
 13 読出部
 14 結合部

Claims (10)

  1.  複数の回線を用いてデータ転送を行う通信装置であって、
     入力されたフレームを分割する分割手段と、
     前記複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分手段と、
     振り分けられたフレームを送信する送信手段とを備え、
     前記振分手段は、前記出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、当該回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分け、
     前記送信手段は、前記所定の周期経過時に前記残りのデータ量に相当するダミーフレームを送信する
     ことを特徴とする通信装置。
  2.  前記送信手段は、各回線から送信される送信データ量を含む制御フレームを他の装置に送信し、
     前記振分手段は、前記制御フレームの送信に応じて前記他の装置から送信される制御フレームを受信し、当該制御フレームに含まれる前記他の装置が受信した受信データ量が、前記送信データ量よりも小さい場合に、前記制御フレームを送信した回線の出力帯域が狭くなるように設定する
     請求項1記載の通信装置。
  3.  前記振分手段は、制御フレームを送信する間隔に対する、他の装置が受信した受信データ量に基づいて、設定する出力帯域を決定する
     請求項2記載の通信装置。
  4.  前記送信手段は、送信するダミーフレームのデータ量を増加させ、
     前記振分手段は、前記ダミーフレームの増加による遅延が生じない場合に、ダミーフレームを増加させて送信した回線の出力帯域を、増加させたダミーフレームのデータ量に応じて広くなるように設定する
     請求項1から請求項3のうちのいずれか1項に記載の通信装置。
  5.  前記送信手段は、フレームロスを発生させない範囲でダミーフレームを増加させる
     請求項4記載の通信装置。
  6.  複数の回線を用いてデータ転送を行う通信装置を複数備え、
     前記通信装置は、
     入力されたフレームを分割する分割手段と、
     前記複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分手段と、
     振り分けられたフレームを送信する送信手段とを含み、
     前記振分手段は、前記出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、当該回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分け、
     前記送信手段は、前記所定の周期経過時に前記残りのデータ量に相当するダミーフレームを送信する
     ことを特徴とする通信システム。
  7.  第一の通信装置の前記送信手段は、各回線から送信される送信データ量を含む制御フレームを第二の通信装置に送信し、
     前記第二の通信装置の前記送信手段は、自通信装置が受信した受信データ量を設定した制御フレームを前記第一の通信装置に送信し、
     前記第一の通信装置の前記振分手段は、前記第二の通信装置から受信した制御フレームに含まれる前記受信データ量が、前記送信データ量よりも小さい場合に、前記制御フレームを送信した回線の出力帯域が狭くなるように設定する
     請求項6記載の通信システム。
  8.  複数の回線を用いてデータ転送を行う場合の通信方法であって、
     入力されたフレームを分割し、
     出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、当該回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線に、分割されたフレームを振り分け、
     振り分けられたフレームと、前記所定の周期経過時に前記残りのデータ量に相当するダミーフレームとを送信する
     ことを特徴とする通信方法。
  9.  各回線から送信される送信データ量を含む制御フレームを他の装置に送信し、
     前記制御フレームの送信に応じて前記他の装置から送信される制御フレームを受信し、 前記制御フレームに含まれる前記他の装置が受信した受信データ量が、前記送信データ量よりも小さい場合に、前記制御フレームを送信した回線の出力帯域が狭くなるように設定する
     請求項8記載の通信方法。
  10.  複数の回線を用いてデータ転送を行うコンピュータに適用される通信用プログラムが記憶された記憶媒体であって、
     前記コンピュータに、
     入力されたフレームを分割する分割処理、
     前記複数の回線の出力帯域に応じて、分割されたフレームを振り分ける振分処理、および、
     振り分けられたフレームを送信する送信処理を実行させ、
     前記振分処理で、前記出力帯域として各回線に設定される単位時間に出力可能なデータ量に対し、当該回線で所定の周期ごとに出力可能な残りのデータ量の割合を示す残り出力重みが最も小さい回線にフレームを振り分けさせ、
     前記送信処理で、前記所定の周期経過時に前記残りのデータ量に相当するダミーフレームを送信させる
     ための通信用プログラムが記憶された記憶媒体。
PCT/JP2015/002320 2014-05-08 2015-05-07 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体 WO2015170475A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2946508A CA2946508A1 (en) 2014-05-08 2015-05-07 Communication device, communication system, communication method, and storage medium storing program for communication
US15/309,520 US10142247B2 (en) 2014-05-08 2015-05-07 Communication device, communication system, communication method, and storage medium storing program transferring data using a plurality of lines
JP2016517816A JP6195017B2 (ja) 2014-05-08 2015-05-07 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体
EP15789544.2A EP3142308A4 (en) 2014-05-08 2015-05-07 Communication device, communication system, communication method, and storage medium storing program for communication
CN201580024088.3A CN106464607B (zh) 2014-05-08 2015-05-07 通信设备、通信系统、通信方法和存储用于通信的程序的存储介质
RU2016147933A RU2648566C1 (ru) 2014-05-08 2015-05-07 Устройство связи, система связи, способ связи и запоминающий носитель, хранящий программу для осуществления связи

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-096762 2014-05-08
JP2014096762 2014-05-08

Publications (1)

Publication Number Publication Date
WO2015170475A1 true WO2015170475A1 (ja) 2015-11-12

Family

ID=54392331

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/002320 WO2015170475A1 (ja) 2014-05-08 2015-05-07 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体

Country Status (7)

Country Link
US (1) US10142247B2 (ja)
EP (1) EP3142308A4 (ja)
JP (1) JP6195017B2 (ja)
CN (1) CN106464607B (ja)
CA (1) CA2946508A1 (ja)
RU (1) RU2648566C1 (ja)
WO (1) WO2015170475A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105550A (ja) * 2014-12-01 2016-06-09 富士通株式会社 伝送装置、伝送網システム、及び伝送遅延測定方法
CN109951738B (zh) * 2017-12-21 2022-02-01 腾讯数码(天津)有限公司 传输路径获取方法、第一电子设备以及可读存储介质
JP7317630B2 (ja) * 2019-08-14 2023-07-31 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004051955A1 (ja) * 2002-11-29 2004-06-17 Fujitsu Limited 通信装置、制御方法及びプログラム
JP2010171562A (ja) * 2009-01-21 2010-08-05 Fujitsu Ltd 通信装置および通信制御方法
JP2011103614A (ja) * 2009-11-12 2011-05-26 Hitachi Ltd パケット振り分け機能を有する装置及びパケット振り分け方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055268A (en) * 1996-05-09 2000-04-25 Texas Instruments Incorporated Multimode digital modem
US5918021A (en) 1996-06-03 1999-06-29 Intel Corporation System and method for dynamic distribution of data packets through multiple channels
US6813284B2 (en) 2001-01-17 2004-11-02 Qualcomm Incorporated Method and apparatus for allocating data streams given transmission time interval (TTI) constraints
US7151749B2 (en) 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
WO2004114610A1 (ja) 2003-06-18 2004-12-29 Nippon Telegraph And Telephone Corporation 無線パケット通信方法
CN101060518B (zh) * 2007-06-05 2012-11-14 中兴通讯股份有限公司 一种多线路绑定的业务信息发送和接收设备
US7908393B2 (en) 2007-12-04 2011-03-15 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
JP5359202B2 (ja) * 2008-11-06 2013-12-04 富士通株式会社 フレーム生成装置、光伝送システム、フレーム生成方法および光伝送方法
EP3050354B1 (en) * 2013-09-25 2020-04-29 Intel Corporation End-to-end (e2e) tunneling for multi-radio access technology (multi-rat)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004051955A1 (ja) * 2002-11-29 2004-06-17 Fujitsu Limited 通信装置、制御方法及びプログラム
JP2010171562A (ja) * 2009-01-21 2010-08-05 Fujitsu Ltd 通信装置および通信制御方法
JP2011103614A (ja) * 2009-11-12 2011-05-26 Hitachi Ltd パケット振り分け機能を有する装置及びパケット振り分け方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3142308A4 *

Also Published As

Publication number Publication date
JP6195017B2 (ja) 2017-09-13
RU2648566C1 (ru) 2018-03-26
CN106464607A (zh) 2017-02-22
US20170155593A1 (en) 2017-06-01
JPWO2015170475A1 (ja) 2017-04-20
US10142247B2 (en) 2018-11-27
EP3142308A4 (en) 2018-01-03
CA2946508A1 (en) 2015-11-12
CN106464607B (zh) 2019-09-03
EP3142308A1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
US9699091B2 (en) Apparatus and method for time aware transfer of frames in a medium access control module
US10680949B2 (en) Systems and methods for implementing a time-stamped controller area network (CAN) bus message
US9769082B2 (en) System and method for network bandwidth, buffers and timing management using hybrid scheduling of traffic with different priorities and guarantees
US9998389B2 (en) Method and apparatus for blocking transmission of frames from a network device
CN104429029B (zh) 网络中通过中央控制器的基于延迟的业务速率控制
US8943161B2 (en) Time synchronization system
JP2019503153A (ja) サービストラヒック分配方法及び装置
WO2014083780A1 (ja) 通信装置、通信装置を有するルータ、バスシステム、およびバスシステムを有する半導体回路の回路基板
WO2014128802A1 (ja) インタフェース装置およびバスシステム
US10728134B2 (en) Methods, systems, and computer readable media for measuring delivery latency in a frame-preemption-capable network
JP6195017B2 (ja) 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体
US20140036672A1 (en) Calculating credit for controlling data frame transmission
US10361962B2 (en) Packet processing technique for a communication network
JP2013048415A (ja) データネットワーク向けエンドツーエンド遅延情報の埋め込み
Wang et al. Flow distribution-aware load balancing for the datacenter
EP2966819B1 (en) Method and apparatus for forwarding traffic of switching system
JP2011040895A (ja) 情報処理装置、その制御方法及びプログラム
US11018968B2 (en) Packet transmission method and packet transmitting device
WO2016132402A1 (ja) 通信フレーム転送装置および通信システム
US20180026864A1 (en) Communication apparatus, communication system, and communication method
CN117459462A (zh) 网络负载均衡方法和装置
KR102524579B1 (ko) 파장 가변 레이저 다이오드의 파장이 변환되는 시간에 기초하여 포토닉 프레임을 전송할 시간을 결정하는 포토닉 프레임 스위칭 시스템
WO2022244262A1 (ja) ネットワーク遅延測定システム、ネットワーク遅延測定方法及びネットワーク遅延測定装置
TW202344022A (zh) 設備轉換器、通訊系統、通訊方法、及通訊程式產品
CN117478580A (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: 15789544

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016517816

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2946508

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15309520

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015789544

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015789544

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016147933

Country of ref document: RU

Kind code of ref document: A