The present invention relates to a content delivery system, a cache server, and a content delivery method. In particular, it relates to: a content delivery system in which a moving image content is cached on a mobile network and the content is delivered to various terminals (such as mobile phones, smartphones, PCs (Personal Computers), and game machines); a cache server; and a content delivery method.
It is predicted that the speed and capacity of mobile networks will be increased further through techniques such as LTE (Long Term Evolution) and EPC (Evolved Packet Core). With such advancement, it is predicted that content delivery will be in widespread use in the future. In content delivery, contents are delivered to various terminals such as mobile terminals via mobile networks.
For example, PTL (Patent Literature) 1 discloses a content delivery method. According to PTL 1, a plurality of cache servers are caused to temporarily store contents stored in a content server connected to the Internet and to deliver contents to an unspecified large number of client terminals.
In addition, PTL 2 discloses a moving image delivery system for causing a server to deliver video data to clients. According to PTL 2, to enable clients to perform high-quality reproduction of video data, the clients deliver performance information representing performance thereof to the server.
The entire disclosure of each of the above PTLs is incorporated herein by reference thereto. The following analysis has been made by the present inventor.
It is predicted that the amount of data system traffic on mobile networks will be increased eight to ten times as large as the current amount by 2013 and that video contents will account for most of the data system traffic. In addition, as smartphones spread rapidly and terminal capabilities improve further, sizes of video contents are increasing more and more. Accordingly, it is predicted that hi-definition, large-capacity contents will also be delivered on mobile networks in the near future.
However, in conventional content delivery systems, when contents on the Internet are delivered via a mobile network, all the content requests from terminals are transmitted to a delivery server apparatus on the Internet via packet forwarding apparatuses. In addition, the delivery server apparatus delivers the contents to all the terminals via the packet forwarding apparatuses.
However, such content delivery system has the following problems.
The bandwidth (throughput) of a mobile network changes with time, depending on the traffic amount. However, in the conventional content delivery systems, when a moving image content on the Internet is delivered, the content of a certain bit rate is continuously delivered, regardless of the above change. Thus, if the bandwidth continuously falls below the delivery bit rate, the content cannot be delivered. As a result, when data buffered in the client is depleted, various problems such as freeze-up of the moving image or interruption of voice are caused during reproduction. If these phenomena are caused, QoE (Quality of Experience) of the viewer is significantly deteriorated.
In addition, in the conventional content delivery systems, future data that is not currently needed by the viewer for viewing is also delivered. Thus, if the viewer stops viewing the content, data that has already been delivered and that has not been reproduced yet is wasted, counted as a problem. Namely, the conventional content delivery systems have a problem that the limited bandwidth of a mobile network is needlessly consumed.
Thus, there is a demand for a technique to prevent deterioration of user QoE even when the bandwidth of a mobile network is changed when a content is delivered via the mobile network.
According to a first aspect of the present invention, there is provided a content delivery system, comprising:
a plurality of cache servers on a mobile network;
wherein each of the plurality of cache servers comprises:
a temporary content accumulation unit that temporarily accumulates at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet;
a determination unit that by using information included in a content request message from a mobile terminal determines which one of the plurality of cache servers accumulates a content requested by the mobile terminal;
a content acquisition unit that reads a file corresponding to the requested content from the determined cache server and outputs the file to the temporary content accumulation unit; and
a delivery unit that estimates a bandwidth of the mobile network based on a predetermined signal from the mobile terminal, reads the file corresponding to the requested content from the temporary content accumulation unit, extracts a stream from the file, generates a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, stores the generated stream in a packet, and transmits the packet to the mobile terminal.
According to a second aspect of the present invention, there is provided a cache server, comprising:
a temporary content accumulation unit that temporarily accumulates at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet;
a determination unit that by using information included in a content request message from a mobile terminal determines which one of the plurality of cache servers on a mobile network accumulates a content requested by the mobile terminal;
a content acquisition unit that reads a file corresponding to the requested content from the determined cache server and outputs the file to the temporary content accumulation unit; and
a delivery unit that estimates a bandwidth of the mobile network based on a predetermined signal from the mobile terminal, reads the file corresponding to the requested content from the temporary content accumulation unit, extracts a stream from the file, generates a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, stores the generated stream in a packet, and transmits the packet to the mobile terminal.
According to a third aspect of the present invention, there is provided a content delivery method, comprising:
by a cache server, temporarily accumulating at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet in a temporary content accumulation unit provided with the cache server;
by using information included in a content request message from a mobile terminal, determining which one of the plurality of cache servers on a mobile network accumulates a content requested by the mobile terminal;
reading a file corresponding to the requested content from the determined cache server and outputting the file to the temporary content accumulation unit;
estimating a bandwidth of the mobile network based on a predetermined signal from the mobile terminal;
reading the file corresponding to the requested content from the temporary content accumulation unit; and
extracting a stream from the read file, generating a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, storing the generated stream in a packet, and transmitting the packet to the mobile terminal.
According to a fourth aspect of the present invention, there is provided a content delivery system comprising a plurality of cache servers on a mobile network; wherein each of the plurality of cache servers comprises:
a temporary content accumulation unit that temporarily accumulates at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet;
a determination unit that by using information included in a content request message from a mobile terminal determines which one of the plurality of cache servers accumulates a content requested by the mobile terminal;
a content acquisition unit that reads a file corresponding to the requested content from the determined cache server and outputs the file to the temporary content accumulation unit; and
a delivery unit that estimates a bandwidth of the mobile network based on a predetermined signal from the mobile terminal, reads the file corresponding to the requested content from the temporary content accumulation unit, extracts a stream from the file, generates a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, stores the generated stream in a file, and transmits a packet including the file storing the adjusted stream to the mobile terminal while controlling transmission timing based on a buffer capacity of the mobile terminal at least for a certain period.
According to a fifth aspect of the present invention, there is provided a cache server comprising:
a temporary content accumulation unit that temporarily accumulates at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet;
a determination unit that by using information included in a content request message from a mobile terminal determines which one of the plurality of cache servers on a mobile network accumulates a content requested by the mobile terminal;
a content acquisition unit that reads a file corresponding to the requested content from the determined cache server and outputs the file to the temporary content accumulation unit; and
a delivery unit that estimates a bandwidth of the mobile network based on a predetermined signal from the mobile terminal, reads the file corresponding to the requested content from the temporary content accumulation unit, extracts a stream from the file, generates a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, stores the stream in a file, and transmits a packet including the file storing the adjusted stream to the mobile terminal while controlling transmission timing based on a buffer capacity of the mobile terminal at least for a certain period.
According to a sixth aspect of the present invention, there is provided a content delivery method comprising:
by a cache server, temporarily accumulating at least part of contents stored in a delivery server apparatus delivering a content(s) on the Internet in a temporary content accumulation unit provided with the cache server;
by using information included in a content request message from a mobile terminal, determining which one of the plurality of cache servers on a mobile network accumulates a content requested by the mobile terminal; reading a file corresponding to the requested content from the determined cache server and outputting the file to the temporary content accumulation unit;
estimating a bandwidth of the mobile network based on a predetermined signal from the mobile terminal;
reading the file corresponding to the requested content from the temporary content accumulation unit;
extracting a stream from the read file, generate a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, and storing the generated stream in a file; and
transmitting a packet including the file storing the adjusted stream to the mobile terminal while controlling transmission timing based on a buffer capacity of the mobile terminal at least for a certain period.
The present invention provides various advantageous effects, which include the following, but not restricted thereto. With a content delivery system, a cache server, and a content delivery method according to the present invention, it is possible to prevent deterioration of user QoE even when the bandwidth of a mobile network is changed when a content is delivered via the mobile network.
The present invention provides various possible modes, which include the following, but not restricted thereto. First, an outline of the present invention will be described. The reference characters in the following outline are merely used as examples to facilitate understanding of the present invention. Therefore, the reference characters are not intended to limit the present invention to the illustrated modes.
As illustrated in
In addition, the delivery unit (114) may read the file corresponding to the requested content from the temporary content accumulation unit (113) in portions, extract a stream from the file divided in portions, and generates a stream by deleting at least one frame whose priority is relatively low from the stream so that a bit rate of the generated stream does not exceed the bandwidth.
If the delivery unit (114) receives a response packet from the mobile terminal (170) in response to a transmitted packet transmitted to the mobile terminal (170), the delivery unit may estimate the bandwidth of the mobile network (150) based on a difference between a transmission time of the transmitted packet and a reception time of the response packet and based on a size of the transmitted packet. If the delivery unit (114) receives a signal indicating a congestion state of the mobile network (150) from the mobile terminal (170), the delivery unit (114) may not transmit the packet for a predetermined period.
As illustrated in
As illustrated in
According to the present invention, the following modes are possible.
A content delivery system may be the content delivery system according to the above first aspect.
The delivery unit may read the file corresponding to the requested content from the temporary content accumulation unit in portions, extract a stream from the file divided in portions, and generate a stream by deleting at least one frame whose priority is relatively low from the stream so that a bit rate of the generated stream does not exceed the bandwidth.
If the delivery unit receives a response packet from the mobile terminal in response to a transmitted packet transmitted to the mobile terminal, the delivery unit may estimate the bandwidth of the mobile network based on a difference between a transmission time of the transmitted packet and a reception time of the response packet and based on a size of the transmitted packet.
If the delivery unit receives a signal indicating a congestion state of the mobile network from the mobile terminal, the delivery unit may not transmit the packet for a predetermined period.
The plurality of cache servers may be transparent or fully transparent proxy servers.
The mobile network may be a 3G mobile network or an LTE (Long Term Evolution)/EPC (Evolved Packet Core) network.
A cache server may be the cache server according to the above second aspect.
The delivery unit may read the file corresponding to the requested content from the temporary content accumulation unit in portions, extract a stream from the file divided in portions, and generate a stream by deleting at least one frame whose priority is relatively low from the stream so that a bit rate of the generated stream does not exceed the bandwidth.
If the delivery unit receives a response packet from the mobile terminal in response to a transmitted packet transmitted to the mobile terminal, the delivery unit may estimate the bandwidth of the mobile network based on a difference between a transmission time of the transmitted packet and a reception time of the response packet and based on a size of the transmitted packet.
If the delivery unit receives a signal indicating a congestion state of the mobile network from the mobile terminal, the delivery unit may not transmit the packet for a predetermined period.
A content delivery method may be the content delivery method according to the above third aspect.
In the above content delivery method, the cache server may receive the file corresponding to the requested content from the temporary content accumulation unit in portions, extract a stream from the file divided in portions, and generate a stream by deleting at least one frame whose priority is relatively low from the stream so that a bit rate of the generated stream does not exceed the bandwidth
In the above content delivery method, if the cache server receives a response packet from the mobile terminal in response to a transmitted packet transmitted to the mobile terminal, the cache server may estimate the bandwidth of the mobile network based on a difference between a transmission time of the transmitted packet and a reception time of the response packet and based on a size of the transmitted packet.
In the above content delivery method, if the cache server receives a signal indicating a congestion state of the mobile network from the mobile terminal, the cache server may not transmit the packet for a predetermined period.
There is provided a program causing a computer provided with a cache server to execute:
temporarily accumulating at least part of contents stored in a delivery server apparatus delivering a content(s on the Internet in a temporary content accumulation unit provided in the cache server;
by using information included in a content request message from a mobile terminal, determining which one of the plurality of cache servers on a mobile network accumulates a content requested by the mobile terminal;
reading a file corresponding to the requested content from the determined cache server and outputting the file to the temporary content accumulation unit;
estimating a bandwidth of the mobile network based on a predetermined signal from the mobile terminal;
reading the file corresponding to the requested content from the temporary content accumulation unit;
extracting a stream from the read file, generating a stream by deleting at least part of frames from the stream so that a bit rate of the generated stream does not exceed the bandwidth, storing the generated stream in a packet, and transmitting the packet to the mobile terminal. The program can be provided as a program product recorded in a non-transient computer-readable recording medium.
The above program may cause the computer to execute receiving the file corresponding to the requested content from the temporary content accumulation unit in portions, extracting a stream from the file divided in portions, and generating a stream by deleting at least one frame whose priority is relatively low from the stream so that a bit rate of the generated stream does not exceed the bandwidth.
The above program may cause the computer to execute, upon receiving a response packet from the mobile terminal in response to a transmitted packet transmitted to the mobile terminal, estimating the bandwidth of the mobile network based on a difference between a transmission time of the transmitted packet and a reception time of the response packet and based on a size of the transmitted packet.
The above program may cause the computer to execute, upon receiving a signal indicating a congestion state of the mobile network from the mobile terminal, stopping transmission of the packet for a predetermined period.
Configurations and operations of content delivery systems according to exemplary embodiments will be described in detail with reference to
A content delivery system according to a first exemplary embodiment will be described with reference to the drawings.
The delivery server apparatus 121 on the Internet 145 accumulates various contents on the Internet. Hereinafter, these contents will be referred to as OTT (Over The Top) contents. In the present exemplary embodiment, a content is a compressed-and-encoded bit stream of a moving image content or a file storing such compressed-and-encoded bit stream. In addition, a mobile terminal 170 is used as a terminal. However, a terminal different from the mobile terminal 170 may be used as a terminal.
The SGSN/GGSN apparatuses 190_1 to 190_N (N≧2) are arranged on the mobile network 150. The RNC apparatuses 195_1 to 195_L (L≧2) are connected to the SGSN/GGSN apparatus 190_1. Likewise, the RNC apparatuses 197_1 to 197_L are connected to the SGSN/GGSN apparatus 190_N. While the L RNC apparatuses are also connected to the SGSN/GGSN apparatus 190_2, illustration thereof is omitted in
In addition, the M base stations (M≧2) are connected to each of the RNC apparatuses. For example, the M base station apparatuses 180_1 to 180_M are connected to the RNC apparatus 195_1.
In
The mobile terminal 170 transmits a delivery connection request message including the URL (Uniform Resource Locator) of a requested content. Next, a base station apparatus (in
The RNC apparatus 195_L receives the connection request message from the base station apparatus and stores the connection request message, the IP (Internet Protocol) address of the delivery server apparatus 121, the IP address of the mobile terminal 170, and the like in a payload portion of a GTP (GPRS (General Packet Radio Service) Tunneling Protocol) packet, and forwards the GTP packet to the SGSN/GGSN apparatus 190_1 managing the RNC apparatuses 195_1 to 195_L.
Next, the SGSN/GGSN apparatus 190_1 receives the GTP packet.
The cache server 110_1 is connected to a Gi interface of a GGSN function unit of the SGSN/GGSN apparatus 190_1, for example. Likewise, the cache server 110_N is connected to a Gi interface of a GGSN function unit of the SGSN/GGSN apparatus 190_N. In addition, the cache servers 110_1 to 110_N are connected to each other so that the cache servers 110_1 to 110_N can coordinate with each other for contents.
Next, a configuration of the cache server 110_1 connected to the SGSN/GGSN apparatus 190_1 will be described with reference to the drawings.
As illustrated in
The control signal transmission and reception unit 111 receives a GTP packet, which stores a connection request message, the IP address of the mobile terminal 170, the URL of a requested content, and the like transmitted from the mobile terminal 170, from the SGSN/GGSN apparatus 190_1. In addition, the control signal transmission and reception unit 111 receives information about the area being visited by the mobile terminal 170 from the SGSN/GGSN apparatus 190_1.
The analysis unit 115 reads the connection request message stored in the payload portion of the GTP packet, extracts information about the IP address of the mobile terminal 170, the URL of the requested content, and the like, and outputs the URL of the requested content, the IP address of the mobile terminal 170, and the like to the delivery unit 114 and the determination unit 117.
The collection unit 116 receives a list of contents accumulated in the cache server 110_1 and lists of contents accumulated in the cache servers 110_2 to 110_N other than the cache server 110_1. In addition, the collection unit 116 outputs these lists to the determination unit 117. The collection unit 116 may collect the content lists at predetermined time intervals or when receiving a connection request from the mobile terminal 170. Alternatively, the collection unit 116 may collect the content lists when a request is made by any one of the other cache servers 110_2 to 110_N to collect the content lists.
The determination unit 117 receives information about the IP address of the mobile terminal 170, the URL of the requested content, and the like, a list of contents accumulated in the cache server 110_1, and lists of contents accumulated in the cache servers 110_2 to 110_N other than the cache server 110_1. The determination unit 117 determines whether the content requested by the mobile terminal 170 is accumulated in the cache server 110_1 or in any one of the cache servers 110_2 to 110_N other than the cache server 110_1.
If the content requested by the mobile terminal 170 is accumulated in the cache server 110_1, the determination unit 117 instructs the temporary content accumulation unit 113 and the delivery unit 114 to perform reading and delivery, respectively.
If the content requested by the mobile terminal 170 is accumulated in any one of the cache servers 110_2 to 110_N, the determination unit 117 notifies the content acquisition unit 112 of the URL of the requested content and the IP address of the cache server in which the requested content is accumulated. In addition, the determination unit 117 instructs the content acquisition unit 112 to acquire the content from the target cache server through inter-cache-server coordination.
If the content requested by the mobile terminal 170 is not accumulated in the cache server 110_1 or in any one of the cache servers 110_2 to 110_N, the determination unit 117 instructs the content acquisition unit 112 to acquire the content from the delivery server apparatus 121.
From the determination unit 117, the content acquisition unit 112 receives the URL of the requested content and the content acquisition instruction. If the content is accumulated in another cache server, the content acquisition unit 112 receives the IP address of this cache server. If the content is accumulated in the delivery server apparatus 121, the content acquisition unit 112 receives the IP address of the delivery server apparatus 121. The content acquisition unit 112 acquires at least one copy of the requested content and outputs the copy to the temporary content accumulation unit 113.
The temporary content accumulation unit 113 accumulates the content outputted from the content acquisition unit 112. In addition, when receiving a content read instruction from the determination unit 117, the temporary content accumulation unit 113 reads a content file corresponding to the URL of the requested content and outputs the file to the delivery unit 114.
As needed, the content list creation unit 118 creates a list of all the contents accumulated in the temporary content accumulation unit 113. The content list creation unit 118 outputs the content list at predetermined time intervals or when a request is made by another cache server or by the collection unit 116.
The delivery unit 114 receives information about the URL of the requested content from the analysis unit 115 and receives a content delivery instruction from the determination unit 117. The delivery unit 114 reads a file corresponding to the requested content from the temporary content accumulation unit 113, generates packets of a predetermined protocol (for example, TCP (Transmission Control Protocol)), and transmits the packets to the SGSN/GGSN apparatus 190_1. The SGSN/GGSN apparatus 190_1 delivers the packets including the content to the mobile terminal 170.
The reception unit 201 receives a TCP response signal packet (for example, a TCP Ack signal packet) from the mobile terminal 170 via the SGSN/GGSN apparatus and outputs information about the TCP response signal packet to the bandwidth estimation unit 202. Alternatively, when receiving an ECN (Explicit Congestion Notification) signal indicating a congestion state from the mobile terminal 170, the reception unit 201 may instruct the bandwidth estimation unit 202 to rapidly reduce the band.
The bandwidth estimation unit 202 receives information about each transmitted packet transmitted from the transmission unit 200 (for example, the transmission time and the size of each transmitted packet) and information about a TCP response signal packet as described above. By using the number of each transmitted packet and by associating a transmitted packet with a TCP response signal packet, the bandwidth estimation unit 202 measures a response time Tn based on formula (1).
T
n
=T
n
ack
−T
n
send (1)
In the above formula (1), Tn represents the response time of an n-th packet, Tnack represents time at which the reception unit 201 receives an n-th TCP response signal packet, and Tnsend represents time at which the transmission unit 200 transmits an n-th transmitted packet.
The bandwidth estimation unit 202 sets the size of the n-th transmitted packet to Sn and estimates a bandwidth Bn of the n-th packet based on formula (2) and formula (3).
P
n
=S
n
/T
n (2)
B
n=(1−α)×Bn-1+α×Pn (3)
In formula (3), α is a predetermined constant satisfying 0<α<1.
The bandwidth estimation unit 202 may perform these calculations based on formula (2) and formula (3) at predetermined time intervals or when a request is made by the content obtainment unit 203.
The bandwidth estimation unit 202 outputs the bandwidth Bn estimated based on formula (3) to the selection adjustment unit 204 at predetermined time intervals T or when a request is made by the selection adjustment unit 204.
When receiving an ECN signal from the reception unit 201, the bandwidth estimation unit 202 may determine that the mobile network is in a congestion state and reduce the bandwidth Bn estimated based on formula (2) by a predetermined amount or set Bn=0. If the bandwidth estimation unit 202 sets Bn=0, no packets are transmitted from the transmission unit 200 for a predetermined time period.
The content obtainment unit 203 receives the URL of the requested content from the analysis unit 115 in
The selection adjustment unit 204 receives the bandwidth Bn from the bandwidth estimation unit 202 and receives a content file corresponding to the requested URL from the content obtainment unit 203 in portions. The content file is divided into portions so that each portion has a predetermined time length τ (the unit thereof is second) or a predetermined size G (the unit thereof is byte). In addition, the selection adjustment unit 204 receives the bit rate K (the unit thereof is bps) of the content from the content obtainment unit 203. For example, the selection adjustment unit 204 makes an adjustment to obtain a bit rate K′ (the unit thereof is bps) as described by the following processing so that the bit rate of a stream extracted from the file inputted in portions does not exceed the estimated bandwidth Bn. Next, the selection adjustment unit 204 outputs the bit rate K′ to the transmission unit 200. Herein, for example, τ is set to 2 seconds. Namely, the selection adjustment unit 204 receives a file divided into portions every two seconds from the content obtainment unit 203.
If K≦Bn, the selection adjustment unit 204 sets K′=K, extracts a stream from the file inputted in portions, and outputs the stream to the transmission unit 200 without making any adjustment to the stream.
However, if K>Bn, the selection adjustment unit 204 extracts a stream from the file inputted in portions, reads a header portion from the stream, and determines whether the picture type of the stream header is an I picture (an Intra Coded Picture), a P picture (a Predictive Coded Picture), or a B picture (a Bidirectional Predictive Coded Picture). In addition, the selection adjustment unit 204 generates a stream obtained by sequentially deleting at least one frame whose priority is relatively low and calculates a bit rate K′. Herein, B pictures have lower priority than P pictures.
The selection adjustment unit 204 calculates the bit rate K′ based on formula (4).
K′=K−Σ
j
B
j (4)
In formula (4), Bj represents the bit rate of a j-th B picture included in a stream of the divided file. After performing the calculation based on formula (4), the selection adjustment unit 204 compares the bit rate K′ with the bandwidth Bn.
If K′≦Bn, the selection adjustment unit 204 outputs the stream obtained by deleting at least one B picture from the stream of the divided file through the above processing to the transmission unit 200.
However, if K′>Bn and B pictures are still included in the stream of the divided file, the selection adjustment unit 204 creates a stream by deleting the remaining B pictures from the stream, calculates a bit rate K′ based on formula (5), and compares the bit rate K′ with the bandwidth Bn, again.
K′=K′−Σ
m
B
m (5)
If no B pictures are included, the selection adjustment unit 204 creates a stream by deleting at least one P picture from the stream, calculates a bit rate K′ based on formula (6), and compares the bit rate K′ with the bandwidth Bn, again.
K′=K′−Σ
i
P
i (6)
In formula (6), Pi represents the bit rate of an i-th P picture included in the stream portion.
As a result of the above processing, if K′≦Bn, the selection adjustment unit 204 outputs the stream created by the above processing to the transmission unit 200.
The transmission unit 200 receives the stream whose bit rate has been adjusted based on the divided file outputted from the selection adjustment unit 204, stores the stream in a TCP packet, and transmits the packet to the mobile terminal 170 via the SGSN/GGSN apparatus 190_1, a relevant RNC apparatus, and a relevant base station apparatus.
Various variations can be made to the content delivery system according to the first exemplary embodiment described above.
The delivery server apparatus 121 may be connected to the cache server apparatuses 110_1 to 110_N.
In addition, the delivery unit 114 may estimate the bandwidth based on a formula other than formula (2) and formula (3). The delivery unit 114 may adjust the bit rate based on a method other than the above method.
The mobile terminal 170 may be a mobile phone, a smartphone, a tablet, or a PC equipped with a data communication card. Alternatively, the mobile terminal 170 may be any terminal, as long as the terminal can communicate with a mobile 3G network.
A content delivery system according to a second exemplary embodiment will be described with reference to the drawings.
As illustrated in
Transparent proxy servers and fully transparent proxy servers are two examples of the types of the proxy servers 120_1 to 120_N. Hereinafter, the proxy server 120_1 will be described. Since the other proxy servers 120_2 to 120_N operate in the same way as the proxy server 120_1, description thereof will be omitted.
First, an example where the proxy server 120_1 is a transparent proxy server will be described. The proxy server 120_1 temporarily terminates a message signal from the mobile terminal 170 and analyzes the message signal. The proxy server 120_1 delivers a content temporarily accumulated therein to the mobile terminal 170. As needed, the proxy server 120_1 transmits a request to or accesses the delivery server apparatus 121 via the SGSN/GGSN apparatus 190_1.
Next, an example where the proxy server 120_1 is a fully transparent proxy server will be described. The proxy server 120_1 does not change the URL of a requested content, the IP address of the delivery server apparatus 121 on the Internet, the IP address of the mobile terminal 170, and the like included in a request signal from the mobile terminal 170. The proxy server 120_1 uses a DPI (Deep Packet Inspection) technique and checks a packet header portion or the like, without terminating a signal from the mobile terminal 170. In addition, the proxy server 120_1 extracts information about the URL of the requested content, the IP address of the mobile terminal 170, and the like. If a requested content is cached in the proxy server 120_1, the proxy server 120_1 first transmits a delivery stop instruction to the delivery server apparatus 121 via the SGSN/GGSN apparatus 190_1. Next, the proxy server 120_1 delivers the requested content.
Since the proxy server 120_1 has the same configuration as that (
A content delivery system according to a third exemplary embodiment will be described with reference to the drawings.
In the present exemplary embodiment, as illustrated in
In addition, in EPC, S/P-GW (Serving/Packet Data-Gateway) apparatuses are connected to corresponding eNodeB apparatuses. An S/P-GW apparatus is an apparatus in which an S-GW apparatus and a P-GW apparatus are integrated.
A single cache server is connected to each S/P-GW apparatus. For example, a cache server 410_1 is connected to the S/P-GW apparatus 290_1. The cache servers 410_1 to 410_N are connected to each other to achieve coordination for contents.
The mobile terminal 170 transmits a delivery connection request message including the IP address of the delivery server apparatus 121. Next, an eNodeB apparatus (in
The cache server 410_1 has the same configuration as that of the cache server 110_1 (
Various variations can be made to the content delivery system according to the third exemplary embodiment.
In addition, the mobile terminal 170 may be a mobile phone, a smartphone, a tablet, or a PC equipped with a data communication card. Alternatively, the mobile terminal 170 may be any terminal, as long as the terminal can communicate with a mobile 3.9G (3.9th Generation) network.
A content delivery system according to a fourth exemplary embodiment will be described with reference to the drawings.
For example, the content delivery systems according to the first to fourth exemplary embodiments provide the following advantageous effects.
In the content delivery system according to any one of the above exemplary embodiments, when a moving image content of a certain bit rate on the Internet is delivered, even when the bandwidth (throughput) of a mobile network is changed with time by a traffic amount and the bandwidth continuously falls below the delivery bit rate, the bandwidth is estimated based on a TCP response signal or an ECN notification signal, moving image frames are sequentially discarded in ascending order of priority so that the bit rate of a stream extracted from a divided file does not exceed the estimated band, the adjusted stream is stored in a TCP packet, and the TCP packet is transmitted. According to such content delivery system, problems such as freeze-up of a moving image or interruption of voice on the client side during reproduction can be avoided. In addition, as a result, QoE (Quality of Experience) of the viewer can be significantly improved.
Configurations and operations of content delivery systems according to exemplary embodiments will be described in detail with reference to
A content delivery system according to a fifth exemplary embodiment will be described with reference to the drawings.
The delivery server apparatus 121 on the Internet 145 accumulates various contents on the Internet. Hereinafter, these contents will be referred to as OTT (Over The Top) contents. In the present exemplary embodiment, a content is a compressed-and-encoded bit stream of a moving image content or a file storing such compressed-and-encoded bit stream. In addition, a mobile terminal 170 is used as a terminal. However, a terminal different from the mobile terminal 170 may be used as a terminal.
The SGSN/GGSN apparatuses 190_1 to 190_N (N 2) are arranged on the mobile network 150. The RNC apparatuses 195_1 to 195_L (L 2) are connected to the SGSN/GGSN apparatus 190_1. Likewise, the RNC apparatuses 197_1 to 197_L are connected to the SGSN/GGSN apparatus 190_N. While the L RNC apparatuses are also connected to the SGSN/GGSN apparatus 190_2, illustration thereof is omitted in
In addition, the M base stations (M≧2) are connected to each of the RNC apparatuses. For example, the M base station apparatuses 180_1 to 180_M are connected to the RNC apparatus 195_1.
In
The mobile terminal 170 transmits a delivery connection request message including the URL (Uniform Resource Locator) of a requested content. Next, a base station apparatus (in
The RNC apparatus 195_L receives the connection request message from the base station apparatus stores the connection request message, the IP (Internet Protocol) address of the delivery server apparatus 121, the IP address of the mobile terminal 170, and the like in a payload portion of a GTP (GPRS (General Packet Radio Service) Tunneling Protocol) packet, and forwards the GTP packet to the SGSN/GGSN apparatus 190_1 managing the RNC apparatuses 195_1 to 195_L.
Next, the SGSN/GGSN apparatus 190_1 receives the GTP packet.
The cache server 110_1 is connected to a Gi interface of a GGSN function unit of the SGSN/GGSN apparatus 190_1, for example. Likewise, the cache server 110_N is connected to a Gi interface of a GGSN function unit of the SGSN/GGSN apparatus 190_N. In addition, the cache servers 110_1 to 110_N are connected to each other so that the cache servers 110_1 to 110_N can coordinate with each other for contents.
Next, a configuration of the cache server 110_1 connected to the SGSN/GGSN apparatus 190_1 will be described with reference to the drawings.
As illustrated in
The control signal transmission and reception unit 111 receives a GTP packet, which stores a connection request message, the IP address of the mobile terminal 170, the URL of a requested content, and the like transmitted from the mobile terminal 170, from the SGSN/GGSN apparatus 190_1. In addition, the control signal transmission and reception unit 111 receives information about the area being visited by the mobile terminal 170 from the SGSN/GGSN apparatus 190_1.
The analysis unit 115 reads the connection request message stored in the payload portion of the GTP packet, extracts information about the IP address of the mobile terminal 170, the URL of the requested content, and the like, and outputs the URL of the requested content, the IP address of the mobile terminal 170, and the like to the delivery unit 114 and the determination unit 117.
The collection unit 116 receives a list of contents accumulated in the cache server 110_1 and lists of contents accumulated in the cache servers 110_2 to 110_N other than the cache server 110_1. In addition, the collection unit 116 outputs these lists to the determination unit 117. The collection unit 116 may collect the content lists at predetermined time intervals or when receiving a connection request from the mobile terminal 170. Alternatively, the collection unit 116 may collect the content lists when a request is made by any one of the other cache servers 110_2 to 110_N to collect the content lists.
The determination unit 117 receives information about the IP address of the mobile terminal 170, the URL of the requested content, and the like, a list of contents accumulated in the cache server 110_1, and lists of contents accumulated in the cache servers 110_2 to 110_N other than the cache server 110_1. The determination unit 117 determines whether the content requested by the mobile terminal 170 is accumulated in the cache server 110_1 or in any one of the cache servers 110_2 to 110_N other than the cache server 110_1.
If the content requested by the mobile terminal 170 is accumulated in the cache server 110_1, the determination unit 117 instructs the temporary content accumulation unit 113 and the delivery unit 114 to perform reading and delivery, respectively.
If the content requested by the mobile terminal 170 is accumulated in any one of the cache servers 110_2 to 110_N, the determination unit 117 notifies the content acquisition unit 112 of the URL of the requested content and the IP address of the cache server in which the requested content is accumulated. In addition, the determination unit 117 instructs the content acquisition unit 112 to acquire the content from the target cache server through inter-cache-server coordination.
If the content requested by the mobile terminal 170 is not accumulated in the cache server 110_1 or in any one of the cache servers 110_2 to 110_N, the determination unit 117 instructs the content acquisition unit 112 to acquire the content from the delivery server apparatus 121.
From the determination unit 117, the content acquisition unit 112 receives the URL of the requested content and the content acquisition instruction. If the content is accumulated in another cache server, the content acquisition unit 112 receives the IP address of this cache server. If the content is accumulated in the delivery server apparatus 121, the content acquisition unit 112 receives the IP address of the delivery server apparatus 121. The content acquisition unit 112 acquires at least one copy of the requested content and outputs the copy to the temporary content accumulation unit 113.
The temporary content accumulation unit 113 accumulates the content outputted from the content acquisition unit 112. In addition, when receiving a content read instruction from the determination unit 117, the temporary content accumulation unit 113 reads a content file corresponding to the requested content and outputs the file to the delivery unit 114.
As needed, the content list creation unit 118 creates a list of all the contents accumulated in the temporary content accumulation unit 113. The content list creation unit 118 outputs the content list at predetermined time intervals or when a request is made by another cache server or by the collection unit 116.
The reception unit 201 receives a TCP (Transmission Control Protocol) response signal packet (for example, a TCP Ack signal packet) from the mobile terminal 170 via the SGSN/GGSN apparatus and outputs information about the TCP response signal packet to the bandwidth estimation unit 202. Alternatively, when receiving an ECN (Explicit Congestion Notification) signal indicating a congestion state from the mobile terminal 170, the reception unit 201 may instruct the bandwidth estimation unit 202 to rapidly reduce the band.
The bandwidth estimation unit 202 receives information about each transmitted packet transmitted from the transmission unit 200 (for example, the transmission time and the packet size of an n-th transmitted packet) and information about a TCP response signal packet (for example, the reception time of an n-th packet). By using the number of each transmitted packet and by associating a transmitted packet with a TCP response signal packet, the bandwidth estimation unit 202 measures a response time Tn based on formula (1).
T
n
=T
n
ack
−T
n
send (1)
In the above formula (1), Tn represents the response time of an n-th packet, Tnack represents time at which the reception unit 201 receives an n-th TCP response signal packet, and Tnsend represents time at which the transmission unit 200 transmits an n-th transmitted packet.
The bandwidth estimation unit 202 sets the size of the n-th transmitted packet to Sn (unit: byte) and estimates a bandwidth Bn of the n-th packet based on formula (2) and formula (3).
P
n
=S
n
/T
n (2)
B
n=(1−α)×Bn-1+α×Pn (3)
In formula (3), α is a predetermined constant satisfying 0<α<1.
The bandwidth estimation unit 202 may perform these calculations based on formula (2) and formula (3) at predetermined time intervals or when the reception unit 201 receives a TCP response signal.
The bandwidth estimation unit 202 outputs the bandwidth B, estimated based on formula (3) to the selection adjustment unit 204 at predetermined time intervals T or when a request is made by the selection adjustment unit.
When receiving an ECN signal from the reception unit 201, the bandwidth estimation unit 202 may determine that the mobile network is in a congestion state and reduce the bandwidth Bn estimated based on formula (2) by a predetermined amount or set Bn=0. If the bandwidth estimation unit 202 sets Bn=0, no packets are transmitted from the transmission unit 200 for a predetermined time period.
The content obtainment unit 203 receives information about the requested content from the analysis unit 115 in
The selection adjustment unit 204 receives the bandwidth Bn from the bandwidth estimation unit 202 at predetermined time intervals and receives a requested content file from the content obtainment unit 203 in portions. The content file is divided into portions so that each portion has a predetermined time length τ (the unit thereof is second). In addition, the selection adjustment unit 204 uses formula (4) to calculate the bit rate K of the divided file based on the size Sd (the unit thereof is bit) of the file inputted in portions and the time length τ.
K=S
d/τ (4)
Next, the selection adjustment unit 204 determines whether the above bit rate K exceeds the estimated bandwidth Bn. If the bit rate K exceeds the bandwidth Bn, the selection adjustment unit 204 discards moving image frames having lower priority so that an adjusted bit rate K′ does not exceed the bandwidth Bn. After making such adjustment, the adjusted divided file is outputted to the transmission unit 200. Hereinafter, an example of an adjustment operation performed by the selection adjustment unit 204 will be described. Herein, for example, τ is set to 2 seconds. Namely, the selection adjustment unit 204 receives a file divided into portions every two seconds from the content obtainment unit 203.
If K≦Bn, the selection adjustment unit 204 sets K′=K and outputs the divided file to the transmission timing control unit 205 without making any adjustment to the divided file.
However, if K>Bn, the selection adjustment unit 204 extracts a stream from the file inputted in portions, reads a header portion from the stream, and determines whether the picture type of the stream header is an I picture (an Intra Coded Picture), a P picture (a Predictive Coded Picture), or a B picture (a Bidirectional Predictive Coded Picture). In addition, the selection adjustment unit 204 generates a stream obtained by sequentially deleting at least one frame whose priority is relatively low and calculates a bit rate K′. Herein, B pictures have lower priority than P pictures.
The selection adjustment unit 204 calculates the bit rate K′ based on formula (5).
K′=K−Σ
j
B
j (5)
In formula (5), Bj represents the bit rate of a j-th B picture included in a stream of the divided file. After performing the calculation based on formula (5), the selection adjustment unit 204 compares the bit rate K′ with the bandwidth Bn, again.
If K′≦Bn, the selection adjustment unit 204 stores the stream created by the processing based on formula (5) in a file again and outputs the file to the transmission timing control unit 205.
However, if K′>Bn and B pictures are still included in the stream of the divided file, the selection adjustment unit 204 creates a stream by deleting the remaining B pictures from the stream, calculates a bit rate K′ based on formula (6), and compares the bit rate K′ with the bandwidth Bn, again.
K′=K′−Σ
m
B
m (6)
If no B pictures are included, the selection adjustment unit 204 creates a stream by deleting at least one P picture from the stream, calculates a bit rate K′ based on formula (7), and compares the bit rate K′ with the bandwidth Bn, again.
K′=K′−Σ
i
P
i (7)
In formula (7), P, represents the bit rate of an i-th P picture included in the stream portion.
Through the processing based on formula (6) and formula (7), if K′≦Bn, the selection adjustment unit 204 stores the stream created by the processing in a file again and outputs the file to the transmission timing control unit 205.
The transmission timing control unit 205 receives the bandwidth Bn from the bandwidth estimation unit 202, receives the bit rate K′ from the selection adjustment unit 204, and receives the file portion adjusted so that the bit rate K′ thereof does not exceed the bandwidth Bn from the selection adjustment unit 204. In addition, for example, the transmission timing control unit 205 controls transmission timing of the file as follows.
If K′<Bn, the transmission timing control unit 205 outputs an inputted file for a time period T1 that is necessary to occupy the buffer capacity L of the mobile terminal 170 to the transmission unit 200. The time period T1 can be set based on formula (8).
T1=L/K′ (8)
In addition, a time period T is appropriately set so that T>T1 and data corresponding to the buffer capacity L of the mobile terminal 170 is not depleted within a time period T−T1.
If K′=Bn, the transmission timing control unit 204 does not output the inputted file to the transmission unit 200 for a predetermined time period T2. However, the time period T2 is a time period during which data in the buffer capacity L of the mobile terminal 170 is not depleted. The maximum value of the time period T2 is given by formula (9).
MaxT2=L/Bp (9)
In formula (9), a bit rate Bp represents a bit rate used when a moving image is reproduced by the mobile terminal 170.
The transmission unit 200 stores the content in a TCP packet and transmits the packet to the mobile terminal 170 via the SGSN/GGSN apparatus 190_1, a relevant RNC apparatus, and a relevant base station apparatus, for the time period T1 during which the content is outputted from the transmission timing control unit 204. In contrast, the transmission unit 200 does not transmit such TCP packet between the time period T−T1 and the time period T2. In addition, the transmission unit 200 outputs the size Sn of the n-th transmitted packet to the bandwidth estimation unit 202.
Various variations can be made to the content delivery system according to the fifth exemplary embodiment described above.
The delivery server apparatus 121 may be connected to the cache server apparatuses 110_1 to 110_N.
In addition, the delivery unit 114 may estimate the bandwidth based on a formula other than formula (2) and formula (3). In addition, the selection adjustment unit 204 may use a different bit rate adjustment method. In addition, the transmission timing control unit 205 may use a different transmission timing control method. The transmission timing control unit 205 may be configured so that the transmission timing control unit 205 controls the transmission timing at least for a certain period (time period) and does not control the transmission timing other than such period.
The mobile terminal 170 may be a mobile phone, a smartphone, a tablet, or a PC equipped with a data communication card. Alternatively, the mobile terminal 170 may be any terminal, as long as the terminal can communicate with a mobile 3G network.
A content delivery system according to a sixth exemplary embodiment will be described with reference to the drawings.
As illustrated in
Transparent proxy servers and fully transparent proxy servers are two examples of the types of the proxy servers 120_1 to 120_N. Hereinafter, the proxy server 120_1 will be described. Since the other proxy servers 120_2 to 120_N operate in the same way as the proxy server 120_1, description thereof will be omitted.
First, an example where the proxy server 120_1 is a transparent proxy server will be described. The proxy server 120_1 temporarily terminates a message signal from the mobile terminal 170 and analyzes the message signal. The proxy server 120_1 delivers a content temporarily accumulated therein to the mobile terminal 170. As needed, the proxy server 120_1 transmits a request to or accesses the delivery server apparatus 121 via the SGSN/GGSN apparatus 190_1.
Next, an example where the proxy server 120_1 is a fully transparent proxy server will be described. The proxy server 120_1 does not change the URL of a requested content, the IP address of the delivery server apparatus 121 on the Internet 145, the IP address of the mobile terminal 170, and the like included in a request signal from the mobile terminal 170. The proxy server 120_1 uses a DPI (Deep Packet Inspection) technique and checks a packet header portion or the like, without terminating a signal from the mobile terminal 170. In addition, the proxy server 120_1 extracts information about the URL of the requested content, the IP address of the mobile terminal 170, and the like. If a requested content is cached in the proxy server 120_1, the proxy server 120_1 first transmits a delivery stop instruction to the delivery server apparatus 121 via the SGSN/GGSN apparatus 190_1. Next, the proxy server 120_1 delivers the requested content.
Since the proxy server 120_1 has the same configuration as that (
A content delivery system according to a seventh exemplary embodiment will be described with reference to the drawings.
In the present exemplary embodiment, as illustrated in
In addition, in EPC, S/P-GW (Serving/Packet Data-Gateway) apparatuses are connected to corresponding eNodeB apparatuses. An S/P-GW apparatus is an apparatus in which an S-GW apparatus and a P-GW apparatus are integrated.
A single cache server is connected to each S/P-GW apparatus. For example, a cache server 410_1 is connected to the S/P-GW apparatus 290_1. The cache servers 410_1 to 410_N are connected to each other to achieve coordination for contents.
The mobile terminal 170 transmits a delivery connection request message including the IP address of the delivery server apparatus 121. Next, an eNodeB apparatus (in
The cache server 410_1 has the same configuration as that of the cache server 110_1 (
Various variations can be made to the content delivery system according to the seventh exemplary embodiment.
The mobile terminal 170 may be a mobile phone, a smartphone, a tablet, or a PC equipped with a data communication card. Alternatively, the mobile terminal 170 may be any terminal, as long as the terminal can communicate with a mobile 3.9G network.
A content delivery system according to an eighth exemplary embodiment will be described with reference to the drawings.
For example, the content delivery systems according to the first to eighth exemplary embodiments provide the following advantageous effects.
In the content delivery system according to any one of the above exemplary embodiments, when a moving image content of a certain bit rate on the Internet is delivered, the bandwidth is estimated based on a TCP response signal or an ECN notification signal, moving image frames are sequentially discarded in ascending order of priority so that the bit rate of a stream extracted from a divided file does not exceed the estimated band, the adjusted stream is stored in a TCP packet, and the TCP packet is transmitted.
According to such content delivery system, problems such as freeze-up of a moving image or interruption of voice on the client side during reproduction can be avoided, even when the bandwidth (throughput) of a mobile network is changed with time by a traffic amount and the bandwidth continuously falls below the delivery bit rate. In addition, as a result, QoE (Quality of Experience) of the viewer can be significantly improved.
In addition, by using an estimated bandwidth value of the mobile network and an estimated buffer amount of the mobile terminal, the transmission timing control unit controls transmission timing so that the bandwidth and the buffer capacity are not exceeded. Thus, future data that is not currently needed by the viewer for viewing is not delivered. Even if the view stops viewing halfway, data that has already been delivered is an appropriate amount of data in view of an estimated band. Namely, unlike the conventional content delivery systems, an excessive amount of data is not delivered and the limited bandwidth of a mobile network is not needlessly consumed.
In addition, these advantageous effects are provided without making any modifications to terminals.
The disclosure of prior art including the above PTLs is incorporated herein by reference thereto. Modifications and adjustments of the exemplary embodiments are possible within the scope of the overall disclosure (including the claims) of the present invention and based on the basic technical concept of the present invention. Various combinations and selections of various disclosed elements (including each element in each claim, exemplary embodiment, drawing, etc.) are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the overall disclosure including the claims and the technical concept. The present description discloses numerical value ranges. However, even if the description does not particularly disclose arbitrary numerical values or small ranges included in the ranges, these values and ranges should be deemed to have been specifically disclosed.
Number | Date | Country | Kind |
---|---|---|---|
2011-205465 | Sep 2011 | JP | national |
2011-205466 | Sep 2011 | JP | national |
The present application is a National Stage Entry of PCT/JP2012/074150 filed Sep. 21, 2012, which is based on and claims the benefit of the priority of Japanese patent application No. 2011-205465, filed on Sep. 21, 2011, and of Japanese patent application No. 2011-205466, filed on Sep. 21, 2011. The disclosures of all of which are incorporated herein in their entirety by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2012/074150 | 9/21/2012 | WO | 00 | 3/18/2014 |