Abstract: This disclosure pertains to a proxy server device an information processing method a program a terminal device and a content provision system that make it possible to increase response performance with respect to requests from a reception side by optimizing caching performed by a proxy server. The disclosed proxy server device is provided with the following: a monitoring unit that monitors requests for the acquisition of metafiles containing information that a terminal device needs to receive a stream of content said requests being transmitted by the terminal device to a content provision device that uses an adaptive streaming technology to deliver the aforementioned content over a network; an analysis unit that analyzes the monitored metafile acquisition requests; and a database unit that accumulates analysis results from the analysis unit. This disclosure can be applied to a system that streams content.
Description
Title of Invention
PROXY-SERVER DEVICE, INFORMATION PROCESSING METHOD, PROGRAM, TERMINAL DEVICE, AND CONTENT SUPPLYSYSTEM5
Technical Field
[0001]
The present disclosurerelates to a proxy-server device, an information processing method, a program, a terminal device, and a content supplysystem, and in 10 particular to a proxy-server device, an information processing method, a program, a terminal device, and a content supplysystem capable of efficiently executing streaming deliveryof content.
Background Art15
[0002]
As a globally standardized moving picture deliveryprotocol that can be used for moving picture deliveryover the Internet, there is known MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP, hereinbelow called DASH), which uses HTTPunicast deliverysimilar to browsing of 20 websites and the like (for example, refer to Non-Patent Literature 1).
[0003]
In DASH, adaptive streaming technology is achieved. That isto say, on the content supplyside in DASH,multiple streams are prepared as the same content in which image quality and field angle size are alteredwith respect to the 25 communication environment of the deliverypath and the capability and state of the receptionside. On the other hand, among the multiple streams that the supply side has prepared, the receptionsideselects, receivesand plays backthe optimum stream in accordance with what it is itself capable of receiving and its own decoding capability.30
[0004]3
In this way, in DASH, metadata called an MPD (Media Presentation Description) is supplied from the supply side to the reception side so that the reception side can adaptively select and receive a stream.
[0005]
The address (urlinformation) of the WEB serverthat is the supply source of 5 segment streamsof chunked content (media data such as Audio/Video/Subtitle) is describedin the MPD. The reception side, based on the urlinformation, transmits an HTTP request to the WEB serverthat is the content supply source, and receives and plays back the segment stream that the WEB server delivers over unicast in accordance with this HTTP request.10
[0006]
FIG. 1 shows an example of the constitution of a content supplysystem that deliverssegment streamsof content based on DASH.
[0007]
This content supplysystem 10 is constituted from a plurality of content 15 supplydevices 20-1 to 20-K on the side supplyingcontent and a plurality of DASH clients 30-1 to 30-N on the side receivingcontent. Hereinbelow, when there is no need to distinguish between the content supplydevices 20-1 to 20-K, they will simply be called the content supplydevice 20. The same applies to the DASH clients 30-1 to 30-N.20
[0008]
The content supplydevice 20 and the DASH client 30 are each connected to the Internet 11. A CDN (Contents Delivery Network) 12 is constructed on the Internet 11.
[0009]25
The content supplydevice 20 is one that deliversa plurality of segment streamsof the same content but different bit rates, and has a channel streamer 21, a DASH segment streamer 22, and aDASH MPD server 23.
[0010]
The channel streamer 21 controls the content source data for delivery to the 30 DASH client 30, and generates a plurality of streaming data of different bit rates 4
from the content source data and outputs themto the DASH segment streamer 22.
[0011]
The DASH segment streamer 22 temporally divides (breaks into chunks) each streaming data into segmentsto generate a segment stream. Also, the DASH segment streamer 22 files and holds the segment stream, and as a WEB server, in 5 accordance with a request (HTTP request) from the DASH client 30, deliversover HTTPunicast the file of the segment stream to the DASH client 30 that is the request source via the CDN 12. Moreover, the DASH segment streamer 22 notifies the DASH MPD server 23 ofthe supply source address of the segment stream file.
[0012]10
The DASH MPD server 23 generates an MPD containingan address or the like indicating the supply source of the segment stream file, which the DASH client 30 requires in order to acquire the segment stream file. Also, the DASH MPD server 23, as a WEB server, in accordance with a request (HTTP request) from the DASH client 30, deliversover HTTP unicastthe generated MPD to the DASH client 15 30 that is the request source via the CDN 12.
[0013]
The DASH client 30 requests the MPD from the DASH MPD server 23, and in response, receives the MPD deliveredover HTTP unicast. Moreover, the DASH client 30, based on the received MPD, requests a segment stream file from the DASH 20 segment streamer 22, and in response receives and plays back the segment stream file that is deliveredover HTTP unicast.
[0014]
Note that a proxy server 13 that caches the MPD and segment stream file deliveredover HTTP unicastvia the CND12 is provided in the CDN 12. The 25 proxy server 13, instead of the DASH MPD server 23 or the DASH segment streamer 22 as WEB servers, deliversover HTTP unicastto the request source the cached MPD or segment stream file.
Citation List30
Non-Patent Literature5
[0015]
Non-Patent Literature 1:Hirabayashi,Mitsuhiro.“Realizing Moving Image DeliveryWith No Drop-outs inan Existing Web Server.”Nikkei Electronics, March 19, 2012
5
Summary of Invention
Technical Problem
[0016]
As mentioned above, by providing the proxy server 13 on the CDN 12, it is possible to enhance the response performance with respect to requests from the 10 DASH client 30.
[0017]
However, the proxy server 13 being able to deliverthe MPD or segment stream instead of the DASH MPD server 23 or the DASH segment streamer 22 as WEB servers is limited to the case of having already cached them. That is, while it 15 is capable of promptlyresponding in the case of another DASH client 30 making a request and that which has been deliveredbeing accordingly cached, in the case of something that isnot cached having been requested, it has not been able to respond.
[0018]
The present disclosure was achieved in view of such circumstances, and 20 increases response performance with respect to requestsfrom a reception side by optimizing caching by a proxy server.
Solution to Problem
[0019]25
According to a first aspect of the present disclosure, a proxy-server device includes: a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, the request being transmitted by the terminal device to a content supply device that delivers the content over a network in accordance with adaptive streaming 30 technology; an analysis portion that analyzes the monitored request for acquisition of 6
the metafile; and a database portion that accumulates an analysis result of the analysis portion.
[0020]
The monitoring portion can additionally monitor a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply 5 device based on the metafile. The analysis portion can additionally analyzethe monitored request for acquisitionof the stream.
[0021]
The proxy-server device according to the first aspect of the present disclosurecan further include: a caching portion that caches at least one of the 10 metafile and the stream delivered over the network in accordance with a priority based on the accumulated analysis result.
[0022]
The caching portion can register or cancel registration of a policy of the caching in accordance with a request from the terminal device.15
[0023]
According to the first aspect of the present disclosure, an information processing method of a proxy-server device includes: a monitoring step of monitoring, by the proxy-server device, a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, 20 the request being transmitted by the terminal device to a content supply device that delivers the content over a network in accordance with adaptive streaming technology; and an analyzingstep of analyzing, by the proxy-server device, the monitored request for acquisition of the metafile, and accumulating the analysis result.25
[0024]
According to thefirst aspect of the present disclosure, a program causes a computer to function as: a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, the request being transmitted by the terminal device to a content supply 30 device that delivers the content over a network in accordance with adaptive 7
streaming technology; an analysis portion that analyzes the monitored request for acquisition of the metafile; and a database portion thataccumulates an analysis result of the analysis portion.
[0025]
In the first aspect of the present disclosure, a request is monitored for the 5 acquisition of a metafile containing information that a terminal device needs to receive a stream of content, therequest being transmitted by the terminal device to a content supply device that delivers content over a network in accordance with adaptive streaming technology, the monitored request for acquisition of the metafile is analyzed, and the analysis resultis accumulated.10
[0026]
According to a secondaspect of the present disclosure, a terminal device includes: a reception/playback portion that transmits a request for acquisition of a metafile containing information that the terminal device needs to receive a stream of content to a content supply device that delivers the content over a network in 15 accordance with adaptive streaming technology, receives the metafile delivered from the content supply device in accordance with the request for acquisition of the metafile, transmits a request for acquisition of a stream of the content to the content supply device based on the metafile, and receives and plays back the stream delivered from the content supply device in accordance with the request for 20 acquisition of the stream; and a registration portion that makes a request for registration of a policy of caching at least one of the metafile and the stream to a proxy-server device that by proxy performs an operation of the content supply device. The proxy-server device includes a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to 25 receive a stream of the content, the request being transmitted by the terminal device to a content supply device that delivers the content over a network in accordance with adaptive streaming technology, an analysis portion that analyzes the monitored request for acquisition of the metafile, and a database portion that accumulates an analysis result of the analysis portion.30
[0027]8
The registration portion can additionally request cancellation of registration of the policy of caching to the proxy-server device that by proxy performs an operation of the content supply device.
[0028]
The terminal device according to the secondaspect of the present disclosure5 can further include: a script requesting portion that requests from a portal server a script that performs a setting for connecting to a proxy-server that is optimal for the terminal device, and performs the setting by executing the script provided from the portal server.
[0029]10
In the secondaspect of the present disclosure, a request is made for registration of apolicy of caching of at least one of a metafile and a stream toa proxy-server device that by proxy performs an operation of thecontent supplydevice.
[0030]
According to a thirdaspect of the present disclosure, a content supply 15 system includes: a content supply device that delivers content over a network in accordance with adaptive streaming technology;a terminal device that receives and plays back a stream of the content; and a proxy-server device that is provided between the content supply device and the terminal device. The proxy-server device includes a monitoring portion that monitors a request for acquisition of a 20 metafile containing information that the terminal device needs to receive a stream of the content, the request being transmitted by the terminal device to the content supply device, an analysis portion that analyzes the monitoredrequestfor acquisition of the metafile, and a database portion that accumulates an analysis result of the analysis portion. The terminal device includes a reception/playback portion that 25 transmits the request for acquisition of the metafile to the content supply device, receives the metafile delivered from the content supply device in accordance with the request for acquisition of the metafile, transmits the request for acquisition of a stream of the content to the content supply device based on the metafile, and receives and plays back the stream delivered from the content supply device in accordance 30 with the request for acquisition of the stream, and a registration portion that makes a 9
request for registration of a policy of caching at least one of the metafileand the stream to the proxy-server device that by proxy performs an operation of the content supply device.
[0031]
In the third aspect of the present disclosure, a request is monitored for the 5 acquisition of a metafile containing information that a terminal device needs to receive astream of content, the request being transmitted by the terminal device to a content supplydevice that delivers content over a network in accordance with adaptive streaming technology;the monitored request for acquisition ofthe metafile is analyzed;and the analysis result is accumulated, by a proxy-server device.Also, 10 a request is made for registration of a policy of caching of at least one of a metafile and a stream to a proxy-server device that by proxy performs an operation of thecontent supplydevice.
Advantageous Effects of Invention15
[0032]
According to the first aspect of the presentdisclosure,it is possible to optimize caching and it is possible to increase response performance with respect to requests from a reception side.
[0033]20
According to the second aspect of the present disclosure, it is possible to optimize caching by a proxy server.
[0034]
According to the third aspect of the present disclosure, it is possible to quickly deliver a stream to a reception side.25
Brief Description of Drawings
[0035]
[FIG. 1] FIG. 1 isa block drawing that shows an example of the configuration of a conventional content supplysystem.30
[FIG. 2] FIG.2 is a block drawing that shows a configuration example of a content 10
supplysystem applyingthe present disclosure.
[FIG. 3] FIG.3 is a block drawing that shows a configuration example of an optimizingproxy server.
[FIG. 4] FIG.4 is a flowchart that illustrates processing of the content supplydevice.
[FIG. 5] FIG.5 is a flowchart that illustrates request analysis processing by the 5 content supplysystem.
[FIG. 6] FIG.6 is a flowchart that illustrates multicast precache processing by the content supplysystem.
[FIG. 7] FIG.7 is a flowchart that illustrates unicast precache processing by the content supplysystem.10
[FIG. 8] FIG.8 is a flowchart that illustrates script provision processing by the content supplysystem.
[FIG. 9] FIG.9 is a block drawing that shows a configuration example of a computer.
Description of Embodiments15
[0036]
Hereinafter, a best mode (hereinafter called embodiment) for carrying out the present disclosure will be described.
[0037]
Configuration Example of Content SupplySystem20
FIG. 6 shows a configuration example of the content supplysystem that is an embodiment of the present disclosure.
[0038]
This content supplysystem 50 is constituted from a plurality of content supplydevices 60-1 to 60-K, a CDN 72 constructed on a network 71, and a plurality 25 of terminal devices 80-1 to 80-N. The content supplydevices 60-1 to 60-K and the terminal devices 80-1 to 80-N are connected to the network 71.
[0039]
Hereinbelow, when there is no need to distinguish between the content supplydevices 60-1 to 60-K, they will simply be called the content supplydevice 60. 30 The same applies to the terminal devices 80-1 to 80-N.11
[0040]
The content supplydevice 60is provided with a channel streamer 61, a DASH segmenter 62, a FLUTE streamer 63, an MPD generator 64, a WEB server65, and a multicast server 66.
[0041]5
Note that the channel streamer 61 and the multicast server 66 that the content supplydevice 60 has may be arranged integrally, or may be arranged distributed over the Internet or the like.
[0042]
The channel streamer 61 controls the source data of content for delivery to 10 the terminal device 80, and generates a plurality of streaming data of differing bit rates from source data of the same content. Moreover, the channel streamer 61 outputs the generated streaming data to the DASH segmenter 62.
[0043]
The DASH segmenter 62, by dividing the streaming data temporally into 15 periods, and further splitting it into segments, generates a segment streamsuch as fragmentedMP4 and outputs it to the WEB server65 and the FLUTE streamer 63. Moreover, the DASH segmenter 62 notifies the MPD generator 64 of metadata including the address information of the WEB server65 that becomes the supplysource of the file of the generated segment stream.20
[0044]
The MPD generator 64generates anMPD required for the terminal device 80 to receive the segment stream, and outputs it to the FLUTE streamer 63 and the WEB server65.
[0045]25
The FLUTE streamer 63, by storing in FLUTE packets the segment stream inputted from the DASH segmenter 62,generates a FLUTE stream and outputs it to the multicast server 66.Also, the FLUTE streamer 63 outputs the MPD inputted from the MPD generator 64 to the multicast server 66.
[0046]30
The WEB server65,in accordance with the MPD acquisition request12
(HTTP request) from the terminal device 80, delivers overHTTP unicastthe MPD inputted from the MPD generator 64 via the CDN 72 to the terminal device 80 that is the request source.Moreover, the WEB server65, in accordance with the segment-streamacquisition request (HTTP request) from the terminal device 80,delivers over HTTP unicastthe file of the segment streaminputted from the DASH segmenter 62 5 via the CDN 72 to the terminal device 80 that is the request source.
[0047]
The multicast server 66delivers over FLUTE multicast the MPD from the FLUTE streamer 63 via the CDN72.Also, the multicast server 66 delivers overFLUTE multicast the FLUTE stream from the FLUTE streamer 63 via the CDN 72.10 In addition, for example USD of (e)MBMS, OMA-ESG, and the like,are used for the dissemination of portal channelsof FLUTE multicast delivery.
[0048]
The network 71 includes a two-way communication networkrepresented by the Internet, a one-way communication network such as a terrestrial broadcasting 15 network or a satellite broadcasting network,and a portable telephone communication networksuch as e-MBMS having an interaction channel performing two-way communication and a broadcast/multicast channel performingone-way communication.
[0049]20
The CDN 72 is constructed on the network 71. A plurality of optimizingproxy servers 73, MPD portal servers 74, and script servers 75 are provided in the CDN 72.Moreover, although its graphic display is omitted, a conventional proxy server 13 may exist in the CDN 72.
[0050]25
The optimizingproxy server 73, by monitoring and analyzingMPD acquisition requests and segment-streamacquisition requests from the terminal device 80, infers the receiving ability, decoding ability, user preferences, state and the like of the terminal device 80 that is connected to it, and turns theminto a database as statistical information (referred to below as request analysis processing).30
[0051]13
Also, the optimizingproxy server 73, by monitoring metadata (such as OMA-ESG and the like) in which the content of the MPD and FLUTE stream delivered over multicast via the CDN 72 are described and collating with its own database, judges whether or not theirpriority is high (the possibility of anacquisition request henceforth transmitted from the terminal device 80 that is connected to it5 being high). Then it caches the MPD or FLUTE stream with a high priority (referred to below as multicast precache processing).
[0052]
Also, the optimizing proxy server 73, by monitoring the MPD and the segment stream delivered over unicastvia the CDN 72 and collating with its own 10 database, determineswhether or not they are of a highpriority. Then, it caches the MPD and segment stream with a high priority (referred to below as unicast cache processing).
[0053]
Moreover, the optimizing proxy server 73 can search for and specify the15 MPDs and segment streams with a high priority from the MPD portal server 74, request from the content supplydevice 60 the specified MPDs and segment streams and cache those that are delivered over HTTP unicastin response.
[0054]
Also furthermore, the optimizing proxy server 73, based on control from the 20 terminal device 80,registers and cancels registration ofthe policiesof multicast precache processing and unicast precache processing (referred to below as precachingpolicy registration processing).
[0055]
The MPD portal server 74 accesses the content supplydevices 60 existing in 25 a plurality and searches for MPD and segment streams satisfying predetermined conditions.
[0056]
The script server 75, in accordance with a request from the terminal device 80, provides a script for preferential connectionto the optimizing server 73 that is 30 optimal for the terminal device 80 (for example, whether it is located in the nearest 14
vicinity, and whether the terminal device 80 in the case of not being able to receive multicast delivery is capable of reception not havingit) (script provision processing).
[0057]
The terminal device 80 is equipped with a reception/playbackportion 81, a registrationportion 82, and a script requesting portion 83.The reception/playback 5 portion81 acquires an MPD, and based on the MPD receives and plays backa segment stream and FLUTE stream. The registrationportion 82 executes the process of registering or cancelling the registration ofa precachingpolicy of precache processing in the optimizing proxy server 73. The script requesting portion 83 requests from the script server 75 a script for automatically connecting to 10 the optimizing proxy server 73 that is optimal for itself (for example, one that is located in the nearest vicinity, one that can receive a broadcasting network that itself cannot receive).
[0058]
Detailed Configuration Example of the Optimizing Proxy Server 7315
Next, FIG. 3 shows a detailed configuration example of the optimizing proxy server 73.
[0059]
The optimizing proxy server 73 is provided with a by-proxy monitoring portion 91, a holding portion 92, an analysis portion 93, an analysis-result database 20 94, and a tuner portion 95.
[0060]
The by-proxy monitoring portion 91 monitors MPD acquisition requests and segment-stream acquisition requests from the terminal device 80, and in the case of the requested MPD or segment stream being cached in the holding portion 92, reads 25 it out from the holding portion 92and delivers it over unicast to the request source. Also, the by-proxy monitoring portion 91 outputs to the analysis portion 93 the MPD acquisition requests and segment-stream acquisition requests that have been monitored. Moreover, the by-proxy monitoring portion 91 performs monitoring of MPDs and segment streams that are delivered over HTTPunicast and outputs them 30 to the analysis portion 93.15
[0061]
The holding portion 92holds(caches) MPDs and segment streams input from the analysis portion 93 and judged as being of high priority. Also, the holding portion 92holds MPDs and FLUTE streams judged as being of high priority that are input from the precachingportion 95.5
[0062]
The analysis portion 93 analyzes monitored MPD acquisition requests and segment-stream acquisition requests. Specifically, the URL of the MPD, the profile information described in the MPD/@profile, the maximum value of the segment size (the value of @duration or the value of @maxSegmentDuration, 10 @maxSubSegmentDuration), the content of the metadata describing content looked up by ProgramInformation (in particular, retrieving and analyzingthe title, outline, genre andthe like of content as processing load allows and accumulating themas preference information), the content of schema looked up by Role and the content of accessibility schema looked up by Accessibility (for example, in the case of the 15 presence of a segment acquisition request for a stream including a voice guidebeing monitored, it is possible to infer the user’s preference for a voice stream, degree of disability, and the like), the type of language described in @lang, the rating information looked up by Rating, the distribution of @bandwidth, the information of vertical and horizontal pixel numbers expressed by the combination of @width and 20 @height, sampling rate information described in @audioSamplingRate, codec type described in @codec, audio channel configuration information looked up by audioChannelConfiguration, reading out the type of DRM looked up by contentProtection, and causingthese contents to be held as statistical information linked to acquisition request frequency in the analysis-result database 94.25
[0063]
Moreover, the analysis portion 93 judges the priority of the MPD and segment stream input from the by-proxy monitoring portion 91 and monitoredfrom HTTP unicastdelivery, and causesthose with a high priorityto be heldin the holding portion 92. Also, the analysis portion 93 judges the priority of the MPD and 30 FLUTE stream input from the tuner portion 95 and delivered over FLUTE multicast 16
and causesthose with a high priorityto be heldin the holding portion 92.
[0064]
The analysis-result database 94 holdsclock information of the analysis result inputted from the analysis portion 93.
[0065]5
The tuner portion 95 receives MPDs and FLUTE streams delivered over FLUTE multicastand their metadata, and outputs them to the analysis portion 93.
[0066]
Operation of Content SupplySystem 50
Next, the operation of the content supplysystem 50 will be described.10
[0067]
Description of Content Delivery Processing
FIG. 4 is a flowchart that describescontent delivery processing by the content supplydevice 60.
[0068]15
In Step S1, the channel streamer 61 generates a plurality of streaming data of different bit rates from the content source data, and outputs them to the DASH segment 62 and the WEB server65.
[0069]
In Step S2, the DASH segmenter 62 generates a segment stream such as 20 fragmented MP4from the streaming data and outputs it to the FLUTE streamer 63 and the WEB server65. Also, the DASH segmenter 62 notifies the MPD generator 64 of the URL of the supplysource of the generated segment stream.
[0070]
In Step S3, the FLUTE streamer 63 generates a FLUTE stream by storing 25 the segment stream in a FLUTE packet and outputs it to the multicast server 66. In Step S4, the MPD generator 64 generates an MPD and outputs it to the FLUTE streamer 63 and the WEB server65.
[0071]
In Step S5, the FLUTE streamer 63 outputs the MPD to the multicast server 30 66. The multicast server 66 distributes the MPD over FLUTE multicast via the 17
CDN 72.
[0072]
In Step S6, the WEB server65, in thecase of there being an MPD acquisition request(HTTP request) from the terminal device 80, delivers over HTTP unicastthe MPD via the CDN 72 in response.5
[0073]
In Step S7, the multicast server 66 delivers the FLUTE stream over FLUTE multicast via the CDN 72. In Step S8, the WEB server65, in thecase of there being a segment stream acquisition request (HTTP request) from the terminal device 80, delivers the segment stream over HTTPunicast to the request source via the 10 CDN 72. This concludes the description of the content supplyprocessing by the content supplydevice 60.
[0074]
Description of Request Analysis Processing
Next, FIG. 5 is a flowchart that describes the request analysis processing by 15 the optimizing proxy server 73.
[0075]
When the terminal device 80 transmits an MPD acquisition requestto the WEB server65 via the CDN 82as Step S11, in Step S21 the by-proxy monitoring portion 91 of the optimizing proxy server 73 monitors the MPD acquisition request20 and outputs it to the analysis portion 93. In Step S22, the analysis portion 93 analyzes the MPD acquisition request, and records the result in the analysis-resultdatabase94.
[0076]
Note that in the case of the MPD corresponding to the MPD acquisition 25 requestmonitored in Step S21 being already cached in the holding portion 92, the by-proxy monitoring portion 91 reads out the MPD from the holding portion 92and delivers it over HTTTP unicastto the request source. FIG.5 is an example of the case of the MPD not having been cached, and in this case, as Step S6 of the content supplyprocessing described above, the WEB server65 delivers over HTTP unicast30 to the request source the MPD corresponding to the MPD acquisition requestvia the 18
CDN 72.
[0077]
The MPD that is delivered over HTTP unicastis received by the terminal device 80 as Step S12. When the terminal device 80 transmits to the WEB server65 via the CDN 82 the segment-stream acquisition requestbased on the MPDas Step 5 S13, in Step S23, the by-proxy monitoring portion 91 monitors the segment-stream acquisition request and outputs it to the analysis portion 93. In Step S24, the analysis portion 93 analyzes the segment-stream acquisition request and records the result in the analysis-result database 94.
[0078]10
Note that in the case of the holding portion 92having already cached the segment stream corresponding to the segment-stream acquisition request monitoredin Step S23, the by-proxy monitoring portion 91 reads out the segment stream from the holding portion 92and delivers it over HTTTP unicastto the requestsource. FIG. 5 is an example of the case of the segment stream not having been cached, and 15 in this case, as Step S8 of the content supplyprocessing described above, the WEB server65 delivers over HTTP unicastto the request source the segment stream corresponding to the segment-stream acquisition requestvia the CDN 72.
[0079]
The segment stream delivered over HTTP unicastis received and played 20 backby the terminal device 80 as Step S14. This concludes therequest analysis processing.
[0080]
By the request analysis processing described above, it is possible to accumulate statistical information relating to the receiving ability, decoding ability, 25 user preferences, and stateof the terminal device 80in the analysis-result database 94 of the optimizing proxy server 73.
[0081]
Description of Multicast PrecacheProcessing
Next, FIG. 6 is a flowchart that describes multicast precache processing by 30 the optimizing proxy server 73.19
[0082]
When the multicast server 66 of the content supplydevice 60 delivers over FLUTE multicastan MPDas Step S5 of the content supplyprocessing described above, in Step S31, the tuner portion 95 of the optimizing proxy server 73 receives the MPD and outputs it to the analysis portion 93. The analysis portion 93 refers to 5 the analysis-result database 94, and in the case of the MPD being one with a high priority, causes it to be cachedinthe holding portion 92.
[0083]
Similarly, when the multicast server 66 of the content supplydevice 60 delivers over FLUTE multicasta FLUTE streamas Step S7 of the content supply10 processing described above, in Step S32, the tuner portion 95 receives the FLUTE stream and outputs it to the analysis portion 93. The analysis portion 93 refers to the analysis-result database 94, and in the case of the FLUTE stream being one with a high priority, causes itto be cachedto the holding portion 92. This concludes the multicast precache processing.15
[0084]
With the multicast precache processing described above, it is possible to cache an MPD and FLUTE stream with a high priority in the holding portion 92. Note that when supplyinga cached MPD or FLUTE stream to the terminal device 80, it is made tobe delivered over unicast. Accordingly, for example even in the case 20 of the terminal device 80 not having the capability to receive a FLUTE stream, it is possible to supplythem to the terminal device 80.
[0085]
Description of Unicast Precache Processing
Next, FIG. 7 is a flowchartthat describes unicast precache processing by the 25 optimizing proxy server 73.
[0086]
When the terminal device 80 transmits an MPD acquisition requestas Step S41, the WEB server65 delivers over HTTP unicastan MPD correspondingto the MPD acquisition requestas Step S6 of the content supplyprocessing described 30 above, and the terminal device 80 receives the MPD delivered over HTTP unicastas 20
Step S42.
[0087]
As Step S51, the by-proxy monitoring portion 91 of the optimizing proxy server 73 monitors this MPD delivered over HTTP unicastand outputs it to the analysis portion 93. The analysis portion 93 judges the priority of the MPDs 5 delivered over HTTP unicast, and causesthose with a high priorityto be heldin the holding portion 92. Note that regarding the MPD acquisition requestthat the terminal device 80 has transmitted, it is monitored and analyzed, and as request analysis processing the result is accumulated in the analysis-result database 94 as described above.10
[0088]
When the terminal device 80 transmits a segment-stream acquisition requestbased on the received MPD as Step S43, the WEB server65 delivers over HTTP unicastthe segment stream corresponding to the segment-stream acquisition requestas Step S8 of the content supplyprocess described above, and the terminal device 80 15 receives and plays backthe segment stream delivered over HTTP unicastas Step S42.
[0089]
As Step S52, the by-proxy monitoring portion 91 of the optimizing proxy server 73 monitors this segment stream delivered over HTTP unicastand outputs it to the analysis portion 93. The analysis portion 93 judges the priority of the segment 20 streams delivered over HTTP unicast, and causesthose with a high priorityto be heldin the holding portion 92. Note that regarding the segment-stream acquisition requestthat the terminal device 80 has transmitted, it is monitored and analyzed, and the result is accumulated in the analysis-result database 94 as described above asrequest analysis processing.25
[0090]
By the unicast precache processing described above, it is possible to cache MPDs and segment streams having a high priority in the holding portion 92. Accordingly, in the case of them being requested from the terminal device 80, it is possible to deliver them to the request source faster than by delivery over unicast.30
[0091]21
Description of Script Provision Processing
Next, FIG. 8 is a flowchart that describes the script provision processing.
[0092]
In Step S61, when the script requesting portion 83 ofthe terminal device 80, using WPAD (Web Proxy Auto-Discover Protocol) or the like, transmits to the CDN 5 72 a request for a PAC (Proxy Auto-Config) script that performs a setting to be able to preferentially connect to the optimizing proxy server 72 that is optimal for itself, this request is received by the script server 75.
[0093]
In Step S71, the script server 75 specifies the optimizing proxy server 73 10 optimal for the terminal device 80 that transmitted the PAC script request, and provides to the request source a script that performs a settingto connect by the terminal device 80 to the optimizing proxy server 73.
[0094]
In Step S72, the script server 75, the script requesting portion 83 of the 15 terminal device 80 executes the provided script. Thereby,the setting to be able to preferentially connect to the optimizing proxy server 73 that is optimal for the terminal device 80 is performed. This concludes the script provision processing.
[0095]
According to the script request processing described above, among the 20 optimizing proxy servers 73 that exist in a plurality in the CDN 72, the terminaldevice 80 is able to automatically perform a setting to be able to preferentially connect to that which is optimal for itself.
[0096]
Description of PrecachingPolicy Registration Processing25
Next, the process of registering or cancelling the registrationofa precachingpolicy by control from the terminal device 80 side will be described.
[0097]
In the case of registering a precachingpolicy, the registration portion 82 of the terminal device 80, using an API (Application Program Interface) that the 30 optimizing proxy server 73provides, designates for example an API such as the 22
following in a server-side script that controls registration of a precachingpolicy by the optimizing proxy server 73.
http://dashProxy.a.com/precacheManager/subscribe?codec=”urn:b.com:codecType:avc”&rating=”urn: c.com:ratingLevel:PG-13”&priority=1
[0098]5
http://dashProxy.a.com/precacheManager/subscribe in the above API showsthe address of the server-side script address in the optimizing proxy server 73. The subsequent “urn:b.com:codecType:avc”&rating=”urn: c.com:ratingLevel:PG-13”&priority=1” arethe API parameterspassed to the server-side script.
[0099]10
The aforementioned API parameterexample, in which the type of codec statedin the MPD that is the target of precaching(or described in the metadata of a stream referred to from the MPD) is the codec specified by “urn:a.com:codecType:avc”,which is the codec dictionary item uri, and the type of rating is the rating level specified by “urn: c.com:ratingLevel:PG-13,” which is the15 rating dictionaryitem uri, is one that designates the precachingpriority of an MPD describing a stream satisfyingthese two conditions to priority = 1 (thesmaller the number thehigher the priority).
[0100]
Below is another example of an API designated for a server side script that 20 controls the addition of statistical information by the optimizing proxy server 73.
http://dashProxy.a.com/precacheManager/subscribe?genre=”urn:b.com:genre:sports” &priority=2
[0101]
The API parameter in the above API, in whichthe type of genre statedin the 25 MPD that is the target of precaching (or described in the metadata of a stream referred to from the MPD) is designated by “urn:b.com:genre:sports”,which is the genre dictionary item uri, is one thatdesignatesthe precaching priority to priority=2.
[0102]
In the case of cancelling registration of a precaching policy, making use of30 the API that the optimizing proxy server 73 provides, the registration portion 82 of 23
the terminal device 80 designates for example an API such as the following in a server-side script that controls deletion of a precachingpolicybythe optimizing proxy server 73.
http://dashProxy.a.com/precacheManager/unsubscribe?genre=”urn:b.com:genre:sports”5
[0103]
The API parameter in the above API is one that cancels the registration from precaching candidates of an MPD in which the genre is described, the type of genre being designated by “urn:b.com:genre:sports”,which is the genre dictionary item uri.
[0104]10
According to the precaching policy registration or registration cancelling processing described above, it is possible to perform registrationandcancelation ofthe registration of a precaching policy by direct control from the terminal device 80 side, and not just withstatistical information that is accumulated in the analysis-result database 94. Note that which ofthe priority based on the statistical 15 information of the analysis-result database 94 or the priority registered by direct control from the terminal device 80 side is made the final priority of the precache processing can be defined by a database configuration parameter (or an API that sets it).
[0105]20
In the above manner, in the embodiment, by providing the optimizing proxy server 73in the CDN 72, it is possible to increase the response performance with respect to requests from the terminal device 80.
[0106]
The content supply device 60 that executes a series of processes described 25 above and the terminal device 80 can be realized by a computer executing software, in addition to constituting them with hardware. A computer built with special-purpose hardware, or for example a general-purpose personal computer or the like capable of executing various functions by installing various programs are included in such acomputer.30
[0107]24
FIG. 9 is a block drawing that shows a configuration example of hardware of the aforementioned computer.
[0108]
In this computer 200, aCPU (Central Processing Unit) 201, ROM (Read Only Memory) 202,andRAM (Random Access Memory) 203 are connected to each 5 other by a bus 204.
[0109]
An input/output interface 205 is alsoconnected to the bus 204. An input portion 206, an output portion207, a storage portion 208, a communication portion 209, and a drive 210 are connected to the input/output interface 205.10
[0110]
The input portion 206 includesa keyboard, a mouse, a microphone or the like. The output portion 207 includesa display, a speaker, or the like. The storage portion 208 includesa hard disk,anon-volatile memory, or the like. The communication portion 209 includesa network interface or the like. The drive 210 15 drives a removable media 211 such as a magnetic disk, an optical disk, a magnetic-optical disk, or a semiconductor memory.
[0111]
In the computer 200 that is constituted in the above manner, the CPU 201 loads and executes a program stored in the storage portion 208 via the input/output 20 interface 205 and the bus 204, whereby the aforementioned series of processesare performed.
[0112]
The program that the computer 200 (CPU 201) executes may be provided by being recorded for example on the removable media 211 such as a package media. 25 Alternatively, the program may be provided via a wired or wireless transmission medium such as a local area network, the Internet, and a digital satellite broadcast.
[0113]
The program may be installed in the storage portion 208 via the input/output interface 205 by loading the removable media 211 in the drive 210. Also, the30 program can be received by the communication portion 209 via a wired or wireless 25
transmission medium and installed in the storage portion 208. In addition, the program can also be installed in advance in the ROM 202 or the storage portion 208.
[0114]
The program executed by the computer 200 may be a program in which the processing is performed in chronological order in the sequence described in the 5 present specification, or a program in which the processing is performed in parallel or at a required timing, such as when called.
[0115]
An embodiment of the present disclosure isnot limited to the above embodiment, and may assume various alterations within the scope of the present 10 disclosure.
[0116]
Additionally, the present technology may also be configured as below.
(1)
A proxy-server device including:15
a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, the request being transmitted by the terminaldevice to a content supply device that delivers the content over a network in accordance with adaptive streaming technology;20
an analysis portion that analyzes the monitored request for acquisition of the metafile; and
a database portion that accumulatesan analysis result of the analysis portion.
(2)
The proxy-server device according to (1),25
wherein the monitoring portion additionally monitors a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply device based on the metafile, and
wherein the analysis portion additionally analyzes the monitored request for acquisition of the stream.30
(3)26
The proxy-server device according to (1) or (2), further including:
a caching portion that caches at least one of the metafile and the stream delivered over the network in accordance with a priority based on the accumulated analysis result.
(4)5
The proxy-server device according to (3),
wherein the caching portion registers or cancels registration of a policy of the caching in accordance with a request from the terminal device.
Reference Signs List10
[0117]
50content supply system
60content supply device
61channel streamer
62DASH segmenter15
63FLUTE streamer
64MPD generator
65WEB server
66multicast server
71network20
72CDN
73optimizing proxy server
74MPD portable server
75script server
80terminal device25
81reception/playback portion
82registration portion
83script requesting portion
200computer
201CPU30 27
CLAIMS
Claim 1
A proxy server device comprising:
a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, 5 the request being transmitted by the terminal device to a content supply device that delivers the content over a network in accordance with adaptive streaming technology, and monitors a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply device based on the metafile;
an analysis portion that analyzes the monitoredrequest for acquisition of the 10 metafileand request for acquisitionof a stream of the content;
a database portion that accumulates an analysis result of the analysis portion; and
a caching portion that caches at least oneof the metafile and the stream delivered over multicast over the network in accordance with a priority based on the 15 accumulated analysis result.
Claim 2
The proxy server device according to claim 1,
wherein the caching portion registers or cancels registration of a policy of 20 the caching in accordance with a request from the terminal device, and caches at least one of the metafile and the stream delivered over multicast over the network in accordance with also the registered policy of the caching.
Claim325
An information processing method of a proxy server device, the information processing method comprising:
a monitoring step of monitoring, by the proxy server device, a request for acquisition of a metafile containing information that a terminal deviceneeds to receive a stream of content, the request being transmitted by the terminal device to a 30 content supply device that delivers the content over a network in accordance with 28
adaptive streaming technology, and monitoring a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply device based on the metafile;
an analyzing step of analyzing, by the proxy server device, the monitored request for acquisition of the metafileand request for acquisitionof a stream of the 5 content, and accumulating the analysis result; and
a caching step of caching, by the proxy server device, at least one of the metafile and the stream delivered over multicast over the network in accordance with a priority based on theaccumulated analysis result.
10
Claim 4
A program that causes a computer to function as:
a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of content, the request being transmitted by the terminal device to a content supply device that 15 delivers the content over a network in accordance with adaptive streaming technology, and monitors a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply device based on the metafile;
an analysis portion that analyzes the monitored request for acquisition of the metafileand request for acquisitionof a stream of the content;20
a database portion that accumulates an analysis result of the analysis portion; and
a caching portion that caches at least one of the metafile and the stream delivered over multicast over the network in accordance with a priority based on the accumulated analysis result.25
Claim 5
A terminal device comprising:
a reception/playback portion that transmits a request for acquisition of a metafile containing information that the terminal device needs to receive a stream of 30 content to a content supply device that delivers the content over a network in 29
accordance with adaptive streaming technology, receives the metafile delivered from the content supply device in accordance with the request for acquisition of the metafile, transmits a request for acquisition of a stream of the content to the content supply device based on the metafile, and receives and plays back the stream delivered from the content supply device in accordance with the request for 5 acquisition of the stream; and
a registration portion that makes a request for registration of a policy of caching at least one of the metafile and the stream to a proxy server device that by proxy performs an operation of the content supply device,
wherein the proxy server device includes10
a monitoring portion that monitors a request for acquisition of a metafile containing information that a terminal device needs to receive a stream of the content, the request being transmitted by the terminal device to a content supply device that delivers the content over a network in accordance with adaptive streaming technology, and monitors a request for acquisition of a stream of the content that the 15 terminal device has transmitted to the content supply device based on the metafiles,
an analysis portion that analyzes the monitored request for acquisition of the metafileand request for acquisitionof a stream of the content,
a database portion that accumulates an analysis result of the analysis portion, and20
a caching portion that caches at least one of the metafile and the stream delivered over multicast over the network in accordance with a priority based on the accumulated analysis result and the registered policyof the caching.
Claim 625
The terminal device according to claim 5,
wherein the registration portion additionally requests cancellation of registration of the policy of caching to the proxy-server device that by proxy performs an operation of the content supply device.
30 30
Claim 7
The terminal device according to claim 6, further comprising:
a script requesting portion that requests from a portal server a script that performs a setting for connecting to a proxy-server that is optimal for the terminal device, and performs the setting by executing the script provided from the portal 5 server.
Claim 8
A content supply system comprising:
a content supply device that delivers content over a network in accordance 10 with adaptive streaming technology;
a terminal device that receives and plays back a stream of the content; and
a proxy server device that is provided between the content supply device and the terminaldevice,
wherein the proxy server device includes15
a monitoring portion that monitors a request for acquisition of a metafile containing information that the terminal device needs to receive a stream of the content, the request being transmitted by the terminal device to the content supply device, and monitors a request for acquisition of a stream of the content that the terminal device has transmitted to the content supply device based on the metafile,20
an analysis portion that analyzes the monitored request for acquisition of the metafileand request for acquisitionof a stream of the content,
a database portion that accumulates an analysis result of the analysis portion, and
a caching portion that caches at least one of the metafile and the stream 25 delivered over multicast over the network in accordance with a priority based on the accumulated analysis resultand the registered policyof the caching, and
wherein the terminal device includes
a reception/playback portion that transmits the request for acquisition of the metafile to the content supply device, receives the metafile delivered from the 30 content supply device in accordance with the request for acquisition of the metafile, 31
transmits the request for acquisition of a stream of the content to the content supply device based on the metafile, and receives and plays back the stream delivered from the content supply device in accordance with the request for acquisition of the stream, and
a registration portion that makes a request for registration of apolicy of 5 caching at least one of the metafile and the stream to the proxy server device that by proxy performs an operation of the content supply device.
| # | Name | Date |
|---|---|---|
| 1 | Form 5 [18-02-2016(online)].pdf | 2016-02-18 |
| 2 | Form 3 [18-02-2016(online)].pdf | 2016-02-18 |
| 3 | Drawing [18-02-2016(online)].pdf | 2016-02-18 |
| 4 | Description(Complete) [18-02-2016(online)].pdf | 2016-02-18 |
| 5 | Form 3 [20-06-2016(online)].pdf | 2016-06-20 |
| 6 | 201627005676-FORM 18 [17-08-2017(online)].pdf | 2017-08-17 |
| 7 | 201627005676.pdf | 2018-08-11 |
| 8 | 201627005676-Power of Attorney-240216.pdf | 2018-08-11 |
| 9 | 201627005676-PCT Priority Document Notification-240216.pdf | 2018-08-11 |
| 10 | 201627005676-Form 1-240216.pdf | 2018-08-11 |
| 11 | 201627005676-English Translation-240216.pdf | 2018-08-11 |
| 12 | 201627005676-Correspondence-240216.pdf | 2018-08-11 |
| 13 | 201627005676-FER.pdf | 2020-06-04 |
| 14 | 201627005676-OTHERS [30-11-2020(online)].pdf | 2020-11-30 |
| 15 | 201627005676-FER_SER_REPLY [30-11-2020(online)].pdf | 2020-11-30 |
| 16 | 201627005676-COMPLETE SPECIFICATION [30-11-2020(online)].pdf | 2020-11-30 |
| 17 | 201627005676-CLAIMS [30-11-2020(online)].pdf | 2020-11-30 |
| 18 | 201627005676-ABSTRACT [30-11-2020(online)].pdf | 2020-11-30 |
| 19 | 201627005676-Written submissions and relevant documents [01-03-2021(online)].pdf | 2021-03-01 |
| 20 | 201627005676-FORM 3 [19-07-2021(online)].pdf | 2021-07-19 |
| 21 | 201627005676-FORM 3 [31-01-2022(online)].pdf | 2022-01-31 |
| 22 | 201627005676-FORM 3 [02-08-2022(online)].pdf | 2022-08-02 |
| 23 | 201627005676-FORM 3 [28-02-2023(online)].pdf | 2023-02-28 |
| 24 | 201627005676-FORM 3 [17-07-2023(online)].pdf | 2023-07-17 |
| 25 | 201627005676-US(14)-HearingNotice-(HearingDate-07-11-2023).pdf | 2023-10-05 |
| 26 | 201627005676-Correspondence to notify the Controller [03-11-2023(online)].pdf | 2023-11-03 |
| 27 | 201627005676-Written submissions and relevant documents [21-11-2023(online)].pdf | 2023-11-21 |
| 28 | 201627005676-Response to office action [08-12-2023(online)].pdf | 2023-12-08 |
| 29 | 201627005676-PETITION UNDER RULE 137 [08-12-2023(online)].pdf | 2023-12-08 |
| 30 | 201627005676-PatentCertificate11-12-2023.pdf | 2023-12-11 |
| 31 | 201627005676-IntimationOfGrant11-12-2023.pdf | 2023-12-11 |
| 1 | 201627005676E_27-05-2020.pdf |