Abstract:
There is provided a method for allowing a remote access device to access a remote access target device within a home network. The method includes receiving, from a remote access agent of the home network, access information of the remote access target device within the home network and access information of the remote access agent; receiving a request for the access information of the remote access target device from the remote access device; requesting, to the remote access agent, port forwarding for the remote access target device based on the access information of the remote access target device and the remote access agent; receiving an answer to the request from the remote access agent, and updating the access information of the remote access target device based on the received answer; and sending the updated access information to the remote access device.

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATION 
       [0001]    This application claims priority from Korean Patent Application No. 10-2010-0128269, filed on Dec. 15, 2010 in the Korean Intellectual Property Office, the entire contents of which are incorporated by reference herein. 
       BACKGROUND 
       [0002]    1. Field 
         [0003]    Apparatsues, systems, and methods consistent with the present disclosure relate to allowing a remote access device to access a remote access target device within a home network and, in particular, to allowing an external device to access a device within a home network constructed by a private network. 
         [0004]    2. Description of the Related Art 
         [0005]    A Universal Plug and Play (UPnP) protocol is an Internet Protocol (IP)-based standard protocol technology, which is generally used for communication among a plurality of devices within a home network. 
         [0006]    A device within a home network uses a Uniform Resource Locator (URL) to other UPnP devices on the home network. 
         [0007]    Accordingly, a user may access the URL of the device through a web browser to use a user interface for the device. 
         [0008]    However, if the home network is provided in a private network environment the URL includes private IP address information. Thus, it is difficult for a remote terminal outside the home network to access a device within the home network by only using the URL including the private IP address information. 
       SUMMARY 
       [0009]    Aspects of one or more exemplary embodiments provide a method and a system, in which a remote access control server makes a request for setting up port forwarding for a device within a home network constructed in a private network environment in response to a request from a user, and presentation URL information for the device within the home network is corrected, such that a user of a remote access terminal easily executes remote access to the device within the home network. 
         [0010]    According to an aspect of an exemplary embodiment, there is provided a method for allowing a remote access device to access a remote access target device within a home network through a remote access control server. The method includes receiving, from a remote access agent of the home network, access information of the remote access target device within the home network and access information of the remote access agent, receiving a request for the access information of the remote access target device from the remote access device, in response to the received request for access information, requesting, to the remote access agent, port forwarding for the remote access target device based on the access information of the remote access target device and the access information of the remote access agent, receiving an answer to the request of port forwarding from the remote access agent, and updating the access information of the remote access target device based on the received answer and sending the updated access information to the remote access device, wherein the updated access information allows the remote access device to access the remote access target device from outside the home network. 
         [0011]    In an aspect of an exemplary embodiment, the receiving the request may include receiving a request for list information of devices included in the home network from the remote access device, in response to the request for the list information of the devices, transmitting the list information of the devices included in the home network to the remote access device, the list information being compiled from access information of the remote access target device received from the remote access agent and receiving a request for the access information of the remote access target device included in the list information of the devices, from the remote access device. 
         [0012]    In an aspect of an exemplary embodiment, transmitting the list information may include acquiring user identification information of the remote access device from the request for the list information of the devices that has been received from the remote access device and transmitting, to the remote access device, list information of at least one remote access target device within the home network corresponding to the user identification information. 
         [0013]    According to an aspect of another exemplary embodiment, there is provided a system for allowing a remote access device to access a remote access target device within a home network. The system includes a port forwarding information managing unit, in response to a request for the access information of the remote access target device received from the remote access device, configured to request, to the remote access agent, port forwarding for the remote access target device based on the access information of the remote access agent and the access information of the remote access target device and an access information managing unit configured to update the access information of the remote access target device based on an answer to the request of port forwarding received from the remote access agent, and transmit the updated access information to the remote access device, wherein the updated access information allows the remote access device to access the remote access target device from outside the home network. 
         [0014]    In an aspect of another exemplary embodiment, the system may further include a home network information providing unit configured to provide the remote access device with list information including information on at least one device included in the home network, the list information being generated based on the received access information of the remote access target device, wherein the request for the access information of the remote access target device is generated based on the list information provided to the remote access device. 
         [0015]    In an aspect of another exemplary embodiment, the home network information providing unit may receive user identification information from the remote access device, and provide the remote access device with the list information on at least one remote access target device within the home network corresponding to the received user identification information. 
         [0016]    In an aspect of another exemplary embodiment, the access information on the remote access agent may include public Internet Protocol (IP) address information of the remote access agent and the port forwarding information managing unit requests port forwarding to the remote access agent corresponding to the public IP address. 
         [0017]    In an aspect of another exemplary embodiment, the access information of the remote access target device may include information on a private Internet Protocol (IP) address and port number of the remote access target device, and the port forwarding information managing unit may request port forwarding to the remote access agent based on the information on the private IP address and the port number. 
         [0018]    In an aspect of another exemplary embodiment, the access information managing unit may acquire information on external port number of the remote access target device from an answer to the request of the port forwarding, and the updated access information of the remote access target device may include the acquired external port number of the remote access target device and the access information of the remote access agent. 
         [0019]    In an aspect of another exemplary embodiment, the updated access information of the remote access target device may include presentation Uniform Resource Locator (URL) information including the information on the external port number of the remote access target device and the public IP address of the remote access agent. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    Non-limiting and non-exhaustive embodiments will be described in conjunction with the accompanying drawings. Understanding that these drawings depict only several exemplary embodiments in accordance with the disclosure and are, therefore, not to be intended to limit its scope, the disclosure will be described with specificity and detail through use of the accompanying drawings, in which: 
           [0021]      FIG. 1  is a view showing configuration of a system for providing remote access to a terminal within a home network according to an exemplary embodiment; 
           [0022]      FIG. 2  is a signal flow chart showing flow of a method for providing remote access to a device within a home network according to an exemplary embodiment; and 
           [0023]      FIG. 3  is a view showing a configuration of a remote access control server of a system for providing remote access to a device within a home network according to an exemplary embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    Hereinafter, exemplary embodiments in accordance with the present disclosure will be described in detail by reference to the accompanying drawings so that the present disclosure may be readily implemented by those skilled in the art. However, it is to be noted that the present disclosure is not limited to the exemplary embodiments but can be realized in various other ways. In the drawings, parts irrelevant to the description are omitted for the simplicity of explanation, and like reference numerals denote like parts through the whole document. 
         [0025]    Through the whole document, the term “connected to” or “coupled to” that is used to designate a connection or coupling of one element to another element includes both a case that an element is “directly connected or coupled to” another element and a case that an element is “electronically connected or coupled to” another element via still another element. Further, the term “comprises or includes” and/or “comprising or including” used in the document means that one or more other components, steps, operation and/or existence or addition of elements are not excluded in addition to the described components, steps, operation and/or elements. 
         [0026]    A device within a home network informs the other devices within the home network of its existence by transmitting a Simple Service Discovery Protocol (SSDP) multicast message to the other devices through the UPnP. The devices that have received the SSDP message may recognize a type of the UPnP device that has transmitted the SSDP message, by using information recorded in the received SSDP message, and may access a Uniform Resource Locator (URL) recorded in a LOCATION field of the SSDP message to obtain more detailed information about the UPnP device. 
         [0027]    Generally, the LOCATION field includes a URL for an XML document including description information of a corresponding device. The description information includes information such as a manufacturer and a model code of the UPnP device, and information about a presentation URL useful for access to a web server provided by the UPnP device. 
         [0028]    Accordingly, a user may access the presentation URL of the device through a web browser to use a user interface for the device. 
         [0029]    However, as discussed above, if the home network is provided in a private network environment using an IP sharer or the like, the presentation URL will include private IP address information. Thus, there is a disadvantage in that a remote terminal outside the home network has difficulty in accessing a device within the home network by only using the presentation URL including the private IP address information. 
         [0030]    In order to access such a device, the user of the home network sets up port forwarding for the corresponding device to a gateway within the home network. After setting up port forwarding, the user subscribes to separate services to obtain a dynamic public IP address allocated in wide arean network (WAN) of the IP sharer. Thus, there is a disadvantage in that this process is complex and a user having no special knowledge has difficulty in executing remote access. Even if a user has the special knowledge, various steps are required to execute remote access which is inconvenient 
         [0031]    Hereinafter, exemplary embodiments in accordance with the present disclosure will be explained in detail by reference to the accompanying drawings. 
         [0032]      FIG. 1  is a view showing configuration of a system for providing remote access to a device within a home network according to an exemplary embodiment. 
         [0033]    In a system for providing remote access to a device within a home network, a device targeted for remote access includes a Universal Plug and Play (UPnP) device  100  located within a home network constructed in a private network environment configured by a remote access agent  200 . 
         [0034]    The UPnP device  100  is allocated with a private IP address from the remote access agent  200 , and transmits a description document including access information of the UPnP device  100  to the remote access agent  200 . 
         [0035]    The remote access agent  200  transmits the description document including the access information received from the UPnP device  100 , user identification information such as ID and passwords of a user of the home network, and home network access information such as an IP address of the remote access agent  200 , to a remote access control server  300  through a network. 
         [0036]    Since the IP address of the remote access agent  200  is a public IP address, a terminal such as an external server or a desktop may access the remote access agent  200  through the Internet network or the like by using the public IP address of the remote access agent  200 . 
         [0037]    The remote access control server  300  receives the home network access information from the remote access agent of at least one home network, and stores the received home network access information from the home networks. 
         [0038]    The remote access control server  300  provides list information of remotely accessible UPnP devices within the home network to the remote access terminal  400  in response to a request from the remote access terminal  400 . 
         [0039]    The remote access control server  300  receives a request for access information of the UPnP device from the remote access terminal  400 , requests setting up port forwarding for the UPnP device  100  to the remote access agent  200  of the home network, in which the UPnP device is located, and receives a response signal thereto. 
         [0040]    The remote access control server  300  generates or corrects access information of the UPnP device  100  based on a port forwarding response signal received from the remote access agent  200 , and transmits the generated or corrected access information of the UPnP device  100  to the remote access terminal  400 . 
         [0041]    The remote access terminal  400  remotely accesses the UPnP device  100  through the remote access agent  200  by using the access information of the UPnP device  100  received from the remote access control server  300 . The remote access terminal  400  is a terminal located outside the home network and may include terminals capable of executing data communication such as a desktop, a laptop, a smart phone, and a Personal Digital Assistant (PDA). 
         [0042]    According to an exemplary embodiment, in order to access the UPnP device  100 , a user of the remote access terminal  400  does not need to request setting up port forwarding to a gateway connected to the UPnP device  100 , i.e., the remote access agent  200 . The user requests access information from the remote access control server  300  to receive access information reflecting the setup for port forwarding from the remote access control server  300  such that the user easily accesses the UPnP device  100 . 
         [0043]      FIG. 2  is a signal flow chart showing flow of a method for providing remote access to a device within a home network according to an exemplary embodiment. 
         [0044]    In operation S 105 , the UPnP device  100  transmits a Simple Service Discovery Protocol (SSDP) message to the remote access agent  200  within the home network. 
         [0045]    As described, the UPnP device  100  transmits the SSDP message to the remote access agent  200  to inform the remote access agent  200  within the home network of the existence of the UPnP device  100 . The SSDP message transmitted by the UPnP device  100  includes a LOCATION field including access information for a description XML document of the UPnP device  100 , e.g., Uniform Resource Locator (URL) information. 
         [0046]    In operation S 110 , the remote access agent  200  accesses the UPnP device  100  by using the access information for the description XML document of the UPnP device  100 , which is included in the LOCATION field of the SSDP message received from the UPnP device  100 . 
         [0047]    That is, the remote access agent  200  requests access of the description XML document of the UPnP device  100  based on the SSDP message received in operation S 105 . 
         [0048]    In operation S 115 , the remote access agent  200  receives the description XML document from the UPnP device  100 . 
         [0049]    In operation S 120 , the remote access agent  200  transmits the user identification information of the UPnP device  100  and the access information of the remote access agent  200  to the remote access control server  300 , together with the access information of the UPnP device  100  included in the description XML document received from the UPnP device  100  in operation S 115 , e.g., the presentation URL information including the private IP address and the port numbers of the UPnP device  100 . 
         [0050]    The access information of the remote access agent  200  may include the IP address of the remote access agent  200 . 
         [0051]    The remote access agent  200  may obtain presentation URL information of at least one UPnP device within the home network including the remote access agent  200  and transmit the presentation URL information to the remote access control server  300 . 
         [0052]    The IP address of the remote access agent  200 , i.e., the public IP address, may correspond to dynamic IP allocated by Dynamic Host Configuration Protocol (DHCP). The private IP address and the port numbers of the UPnP device  100  included in the presentation URL access information of the UPnP device  100  may vary. Accordingly, operation S 105  to operation S 120  may be cyclically carried out. 
         [0053]    Accordingly, the remote access agent  200  may transmit the presentation URL information of the UPnP device  100 , the user identification information, and the access information of the remote access agent  200  that are cyclically renewed, to the remote access control server  300 . 
         [0054]    In operation S 125 , the remote access control server  300  stores the access information of the UPnP device of the home network that includes the remote access agent  200 , the user identification information of the UPnP device  100 , and the access information of the remote access agent  200 . The access information of the UPnP device, the user ideintification information, and the access information of the remote access agent  200  are stored in association with each other in the remote access control server  300 . Accordingly, the remote access control server  300  may store the presentation URL information including the access information of the UPnP device  100 . 
         [0055]    The remote access control server  300  may separately manage and store list information of at least one UPnP device included in the home network that includes the remote access agent  200 . 
         [0056]    In operation S 130 , the remote access terminal  400  requests list information of UPnP devices included in the home network that includes the remote access agent  200  from the remote access control server  300 . 
         [0057]    The remote access terminal  400  may access the remote access control server  300  by using a web browser, and transmits user identification information to the remote access control server  300 , such that the remote access terminal  400  may request list information of UPnP devices within the home network matching the user identification information. 
         [0058]    In operation S 135 , in response to the request for list information of UPnP devices received in operation S 130 , the remote access control server  300  searches and acquires list information of UPnP devices within the home network matching the requested user identification information among list information of the UPnP devices stored in advance according to their home networks. 
         [0059]    In operation S 140 , the remote access control server  300  transmits the UPnP device list information acquired in operation S 135  to the remote access terminal  400 . 
         [0060]    In operation S 145 , the remote access terminal  400  selects a certain UPnP device, i.e., the UPnP device  100 , from the UPnP device list information received in operation S 140 , and requests the remote access control server  300  to provide access information of the selected UPnP device  100 . 
         [0061]    In operation S 150 , the remote access control server  300  acquires information about the private IP address and the port numbers of the UPnP device  100  by using the presentation URL information of the UPnP device stored in operation S 125 , in response to the request for providing access information received in operation S 145 . 
         [0062]    In operation S 155 , the remote access control server  300  transmits a message to request setting up port forwarding for the private IP address and the port numbers of the UPnP device  100 , which have been acquired in operation S 150 , to the remote access agent  200 . 
         [0063]    In operation S 160 , the remote access agent  200  determines whether a port forwarding value for the private IP address included in the request message, i.e., the UPnP device  100 , exists, in response to the request message received in operation S 155 . 
         [0064]    If a preset port forwarding value for the UPnP device  100  exists, the remote access agent  200  acquires information about the set external port numbers for port forwarding. 
         [0065]    If no preset port forwarding value for the UPnP device  100  exists, the remote access agent  200  sets port forwarding corresponding to the private IP address and the port numbers of the UPnP device  100 , and acquires information about the set external port numbers. 
         [0066]    In operation S 165 , the remote access agent  200  transmits a port forwarding setting up response signal including the external port number information acquired in operation S 160  to the remote access control server  300 . 
         [0067]    In operation S 170 , the remote access control server  300  corrects the access information of the UPnP device  100  to reflect the external port number information included in the port forwarding setting up response signal received in operation S 165 , and the public IP address of the remote access agent  200  on the access information of the UPnP device  100 , e.g., the presentation URL information of the UPnP device  100 . 
         [0068]    In operation S 175 , the remote access control server  300  transmits the access information of the UPnP device  100  that has been corrected in operation S 170 , to the remote access terminal  400 . 
         [0069]    In operation S 180 , the remote access terminal  400  executes remote access to the UPnP device  100  through the remote access agent  200  by using the access information of the UPnP device  100  that has been received in operation S 175 . 
         [0070]      FIG. 3  is a view showing configuration of a system for providing remote access to a device within a home network according to an exemplary embodiment. 
         [0071]    The remote access control server  300  includes a home network information receiving unit  310 , a home network information providing unit  320 , an access information request receiving unit  330 , a port forwarding information managing unit  340 , an access information managing unit  350 , and a home network database (DB)  360 . 
         [0072]    The home network information receiving unit  310  receives, from the remote access agent (not illustrated) of the home network, the presentation URL information including the private IP address and the port numbers of the UPnP device included in the home network, the user identification information of the UPnP device, and the access information of the remote access agent. 
         [0073]    Based on the received information, the home network information receiving unit  310  stores home network information including the list information of the UPnP devices by home networks, the access information of the UPnP device, the user identification information, and the access information of the remote access agent in the home network DB  360 . 
         [0074]    In response to a request for providing information of at least one UPnP device within the home network received from the remote access terminal (not illustrated) located outside the home network, the home network information providing unit  320  searches information of the UPnP device included in the home network requested by the remote access terminal from the home network DB  360  and transmits the information to the remote access terminal. 
         [0075]    A signal for requesting information for the UPnP device, which is transmitted from the remote access terminal, may include the user identification information of the remote access terminal. The home network information providing unit  320  may search for a home network that matches the user identification information of the remote access terminal, and acquire UPnP device information matching the searched home network. The acquired UPnP device information of at least one UPnP device is transmitted to the remote access terminal. 
         [0076]    Accordingly, the home network information receiving unit  310  may match the information of the UPnP device within the home network with the preset user identification information of the remote access terminal to store the information in the home network database  360 . 
         [0077]    The access information request receiving unit  330  receives a request for access information for remote access to a certain UPnP device included in the information of the UPnP device within the home network provided by the home network information providing unit  320 , from the remote access terminal. 
         [0078]    The port forwarding information managing unit  340  acquires access information including the presentation URL information of the UPnP device, for which access information has been requested by the access information request receiving unit  330 , from the home network database  360 , and acquires information about the private IP address and the port numbers of the UPnP device by using the presentation URL information included in the acquired access information. 
         [0079]    The port forwarding information managing unit  340  transmits a message for requesting setting up port forwarding, including the acquired private IP address and port numbers of the UPnP device, to the remote access agent (not illustrated). 
         [0080]    In response to the port forwarding setting up request message, the remote access agent sets up port forwarding for the UPnP device by using the private IP address and the port numbers of the UPnP device included in the received port forwarding setting up request message, and transmits the set external port number information to the access information managing unit  350 . 
         [0081]    The port forwarding information managing unit  350  transmits the external port number information received from the remote access agent to the access information managing unit  350 . 
         [0082]    The access information managing unit  350  corrects the presentation URL information of the UPnP device by using the information about the external port numbers set by the remote access agent for the UPnP device received from the port forwarding information managing unit, i.e., the UPnP device, for which access information has been requested from the remote access terminal, and the public IP address of the remote access agent. 
         [0083]    That is, the access information managing unit  350  corrects the presentation URL information to include the external port numbers set for the UPnP device and the public IP address of the remote access agent in the presentation URL information of the UPnP device, for which access information has been requested, such that the remote access terminal can remotely access the UPnP device by using the corrected presentation URL information. 
         [0084]    The access information managing unit  350  transmits the corrected presentation URL address to the remote access terminal, for which access information has been requested. 
         [0085]    Accordingly, a user of the remote access terminal does not need to request setting up port forwarding to the remote access agent of the home network, which the user desires to access, and does not need to set the IP address of the remote access agent and the port numbers of the UPnP device. The user merely requests access information to the remote access control server  300  to execute setting up port forwarding, and receiving and setting up access information, so that the user can more easily execute remote access to the UPnP device within the home network. 
         [0086]    The exemplary embodiments of the present disclosure can be embodied in a storage medium including instruction codes executable by a computer such as a program module executed by the computer. Besides, the data structure in accordance with the exemplary embodiments of the present disclosure can be stored in the storage medium executable by the computer. A computer readable medium can be any usable medium which can be accessed by the computer and includes all volatile/non-volatile and removable/non-removable media. Further, the computer readable medium may include all computer storage and communication media. The computer storage medium includes all volatile/non-volatile and removable/non-removable media embodied by a certain method or technology for storing information such as computer readable instruction code, a data structure, a program module or other data. The communication medium typically includes the computer readable instruction code, the data structure, the program module, or other data of a modulated data signal such as a carrier wave, or other transmission mechanism, and includes a certain information transmission medium. 
         [0087]    In accordance with exemplary embodiments of the present disclosure, the remote access terminal merely requests access information of the remote access targeted terminal such as an UPnP device to the remote access control server, such that the remote access terminal receives the access information of the remote access targeted terminal such as the presentation URL information including the information, in which port forwarding for the remote access targeted terminal is set up, and the access information, such as the public IP address, of the remote access agent as a gateway. Accordingly, the remote access terminal can more easily execute remote access to the terminal within the home network. 
         [0088]    The above description of the present disclosure is provided for the purpose of illustration, and it would be understood by those skilled in the art that various changes and modifications may be made without changing technical conception and essential features of the present disclosure. Thus, it is clear that the above-described exemplary embodiments are illustrative in all aspects and do not limit the present disclosure. For example, each component described to be of a single type can be implemented in a distributed manner. Likewise, components described to be distributed can be implemented in a combined manner. 
         [0089]    The scope of the present disclosure is defined by the following claims rather than by the detailed description of the exemplary embodiments. It shall be understood that all modifications and embodiments conceived from the meaning and scope of the claims and their equivalents are included in the scope of the present disclosure.