US20120124159A1 - Content delivery system, content delivery method and content delivery program - Google Patents
Content delivery system, content delivery method and content delivery program Download PDFInfo
- Publication number
- US20120124159A1 US20120124159A1 US13/386,332 US201013386332A US2012124159A1 US 20120124159 A1 US20120124159 A1 US 20120124159A1 US 201013386332 A US201013386332 A US 201013386332A US 2012124159 A1 US2012124159 A1 US 2012124159A1
- Authority
- US
- United States
- Prior art keywords
- content
- data
- cache
- hierarchical
- content data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000002716 delivery method Methods 0.000 title claims description 6
- 230000014759 maintenance of location Effects 0.000 claims abstract description 116
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000009191 jumping Effects 0.000 claims description 4
- 230000002265 prevention Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 7
- 230000000717 retained effect Effects 0.000 description 5
- 230000004931 aggregating effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
Definitions
- the present invention relates to a content data delivery system which delivers content data such as video data via a network.
- a content delivery system which delivers content data to client terminals set in advance from a storage device which retains content data such as video data.
- a cache device connected to the storage device is provided to the content delivery system, and requested content data is cached to the cache device from the storage device when the content data requested by the client terminal is not in the cache device (cache fill). Further, when the requested content data is retained in the cache device (cache hit), the content data is delivered to the client terminal in response to the request from the client terminal (content delivery request).
- the content data is loaded (cached) to the cache device from the storage device, and the content data is delivered to the client terminal from the cache device thereafter.
- cache replacement is done when the capacity for caching the content data is insufficient so that the content data retained in the cache device is replaced.
- the content delivery system it is generally required to reduce delay time of packet provided to the client terminal and to deliver the content data stably in a specific contracted band.
- a streaming delivery and a content delivery network which suppress generation of transmission delay by efficiently storing (arranging) content data in accordance with the access request frequency degree from the client to the storage device and the cache device and stably secure the specific transmission band by dispersing the load to the network and the delivery server.
- the delivery server for delivering a content sections moving picture file data into a plurality of pieces of partial data and delivers the partial data in a plurality of times in a divided manner, and the client terminal reproduces the divided file data (partial data) in order every time upon receiving the data.
- CDN Code Division Multiple Access
- the delivery servers through placing the delivery servers not on a specific point on a network but at different points close to the client devices as much as possible on the network for dispersing the load of data delivery, it is possible to avoid having the load concentrated to a specific point. Further, it is also possible to decrease deterioration of the delivery quality caused due to packet transmission delay and the like. Therefore, it is particularly effective for the streaming delivery with which a vast amount of file data is transmitted and received.
- LRU Least Recently Used
- LFU Least Frequently Used
- Patent Document 1 a method which improves the use efficiency of the cache region through storing a content to a cache by dividing it into a plurality of encoded layers by using a technique which hierarchically encodes video signals as content data into a basic layer and an extension layer containing a more highly detailed data content.
- Patent Document 1 when a part of encoded bit stream is decoded with Patent Document 1, an image of low spatial resolution can be reproduced. When remaining data in the bit stream is decoded further, an additional signal for improving the spatial resolution can be acquired. This makes it possible to perform content delivery to an unspecified large number of client terminals by corresponding to respective given environments such as network load, processing ability of each client terminal, congestion level of the delivery server, or the like on a real-time basis.
- Patent Document 2 a stream server device which caches hierarchically encoded contents
- Patent Document 3 a method which takes a product of an access frequency degree by each hierarchy contained in each content, a reproduction rate, and a reproduction time (content size) as a parameter, and selects and caches the content whose parameter is the smallest in order to increase the hit rate of the cached content (cache hit rate) (Patent Document 3).
- Patent Document 4 a method which specifies hierarchically encoded content data as data to be cached by a hierarchy (layer) unit and performs cache replacement.
- Patent Document 1 described above is the structure which discards data of an encoding rate that is close to a requested encoding rate and stores the requested data to that position, when content data of the encoding rate requested by a client device is not stored in the cache.
- it is not possible to discard an unused content on the cache, i.e., a content of a low access frequency degree, and to replace it with a new content. Therefore, it is not possible to sufficiently increase the cache use efficiency by replacement.
- the encoding rate of the content to be stored to the cache is changed in accordance with the access frequency degree with Patent Document 1 described above.
- the cache hit rate is deteriorated in a cache device with a limited capacity when each of the contents has different maximum reproduction rate and size.
- the content having the minimum product of the access frequency degree and the content size is cached and replaced.
- the access frequency degree per cache capacity cannot be increased in the replaced content.
- the cache hit rate is rather deteriorated.
- the hierarchically encoded data to be cached and replaced is determined regardless of the data size of each hierarchical unit and the reproduction time of the content. Therefore, when there is a limit in the cache capacity, the cache hit rate is deteriorated.
- An object of the present invention is to provide a content delivery system, a content delivery method, and a content delivery program, which can stably deliver the content data such as video data via a network.
- the content delivery system is a content delivery system which includes a content retention unit which stores content data to be delivered by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates; a cache retention unit which loads the content data and temporarily caches the loaded content data; and a data delivery unit which delivers the content data in response to an access request from an external terminal
- the system is structured to include a cache content replacement control unit which replaces the content cached in advance to the cache retention unit with hierarchical data read out from the content retention unit, wherein the cache content replacement control unit includes: an access frequency degree calculation module which calculates access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; a score determination module which calculates scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and a cache content replacement/update module which judges whether or not to cache the data for each of the hier
- the content delivery method is a content delivery method which temporarily caches content data stored in a content retention unit by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates to a cache retention unit and delivers the content data in response to an access request from an external terminal
- the method is characterized to include: calculating access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; calculating scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and judging whether or not to cache the data for each of the hierarchical data based on the scores.
- the content delivery program according to the present invention is a content delivery program for delivering content data in response to an access request made from an external terminal by including: a content retention unit which stores content data to be delivered by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates; a cache retention unit which loads the content data and temporarily caches the loaded content data; and a cache content replacement control unit which replaces the content cached in advance to the cache retention unit with hierarchical data read out from the content retention unit, and the program is characterized to cause a computer to execute: an access frequency degree calculation function which calculates access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; a score determination function which calculates scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and a cache content replacement/update function which judges whether or not to cache the data for each hierarchical data based on the scores.
- an access frequency degree calculation function which
- the present invention is designed as the structure which includes a module that calculates the access request frequency degree of each of cached hierarchical data and a module that calculates scores of each hierarchical data based on the access frequency degree and replaces the hierarchical data cached to a content retention unit based on the scores. Thereby, it is possible to improve the cache hit rate efficiently.
- FIG. 1 is a schematic block diagram showing an exemplary embodiment of a content delivery system according to the present invention
- FIG. 2 is an explanatory chart showing an example of a data structure of content data in the content delivery system disclosed in FIG. 1 ;
- FIG. 3 is an explanatory chart showing an example of an arrangement state of content data in the content delivery system disclosed in FIG. 1 ;
- FIG. 4 is an explanatory chart showing an example of a content delivery process of the content delivery system disclosed in FIG. 1 ;
- FIG. 5 is an explanatory chart showing an example of a content delivery process of the content delivery system disclosed in FIG. 1 ;
- FIG. 6 is a sequence chart showing operation steps of the content delivery process of the content delivery system disclosed in FIG. 1 ;
- FIG. 7 is a sequence chart showing operation steps of the content delivery process of the content delivery system disclosed in FIG. 1 ;
- FIG. 8 is a flowchart showing entire operation steps of the content delivery system disclosed in FIG. 1 ;
- FIG. 9 is an explanatory chart showing an example of a data structure of access frequency degree information of the content delivery system disclosed in FIG. 1 ;
- FIG. 10 is an explanatory chart showing an example of a data structure of score values showing priority degrees by each content and each encoded layer in the content delivery system disclosed in FIG. 1 ;
- FIG. 11 is an explanatory chart showing an example of a data structure of values of satisfaction degrees of viewer clients of the content delivery system disclosed in FIG. 1 ;
- FIG. 12 is an explanatory chart showing an example of a data structure of values of satisfaction degrees of viewer clients of the content delivery system disclosed in FIG. 1 .
- a content delivery system 100 as the exemplary embodiment is in a structure which includes: a content delivery device 10 which stores and retains content data delivered to each of client devices 401 a , 401 b , 401 c (referred to as “a client device group 40 ” as a general term thereof) connected to a network 50 such as the Internet; a cache delivery device 30 which temporarily stores content data (referred to as “content” hereinafter) sent from the content delivery device 10 via the network 50 , and delivers the content in response to a request from the client devices ( 401 a , 401 b , 401 c ); and a content arrangement determination module 20 (cache control unit) 20 which determines the content to be loaded (cached) to the cache delivery device (cache retention module) 30 from the content delivery device (content retention unit) 10 , and replaces and updates (replacement) the content data loaded to the cache delivery device 30 .
- a content delivery device 10 which stores and retains content data delivered to each of client devices 401 a ,
- the client device group 40 is constituted by including a plurality of different terminal devices (the client devise 401 a , 401 b , 401 c ) which receive the content via the network 50 , respectively, and that each of the client devices 401 a , 401 b , and 401 c is connected to the network 50 .
- the content delivery device 10 includes: a content retention module 101 which stores deliverable contents; and a content delivery module 102 which transmits the contents to each of the client terminals 401 a to 401 c of the client group 40 and the cache delivery device 30 .
- the content retention module 101 can be achieved by a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like.
- a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like.
- contents stored in the content retention module 101 are video data such as movies and dramas, the contents are not necessarily limited to the video contents. Other kinds of content data such as audio data may also be stored.
- the cache delivery device 30 includes a cache control module 301 which acquires the content data from the content retention module 101 based on an instruction from the content arrangement determination module 20 ; a cache retention module 302 which stores the content acquired by the cache control module 301 ; and a content delivery module 303 which transmits the content to each of the client terminals 401 a to 401 c of the client group 40 .
- the cache control module 301 has an access frequency degree information notification function which notifies access frequency degree information showing the use state by each content and each viewing bit rate (encoded layer) stored (or arranged) in the content delivery device 10 and the cache delivery device 30 to an access frequency degree collection module 201 of the content arrangement determination module 20 via the network 50 .
- the access frequency degree information is defined to indicate the number of viewing times for each of contents and each viewing bit rate, the time, and the like, for example.
- the access frequency degree information may be the number of requested times for each content and each viewing bit rate based on the content viewing request information of the client. Furthermore, the access frequency degree information may be values showing viewing demands for each of contents and each viewing bit rate based on either one of or both of the content viewing information and the content viewing request information.
- the access frequency degree collection module 201 can calculate an access frequency degree p(k, l) for each viewing bit rate by using the layers up to an encoded layer l of a content k based on the notified access frequency degree information, for example.
- the cache control module 301 has a content delivery request transfer function which transmits a content delivery request to the content delivery device 10 when the search target content requested from the client device 10 is not stored (cached) in the cache retention module 302 .
- the content delivery module 102 transmits the search target content (encoded layer data) that is not stored (cached) in the cache retention module 302 to the client device in response to the content delivery request.
- the cache retention module 302 can be achieved by a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like. It is assumed that an access can be made at a higher speed for the content data retained in the cache retention module 302 than to the content data stored in the content retention module.
- a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like. It is assumed that an access can be made at a higher speed for the content data retained in the cache retention module 302 than to the content data stored in the content retention module.
- contents stored in the cache retention module 302 are continuous video data such as movies and dramas, the contents are not necessarily limited to the video contents. Other kinds of continuous media and content data such as audio data may also be stored.
- the content data of the exemplary embodiment is encoded by a hierarchical-type encoding method as shown in FIG. 2 .
- the hierarchical encoding method specifically is an encoding method such as H.264/SVC defined by ITU-T, and the content data encoded by this H.264/SVC method is constituted with hierarchical data (layered data) such as a base layer, an extension layer 1 , and an extension layer 2 .
- the access frequency degree p(k, l) to the encoded layer l of the content k is aggregated by each viewed encoded layer (bit rate).
- the hierarchical encoding method it is possible to reproduce a video with a higher quality as a degree of the encoded layer to be used becomes higher. However, it is also possible to reproduce a video with data of only a lower-order layer (the base layer ( FIG. 2 ) in this case).
- the content data hierarchically encoded by the hierarchical-type encoding method by H.264/SVC the content data (video data) encoded by using the layers up to the highest-order extension layer 3 can be reproduced by the production side with a still higher picture quality.
- the content data (video data) encoded by using the layers up to the extension layer 1 can be reproduced with a medium screen and with a medium picture quality.
- the content encoded by using only the base layer is reproduced with a smaller screen and with a lower picture quality compared to the case using the layers including the extension layers 1 , 2 .
- the size of the content becomes larger when the data contains the layers up to the extension layer 3 as the higher-order layer, and becomes smaller in the case only with the base layer that is the lower-order layer.
- the content data is sectioned according to the hierarchy of encoding and the quality (picture quality) of the data, and the data stored in the cache retention module 302 is determined by calculating the score values shown below for each of the contents and the encoded layers by using such characteristic.
- the content delivery module 303 has a content delivery function which transmits the content (data) stored in the content delivery device 10 to the client device according to a request.
- the content arrangement determination module 20 includes: an access frequency degree collection module 201 which acquires (collects) the access frequency degree information showing the access frequency degree from the client device for each content (each encoded layer) from the content delivery device 10 and the cache delivery device 30 ; a hierarchical score determination module 202 which calculates scores showing the priority degrees to be stored to the cache delivery device 30 (the cache retention module 302 ) by corresponding to each content and each encoded layer based on the acquired access frequency degree; and an arrangement determination module 203 which judges whether or not each content and each encoded layer is stored to the cache delivery device 30 based on the scores.
- the cache capacity set in advance to the cache delivery device 30 is x
- the access frequency degree for the encoded layer l of the content k is p(k, l)
- the reproduction rate of the encoded layer l of the content k is r(k, l).
- the length (reproduction time) of the content k is t(k).
- the content arrangement determination module 20 determines the content data to be arranged in the cache delivery device 30 with a condition of x ⁇ r(k, l) ⁇ t(k).
- the access frequency degree collection module 201 calculates the access frequency degree p(k, l) for each viewing bit rate by using the layers up to the encoded layer l of the content k based on the access frequency degree information notified from the cache delivery device 30 or the content delivery device 10 .
- the hierarchical score determination module 202 calculates v(k, l) as the score value of the contents k and the encoded layer l, for example, based on a following Expression 1.
- v(k, l) as the score value of the encoded layer l of the content k is calculated by each encoded layer.
- the score value shows the priority degree for storing each hierarchical data of the content data to the cache retention unit.
- the calculated score value may be a value that shows the proportion of the access frequency degree for the size of the content data.
- the hierarchical score determination module 202 may be set to compare each of the score values of each encoded layer (hierarchical data) of different contents cached to the cache retention module 302 based on the access frequency degree information notified from the cache delivery device 30 or may be set to compare the score values by calculating the score values of each encoded layer of the contents stored in the content retention module 101 .
- the hierarchical arrangement determination module 203 replaces the encoded layer of a low access frequency degree (referred to as “low-access encoded layer”) with an encoded layer of a higher access frequency degree read out from the content retention module 101 .
- the hierarchical arrangement determination module 203 may be set to select the encoded layer arbitrarily from the content retention module 101 , for example.
- the hierarchical arrangement determination module 203 compares the score values of the encoded layers within the content retention module 101 and the encoded layers within the cache retention module 302 calculated by the hierarchical score determination module 202 , and determines the contents arranged (cached) to the cache delivery device 30 by a unit of encoded layer in order from the larger score value to the lower score value.
- writing of the content to the cache retention module 302 from the content retention module 101 is done by a unit of encoded layer.
- the hierarchical arrangement determination module 203 arranges the encoded layers (hierarchical data) determined based on the score values to the cache retention module 302 .
- the hierarchical arrangement determination module 203 does not perform arrangement by jumping a lower-order encoded layer, i.e., does not arrange a higher-order encoded layer of a same content to the cache retention module 302 under a state where a lower-order encoded layer contained in a given content is not arranged in the cache retention module 302 .
- the hierarchical arrangement determination module 203 performs a control so that encoded layers of a same content are not arranged in the cache retention module 302 in a duplicated manner.
- Each of the content delivery device 10 , the content arrangement determination module 20 , and the cache delivery device 30 is a computer that includes a processor, and it is defined to achieve operational functions of each module provided inside by performing execution processing based on a program set in advance.
- the exemplary embodiment can improve use efficiency of the cache region and, at the same time, can correspond to environments given to each client such as network load, processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis.
- contents a, b, c, and d stored in the content retention module 101 are cached to the cache retention module 302 of 400 Mbit in cache size in the content delivery system 100 that is the exemplary embodiment.
- the content a is defined to have a reproduction rate of 1 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 3. Further, the content b is defined to have a reproduction rate of 1 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 3, the content c is defined to have a reproduction rate of 2 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 1, and the content d is defined to have a reproduction rate of 4 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 1.
- the cache hit rate is 10%
- the traffic between the source and cache after the cache replacement is 10 Mbps.
- the exemplary embodiment is so set that the content (encoded layer) whose value of (access frequency degree) ⁇ (content size) is the minimum is cached (replaced) among the cached contents.
- the contents a, b, and c are cached to the cache retention module 302 .
- the cache hit rate is 87.5%
- the traffic between the source and cache after the cache replacement is 4 Mbps. This provides effects of improving the cache hit rate and reducing the traffic between the source and cache.
- the hierarchical score determination module 202 calculates the access request frequency degrees for each hierarchical data cached in advance to the cache retention module 302 and each hierarchical data stored in the content retention module 101 as the access frequency degrees (an access frequency degree calculation step), and the hierarchical arrangement determination module 203 calculates the score values of each hierarchical data cached in advance to the cache retention module 302 and each hierarchical data stored in the content retention module 101 based on the access frequency degrees (a score calculation step), determines the hierarchical data to be cached based on the calculated score values, and replaces the cached hierarchical data of a low score with the hierarchical data of a higher score read out from the content retention module 101 (a cache replacement step).
- execution contents of the access frequency degree calculation step, the score calculation step, and the cache replacement step may be put into programs to be executed by a computer.
- all the content data e.g., A, B, C, D
- the content delivery device 10 all the content data (e.g., A, B, C, D) that can be delivered to the client device group 40 are stored in the content delivery device 10 .
- duplicated data of a part of the content data is stored (cached) in advance to the cache delivery device 30 .
- client devices 401 b and c can also operate in the same manner as that of the client device 401 a.
- the client device 401 a determines the content to be requested and the reproduction rate thereof (step S 101 ), and requests a base layer (A 0 ) and an extension layer (A 1 ) of the content A (step S 102 ).
- the base layer (A 0 ) and the extension layer (A 1 ) of the content A are both stored in advance within the cache retention module 302 of the cache delivery device 30 .
- the content delivery module 303 of the cache delivery device 30 searches the content data in response to the request (step S 103 ), reads out the base layer (A 0 ) and the extension layer 1 (A 1 ) of the content A from the cache retention module 302 , and delivers those to the client device 401 a (the client device group 40 ) (step S 104 ).
- the client device 401 a can reproduce the delivered content A (the base layer (A 0 ) and the extension layer 1 (A 1 )).
- all the content data (e.g., A, B, C, D) that can be delivered to the client device group 40 are stored in the content delivery device 10 .
- data of a part of the content data is stored (cached) in advance to the cache delivery device 30 .
- the client device 401 a determines the reproduction rate of the content (step S 201 ), and requests the base layer (C 0 ), the extension layer 1 (C 1 ), and the extension layer 1 (C 2 ) of the content C to the cache delivery device 30 thereafter (step S 202 : a content delivery request).
- the base layer (C 0 ) and the extension layer 1 (C 1 ) of the content C are stored in advance within the cache retention module 302 as shown in FIG. 5 .
- the content delivery module 303 searches the content data according to the request (step S 203 ).
- the content delivery mole 303 gives a content delivery request to the content delivery device regarding the extension layer 2 (C 2 ) that is not stored in the cache retention module 302 (step S 204 : a content delivery request).
- the content delivery module 102 of the content delivery device 10 reads out the extension layer 2 (C 2 ) according to the content delivery request from the cache delivery device 30 , and delivers it to the client device 401 a (step S 205 : content delivery).
- the content delivery module 303 reads out the base layer (C 0 ) and the extension layer 1 (C 1 ) of the content C from the cache retention module 302 , and delivers those to the client device 401 a (the client device group 40 ) (step S 206 : content delivery).
- the cache control module 301 receives a reproduction request (a content delivery request) from the client device 401 a , and searches the cache retention module 302 by using a content ID and the reproduction rate contained in the reproduction rate as the key (step S 301 ).
- the cache delivery module 303 reads out the target content from the cache retention module 302 and delivers it (step S 303 ).
- the cache control module 301 notifies the access frequency degree information (access frequency degree) showing the access frequency degree of each hierarchical data contained in each content in the cache retention module 302 and the access frequency degree of each hierarchical data of the content stored in the content retention module 101 to the access frequency degree collection module 201 (step S 307 ).
- step S 302 the cache control module 301 checks whether or not a part of the data of the target content is stored in the content retention module 302 (step S 304 ).
- step S 304 YES
- the content delivery device 303 delivers a part of the content data stored in the cache retention module 302 to the client device
- the content delivery module 102 delivers a part of the remaining content data stored in the content retention module 101 to the client device (step S 305 ).
- the ache control module 301 notifies the access frequency degree information showing the access frequency degree of each hierarchical data contained in each content in the cache retention module 301 and the access frequency degree of each hierarchical data contained in each content in the content retention module 101 to the access frequency degree collection module 201 (step S 307 ).
- step S 304 when all the search target content data are not stored (cached) in the cache retention module 302 but stored in the content retention module 101 (NO: step S 304 ), the cache control module 301 transmits a content delivery request to the content delivery device 10 , and the content delivery module 102 delivers the search target content data stored in the content retention module 101 to the client device (e.g., 401 a ) in response to the content delivery request (step S 306 ).
- the client device e.g., 401 a
- Arrangement of the content for the cache retention module 302 of the cache delivery device 30 and replacement/update (replacement) of the content data cached to the cache retention module 302 done by the content arrangement determination module 20 are executed by having a content viewing request from the client device group 40 as a trigger.
- the content arrangement determination module 20 may be set to execute the arrangement of the content for the cache retention module 302 of the cache delivery device 30 and replacement/update (replacement) of the content data cached in the cache retention module 302 regularly.
- the cache capacity set in advance to the cache delivery device 30 is x
- the access frequency degree for each viewing bit rate using the layers up to the layer l of the content k t is p(k, l)
- the reproduction rate of the encoded layer l of the content k is r(k, l).
- the length (reproduction time) of the content k is t(k).
- the content arrangement determination module 20 determines the content data to be arranged in the cache delivery device 30 with a condition of x ⁇ r(k, l) ⁇ t(k).
- the access frequency degree collection module 201 of the content arrangement determination module 20 calculates the access frequency degree p(k, l) for each viewing bit rate by using the layers up to the encoded layer l of the content k based on the access frequency degree information notified from the cache delivery device 30 and the content delivery device 10 .
- the hierarchical score determination module 202 calculates v(k, l) as the score value of the encoded layer l of the content k and, for example, based on a following Expression 1.
- the hierarchical arrangement determination module 203 compares the score values of the encoded layers within the content retention module 101 and the encoded layers within the cache retention module 302 calculated by the hierarchical score determination module 202 , and determines the contents arranged (cached) in the cache delivery device 30 by a unit of encoded layer in order from the larger score value to the lower score value (i.e., by giving a priority to the encoded layer of a higher score).
- the hierarchical arrangement determination module 203 arranges the encoded layers (hierarchical data) determined based on the score values to the cache retention module 302 .
- the hierarchical arrangement determination module 203 does not perform arrangement by jumping a lower-order encoded layer, i.e., does not arrange a higher-order encoded layer of a same content to the cache retention module 302 under a state where a lower-order encoded layer contained in a given content is not arranged in the cache retention module 302 .
- the hierarchical arrangement determination module 203 performs a control so that encoded layers of a same content are not arranged in the cache retention module 302 in a duplicated manner.
- the base layer (the lower-order encoded layer) is not arranged inside the cache retention module 302 , the extension layer of a higher order than the base layer is not arranged in the cache retention module 302 .
- the viewing quality of the content becomes deteriorated when only the higher-order encoded layer is provided to the client device from the cache delivery device 30 and reproduced.
- the higher-order encoded layer is not provided to the client device. As a result, the cache hit rate becomes decreased.
- the bodily sensed quality experienced on the client device side by the content reproduction corresponds to the layer 1 and the cache hit rate in the cache delivery device 30 becomes 33%.
- the bodily sensed quality experienced on the client device side by the content reproduction corresponds to the layers 1 , 2 .
- the cache hit rate in the cache delivery device 30 becomes 66%. This makes it possible to suppress deterioration of the cache hit rate.
- each content is fractionated by each encoded layer
- the score value (v(k, l)) is acquired based on the access frequency degree for each encoded layer of each content
- the encoded layers are arranged in the cache delivery device 30 in order from the higher score to the lower score.
- cache retention module it is possible to improve the use efficiency of the cache region (cache retention module).
- the reason is because not only the encoding rate of the content to be stored to the delivery server is changed depending on the content access frequency degree but also the cache arrangement can be determined by considering the reproduction rate and the size which are different for each of the contents, when the storage capacity of each delivery device is limited.
- the structural components of the apparatuses of the system are the same as those of the first exemplary embodiment, but the method for calculating v(k, l) that is the score value of the content k and the encoded layer l by the hierarchical score determination module 202 is different from that of the first exemplary embodiment.
- the hierarchical score determination module 202 (reproduction cache data determination function) calculates v(k, l) that is the score value of the content k and the encoded layer l based on a user satisfaction function u(k, l) that shows the bodily sensed quality of the client for the content viewing video (content reproduction video) on the client terminal side.
- the hierarchical score determination module 202 may be set to acquire an index value showing the content reproduction bodily sensed quality from each client device (a content reproduction information acquiring function), and to calculate the user satisfaction function u(k, l) based on this index value.
- the user satisfaction function u(k, l) showing the client bodily sensed quality may be contained in the content delivery request that is transmitted from the client terminal.
- u(k, l) described above is acquired by a subjective evaluation method, for example.
- the subjective evaluation method is defined as a recommendation 500 (BT. 500) by International Telecommunication Union Radiocommunications Sector (ITU-R), for example.
- ITU-R International Telecommunication Union Radiocommunications Sector
- the hierarchical score determination module 202 calculates v(k, l) that is the score value of the content k and the encoded layer l, for example, by Expression 2 shown below.
- the hierarchical arrangement determination module 203 can arrange the encoded layers based on the score values (v(k, l)) which are determined depending on the reproduction ability (reproduction environment) of each client terminal and the content reproduction state as well as the reproduction quality of the client side that may vary due to the congestion state of the network on which the content is delivered.
- the content delivery module 303 may be set to adjust the content delivery rate (delivery pace) based on the score value (v(k, l)) that is set in the manner described above.
- the second exemplary embodiment it is also possible with the second exemplary embodiment to improve the use efficiency of the cache region, to lighten the network load, and to perform content delivery by adapting to environments given to each client device such as processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis. Therefore, the satisfaction degree of the client regarding the content reproduction can be improved.
- the structural components of the apparatuses of the system are the same as those of the first exemplary embodiment, but the method for calculating v(k, l) that is the score value of the content k and the encoded layer l by the hierarchical score determination module 202 is different from those of the first and second exemplary embodiments.
- the hierarchical score determination module 202 calculates v(k, l) that is the score value of the content k and the encoded layer l based on a user satisfaction function u(d, k, l) that shows the client satisfaction degree for the content viewing video different for each of the client terminals.
- d is an ID that shows the type of the client terminal.
- the hierarchical score determination module 202 may be set to acquire an index value showing the content reproduction bodily sensed quality from each client device, and to calculate the user satisfaction function u(d, k, l) based on this index value.
- the user satisfaction function u(d, k, l) showing the client bodily sensed quality may be contained in the content delivery request that is transmitted from the client terminal.
- u(d, k, l) can be acquired by employing a subjective evaluation method for each type of the client terminals classified based on a screen size or the like, for example.
- the subjective evaluation method is defined as a recommendation 500 (BT. 500) by International Telecommunication Union Radiocommunications Sector (ITU-R), for example.
- the hierarchical score determination module 202 calculates v(k, l) that is the score value of the content k and the encoded layer l, for example, based on Expression 3 shown below.
- the hierarchical arrangement determination module 203 can arrange the encoded layers based on the score values (v(k, l)) which are determined by reflecting the reproduction ability (reproduction environment) of each client terminal, the content reproduction state of the client side that may vary due to the congestion state of the network on which the content is delivered, and the content reproduction quality that varies depending on the respective type of each of the client terminals.
- the content delivery module 303 may be set to adjust the content delivery rate (delivery pace) based on the score value (v(k, l)) that is set in the manner described above.
- the third exemplary embodiment it is also possible with the third exemplary embodiment to improve the use efficiency of the cache region, to lighten the network load, and to perform content delivery by adapting to the content reproduction environments and resources of each of the client devices such as processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis. Therefore, the satisfaction degrees regarding reproduction of the content different for each of the client devices can be improved, respectively.
- the present invention can be applied to a network delivery system which delivers video contents such as broadcast programs and movies via a network.
- the present invention can be applied to a network delivery system for delivering content data, which carries a large number of subscribers and is required to have a high delivery performance.
- the present invention can be applied to a delivery service not only for video data as the contents but also for various kinds of content data such as music and games.
Abstract
Description
- The present invention relates to a content data delivery system which delivers content data such as video data via a network.
- There is known a content delivery system which delivers content data such as video data via a network in response to a request from a client terminal.
- Considered herein is a content delivery system which delivers content data to client terminals set in advance from a storage device which retains content data such as video data.
- In general, a cache device connected to the storage device is provided to the content delivery system, and requested content data is cached to the cache device from the storage device when the content data requested by the client terminal is not in the cache device (cache fill). Further, when the requested content data is retained in the cache device (cache hit), the content data is delivered to the client terminal in response to the request from the client terminal (content delivery request).
- Further, when the requested content data is not retained in the cache device (cache hit miss), the content data is loaded (cached) to the cache device from the storage device, and the content data is delivered to the client terminal from the cache device thereafter.
- Furthermore, when a region (capacity) for allotting (retaining) the content data to the cache device is insufficient, the content data retained prior to that point is discarded and new content data is cached (cache replacement).
- Thereby, in the cache device, cache replacement is done when the capacity for caching the content data is insufficient so that the content data retained in the cache device is replaced.
- Incidentally, with the content delivery system, it is generally required to reduce delay time of packet provided to the client terminal and to deliver the content data stably in a specific contracted band.
- Further, it is also required to perform efficient content delivery to an unspecified large number of client terminals by corresponding to respective given environments such as network load, processing ability of each client terminal, congestion level of the delivery server, or the like on a real-time basis.
- For this, for example, there are methods such as a streaming delivery and a content delivery network (CDN), which suppress generation of transmission delay by efficiently storing (arranging) content data in accordance with the access request frequency degree from the client to the storage device and the cache device and stably secure the specific transmission band by dispersing the load to the network and the delivery server.
- With the streaming delivery, the delivery server for delivering a content sections moving picture file data into a plurality of pieces of partial data and delivers the partial data in a plurality of times in a divided manner, and the client terminal reproduces the divided file data (partial data) in order every time upon receiving the data.
- Thereby, it becomes unnecessary for the client terminal side to wait for all the moving picture files (content data) such as a video to be downloaded (reducing the waiting time). Further, even when there is a fault generated on the line, it is possible to reproduce the already received file data.
- Further, with CDN, through placing the delivery servers not on a specific point on a network but at different points close to the client devices as much as possible on the network for dispersing the load of data delivery, it is possible to avoid having the load concentrated to a specific point. Further, it is also possible to decrease deterioration of the delivery quality caused due to packet transmission delay and the like. Therefore, it is particularly effective for the streaming delivery with which a vast amount of file data is transmitted and received.
- However, with CDN, it is necessary to provide the delivery servers dispersedly in a wide range, thereby requiring a great amount of cost. Therefore, it is required to reduce the storage regions for each delivery server as much as possible and, further, to utilize the limited storage capacity efficiently.
- Further, as an algorithm for cache replacement for efficiently utilizing the storage capacity of the cache device and the storage device, etc., there are LRU (Least Recently Used) which discards the one whose latest access made thereto is the longest time ago, LFU (Least Frequently Used) which discards the one that has been accessed for the least number of times.
- For this, there is disclosed a method which improves the use efficiency of the cache region through storing a content to a cache by dividing it into a plurality of encoded layers by using a technique which hierarchically encodes video signals as content data into a basic layer and an extension layer containing a more highly detailed data content (Patent Document 1).
- Further, when a part of encoded bit stream is decoded with
Patent Document 1, an image of low spatial resolution can be reproduced. When remaining data in the bit stream is decoded further, an additional signal for improving the spatial resolution can be acquired. This makes it possible to perform content delivery to an unspecified large number of client terminals by corresponding to respective given environments such as network load, processing ability of each client terminal, congestion level of the delivery server, or the like on a real-time basis. - Further, as a related technique thereof, there is disclosed a stream server device which caches hierarchically encoded contents (Patent Document 2).
- Furthermore, as another related technique, there is disclosed a method which takes a product of an access frequency degree by each hierarchy contained in each content, a reproduction rate, and a reproduction time (content size) as a parameter, and selects and caches the content whose parameter is the smallest in order to increase the hit rate of the cached content (cache hit rate) (Patent Document 3).
- Further, as still another related technique, there is disclosed a method which specifies hierarchically encoded content data as data to be cached by a hierarchy (layer) unit and performs cache replacement (Patent Document 4).
- Patent Document 1: JP, 4408811, B
- Patent Document 2: WO 2004040908
- Patent Document 3: Japanese Unexamined Patent Publication 2004-145613
- Patent Document 4: Japanese Unexamined Patent Publication 2007-053593
- However,
Patent Document 1 described above is the structure which discards data of an encoding rate that is close to a requested encoding rate and stores the requested data to that position, when content data of the encoding rate requested by a client device is not stored in the cache. Thus, it is not possible to discard an unused content on the cache, i.e., a content of a low access frequency degree, and to replace it with a new content. Therefore, it is not possible to sufficiently increase the cache use efficiency by replacement. - Further, the encoding rate of the content to be stored to the cache is changed in accordance with the access frequency degree with
Patent Document 1 described above. However, since the encoding rate of the content to be cached is changed based only on the content access frequency degree, the cache hit rate is deteriorated in a cache device with a limited capacity when each of the contents has different maximum reproduction rate and size. - Further, with the related technique disclosed in
Patent Document 2, it is not possible to increase the cache hit rate for the cached content data. - Furthermore, as described above, with the related technique disclosed in
Patent Document 3, the content having the minimum product of the access frequency degree and the content size is cached and replaced. Thus, the access frequency degree per cache capacity cannot be increased in the replaced content. In particular, when the cache capacity is small, the cache hit rate is rather deteriorated. - Further, with the related technique disclosed in
Patent Document 4 described above, the hierarchically encoded data to be cached and replaced is determined regardless of the data size of each hierarchical unit and the reproduction time of the content. Therefore, when there is a limit in the cache capacity, the cache hit rate is deteriorated. - An object of the present invention is to provide a content delivery system, a content delivery method, and a content delivery program, which can stably deliver the content data such as video data via a network.
- In order to achieve the foregoing object, the content delivery system according to the present invention is a content delivery system which includes a content retention unit which stores content data to be delivered by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates; a cache retention unit which loads the content data and temporarily caches the loaded content data; and a data delivery unit which delivers the content data in response to an access request from an external terminal, and the system is structured to include a cache content replacement control unit which replaces the content cached in advance to the cache retention unit with hierarchical data read out from the content retention unit, wherein the cache content replacement control unit includes: an access frequency degree calculation module which calculates access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; a score determination module which calculates scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and a cache content replacement/update module which judges whether or not to cache the data for each of the hierarchical data based on the scores.
- Further, the content delivery method according to the present invention is a content delivery method which temporarily caches content data stored in a content retention unit by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates to a cache retention unit and delivers the content data in response to an access request from an external terminal, and the method is characterized to include: calculating access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; calculating scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and judging whether or not to cache the data for each of the hierarchical data based on the scores.
- Furthermore, the content delivery program according to the present invention is a content delivery program for delivering content data in response to an access request made from an external terminal by including: a content retention unit which stores content data to be delivered by sectioning the data into a plurality of pieces of hierarchical data of different encoding rates; a cache retention unit which loads the content data and temporarily caches the loaded content data; and a cache content replacement control unit which replaces the content cached in advance to the cache retention unit with hierarchical data read out from the content retention unit, and the program is characterized to cause a computer to execute: an access frequency degree calculation function which calculates access request frequency degrees from the external terminal for each of the content data and each hierarchical data of the content data; a score determination function which calculates scores showing priority degrees to be stored in the cache retention unit for each of the hierarchical data of the content data based on the calculated access request frequency degrees; and a cache content replacement/update function which judges whether or not to cache the data for each hierarchical data based on the scores.
- The present invention is designed as the structure which includes a module that calculates the access request frequency degree of each of cached hierarchical data and a module that calculates scores of each hierarchical data based on the access frequency degree and replaces the hierarchical data cached to a content retention unit based on the scores. Thereby, it is possible to improve the cache hit rate efficiently.
-
FIG. 1 is a schematic block diagram showing an exemplary embodiment of a content delivery system according to the present invention; -
FIG. 2 is an explanatory chart showing an example of a data structure of content data in the content delivery system disclosed inFIG. 1 ; -
FIG. 3 is an explanatory chart showing an example of an arrangement state of content data in the content delivery system disclosed inFIG. 1 ; -
FIG. 4 is an explanatory chart showing an example of a content delivery process of the content delivery system disclosed inFIG. 1 ; -
FIG. 5 is an explanatory chart showing an example of a content delivery process of the content delivery system disclosed inFIG. 1 ; -
FIG. 6 is a sequence chart showing operation steps of the content delivery process of the content delivery system disclosed inFIG. 1 ; -
FIG. 7 is a sequence chart showing operation steps of the content delivery process of the content delivery system disclosed inFIG. 1 ; -
FIG. 8 is a flowchart showing entire operation steps of the content delivery system disclosed inFIG. 1 ; -
FIG. 9 is an explanatory chart showing an example of a data structure of access frequency degree information of the content delivery system disclosed inFIG. 1 ; -
FIG. 10 is an explanatory chart showing an example of a data structure of score values showing priority degrees by each content and each encoded layer in the content delivery system disclosed inFIG. 1 ; -
FIG. 11 is an explanatory chart showing an example of a data structure of values of satisfaction degrees of viewer clients of the content delivery system disclosed inFIG. 1 ; and -
FIG. 12 is an explanatory chart showing an example of a data structure of values of satisfaction degrees of viewer clients of the content delivery system disclosed inFIG. 1 . - Next, basic structural contents of an exemplary embodiment of the invention will be described.
- As shown in
FIG. 1 , acontent delivery system 100 as the exemplary embodiment is in a structure which includes: acontent delivery device 10 which stores and retains content data delivered to each ofclient devices client device group 40” as a general term thereof) connected to anetwork 50 such as the Internet; acache delivery device 30 which temporarily stores content data (referred to as “content” hereinafter) sent from thecontent delivery device 10 via thenetwork 50, and delivers the content in response to a request from the client devices (401 a, 401 b, 401 c); and a content arrangement determination module 20 (cache control unit) 20 which determines the content to be loaded (cached) to the cache delivery device (cache retention module) 30 from the content delivery device (content retention unit) 10, and replaces and updates (replacement) the content data loaded to thecache delivery device 30. - It is assumed that the
client device group 40 is constituted by including a plurality of different terminal devices (the client devise 401 a, 401 b, 401 c) which receive the content via thenetwork 50, respectively, and that each of theclient devices network 50. - Further, it is also possible to employ a structure in which four or more client devices are connected to the
network 50. - The
content delivery device 10 includes: acontent retention module 101 which stores deliverable contents; and acontent delivery module 102 which transmits the contents to each of theclient terminals 401 a to 401 c of theclient group 40 and thecache delivery device 30. - Note here that the
content retention module 101 can be achieved by a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like. - Further, while the contents stored in the
content retention module 101 are video data such as movies and dramas, the contents are not necessarily limited to the video contents. Other kinds of content data such as audio data may also be stored. - The
cache delivery device 30 includes acache control module 301 which acquires the content data from thecontent retention module 101 based on an instruction from the contentarrangement determination module 20; acache retention module 302 which stores the content acquired by thecache control module 301; and acontent delivery module 303 which transmits the content to each of theclient terminals 401 a to 401 c of theclient group 40. - The
cache control module 301 has an access frequency degree information notification function which notifies access frequency degree information showing the use state by each content and each viewing bit rate (encoded layer) stored (or arranged) in thecontent delivery device 10 and thecache delivery device 30 to an access frequencydegree collection module 201 of the contentarrangement determination module 20 via thenetwork 50. - The access frequency degree information is defined to indicate the number of viewing times for each of contents and each viewing bit rate, the time, and the like, for example.
- Further, the access frequency degree information may be the number of requested times for each content and each viewing bit rate based on the content viewing request information of the client. Furthermore, the access frequency degree information may be values showing viewing demands for each of contents and each viewing bit rate based on either one of or both of the content viewing information and the content viewing request information.
- Thereby, the access frequency
degree collection module 201 can calculate an access frequency degree p(k, l) for each viewing bit rate by using the layers up to an encoded layer l of a content k based on the notified access frequency degree information, for example. - Further, the
cache control module 301 has a content delivery request transfer function which transmits a content delivery request to thecontent delivery device 10 when the search target content requested from theclient device 10 is not stored (cached) in thecache retention module 302. - The
content delivery module 102 transmits the search target content (encoded layer data) that is not stored (cached) in thecache retention module 302 to the client device in response to the content delivery request. - The
cache retention module 302 can be achieved by a hard disk device constituted with a volatile memory or a nonvolatile memory such as a magnetic disk or a semiconductor memory, RAM (Random Access Memory), ROM (Read Only Memory) capable of rewriting data, or the like. It is assumed that an access can be made at a higher speed for the content data retained in thecache retention module 302 than to the content data stored in the content retention module. - Further, while the contents stored in the
cache retention module 302 are continuous video data such as movies and dramas, the contents are not necessarily limited to the video contents. Other kinds of continuous media and content data such as audio data may also be stored. - It is assumed that the content data of the exemplary embodiment is encoded by a hierarchical-type encoding method as shown in
FIG. 2 . - The hierarchical encoding method specifically is an encoding method such as H.264/SVC defined by ITU-T, and the content data encoded by this H.264/SVC method is constituted with hierarchical data (layered data) such as a base layer, an
extension layer 1, and anextension layer 2. - Further, the access frequency degree p(k, l) to the encoded layer l of the content k is aggregated by each viewed encoded layer (bit rate).
- For example, as shown in
FIG. 9 , p(k, l) is a value acquired by aggregating the frequency degrees of receiving and viewing the base layer (l=1) of the content k. - Furthermore, p(k, 2) is a value acquired by aggregating the frequency degrees of receiving and viewing the base layer (l=1) and the extension layer 1 (l=2) of the content k, p(k, 3) is a value acquired by aggregating the frequency degrees of receiving and viewing the base layer (l=1), the extension layer 1 (l=2), and the extension layer 2 (l=3) of the content k, and p(k, 4) is a value acquired by aggregating the frequency degrees of receiving and viewing the base layer (l=1), the extension layer 1 (l=2), the extension layer 2 (l=3), and the extension layer 3 (l=4) of the content k, respectively.
- Further, with the hierarchical encoding method, it is possible to reproduce a video with a higher quality as a degree of the encoded layer to be used becomes higher. However, it is also possible to reproduce a video with data of only a lower-order layer (the base layer (
FIG. 2 ) in this case). For example, with the content data hierarchically encoded by the hierarchical-type encoding method by H.264/SVC, the content data (video data) encoded by using the layers up to the highest-order extension layer 3 can be reproduced by the production side with a still higher picture quality. - Meanwhile, the content data (video data) encoded by using the layers up to the
extension layer 1 can be reproduced with a medium screen and with a medium picture quality. The content encoded by using only the base layer is reproduced with a smaller screen and with a lower picture quality compared to the case using the layers including the extension layers 1, 2. - In the meantime, the size of the content becomes larger when the data contains the layers up to the
extension layer 3 as the higher-order layer, and becomes smaller in the case only with the base layer that is the lower-order layer. - In this exemplary embodiment, the content data is sectioned according to the hierarchy of encoding and the quality (picture quality) of the data, and the data stored in the
cache retention module 302 is determined by calculating the score values shown below for each of the contents and the encoded layers by using such characteristic. - The
content delivery module 303 has a content delivery function which transmits the content (data) stored in thecontent delivery device 10 to the client device according to a request. - The content
arrangement determination module 20 includes: an access frequencydegree collection module 201 which acquires (collects) the access frequency degree information showing the access frequency degree from the client device for each content (each encoded layer) from thecontent delivery device 10 and thecache delivery device 30; a hierarchicalscore determination module 202 which calculates scores showing the priority degrees to be stored to the cache delivery device 30 (the cache retention module 302) by corresponding to each content and each encoded layer based on the acquired access frequency degree; and anarrangement determination module 203 which judges whether or not each content and each encoded layer is stored to thecache delivery device 30 based on the scores. - In this exemplary embodiment, it is so defined that the cache capacity set in advance to the
cache delivery device 30 is x, the access frequency degree for the encoded layer l of the content k is p(k, l), and the reproduction rate of the encoded layer l of the content k is r(k, l). Further, it is also defined that the length (reproduction time) of the content k is t(k). - Under this, the content
arrangement determination module 20 determines the content data to be arranged in thecache delivery device 30 with a condition of x≦Σr(k, l)×t(k). - When there is a content delivery request (access request) for the
cache delivery device 30 or thecontent delivery device 10 from the client device (401 a, b, or c), the access frequencydegree collection module 201 calculates the access frequency degree p(k, l) for each viewing bit rate by using the layers up to the encoded layer l of the content k based on the access frequency degree information notified from thecache delivery device 30 or thecontent delivery device 10. - The hierarchical
score determination module 202 calculates v(k, l) as the score value of the contents k and the encoded layer l, for example, based on a followingExpression 1. -
- Note here that v(k, l) as the score value of the encoded layer l of the content k is calculated by each encoded layer. The score value shows the priority degree for storing each hierarchical data of the content data to the cache retention unit.
- For example, as shown in
FIG. 10 , v(k, l) is the score value of the base layer (l=1) of the content k, v(k, 2) is the score value of the extension layer 2 (l=3) of the content k, v(k, 3) is the score value of the extension layer 2 (l=3) of the content k, and v(k,4) is the score value of the extension layer 3 (l=4) of the content k. - The calculated score value may be a value that shows the proportion of the access frequency degree for the size of the content data.
- The hierarchical
score determination module 202 may be set to compare each of the score values of each encoded layer (hierarchical data) of different contents cached to thecache retention module 302 based on the access frequency degree information notified from thecache delivery device 30 or may be set to compare the score values by calculating the score values of each encoded layer of the contents stored in thecontent retention module 101. - Note here that the hierarchical
arrangement determination module 203 replaces the encoded layer of a low access frequency degree (referred to as “low-access encoded layer”) with an encoded layer of a higher access frequency degree read out from thecontent retention module 101. - In this case, the hierarchical
arrangement determination module 203 may be set to select the encoded layer arbitrarily from thecontent retention module 101, for example. - The hierarchical
arrangement determination module 203 compares the score values of the encoded layers within thecontent retention module 101 and the encoded layers within thecache retention module 302 calculated by the hierarchicalscore determination module 202, and determines the contents arranged (cached) to thecache delivery device 30 by a unit of encoded layer in order from the larger score value to the lower score value. - In this exemplary embodiment, writing of the content to the
cache retention module 302 from thecontent retention module 101 is done by a unit of encoded layer. However, it is also possible to set to perform arrangement by a unit of content. - The hierarchical
arrangement determination module 203 arranges the encoded layers (hierarchical data) determined based on the score values to thecache retention module 302. - The hierarchical
arrangement determination module 203 does not perform arrangement by jumping a lower-order encoded layer, i.e., does not arrange a higher-order encoded layer of a same content to thecache retention module 302 under a state where a lower-order encoded layer contained in a given content is not arranged in thecache retention module 302. - The hierarchical
arrangement determination module 203 performs a control so that encoded layers of a same content are not arranged in thecache retention module 302 in a duplicated manner. - Each of the
content delivery device 10, the contentarrangement determination module 20, and thecache delivery device 30 is a computer that includes a processor, and it is defined to achieve operational functions of each module provided inside by performing execution processing based on a program set in advance. - With the structure shown above, the exemplary embodiment can improve use efficiency of the cache region and, at the same time, can correspond to environments given to each client such as network load, processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis.
- Now, presented is a case where contents a, b, c, and d stored in the
content retention module 101 are cached to thecache retention module 302 of 400 Mbit in cache size in thecontent delivery system 100 that is the exemplary embodiment. - The content a is defined to have a reproduction rate of 1 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 3. Further, the content b is defined to have a reproduction rate of 1 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 3, the content c is defined to have a reproduction rate of 2 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 1, and the content d is defined to have a reproduction rate of 4 Mbps, a reproduction time (content size) of 100 sec, and an access frequency degree of 1.
- In a case where the content of the minimum access frequency degree or the content whose value of (access frequency degree)×(content size) is the minimum is cached (replaced) among the contents cached in advance, only the content d is to be replaced (cached) to the
cache retention module 302 in the above-described case. - In that case, the cache hit rate is 10%, and the traffic between the source and cache after the cache replacement is 10 Mbps.
- In the meantime, the exemplary embodiment is so set that the content (encoded layer) whose value of (access frequency degree)×(content size) is the minimum is cached (replaced) among the cached contents. Thus, in the above-described case, the contents a, b, and c are cached to the
cache retention module 302. In this case, the cache hit rate is 87.5%, and the traffic between the source and cache after the cache replacement is 4 Mbps. This provides effects of improving the cache hit rate and reducing the traffic between the source and cache. - (Explanations of Operations of Exemplary Embodiment)
- Next, outlines of the operations of the exemplary embodiment will be described.
- First, the hierarchical
score determination module 202 calculates the access request frequency degrees for each hierarchical data cached in advance to thecache retention module 302 and each hierarchical data stored in thecontent retention module 101 as the access frequency degrees (an access frequency degree calculation step), and the hierarchicalarrangement determination module 203 calculates the score values of each hierarchical data cached in advance to thecache retention module 302 and each hierarchical data stored in thecontent retention module 101 based on the access frequency degrees (a score calculation step), determines the hierarchical data to be cached based on the calculated score values, and replaces the cached hierarchical data of a low score with the hierarchical data of a higher score read out from the content retention module 101 (a cache replacement step). - Note here that execution contents of the access frequency degree calculation step, the score calculation step, and the cache replacement step may be put into programs to be executed by a computer.
- Next, operations of the
content delivery system 100 as the exemplary embodiment will be described by referring to the explanatory charts ofFIGS. 3 , 4 and the sequence chart ofFIG. 6 . Here, it is assumed that theclient device 401 a of theclient device group 40 transmits a content reproduction request to the cache delivery device. - Further, as shown in a logic chart of
FIG. 3 , all the content data (e.g., A, B, C, D) that can be delivered to theclient device group 40 are stored in thecontent delivery device 10. Among those, duplicated data of a part of the content data is stored (cached) in advance to thecache delivery device 30. - It is assumed that the
client devices 401 b and c can also operate in the same manner as that of theclient device 401 a. - First, the
client device 401 a determines the content to be requested and the reproduction rate thereof (step S101), and requests a base layer (A0) and an extension layer (A1) of the content A (step S102). - In this case, as shown in
FIG. 4 , the base layer (A0) and the extension layer (A1) of the content A are both stored in advance within thecache retention module 302 of thecache delivery device 30. Thus, thecontent delivery module 303 of thecache delivery device 30 searches the content data in response to the request (step S103), reads out the base layer (A0) and the extension layer 1 (A1) of the content A from thecache retention module 302, and delivers those to theclient device 401 a (the client device group 40) (step S104). - Thereby, the
client device 401 a can reproduce the delivered content A (the base layer (A0) and the extension layer 1 (A1)). - Next, the operation of a case where the
client device 401 a requests contents C0, C1, C2 to thecache delivery device 30 will be described by referring to the explanatory chartsFIGS. 3 , 5 and the sequence chart ofFIG. 7 . - As shown in the logic chart of
FIG. 3 , all the content data (e.g., A, B, C, D) that can be delivered to theclient device group 40 are stored in thecontent delivery device 10. Among those, data of a part of the content data is stored (cached) in advance to thecache delivery device 30. - First, the
client device 401 a determines the reproduction rate of the content (step S201), and requests the base layer (C0), the extension layer 1 (C1), and the extension layer 1 (C2) of the content C to thecache delivery device 30 thereafter (step S202: a content delivery request). - In this case, the base layer (C0) and the extension layer 1 (C1) of the content C are stored in advance within the
cache retention module 302 as shown inFIG. 5 . - The
content delivery module 303 searches the content data according to the request (step S203). Here, thecontent delivery mole 303 gives a content delivery request to the content delivery device regarding the extension layer 2 (C2) that is not stored in the cache retention module 302 (step S204: a content delivery request). - The
content delivery module 102 of thecontent delivery device 10 reads out the extension layer 2 (C2) according to the content delivery request from thecache delivery device 30, and delivers it to theclient device 401 a (step S205: content delivery). - Further, the
content delivery module 303 reads out the base layer (C0) and the extension layer 1 (C1) of the content C from thecache retention module 302, and delivers those to theclient device 401 a (the client device group 40) (step S206: content delivery). - Next, operations of the entire
content delivery system 100 and the contentarrangement determination module 20 will be described by referring to a flowchart ofFIG. 8 . - First, the
cache control module 301 receives a reproduction request (a content delivery request) from theclient device 401 a, and searches thecache retention module 302 by using a content ID and the reproduction rate contained in the reproduction rate as the key (step S301). - When all the data of the search target content are stored in the cache retention module 302 (YES: step S302), the
cache delivery module 303 reads out the target content from thecache retention module 302 and delivers it (step S303). - Then, the
cache control module 301 notifies the access frequency degree information (access frequency degree) showing the access frequency degree of each hierarchical data contained in each content in thecache retention module 302 and the access frequency degree of each hierarchical data of the content stored in thecontent retention module 101 to the access frequency degree collection module 201 (step S307). - It is also possible to set the access frequency
degree collection module 201 to calculate the access frequency degree information of each hierarchical data in thecache retention module 302 and thecontent retention module 101 regularly. - In the meantime, when all the search target content data are not stored in the cache retention module 302 (NO: step S302), the
cache control module 301 checks whether or not a part of the data of the target content is stored in the content retention module 302 (step S304). - When a part of the search target content is stored (cached) in the
cache retention module 302 and a part of the remainder is stored in the content retention module 101 (YES: step S304: YES), thecontent delivery device 303 delivers a part of the content data stored in thecache retention module 302 to the client device, and thecontent delivery module 102 delivers a part of the remaining content data stored in thecontent retention module 101 to the client device (step S305). - Then, the
ache control module 301 notifies the access frequency degree information showing the access frequency degree of each hierarchical data contained in each content in thecache retention module 301 and the access frequency degree of each hierarchical data contained in each content in thecontent retention module 101 to the access frequency degree collection module 201 (step S307). - In the meantime, when all the search target content data are not stored (cached) in the
cache retention module 302 but stored in the content retention module 101 (NO: step S304), thecache control module 301 transmits a content delivery request to thecontent delivery device 10, and thecontent delivery module 102 delivers the search target content data stored in thecontent retention module 101 to the client device (e.g., 401 a) in response to the content delivery request (step S306). - Arrangement of the content for the
cache retention module 302 of thecache delivery device 30 and replacement/update (replacement) of the content data cached to thecache retention module 302 done by the contentarrangement determination module 20 are executed by having a content viewing request from theclient device group 40 as a trigger. - Further, the content
arrangement determination module 20 may be set to execute the arrangement of the content for thecache retention module 302 of thecache delivery device 30 and replacement/update (replacement) of the content data cached in thecache retention module 302 regularly. - Now, the operation of the content
arrangement determination module 20 for determining the content data arranged in thecache delivery device 30 will be described. - It is so defined that the cache capacity set in advance to the
cache delivery device 30 is x, the access frequency degree for each viewing bit rate using the layers up to the layer l of the content k t is p(k, l), and the reproduction rate of the encoded layer l of the content k is r(k, l). Further, it is also defined that the length (reproduction time) of the content k is t(k). - Under this, the content
arrangement determination module 20 determines the content data to be arranged in thecache delivery device 30 with a condition of x≦Σr(k, l)×t(k). - This will be described in details hereinafter.
- When there is a reproduction request (a content delivery request, an access request) for the
cache delivery device 30 or thecontent delivery device 10 from theclient device group 40, the access frequencydegree collection module 201 of the contentarrangement determination module 20 calculates the access frequency degree p(k, l) for each viewing bit rate by using the layers up to the encoded layer l of the content k based on the access frequency degree information notified from thecache delivery device 30 and thecontent delivery device 10. - Further, the hierarchical
score determination module 202 calculates v(k, l) as the score value of the encoded layer l of the content k and, for example, based on a followingExpression 1. -
- The hierarchical
arrangement determination module 203 compares the score values of the encoded layers within thecontent retention module 101 and the encoded layers within thecache retention module 302 calculated by the hierarchicalscore determination module 202, and determines the contents arranged (cached) in thecache delivery device 30 by a unit of encoded layer in order from the larger score value to the lower score value (i.e., by giving a priority to the encoded layer of a higher score). - The hierarchical
arrangement determination module 203 arranges the encoded layers (hierarchical data) determined based on the score values to thecache retention module 302. - The hierarchical
arrangement determination module 203 does not perform arrangement by jumping a lower-order encoded layer, i.e., does not arrange a higher-order encoded layer of a same content to thecache retention module 302 under a state where a lower-order encoded layer contained in a given content is not arranged in thecache retention module 302. - Further, the hierarchical
arrangement determination module 203 performs a control so that encoded layers of a same content are not arranged in thecache retention module 302 in a duplicated manner. - Further, regarding the score value (v(k, l)), it is assumed that a state where the score value of the lower-order encoded layer of a same content is higher than the score value of the higher-order encoded layer (lower-order encoded layer score value>higher-order encoded layer score value) is maintained in this exemplary embodiment.
- Thereby, when the base layer (the lower-order encoded layer) is not arranged inside the
cache retention module 302, the extension layer of a higher order than the base layer is not arranged in thecache retention module 302. - Now, there is considered a case where only the higher-order encoded layer is cached under a state where the lower-order encoded layer of the same content is not cached, for example.
- In this case, it is possible that the viewing quality of the content becomes deteriorated when only the higher-order encoded layer is provided to the client device from the
cache delivery device 30 and reproduced. - Therefore, when only the higher-order encoded layer is cached, the higher-order encoded layer is not provided to the client device. As a result, the cache hit rate becomes decreased.
- Further, there is considered a case where encoding is done with three-layer hierarchy (
layers layer 1 is the lowest-order hierarchy), and thecontent delivery device 10 and thecache delivery device 30 cannot be used because there is congestion generated between thecontent delivery device 10 and the cache delivery device 30 (referred to as “source-to-cache” hereinafter). - In such condition, when the
layers layer 1 and the cache hit rate in thecache delivery device 30 becomes 33%. - In the meantime, when the
layers layers cache delivery device 30 becomes 66%. This makes it possible to suppress deterioration of the cache hit rate. - As described above, in this exemplary embodiment, each content is fractionated by each encoded layer, the score value (v(k, l)) is acquired based on the access frequency degree for each encoded layer of each content, and the encoded layers are arranged in the
cache delivery device 30 in order from the higher score to the lower score. - This makes it possible to increase the access frequency degree per capacity of the cached content, so that the cache hit rate can be improved.
- Further, with the exemplary embodiment, it is possible to improve the use efficiency of the cache region (cache retention module). At the same time, it is possible to lighten the network load and to perform content delivery by adapting to the environments given to each client device such as network load, processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis.
- The reason is because not only the encoding rate of the content to be stored to the delivery server is changed depending on the content access frequency degree but also the cache arrangement can be determined by considering the reproduction rate and the size which are different for each of the contents, when the storage capacity of each delivery device is limited.
- Next, a
content delivery system 100 of a second exemplary embodiment according to the invention will be described. Note here that same reference numerals are applied to the same components as those of the first exemplary embodiment described above. - In the second exemplary embodiment, the structural components of the apparatuses of the system are the same as those of the first exemplary embodiment, but the method for calculating v(k, l) that is the score value of the content k and the encoded layer l by the hierarchical
score determination module 202 is different from that of the first exemplary embodiment. - This different aspect will be described hereinafter.
- In the second exemplary embodiment, the hierarchical score determination module 202 (reproduction cache data determination function) calculates v(k, l) that is the score value of the content k and the encoded layer l based on a user satisfaction function u(k, l) that shows the bodily sensed quality of the client for the content viewing video (content reproduction video) on the client terminal side.
- The hierarchical
score determination module 202 may be set to acquire an index value showing the content reproduction bodily sensed quality from each client device (a content reproduction information acquiring function), and to calculate the user satisfaction function u(k, l) based on this index value. - Further, the user satisfaction function u(k, l) showing the client bodily sensed quality may be contained in the content delivery request that is transmitted from the client terminal.
- Note that is assumed u(k, l) described above is acquired by a subjective evaluation method, for example. The subjective evaluation method is defined as a recommendation 500 (BT. 500) by International Telecommunication Union Radiocommunications Sector (ITU-R), for example. Further, it is also possible to calculate the user satisfaction function u(k, l) showing the bodily sensed quality of the client in advance by a preliminary study and have it registered to the hierarchical
score determination module 202. - Note here that the hierarchical
score determination module 202 calculates v(k, l) that is the score value of the content k and the encoded layer l, for example, byExpression 2 shown below. -
- It is assumed here that the user satisfaction u(k, l) of the encoded layer l of the content k is given for each viewing bit rate (the number of encoded layers).
- Specifically, as shown in
FIG. 11 , for example, it is so defined that u(k, l) is a value that shows the bodily sensed quality of the client when receiving and viewing only the base layer (l=1) of the content k. - Further, u(k, 2) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1) and the extension layer 1 (l=2) of the content k, u(k, 3) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1), the extension layer 1 (l=2), and the extension layer 2 (l=3) of the content k, and u(k, 4) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1), the extension layer 1 (l=2), the extension layer 2 (l=3), and the extension layer 3 (l=4) of the content k.
- Thereby, the hierarchical
arrangement determination module 203 can arrange the encoded layers based on the score values (v(k, l)) which are determined depending on the reproduction ability (reproduction environment) of each client terminal and the content reproduction state as well as the reproduction quality of the client side that may vary due to the congestion state of the network on which the content is delivered. - Further, the
content delivery module 303 may be set to adjust the content delivery rate (delivery pace) based on the score value (v(k, l)) that is set in the manner described above. - As described above, as in the case of the first exemplary embodiment, it is also possible with the second exemplary embodiment to improve the use efficiency of the cache region, to lighten the network load, and to perform content delivery by adapting to environments given to each client device such as processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis. Therefore, the satisfaction degree of the client regarding the content reproduction can be improved.
- Next, a
content delivery system 100 of a third exemplary embodiment according to the invention will be described. Note here that same reference numerals are applied to the same components as those of the first and second exemplary embodiments described above. - In the third exemplary embodiment, the structural components of the apparatuses of the system are the same as those of the first exemplary embodiment, but the method for calculating v(k, l) that is the score value of the content k and the encoded layer l by the hierarchical
score determination module 202 is different from those of the first and second exemplary embodiments. - This different aspect will be described hereinafter.
- In the third exemplary embodiment, the hierarchical score determination module 202 (reproduction cache data determination function) calculates v(k, l) that is the score value of the content k and the encoded layer l based on a user satisfaction function u(d, k, l) that shows the client satisfaction degree for the content viewing video different for each of the client terminals. Note that d is an ID that shows the type of the client terminal.
- The hierarchical
score determination module 202 may be set to acquire an index value showing the content reproduction bodily sensed quality from each client device, and to calculate the user satisfaction function u(d, k, l) based on this index value. - Further, the user satisfaction function u(d, k, l) showing the client bodily sensed quality may be contained in the content delivery request that is transmitted from the client terminal.
- Furthermore, it is also possible to calculate the user satisfaction function u(d, k, l) showing the bodily sensed quality of the client in advance by a preliminary study and have it registered to the hierarchical
score determination module 202. - Note here that u(d, k, l) can be acquired by employing a subjective evaluation method for each type of the client terminals classified based on a screen size or the like, for example.
- As described above, the subjective evaluation method is defined as a recommendation 500 (BT. 500) by International Telecommunication Union Radiocommunications Sector (ITU-R), for example.
- Note here that the hierarchical
score determination module 202 calculates v(k, l) that is the score value of the content k and the encoded layer l, for example, based onExpression 3 shown below. -
- It is assumed here that the user satisfaction u(d, k, l) of the encoded layer l of the content k is given for each viewing bit rate (the number of encoded layers).
- Specifically, as shown in
FIG. 12 , for example, it is so defined that u(d, k, l) is a value that shows the bodily sensed quality of the client when viewing only the base layer (l=1) of the content k. - Further, u(d, k, 2) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1) and the extension layer 1 (l=2) of the content k, u(d, k, 3) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1), the extension layer 1 (l=2), and the extension layer 2 (l=3) of the content k, and u(d, k, 4) is a value that shows the bodily sensed quality of the client when receiving and viewing the base layer (l=1), the extension layer 1 (l=2), the extension layer 2 (l=3), and the extension layer 3 (l=4) of the content k.
- Thereby, the hierarchical
arrangement determination module 203 can arrange the encoded layers based on the score values (v(k, l)) which are determined by reflecting the reproduction ability (reproduction environment) of each client terminal, the content reproduction state of the client side that may vary due to the congestion state of the network on which the content is delivered, and the content reproduction quality that varies depending on the respective type of each of the client terminals. - Further, the
content delivery module 303 may be set to adjust the content delivery rate (delivery pace) based on the score value (v(k, l)) that is set in the manner described above. - As described above, as in the case of the first and second exemplary embodiments, it is also possible with the third exemplary embodiment to improve the use efficiency of the cache region, to lighten the network load, and to perform content delivery by adapting to the content reproduction environments and resources of each of the client devices such as processing ability of the client device, congestion level of the delivery server, or the like on a real-time basis. Therefore, the satisfaction degrees regarding reproduction of the content different for each of the client devices can be improved, respectively.
- While the present invention has been described heretofore by referring to the embodiments (and EXAMPLES), the present invention is not limited only to the embodiments (and EXAMPLES). Various changes and modifications occurred to those skilled in the art can be applied to the structures and details of the present invention without departing from the scope of the present invention.
- This Application claims the Priority right based on Japanese Patent Application No. 2009-171362 filed on Jul. 22, 2009 and the disclosure thereof is hereby incorporated by reference in its entirety.
- The present invention can be applied to a network delivery system which delivers video contents such as broadcast programs and movies via a network. In particular, the present invention can be applied to a network delivery system for delivering content data, which carries a large number of subscribers and is required to have a high delivery performance. Further, the present invention can be applied to a delivery service not only for video data as the contents but also for various kinds of content data such as music and games.
-
-
- 10 Content delivery device
- 20 Content arrangement determination module
- 30 Cache delivery device
- 40 Client device group
- 50 Network
- 101 Content retention module
- 102 Content delivery module
- 201 Access frequency degree collection module
- 202 Hierarchical score determination module
- 203 Hierarchical arrangement determination module
- 301 Cache control module
- 302 Cache retention module
- 303 Content delivery module
- 401 a, 402 b, 403 c Client device
Claims (11)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009171362 | 2009-07-22 | ||
JP2009-171362 | 2009-07-22 | ||
JP2009171362 | 2009-07-22 | ||
PCT/JP2010/062328 WO2011010688A1 (en) | 2009-07-22 | 2010-07-22 | Content delivery system, content delivery method and content delivery programme |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120124159A1 true US20120124159A1 (en) | 2012-05-17 |
US9402058B2 US9402058B2 (en) | 2016-07-26 |
Family
ID=43499160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/386,332 Active 2033-09-24 US9402058B2 (en) | 2009-07-22 | 2010-07-22 | Content delivery system, content delivery method and content delivery program |
Country Status (3)
Country | Link |
---|---|
US (1) | US9402058B2 (en) |
JP (1) | JP5408257B2 (en) |
WO (1) | WO2011010688A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254575A1 (en) * | 2011-03-28 | 2012-10-04 | Seung-Woo Ryu | Method and portable device for managing memory in a data stream management system |
US20130145001A1 (en) * | 2011-12-01 | 2013-06-06 | Verizon Patent And Licensing Inc. | Utility-based model for caching programs in a content delivery network |
US20130346552A1 (en) * | 2011-02-24 | 2013-12-26 | Tencent Technology (Shenzhen) Company Limited | Download method, system, and device for mobile terminal |
US20150278353A1 (en) * | 2014-03-31 | 2015-10-01 | Linkedln Corporation | Methods and systems for surfacing content items based on impression discounting |
US20160103828A1 (en) * | 2014-10-14 | 2016-04-14 | Microsoft Technology Licensing, Llc. | Modular updating of visualizations |
CN105850142A (en) * | 2013-12-25 | 2016-08-10 | 日本电气株式会社 | Content distribution device, content distribution system, content distribution method, and program |
US9426650B2 (en) | 2014-10-31 | 2016-08-23 | Gogo Llc | Autonomous-mode content delivery and key management |
US9578104B2 (en) * | 2014-10-31 | 2017-02-21 | Gogo Llc | Resumption of play for a content-delivery session |
US20170140175A1 (en) * | 2015-11-16 | 2017-05-18 | The Boeing Company | Secure removable storage for aircraft systems |
US9781028B2 (en) | 2013-03-26 | 2017-10-03 | Panasonic Corporation | Transcoding and dynamic error correction for content centric networks using a proxy server |
US20190141116A1 (en) * | 2012-09-12 | 2019-05-09 | Fastly Inc. | Data purge distribution and coherency |
CN110471900A (en) * | 2019-07-10 | 2019-11-19 | 平安科技(深圳)有限公司 | Data processing method and terminal device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140119200A (en) * | 2011-02-11 | 2014-10-08 | 인터디지탈 패튼 홀딩스, 인크 | Method and apparatus for distribution and reception of content |
WO2012144588A1 (en) * | 2011-04-22 | 2012-10-26 | 日本電気株式会社 | Content distribution system, control device, and content distribution method |
EP2530897A1 (en) * | 2011-06-01 | 2012-12-05 | Alcatel Lucent | Content delivery architecture and method |
JPWO2013005478A1 (en) * | 2011-07-04 | 2015-02-23 | 日本電気株式会社 | Content distribution system, content arrangement determination device, content arrangement determination method, and program |
JP5459325B2 (en) * | 2012-01-19 | 2014-04-02 | 横河電機株式会社 | Cache device, cache program, and communication device |
JP2017152750A (en) * | 2014-07-01 | 2017-08-31 | シャープ株式会社 | Content transmitter |
US11016909B2 (en) | 2019-08-26 | 2021-05-25 | International Business Machines Corporation | Cache page retention based on page cost |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822759A (en) * | 1996-11-22 | 1998-10-13 | Versant Object Technology | Cache system |
US6742084B1 (en) * | 1998-05-15 | 2004-05-25 | Storage Technology Corporation | Caching method for selecting data blocks for removal from cache based on recall probability and size |
US20040139282A1 (en) * | 2002-11-05 | 2004-07-15 | Shiro Yoshioka | Apparatus and method for memory management |
US7028096B1 (en) * | 1999-09-14 | 2006-04-11 | Streaming21, Inc. | Method and apparatus for caching for streaming data |
US20070076756A1 (en) * | 2005-09-22 | 2007-04-05 | Cheuk Chan | System and method for transferring multiple data channels |
US20110238927A1 (en) * | 2008-11-21 | 2011-09-29 | Hiroyuki Hatano | Contents distribution device , contents distribution control method, contents distribution control program and cache control device |
US20120278619A1 (en) * | 2011-04-27 | 2012-11-01 | Morega Systems Inc. | Streaming video server with virtual file system and methods for use therewith |
US8683066B2 (en) * | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004145613A (en) * | 2002-10-24 | 2004-05-20 | Matsushita Electric Ind Co Ltd | Delivery system |
WO2004040908A1 (en) | 2002-10-30 | 2004-05-13 | Fujitsu Limited | Stream server |
US20050187960A1 (en) | 2002-10-30 | 2005-08-25 | Fujitsu Limited | Stream server |
JP4773770B2 (en) * | 2005-08-18 | 2011-09-14 | 株式会社リコー | Image processing system, image processing method, program, and recording medium |
-
2010
- 2010-07-22 US US13/386,332 patent/US9402058B2/en active Active
- 2010-07-22 JP JP2011523682A patent/JP5408257B2/en not_active Expired - Fee Related
- 2010-07-22 WO PCT/JP2010/062328 patent/WO2011010688A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822759A (en) * | 1996-11-22 | 1998-10-13 | Versant Object Technology | Cache system |
US6742084B1 (en) * | 1998-05-15 | 2004-05-25 | Storage Technology Corporation | Caching method for selecting data blocks for removal from cache based on recall probability and size |
US7028096B1 (en) * | 1999-09-14 | 2006-04-11 | Streaming21, Inc. | Method and apparatus for caching for streaming data |
US20040139282A1 (en) * | 2002-11-05 | 2004-07-15 | Shiro Yoshioka | Apparatus and method for memory management |
US20070076756A1 (en) * | 2005-09-22 | 2007-04-05 | Cheuk Chan | System and method for transferring multiple data channels |
US8683066B2 (en) * | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US20110238927A1 (en) * | 2008-11-21 | 2011-09-29 | Hiroyuki Hatano | Contents distribution device , contents distribution control method, contents distribution control program and cache control device |
US20120278619A1 (en) * | 2011-04-27 | 2012-11-01 | Morega Systems Inc. | Streaming video server with virtual file system and methods for use therewith |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346552A1 (en) * | 2011-02-24 | 2013-12-26 | Tencent Technology (Shenzhen) Company Limited | Download method, system, and device for mobile terminal |
US9298644B2 (en) * | 2011-03-28 | 2016-03-29 | Samsung Electronics Co., Ltd. | Method and portable device for managing memory in a data stream management system using priority information |
US20120254575A1 (en) * | 2011-03-28 | 2012-10-04 | Seung-Woo Ryu | Method and portable device for managing memory in a data stream management system |
US20130145001A1 (en) * | 2011-12-01 | 2013-06-06 | Verizon Patent And Licensing Inc. | Utility-based model for caching programs in a content delivery network |
US8954556B2 (en) * | 2011-12-01 | 2015-02-10 | Verizon Patent And Licensing Inc. | Utility-based model for caching programs in a content delivery network |
US20190141116A1 (en) * | 2012-09-12 | 2019-05-09 | Fastly Inc. | Data purge distribution and coherency |
US10594778B2 (en) * | 2012-09-12 | 2020-03-17 | Fastly Inc. | Data purge distribution and coherency |
US9781028B2 (en) | 2013-03-26 | 2017-10-03 | Panasonic Corporation | Transcoding and dynamic error correction for content centric networks using a proxy server |
US20170006079A1 (en) * | 2013-12-25 | 2017-01-05 | Nec Corporation | Content distribution device, content distribution system, content distribution method, and program |
CN105850142A (en) * | 2013-12-25 | 2016-08-10 | 日本电气株式会社 | Content distribution device, content distribution system, content distribution method, and program |
US20150278353A1 (en) * | 2014-03-31 | 2015-10-01 | Linkedln Corporation | Methods and systems for surfacing content items based on impression discounting |
US10810159B2 (en) * | 2014-10-14 | 2020-10-20 | Microsoft Technology Licensing, Llc. | Modular updating of visualizations |
US20160103828A1 (en) * | 2014-10-14 | 2016-04-14 | Microsoft Technology Licensing, Llc. | Modular updating of visualizations |
US10430382B2 (en) | 2014-10-14 | 2019-10-01 | Microsoft Technology Licensing, Llc | Data visualization architecture |
US10216750B2 (en) | 2014-10-14 | 2019-02-26 | Microsoft Technology Licensing, Llc | Annotated geometry |
US9578104B2 (en) * | 2014-10-31 | 2017-02-21 | Gogo Llc | Resumption of play for a content-delivery session |
US10235503B2 (en) | 2014-10-31 | 2019-03-19 | Gogo Llc | In-vehicle content delivery system operable in autonomous mode and non-autonomous mode |
US9426650B2 (en) | 2014-10-31 | 2016-08-23 | Gogo Llc | Autonomous-mode content delivery and key management |
US11138293B2 (en) | 2014-10-31 | 2021-10-05 | Gogo Business Aviation Llc | In-vehicle content delivery system operable in autonomous mode and non-autonomous mode |
US11847192B2 (en) | 2014-10-31 | 2023-12-19 | Gogo Business Aviation Llc | In-vehicle content delivery system operable in autonomous mode and non-autonomous mode |
US10083325B2 (en) * | 2015-11-16 | 2018-09-25 | The Boeing Company | Secure removable storage for aircraft systems |
US20170140175A1 (en) * | 2015-11-16 | 2017-05-18 | The Boeing Company | Secure removable storage for aircraft systems |
CN110471900A (en) * | 2019-07-10 | 2019-11-19 | 平安科技(深圳)有限公司 | Data processing method and terminal device |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011010688A1 (en) | 2013-01-07 |
US9402058B2 (en) | 2016-07-26 |
JP5408257B2 (en) | 2014-02-05 |
WO2011010688A1 (en) | 2011-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9402058B2 (en) | Content delivery system, content delivery method and content delivery program | |
US7028096B1 (en) | Method and apparatus for caching for streaming data | |
US10277669B1 (en) | Communication channel between device and CDN during playback | |
KR101228230B1 (en) | Methods and apparatus for self-organized caching in a content delivery network | |
KR101556453B1 (en) | A cache manager for segmented multimedia and corresponding method for cache management | |
CN104221390B (en) | Enhanced block for disposing low latency streaming asks approach system | |
US8566531B2 (en) | System and method of selectively caching information based on the interarrival time of requests for the same information | |
US9787736B2 (en) | Redirection apparatus and method | |
US11758203B2 (en) | Adaptive bitrate video cache | |
CN108322769A (en) | Streaming is asked using the enhanced block of scalable coding | |
CN110809167B (en) | Video playing method and device, electronic equipment and storage medium | |
CN114584801B (en) | Video resource caching method based on graph neural network recommendation algorithm | |
Baccour et al. | Proactive video chunks caching and processing for latency and cost minimization in edge networks | |
JP6638145B2 (en) | Network system, node device, cache method and program | |
WO2013005478A1 (en) | Content distribution system, content placement determination device, content placement determination method and program | |
CN108900874B (en) | Streaming media self-adaption request method and device based on SVC-DASH framework | |
Wu et al. | Reuse time based caching policy for video streaming | |
KR101966588B1 (en) | Method and apparatus for receiving video contents | |
KR100860076B1 (en) | Apparatus and method for the replacement of cache for streaming service in the proxy server | |
Su et al. | Stream caching using hierarchically distributed proxies with adaptive segments assignment | |
JP6721879B2 (en) | Network system, node device, cache method, and cache program | |
CN114070840A (en) | Storage method, device and storage medium | |
Hsu et al. | A dynamic cache scheme for multimedia streams on heterogeneous networking environments | |
CN116828269A (en) | Long-term code rate planning method for video transmission | |
Su et al. | Retrieve Scalable Image Contents over Image Contents Network by Efficient Caching Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TAKAHASHI, EIJI;REEL/FRAME:027574/0602 Effective date: 20111114 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |