Patent Publication Number: US-8990419-B2

Title: Information processing apparatus and method therefor

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to information processing of transmitting multimedia contents through a computer network. 
     2. Description of the Related Art 
     Conventionally, RFC 3986 released by the Internet Engineering Task Force (IETF) defines a method of describing a uniform resource identifier (URI) for identifying a resource such as a file on a network. According to this definition, the user of a URI can express a subordinate resource such as partial data of a main resource by adding a description called a fragment identifier as part of the URI. 
     Furthermore, the World Wide Web Consortium (W3C) is developing the specifications of a media fragment URI representing, with a fragment identifier, data obtained by fragmenting a multimedia content such as a moving picture in terms of a time, coordinate, or track type (image, audio, subtitles, and the like). According to the specifications, when acquiring a moving picture from an apparatus for distributing a moving picture, a terminal apparatus for playing back a moving picture or the like can designate part of the moving picture as an acquisition target using a URI including a fragment identifier. 
     If a resource to be acquired is on a Web server, hypertext transfer protocol (HTTP)/1.1 defined as a communication protocol in RFC 2068 is often used. 
     On the other hand, if a surveillance camera connected to a network has a small storage capacity for data storage, it segments recorded video data by a predetermined data size or a predetermined time interval, and uploads the segmented recorded video data as separate files to a server used for data storage. If the server used for data storage has a Web server function, the user of the surveillance camera uses a Web browser to issue a request to transmit the stored files as video contents. 
     Furthermore, video data of a specific location or event, which have been shot by a plurality of cameras, are often uploaded as separate files to a storage service provided as a cloud service. If the storage service has a Web server function, the user of the service uses a Web browser to issue a request to transmit the stored files as video contents. 
     If, however, a request range of a video content is designated by a media fragment URI description, that is, segment data of a video content is requested, data for the request range may not exist in the video content. In the above surveillance camera example or storage service example, segment data for the request range exist not in a file (to be referred to as a designated file hereinafter) designated by a media fragment URI but in a different file. 
     Even if the segment data for the request range exists, if it is in another file, the Web server cannot identify the relation between the designated file and the other file, and thus cannot specify the segment data. Consequently, the Web server cannot acquire the segment data for the request range from the video content of the designated file, and thus replies an error message to the Web browser, or supplies the whole video content of the designated file to a client on which the Web browser operates in order to delegate subsequent processing to the Web browser. In other words, the Web browser cannot acquire the data even though the segment data for the request range exists in the Web server. 
     SUMMARY OF THE INVENTION 
     In one aspect, an information processing apparatus comprising: a generator configured to generate a table in which content information for a plurality of digital contents stored in a memory and a relation between the plurality of digital contents are registered; a receiver configured to receive a request message indicating a content identifier and a data range of a requested digital content; a determiner configured to perform a first determination regarding presence of a digital content corresponding the requested digital content based on the table and the content identifier indicated by the request message and a second determination regarding the data range based on the table and the data range indicated by the request message; a decider configured to decide a content identifier and a data range of a digital content corresponding to the data range indicated by the request message based on results of the first determination and the second determination by referring to the table; and a transmitter configured to transmit a reply message to the request message based on the first determination, the second determination, and the decision. 
     According to the aspect, even if a requested data range is included not in a requested digital content but in another digital content, it is possible to reply information regarding the other digital content. 
     Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram for explaining the configuration of a multimedia content transmission/reception system according to the first embodiment. 
         FIGS. 2A and 2B  are flowcharts for explaining the operation of a data transmission apparatus. 
         FIG. 3  is a table showing an example of a virtual content structure table. 
         FIG. 4  is a flowchart for explaining the operation of a data reception apparatus. 
         FIGS. 5A and 5B  are flowcharts for explaining content registration processing by a content information registration unit. 
         FIGS. 6A and 6B  are flowcharts for explaining content decision processing. 
         FIG. 7  is a view for explaining a message flow between the data reception apparatus and the data transmission apparatus using the HTTP protocol. 
         FIG. 8  is a block diagram for explaining the configuration of a multimedia content transmission/reception system according to the second embodiment. 
         FIGS. 9A and 9B  are flowcharts for explaining the operation of a data transmission apparatus. 
         FIG. 10  is a table showing an example of a virtual content structure table according to the second embodiment. 
         FIG. 11  is a view for explaining a message flow between a data reception apparatus, a data transmission apparatus, and another data transmission apparatus using the HTTP protocol. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Information processing according to embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that although a video content as a representative multimedia content will be explained as an example of a requested digital content, it is also possible to deal with other types of digital contents including audio, sound, and photos. 
     First Embodiment 
     System Configuration 
     The configuration of a multimedia content transmission/reception system according to the first embodiment will be described with reference to a block diagram shown in  FIG. 1 . 
     Referring to  FIG. 1 , a data transmission apparatus  100  and a data reception apparatus  120  are connected to a network, and can make data communication with each other through the network. The data transmission apparatus  100  is connected with a data storage device  130  storing multimedia contents (for example, video contents)  131 . 
     The data transmission apparatus  100  is, for example, a surveillance camera, a video recording apparatus, a digital video camera, or the like. The data reception apparatus  120  is an apparatus such as a television, or a video viewer or web browser operating on a communication terminal such as a personal computer (PC) or a smartphone. Note that although  FIG. 1  shows a case in which the data transmission apparatus  100  and data storage device  130  are separate apparatuses, the data transmission apparatus  100  may be integrated with the data storage device  130 . 
     Furthermore, a video content is segmented into files and the separate files (to be referred to as segmented contents hereinafter) are stored in the data storage device  130 . A video content may be segmented when or after recording the video. A content obtained by combining a plurality of segmented contents to form one logical group will be referred to as a “virtual content”. 
     ●Data Transmission Apparatus 
     A microprocessor (CPU)  111  controls the operation of the data transmission apparatus  100  as a whole by executing an operating system (OS) or a program stored in a read only memory (ROM) or a hard disk drive (HDD) of a memory  112  using a random access memory (RAM) of the memory  112  as a work memory. Note that the memory  112  includes the RAM, the ROM, the HDD, and a solid-state drive (SSD). 
     Each arrangement of the data transmission apparatus  100  to be described below may include hardware components or software components. If each arrangement includes software components, the software components for implementing the functions of the arrangement are stored in the ROM, HDD, SSD, and the like of the memory  112 , and the CPU  111  loads the software components to execute them, thereby implementing the functions of the arrangement. 
     The operation of the data transmission apparatus  100  will be described with reference to flowcharts shown in  FIGS. 2A and 2B . 
     When an event of newly storing a segmented content in the data storage device  130  occurs, the CPU  111  causes a content information recording unit  101  to store content information of the segmented content (S 201 ). The content information is stored in a meta information storage area (for example, an MP4 moov container or the like) of a file of a video content, a separate file in the data storage device  130 , the memory  112 , or the like. 
     The content information is meta information when the data transmission apparatus  100  stores recorded video data (a segmented content), and includes a content identifier, content coordinate, and content range. The content identifier is used to uniquely discriminate a content in the data storage device  130 , and is, for example, the file name of the segmented content. The content coordinate is information (for example, the recording start date/time of each segmented content) indicating the order of a plurality of segmented contents on a specific axis (for example, a time axis). The content range represents the range of the coordinates of the segmented contents on the axis, and is, for example, a recording time. 
     Note that the axis and content coordinate are respectively not limited to a time, and need only be a reference value indicating the order of segmented contents such as an image shooting position, the search hit rate of an image or document, the order of images or documents in an organization list or schedule table. 
     Next, the CPU  111  causes a content information registration unit  102  to acquire pieces of content information for the segmented contents stored in the data storage device  130 , and register them in a table in the order of the values of content coordinates (S 202 ), details of which will be described later. Note that hereinafter the table will be referred to as a “virtual content structure table”. 
       FIG. 3  shows an example of the virtual content structure table. In the virtual content structure table, a content identifier column  401  indicates a content identifier (for example, a file name); a content coordinate column  402 , the value of a content coordinate (for example, a recording start date/time); and a content range column  403 , a content range (for example, a recording time in seconds). Note that records in the virtual content structure table are arranged in the order of the recording start date/time. 
     In the virtual content structure table, an identifier [FILLER] indicates a gap between the recording end date/time of a preceding segmented content and the recording start date/time of a subsequent segmented content. If the recording end date/time of the preceding segmented content does not coincide with the recording start date/time of the subsequent segmented content in registering the content information, the content information registration unit  102  registers a pseudo content as a symbol indicating an unrecording time, and adds the content identifier “FILLER”. Note that the pseudo content will be referred to as a “filler content” hereinafter. Therefore, the content coordinate of the filler content is the recording end date/time of the preceding segmented content, and the content range has a value indicating an unrecording time (a difference between the recording end date/time of the preceding segmented content and the recording start date/time of the subsequent content). 
     If the content information registration unit  102  wants to add a logical separator between segmented contents, it can register a pseudo content (to be referred to as a separator content hereinafter) with a content identifier [SEPARATOR] as a symbol.  FIG. 3  shows a case in which a separator content is registered at a date change point. A value indicating “not available (N/A)” is used as the values of the content coordinate and content range of the separator content. 
     After registration of the content information (S 202 ), the CPU  111  causes a request message reception unit  103  to stand by for reception of a video content request message (S 203 ). Upon receiving a request message from the data reception apparatus  120 , the CPU  111  executes content decision processing (S 204 ). Note that details of the content decision processing will be described later. 
     A description when segment data for a data range from 7300 seconds to 7310 seconds of a video content with a content identifier “20110401-00.mp4” is requested of the data transmission apparatus  100  with a URL (uniform resource locator) “www.example.com” is as follows. 
     http://www.example.com/20110401-00.mp4#t=7300,7310 . . . (1) 
     Note that although the above media fragment URI is generated by the user interface (UI) of the data reception apparatus  120  or the link description of a Web page displayed in the data reception apparatus  120 , it may be generated using another method. 
     Upon generation of the above media fragment URI, the data reception apparatus  120  transmits the following request message represented according to the HTTP protocol. Note that a value described in the following Range header indicates segment data. 
     GET /20110401-00.mp4 HTTP/1.1 
     Host: www.example.com 
     Accept: video/* 
     Range: t:npt=7300-7310 . . . (2)
         :       

       FIG. 7  is a view for explaining a message flow between the data reception apparatus  120  and the data transmission apparatus  100  using the HTTP protocol. A message  510  corresponds to a request message which is received by the data transmission apparatus  100  from the data reception apparatus  120  in step s 203 . 
     If segment data indicated by the request message exists as a result of the content decision processing (S 204 ), the CPU  111  decides the content identifier, start coordinate value, and end coordinate value of a segmented content, and sets them in a return value. If the segment data indicated by the request message does not exist, the CPU  111  sets NULL in a return value. 
     Upon completion of the content decision processing (S 204 ), the CPU  111  refers to the return value of the content decision processing to determine whether the segment data indicated by the request message exists (S 205 ). If the return value is NULL, the CPU  111  causes a reply message transmission unit  110  to send, to the data reception apparatus  120 , the following error message indicating that the segment data indicated by the request message does not exist (S 206 ). 
     HTTP/1.1 404 Not Found . . . (3)
         :       

     On the other hand, if the return value is not NULL, the CPU  111  compares a content identifier contained in the request message with that included in the return value (S 207 ). If the content identifier contained in the request message is different from that included in the return value, the CPU  111  causes an alternative address generation unit  107  to generate an alternative address indicating the position of alternative data (S 208 ). 
     The alternative data has a content identifier different from that of the request but has the same content coordinate as that of the request. The alternative address is formed by the URL of the data transmission apparatus  100 , and the content identifier, start coordinate value, and end coordinate value of the segmented content which are included in the return value, as given below. 
     http://www.example.com/20110401-01.mp4#t=100,110
         . . . (4)       

     The CPU  111  then causes the reply message transmission unit  110  to send, to the data reception apparatus  120 , the following reply message which has been generated using the alternative address (S 209 ). The following message is an example of a reply message using the redirection function of the HTTP protocol. 
     HTTP/1.1 301 Moved Permanently 
     Location: http://www.example.com/20110401-01.mp4#t=100,110 . . . (5)
         :       

     Referring to  FIG. 7 , a message  511  corresponds to a reply message which is transmitted from the data transmission apparatus  100  to the data reception apparatus  120  in step S 209 . Furthermore, a message  512  corresponds to a request message (indicating a redirection destination) which is received by the data transmission apparatus  100  from the data reception apparatus  120  in step S 203  in response to the message  511 . 
     Alternatively, if the content identifier contained in the request message coincides with that included in the return value, the CPU  111  causes a content reading unit  108  to read a segmented content corresponding to the content identifier from the data storage device  130  (S 210 ). Then, the CPU  111  causes a content segmentation unit  109  to divide the segmented content to obtain the segment data indicated by the request message (S 211 ), and the reply message transmission unit  110  to send a reply message containing the divided segment data to the data reception apparatus  120  (S 212 ). The following message is an example of the reply message. 
     HTTP/1.1 206 Partial Content 
     Accept-Ranges: bytes 
     Content-Length: 3743 
     Content-Type: video/mp4 
     Content-Range: bytes 19147-22800/35614993 . . . (6)
         :       

     (Binary Data) 
     Referring to  FIG. 7 , a message  513  corresponds to the reply message which contains the divided segment data (data for an alternative range) and is transmitted from the data transmission apparatus  100  to the data reception apparatus  120  in step S 212 . 
     After step S 206 , S 209 , or S 212 , the CPU  111  returns the process to step S 203  to stand by for reception of a video content request message. If, for example, an interrupt indicating an event of newly storing a segmented content in the data storage device  130  occurs while standing by for reception of a video content request message, the CPU  111  returns the process to step S 201 . 
     ●Data Reception Apparatus 
     The operation of the data reception apparatus  120  will be described with reference to a flowchart shown in  FIG. 4 . 
     Upon receiving an instruction to acquire segment data of a video content (S 221 ), the data reception apparatus  120  transmits a request message for the segment data to the data transmission apparatus  100  (S 222 ), and stands by for reception of a reply message from the data transmission apparatus  100  (S 223 ). 
     Upon receiving a reply message, the data reception apparatus  120  determines whether a reply message in which an alternative address is described has been received (S 224 ). If the data reception apparatus  120  has received the reply message with the alternative address, it transmits a request message based on the alternative address to the data transmission apparatus  100  (S 225 ), and returns the process to step S 223 . If, for example, the data reception apparatus  120  has received message (5), it transmits the following request message. 
     GET /20110401-01.mp4 HTTP/1.1 
     Host: www.example.com 
     Accept: video/* 
     Range: t:npt=100-110 . . . (7)
         :       

     If the data reception apparatus  120  has not received the reply message with the alternative address, it determines whether the received reply message (for example, message (6)) contains the segment data of the video content (S 226 ). If the data reception apparatus  120  has received the reply message containing the segment data of the video content, it considers that reception of the requested segment data is complete, and returns the process to step S 221 . 
     If the reply message does not contain the segment data of the video content, and indicates an error, the data reception apparatus  120  executes error processing (S 227 ), and returns the process to step S 221 . 
     ●Content Information Registration Unit 
     The content registration processing (S 202 ) by the content information registration unit  102  will be described with reference to flowcharts shown in  FIGS. 5A and 5B . 
     The content information registration unit  102  determines whether a virtual content structure table has been generated (S 501 ). If a virtual content structure table has not been generated, the unit  102  generates, in, for example, the memory  112 , a null virtual content structure table in which nothing is registered (S 502 ). Note that a virtual content structure table may be generated in any storage medium in which data can be stored. 
     The content information registration unit  102  acquires, through the content reading unit  108 , the content information for an unregistered segmented content, which is in the data storage device  130  (S 503 ). The unit  102  generates, in the memory  112 , a list (to be referred to as an unregistered content list hereinafter) in which the content identifiers of unregistered segmented contents are arranged in ascending order of content coordinates (S 504 ). Note that an entry of the unregistered content list includes a content identifier, a content coordinate, and a content range. 
     Note that although a segmented content is assumed to have been stored in the data storage device  130  in the processing by the content information recording unit  101  in step S 201 , it may be acquired by any other method. Furthermore, although a segmented content stored in the data storage device  130  is assumed to have been generated when the data transmission apparatus  100  records or shoots an image, it may be generated by any other method, for example, by receiving it from another apparatus through the network. 
     The content information registration unit  102  acquires information for the first entry of the unregistered content list (S 505 ), and determines whether entry information has been acquired (S 506 ). If the unit  102  cannot acquire the entry information, that is, there is no entry, the content registration processing ends. 
     If the content information registration unit  102  has acquired the information for the first entry, it acquires information for the last entry of the virtual content structure table (S 507 ), and determines whether a logical separator exists between the last entry and the first entry (S 508 ). If there is a logical separator (for example, a date change point), the unit  102  appends a separator content to the virtual content structure table (S 509 ). Note that if a date change point is determined as a logical separator, the unit  102  need only refer to, for example, a recording date/time described in each content coordinate. 
     After that, the content information registration unit  102  determines whether there is a discontinuity between the content coordinate of the last entry and that of the first entry (S 510 ). If there is a discontinuity, the unit  102  appends a filler content to the virtual content structure table (S 511 ). The presence/absence of a discontinuity is determined based on whether the content coordinate of the first entry is larger than the sum of the content coordinate and content range of the last entry. 
     For example, if the content coordinate indicates a recording start date/time and the content range indicates a recording time, the sum of the content coordinate and the content range indicates a recording end date/time. That is, if the recording start date/time of the first entry is after the recording end date/time of the last entry, a filler content is appended. 
     The content information registration unit  102  appends the content information for the first entry of the unregistered content list to the virtual content structure table (S 512 ), deletes the first entry of the unregistered content list (S 513 ), and then returns the process to step S 505 . 
     ●Content Decision Processing 
     The content decision processing (S 204 ) will be described with reference to flowcharts shown in  FIGS. 6A and 6B . 
     A content identifier decision unit  104  searches, from the first entry of the virtual content structure table, for entry E 0  with a content identifier which coincides with the content identifier contained in the request message (S 301 ). A transmission range calculation unit  105  determines based on a search result whether there is entry E 0  (S 302 ). If there is no entry E 0 , the unit  105  returns a return value NULL for indicating that there is no entry with a content identifier which coincides with the content identifier contained in the request message (S 312 ). 
     If there is entry E 0 , the transmission range calculation unit  105  sets “0” in a reference value r base , and sets the value of the content range of entry E 0  in a value r (S 303 ). Furthermore, the unit  105  sets, for example, the record number of entry E 0  in a pointer En indicating an entry being processed (S 304 ). 
     If, for example, request message (2) has been received, the virtual content structure table shown in  FIG. 3  includes an entry with a content identifier which coincides with the content identifier “20110401-00.mp4” contained in the request message. Therefore, “0” is set in the reference value r base , and a value “7200” of the content range of the first entry is set in the value r. 
     Then, the transmission range calculation unit  105  calculates a relative start value s and a relative end value e by subtracting the reference value r base  from a start value s 0  and an end value e 0  of the request range of the segment data contained in the request message, respectively (S 305 ). 
     If, for example, request message (2) has been received, the start value s 0  and the end value e 0  of the request range of the segment data are “7300” and “7310” described in the Range header, respectively. Thus, the relative start value s=7300−0=7300 and the relative end value e=7310−0=7310 are obtained. 
     A transmission range comparison unit  106  compares the relative start value s with the value r (S 306 ). If the relative start value s is smaller than the value r (s&lt;r), the process advances to S 311 . 
     In request message (2) and the example of the virtual content structure table shown in  FIG. 3 , since the relative start value s=7300 and the value r=7200, the comparison result is s≧r. In this case, the transmission range calculation unit  105  acquires information for next entry En+1 from the virtual content structure table (S 307 ), and determines whether there is entry En+1 and entry En+1 is a video content (S 308 ). If there is no entry En+1 or entry En+1 is a filler content or separator content, the unit  105  returns a return value NULL for indicating that there is no entry which falls within the content request range (S 312 ). 
     In the example of the virtual content structure table shown in  FIG. 3 , there is entry En+1 (the second entry in this example), and the content identifier of entry En+1 is neither [FILLER] nor [SEPARATOR]. The transmission range calculation unit  105 , therefore, adds the value r to the reference value r base  and sets the value of the content range of entry En+1 in the value r (S 309 ). Furthermore, the unit  105  sets entry En+1 in the pointer En indicating an entry being processed (S 310 ), and returns the process to step S 305 . 
     In the example of the virtual content structure table shown in  FIG. 3 , for example, the reference value r base  is updated to “7200” and the value r is updated to a value “10800” of the content range of the second entry. 
     The transmission range calculation unit  105  returns the process to step S 305 , and calculates the relative start value s and the relative end value again. In this case, s=s 0 −r base =7300−7200=100 and e=e 0 −r base =7310−7200=110 are obtained. Then, the unit  105  performs a comparison in step S 306 . In this case, the result of a comparison of the relative start value s and the value r is s&lt;r, the process advances to step S 311 . 
     If the comparison result is s&lt;r, the transmission range calculation unit  105  returns, as return values, the content identifier of entry En, the relative start value s, and a smaller one of the relative end value e and the value r (Min(e, r)) (S 311 ). Note that these return values are used as the value of a content identifier, a content start coordinate value, and a content end coordinate value on the request source side of the content decision processing. 
     In the example of the virtual content structure table shown in  FIG. 3 , for example, the content identifier is “20110401-01.mp4” and the content start coordinate value is “100”. Furthermore, Min(110, 10800)=110 and thus the content end coordinate value is “110”. 
     As described above, when a request which designates a partial range of a video content is received, it is possible to transmit data for the designated range even if data for the designated range exists not in the video content but in another video content. The data reception apparatus  120 , therefore, can request data for a desired range, and acquire it without considering whether a designated video content contains the data for the necessary range. Especially, it is possible to prevent unnecessary consumption of a network band or memory due to transmission of needless data as compared with a case in which the whole video content is transmitted when data for an invalid rage is requested. 
     Second Embodiment 
     Information processing according to the second embodiment of the present invention will be described below. Note that the same components as those in the first embodiment have the same reference numerals in the second embodiment, and a detailed description thereof will be omitted. 
     The configuration of a multimedia content transmission/reception system according to the second embodiment will be described with reference to a block diagram shown in  FIG. 8 . 
     A content transfer unit  113  of a data transmission apparatus  100  according to the second embodiment transfers at least some of video contents  131  in a data storage device  130  to another data transmission apparatus  140 . The unit  113  corresponds to, for example, a system in which the data transmission apparatus  100  is a small surveillance camera, and recorded video data is transferred to a mass storage server as the other data transmission apparatus  140  through a network. 
     The operation of the data transmission apparatus  100  will be described with reference to a flowchart shown in  FIG. 9 . Note that the same processes as those shown in  FIG. 2  have the same reference symbols, and a detailed description thereof will be omitted. 
     A CPU  111  determines whether an operation of transferring a segmented content by the content transfer unit  113  has occurred (S 801 ). If the transfer operation has occurred, the CPU  111  causes a content information registration unit  102  to register a URI (address information) indicating a transfer destination address in a virtual content structure table (S 802 ). 
       FIG. 10  shows an example of the virtual content structure table according to the second embodiment. As compared with the example shown in  FIG. 3 , a content transfer destination column  404  in which a transfer destination address is registered is added. Note that an initial value (N/A) is registered in the content transfer destination column  404  for untransferred segmented contents, a filler content, and a separator content. 
     If the return value of content decision processing is not NULL and a comparison result in step S 207  indicates that content identifiers are different from each other, the CPU  111  causes an alternative address generation unit  107  to generate an alternative address indicating the position of alternative data (S 803 ). At this time, if the content transfer destination column  404  of the segmented content in the virtual content structure table is N/A, the alternative address generation unit  107  generates an alternative address similarly to step S 208  in the first embodiment. On the other hand, if a URI has been registered in the content transfer destination column  404  of the segmented content in the virtual content structure table, the URI registered in the content transfer destination column  404  is used as an alternative address. 
     Note that if, for example, an interrupt indicating an event of newly storing a segmented content in the data storage device  130  occurs while standing by for reception of a video content request message, the CPU  111  returns the process to step S 201 . If an interrupt indicating a transfer of a segmented content occurs, the CPU  111  returns the process to step S 801 . 
       FIG. 11  is a view for explaining a message flow between a data reception apparatus  120 , the data transmission apparatus  100 , and another data transmission apparatus  140  using the HTTP protocol. A message  514  corresponds to a message for transferring a video content from the data transmission apparatus  100  to the other data transmission apparatus  140 , and a POST instruction or the like is used for the HTTP protocol. 
     A message  510  corresponds to a request message which is received by the data transmission apparatus  100  from the data reception apparatus  120  in step S 203 . A message  511  corresponds to a reply message which is transmitted from the data transmission apparatus  100  to the data reception apparatus  120  in step S 209 . A message  512 ′ corresponds to a request message (indicating a redirection destination) which is received by the data transmission apparatus  140  from the data reception apparatus  120  in response to the message  511 . A message  513 ′ corresponds to a reply message which contains data for an alternative range and is transmitted from the data transmission apparatus  140  to the data reception apparatus  120 . 
     Other Embodiments 
     Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (for example, computer-readable medium). 
     While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of Japanese Patent Application No. 2011-241527, filed Nov. 2, 2011, which is hereby incorporated by reference herein in its entirety.