Abstract:
A content management apparatus includes a content information provider, a table generator, a table update unit, and a location information replacement unit. The content information provider provides content information including permanent identification information indicating a storage location of contents. The table generator generates an equipment information management table which associates permanent identification information for identifying a first communication apparatus and temporary communication address information for communicating with the first communication apparatus. The table update unit is configured to update information of the equipment information management table. The location information replacement unit is configured to replace the permanent identification information in the content information by the temporary communication address, based on the equipment information management table.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
   This application claims benefit of priority under 35USC§119 to Japanese Patent Application No. 2003-304655, filed on Aug. 28, 2003, the entire contents of which are incorporated by reference herein. 
   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a content management apparatus, a content management system, and a content management program, for managing contents provided via a network. 
   2. Related Background Art 
   Recently, there have been many cases to connect electronic equipments such as audio devices, video devices, personal computers, and information equipments via a network, in order to transfer information between them. In these cases, it is necessary to prescribe operation method of the equipments and procedure for associating with each other as standards, and to operate the equipments in according with the standards. One of such standards is UPnP AV (Universal Plug and Play/Audio and Visual), the UPnP is a specification for the AV (see US Patent Application Publication No. 2002-0035621 A1). 
   The UPnP AV adopts a model in which a media server and a media renderer, being two types of devices, are controlled by a control point, being a device of a separate type. The media server plays a role of storing contents and as a source for streaming. The media renderer plays a role of reproducing the contents and as a sink for streaming. The control point inquires of the media server about a location of a content, selects a media renderer agreeing with the source capability for streaming, and establishes a stream transmission line between these two devices (the media server and the media renderer) to control the transmission (see Japanese Patent Application Laid-open No. 2002-304333). 
   In the UPnP AV media server, a content directory service (CDS) performs a role of storing contents and responding to inquiries of content information from the control point. The CDS stores metadata of contents, so that the control point can perform functions of browsing the content hierarchy, searching the attribute, creating and deleting the content, and changing the attribute. 
   The metadata includes the title, the artist, and the format of the contents, and the location of the media resource (hereinafter, “res value”), and these are described in the Extensible Markup Language (XML). The control point sets the res value of the metadata obtained by the inquiry to the CDS, in the media source of the media server or the media sink of the media renderer, as a location of the media resource to be referred to, and sets a transmission path between the media source of the media server and the media sink of the media renderer. The res value is given by the Uniform Resource Identifier (URI) RFC2396 (see internet Engineering Task Force (IETF) web site). 
   The description format of the URI is given by &lt;scheme&gt;://&lt;scheme-specific-part&gt;, or &lt;scheme&gt;://&lt;authority&gt;&lt;path&gt;?&lt;query&gt;. For example, it is provided such as http://192.168.10.111:8080/MyMusic.sample.mp3. 
   In this case, “http” denotes the scheme, “192.168.10.111:8080” denotes the authority, and “/MyMusic/sample.mp3” denotes the path, indicating that it is a media resource referred to as “/MyMusic/sample.mp3” accessible through a port number. 8080 of the host 192.168.10.111, by using the HyperText Transfer Protocol (HTTP) protocol. 
   In many cases, the authority part is expressed by a set of a host name and a port number, and the host name is Domain Name Service (DNS), and a Fully Quantified Domain Name (FQDN) capable of performing name resolution to an IP address or the IP address itself is used therefor. 
   One of the functions of the media server is storage of the contents, and the media resource may be outside of the media server. In this case, the media resource exists in the equipment around the media server or in a media distribution site on the Wide Area Network (WAN) or the Internet, and the content corresponding to the equipment is set in the authority part of the res value. 
   There is a problem for a handling in the case where the IP address itself is set in the authority part. When any of the name resolution means such as assignment by FQDN is provided, there is no problem since the host name can be converted to an IP address by the name resolution means. 
   When the IP address itself is set, it is necessary to determine whether the IP address is static or dynamic. That is, the IP address in the authority part of the res value of the media resource stored in the equipment to which a dynamic address is allocated should change with a lapse of time, but there is no way to know that. In this case, the res value returned from the CDS becomes an unintended value different from the former value. 
   However, there is a problem in that the workload is very large for reconstruction at the time of startup operation of the CDS. This becomes noticeable in the in-house use or the like in which the respective equipment operate autonomously, including the allocation of the IP address. 
   Therefore, it is desired to provide the CDS which changes following a change in the IP address of the equipment, in terms of the media resource held by the equipment in which the IP address can change dynamically. 
   BRIEF SUMMARY OF THE INVENTION 
   With the view to the above problems, it is an object of the present invention to provide a content management apparatus, a content management system, and a content management program, which can provide accurate content information at all times, even when communication addresses change. 
   A content management apparatus according to one embodiment of the present invention, comprising:
         a content information provider which provides content information including permanent identification information indicating a storage location of contents;   a table generator which generates an equipment information management table which associates permanent identification information for identifying a first communication apparatus and temporary communication address information for communicating with said first communication apparatus with each other;   a table update unit configured to update information of said equipment information management table; and   a location information replacement unit configured to replace the permanent identification information in the content information by the temporary communication address, based on said equipment information management table.       

   A content management system according to one embodiment of the present invention, comprising:
         a first communication apparatus which provides contents to be held;   a second communication apparatus which receives contents provided from said first communication apparatus;   a content management apparatus which provides content information relating to contents provided by said first communication apparatus; and   a control apparatus which performs control for providing contents from said first communication apparatus to said second communication apparatus,   said content management apparatus includes:   a content information provider which provides content information including permanent identification information indicating a storage location of contents;   a table generator which generates an equipment information management table which associates permanent identification information for identifying a first communication apparatus and temporary communication address information for communicating with said first communication apparatus with each other;   a table update unit configured to update information of said equipment information management table; and   a location information replacement unit configured to replace the permanent identification information in the content information by the temporary communication address, based on said equipment information management table.       

   A content management program according to one embodiment of the present invention which makes a computer execute the steps of comprising:
         providing content information including permanent identification information indicating a storage location of contents;   generating an equipment information management table which associates permanent identification information for identifying a first communication apparatus and temporary communication address information for communicating with said first communication apparatus with each other;   updating information of said equipment information management table; and   replacing the permanent identification information in the content information by the temporary communication address, based on said equipment information management table.       

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram showing a schematic configuration of one embodiment of the content management system according to the present invention. 
       FIG. 2  is a sequence diagram showing procedure in the SOAP transferred between the controller  5  and the media server  3 . 
       FIG. 3  is a diagram showing the structure of the content directory held by the media server  3 . 
       FIG. 4  is a diagram showing an inquiry to the content directory service of the media server  3  by the controller  5  and a response example thereof. 
       FIG. 5  is a diagram showing a relationship between the content information relating to the last item (id=5) in the response in  FIG. 4  and temporary content position information indicating a storage location of the content. 
       FIG. 6  is a diagram showing one example of an equipment information management table. 
       FIG. 7  is a sequence diagram showing a procedure for an inquiry to the content directory service and a response thereof performed between the controller  5  and the media server  3 . 
       FIG. 8  is a diagram showing a situation in which the content position information included in the content inquiry and response changes with a change in the content of the equipment information management table. 
       FIG. 9  is a sequence diagram showing a first example of a procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table at the time of startup of the media server  3 . 
       FIG. 10  is a sequence diagram showing a second example of the procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table at the time of responding to the inquiry from the controller  5 . 
       FIG. 11  is a sequence diagram showing a third example of a procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table for each predetermined time. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   A content management apparatus, a content management system, and a content management program according to the present invention will be specifically explained below, with reference to the accompanying drawings. 
     FIG. 1  is a block diagram showing a schematic configuration of one embodiment of the content management system according to the present invention. The content management system in  FIG. 1  includes a media resource server  2  connected to an IEEE network  1 , a plurality of media servers  3 , a media renderer  4 , a controller  5 , and a router  7  for the connection to the Internet  6 . 
   The media resource server  2  provides contents held therein. The media server  3  is an AV equipment for recording and holding the content. The media server can provide the content information held by other AV equipment connected to the media resource server  2 , another media server  3 , and the Internet  6  to the controller  5  or the media renderer  4 , other than recording and holding the content. 
   The media server  3 , the media renderer  4 , and the controller  5  constitute an AV system conforming to the UPnP standards, and the media resource server  2  and the router  7  are the equipment out of the UPnP standards. 
   The controller  5  performs a role of a control point provided by the UPnP A/V standards. That is, the controller  5  controls the media server  3  and the media renderer  4 , and selects a specific content from a content directory managed by the media server  3 , and selects a media renderer  4  suitable for reproducing the content. The controller  5  generates a transmission channel for the content between the media server  3  and the media renderer  4  to control transmission and reproduction of content data. 
   The transmission channel may be provided on the network the same as the network  1  used for inquiries of the content and the like. Alternatively, if the media server  3  and the media renderer  4  can communicate with each other via another network, the transmission channel may be provide on the other network. In  FIG. 1 , it is assumed that the available network for the respective AV equipment is one, and transfer of the contents and inquiries are performed by using the network  1 . 
   Respective equipment shown in  FIG. 1  include a network interface apparatus and a user interface apparatus in addition to having the same operational function as that of a general-purpose computer equipment. 
   The media server  3 , the media renderer  4 , and the controller  5  perform communication by a simple object access protocol (SOAP). The SOAP is a protocol including a simple request message and a response message. 
     FIG. 2  is a sequence diagram showing procedure in the SOAP transferred between the controller  5  and the media server  3 . When the controller  5  issues a SOAP request indicating an inquiry of content information, to the media server  3  (step S 1 ), the media server  3  searches and obtains the content information corresponding to the inquiry, and returns the result as a SOAP response to the controller  5  (step S 2 ). 
     FIG. 3  is a diagram showing the structure of the content directory held by the media server  3 . “Content” is in a root directory, and three folders, “My Music”, “My Photo” and “Album Art”, exist in a lower hierarchy. A plurality of folders for filing exists in the lower hierarchy, and the content information relating to the individual content resource is located in the lower hierarchy. 
   Respective elements in  FIG. 3  are managed by an identifier, for example, the identifier for “Content” is “0” and the identifier for “My music” is “1”. 
     FIG. 4  is a diagram showing an inquiry to the content directory service of the media server  3  by the controller  5  and a response example thereof. Specifically,  FIG. 4  shows a request for browsing the contents in the lower hierarchy of “Singles Soundtrack-Various Artists musicalbum” (identifier “3”) in  FIG. 3  and the response content. 
   The first request r 1  in  FIG. 4  means that the information of all sub-elements below the elements of identifier “3” is rearranged and outputted in the order of titles only from the first (0-th) to the third. In the response corresponding thereto, the corresponding elements are arranged, and the respective element indicates the meta information for one content resource. For example, the element of the identifier number 6 is item, the parented identifier is “3”, the title is “Chloe Dancer”, the artist is “Mother Love Bone”, and the content resource is http://192.168.10.123/getcontent.asp?id=6. A “http-get” indicates that it can be obtained by “Windows Media Audio” and the size thereof is 200000 bytes. The same thing applies to other elements. 
   The second request r 2  is the response for the first request, and is for acquiring the fourth element, since there are four sub-elements. 
     FIG. 5  is a diagram showing a relationship between the content information relating to the last item (id=5) in the response in  FIG. 4  and temporary content position information indicating a storage location of the content. In the example shown in  FIG. 5 , the entity of the content exists on the media resource server  2  different from the media server  3 . In this case, the content information indicates a URL address of the media resource server  2  thereof. 
   As shown in  FIG. 5 , “192.168.nnn.mmm” (mmm and nnn are the number from 0 to 255) is a private address area and the IP address may change. Even in the network  1  using a private address, there is a possibility that the address is statically allocated and managed. However, this case is not considered herein. 
     FIG. 6  is a diagram showing one example of an equipment information management table. In the equipment information management table shown in  FIG. 6 , there are six entries, and a permanent equipment identifier (device identifier), a temporary address of a communication device, and the last update date of the address of the communication device are registered. In  FIG. 6 , two entries of six entries use the permanent equipment identifier based on a MAC address and other four entries use the permanent equipment identifier based on a UDN. 
   The permanent equipment identifier based on the MAC address is described in the form of MACID_(MAC address), and the permanent equipment identifier based on the UDN is described in the form of UDN_(UDN address). 
   In the equipment information management table, information other than the three pieces of information above, for example, information on available hours may be included. In the information on available hours, a holding time of an APP cache is described in the case of MACID, and a value based on the cache time of the UDN is described in the case of the UDN. 
     FIG. 7  is a sequence diagram showing a procedure for an inquiry to the content directory service and a response thereof performed between the controller  5  and the media server  3 . The controller  5  issues a browse request of the content directory with respect to the media server  3  (step S 11 ). Upon reception of the request, the media server  3  searches the content information in the content directory to obtain the content information (step S 12 ). The media server  3  then searches the permanent equipment identifier in the content information and stores the value and the position of the identifier (step S 13 ). 
   The media server  3  searches an entry of the corresponding permanent equipment identifier from the equipment information management table and obtains the IP address indicating a communication identifier of the entry (step S 14 ). 
   The media server  3  replaces the permanent equipment identifier included in the temporary content position information in the content information by a communication address (step S 15 ). The media server  3  allows the replaced temporary content position information to reflected on the content information as the content position information (step S 16 ). The content information is returned to the controller  5  as a response from the media server  3  (step S 17 ). 
     FIG. 8  is a diagram showing a situation in which the content position information included in the content inquiry and response changes with a change in the content of the equipment information management table. In the equipment information management table, it is assumed that a communication device address “192.168.12.56” and the last update date “Mar. 20, 2003 13:43:21” are described corresponding to the permanent equipment identifier “UDN_uuid_9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE” based on the UDN. In this case, the temporary content position information
         “UDN_uuid_9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE”
 
included in the content information in the content directory is converted to “192.168.12.56” based on the equipment information management table to obtain the final content information.
       
     FIG. 9  is a sequence diagram showing a first example of a procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table at the time of startup of the media server  3 . In  FIG. 9 , an example in which the content information includes the permanent equipment identifier based on the UDN is shown. In this example, a simple service discovery protocol (SSDP) is used, which is a part of the UPnP specification for obtaining the IP address corresponding to the UD. The procedure is similarly applicable to a case in which the content information includes the permanent equipment identifier based on the MAC address, by using a reverse address resolution protocol (RARP) for obtaining the corresponding IP address from the MAC address, instead of the SSDP. 
   At the time of startup of the media server  3 , an SSDP DISCOVER message is transmitted in the network  1  for each of the permanent equipment identifier based on the UDN, of the respective entries in the equipment information management table (step S 21 ). The content of the SSDP DISCOVER message is for example as shown below.
         M-SEARCH *HTTP/1.1   HOST: 239.255.255.250:1900   MAN: “ssdp:discover”   MX: 30   ST: uuid:9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE       

   In this case, a response by the UPnP device, being uuid:9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE, within 30 seconds is requested. 
   If there is no response in the predetermined time, the entry is left as it is (step S 22 ). When the UPnP device, being the target, is now operating, the device returns a response without fail, according to the standards of the UPnP. For example, a response as described below is received.
         HTTP/1.1 200 OK   CACHE-CONTROL: max-age=1800   DATE: Mar. 25, 2003 09:34:25   EXT: LOCATION:http://192.168.12.56/devicedesc.xml   SERVER: OS/version UPnP/1.0 product/version   St: uuid:9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE   USN: uuid:9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE::upnp:rootdevice       

   In this case, it is seen that the information is available for only 1800 seconds, and the information of the UPnP can be obtained at http://192.168.12.56/devicdesc.xml. Further, since the media server  3  can know a sender IP address of the response, together with the response message, the media server  3  updates the content of the entry in the equipment information management table, as the communication equipment address (step S 23 ). 
   The processing of from steps S 21  to S 23  is repeated for the number of entries. When the controller  5  issues a browse request (step S 24 ), the media server  3  searches the content information in the content directory to obtain the information (step S 25 ) and transmits the information to the controller  5  (step S 26 ). 
   The SSDP:DISCOVER request may not be transmitted for each UPnP device, but the SSDP:DISCOVER request may be transmitted so that all UPnP route devices in the network  1  respond. The request in this case is as described below.
         M-SEARCH *HTTP/1.1   HOST: 239.255.255.250:1900   MAN: “ssdp:discover”   MX: 30   ST: upnp:rootdevice
 
The response in this case becomes as described below.
   HTTP/1.1 200 OK   CACHE-CONTROL: max-age=1800   DATE: Mar. 25, 2003 09:34:25   EXT: LOCATION:http://192.168.12.56/devicedesc.xml   SERVER: OS/version UPnP/1.0 product/version   ST: upup:rootdevice   USN: uuid:9FB4FE9A-8D03-4c57-9A0E-AFA2D67237DE::upnp:rootdevice       

     FIG. 10  is a sequence diagram showing a second example of the procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table at the time of responding to the inquiry from the controller  5 . 
   Upon reception of an inquiry request from the controller  5  (step S 31 ), the media server  3  searches the content information in the content directory to obtain the information (step S 32 ). The media server  3  then searches the permanent equipment identifier in the content information and stores the value and the position thereof (step S 33 ). 
   The media server  3  then searches the entry of the corresponding permanent equipment identifier from the equipment information management table. When predetermined time has passed since the last update date of the entry, the media server  3  transmits the SSDP:DISCOVER message and waits for a response (step S 34 ). The message form is as shown at step S 21 . 
   Upon reception of the response, the media server  3  obtains the IP address of the respondent and updates the corresponding entry in the table (step S 35 ). When there is no response, the media server  3  obtains the IP address in the current entry (step S 36 ). 
   The media server  3  replaces the permanent equipment identifier included in the temporary content position information in the content information by the IP address obtained at step S 35  or  36  (step S 37 ). The media server  3  allows the replaced temporary content position information to be reflected on the content information as the content position information (step S 38 ). The media server  3  then returns the content information as a response to the controller (step S 39 ). 
     FIG. 11  is a sequence diagram showing a third example of a procedure for updating the equipment information management table, and indicates a processing procedure when performing update of the table for each predetermined time. 
   In  FIG. 11 , predetermined update time interval and the available hours of the entry are determined, and the processing described below is performed for each time. 
   At the time of startup of the media server  3 , it is determined whether the available hours of the entry have passed since the last update date of the entry, with respect to the respective permanent equipment identifiers based on the UDN, of the respective entries in the equipment information management table (step S 41 ). If the available hours have passed, the media server  3  transmits the SSDP DISCOVER message to the corresponding UDN in the network  1  (step S 42 ). The content of the message is the same as the message transmitted at step S 21 . If there is no response within the predetermined time, the entry is not changed (step S 43 ), and if there is a response, the content of the corresponding entry in the equipment information management table is updated, designating the IP address of the respondent as the communication equipment address (step S 44 ). 
   As describe above, according to the present embodiment, the permanent equipment identifier included in the temporary content position information in the content information provided by the media server  3  is replaced by the IP address effective currently for accessing the media resource server  2 . Because of this, it is possible to quickly and surely access the media resource server  2  holding desirable contents, and receive offer of the contents. 
   In this embodiment, an example in which the media server  3  performs conversion of the content information in the content directory has been explained, but the controller  5  or the media renderer  4  may perform the similar conversion. In this case, the equipment identifier management table is placed in the controller  5  or in the media renderer  4 , and the content position information in the response generated by the media server  3  does not include the res value by the communication equipment identifier, but includes a value by the permanent equipment identifier. The controller  5  and the media renderer  4  respectively generate a res value based on the final communication equipment identifier by using the equipment identifier management table, based on the response result, to access the content resource. 
   An example in which an MAC address or UDN is registered as the permanent equipment identifier in the equipment information management table shown in  FIG. 6  has been explained, but a fixed IP address may be registered as the permanent equipment identifier. In this case, since it cannot be recognized only by the IP address whether the IP address dynamically changes, it is desired to register, in the equipment information management table, information indicating whether the IP address dynamically changes as well. 
   The IP address and the TCP/IP protocol are based on the IPv4, but these are similarly applicable to the IPv6. 
   At least portion of the communication system described in the above embodiment may be constituted as hardware or software. When the communication system are constituted as software, a program which realizes at least some functions of the communication system may be stored in a recording medium such as a floppy disk or a CD-ROM or the like, loaded on a computer, and then executed by the computer. The recording medium is not limited to a portable recording medium such as a magnetic disk or an optical disk. A fixed recording medium such as a hard disk drive or a memory may be used. 
   A program which realizes at least some functions of the communication system may be distributed through a communication network (including wireless communication) such as the Internet or the like. In addition, the program may be coded, modulated, or compressed and then distributed through a cable network or a wireless network such as the Internet. Alternatively, the program may be distributed being stored in a recording medium.