WO2009154249A1 - Remote access system, device, method and program - Google Patents

Remote access system, device, method and program Download PDF

Info

Publication number
WO2009154249A1
WO2009154249A1 PCT/JP2009/061092 JP2009061092W WO2009154249A1 WO 2009154249 A1 WO2009154249 A1 WO 2009154249A1 JP 2009061092 W JP2009061092 W JP 2009061092W WO 2009154249 A1 WO2009154249 A1 WO 2009154249A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
address
upnp
unit
gateway
Prior art date
Application number
PCT/JP2009/061092
Other languages
French (fr)
Japanese (ja)
Inventor
邦宏 石黒
Original Assignee
株式会社Access
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Access filed Critical 株式会社Access
Publication of WO2009154249A1 publication Critical patent/WO2009154249A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances

Definitions

  • the present invention relates to a communication system for remotely accessing a private network such as a home network via the Internet, and an apparatus, method, and program used in the system.
  • DLNA Digital Living Network Alliance
  • DMS Digital Media Server
  • DMP Digital Media Player
  • DMC Digital Media Controller
  • UPnP Universal Plug and Play
  • UPnP is a specification for detecting and connecting to devices connected to a local network such as a home network. For this reason, UPnP does not assume that a device located outside the local network accesses a device in the home network via the Internet, and has a mechanism that enables such remote access. Absent.
  • mobile terminals such as mobile phones capable of high-speed access to the Internet, large-capacity data communication, and browsing of moving image content have become widespread. As a result, the user can use not only from home but also from home, for example, to view content stored on a device at home using a mobile terminal. There is a demand for remote access to devices in the network.
  • Patent Document 1 describes an example of a UPnP remote access system.
  • the remote device in order to establish secure communication between a remote device (mobile phone) in an external network and a device in the home network, the remote device and the home gateway in the home network are used.
  • a tunnel based on IPSec (IP Security) is established.
  • many functions are provided in the home gateway in order to provide various services owned by devices in the home network to the remote devices.
  • Examples of functions given to the home gateway include a maintenance function that maintains a list of information on each device in the home network and information on services owned by each device and updates the information as needed, search from a remote device, There are a function of transferring a notification message to a device in a home network, a function of filtering a multicast address of a message transmitted from a remote device, and the like.
  • a tunnel by IPSec is constructed between the remote device and the home gateway as described above, and the above-mentioned home gateway is further configured as described above. Need to add many features like
  • the remote device in order to connect a remote device and a home network with an IPSec tunnel, the remote device must be an apparatus conforming to IPSec, and for this purpose, it is necessary to install IPSec client software in the remote device in advance. There is. Also, before constructing the tunnel, it is necessary to perform authentication, exchange of encryption keys, etc. between the remote device and the home gateway, and the processing becomes complicated. Furthermore, when it is desired to simultaneously connect to a home network from a plurality of remote devices, it is necessary to construct a tunnel for each remote device, which increases processing at the home gateway.
  • the present invention has been made in view of the above circumstances, and provides a remote access system that enables remote access to a home network from a remote location by a simple communication method without imposing a heavy load on the home gateway, and the remote access. It is an object to provide an apparatus, a method, and a program for realizing the above.
  • the present invention provides a remote access system for accessing a private network having a gateway and at least one device from the terminal device via the Internet.
  • the terminal device in the remote access system of the present invention includes a first network interface unit for connecting to a private network via the Internet, a first UPnP unit for performing communication based on the UPnP standard, and a UPnP discovery message as a destination for a gateway. And a first message conversion unit for converting into a unicast discovery message.
  • the gateway in the remote access system of the present invention includes a second network interface unit for connecting to the Internet, a third network interface unit for connecting to a private network, and a second UPnP unit for performing communication based on the UPnP standard.
  • a NAT unit that mutually converts a private address assigned to the device and a global address for Internet connection based on an address conversion table, and a unicast discovery message received from a terminal device is converted into a multicast discovery message. And a response message to the discovery message from the device via the second message conversion unit for transferring to the private network and the third network interface unit. Receive, the private address of the device included in the response message based on the address conversion table included in the NAT section, and a third message conversion unit for rewriting the global address corresponding to the private address.
  • the terminal device according to the present invention is characterized in that communication is performed with a device that is a transmission source of a response message based on a global address included in the response message.
  • the device address managed as a private address in the private network is converted into a global address based on the NAT address conversion table and transmitted to the terminal device.
  • communication from a terminal device managed by a global address to a device in the private network becomes possible.
  • the response message is rewritten by using the information of the address conversion table in the NAT function installed in a general gateway, it is slightly less than the standard UPnP function unit installed in the terminal device and the gateway. The communication between the terminal device and the device is possible only by performing expansion.
  • the remote access system of the present invention does not require complicated communication procedures such as tunneling in the terminal device or gateway, and only relatively light processing such as unicast / multicast change and address rewriting using NAT. Is done. Therefore, a system can be constructed using a terminal device having a relatively low processing capability such as a mobile phone.
  • the terminal device can communicate directly with the device as described above, the processing load of the gateway is relatively light, and even when remote access is simultaneously received from several terminal devices, the processing capacity of the gateway There is no shortage.
  • the third message conversion unit may be configured to rewrite a URL indicating the location of the UPnP description of the device included in the response message to a global address.
  • the description URL described in the private address included in the UPnP discovery response message or the like is converted into a global address and then transferred to the terminal device. Therefore, the terminal device using the global address is used. Thus, description information held by a device in a private network such as a home network can be acquired.
  • the private network may be a network constructed according to the DLNA guidelines.
  • a gateway for connecting a terminal device on the Internet and a private network includes a first network interface unit for connecting to the Internet, a third network interface unit for connecting to the private network, a private address assigned to the device, and a global address for connecting to the Internet.
  • a NAT unit for mutual conversion based on the address conversion table, a second message conversion unit for converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network, and a device to the discovery message
  • the private address of the device included in the response message is set based on the address conversion table used in NAT.
  • a third message conversion unit for rewriting the global address corresponding to the over preparative address.
  • a terminal device that accesses a private network having a gateway and at least one device via the Internet.
  • a terminal device includes a network interface unit for connecting to a private network via the Internet, a first UPnP unit that performs communication based on the UPnP standard, and a unicast discovery message whose destination is a UPnP discovery message.
  • a first message conversion unit for converting to a first message conversion unit.
  • the terminal device is characterized in that it communicates with the device that is the transmission source of the response message by using the global address included in the response message from the device.
  • the remote access method of the present invention includes a step of generating a UPnP discovery message executed in a terminal device, and a first message for converting the UPnP discovery message into a unicast discovery message destined for the gateway and transferring it to the gateway.
  • a conversion step a second message conversion step executed in the gateway, converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network, and receiving a response message to the discovery message from the device Then, the private address of the device included in the response message is converted into the private address based on the address conversion table used in NAT.
  • the NAT conversion step Made from the corresponding third message conversion step of rewriting the global address, the NAT conversion step of converting the private address and a global address assigned to the device to each other based on the address conversion table.
  • the present invention also provides a program for causing a computer to execute each step of the above method.
  • the present invention it is possible to provide a remote access system that enables access to a home network from a remote location by a simple communication method without imposing a heavy load on the gateway.
  • FIG. 1 is a diagram showing a schematic configuration of a remote access system according to the present invention. It is a block diagram which shows schematic structure of a home gateway. It is a functional block diagram which shows the main functions regarding the remote access system of this invention implement
  • DHCP Dynamic Host Configuration Protocol
  • DDNS Dynamic Domain Name System
  • GENA General Event Notification Architecture
  • HTTP Hyper Text Transfer Protocol
  • -HTTPPU HTTP over UDP
  • -HTTPMU HTTP Multicast over UDP
  • NAT Network Address Translation
  • RPC Remote Procedure Call
  • SOAP Simple Object Access Protocol
  • SSDP Simple Service Discovery Protocol
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • connectionless communication such as multicast is realized over IP.
  • URL Uniform Resource Locator
  • XML Extensible Markup Language
  • FIG. 1 is a diagram showing a schematic configuration of a remote access system 1 according to an embodiment of the present invention.
  • the remote access system 1 according to the present embodiment includes a home network 100, the Internet 200, and a terminal device 300.
  • the home network 100 is connected to the Internet 200 via a home gateway 10 described later.
  • the terminal device 300 is a mobile phone terminal, and is connected to the Internet 200 via a mobile phone network (not shown).
  • the home network 100 is a local (private) network constructed in the home, and is configured by the home gateway 10 and devices 21, 22 and 23 installed in the home.
  • the devices 21, 22, and 23 are home electronic devices such as a PC, a digital camera, an HDD recorder, or a home game machine.
  • the home gateway 10 and the devices 21, 22, and 23 are all products compliant with the DLNA guidelines, and constitute a home network 100 by being connected to each other by wire or wirelessly as will be described later.
  • FIG. 2 is a block diagram showing a schematic configuration of the home gateway 10.
  • the home gateway 10 includes a CPU 11, a memory 12, a local network interface unit 14, and a global network interface unit 15. These components are connected to each other via a bus 20 and are controlled by the CPU 11.
  • the memory 12 stores various data such as an address conversion table used in the NAT unit 160 described later, programs, and the like.
  • the program stored in the memory 12 includes a control program for realizing the functional blocks shown in FIG.
  • the CPU 11 implements each function shown in FIG. 3 by executing a program stored in the memory 12.
  • the local network interface unit 14 is a network interface that connects the home gateway 10 to the home network 100.
  • the global network interface unit 15 is a network interface that connects the home gateway 10 to the Internet 200.
  • FIG. 3 is a functional block diagram showing main functional blocks related to the remote access of the present invention realized in the home gateway 10.
  • the DLNA unit 130 is a functional block for realizing various functions defined by the DLNA guidelines, and performs various processes using the UPnP unit 131.
  • the UPnP unit 131 is a functional block for performing processing based on the UPnP standard.
  • the UPnP unit 131 includes a remote access processing unit 140 (hereinafter referred to as “RA processing unit 140”) as a function expansion unit for realizing remote access of the present invention. Further, the UPnP unit 131 performs various processes using the DHCP server unit 132 and the Web server unit 134. In the present embodiment, FIG.
  • the DLNA unit 130 performs various processes using many other functional blocks for realizing functions necessary for DLNA (not shown).
  • Other functions include, for example, an RTP (Real-time Transport Protocol) function that is a transmission protocol for streaming reproduction of audio data and video data in each device.
  • RTP Real-time Transport Protocol
  • the description will be focused on the processing related to UPnP used by DLNA, and thus description of other functions will be omitted.
  • the UPnP unit 131 performs processing such as addressing, discovery, description, control, eventing, and presentation, which will be described later, to automatically recognize a device in the home network 100 and establish mutual communication for sharing the content of the device. I do.
  • the DHCP server unit 132 is a functional block used for UPnP addressing, and has a function of automatically assigning a local address to a device connected to the home network 100.
  • the DHCP server unit 132 is set with a range of local addresses that can be assigned to each device, and provides the information to devices connected to the home network 100. Then, when the device finishes communication, the address is automatically collected and assigned to another device.
  • the Web server unit 134 has a function of performing communication with the outside using a protocol such as HTTP.
  • the NAT unit 160 has a function of mutually converting a local address assigned to each device 21, 22, and 23 in the home network 100 and a global address used for communication with a device on the Internet 200. It is a conversion unit. Specifically, for example, when the device 23 accesses the Internet 200, the local IP address assigned to the device 23 by the NAT unit 160 and the TCP / UDP port number for the local network are the global IP address and the Internet. Is converted to a TCP / UDP port number. Contents to be converted by the NAT unit 160 (that is, combinations of IP addresses and TCP / UDP port numbers used in the home network 100 and the Internet 200) are registered in the address conversion table and stored in the memory 12. .
  • the NAT unit 160 refers to the address conversion table and converts the local address used in the home network 100 and the converted global address to each other.
  • a device identified by a local address in the home network 100 is identified by a global address on the Internet 200.
  • FIG. 4 shows a DLNA protocol stack.
  • the highest layer in the DLNA protocol stack is a DLNA layer that provides services in accordance with DLNA guidelines to various applications.
  • the DLNA layer includes various interfaces such as GUI (Graphical User Interface) and API (Application Programming Interface).
  • GUI Graphic User Interface
  • API Application Programming Interface
  • Below the DLNA layer there is a UPnP layer that provides a service according to the UPnP standard to the DLNA layer.
  • the UPnP layer uses various protocols such as SSDP, SOAP, and GENA.
  • This protocol is used when performing discovery, control, and eventing processes in SSDP, SOAP, GENA, and UPnP.
  • the SSDP used for discovery transmits and receives messages using HTTPMU and HTTPPU operating on UDP / IP.
  • Control and eventing executed using SOAP and GENA are performed by connection-type communication on TCP / IP.
  • the actual processing of UPnP composed of such a protocol stack will be described with reference to FIG.
  • FIG. 5 is a diagram for explaining the flow of UPnP processing in the home network 100.
  • the flow of processing of automatic recognition and content sharing of devices and contents in the home network 100 by UPnP will be described by taking as an example a case where a device 23 is newly connected to the home network 100.
  • This UPnP processing is realized by executing a UPnP function by a CPU (not shown) provided in the devices 21, 22, and 23 that comply with the DLNA guidelines.
  • Automatic recognition and content sharing by UPnP is realized by a six-stage process of addressing, discovery, description, control, eventing, and presentation.
  • a local IP address in the home network 100 is automatically assigned to the device 23 by the DHCP server unit 132 of the home gateway 10. (S2). This process is called addressing.
  • the device 23 uses an Auto IP function provided in the own device, and uses an arbitrary IP that does not overlap with other devices from a reserved address. It is also possible to select an address and automatically set its own IP address.
  • discovery is performed next.
  • a discovery message is transmitted from the device 23 to each device in the home network 100 by multicast (S3).
  • This discovery message includes information about the device 23 such as a device type, a query for making an inquiry to devices existing on the home network 100, and the like.
  • the discovery message multicast-transmitted in the process of S3 is received by the home gateway 10 and the devices 21 and 22.
  • communication performed between the device 23 and the device 21 will be described as an example.
  • the device 21 that has received the discovery message transmits a response message notifying that the device is connected to the network to the device 23 (S4).
  • the response message includes basic information such as the device type and service type of the device 21 and the local IP address of the device 21 as well as a URL for referring to a description to be described later.
  • SSDP is used for transmitting a discovery message and a response message.
  • SSDP defines a method for detecting a device in a network and a method for notifying availability of a device. Further, in the discovery, only devices having a specific function among devices connected in the home network 100 can be detected. In this case, a discovery message including a query for only a device having a specific function is transmitted from the device 23 by multicast. Each device that has received the discovery message transmits a response message only when the device itself has the function.
  • the device 23 that has received the response message from the device 21 acquires a description from the device 21 in order to acquire more detailed information of the device 21.
  • the description is a document described in XML, and includes a device description in which a device type name and a list of services to be provided are described, and information on each service provided by the device (a list of commands, actions, parameters of each action, etc.) There are two types of service descriptions in which are described).
  • the device 23 transmits a description request to the device 21 based on the description URL included in the response message from the device 21 (S5). Then, in response to the description request, the device 21 transmits the description to the device 23 (S6). Transmission and reception of these descriptions is performed by HTTP communication.
  • the acquisition of the device description and the service description is described as one process, but in detail, the request and response for each description. Are performed in order.
  • the device 23 first acquires the device description of the device 21. Then, from the contents of the acquired device description, the type of service provided by the device 21 and the URL of the service description in which detailed information about each service is described are known. If the device 21 provides a necessary service to the device 23, the device 23 then requests the device 21 for a service description regarding the service. Then, a service description is acquired from the device 21.
  • control processing for controlling the device 21 is performed.
  • This process is called control. Specifically, first, a control message including an action request regarding a service provided by the device 21 is transmitted from the device 23 to the device 21 (S7). Then, a result or error for the control message is returned from the device 21 to the device 23 (S8).
  • This control is performed using SOAP. In this way, the service provided by the device 21 can be used by the device 23 by communicating the control message and the result / error.
  • eventing is performed to notify the device 23 of this change (S9).
  • eventing is performed when a service item provided by the device 21 is added or deleted.
  • Eventing is a process of notifying the device 23 that the service provided by the device 21 has been changed using GENA.
  • GENA when the state of the device changes (an event occurs), notification of the event can be transmitted to a device in the network using HTTP.
  • the device 21 has a presentation page, that is, if the URL of the presentation page is included in the device description transmitted from the device 21, the device 23 acquires this page and reads it into the browser. Then, the page is displayed on a display screen (not shown) provided in the device 23. Depending on the function of the page, information on the state of the device 21 can be acquired from the device 21 and displayed on the device 23. Such processing is called presentation (S10).
  • the device 23 newly added to the home network 100 and the device 21 becomes possible.
  • the device 22 and the home gateway 10 that have received the discovery message multicast-transmitted from the device 23 also perform processing such as description, control, eventing, and presentation, as in the case of the device 21. Done.
  • the device 23 and each device in the home network 100 can communicate with each other, and control between devices and content sharing can be performed.
  • the device 21 is a DMS holding content such as a digital camera
  • the device 22 is a DMP having a content playback function such as a television
  • the device 23 is defined as a DMC having a control function such as a PC.
  • content reproduction processing and the like are performed by the cooperation operation of each device based on the procedure stipulated in the DLNA guidelines. Specifically, by controlling the DMS (device 21) and the DMP (device 22) by the DMC (device 23), the image owned by the DMS (device 21) is transferred to the DMP (device 22), and the DMP It can be displayed on the screen.
  • FIG. 6 is a block diagram illustrating a schematic configuration of the terminal device 300.
  • the terminal device 300 is a mobile phone terminal.
  • a mobile terminal such as a PHS (Personal Handy Phone system), a PDA (Personal Digital Assistants), or a mobile game machine may be used.
  • a terminal that can be connected to the home gateway 10 via the Internet 200 such as an installed PC may be used.
  • the terminal device 300 includes a CPU 310 that performs overall control of the entire device, a memory 320 that stores programs such as various data and applications, an input unit 330 including numeric keys and direction keys for receiving user input, a liquid crystal display, an organic EL display, and the like And a network interface unit 350 for accessing the Internet 200 via a mobile phone network. These components are interconnected with other components via a bus 390.
  • FIG. 7 is a functional block diagram showing main functional blocks related to the remote access of the present invention realized by the CPU 310.
  • the memory 320 stores a control program for the CPU 310 to realize each functional block shown in FIG. 7, and the CPU 310 reads out and executes each program from the memory 320, thereby causing each of the functional blocks shown in FIG. 7 to be executed. Function is realized.
  • the DLNA unit 360 in FIG. 7 is a functional block that performs communication based on DLNA guidelines.
  • the DLNA unit 360 executes various processes using the UPnP unit 362.
  • the UPnP unit 362 is a functional block that performs communication processing based on the UPnP standard, and includes discovery, description, control, eventing, and presentation processes.
  • the UPnP unit 362 includes a remote access processing unit 366 (hereinafter referred to as “RA processing unit 366”) as a function expansion unit for realizing remote access of the present invention.
  • RA processing unit 366 remote access processing unit 366
  • the DLNA unit 360 performs processing using many functional blocks (not shown) used in the DLNA system such as the RTP function in addition to the UPnP unit 362. It has become.
  • FIG. 8 is a diagram for explaining remote access processing for performing remote access from the terminal device 300 to the home network 100 in the remote access system 1 of the present embodiment.
  • the user of the terminal device 300 operates the input unit 330 to start an application (for example, an HDD recorder remote playback application) based on DLNA installed in the memory 320 in advance.
  • an application for example, an HDD recorder remote playback application
  • the terminal device 300 establishes a connection with the Internet 200 via the mobile phone network (S101).
  • the local IP addresses of the devices 21, 22 and 23 in the home network 100 are assigned by the DHCP server unit 132 provided in the home gateway 10 at the time of addressing in the UPnP process.
  • the local IP address is set by the Auto IP function provided in the device.
  • the terminal device 300 of this embodiment is connected to the Internet 200 instead of the home network 100 as described above. Therefore, it is not possible to perform addressing of the local IP address that is performed in a normal UPnP device such as the devices 21, 22, and 23. Further, the terminal device 300 does not normally have an Auto IP function.
  • the addressing of the terminal device 300 is performed by assigning a global address from a DHCP server provided in an access point on a mobile phone network (not shown) when establishing a connection with the Internet 200. In the subsequent processing, this global address is used for identification and management of the terminal device 300.
  • the home network 100 that is the connection destination is designated (S102).
  • the home network 100 is specified by the user of the terminal device 300 using the input unit 330 to input the domain name of the home network 100 or the like.
  • the home gateway 10 is published on the Internet 200 as a public server of the home network 100.
  • services called DNS and DNS are used.
  • a global address used on the Internet 200 is assigned to the home gateway 10. This assignment is performed by a network provider that provides an Internet connection service to the home network 100.
  • the assigned global address is associated with the domain name indicating the home network 100 and registered in a DNS server owned by the Internet service provider.
  • the domain name can be arbitrarily set.
  • the contents registered in the DNS server can be updated as the global address assigned to the home gateway 10 changes.
  • a unique domain name is always assigned to the home gateway 10 even when a new global address is given each time the home gateway 10 connects to the Internet 200.
  • the terminal device 300 can be connected to the home network 100 by inputting or specifying the domain name of the home network 100.
  • discovery by the UPnP unit 362 of the terminal device 300 is executed.
  • the UPnP unit 362 creates a discovery message using SSDP (S103).
  • the discovery message created by the UPnP unit 362 conforms to the UPnP standard, and designates a multicast address by UDP as a destination.
  • the RA processing unit 366 rewrites the discovery message created by the UPnP unit 362 into a message in a format suitable for remote access (hereinafter referred to as “RA message”) (S104).
  • RA message a format suitable for remote access
  • the RA message rewritten by the RA processing unit 366 is unicast transmitted from the network interface unit 350 to the home gateway 10 via the mobile phone network and the Internet 200 (S105).
  • the RA message unicast transmitted from the terminal device 300 is received by the global network interface unit 15 of the home gateway 10.
  • the CPU 11 recognizes that the message is an RA message from the header information of the RA message received by the global network interface unit 15 from the terminal device 300, and executes the RA processing unit 140.
  • the RA processing unit 140 When the RA processing unit 140 reads the received RA message and recognizes that it is a discovery message transmitted from the terminal device 300, the RA processing unit 140 converts it into a multicast discovery message with the destination address as the network address of the home network 100 (S106). ). That is, this discovery message is generated so as to be transmitted by multicast using the global address of the terminal device 300 as a source address and the home network 100 as a destination address. Next, the discovery message converted by the RA processing unit 140 is multicast from the local network interface unit 14 into the home network 100 (S107).
  • the discovery message transmitted from the home gateway 10 by multicast is received by each of the devices 21, 22 and 23.
  • the subsequent processing will be described taking communication between the device 23 and the home gateway 10 as an example.
  • the device 23 that has received the discovery message from the home gateway 10 confirms that it is the target of the discovery message
  • the device 23 generates a response message notifying that the own device is connected to the network.
  • This response message includes basic information such as the device type and service type of the device 23 and the local address of the device 23, as well as a URL for referring to a description to be described later.
  • the destination of the response message is the global address of the terminal device 300 described in the discovery message.
  • the response message generated by the device 23 is transmitted to the home gateway 10 (S108).
  • the home gateway 10 that has received the response message from the device 23 next rewrites the received response message (S109).
  • the RA processing unit 140 refers to the address conversion table used in the NAT unit 160 and extracts the global address of the device 23 corresponding to the local address of the device 23 included in the response message. If the local address of the device 23 is not registered in the address conversion table, a new global address is assigned to the device 23, and the assigned global address and the corresponding local address are registered in the address conversion table. After that, the assigned global address is extracted.
  • the RA processing unit 140 rewrites the IP address part indicating the transmission source device included in the response message from the device 23 to the global address extracted from the local address of the device 23.
  • the detected devices are identified and managed by the local addresses assigned to them.
  • the terminal device 300 and each device in the home network 100 remain as they are. Cannot communicate directly.
  • the terminal device 300 can directly communicate with the device 23 in the home network 100 using the global address.
  • the response message includes a URL for referring to the description of the device 23, and the like.
  • This URL is also a local address in the home network 100. Therefore, in the process of S109, the description URL is also rewritten to a global address based on the address conversion table of the NAT unit 160. Accordingly, the terminal device 300 can make a description request based on the global address. Then, the response message rewritten as described above is transmitted from the home gateway 10 to the terminal device 300 (S110).
  • the subsequent processing is the same as the UPnP processing in FIG. 5 except that the NAT unit 160 of the home gateway 10 performs address conversion.
  • the terminal device 300 transmits a request message for requesting the description of the device 23 based on the URL (global address) included in the response message of the device 23 transmitted from the home gateway 10 (S111). .
  • the request message transmitted from the terminal device 300 is first received by the home gateway 10.
  • the home gateway 10 converts the destination address of the received request message from the global address to the local address in the NAT unit 160 and transfers it to the device 23.
  • the device 23 returns a description (S112).
  • control message transmission S113
  • result / error reception S114
  • event notification by GENA S115
  • presentation S116
  • the home gateway 10 converts the destination address of the received message from the global address to the local address or from the local address to the global address in the NAT unit 160, and transmits it to the device 23 or the terminal device 300, respectively.
  • the terminal device 300 and the device 23 can directly communicate with each other.
  • the UPnP process between the terminal device 300 and the other devices 21 and 22 is performed in the same manner as described above.
  • the terminal device 300 and the devices 21, 22 and 23 in the home network 100 can communicate with each other, and the communication terminal 300 can share services and contents provided by the devices 21, 22 and 23. It becomes possible.
  • the DLNA unit 360 of the terminal device 300 defines, for example, that the device 21 is a DMS that owns content such as a digital camera, and the terminal device 300 is a DMP that has a content playback function. Then, content such as an image can be downloaded from the device 21 (DMS) by the terminal device 300 (DMP) and displayed on the display unit 340. Thereby, for example, the content stored in the device in the home network 100 can be shared by the terminal device 300 even when away from home.
  • the DLNA and remote access processing are executed by the CPU (11, 310) by calling a program stored in the memory (12, 320) of the terminal device 300 and the home gateway 10.
  • all or a part of each functional unit may be mounted as ASIC (Application Specific Specific Integrated Circuit) on each device, and the hardware may be realized by the ASIC.
  • ASIC Application Specific Specific Integrated Circuit
  • processing is executed according to normal UPnP except that the RA processing unit 366 transmits a discovery message to the home gateway 10 by unicast. Therefore, it is not necessary to provide an additional application in the terminal device 300.
  • the address conversion of the terminal device 300 having a different address space to be used and the devices 21, 22 and 23 in the home network 100 is performed by using address conversion of the NAT function provided in a general gateway.
  • the interconnection can be realized by the Internet access normally used. Therefore, it is not necessary to provide a tunnel between the home network 100 and the terminal device 300.
  • the terminal device 300 can know the address (global address) of the device in the home network 100 by rewriting the response message in the home gateway 10.
  • the terminal device 300 and each device in the home network 100 can directly communicate with each other, so that the home gateway 10 lists information on each device in the network and information on services owned by each device. There is no need to perform maintenance. Therefore, in the remote access system 1 of the present embodiment, it is possible to access the home network 100 from a remote location by a simple communication method without imposing a heavy load on the home gateway 10.
  • this embodiment relates to remote access to a home network compliant with DLNA, but is not limited to this, and can be applied to a home network compliant with other standards using UPnP.

Abstract

Provided are a terminal device and a remote access system to a home network having a home gateway. The terminal device is provided with a first Universal Plug and Play (UPnP) unit for communicating based on the UPnP protocol, and a first message conversion unit for converting a UPnP discovery message to unicast. The gateway is comprised of a second UPnP unit for communicating based on the UPnP protocol; a network address translator (NAT) unit which translates between the private address assigned to a device and a global address; a second message conversion unit which converts a unicast discovery message received from the terminal device to a multicast discovery message, and transmits the message to a private network; and a third message conversion unit which rewrites the private address of the device included in the reply message received from the device to the global address corresponding to the private address.

Description

リモートアクセスシステム、装置、方法及びプログラムRemote access system, apparatus, method and program
 本発明は、インターネットを経由してホームネットワーク等のプライベートネットワークにリモートアクセスするための通信システム、ならびに当該システムに用いられる装置、方法およびプログラムに関する。 The present invention relates to a communication system for remotely accessing a private network such as a home network via the Internet, and an apparatus, method, and program used in the system.
 近年、ホームネットワークに関する標準化団体であるDLNA(Digital Living Network Alliance)において、家庭内におけるデジタルAV機器等のデジタル家電機器や、PC(パーソナルコンピュータ)等を相互に接続し、動画や音楽等のデジタルコンテンツを相互利用するためのガイドラインが策定されている。以降の説明においては、DLNAにより策定されたガイドラインについて「DLNA」と称する。DLNAでは、コンテンツを提供するサーバがDMS(Digital Media Server)、再生するクライアントがDMP(Digital Media Player)、DMSやDMPを制御するコントローラがDMC(Digital Media Controller)と定義され、これらのデバイス間で交換されるデータ形式や通信手順等が定められている。このDLNAに準拠したデバイスを用いてホームネットワークを構成することにより、例えば、携帯電話端末(DMC)を用いてPC(DMS)に保存されたコンテンツをテレビ(DMP)で表示させるといったことが可能となっている。 In recent years, DLNA (Digital Living Network Alliance), a standardization organization for home networks, connects digital home appliances such as digital AV devices in the home, personal computers (PCs), and other digital contents such as videos and music. Guidelines have been formulated for mutual use. In the following description, the guidelines established by DLNA are referred to as “DLNA”. In DLNA, a server that provides content is defined as DMS (Digital Media Server), a playback client is defined as DMP (Digital Media Player), and a controller that controls DMS or DMP is defined as DMC (Digital Media Controller). Exchanged data formats, communication procedures, etc. are defined. By configuring a home network using a DLNA-compliant device, for example, it is possible to display content stored on a PC (DMS) on a television (DMP) using a cellular phone terminal (DMC). It has become.
 DLNAでは、ホームネットワーク内のデバイスの自動認識及び該デバイスが備えるコンテンツの共有を行うための技術仕様として、UPnP(Universal Plug and Play)が採用されている。UPnPは、ホームネットワーク等のローカルネットワークに接続されたデバイスを検出し、相互に接続するための仕様である。そのため、UPnPでは、ローカルネットワークの外部に位置するデバイスから、インターネットを経由して、ホームネットワーク内のデバイスにアクセスすることは想定されておらず、そのようなリモートアクセスを可能にする仕組みも備わっていない。ところで、近年、インターネットへの高速アクセス、大容量のデータ通信、および動画コンテンツの閲覧等が可能な携帯電話などの携帯端末が普及している。そして、これに伴い、利用者においては、家庭内だけでなく、例えば外出先から携帯端末を用いて自宅のデバイスに記憶されているコンテンツを鑑賞するなど、外出先からもインターネットを経由してホームネットワーク内のデバイスにリモートアクセスしたいといった要望がある。 In DLNA, UPnP (Universal Plug and Play) is adopted as a technical specification for automatically recognizing a device in a home network and sharing content included in the device. UPnP is a specification for detecting and connecting to devices connected to a local network such as a home network. For this reason, UPnP does not assume that a device located outside the local network accesses a device in the home network via the Internet, and has a mechanism that enables such remote access. Absent. By the way, in recent years, mobile terminals such as mobile phones capable of high-speed access to the Internet, large-capacity data communication, and browsing of moving image content have become widespread. As a result, the user can use not only from home but also from home, for example, to view content stored on a device at home using a mobile terminal. There is a demand for remote access to devices in the network.
 このような要望に応えるため、近年、UPnPのリモートアクセス技術の開発が進められている。特許文献1には、UPnPのリモートアクセスシステムの一例が記載されている。特許文献1におけるUPnPリモートアクセスシステムでは、外部ネットワークのリモートデバイス(携帯電話)とホームネットワーク内のデバイスとの間で安全な通信を確立するために、リモートデバイスとホームネットワークのホームゲートウェイとの間でIPSec(IP Security)によるトンネルが構築される。さらに、ホームネットワーク内のデバイスが所有する種々のサービスをリモートデバイスに提供するために、ホームゲートウェイに多くの機能が与えられている。ホームゲートウェイに与えられた機能の例としては、ホームネットワーク内の各デバイスの情報および各デバイスが所有するサービスに関する情報のリストを保持して該情報を随時更新するメンテナンス機能、リモートデバイスからの検索および通知メッセージをホームネットワーク内のデバイスへ転送する機能、リモートデバイスから送信されるメッセージのマルチキャストアドレスをフィルタリングする機能などがある。 In response to such demands, UPnP remote access technology has been developed in recent years. Patent Document 1 describes an example of a UPnP remote access system. In the UPnP remote access system in Patent Document 1, in order to establish secure communication between a remote device (mobile phone) in an external network and a device in the home network, the remote device and the home gateway in the home network are used. A tunnel based on IPSec (IP Security) is established. Furthermore, many functions are provided in the home gateway in order to provide various services owned by devices in the home network to the remote devices. Examples of functions given to the home gateway include a maintenance function that maintains a list of information on each device in the home network and information on services owned by each device and updates the information as needed, search from a remote device, There are a function of transferring a notification message to a device in a home network, a function of filtering a multicast address of a message transmitted from a remote device, and the like.
国際公開公報 WO2007/110,754号International Publication No. WO2007 / 110,754
 ここで、DLNAのホームネットワークにおいて、特許文献1に記載のUPnPリモートアクセスを採用するためには、上記のようにリモートデバイスとホームゲートウェイとの間にIPSecによるトンネルを構築し、さらにホームゲートウェイに上記のような多くの機能を追加する必要がある。 Here, in order to employ the UPnP remote access described in Patent Document 1 in the DLNA home network, a tunnel by IPSec is constructed between the remote device and the home gateway as described above, and the above-mentioned home gateway is further configured as described above. Need to add many features like
 しかしながら、リモートデバイスとホームネットワークとをIPSecのトンネルで接続するためには、リモートデバイスがIPSecに準拠した装置でなければならず、そのために、予めIPSecのクライアントソフトウェアをリモートデバイスにインストールしておく必要がある。また、トンネルを構築する前に、リモートデバイスとホームゲートウェイとの間で認証や暗号鍵の交換等を行う必要があり、処理が煩雑となる。さらに、複数のリモートデバイスからホームネットワークに同時に接続したい場合などは、リモートデバイス毎にそれぞれトンネルを構築する必要があり、ホームゲートウェイにおける処理が増大してしまう。 However, in order to connect a remote device and a home network with an IPSec tunnel, the remote device must be an apparatus conforming to IPSec, and for this purpose, it is necessary to install IPSec client software in the remote device in advance. There is. Also, before constructing the tunnel, it is necessary to perform authentication, exchange of encryption keys, etc. between the remote device and the home gateway, and the processing becomes complicated. Furthermore, when it is desired to simultaneously connect to a home network from a plurality of remote devices, it is necessary to construct a tunnel for each remote device, which increases processing at the home gateway.
 また、上述のように特許文献1のリモートアクセスシステムでは、トンネルによって接続されるのはリモートデバイスとホームゲートウェイのみである。そのため、リモートデバイスからホームネットワーク内のデバイスへは直接アクセスできず、ホームゲートウェイにて、ネットワーク内のデバイスが提供するサービスに関する情報などを収集して保持しておく必要がある。さらに、ホームネットワーク内の各デバイスの情報が更新される度に、ホームゲートウェイによって保持される情報も更新しなければならない。そのため、ホームゲートウェイにおいて行わなければならない処理が増大し、ホームゲートウェイの負荷が大きくなってしまう。特に多数のデバイスが接続されたホームネットワークでは、ホームゲートウェイの処理量が増えるだけでなく、必要な記憶容量も増大してしまうといった問題もあった。 Further, as described above, in the remote access system of Patent Document 1, only the remote device and the home gateway are connected by the tunnel. For this reason, it is not possible to directly access a device in the home network from a remote device, and it is necessary to collect and hold information on services provided by the device in the network at the home gateway. In addition, every time the information of each device in the home network is updated, the information held by the home gateway must be updated. For this reason, the processing that must be performed in the home gateway increases, and the load on the home gateway increases. Particularly in a home network to which a large number of devices are connected, there is a problem that not only the processing amount of the home gateway increases, but also the necessary storage capacity increases.
 本発明は上記事情に鑑みてなされたものであり、ホームゲートウェイに大きな負荷をかけることなく、簡易な通信方式によって遠隔地からホームネットワークへのリモートアクセスを可能にするリモートアクセスシステム、ならびに該リモートアクセスを実現する装置、方法およびプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides a remote access system that enables remote access to a home network from a remote location by a simple communication method without imposing a heavy load on the home gateway, and the remote access. It is an object to provide an apparatus, a method, and a program for realizing the above.
 上記の課題を解決するため、本発明により、端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なうリモートアクセスシステムが提供される。本発明のリモートアクセスシステムにおける端末装置は、インターネットを介してプライベートネットワークへ接続するための第1ネットワークインタフェース部と、UPnP規格に基づいて通信を行う第1UPnP部と、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部とを備えている。また、本発明のリモートアクセスシステムにおけるゲートウェイは、インターネットと接続するための第2ネットワークインタフェース部と、プライベートネットワークと接続するための第3ネットワークインタフェース部と、UPnP規格に基づいて通信を行う第2UPnP部と、デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、第3ネットワークインターフェース部を介して、デバイスからディスカバリメッセージに対する応答メッセージを受信し、該応答メッセージに含まれるデバイスのプライベートアドレスをNAT部が有するアドレス変換テーブルに基づいて、プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換部とを備えている。そして、本発明の端末装置は、応答メッセージに含まれるグローバルアドレスに基づいて、応答メッセージの送信元であるデバイスとの通信を行なうことを特徴としている。 In order to solve the above-described problems, the present invention provides a remote access system for accessing a private network having a gateway and at least one device from the terminal device via the Internet. The terminal device in the remote access system of the present invention includes a first network interface unit for connecting to a private network via the Internet, a first UPnP unit for performing communication based on the UPnP standard, and a UPnP discovery message as a destination for a gateway. And a first message conversion unit for converting into a unicast discovery message. The gateway in the remote access system of the present invention includes a second network interface unit for connecting to the Internet, a third network interface unit for connecting to a private network, and a second UPnP unit for performing communication based on the UPnP standard. A NAT unit that mutually converts a private address assigned to the device and a global address for Internet connection based on an address conversion table, and a unicast discovery message received from a terminal device is converted into a multicast discovery message. And a response message to the discovery message from the device via the second message conversion unit for transferring to the private network and the third network interface unit. Receive, the private address of the device included in the response message based on the address conversion table included in the NAT section, and a third message conversion unit for rewriting the global address corresponding to the private address. The terminal device according to the present invention is characterized in that communication is performed with a device that is a transmission source of a response message based on a global address included in the response message.
 上記構成のリモートアクセスシステムによれば、プライベートネットワーク内において、プライベートアドレスで管理されているデバイスのアドレスを、NATのアドレス変換テーブルに基づいてグローバルアドレスに変換して端末装置に送信する。これにより、グローバルアドレスで管理される端末装置から、プライベートネットワーク内のデバイスをあて先とした通信が可能となる。また、一般的なゲートウェイに搭載されているNAT機能におけるアドレス変換テーブルの情報を利用して応答メッセージの書き換え等を行うめ、端末装置とゲートウェイに実装される標準のUPnP機能部に対して僅かな拡張を行うだけで、上記端末装置とデバイスの通信が可能となる。また、本発明のリモートアクセスシステムでは、端末装置やゲートウェイにおいてトンネリング等の複雑な通信手続を必要とせず、単にユニキャスト/マルチキャストの変更や、NATを利用したアドレス書き換え等の比較的に軽い処理のみが行われる。そのため、携帯電話等の比較的に処理能力の低い端末装置を使用してシステムを構築することができる。また、上記のように端末装置から直接デバイスへの通信が可能となるため、ゲートウェイの処理負担が比較的に軽くなり、数台の端末装置から同時にリモートアクセスを受けた場合でも、ゲートウェイの処理能力が不足するようなこともない。 According to the remote access system configured as described above, the device address managed as a private address in the private network is converted into a global address based on the NAT address conversion table and transmitted to the terminal device. As a result, communication from a terminal device managed by a global address to a device in the private network becomes possible. In addition, since the response message is rewritten by using the information of the address conversion table in the NAT function installed in a general gateway, it is slightly less than the standard UPnP function unit installed in the terminal device and the gateway. The communication between the terminal device and the device is possible only by performing expansion. Further, the remote access system of the present invention does not require complicated communication procedures such as tunneling in the terminal device or gateway, and only relatively light processing such as unicast / multicast change and address rewriting using NAT. Is done. Therefore, a system can be constructed using a terminal device having a relatively low processing capability such as a mobile phone. In addition, since the terminal device can communicate directly with the device as described above, the processing load of the gateway is relatively light, and even when remote access is simultaneously received from several terminal devices, the processing capacity of the gateway There is no shortage.
 上記構成のリモートアクセスシステムにおいて、第3メッセージ変換部は、さらに応答メッセージに含まれるデバイスのUPnPディスクリプションの場所を示すURLをグローバルアドレスへ書き換えるように構成されていてもよい。 In the remote access system configured as described above, the third message conversion unit may be configured to rewrite a URL indicating the location of the UPnP description of the device included in the response message to a global address.
 この構成により、ゲートウェイにおいて、UPnPのディスカバリ応答メッセージ等に含まれる、プライベートアドレスで記述されたディスクリプションのURLがグローバルアドレスに変換されてから端末装置に転送されるため、グローバルアドレスを使用する端末装置からホームネットワーク等のプライベートネットワーク内のデバイスが保持するディスクリプション情報を取得することが可能になる。 With this configuration, in the gateway, the description URL described in the private address included in the UPnP discovery response message or the like is converted into a global address and then transferred to the terminal device. Therefore, the terminal device using the global address is used. Thus, description information held by a device in a private network such as a home network can be acquired.
 また、プライベートネットワークは、DLNAガイドラインに従って構築されたネットワークであっても良い。 Also, the private network may be a network constructed according to the DLNA guidelines.
 また、本発明により、インターネット上の端末装置とプライベートムネットワークとを接続するゲートウェイが提供される。本発明のゲートウェイは、インターネットと接続するための第1ネットワークインタフェース部と、プライベートネットワークと接続するための第3ネットワークインタフェース部と、デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、デバイスからディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれるデバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換部とを備えている。 Also, according to the present invention, a gateway for connecting a terminal device on the Internet and a private network is provided. The gateway of the present invention includes a first network interface unit for connecting to the Internet, a third network interface unit for connecting to the private network, a private address assigned to the device, and a global address for connecting to the Internet. A NAT unit for mutual conversion based on the address conversion table, a second message conversion unit for converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network, and a device to the discovery message When the response message is received, the private address of the device included in the response message is set based on the address conversion table used in NAT. And a third message conversion unit for rewriting the global address corresponding to the over preparative address.
 また、本発明により、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスする端末装置が提供される。本発明の端末装置は、インターネットを介してプライベートネットワークへ接続するためのネットワークインタフェース部と、UPnP規格に基づいて通信を行う第1UPnP部と、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部とを備えている。さらに、端末装置は、デバイスからの応答メッセージに含まれるグローバルアドレスを用いて、応答メッセージの送信元であるデバイスとの通信を行なうことを特徴としている。 Also, according to the present invention, a terminal device that accesses a private network having a gateway and at least one device via the Internet is provided. A terminal device according to the present invention includes a network interface unit for connecting to a private network via the Internet, a first UPnP unit that performs communication based on the UPnP standard, and a unicast discovery message whose destination is a UPnP discovery message. A first message conversion unit for converting to a first message conversion unit. Further, the terminal device is characterized in that it communicates with the device that is the transmission source of the response message by using the global address included in the response message from the device.
 また、本発明により、端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してリモートアクセスを行なう方法が提供される。本発明のリモートアクセスの方法は、端末装置において実行される、UPnPディスカバリメッセージを生成するステップと、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換してゲートウェイへ転送する第1メッセージ変換ステップと、ゲートウェイにおいて実行される、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換ステップと、デバイスからディスカバリメッセージに対する応答メッセージを受信し、該応答メッセージに含まれるデバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換ステップと、デバイスに割り当てられたプライベートアドレスとグローバルアドレスとをアドレス変換テーブルに基づき相互に変換するNAT変換ステップとからなる。また、本発明により、上記の方法の各ステップをコンピュータに実行させるためのプログラムも提供される。 Further, according to the present invention, there is provided a method for performing remote access from a terminal device to a private network having a gateway and at least one device via the Internet. The remote access method of the present invention includes a step of generating a UPnP discovery message executed in a terminal device, and a first message for converting the UPnP discovery message into a unicast discovery message destined for the gateway and transferring it to the gateway. A conversion step, a second message conversion step executed in the gateway, converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network, and receiving a response message to the discovery message from the device Then, the private address of the device included in the response message is converted into the private address based on the address conversion table used in NAT. Made from the corresponding third message conversion step of rewriting the global address, the NAT conversion step of converting the private address and a global address assigned to the device to each other based on the address conversion table. The present invention also provides a program for causing a computer to execute each step of the above method.
 したがって、本発明によれば、ゲートウェイに大きな負荷をかけることなく、簡易な通信方法にて遠隔地からホームネットワークへのアクセスを可能としたリモートアクセスシステムを提供することができる。 Therefore, according to the present invention, it is possible to provide a remote access system that enables access to a home network from a remote location by a simple communication method without imposing a heavy load on the gateway.
本発明に係るリモートアクセスシステムの概略構成を示す図である。1 is a diagram showing a schematic configuration of a remote access system according to the present invention. ホームゲートウェイの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of a home gateway. ホームゲートウェイにおいて実現される、本発明のリモートアクセスシステムに関する主な機能を示す機能ブロック図である。It is a functional block diagram which shows the main functions regarding the remote access system of this invention implement | achieved in a home gateway. DLNAのプロトコルスタックを示す図である。It is a figure which shows the protocol stack of DLNA. ホームネットワークにおけるUPnP処理の流れを説明するための図である。It is a figure for demonstrating the flow of the UPnP process in a home network. 端末装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of a terminal device. 端末装置において実現される、本発明のリモートアクセスシステムに関する主な機能を示す機能ブロック図である。It is a functional block diagram which shows the main functions regarding the remote access system of this invention implement | achieved in a terminal device. 本発明のリモートアクセス処理の流れを説明するための図である。It is a figure for demonstrating the flow of the remote access process of this invention.
 まず、本発明の実施形態の説明において用いられる用語について、以下に説明する。
・DHCP (Dynamic Host Configuration Protocol):動的にIPアドレスを割り当てるプロトコル。
・DDNS (Dynamic Domain Name System):動的に割り当てられるIPアドレスとドメイン名とを対応させるシステム。
・GENA (General Event Notification Architecture):UPnPのイベント通知に利用されるプロトコル。
・HTTP (Hyper Text Transfer Protocol):WebブラウザとWebサーバとの間でのデータ転送に用いられる通信プロトコル。
・HTTPU (HTTP over UDP) :UDP上でデータ転送を行うHTTPの変形。
・HTTPMU (HTTP Multicast over UDP):UDP上でマルチキャストによりデータ転送を行うHTTPの変形。
・NAT (Network Address Translation):グローバルアドレスとローカルアドレスとを相互に変換する、IPアドレスの変換技術。
・RPC(Remote Procedure Call):プロセスの一部の実行を,ネットワークを介して接続された別のデバイスに委託する技術。
・SOAP (Simple Object Access Protocol):HTTP及びXMLを使用してRPCを実行するためのプロトコル。UPnPのコントロールに利用される。
・SSDP (Simple Service Discovery Protocol):ネットワークサービスを検出するためのプロトコル。UPnPのディスカバリに利用される。
・TCP (Transmission Control Protocol):インターネットの標準プロトコルの一つ。OSI参照モデルのトランスポート層にあたり、IP上でコネクション型の信頼性の高い通信を実現する。
・UDP (User Datagram Protocol):インターネットの標準プロトコルの一つ。OSI参照モデルのトランスポート層にあたり、IP上でマルチキャスト等のコネクションレス型の通信を実現する。
・URL (Uniform Resource Locator):インターネット上に存在する情報の場所を示す記述方式。
・XML (Extensible Markup Language):マークアップ言語の一つ。ユーザが独自のタグを定義できる等の拡張性を有する。
First, terms used in the description of embodiments of the present invention will be described below.
DHCP (Dynamic Host Configuration Protocol): A protocol that dynamically assigns IP addresses.
DDNS (Dynamic Domain Name System): A system that associates dynamically assigned IP addresses with domain names.
GENA (General Event Notification Architecture): A protocol used for UPnP event notification.
HTTP (Hyper Text Transfer Protocol): A communication protocol used for data transfer between a Web browser and a Web server.
-HTTPPU (HTTP over UDP): A variant of HTTP that transfers data over UDP.
-HTTPMU (HTTP Multicast over UDP): A variant of HTTP that performs multicast data transfer over UDP.
NAT (Network Address Translation): IP address translation technology that translates global addresses and local addresses.
RPC (Remote Procedure Call): Technology that entrusts execution of a part of a process to another device connected via a network.
SOAP (Simple Object Access Protocol): A protocol for executing RPC using HTTP and XML. Used for UPnP control.
SSDP (Simple Service Discovery Protocol): A protocol for discovering network services. Used for UPnP discovery.
TCP (Transmission Control Protocol): One of the Internet standard protocols. In the transport layer of the OSI reference model, it realizes connection-type reliable communication over IP.
UDP (User Datagram Protocol): One of the Internet standard protocols. In connection with the transport layer of the OSI reference model, connectionless communication such as multicast is realized over IP.
URL (Uniform Resource Locator): A description method that indicates the location of information existing on the Internet.
XML (Extensible Markup Language): One of markup languages. Extensibility that allows users to define their own tags.
 以下、図面を参照して、本発明の実施形態に係るリモートアクセスシステム1について説明する。 Hereinafter, a remote access system 1 according to an embodiment of the present invention will be described with reference to the drawings.
 図1は、本発明の実施形態に係るリモートアクセスシステム1の概略構成を示す図である。本実施形態のリモートアクセスシステム1は、ホームネットワーク100、インターネット200、および端末装置300により構成される。ホームネットワーク100は、後述するホームゲートウェイ10を介してインターネット200に接続される。また、本実施形態において、端末装置300は携帯電話端末であり、図示しない携帯電話網を介してインターネット200に接続される。 FIG. 1 is a diagram showing a schematic configuration of a remote access system 1 according to an embodiment of the present invention. The remote access system 1 according to the present embodiment includes a home network 100, the Internet 200, and a terminal device 300. The home network 100 is connected to the Internet 200 via a home gateway 10 described later. In the present embodiment, the terminal device 300 is a mobile phone terminal, and is connected to the Internet 200 via a mobile phone network (not shown).
 ホームネットワーク100は、家庭内に構築されたローカル(プライベート)ネットワークであり、家庭内に設置されたホームゲートウェイ10ならびにデバイス21、22および23から構成される。デバイス21、22および23は、例えばPC、デジタルカメラ、HDDレコーダもしくは家庭用ゲーム機などの家庭用電子機器である。ホームゲートウェイ10、ならびにデバイス21、22および23は、いずれもDLNAのガイドラインに準拠した製品であり、後述のようにそれぞれ相互に有線もしくは無線接続してホームネットワーク100を構成している。 The home network 100 is a local (private) network constructed in the home, and is configured by the home gateway 10 and devices 21, 22 and 23 installed in the home. The devices 21, 22, and 23 are home electronic devices such as a PC, a digital camera, an HDD recorder, or a home game machine. The home gateway 10 and the devices 21, 22, and 23 are all products compliant with the DLNA guidelines, and constitute a home network 100 by being connected to each other by wire or wirelessly as will be described later.
 図2は、ホームゲートウェイ10の概略構成を示すブロック図である。図2に示すように、ホームゲートウェイ10は、CPU11、メモリ12、ローカルネットワークインタフェース部14、グローバルネットワークインタフェース部15から構成される。これらの構成要素は、バス20を介して相互に接続されており、CPU11によってそれぞれ制御される。 FIG. 2 is a block diagram showing a schematic configuration of the home gateway 10. As shown in FIG. 2, the home gateway 10 includes a CPU 11, a memory 12, a local network interface unit 14, and a global network interface unit 15. These components are connected to each other via a bus 20 and are controlled by the CPU 11.
 メモリ12は、後述するNAT部160で用いられるアドレス変換テーブルなどの各種データやプログラムなどを記憶している。メモリ12が記憶するプログラムには、図3に示される機能ブロックをCPU11にて実現するための制御プログラム等が含まれる。CPU11は、メモリ12に記憶されたプログラムを実行することにより、図3に示される各機能を実現する。また、ローカルネットワークインタフェース部14は、ホームゲートウェイ10をホームネットワーク100に接続するネットワークインタフェースである。また、グローバルネットワークインタフェース部15は、ホームゲートウェイ10をインターネット200に接続するネットワークインタフェースである。 The memory 12 stores various data such as an address conversion table used in the NAT unit 160 described later, programs, and the like. The program stored in the memory 12 includes a control program for realizing the functional blocks shown in FIG. The CPU 11 implements each function shown in FIG. 3 by executing a program stored in the memory 12. The local network interface unit 14 is a network interface that connects the home gateway 10 to the home network 100. The global network interface unit 15 is a network interface that connects the home gateway 10 to the Internet 200.
 図3は、ホームゲートウェイ10において実現される、本発明のリモートアクセスに関係する主要な機能ブロックを表す機能ブロック図である。DLNA部130は、DLNAガイドラインで規定される各種機能を実現するための機能ブロックであり、UPnP部131を利用して各種処理を行う。UPnP部131は、UPnP規格に基づいた処理を行うための機能ブロックである。UPnP部131は、本発明のリモートアクセスを実現するための機能拡張部として、リモートアクセス処理部140(以降「RA処理部140」という。)を備えている。また、UPnP部131は、DHCPサーバ部132およびWebサーバ部134を利用して各種処理を行う。本実施形態においては、図3にはDLNA部130が利用する機能ブロックとしてUPnP部131のみが図示されている。しかしながら、DLNA部130は、図示されていないDLNAに必要な機能を実現するためのその他の多くの機能ブロックを利用して各種処理を行う。その他の機能としては、例えば、各デバイスにおいて音声データや映像データをストリーミング再生するための伝送プロトコルであるRTP(Real-time Transport Protocol)機能などがある。本実施形態ではDLNAが利用するUPnPに関する処理を中心に説明を行うため、その他の機能については説明を省略する。 FIG. 3 is a functional block diagram showing main functional blocks related to the remote access of the present invention realized in the home gateway 10. The DLNA unit 130 is a functional block for realizing various functions defined by the DLNA guidelines, and performs various processes using the UPnP unit 131. The UPnP unit 131 is a functional block for performing processing based on the UPnP standard. The UPnP unit 131 includes a remote access processing unit 140 (hereinafter referred to as “RA processing unit 140”) as a function expansion unit for realizing remote access of the present invention. Further, the UPnP unit 131 performs various processes using the DHCP server unit 132 and the Web server unit 134. In the present embodiment, FIG. 3 shows only the UPnP unit 131 as a functional block used by the DLNA unit 130. However, the DLNA unit 130 performs various processes using many other functional blocks for realizing functions necessary for DLNA (not shown). Other functions include, for example, an RTP (Real-time Transport Protocol) function that is a transmission protocol for streaming reproduction of audio data and video data in each device. In the present embodiment, the description will be focused on the processing related to UPnP used by DLNA, and thus description of other functions will be omitted.
 UPnP部131は、後述するアドレッシング、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションといった処理を行い、ホームネットワーク100におけるデバイスの自動認識、及び該デバイスのコンテンツを共有化するための相互通信の確立を行う。 The UPnP unit 131 performs processing such as addressing, discovery, description, control, eventing, and presentation, which will be described later, to automatically recognize a device in the home network 100 and establish mutual communication for sharing the content of the device. I do.
 DHCPサーバ部132は、UPnPのアドレッシングの際に利用される機能ブロックであり、ホームネットワーク100に接続されたデバイスに、ローカルアドレスを自動的に割り当てる機能を有している。DHCPサーバ部132には、各デバイスに割り当て可能なローカルアドレスの範囲などが設定されており、ホームネットワーク100に接続されたデバイスにこれらの情報を提供する。そして、該デバイスが通信を終えると自動的にアドレスを回収して、他のデバイスに割り当てられるようにする。Webサーバ部134は、HTTP等のプロトコルによって外部との通信を行なう機能を有している。 The DHCP server unit 132 is a functional block used for UPnP addressing, and has a function of automatically assigning a local address to a device connected to the home network 100. The DHCP server unit 132 is set with a range of local addresses that can be assigned to each device, and provides the information to devices connected to the home network 100. Then, when the device finishes communication, the address is automatically collected and assigned to another device. The Web server unit 134 has a function of performing communication with the outside using a protocol such as HTTP.
 NAT部160は、ホームネットワーク100内の各デバイス21、22および23に割り当てられているローカルアドレスと、インターネット200上のデバイスとの通信に使用するグローバルアドレスとを相互変換する機能を有する、ネットワークアドレス変換部である。具体的には、例えば、デバイス23がインターネット200にアクセスする際には、NAT部160によってデバイス23に割り当てられたローカルIPアドレスとローカルネットワーク用のTCP/UDPポート番号とが、グローバルIPアドレスとインターネット用のTCP/UDPポート番号とに変換される。NAT部160で変換される内容(すなわちホームネットワーク100およびインターネット200のそれぞれで使用されるIPアドレスとTCP/UDPポート番号との組合せ)は、アドレス変換テーブルに登録されて、メモリ12に記憶される。そして、NAT部160は、アドレス変換テーブルを参照して、ホームネットワーク100内で使用されるローカルアドレスと、変換後のグローバルアドレスとを相互に変換する。これにより、ホームネットワーク100内においてはローカルアドレスで識別されるデバイスが、インターネット200上においては、グローバルアドレスによって識別される。 The NAT unit 160 has a function of mutually converting a local address assigned to each device 21, 22, and 23 in the home network 100 and a global address used for communication with a device on the Internet 200. It is a conversion unit. Specifically, for example, when the device 23 accesses the Internet 200, the local IP address assigned to the device 23 by the NAT unit 160 and the TCP / UDP port number for the local network are the global IP address and the Internet. Is converted to a TCP / UDP port number. Contents to be converted by the NAT unit 160 (that is, combinations of IP addresses and TCP / UDP port numbers used in the home network 100 and the Internet 200) are registered in the address conversion table and stored in the memory 12. . Then, the NAT unit 160 refers to the address conversion table and converts the local address used in the home network 100 and the converted global address to each other. As a result, a device identified by a local address in the home network 100 is identified by a global address on the Internet 200.
 次に、ホームネットワーク100内のデバイスの検出、およびコンテンツの交換を行うために利用されるUPnP機能について、図4および図5を参照して説明する。図4は、DLNAのプロトコルスタックを示す図である。図4に示すように、DLNAのプロトコルスタックにおける最上位層は、DLNAガイドラインに従ったサービスを各種アプリケーションに提供するDLNAレイヤーである。DLNAレイヤーには、GUI(Graphical User Interface)やAPI(Application Programming Interface)等の各種インターフェースが含まれる。DLNAレイヤーの下層には、UPnP規格に従ったサービスをDLNAレイヤーに提供するUPnPレイヤーが存在する。UPnPレイヤーは、SSDP、SOAP、GENAなどの各種プロトコルを利用する。SSDP、SOAP、GENA、UPnPにおけるディスカバリ、コントロール、イベンティングの処理を行う際にそれぞれ使用されるプロトコルである。そして、ディスカバリに使用されるSSDPは、UDP/IP上で動作するHTTPMUやHTTPUを使用してメッセージの送受信を行う。また、SOAPやGENAを使用して実行されるコントロールやイベンティングは、TCP/IP上でコネクション型通信によって行われる。このようなプロトコルスタックからなるUPnPの実際の処理について、図5を参照して説明する。 Next, the UPnP function used for detecting devices in the home network 100 and exchanging contents will be described with reference to FIG. 4 and FIG. FIG. 4 shows a DLNA protocol stack. As shown in FIG. 4, the highest layer in the DLNA protocol stack is a DLNA layer that provides services in accordance with DLNA guidelines to various applications. The DLNA layer includes various interfaces such as GUI (Graphical User Interface) and API (Application Programming Interface). Below the DLNA layer, there is a UPnP layer that provides a service according to the UPnP standard to the DLNA layer. The UPnP layer uses various protocols such as SSDP, SOAP, and GENA. This protocol is used when performing discovery, control, and eventing processes in SSDP, SOAP, GENA, and UPnP. The SSDP used for discovery transmits and receives messages using HTTPMU and HTTPPU operating on UDP / IP. Control and eventing executed using SOAP and GENA are performed by connection-type communication on TCP / IP. The actual processing of UPnP composed of such a protocol stack will be described with reference to FIG.
 図5は、ホームネットワーク100におけるUPnP処理の流れを説明するための図である。尚、図5では、ホームネットワーク100に新たにデバイス23が接続された場合を例として、UPnPによるホームネットワーク100内のデバイス及びコンテンツの自動認識及びコンテンツ共有の処理の流れ説明する。このUPnP処理は、DLNAガイドラインに準拠するデバイス21、22および23に備えられる図示しないCPUによって、UPnP機能を実行することによって実現される。UPnPによる自動認識及びコンテンツ共有は、アドレッシング、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションの6段階の処理によって実現される。 FIG. 5 is a diagram for explaining the flow of UPnP processing in the home network 100. In FIG. 5, the flow of processing of automatic recognition and content sharing of devices and contents in the home network 100 by UPnP will be described by taking as an example a case where a device 23 is newly connected to the home network 100. This UPnP processing is realized by executing a UPnP function by a CPU (not shown) provided in the devices 21, 22, and 23 that comply with the DLNA guidelines. Automatic recognition and content sharing by UPnP is realized by a six-stage process of addressing, discovery, description, control, eventing, and presentation.
 まず、デバイス23が無線もしくは有線LANによってホームネットワーク100に接続される(S1)と、ホームゲートウェイ10のDHCPサーバ部132により、デバイス23にホームネットワーク100内でのローカルIPアドレスが自動的に割り当てられる(S2)。この処理をアドレッシングという。なお、ホームネットワーク100内にDHCPサーバ部132が存在しない場合には、デバイス23は、自機器に備えられたAuto IP機能を利用して、あらかじめ予約されたアドレスから他機器と重複しない任意のIPアドレスを選んで自動的に自己のIPアドレスを設定することも可能である。 First, when the device 23 is connected to the home network 100 by wireless or wired LAN (S1), a local IP address in the home network 100 is automatically assigned to the device 23 by the DHCP server unit 132 of the home gateway 10. (S2). This process is called addressing. When the DHCP server unit 132 does not exist in the home network 100, the device 23 uses an Auto IP function provided in the own device, and uses an arbitrary IP that does not overlap with other devices from a reserved address. It is also possible to select an address and automatically set its own IP address.
 デバイス23にIPアドレスが設定されると、次にディスカバリが行なわれる。ディスカバリでは、ホームネットワーク100に接続されているサーバや他のデバイスを検出するために、デバイス23からホームネットワーク100内の各機器に対して、ディスカバリメッセージがマルチキャストで送信される(S3)。このディスカバリメッセージには、デバイスタイプなどのデバイス23に関する情報や、ホームネットワーク100上に存在するデバイスへの問い合わせを行なうクエリーなどが含まれる。 When an IP address is set in the device 23, discovery is performed next. In discovery, in order to detect servers and other devices connected to the home network 100, a discovery message is transmitted from the device 23 to each device in the home network 100 by multicast (S3). This discovery message includes information about the device 23 such as a device type, a query for making an inquiry to devices existing on the home network 100, and the like.
 S3の処理においてマルチキャスト送信されたディスカバリメッセージは、ホームゲートウェイ10、デバイス21および22にて受信される。なお、以降の説明においては、デバイス23とデバイス21との間で行われる通信を例にとって説明する。ディスカバリメッセージを受信したデバイス21は、デバイス23に対して自機器がネットワークに接続されていることを通知する応答メッセージを送信する(S4)。この応答メッセージには、デバイス21のデバイスタイプやサービスタイプ、およびデバイス21のローカルIPアドレスなどの基本的な情報の他、後述するディスクリプションを参照するためのURLなどが含まれる。 The discovery message multicast-transmitted in the process of S3 is received by the home gateway 10 and the devices 21 and 22. In the following description, communication performed between the device 23 and the device 21 will be described as an example. The device 21 that has received the discovery message transmits a response message notifying that the device is connected to the network to the device 23 (S4). The response message includes basic information such as the device type and service type of the device 21 and the local IP address of the device 21 as well as a URL for referring to a description to be described later.
 また、UPnPのディスカバリでは、ディスカバリメッセージおよび応答メッセージの送信にはSSDPが用いられる。SSDPでは、ネットワーク内のデバイスを検出する方法およびデバイスの可用性を通知する方法が定義されている。さらに、ディスカバリでは、ホームネットワーク100内に接続されているデバイスのうち、特定の機能を有したデバイスのみを検出することもできる。この場合、デバイス23から特定の機能を有している機器のみを対象にしたクエリーを含んだディスカバリメッセージをマルチキャストで送信する。そして、当該ディスカバリメッセージを受信した各デバイスは、自機器が当該機能を有している場合のみ、応答メッセージの送信を行う。 In addition, in the discovery of UPnP, SSDP is used for transmitting a discovery message and a response message. SSDP defines a method for detecting a device in a network and a method for notifying availability of a device. Further, in the discovery, only devices having a specific function among devices connected in the home network 100 can be detected. In this case, a discovery message including a query for only a device having a specific function is transmitted from the device 23 by multicast. Each device that has received the discovery message transmits a response message only when the device itself has the function.
 続いて、デバイス21から応答メッセージを受信したデバイス23は、デバイス21のさらに詳細な情報を取得するために、デバイス21からディスクリプションを取得する。ディスクリプションはXMLで記述された文書であり、デバイスの型名や提供するサービス一覧が記述されたデバイスディスクリプションと、デバイスが提供する各サービスに関する情報(コマンドやアクション、各アクションのパラメータのリスト等)が記述されたサービスディスクリプションの2種類がある。デバイス23は、デバイス21からの応答メッセージに含まれるディスクリプションのURLに基づき、デバイス21にディスクリプション要求を送信する(S5)。そしてデバイス21は、ディスクリプション要求に応答して、デバイス23へディスクリプションを送信する(S6)。これらのディスクリプションの送受信はHTTP通信によって行なわれる。なお、説明を簡易にするため、図5及び明細書の説明において、デバイスディスクリプションとサービスディスクリプションの取得が1つの処理として記載しているが、詳細には、各ディスクリプションについての要求と応答が順に行われる。詳しくは、デバイス23は、まず最初にデバイス21のデバイスディスクリプションを取得する。そして、取得したデバイスディスクリプションの内容からデバイス21が提供するサービスの種類と、各サービスに関する詳細情報が記述されたサービスディスクリプションのURLを知る。そして、デバイス21がデバイス23に必要なサービスを提供していれば、デバイス23は次いで当該サービスに関するサービスディスクリプションをデバイス21に要求する。そして、デバイス21からサービスディスクリプションを取得する。 Subsequently, the device 23 that has received the response message from the device 21 acquires a description from the device 21 in order to acquire more detailed information of the device 21. The description is a document described in XML, and includes a device description in which a device type name and a list of services to be provided are described, and information on each service provided by the device (a list of commands, actions, parameters of each action, etc.) There are two types of service descriptions in which are described). The device 23 transmits a description request to the device 21 based on the description URL included in the response message from the device 21 (S5). Then, in response to the description request, the device 21 transmits the description to the device 23 (S6). Transmission and reception of these descriptions is performed by HTTP communication. In order to simplify the description, in FIG. 5 and the description of the specification, the acquisition of the device description and the service description is described as one process, but in detail, the request and response for each description. Are performed in order. Specifically, the device 23 first acquires the device description of the device 21. Then, from the contents of the acquired device description, the type of service provided by the device 21 and the URL of the service description in which detailed information about each service is described are known. If the device 21 provides a necessary service to the device 23, the device 23 then requests the device 21 for a service description regarding the service. Then, a service description is acquired from the device 21.
 また、デバイス23がデバイス21の提供するサービスを利用する際には、デバイス21を制御するための処理が行われる。この処理をコントロールという。具体的には、まずデバイス23からデバイス21へ、デバイス21が提供するサービスに関するアクション要求を含む制御メッセージが送信される(S7)。そして、制御メッセージに対するリザルトまたはエラーがデバイス21よりデバイス23へ返信される(S8)。このコントロールはSOAPを使用して行われる。このように、制御メッセージおよびリザルト/エラーの通信を行うことにより、デバイス23がデバイス21の提供するサービスを利用することができる。 In addition, when the device 23 uses the service provided by the device 21, processing for controlling the device 21 is performed. This process is called control. Specifically, first, a control message including an action request regarding a service provided by the device 21 is transmitted from the device 23 to the device 21 (S7). Then, a result or error for the control message is returned from the device 21 to the device 23 (S8). This control is performed using SOAP. In this way, the service provided by the device 21 can be used by the device 23 by communicating the control message and the result / error.
 また、デバイス21が提供するサービスに変更が生じた場合には、これをデバイス23に通知するイベンティングが行われる(S9)。例えば、デバイス21が提供するサービス項目が追加もしくは削除された場合などに、イベンティングが行なわれる。イベンティングは、GENAを使用してデバイス23にデバイス21が提供するサービスが変更されたことを通知する処理である。GENAでは、自機器の状態が変化した(イベントが発生した)場合に、イベントの通知をネットワーク内のデバイスへ、HTTPを用いて送信することができる。 Further, when a change occurs in the service provided by the device 21, eventing is performed to notify the device 23 of this change (S9). For example, eventing is performed when a service item provided by the device 21 is added or deleted. Eventing is a process of notifying the device 23 that the service provided by the device 21 has been changed using GENA. In GENA, when the state of the device changes (an event occurs), notification of the event can be transmitted to a device in the network using HTTP.
 また、デバイス21がプレゼンテーション用のページを有する場合、すなわち、デバイス21から送信されたデバイスディスクリプションにプレゼンテーションページのURLが含まれている場合、デバイス23は、このページを取得してブラウザに読み込む。そして、デバイス23に備えられた図示しない表示画面に、当該ページを表示させる。ページの機能によっては、デバイス21からデバイス21の状態に関する情報を取得して、デバイス23に表示することもできる。このような処理をプレゼンテーションという(S10)。 If the device 21 has a presentation page, that is, if the URL of the presentation page is included in the device description transmitted from the device 21, the device 23 acquires this page and reads it into the browser. Then, the page is displayed on a display screen (not shown) provided in the device 23. Depending on the function of the page, information on the state of the device 21 can be acquired from the device 21 and displayed on the device 23. Such processing is called presentation (S10).
 上記のようなUPnPの各処理により、ホームネットワーク100に新たに追加されたデバイス23とデバイス21との間でのピア・ツー・ピアの相互接続が可能となる。また、デバイス21と同様に、デバイス23からマルチキャスト送信されたディスカバリメッセージを受信したデバイス22やホームゲートウェイ10についても、デバイス21の場合と同様に、ディスクリプション、コントロール、イベンティング、プレゼンテーションなどの処理が行われる。これにより、デバイス23とホームネットワーク100内の各デバイスとが、それぞれ相互通信可能となり、デバイス間の制御やコンテンツの共有を行うことが可能となる。 By each UPnP process as described above, a peer-to-peer interconnection between the device 23 newly added to the home network 100 and the device 21 becomes possible. Similarly to the device 21, the device 22 and the home gateway 10 that have received the discovery message multicast-transmitted from the device 23 also perform processing such as description, control, eventing, and presentation, as in the case of the device 21. Done. As a result, the device 23 and each device in the home network 100 can communicate with each other, and control between devices and content sharing can be performed.
 上記のようにUPnPを使用したデバイスの自動認識が行われると、DLNAのガイドラインに従って、例えばデバイス21がデジタルカメラなどのコンテンツを保持するDMS、デバイス22がテレビなどのコンテンツ再生機能を有するDMP、デバイス23がPCなどの制御機能を有するDMCであると定義される。そして、DLNAガイドラインに規定された手順に基づいた各機器の連携動作によって、コンテンツの再生処理等が行われる。具体的には、DMC(デバイス23)によって、DMS(デバイス21)およびDMP(デバイス22)を制御することで、DMS(デバイス21)が所有する画像をDMP(デバイス22)に転送し、DMPの画面に表示することなどが可能となる。 When automatic device recognition using UPnP is performed as described above, in accordance with DLNA guidelines, for example, the device 21 is a DMS holding content such as a digital camera, the device 22 is a DMP having a content playback function such as a television, and the device 23 is defined as a DMC having a control function such as a PC. Then, content reproduction processing and the like are performed by the cooperation operation of each device based on the procedure stipulated in the DLNA guidelines. Specifically, by controlling the DMS (device 21) and the DMP (device 22) by the DMC (device 23), the image owned by the DMS (device 21) is transferred to the DMP (device 22), and the DMP It can be displayed on the screen.
 次に、本発明の特徴である、リモートアクセスシステム1における端末装置300からホームネットワーク100へのリモートアクセスについて詳述する。このリモートアクセスは、例えば、ホームネットワーク100のデバイス21に格納されているコンテンツを、外出先で所持している端末装置300にダウンロードして再生する場合などに用いられる。図6は、端末装置300の概略構成を示すブロック図である。本実施形態において端末装置300は携帯電話端末であるが、別の実施形態では、例えばPHS(Personal Handy phone System)、PDA(Personal Digital Assistants)、携帯ゲーム機などの携帯端末の他、外出先に設置されたPC等のインターネット200を介してホームゲートウェイ10に接続可能な端末であっても良い。 Next, remote access from the terminal device 300 to the home network 100 in the remote access system 1 which is a feature of the present invention will be described in detail. This remote access is used, for example, when the content stored in the device 21 of the home network 100 is downloaded to the terminal device 300 held on the go and played. FIG. 6 is a block diagram illustrating a schematic configuration of the terminal device 300. In the present embodiment, the terminal device 300 is a mobile phone terminal. However, in another embodiment, for example, a mobile terminal such as a PHS (Personal Handy Phone system), a PDA (Personal Digital Assistants), or a mobile game machine may be used. A terminal that can be connected to the home gateway 10 via the Internet 200 such as an installed PC may be used.
 端末装置300は、装置全体を統括制御するCPU310、各種データやアプリケーション等のプログラムを記憶するメモリ320、ユーザ入力を受け付けるための数字キーや方向キー等からなる入力部330、液晶や有機ELディスプレイ等からなる表示部340、および携帯電話網を介してインターネット200へのアクセスを行うネットワークインタフェース部350から構成される。これらの構成要素は、バス390を介して他の構成要素と相互に接続されている。 The terminal device 300 includes a CPU 310 that performs overall control of the entire device, a memory 320 that stores programs such as various data and applications, an input unit 330 including numeric keys and direction keys for receiving user input, a liquid crystal display, an organic EL display, and the like And a network interface unit 350 for accessing the Internet 200 via a mobile phone network. These components are interconnected with other components via a bus 390.
 図7は、CPU310にて実現される、本発明のリモートアクセスに関係する主要な機能ブロックを表す機能ブロック図である。メモリ320には、図7に示される各機能ブロックをCPU310が実現するための制御プログラム等が記憶されており、CPU310がメモリ320から各プログラムを読み出して実行することで、図7に示される各機能が実現される。 FIG. 7 is a functional block diagram showing main functional blocks related to the remote access of the present invention realized by the CPU 310. The memory 320 stores a control program for the CPU 310 to realize each functional block shown in FIG. 7, and the CPU 310 reads out and executes each program from the memory 320, thereby causing each of the functional blocks shown in FIG. 7 to be executed. Function is realized.
 図7のDLNA部360は、DLNAガイドラインに基づいて通信を行う機能ブロックである。DLNA部360は、UPnP部362を利用して各種処理を実行する。UPnP部362は、UPnP規格に基づいて通信処理を行う機能ブロックであり、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションの各処理を含む。また、UPnP部362は、本発明のリモートアクセスを実現するための機能拡張部としてリモートアクセス処理部366(以下、「RA処理部366」という。)を備えている。また、ホームゲートウェイ10のDLNA部130と同様に、DLNA部360は、UPnP部362以外にも、例えばRTP機能などのDLNAシステムで使用される図示されない多くの機能ブロックを利用して処理を行う構成となっている。 The DLNA unit 360 in FIG. 7 is a functional block that performs communication based on DLNA guidelines. The DLNA unit 360 executes various processes using the UPnP unit 362. The UPnP unit 362 is a functional block that performs communication processing based on the UPnP standard, and includes discovery, description, control, eventing, and presentation processes. The UPnP unit 362 includes a remote access processing unit 366 (hereinafter referred to as “RA processing unit 366”) as a function expansion unit for realizing remote access of the present invention. Similarly to the DLNA unit 130 of the home gateway 10, the DLNA unit 360 performs processing using many functional blocks (not shown) used in the DLNA system such as the RTP function in addition to the UPnP unit 362. It has become.
 図8は、本実施形態のリモートアクセスシステム1において、端末装置300からホームネットワーク100へのリモートアクセスを行なうためのリモートアクセス処理を説明するための図である。まず、端末装置300のユーザは、入力部330を操作してメモリ320に予めインストールされているDLNAに準拠したアプリケーション(例えば、HDDレコーダ遠隔再生アプリケーション)を起動する。そして、当該アプリケーションが起動されると、端末装置300は、携帯電話網を介してインターネット200との接続を確立する(S101)。 FIG. 8 is a diagram for explaining remote access processing for performing remote access from the terminal device 300 to the home network 100 in the remote access system 1 of the present embodiment. First, the user of the terminal device 300 operates the input unit 330 to start an application (for example, an HDD recorder remote playback application) based on DLNA installed in the memory 320 in advance. When the application is activated, the terminal device 300 establishes a connection with the Internet 200 via the mobile phone network (S101).
 ところで、上述のように、ホームネットワーク100内のデバイス21、22および23のローカルIPアドレスは、UPnP処理におけるアドレッシングの際に、ホームゲートウェイ10が備えるDHCPサーバ部132によって割り当てられる。また、DHCPサーバがネットワーク内に存在しない場合には、デバイスに備えられたAuto IP機能によって自らローカルIPアドレスが設定される。しかしながら、本実施形態の端末装置300は、上述の通りホームネットワーク100ではなく、インターネット200に接続される。そのため、デバイス21、22および23のような通常のUPnPデバイスにおいて行われるローカルIPアドレスのアドレッシングを行うことができない。また、端末装置300には、通常Auto IP機能も備わっていない。そのため、端末装置300のアドレッシングは、インターネット200との接続確立時に、図示しない携帯電話網上のアクセスポイントが備えるDHCPサーバより、グローバルアドレスが割り当てられることによって行われる。そして、以降の処理においては、このグローバルアドレスが端末装置300の識別や管理に用いられる。 Incidentally, as described above, the local IP addresses of the devices 21, 22 and 23 in the home network 100 are assigned by the DHCP server unit 132 provided in the home gateway 10 at the time of addressing in the UPnP process. When the DHCP server does not exist in the network, the local IP address is set by the Auto IP function provided in the device. However, the terminal device 300 of this embodiment is connected to the Internet 200 instead of the home network 100 as described above. Therefore, it is not possible to perform addressing of the local IP address that is performed in a normal UPnP device such as the devices 21, 22, and 23. Further, the terminal device 300 does not normally have an Auto IP function. Therefore, the addressing of the terminal device 300 is performed by assigning a global address from a DHCP server provided in an access point on a mobile phone network (not shown) when establishing a connection with the Internet 200. In the subsequent processing, this global address is used for identification and management of the terminal device 300.
 インターネット200への接続が完了し、端末装置300にグローバルアドレスが割り当てられると、次に、接続先であるホームネットワーク100の指定が行われる(S102)。ホームネットワーク100の指定は、端末装置300のユーザにより入力部330を用いて、ホームネットワーク100のドメイン名などを入力することにより行われる。ここで、本実施形態のホームネットワーク100においては、ホームゲートウェイ10が、ホームネットワーク100の公開サーバとしてインターネット200上に公開される。また、このとき、DNSおよびDDNSと呼ばれるサービスを利用する。詳しくは、まず、ホームゲートウェイ10に、インターネット200上で用いられるグローバルアドレスが割り当てられる。この割り当ては、ホームネットワーク100にインターネット接続サービスを提供しているネットワークプロバイダによって行われる。そして、割り当てられたグローバルアドレスは、ホームネットワーク100を示すドメイン名と対応付けられ、インターネットサービスプロバイダの所有するDNSサーバに登録される。尚、この場合のドメイン名は、任意に設定することができる。そして、このとき、DDNSを利用すると、ホームゲートウェイ10に割り当てられるグローバルアドレスの変動に伴い、DNSサーバに登録されている内容を更新することができる。これにより、ホームゲートウェイ10がインターネット200へ接続する度に、新しいグローバルアドレスを付与されてしまう場合でも、ホームゲートウェイ10に対して一意のドメイン名が常時割り当てられるようになっている。 When the connection to the Internet 200 is completed and a global address is assigned to the terminal device 300, next, the home network 100 that is the connection destination is designated (S102). The home network 100 is specified by the user of the terminal device 300 using the input unit 330 to input the domain name of the home network 100 or the like. Here, in the home network 100 of this embodiment, the home gateway 10 is published on the Internet 200 as a public server of the home network 100. At this time, services called DNS and DNS are used. Specifically, first, a global address used on the Internet 200 is assigned to the home gateway 10. This assignment is performed by a network provider that provides an Internet connection service to the home network 100. The assigned global address is associated with the domain name indicating the home network 100 and registered in a DNS server owned by the Internet service provider. In this case, the domain name can be arbitrarily set. At this time, if DDNS is used, the contents registered in the DNS server can be updated as the global address assigned to the home gateway 10 changes. As a result, a unique domain name is always assigned to the home gateway 10 even when a new global address is given each time the home gateway 10 connects to the Internet 200.
 従って、端末装置300にてホームネットワーク100のドメイン名を入力もしくは指定することによって、ホームネットワーク100への接続が可能となる。そして、ホームネットワーク100への接続が確立されると、端末装置300のUPnP部362によるディスカバリが実行される。UPnP部362は、SSDPを使用してディスカバリメッセージを作成する(S103)。このときUPnP部362によって作成されるディスカバリメッセージは、UPnP規格に準拠したものであり、宛先としてUDPによるマルチキャストアドレスが指定されたものとなっている。続いて、RA処理部366において、UPnP部362によって作成されたディスカバリメッセージが、リモートアクセスに適した形式のメッセージ(以下、「RAメッセージ」という。)に書き換えられる(S104)。詳しくは、宛先としてマルチキャストアドレスが指定されたディスカバリメッセージの宛先アドレスを、ホームゲートウェイ10のグローバルアドレスとする、ユニキャストのメッセージへと変換する。 Therefore, the terminal device 300 can be connected to the home network 100 by inputting or specifying the domain name of the home network 100. When the connection to the home network 100 is established, discovery by the UPnP unit 362 of the terminal device 300 is executed. The UPnP unit 362 creates a discovery message using SSDP (S103). At this time, the discovery message created by the UPnP unit 362 conforms to the UPnP standard, and designates a multicast address by UDP as a destination. Subsequently, the RA processing unit 366 rewrites the discovery message created by the UPnP unit 362 into a message in a format suitable for remote access (hereinafter referred to as “RA message”) (S104). Specifically, the destination address of the discovery message in which the multicast address is specified as the destination is converted into a unicast message that uses the global address of the home gateway 10.
 そして、RA処理部366によって書き換えられたRAメッセージは、ネットワークインタフェース部350から、携帯電話網及びインターネット200を介してホームゲートウェイ10宛にユニキャスト送信される(S105)。 The RA message rewritten by the RA processing unit 366 is unicast transmitted from the network interface unit 350 to the home gateway 10 via the mobile phone network and the Internet 200 (S105).
 端末装置300からユニキャスト送信されたRAメッセージは、ホームゲートウェイ10のグローバルネットワークインタフェース部15によって受信される。CPU11は、グローバルネットワークインタフェース部15が端末装置300から受信したRAメッセージのヘッダ情報などから、該メッセージがRAメッセージであることを認識して、RA処理部140を実行する。 The RA message unicast transmitted from the terminal device 300 is received by the global network interface unit 15 of the home gateway 10. The CPU 11 recognizes that the message is an RA message from the header information of the RA message received by the global network interface unit 15 from the terminal device 300, and executes the RA processing unit 140.
 RA処理部140は、受信したRAメッセージを読み取り、端末装置300から送信されたディスカバリメッセージであることを認識すると、宛先アドレスをホームネットワーク100のネットワークアドレスとする、マルチキャストのディスカバリメッセージに変換する(S106)。すなわち、このディスカバリメッセージは、端末装置300のグローバルアドレスを送信元アドレスとし、ホームネットワーク100を宛先アドレスとするマルチキャストによって送信されるよう生成されたものとなる。次いで、ローカルネットワークインタフェース部14から、RA処理部140にて変換されたディスカバリメッセージがホームネットワーク100内にマルチキャスト送信される(S107)。 When the RA processing unit 140 reads the received RA message and recognizes that it is a discovery message transmitted from the terminal device 300, the RA processing unit 140 converts it into a multicast discovery message with the destination address as the network address of the home network 100 (S106). ). That is, this discovery message is generated so as to be transmitted by multicast using the global address of the terminal device 300 as a source address and the home network 100 as a destination address. Next, the discovery message converted by the RA processing unit 140 is multicast from the local network interface unit 14 into the home network 100 (S107).
 ホームゲートウェイ10からマルチキャストで送信されたディスカバリメッセージは、各デバイス21、22および23にて受信される。なお、以降の処理については、デバイス23とホームゲートウェイ10との間の通信を例にとって説明する。ホームゲートウェイ10よりディスカバリメッセージを受信したデバイス23は、自身がディスカバリメッセージの対象であることを確認すると、自機器がネットワークに接続されていることを通知する応答メッセージを生成する。この応答メッセージには、デバイス23のデバイスタイプやサービスタイプ、およびデバイス23のローカルアドレスなどの基本的な情報の他、後述するディスクリプションを参照するためのURLなどが含まれる。また、この応答メッセージの宛先は、ディスカバリメッセージに記載されている端末装置300のグローバルアドレスとなる。そして、デバイス23によって生成された応答メッセージが、ホームゲートウェイ10に送信される(S108)。デバイス23からの応答メッセージを受信したホームゲートウェイ10は、次に、受信した応答メッセージの書き換えを行う(S109)。 The discovery message transmitted from the home gateway 10 by multicast is received by each of the devices 21, 22 and 23. The subsequent processing will be described taking communication between the device 23 and the home gateway 10 as an example. When the device 23 that has received the discovery message from the home gateway 10 confirms that it is the target of the discovery message, the device 23 generates a response message notifying that the own device is connected to the network. This response message includes basic information such as the device type and service type of the device 23 and the local address of the device 23, as well as a URL for referring to a description to be described later. The destination of the response message is the global address of the terminal device 300 described in the discovery message. Then, the response message generated by the device 23 is transmitted to the home gateway 10 (S108). The home gateway 10 that has received the response message from the device 23 next rewrites the received response message (S109).
 S109では、具体的には次の処理が行われる。まず、ローカルネットワークインタフェース部14がデバイス23から応答メッセージを受信すると、CPU11はRA処理を実行する。RA処理部140は、まず、NAT部160で用いられるアドレス変換テーブルを参照して、応答メッセージに含まれるデバイス23のローカルアドレスに対応する、デバイス23のグローバルアドレスを抽出する。また、アドレス変換テーブルにデバイス23のローカルアドレスが登録されていない場合は、新たにデバイス23にグローバルアドレスを割り当て、割り当てたグローバルアドレスと、対応するローカルアドレスとをアドレス変換テーブルに登録する処理を行った上で、割り当てられたグローバルアドレスを抽出する。 In S109, specifically, the following processing is performed. First, when the local network interface unit 14 receives a response message from the device 23, the CPU 11 executes RA processing. First, the RA processing unit 140 refers to the address conversion table used in the NAT unit 160 and extracts the global address of the device 23 corresponding to the local address of the device 23 included in the response message. If the local address of the device 23 is not registered in the address conversion table, a new global address is assigned to the device 23, and the assigned global address and the corresponding local address are registered in the address conversion table. After that, the assigned global address is extracted.
 次に、RA処理部140は、デバイス23からの応答メッセージに含まれる送信元デバイスを示すIPアドレス部分を、デバイス23のローカルアドレスから抽出されたグローバルアドレスへと書き換える。ここで、図5に示されるホームネットワーク100内のUPnP処理においては、検出されたデバイス同士が、それぞれに割り当てられたローカルアドレスによって、識別および管理される。しかしながら、リモートアクセスの場合は、グローバルアドレスを使用する端末装置300とローカルアドレスを使用するホームネットワーク100内とで、使用するアドレス空間が異なるため、そのままでは端末装置300とホームネットワーク100内の各デバイスとが直接通信することができない。そのため、ホームゲートウェイ10において応答メッセージに含まれるデバイス23のローカルアドレスをアドレス変換テーブルに記憶される(またはNAT部160によってアドレス変換テーブルに新たに登録される)グローバルアドレスに書き換えることで、端末装置300がグローバルアドレスを使用して、ホームネットワーク100内のデバイス23と直接通信を行なうことを可能としている。 Next, the RA processing unit 140 rewrites the IP address part indicating the transmission source device included in the response message from the device 23 to the global address extracted from the local address of the device 23. Here, in the UPnP process in the home network 100 shown in FIG. 5, the detected devices are identified and managed by the local addresses assigned to them. However, in the case of remote access, since the address space to be used differs between the terminal device 300 that uses the global address and the home network 100 that uses the local address, the terminal device 300 and each device in the home network 100 remain as they are. Cannot communicate directly. Therefore, by rewriting the local address of the device 23 included in the response message in the home gateway 10 to a global address stored in the address translation table (or newly registered in the address translation table by the NAT unit 160), the terminal device 300 Can directly communicate with the device 23 in the home network 100 using the global address.
 さらに、応答メッセージには、デバイス23のディスクリプションを参照するためのURLなども含まれる。このURLもホームネットワーク100内におけるローカルアドレスである。そのため、S109の処理では、ディスクリプションのURLについてもNAT部160のアドレス変換テーブルに基づいて、グローバルアドレスへと書き換えられる。これにより、端末装置300は、グローバルアドレスに基づき、ディスクリプションの要求を行うことが可能となる。そして、上述のように書き換えられた応答メッセージがホームゲートウェイ10から端末装置300へ送信される(S110)。 Furthermore, the response message includes a URL for referring to the description of the device 23, and the like. This URL is also a local address in the home network 100. Therefore, in the process of S109, the description URL is also rewritten to a global address based on the address conversion table of the NAT unit 160. Accordingly, the terminal device 300 can make a description request based on the global address. Then, the response message rewritten as described above is transmitted from the home gateway 10 to the terminal device 300 (S110).
 以降の処理は、ホームゲートウェイ10のNAT部160によってアドレスの変換が行なわれる以外は、図5におけるUPnPの処理と同様である。具体的には、端末装置300は、ホームゲートウェイ10から送信されたデバイス23の応答メッセージに含まれるURL(グローバルアドレス)に基づいて、デバイス23のディスクリプションを要求する要求メッセージを送信する(S111)。端末装置300から送信された要求メッセージは、まずホームゲートウェイ10にて受信される。次いで、ホームゲートウェイ10は、NAT部160において、受信した要求メッセージの宛先アドレスをグローバルアドレスからローカルアドレスに変換して、デバイス23に転送する。そして、デバイス23は端末装置300からのディスクリプション要求に応答して、ディスクリプションを返信する(S112)。 The subsequent processing is the same as the UPnP processing in FIG. 5 except that the NAT unit 160 of the home gateway 10 performs address conversion. Specifically, the terminal device 300 transmits a request message for requesting the description of the device 23 based on the URL (global address) included in the response message of the device 23 transmitted from the home gateway 10 (S111). . The request message transmitted from the terminal device 300 is first received by the home gateway 10. Next, the home gateway 10 converts the destination address of the received request message from the global address to the local address in the NAT unit 160 and transfers it to the device 23. Then, in response to the description request from the terminal device 300, the device 23 returns a description (S112).
 続いて、上記ディスクリプションの処理と同様に、制御メッセージの送信(S113)、リザルト/エラーの受信(S114)、GENAによるイベント通知(S115)、およびプレゼンテーション(S116)が行われる。これらの処理においても、ホームゲートウェイ10は、NAT部160において、受信したメッセージの宛先アドレスをグローバルアドレスからローカルアドレスに、またはローカルアドレスからグローバルアドレスへ変換して、デバイス23または端末装置300にそれぞれ送信する。これらの処理が終了すると、端末装置300とデバイス23との直接の相互通信が可能となる。また、端末装置300と、その他のデバイス21および22とのUPnP処理も上記同様に行なわれる。これにより、端末装置300とホームネットワーク100内の各デバイス21、22および23とが、それぞれ相互通信可能となり、通信端末300において、デバイス21、22および23が提供するサービスやコンテンツを共有することが可能となる。 Subsequently, as in the description process, control message transmission (S113), result / error reception (S114), event notification by GENA (S115), and presentation (S116) are performed. Also in these processes, the home gateway 10 converts the destination address of the received message from the global address to the local address or from the local address to the global address in the NAT unit 160, and transmits it to the device 23 or the terminal device 300, respectively. To do. When these processes are completed, the terminal device 300 and the device 23 can directly communicate with each other. The UPnP process between the terminal device 300 and the other devices 21 and 22 is performed in the same manner as described above. As a result, the terminal device 300 and the devices 21, 22 and 23 in the home network 100 can communicate with each other, and the communication terminal 300 can share services and contents provided by the devices 21, 22 and 23. It becomes possible.
 その後、端末装置300のDLNA部360によって、例えばデバイス21がデジタルカメラなどのコンテンツを所有するDMS、端末装置300がコンテンツ再生機能を有するDMPであると定義される。そして、端末装置300(DMP)によって、デバイス21(DMS)から画像などのコンテンツをダウンロードして、表示部340に表示させることができる。これにより、例えば、外出先からでも、ホームネットワーク100内のデバイスに格納されているコンテンツを、端末装置300で共有することが可能となる。なお、上記実施形態では、DLNAやリモートアクセスに関する処理は端末装置300およびホームゲートウェイ10のメモリ(12、320)に記憶されたプログラムを呼び出して、CPU(11、310)にて実行される構成であるが、各装置にASIC(Application Specific Integrated Circuit)として各機能部の全部または一部を実装し、該ASICによってハードウェア的に実現される構成としても良い。 Thereafter, the DLNA unit 360 of the terminal device 300 defines, for example, that the device 21 is a DMS that owns content such as a digital camera, and the terminal device 300 is a DMP that has a content playback function. Then, content such as an image can be downloaded from the device 21 (DMS) by the terminal device 300 (DMP) and displayed on the display unit 340. Thereby, for example, the content stored in the device in the home network 100 can be shared by the terminal device 300 even when away from home. In the above embodiment, the DLNA and remote access processing are executed by the CPU (11, 310) by calling a program stored in the memory (12, 320) of the terminal device 300 and the home gateway 10. However, all or a part of each functional unit may be mounted as ASIC (Application Specific Specific Integrated Circuit) on each device, and the hardware may be realized by the ASIC.
 上記のように、本実施形態のリモートアクセスシステム1における端末装置300では、RA処理部366にてホームゲートウェイ10へディスカバリメッセージをユニキャストで送信する以外は、通常のUPnPに従って処理が実行される。そのため、端末装置300にて、追加のアプリケーション等を備える必要がない。また、一般的なゲートウェイに備えられているNAT機能のアドレス変換を利用して、使用するアドレス空間の異なる端末装置300、ならびにホームネットワーク100内の各デバイス21、22および23のアドレス変換を行うことで、通常用いられるインターネットアクセスにて相互接続を実現することができる。そのため、ホームネットワーク100と端末装置300との間にトンネルを設ける必要もない。 As described above, in the terminal device 300 in the remote access system 1 of the present embodiment, processing is executed according to normal UPnP except that the RA processing unit 366 transmits a discovery message to the home gateway 10 by unicast. Therefore, it is not necessary to provide an additional application in the terminal device 300. Further, the address conversion of the terminal device 300 having a different address space to be used and the devices 21, 22 and 23 in the home network 100 is performed by using address conversion of the NAT function provided in a general gateway. Thus, the interconnection can be realized by the Internet access normally used. Therefore, it is not necessary to provide a tunnel between the home network 100 and the terminal device 300.
 さらに、本実施形態におけるリモートアクセスシステム1では、ホームゲートウェイ10にて、応答メッセージの書き換えを行うことで、端末装置300がホームネットワーク100内のデバイスのアドレス(グローバルアドレス)を知ることができる。これにより、端末装置300とホームネットワーク100内の各デバイスが、直接通信を行なうことが可能となるため、ホームゲートウェイ10がネットワーク内の各デバイスの情報および各デバイスが所有するサービスに関する情報などのリストのメンテナンスを行う必要がない。よって、本実施形態のリモートアクセスシステム1では、ホームゲートウェイ10に大きな負荷をかけることなく、簡易な通信方法にて遠隔地からホームネットワーク100へのアクセスが可能となる。 Furthermore, in the remote access system 1 according to the present embodiment, the terminal device 300 can know the address (global address) of the device in the home network 100 by rewriting the response message in the home gateway 10. As a result, the terminal device 300 and each device in the home network 100 can directly communicate with each other, so that the home gateway 10 lists information on each device in the network and information on services owned by each device. There is no need to perform maintenance. Therefore, in the remote access system 1 of the present embodiment, it is possible to access the home network 100 from a remote location by a simple communication method without imposing a heavy load on the home gateway 10.
 以上が本発明の実施形態であるが、本発明はこれらの実施形態に限定されるものではなく様々な範囲で変形が可能である。例えば、本実施形態はDLNAに準拠したホームネットワークに対するリモートアクセスに関するものであるが、これに限定されるものではなく、UPnPを用いたその他の規格に準拠したホームネットワークにおいても適用可能である。 Although the embodiments of the present invention have been described above, the present invention is not limited to these embodiments and can be modified in various ranges. For example, this embodiment relates to remote access to a home network compliant with DLNA, but is not limited to this, and can be applied to a home network compliant with other standards using UPnP.
 10 ホームゲートウェイ
 11 CPU
 12 メモリ
 14 ローカルネットワークインタフェース部
 15 グローバルネットワークインタフェース部
 21、22、23 デバイス
130 DLNA部
131 UPnP部
132 DHCPサーバ部
134 Webサーバ部
140 RA処理部
160 NAT部
100 ホームネットワーク
200 インターネット
300 端末装置
310 CPU
320 メモリ
330 入力部
340 表示部
350 ネットワークインタフェース部
360 DLNA部
362 UPnP部
366 RA処理部
 
10 Home gateway 11 CPU
12 Memory 14 Local network interface unit 15 Global network interface unit 21, 22, 23 Device 130 DLNA unit 131 UPnP unit 132 DHCP server unit 134 Web server unit 140 RA processing unit 160 NAT unit 100 Home network 200 Internet 300 Terminal device 310 CPU
320 Memory 330 Input unit 340 Display unit 350 Network interface unit 360 DLNA unit 362 UPnP unit 366 RA processing unit

Claims (9)

  1.  端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なうリモートアクセスシステムであって、
     前記端末装置は、
      インターネットを介して前記プライベートネットワークへ接続するための第1ネットワークインタフェース部と、
      UPnP規格に基づいて通信を行う第1UPnP部と
      UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部と、を備え
     前記ゲートウェイは、
      インターネットと接続するための第2ネットワークインタフェース部と、
      前記プライベートネットワークと接続するための第3ネットワークインタフェース部と、
      UPnP規格に基づいて通信を行う第2UPnP部と、
      前記デバイスに割り当てられたプライベートアドレスと、インターネットと接続するためのグローバルアドレスとを、アドレス変換テーブルに基づいて相互に変換するNAT部と、
      前記端末装置から受信したユニキャストのディスカバリメッセージを、マルチキャストのディスカバリメッセージに変換して、前記プライベートネットワークに転送する第2メッセージ変換部と、
      前記第3ネットワークインタフェース部を介して、デバイスから前記ディスカバリメッセージに対する応答メッセージを受信し、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、前記NAT部が有するアドレス変換テーブルに基づいて、前記プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換部とを備えており、
     前記端末装置は、前記第3メッセージ変換部によって書き換えられた応答メッセージに含まれるグローバルアドレスに基づき、前記応答メッセージの送信元である前記デバイスとの通信を行なうことを特徴とするリモートアクセスシステム。
    A remote access system for accessing a private network having a gateway and at least one device from a terminal device via the Internet,
    The terminal device
    A first network interface unit for connecting to the private network via the Internet;
    A first UPnP unit that performs communication based on the UPnP standard; and a first message conversion unit that converts a UPnP discovery message into a unicast discovery message destined for the gateway.
    A second network interface unit for connecting to the Internet;
    A third network interface unit for connecting to the private network;
    A second UPnP unit that performs communication based on the UPnP standard;
    A NAT unit that mutually translates a private address assigned to the device and a global address for connecting to the Internet based on an address translation table;
    A second message conversion unit that converts a unicast discovery message received from the terminal device into a multicast discovery message and forwards the message to the private network;
    A response message to the discovery message is received from the device via the third network interface unit, and the private address of the device included in the response message is determined based on the address conversion table of the NAT unit. And a third message conversion unit that rewrites the global address corresponding to
    The terminal apparatus performs communication with the device that is a transmission source of the response message based on a global address included in the response message rewritten by the third message conversion unit.
  2.  前記第3メッセージ変換部は、さらに前記応答メッセージに含まれる前記デバイスのUPnPディスクリプションの場所を示すURLを、対応するグローバルアドレスへ書き換えることを特徴とする、請求項1に記載のリモートアクセスシステム。 The remote access system according to claim 1, wherein the third message conversion unit further rewrites a URL indicating the location of the UPnP description of the device included in the response message to a corresponding global address.
  3.  前記プライベートネットワークは、DLNAガイドラインに従って構築されたネットワークであることを特徴とする、請求項1または2に記載のリモートアクセスシステム。 The remote access system according to claim 1 or 2, wherein the private network is a network constructed in accordance with DLNA guidelines.
  4.  少なくとも一つのデバイスを有するプライベートネットワークと、インターネット上の端末装置とを接続するゲートウェイであって、
     前記インターネットと接続するための第2ネットワークインタフェース部と、
     前記プライベートネットワークと接続するための第3ネットワークインタフェース部と、
     UPnP規格に基づいて通信を行う第2UPnP部と、
     前記デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、
     前記端末装置から受信したユニキャストのUPnPディスカバリメッセージを、マルチキャストのディスカバリメッセージに変換して前記プライベートネットワークに転送する第2メッセージ変換部と、
     前記第3ネットワークインタフェース部を介して、前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信し、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、前記NAT部が有するアドレス変換テーブルに基づいて、前記プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換部と、
    を備えることを特徴とするゲートウェイ。
    A gateway that connects a private network having at least one device and a terminal device on the Internet,
    A second network interface unit for connecting to the Internet;
    A third network interface unit for connecting to the private network;
    A second UPnP unit that performs communication based on the UPnP standard;
    A NAT unit for mutually converting a private address assigned to the device and a global address for Internet connection based on an address conversion table;
    A second message conversion unit that converts a unicast UPnP discovery message received from the terminal device into a multicast discovery message and transfers the message to the private network;
    A response message to the discovery message is received from the device via the third network interface unit, and the private address of the device included in the response message is determined based on the address conversion table of the NAT unit. A third message conversion unit for rewriting the global address corresponding to the address;
    A gateway comprising:
  5.  ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスする端末装置であって、
     インターネットを介して前記プライベートネットワークへ接続するための第1ネットワークインタフェース部と、
      UPnP規格に基づいて通信を行う第1UPnP部と、
      UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部と、を備え、
     前記端末装置は、前記デバイスからの応答メッセージに含まれるグローバルアドレスに基づき、前記応答メッセージの送信元である前記デバイスとの通信を行なうことを特徴とする端末装置。
    A terminal device for accessing a private network having a gateway and at least one device via the Internet,
    A first network interface unit for connecting to the private network via the Internet;
    A first UPnP unit that performs communication based on the UPnP standard;
    A first message conversion unit that converts a UPnP discovery message into a unicast discovery message destined for the gateway;
    The terminal apparatus performs communication with the device that is a transmission source of the response message based on a global address included in the response message from the device.
  6.  端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
     前記端末装置において実行される、
      UPnPディスカバリメッセージを生成するステップと、
      前記UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換してゲートウェイへ転送する第1メッセージ変換ステップと、
     前記ゲートウェイにおいて実行される、
      前記端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換して前記プライベートネットワークに転送する第2メッセージ変換ステップと、
      前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信し、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、前記プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換ステップと、
      前記デバイスに割り当てられたプライベートアドレスと前記グローバルアドレスとを前記アドレス変換テーブルに基づいて相互に変換するNAT変換ステップと、
    からなることを特徴とするリモートアクセス方法。
    A method for accessing a private network having a gateway and at least one device from a terminal device via the Internet,
    Executed in the terminal device;
    Generating a UPnP discovery message;
    A first message conversion step of converting the UPnP discovery message into a unicast discovery message destined for the gateway and transferring it to the gateway;
    Executed in the gateway,
    A second message conversion step of converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network;
    A third message for receiving a response message to the discovery message from the device and rewriting the private address of the device included in the response message to a global address corresponding to the private address based on an address translation table used in NAT; A conversion step;
    A NAT translation step for translating the private address assigned to the device and the global address to each other based on the address translation table;
    A remote access method comprising:
  7.  端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
     前記端末装置において実行される、
      UPnPディスカバリメッセージを生成するステップと、
      前記UPnPディスカバリメッセージを、前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換して、ゲートウェイへ転送する第1メッセージ変換ステップと、からなることを特徴とするリモートアクセス方法。
    A method for accessing a private network having a gateway and at least one device from a terminal device via the Internet,
    Executed in the terminal device;
    Generating a UPnP discovery message;
    A remote access method comprising: a first message conversion step of converting the UPnP discovery message into a unicast discovery message destined for the gateway and transferring it to the gateway.
  8.  端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
     前記ゲートウェイにおいて実行される、
      前記端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換して前記プライベートネットワークに転送する第2メッセージ変換ステップと、
      前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、前記プライベートアドレスに対応するグローバルアドレスへ書き換える第3メッセージ変換ステップと、
      前記デバイスに割り当てられたプライベートアドレスと前記グローバルアドレスとを前記アドレス変換テーブルに基づいて相互に変換するNAT変換ステップと、
    からなることを特徴とするリモートアクセス方法。
    A method for accessing a private network having a gateway and at least one device from a terminal device via the Internet,
    Executed in the gateway,
    A second message conversion step of converting a unicast discovery message received from the terminal device into a multicast discovery message and transferring it to the private network;
    When receiving a response message for the discovery message from the device, a third message for rewriting the private address of the device included in the response message to a global address corresponding to the private address based on an address translation table used in NAT A conversion step;
    NAT conversion step of converting the private address assigned to the device and the global address to each other based on the address conversion table;
    A remote access method comprising:
  9.  請求項6から請求項8のいずれか1項に記載のリモートアクセス方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the remote access method according to any one of claims 6 to 8.
PCT/JP2009/061092 2008-06-20 2009-06-18 Remote access system, device, method and program WO2009154249A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-161713 2008-06-20
JP2008161713A JP2010004344A (en) 2008-06-20 2008-06-20 Method, device, system, and program for conducting remote accessing

Publications (1)

Publication Number Publication Date
WO2009154249A1 true WO2009154249A1 (en) 2009-12-23

Family

ID=41434164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/061092 WO2009154249A1 (en) 2008-06-20 2009-06-18 Remote access system, device, method and program

Country Status (2)

Country Link
JP (1) JP2010004344A (en)
WO (1) WO2009154249A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108614A1 (en) * 2012-10-11 2014-04-17 Netflix, Inc. System and method for managing playback of streaming digital content
US9727321B2 (en) 2012-10-11 2017-08-08 Netflix, Inc. System and method for managing playback of streaming digital content

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2903216B1 (en) 2012-09-27 2019-11-06 Kyocera Corporation Management system, management method, and device
JP2015122671A (en) * 2013-12-24 2015-07-02 キヤノン株式会社 Data supplying device, data receiving device, and remote communication system
KR101789955B1 (en) 2014-01-02 2017-11-20 엘지전자 주식회사 Broadcast receiving device and operating method thereof
CN105960767B (en) * 2014-02-03 2019-10-18 Lg电子株式会社 Broadcast receiver and its operating method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208101A (en) * 2002-12-26 2004-07-22 Hitachi Ltd Gateway and communication method therefor
JP2007115177A (en) * 2005-10-24 2007-05-10 Seiko Epson Corp Retrieval of network device through network device having web server function
JP2008022213A (en) * 2006-07-12 2008-01-31 Kddi Corp Gateway for controlling information apparatus connected to lan via wan, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208101A (en) * 2002-12-26 2004-07-22 Hitachi Ltd Gateway and communication method therefor
JP2007115177A (en) * 2005-10-24 2007-05-10 Seiko Epson Corp Retrieval of network device through network device having web server function
JP2008022213A (en) * 2006-07-12 2008-01-31 Kddi Corp Gateway for controlling information apparatus connected to lan via wan, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108614A1 (en) * 2012-10-11 2014-04-17 Netflix, Inc. System and method for managing playback of streaming digital content
US9565475B2 (en) * 2012-10-11 2017-02-07 Netflix, Inc. System and method for managing playback of streaming digital content
US9727321B2 (en) 2012-10-11 2017-08-08 Netflix, Inc. System and method for managing playback of streaming digital content
US10326662B2 (en) 2012-10-11 2019-06-18 Netflix, Inc. System and method for managing playback of streaming digital content
US11755303B2 (en) 2012-10-11 2023-09-12 Netflix, Inc. System and method for managing playback of streaming digital content

Also Published As

Publication number Publication date
JP2010004344A (en) 2010-01-07

Similar Documents

Publication Publication Date Title
US7489924B2 (en) Apparatus and system for providing remote control service through communication network, and method thereof
EP2291979B1 (en) Remote access between upnp devices
JP4624701B2 (en) Device information management apparatus and method via network
JP4600992B2 (en) Home appliance remote control system and operation method thereof
JP4041118B2 (en) Gateway device, network system, communication program, and communication method
KR100440583B1 (en) A Method and Apparatus of Management and Control of UPnP Device in Home Network from the Internet
US7797417B2 (en) Method for providing service in IP-based network system
US20020040397A1 (en) IP based network system and networking method thereof
WO2009154249A1 (en) Remote access system, device, method and program
WO2012103721A1 (en) Method and device for terminal to visit digital household devices
JP2005516439A (en) Control device and control method for device connected to wired network
US20130064250A1 (en) Remotely accessing and controlling user equipment in a private network
KR100429902B1 (en) Apparatus and method for controlling devices in private network from public network
KR100906677B1 (en) Secure remote access system and method for universal plug and play
US9531561B2 (en) Apparatus and method for extending network area
US20090254671A1 (en) Remote control of a device by a terminal
US10404485B2 (en) Method and apparatus for restricting disclosure of network information during remote access service
JP2009010606A (en) Tunnel connection system, tunnel control server, tunnel connecting device, and tunnel connection method
JP5142216B2 (en) Content transmission method and system for transmitting content from terminal in home network to wide area network
JP4713420B2 (en) Communication system and network device sharing method
Belimpasakis et al. Remote access to universal plug and play (UPnP) devices utilizing the Atom publishing protocol
JP2015201758A (en) Repeater, communication system, information processing method, and program
KR100492543B1 (en) Remote controlling method and system for device in home network
KR20050046998A (en) Remote controlling method and system for device in home network
Muhammad et al. Educational Aspects of Service Orientation: Smart Home Design issues and Technologies.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09766697

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09766697

Country of ref document: EP

Kind code of ref document: A1