TRANSMISSION APPARATUS, METHOD FOR CONTROLLING TRANSMISSION, AND RECORDING MEDIUM

Information

  • Patent Application
  • 20150327279
  • Publication Number
    20150327279
  • Date Filed
    April 30, 2015
    9 years ago
  • Date Published
    November 12, 2015
    9 years ago
Abstract
A transmission apparatus for transmitting packets through a plurality of transmission channels includes: an identifying unit configured to identify, as a candidate, one or more sets each including one or more transmission channels for use in transmitting a plurality of transmission target data packets, based on transmission speed of the plurality of transmission channels; and a determining unit configured to determine, among the one or more sets identified as the candidate by the identifying unit, a set including less number of transmission channels than another set, as a set of the transmission channel for use in transmitting the transmission target data packets.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to a transmission apparatus, a method for controlling transmission, and a program.


2. Description of the Related Art


Conventionally, technology for looking at and listening to streaming multimedia data such as a moving image and voice while using an IP (Internet Protocol) network is prevalent. For instance, a communication protocol is used which is referred to as an RTP (A Transport Protocol for Real-Time Applications, RFC 3550, IETF).


In addition, the image quality and the quality of video data which is passed through the IP network have been enhanced year by year, and a coding technology also has progressed due to an appearance of HEVC (High Efficiency Video Coding) having high compression efficiency, and the like.


On the other hand, the traffic of the media data has increased year by year, and accordingly the capacity of communication bands is required to be increased. In other words, it is required to maintain infrastructure and also to efficiently use a network band.


As a method for efficiently using the network band, there is a multipath transmission technology which concurrently uses a plurality of available network interfaces, and increases the capacity. As a protocol which supports the multipath transmission, there is a multipath TCP (Architectural Guidelines for Multipath TCP Development, RFC 6182, IETF). In addition, as other protocols, there are a multipath RTP and a CMT-SCTP (Concurrent Multipath Transfer using Stream Control Transmission Protocol).


In the multipath transmission which concurrently uses a plurality of transmission channels, such a case is also considered that the bands and jitters are different among the plurality of the used transmission channels. When packets are passed through a transmission channel having a narrow band and a long latency, there is a possibility that a delay to be spent before a receiving apparatus receives the packets results in being large, compared to the case where the packets are passed through a transmission channel having a wide band and a short latency. Japanese Patent Application Laid-Open No. 2006-67075 discloses a technology of controlling the quantity of data which is sorted into each of the transmission channels in consideration of a difference among bands, latencies and the like of each of the transmission channels.


However, in the multipath transmission, there has been a problem that when the movie data has been sorted into each transmission path packet by packet, reorder processing occurs, which leads to a delay in delivery. The transmission path means a set of transmission channels for use in transmitting transmission target data.


SUMMARY OF THE INVENTION

According to an aspect of the present invention, a transmission apparatus for transmitting data through a plurality of transmission channels comprises: an identifying unit configured to identify, as a candidate, one or more sets each including one or more transmission channels for use in transmitting a plurality of data packets of a transmission target, based on transmission speed of the plurality of transmission channels; and a determining unit configured to determine, among the one or more sets identified as the candidate by the identifying unit, a set including less number of transmission channels than another set, as a set of the transmission channel for use in the transmitting transmission target data.


Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a view illustrating a transmission apparatus.



FIG. 2 is a flow chart illustrating transmission control processing.



FIG. 3 is a view illustrating one example of a transmission speed.



FIG. 4 is a view illustrating an example in which a transmission path is determined.



FIG. 5 is a view illustrating an example in which packets are transmitted.





DESCRIPTION OF THE EMBODIMENTS

Preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings.



FIG. 1 is a view illustrating a transmission apparatus 100 according to an embodiment. The transmission apparatus 100 includes: a generator unit 101; a management unit 102; a 1st storage unit 103; a measurement unit 104; a 2nd storage unit 105; a controlling unit 106; and three communication I/Fs 107a to 107c.


Transmission channels 110a to 110c are networks such as a communication service of a mobile phone system of 3G, 4G and the like, the Internet, and LAN (Local Area Network). The communication I/Fs 107a to 107c are provided with a function of transmitting and receiving data, and are connected to the transmission channels 110a to 110c, respectively, so as to be capable of communicating with the respective transmission channels. The transmission apparatus 100 enables the multiple transmission which transmits data by using the plurality of transmission channels 110a to 110c in parallel. In addition, the communication unit may be wireless or wired. In addition, the transmission apparatus 100 may have the plurality of communication I/Fs and corresponding transmission channels, and the numbers thereof are not limited to the embodiment.


When coded data of moving images and voices has been input frame by frame, the generator unit 101 converts the coded data into transmission target data, divides the coded data into sizes suitable for communication, and generates packets. When the transmission apparatus 100 uses the RTP as a transmission protocol, for instance, the generator unit 101 divides the coded data, then further adds a header suitable for each type of media, and generates data packets for the RTP.


The management unit 102 generates size information on every frame of the input coded data, and holds this information. The 1st storage unit 103 stores information indicating a permissible period therein. In the present exemplary embodiment, the permissible period means a transmission time period which can be permitted when the coded data is transmitted frame by frame. The information indicating the permissible period shall be previously stored in a ROM (Read Only Memory) or the like.


The measurement unit 104 measures transmission speeds in each of the transmission channels 110a to 110c based on a Receiver Report (hereinafter referred to as RR) of RTCP, which is transmitted from a receiving apparatus. Transmission speed information includes communication band information. TFRC (TCP-Friendly Rate Control), for instance, is well known as a method for measuring a band usable for a UDP in a network which coexists with a data flow of TCP, and this measurement method can use information in RTCP RR. In addition, there is also a method of dividing a window size (also referred to as RWIN) in a side of the receiving apparatus by RTT (Round Trip Time), as a simple method.


The 2nd storage unit 105 stores transmission speed information therein that indicates the transmission speeds of each of the transmission channels 110a to 110c, which have been measured by the measurement unit 104. Incidentally, the transmission speed information which the 2nd storage unit 105 stores therein is updated every time the transmission speed is measured by the measurement unit 104. The controlling unit 106 has a sorting unit 108 which controls a session of communication with the receiving apparatus, and sorts transmission data into three communication I/Fs 107a to 107c.


Incidentally, a CPU (Central Processing Unit) reads out a program stored in the ROM or the like and executes this program, and thereby the processing for each unit illustrated in FIG. 1 and the following processing by the transmission apparatus 100 can be achieved.



FIG. 2 is a flow chart showing transmission control processing by the transmission apparatus 100. After the coded video data has been input, the packets have been generated and the frame size information has been held, the transmission apparatus 100 starts transmission control processing. In a step S201, the controlling unit 106 acquires the size information corresponding to one frame of the coded data which has been input from the management unit 102. Here, one frame is one example of a packet group including a plurality of packets. Next, in a step S202, the controlling unit 106 acquires a permissible period from the 1st storage unit 103. The permissible period means a length of a time period which is permitted as a time period necessary for transmitting the transmission target data (for instance, data corresponding to one frame).


Next, in a step S203, the controlling unit 106 calculates a frame transmission rate based on the frame size information and the permissible period (calculation processing). Here, the frame transmission rate is an example of a transmission speed which is permitted when the frame is transmitted, in other words, a permissible speed. The permissible speed is a transmission speed which is needed for a transmission channel in order that the transmission target data is transmitted within a predetermined permissible period. In the present exemplary embodiment, the controlling unit 106 divides the size of the frame by the permissible period, and thereby calculates the frame transmission rate. However, when the data is transmitted through the RTP, the quantity of data corresponding to the RTP header is added. Then, in this case, the controlling unit 106 may calculate the frame transmission rate in consideration of the quantity of data corresponding to data obtained by multiplying the RTP header size by the number of the divided packets.


Next, in a step S204, the controlling unit 106 acquires the transmission speed information on each of the transmission channels 110a to 110c. Next, in a step S205, an identifying unit 109 contained in the controlling unit 106 identifies a transmission path based on the transmission speed and the frame transmission rate. The transmission path is a set including one or a plurality of transmission channels for use in transmitting the transmission target data. For instance, suppose that the frame transmission rate of a frame of a processing object is 50 Mbps, and that the transmission speeds of three transmission channels A, B and C (which correspond to transmission channels 110a to 110c, respectively) are 60 Mbps, 40 Mbps and 20 Mbps respectively, as is illustrated in FIG. 3. In this case, the transmission speed of only A or a combination of B and C becomes a value larger than the frame transmission rate (50 Mbps). Accordingly, in this case, the controlling unit 106 identifies the transmission path of only A, and the transmission path of the combination of B and C. Thus, the identifying unit 109 identifies candidates of the sets of transmission channels which can transmit the transmission target data within a predetermined time period.


Next, in a step S206, a determining unit 111 in the controlling unit 106 determines a transmission path having fewer transmission channels included in the transmission path, out of the transmission paths which have been identified by the identifying unit 109, as a transmission path for use in transmitting the transmission target data. In the above described example, the transmission path of only A includes fewer transmission channels to be used. Accordingly, in this case, the controlling unit 106 extracts the transmission path of only A.


Next, in a step S207, the determining unit 111 in the controlling unit 106 checks whether the number of the determined transmission paths is plural or not. When there exist the plurality of transmission paths (in the case of Yes in S207), the controlling unit 106 advances the process to a step S208. When there exists only one transmission path (in the case of No in S207), the controlling unit 106 advances the process to a step S209.


In the step S208, the determining unit 111 in the controlling unit 106 determines a transmission path in which the transmission channel to be used in the transmission path has a longer non-use period, out of the plurality of transmission paths, as a transmission path which is used for the transmission of the frame of the processing object.


As in the above way, the determining unit 111 in the controlling unit 106 determines the set including the transmission channels having a longer non-use period, out of the plurality of sets having equal number of transmission channels included in the set of the transmission channels, as a set of the transmission channel for use in transmitting the transmission target data.


In the present exemplary embodiment, when the transmission apparatus transmits the data to the receiving apparatus, information (for instance, above described RR) showing a communication state of the transmission channel through which the data has been transmitted is transmitted from the receiving apparatus to the transmission apparatus. The information showing the communication state includes, for instance, the transmission speed of the data and the information for identifying a time period needed for transmitting the data. Thus, the transmission apparatus 100 can know the communication states of each of the transmission channels from the RR. However, in the transmission channel having the longer non-use period, the data is not transmitted. Accordingly, the transmission apparatus cannot receive the RR, and cannot know the communication states of the transmission channels.


Then, as in the present exemplary embodiment, the data is transmitted with the use of the transmission channel having the longer non-use period. Thereby, the transmission apparatus 100 receives the RR and can know the latest communication states concerning the transmission channels.


In addition, in a step S209, the controlling unit 106 determines one transmission path which has been extracted, as a transmission path to be used for the transmission of the frame of the processing object. Here, processes of the steps S208 and S209 are one example of determination processing which determines a transmission path including at least one transmission channel that is used for the transmission of the packet group, for each of the packet groups. The processes of the steps S208 and S209 determine a transmission path including one, two or more transmission channels which are used for the transmission of the packet group, for each of the packet groups. With the steps, the transmission control processing ends.



FIG. 4 is a view illustrating one example of: a frame transmission rate that has been calculated for a plurality of frames (frames of frame numbers “01” to “15”) which constitute the coded data; selected transmission paths; and a transmission path which has been determined to be used for the transmission. The example illustrated in FIG. 4 corresponds to the transmission channels 110a to 110c having the transmission speeds illustrated in FIG. 3.


In the frame of the frame number “01”, for instance, it is shown that the frame transmission rate 110 Mbps has been calculated, and only one of a combination of A, B and C has been selected as the transmission path. In addition, in the frame of the frame number “02”, it is shown that the frame transmission rate 30 Mbps has been calculated, a transmission path of only A or only B has been selected as the transmission path, and the transmission path of only A has been determined out of the transmission paths.


In the example illustrated in FIG. 4, the transmission rate of the frame of the frame number “04” is 15 Mbps. Because of this, the transmission path of only A, only B or only C is selected. Furthermore, any one of the transmission paths is a path which uses only one transmission channel. Accordingly, in the step S206 as well, three transmission paths are extracted. In this case, in the step S208, the transmission path which uses only the transmission channel C that has the maximum length of the non-use period in the transmission of the frames of the frame numbers “01” to “03”, which have been transmitted before the frame of the frame number “04”, is determined as the transmission path to be used.


Note that such a method is also acceptable as another example that the controlling unit 106 compares the non-use period with a threshold in the step S208. Specifically, when the non-use period is the threshold or smaller, the controlling unit 106 determines to use a transmission path out of the plurality of transmission paths, according to previously set priority, and when the non-use period is larger than the threshold, determines to use a transmission path which includes a transmission channel having a longer non-use period.


Furthermore, when the determined transmission path includes the plurality of transmission channels, the sorting unit 108 in the controlling unit 106 sorts packets which constitute the frame, into each of the transmission channels (sorting processing). FIG. 5 is a view for describing this packet sorting processing. In the example of FIG. 5, assume that nine packets constitute one frame. In this case, the controlling unit 106 sorts the packets into the three transmission channels A to C so that the numbers of the sorted packets are proportional to the transmission speeds of each of the transmission channels A to C. Thereby, the occurrence ratio of a packet loss or the like can be controlled to be low, compared to the case where the packets are equally sorted to each of the transmission channels A to C.


As has been described above, the transmission apparatus 100 according to the present embodiment determines the transmission path frame by frame. Furthermore, the transmission apparatus 100 determines the transmission path so that the number of the transmission channels becomes fewer, with respect to each of the frames. Thereby, the transmission apparatus 100 can reduce the occurrence of reorder processing, while allotting data to the plurality of transmission channels. Specifically, the transmission apparatus 100 can reduce a delay in delivery of data by reducing the occurrence of the reorder processing, in multipath transmission.


Furthermore, when there exists a transmission channel having a longer non-use period, the transmission apparatus 100 uses a transmission path including the transmission channel. Accordingly, the transmission apparatus 100 can receive the RR concerning each of the transmission channels in response to the transmission of the data, and can periodically check the states of each of the transmission channels. Accordingly, the transmission apparatus 100 can enhance the accuracy of the communication quality for each of the transmission channels, without using a check packet or the like.


As for a first modified example of the transmission apparatus 100 according to the present embodiment, the transmission apparatus 100 may not have the 1st storage unit 103 and may acquire the permissible period from an external apparatus.


In addition, as for a second modified example, the controlling unit 106 may sort the packets based on a delay time period (latency or RTT) which is spent before the transmission apparatus receives a corresponding response after having transmitted a request, in processing of sorting packets. Specifically, the controlling unit 106 may sort the packets so that a packet having a smaller sequence number of an RTP header is delivered in increasing order of the delay time period of the transmission channel. Thereby, the receiving apparatus can receive the packets in increasing order of the sequence number of the RTP header, and accordingly can reduce a load at the time when the data is reconstructed.


As has been described above, the transmission apparatus in each of the above described embodiments reduces the occurrence of the reorder processing in the multipath transmission, and thereby can reduce the delay in the delivery of the data.


OTHER EMBODIMENTS

Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.


While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.


This application claims the benefit of Japanese Patent Application No. 2014-096122, filed May 7, 2014 which is hereby incorporated by reference herein in its entirety.

Claims
  • 1. A transmission apparatus for transmitting data through a plurality of transmission channels comprising: an identifying unit configured to identify, as a candidate, one or more sets each including one or more transmission channels for use in transmitting transmission target data, based on transmission speed of the plurality of transmission channels; anda determining unit configured to determine, among the one or more sets identified as the candidate by the identifying unit, a set including less number of transmission channels than another set, as a set of the transmission channel for use in the transmitting the transmission target data.
  • 2. The transmission apparatus according to claim 1, wherein the transmission target data is image data of one frame, andthe identifying unit identifies, as the candidate, the set of the transmission channel used for a transmission of the image data of one frame, andthe determining unit determines, among the one or more sets identified as the candidate by the identifying unit, the set including less number of transmission channels for the transmitting the image data of one frame than another set.
  • 3. The transmission apparatus according to claim 1, wherein the identifying unit identifies, as the candidate, the set of the transmission channel capable of transmitting the data of the transmission target data within a predetermined period.
  • 4. The transmission apparatus according to claim 1, wherein the determining unit determines, among a plurality of sets each including the same number of the transmission channels, a set including the transmission channels of longer non-use period, as the set of the transmission channel for transmitting the transmission target data.
  • 5. The transmission apparatus according to claim 1 further comprising: a sorting unit configured to sort the transmission target data, into each of the transmission channels included in the set, based on transmission speeds of the plurality of transmission channels included in the set determined by the determining unit.
  • 6. A controlling method of a transmission apparatus for transmitting a plurality of data packets through a plurality of transmission channels comprising: identifying, as a candidate, one or more sets each including one or more transmission channels for use in transmitting a plurality of the transmission data packets, based on transmission speed of the plurality of transmission channels; anddetermining, among the one or more sets identified as the candidate in the identifying, a set including less number of transmission channels than another set, as a set of the transmission channel for use in transmitting a plurality of the transmission target data packets.
  • 7. The method according to claim 6, wherein a plurality of the transmission target data is an image data of one frame, andin the identifying, identified, as the candidate, is the set of the transmission channel used for a transmission of the image data of one frame, andin the determining, determined, among the one or more sets identified as the candidate in the identifying, is the set including less number of transmission channels for the transmitting the image data of one frame than another set.
  • 8. The method according to claim 6, wherein in the identifying, identified, as the candidate, is the set of the transmission channel capable of transmitting the transmission target data within a predetermined period.
  • 9. The method according to claim 6, wherein in the determining, determined, among a plurality of sets each including the same number of the transmission channels, is a set including the transmission channels of longer non-use period, as the set of the transmission channel for transmitting the transmission target data.
  • 10. The method according to claim 6 further comprising: sorting the data packets of the transmission target, into each of the transmission channels included in the set, based on transmission speeds of the plurality of transmission channels included in the set determined in the determining.
  • 11. A non-transitory computer-readable recording medium storing a readable program for operating a computer, for transmitting data through a plurality of transmission channels, to execute: identifying, as a candidate, one or more sets each including one or more transmission channels for use in transmitting a plurality of transmission target data packets, based on transmission speed of the plurality of transmission channels; anddetermining, among the one or more sets identified as the candidate in the identifying, a set including less number of transmission channels than another set, as a set of the transmission channel for use in transmitting a plurality of the transmission target data packets.
  • 12. The recording medium according to claim 11, wherein a plurality of the transmission target data packets are image data of one frame, andin the identifying, the program identifies, as the candidate, the set of the transmission channel used for transmitting transmission of the image data of one frame, andin the determining, the program determines, among the one or more sets identified as the candidate in the identifying, the set including less number of transmission channels for the transmitting the image data of one frame than another set.
  • 13. The recording medium according to claim 11, wherein in the identifying, the program identifies, as the candidate, the set of the transmission channel capable of transmitting a plurality of the transmission target data packets within a predetermined period.
  • 14. The recording medium according to claim 11, wherein in the determining, the program determines, among a plurality of sets each including the same number of the transmission channels, a set including the transmission channels of longer non-use period, as the set of the transmission channel for transmitting a plurality of the transmission target data packets.
  • 15. The recording medium according to claim 11, wherein the program operates the computer to execute further:sorting the transmission target data packets, into each of the transmission channels included in the set, based on transmission speeds of the plurality of transmission channels included in the set determined in the determining.
Priority Claims (1)
Number Date Country Kind
2014-096122 May 2014 JP national