Patent Publication Number: US-8526352-B2

Title: Method of controlling an entity of a remote network from a local network

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     None. 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     None. 
     THE NAMES OF PARTIES TO A JOINT RESEARCH AGREEMENT 
     None. 
     FIELD OF THE DISCLOSURE 
     The disclosure relates to the field of telecommunications and more particularly to a method of controlling an entity of a remote network from a local network. 
     BACKGROUND OF THE DISCLOSURE 
     Various technologies make it possible to establish a connection from one network to another, for example for the purpose of controlling an entity of a remote network from a local network. For example, VPN (Virtual Private Network) secure tunnels. Another commonly used solution consists in calling upon an IMS (IP Multimedia Subsystem) architecture. 
     In the field of domestic networks, the UPnP protocol is emerging as a standard for the sharing, broadcasting and monitoring of digital contents. Today, various appliances complying with the UPnP (Universal Plug and Play) standard are spreading throughout homes, and in particular in the field of multimedia with Media Servers (called for example PVConnect, Windows Media Player 11, etc.), Media Renderers (STB, DMA audio, IP-Radio, etc.), and Media Players (games consoles, digital photo frames, etc.). However, the appliances of a UPnP network are not designed to communicate with an appliance of another UPnP network. Indeed, the UPnP entity discovery mechanism sends a command in “multicast” mode which only makes it possible to discover entities present in a local network. 
     The existing VPN tunnel or IMS architecture based solutions are for their part relatively unwieldy and complex to implement. Furthermore, with VPN tunnel based solutions, address conflict problems arise. IMS architectures are not necessarily made freely available to users belonging to the general public. 
     It is thus apparent that there is a requirement for a simple solution for connecting two networks, allowing the control of an entity of a remote network from a local network and which is applicable for placing a UPnP appliance of one network in communication with an appliance of another UPnP network. 
     SUMMARY 
     A first aspect of the disclosure relates to a method of controlling at least one entity of a remote source network from a local home network, the method being implemented by a relay module, termed a roaming relay module, designed so as, when it is executed by an appliance connected to the home network, to communicate with a relay module, termed a source relay module, executed by an appliance of the source network and serving as communication relay in relation to the at least one entity, the method comprising
         a step of reception by the roaming relay module via a control interface, complying with a first protocol usable to control the entity from the source network, of a first request,   a step of sending from the roaming relay module to the source relay module, of a second request intended to be converted by the source relay module into at least one third request complying with the first protocol.       

     This disclosure proposes a method allowing a user to easily control an entity—for example a UPnP entity—of a remote network from a terminal of a local network, this entity being for example a UPnP content server. This user can thus access all of his contents from the local domestic network of a friend or member of his family, and restore these contents by the terminal of the local network. 
     The roaming relay module exhibits a control interface complying with the protocol usable to control the entity from the source network and is furthermore capable of sending to the source relay module requests intended for the remote entity in the source network. It can therefore represent this entity in the home network via this control interface. 
     Finally, the presence of the two cooperating relay modules therefore allows a dialogue, complying with the first protocol, of entities of the home network with one or more entities of the source network. 
     According to an exemplary embodiment of the method, said entity is a content server, the method comprising a step of providing an address of at least one content referenced by the contents server, the address designating, as entity from which the content may be obtained, an entity executed by an appliance of the home network, able to transmit to the source relay module a request for access to the content. Thus access requests to multimedia contents of the remote content server are automatically redirected to an entity from which said content may be obtained. No modification of the local modules that are already able to communicate with local content servers is necessary to access to such a remote content. 
     According to an embodiment, the method comprises a step of implementing a discovery mechanism so that the roaming relay module is recognized as contents server of the local home network. Therefore a communication between said roaming module and a local module able to communicate with content servers of the local network using said first protocol, may be established without modifying said local module. The entity of the remote network can thus be controlled in a transparent way, from user point of view, as if it was located in the local network. 
     According to an embodiment of the method, the second request is sent in compliance with a second protocol distinct from the first protocol. The two modules, source and roaming, can use any appropriate communication scheme to establish a communication link from the source network to the remote network. 
     According to another embodiment of the method, the roaming relay module is stored on a recording medium accessible from an appliance of the home network. The method thus makes it possible to access the source network from any home network. 
     The recording medium is for example a USB key, whose content is, after connection to a terminal of the local network, accessible from this terminal. In an extremely simple and practical manner, the user will by transporting this USB key be able to access contents of his domestic network. 
     According to another embodiment of the method, the recording medium furthermore comprises a connection module, termed a roaming connection module, the method furthermore comprising a step of establishment, by the roaming connection module, of a communication link with an appliance for access to the remote network, the second request being transmitted via the communication link. Thus the communication link with the home network can be established in a secure manner, in particular by a connection module authorized to access the source network and utilizing data of connection to this network. 
     In particular, according to yet another embodiment of the method, the recording medium is able to be connected to the terminal. In this case, to guarantee that access to the source network will be possible, the user can transport this medium containing the module or modules necessary for accessing the source network and driving the remote entity. 
     According to another embodiment of the method, the entity is a contents server of the remote source network, the first request being a request to obtain metadata of contents stored in the contents server. The method allows various users to share access to their contents. 
     Correlatively, the disclosure also relates to a data recording medium, accessible from an appliance of a local home network, for the implementation of a method of controlling at least one entity of a remote source network, 
     the recording medium comprising a relay module, termed a roaming relay module, designed so as, when it is executed by an appliance connected to the home network, to communicate with another relay module, termed a source relay module, executed by an appliance of the source network and serving as communication relay in relation to the at least one entity, 
     the roaming relay module being able to receive via a control interface, complying with a first protocol usable to control the entity from the source network, at least one first request and able to send to the source relay module a second request intended to be converted by the source relay module into at least one third request complying with the first protocol. 
     According to an embodiment, the medium furthermore comprises a connection module able to establish a communication link with an appliance for access to the source network. 
     According to an embodiment, data of connection to the access appliance which are intended to be used by the connection module are stored in the medium. 
     Correlatively, the disclosure also relates to a relay module, termed a roaming relay module, for the implementation of a method of controlling at least one entity of a remote source network from a local home network, 
     the roaming relay module being designed so as, when it is executed by an appliance connected to the home network, to communicate with a relay module, termed a source relay module, executed by an appliance of the source network and serving as communication relay in relation to the at least one entity, 
     the roaming relay module being able to receive via a control interface, complying with a first protocol usable to control the entity from the source network, at least one first request and able to send to the source relay module, a second request intended to be converted by the source relay module into at least one third request complying with the first protocol. 
     Symmetrically, the disclosure relates to a relay module, termed a source relay module, for the implementation of a method of controlling at least one entity of a remote source network from a local home network, 
     the source relay module serving as communication relay in relation to the at least one entity and being designed so as, when it is executed by an appliance of the source network, to communicate with a relay module, termed a roaming relay module, executed by an appliance connected to the home network, able to receive via a control interface, complying with a first protocol usable to control the entity from the source network, at least one first request, 
     the source relay module being able to receive from the roaming relay module a second request intended to be converted into a third request complying with the first protocol. 
     According to an embodiment, the source relay module is able, when the third request is a request to obtain metadata of contents stored in several contents servers, to aggregate the metadata received from the various contents servers in response to the third request. 
     According to an embodiment, the source relay module is able to adapt the contents addresses included in the received or aggregated metadata so that these addresses can be interpreted by an appliance of the home network. 
     According to an exemplary implementation, the various steps of the method are implemented by computer software or a program, this software comprising software instructions intended to be executed by a data processor of a device being designed to control the execution of the various steps of this method. 
     Consequently, the disclosure is also aimed at a program, that may be executed by a computer or by a data processor, this program comprising instructions for controlling the execution of the steps of a method such as that mentioned above. 
     This program can use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form. 
     The disclosure is also aimed at an information medium readable by a computer or data processor, and comprising instructions of a program such as that mentioned above. 
     The information medium can be any entity or device capable of storing the program. For example, the medium can comprise a storage device, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording device, for example a diskette (floppy disk) or a hard disk. 
     Moreover, the information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program can in particular be downloaded from a network of Internet type. 
     Alternatively, the information medium can be an integrated circuit into which the program is incorporated, the circuit being adapted for executing or for being used in the execution of the method in question. 
     According to another implementation, the method is implemented by software and/or hardware components. In this respect, the term module can correspond in this document equally well to a software component or to a hardware component or else to a programmable hardware component, with or without integrated processor. 
     A software component corresponds to one or more computer programs, one or more subroutines of a program, or in a more general manner to any element of a program or of a piece of software able to implement a function or a set of functions, according to what is described below for the module concerned. In the same manner, a hardware component corresponds to any element of a hardware assembly able to implement a function or a set of functions, according to what is described below for the module concerned. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Other aims, characteristics and advantages will be apparent through the description which follows, given only by way of non-limiting example and by reference to the appended drawings in which: 
         FIG. 1  represents in a schematic manner a communication system integrating a device; 
         FIG. 2  represents a flowchart of an embodiment of the method. 
     
    
    
     DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS 
     An exemplary embodiment of a method and apparatus are described in greater detail in the case of their application to the remote control, from a local home network, of an entity in the form of a contents server situated in a remote source network and of a scheme for accessing the contents stored by this server. 
     Such a content server is for example a content server complying with the UPnP (Universal Plug and Play) standard or DLNA standard (Digital Living Network Alliance). Such a content server is called a “Digital Media Server” (DMS) in the context of the UPnP/DLNA architecture. However, the mechanism proposed by the disclosure is transposable to other protocols serving for the control of entities of a local network. 
     The methods and apparatus of the disclosure are also applicable to the remote control of other types of entities complying with the UPnP/DLNA standard, in particular to the control of content rendering devices, called “Digital Media Renderer” (DMR) or “Digital Media Player” (DMP), or of control devices called “Digital Media Controller” (DMC). 
     The UPnP/DLNA standard provides mechanisms and an architecture allowing a linkup, of peer network type, between the UPnP entities. Each UPnP entity may be physically integrated into one of the terminals of the local network or else into an appliance such as an interconnection gateway (Gateway), set-top-box (STB), router or storage server of NAS (Network Attached Storage) type, etc. The communication mechanisms provided in the UPnP standard are designed to allow interoperability between the UPnP entities. The UPnP protocol uses in particular the TCP/UDP/IP protocols (Transmission Control Protocol/User Datagram Protocol/Internet Protocol) for transporting the UPnP requests. 
     An entity is termed a UPnP entity if it complies with the UPnP/DLNA standard or with another equivalent or derived standard, in particular if it uses a control protocol complying with such a standard. 
     The system represented in  FIG. 1  is organized around, on the one hand, a first local network RS 1  termed a source network, and, on the other hand, a second local network RS 2 , termed a home network, these two local networks being interconnected together via an extended network RI, for example the Internet network. The local networks RS 1  and RS 2  are for example domestic networks. 
     This system comprises the following entities:
         a first terminal T 11  of the source network RS 1 , hosting a contents server DMS 11 , complying with the UPnP standard;   a second terminal T 12  of the source network RS 1 , hosting another contents server DMS 12 , complying with the UPnP standard;   a domestic gateway GW 1 , serving as access gateway to the source network RS 1 , hosting a source relay module DMS-R 1 , also called a source relay module and an interconnection module CG 1  for access to the extended network RI;   a domain name server DNS 1  (Domain Name Server, DNS) present in an operator network ROP 1  of a network operator, the provider of the domestic gateway GW 1 , this operator network forming a network for access to the Internet network for the source network RS 1 ;   a first terminal T 21  of the home network RS 2 , hosting a contents rendering device DMR 2  (Digital Media Renderer or Digital Media Player), complying with the UPnP standard;   a second terminal T 22  of the home network RS 2 , hosting a contents server DMS 21 , complying with the UPnP standard;   a domestic gateway GW 2 , serving as access gateway to the home network RS 2 , hosting an interconnection module CG 2  for access to the extended network RI;   a recording medium SPR, comprising
           a roaming connection module RCG, used to establish a connection to the source network RS 1  from another network and   a relay module DMS-R 2  also called roaming relay module.   
               

     1. Contents Servers DMS 11  and DMS 12   
     The contents server DMS 11  (or DMS 12 ) is a contents server complying with the UPnP standard, or “Digital Media Server” (DMS). Consequently, it exhibits a control interface complying with the UPnP standard and is drivable only by UPnP requests. The sending of a UPnP request is usually carried out by a function call via a software programming interface (API, Application Programming Interface) of the destination entity. 
     2. Gateway GW 1   
     The gateway GW 1  is a gateway for interconnecting the source network RS 1  with the Internet network RI. It allows the terminals of the source network RS 1  to access the Internet network RI. Conversely, the gateway allows—with the proviso that rights for such access are granted—appliances of a network other than the source network RS 1  to communicate with a terminal of the source network RS 1 . 
     The interconnection module CG 1  implements the functions of interconnection between the source network RS 1  and the Internet network RI. It comprises for this purpose a first communication interface for communication with the entities of the source network RS 1  and a second communication interface for communication via the Internet network RI, in particular with the entities external to the source network RS 1 . This second interface is used to communicate with an Internet access provider (commonly called Internet Service Provider, ISP) of the operator of the network ROP, as well as with the domain name server DNS 1 . 
     The server DNS 1  maintains a lookup table of correspondences between public addresses and names assigned to the appliances that it manages. In particular, the name assigned to the domestic gateway GW 1  is static, that is to say does not change, but the public address of the domestic gateway GW 1  changing periodically, it is necessary, in order to communicate with this domestic gateway GW 1 , to ascertain its current public address, and therefore to interrogate the server DNS 1  on the basis of the name of the GW 1 . This name corresponds to the name of the network domain managed by this gateway, and is for example in the form:
         myhome.homedns.org       

     This name can be assigned automatically by the network operator providing the domestic gateway GW 1  or configured manually by a user of this gateway. 
     The configuration of the domain name associated with the domestic gateway GW 1  is performed by the interconnection module CG 1  which communicates for this purpose with the server DNS 1 . 
     The interconnection module CG 1  furthermore comprises an addressing module in the form of an IGD (Internet Gateway Device) or CGI (Common Gateway Interface) UPnP device, in charge of mapping the public addresses and ports in relation to the private addresses and ports of the appliances of the source network RS 1 , so as to allow a device outside the source network RS 1  to communicate with such an appliance of this source network RS 1  by a public address and/or port. This addressing module is used in particular to allow the roaming relay module DMS-R 2  to be placed in communication with the source relay module DMS-R 1 . 
     3. Source Relay Module DMS-R 1   
     The source relay module DMS-R 1  is a representative entity (or proxy entity) associated with one or more contents servers DMS 11  and/or DMS 12 : it serves as communication intermediary between a contents server DMS 11  (or DMS 12 ) and an entity not complying with UPnP and/or not forming part of the source network. The source relay module DMS-R 1  thus serves as the “representative” of the contents server DMS 11  in relation to such an entity. By virtue of the presence of the source relay module DMS-R 1 , the contents server DMS 11  is drivable remotely by an entity not complying with UPnP and/or not forming part of the source network. 
     More precisely, the source relay module DMS-R 1  implements the functions of a UPnP control point (DMC, Digital Media Controller), in particular the functions for detecting a UPnP content server and for consulting the directory of contents (CDS, Content Directory Service) of a UPnP content server. The source relay module DMS-R 1  implements two interfaces:
         a first interface, complying with the UPnP protocol and corresponding to a UPnP control device interface (DMC, Digital Media Controller, also called a “UPnP control point”), for on the one hand sending UPnP commands to a UPnP entity of the source network RS 1 , in particular to one of the contents servers DMS 11  or DMS 12  and on the other hand receiving and processing the responses to these requests;   a second interface, using a protocol distinct from the UPnP protocol and appropriate for sending or receiving non-UPnP requests exchanged with a non-UPnP entity and/or an entity not forming part of the source network RS 1 ; The protocol used here is for example the HTTP protocol.       

     Via this second interface, the source relay module DMS-R 1  is able to dialogue with the roaming relay module DMS-R 2 , described in greater detail below, executing within an appliance of the home network RS 2 . This dialogue is performed according to an appropriate scheme, for example by calls to a remote procedure or by a request of “Web service” type, complying with a protocol chosen for example from XML-RPC, SOAP and REST. The requests exchanged between the source relay module DMS-R 1  and the roaming relay module DMS-R 2  are in this case transported using the HTTP protocol. 
     The source relay module DMS-R 1  is configured to receive via its second interface requests not complying with the UPnP protocol, intended for the contents server DMS 11 , so as to convert these requests not complying with UPnP into requests complying with the UPnP protocol and to transmit via its first interface the requests thus converted to the contents server DMS 11 . 
     This conversion of request format is performed for example by de-encapsulation of a UPnP request, having been encapsulated in a request complying with a second protocol. This second protocol is for example the HTTP protocol. This format conversion operation does not modify the data of the converted UPnP request, but only the format used to transmit it. Note here that a request transmission complying with the UPnP protocol is generally performed through a function call of a software interface of the destination UPnP module. More precisely, in the UPnP standard, one speaks of invoking actions of a UPnP service implemented by the destination UPnP module (UPnP contents server, DMR or DMP rendering device). 
     An exemplary request received via the second interface is a request to obtain metadata of contents accessible from a UPnP contents server of the source network RS 1 . The source relay module DMS-R 1  is designed to convert this request into one or more requests, dubbed “Browse” in the UPnP standard, which will be sent respectively to the various UPnP contents servers of the source network RS 1 . 
     The format conversion operated on an incoming request by the source relay module DMS-R 1 , is accompanied if appropriate by operations such as:
         modification or filtering of the parameters of the incoming request and/or   addition of new parameters to the request or requests to be sent and/or   decomposition of the incoming request into one or more requests to be sent or, conversely, combination of several incoming requests into a single request to be sent.       

     Conversely, the source relay module DMS-R 1  receives via its first interface of the contents server DMS 11  responses to function call or messages, which do or do not include contents stored by this server which comply with the UPnP protocol, converts them into requests complying with another protocol, appropriate for communication with an entity not complying with UPnP and/or not forming part of the source network, and transmits via its second interface the requests thus converted to the destination entity. This conversion of request format is performed for example by encapsulating a UPnP request, in a request complying with a second protocol. This second protocol is for example the HTTP protocol. This conversion does not modify the data of the converted UPnP request, but only the format used to transmit it. 
     The format conversion operated at this juncture by the source relay module DMS-R 1  is accompanied if appropriate by operations such as:
         modification or filtering of the parameters of the incoming request and/or   addition of new parameters to the request or requests to be sent and/or   decomposition of the incoming request into one or more requests to be sent or, conversely, combination of several incoming requests into a single request to be sent.       

     Via its second interface, the source relay module DMS-R 1  is also able to receive and retransmit HTTP requests not transporting any request of “Web service” type. These involve, in particular, requests for transmitting contents or a request for obtaining content not requiring any conversion to a UPnP request or response. 
     The source relay module DMS-R 1  thus serves as representative of the contents server DMS 11  (or DMS 12 ) for the sending (respectively the reception) of requests that this server is not itself able to send (respectively receive). 
     The source relay module DMS-R 1  is integrated into the domestic gateway GW 1  or into another appliance of the source network RS 1 . It is of course conceivable, however, that the various functions of this module be implemented in a distributed manner, that is to say in distinct physical appliances, with the proviso that a communication link be provided between the entities respectively implementing each of these functions. 
     When the source relay module DMS-R 1  is not integrated into the domestic gateway GW 1 , the source relay module DMS-R 1  is designed to send addressing data to the addressing module of the interconnection module CG 1  so that this addressing module can route to the source relay module DMS-R 1  the requests which are intended for it. For this purpose, the source relay module DMS-R 1  transmits to the addressing module of the interconnection module CG 1  a port number and an IP address by means of which the source relay module DMS-R 1  may be contacted. This port number and IP address are stored in correspondence with the domain name associated with the domestic gateway GW 1  and a public port number assigned to the source relay module DMS-R 1 . 
     When the source relay module DMS-R 1  is integrated into the domestic gateway GW 1  no addressing device is necessary in the domestic gateway GW 1  for contacting the source relay module DMS-R 1  from an appliance external to the source network RS 1 . 
     In addition to the conversions of request format from the UPnP protocol to another remote control protocol used between the relay modules DMS-R 1  and DMS-R 2  or vice-versa, the source relay module DMS-R 1  implements a function for translating the addresses of contents stored by the contents servers DMS 11  or DMS 12  of the source network RS 1 . 
     This enables the contents of the source network RS 1  to be made accessible from the home network RS 2 . The addresses used are generally in the form of a URI (Uniform Resource Identifier) address, for example 
     http://192.168.1.10:9000/dlna/objectID=1234 
     The address translation operated by the source relay module DMS-R 1  is dubbed “source translation”. It consists in replacing, in the URI address of a content, the IP address and the port of the content server in which this content is stored, with the public domain name of the domestic gateway GW 1  and the public port number assigned to the source relay module DMS-R 1 , in such a way that the URI address after translation is adapted for access to this content via the source relay module DMS-R 1  and via the domestic gateway GW 1 , from an entity outside the source network RS 1 , in particular from the roaming relay module DMS-R 2  executing in an appliance of a home network RS 2  which will be described further on. 
     The URI addresses after translation by the source relay module DMS-R 1  will therefore be in the form: 
     http://GW 1 _DNS:GW 1 _PORT/download?uri=CONTENT_URI 
     where:
         CONTENT_URI is the URI original address of the content, this address usually comprising the local IP address of the contents server which stores this content as well as data identifying the content proper, for example in the form http://192.168.1.10:9000/dlna/objectID=1234;   GW 1 _IP is a domain name or a static public IP address assigned to the domestic gateway GW 1 ;   GW 1 _PORT is the domestic gateway GW 1  port via which the source relay module DMS-R 1  can be addressed.       

     The URI address thus modified therefore designates the source relay module DMS-R 1  as contents server referencing the content, that is to say as the entity from which the content may be obtained. 
     Such address translation is necessary in order to avoid possible conflicts with contents servers or contents originating from another network, in particular with those of the home network RS 2 . It is operated on the URI addresses contained in requests sent by the source relay module DMS-R 1  destined for the home network RS 2 . 
     This address translation operation may be operated by the source relay module DMS-R 1 , in so far as the latter knows the parameters GW 1 _IP and GW 1 _PORT. 
     The inverse transformation, consisting in extracting the URI addresses before transformation, is operated when a request, sent from the home network RS 2 , reaches the source relay module DMS-R 1 . This inverse transformation therefore makes it possible to restore the original address CONTENT_URI, that is to say the address as provided by the contents server referencing this content. 
     The source relay module DMS-R 1  is furthermore designed to collect and aggregate the contents metadata associated with contents stored by various contents servers DMS 11  or DMS 12  of the source network RS 1 . When these metadata comprise URI addresses of contents, a translation of these addresses is operated before or after aggregation by the source relay module DMS-R 1  according to what has just been described, by applying the “source translation” function. The metadata thus modified are transmitted to the roaming relay module DMS-R 2 . 
     4. Gateway GW 2   
     The gateway GW 2  is a gateway for interconnecting the source network RS 2  with the Internet network RI. It allows the terminals of the source network RS 2  to access the Internet network RI. Conversely, the gateway allows—with the proviso that rights for such access are granted—appliances of a network other than the source network RS 2  to communicate with a terminal of the source network RS 2 . 
     The interconnection module CG 2  implements the functions of interconnection between the source network RS 2  and the Internet network RI. It comprises for this purpose a first communication interface for communication with the entities of the source network RS 2  and a second communication interface for communication via the Internet network RI, in particular with the entities external to the source network RS 2 . 
     5. Recording Medium SPR 
     The recording medium is a medium suitable for storing software modules. It is a medium which is read-accessible from at least one appliance of the home network RS 2 , for example:
         a portable and removable recording medium, able to be hooked up—by wired or non-wired link—to a terminal or another appliance (set-top-box, router, gateway, etc.) of the home network RS 2  so as to be read by this terminal or this appliance: USB key, mobile telephone, removable hard disk, etc.;   a fixed recording medium, accessible from a terminal or an appliance of the home network RS 2  via a communication link established through a wired or non-wired network: storage space accessible via a remote server, the modules stored on this storage space being in this case downloaded to the terminal of the home network RS before being executed by this terminal.       

     The roaming connection module RCG and roaming relay module DMS-R 2 , stored on the recording medium SPR, are stored in the form of source code, object code, or in a partially compiled form in the form of interpretable code: they are intended to be loaded into the memory of an appliance of the home network RS 2  so as to be executed by a processor of such an appliance—after a possible interpretation or compilation required in order to have an executable code. 
     In the case where the recording medium SPR is integrated into an appliance fitted with a processor able to execute roaming connection module RCG or roaming relay module DMS-R 2 , the execution of one or the other of these modules can be handled by this processor. In the general case, it is assumed that a link is established between this medium and a host appliance of the home network, fitted with a processor and with memory, and that the execution of these modules is handled by the processor of the host appliance. 
     Preferably, the recording medium SPR will be a secure-access medium so that only authorized users can access the content of this medium: a password, PIN code or any other authentication datum will be required for access to the content stored on this medium. 
     6. Roaming Connection Module RCG 
     The roaming connection module RCG is intended to be executed by an appliance connected to the home network RS 2 . For this purpose, it is stored on the recording medium SPR, accessible from at least one appliance of the home network RS 2 . In so far as the roaming connection module RCG may be used in various home networks, this module has been dubbed a roaming connection module. 
     The roaming connection module RCG is designed to establish, via the interconnection module CG 2  of the gateway GW 2 , a communication link with the interconnection module CG 1  of the gateway GW 1  of the source network RS 1 . 
     The roaming connection module RCG communicates with this interconnection module CG 1  for example by HTTP requests transmitted via such a link. For security reasons, it is preferable, however, that the roaming connection module RCG uses the HTTPS protocol—or any other secure protocol—to communicate with the interconnection module CG 1 . Optionally, provision is made for authentication of the roaming connection module RCG, by:
         either data for authenticating the roaming connection module RCG, stored on the recording medium SPR,   or data for authenticating a user, obtained from this user following initialization of the connection between the recording medium SPR and a terminal T 21  or T 22  of the home network RS 2 .       

     The use of the HTTPS protocol implies that the HTTP requests received by the roaming connection module RCG are encapsulated in requests complying with the HTTPS protocol and transmitted in this form to the interconnection module CG 1 . Conversely, on receipt of an HTTPS request originating from the interconnection module CG 1 , the roaming connection module RCG de-encapsulates this request so as to generate a request complying with the HTTP protocol, and then transmits it to the roaming relay module DMS-R 2  which will be described below. 
     As an alternative to the use of a secure protocol such as HTTPS, it is also conceivable, in order to secure the link between the roaming connection module RCG and the interconnection module CG 1 , to undertake the establishment of a secure tunnel (VPN, Virtual Private Networking). 
     The roaming relay module DMS-R 2  is designed so that all the communications established with an entity of the source network RS 1  travel through the roaming connection module RCG and the interconnection module CG 1 , and use the secure communication link established between the roaming connection module RCG and the interconnection module CG 1 . This is what allows the exchanges with this source network to be made secure. 
     Preferably, the roaming connection module RCG establishes, as soon as it is initialized, a secure communication link with the CG 1 , this link being used for all the exchanges between the roaming relay module DMS-R 2  and an entity of the source network. 
     Furthermore, in the case where a communication proxy is used for accessing the home network RS 2 , the roaming connection module is designed to determine the network parameters necessary to establish an outbound communication from the home network RS 2 , on the basis of the network parameters defined in the host appliance executing the roaming connection module RCG. 
     7. Roaming Relay Module DMS-R 2   
     The roaming relay module DMS-R 2  is intended to be executed by an appliance connected to the home network RS 2 . For this purpose, it is stored on the recording medium SPR, accessible from at least one appliance of the home network RS 2 . In so far as the roaming relay module DMS-R 2  may be used in various home networks, it will be dubbed a roaming relay module. 
     The roaming relay module DMS-R 2  is designed to cooperate with the source relay module DMS-R 1  with a view to linking up UPnP entities of the home network RS 2  with one or more entities of the source network RS 1 . Just like the source relay module DMS-R 1 , the roaming relay module DMS-R 2  exhibits a first UPnP-compliant communication interface and a second non-UPnP communication interface. 
     The first interface, complying with the UPnP protocol, corresponds to a software interface of a UPnP contents server (DMS, Digital Media Server), for on the one hand receiving UPnP requests originating from a UPnP entity of the home network RS 2 , and on the other hand receiving and processing the responses to these requests. This interface allows in particular the activation of functions of the services defined in the UPnP standard for a UPnP contents server. 
     Furthermore, the roaming relay module DMS-R 2  implements the functions provided in the discovery mechanism of the UPnP standard so as to be recognized in the guise of local UPnP contents server and thus receive via its first interface the UPnP requests intended for at least one of the UPnP contents servers of the source network RS 1 . 
     For this purpose, the roaming relay module DMS-R 2  declares capabilities which are those of the UPnP contents servers of the source network RS 1 , that is to say the “services”—in the sense of the UPnP standard—afforded by these servers. 
     In a known manner, the discovery protocol provided for in the UPnP standard proceeds as follows. When the roaming relay module DMS-R 2  is initialized and connects to the network RS 2 , it signals itself to the UPnP devices of this network by sending a message M 1  indicating its presence. Such a message M 1  is usually a message ‘alive’ complying with the SSDP protocol (Simple Service Discovery Protocol). For the definition of these messages, reference may for example be made to the document called “draft-cai-ssdp-v1-02” from the IETF (&#39;Internet Engineering Task Force&#39;). This message M 1  is broadcasted in the network in multicast mode. Therefore, it is received by the rendering device DMR 2  or by any UPnP “Control point” that might be located in the network RS 2 . Thus, for the UPnP entities of the network RS 2 , everything happens as if this roaming relay module DMS-R 2  was actually a UPnP contents server, located in this network RS 2 . 
     The second interface uses a distinct protocol from the UPnP protocol and appropriate for sending or receiving non-UPnP requests exchanged with an entity not forming part of the home network RS 2 . The protocol used here is for example the HTTP protocol. 
     Via its second interface the roaming relay module DMS-R 2  is able also to receive and retransmit HTTP requests not transporting any request of “Web service” type. These are, in particular, requests to transmit contents or a request to obtain content not requiring any conversion to a UPnP request or response. 
     For security reasons, the roaming relay module DMS-R 2  communicates with the source relay module DMS-R 1  by way of the roaming connection module RCG. 
     Just like the source relay module DMS-R 1 , the roaming relay module DMS-R 2  implements a function for translating the contents addresses provided by the source relay module DMS-R 1 . This allows the contents of the source network RS 1  to be made accessible from the home network RS 2  via the relay modules DMS-R 1  and DMS-R 2 . 
     The address translation operated by the roaming relay module DMS-R 2  is dubbed “roaming translation”. It consists in replacing in the URI address of a content, the IP address and the port of the server designated in this address—that is to say of the entity from which the content can be obtained—with the IP address and the port of the roaming connection module RCG. This IP address is in fact the address of the appliance of the home network RS 2  which executes the roaming connection module RCG and roaming relay module DMS-R 2 , the port being a communication port assigned to the roaming connection module RCG. 
     As an alternative, instead of designating the roaming connection module RCG, the translated URI address designates the roaming relay module DMS-R 2 . The roles of the roaming connection module RCG and of the roaming relay module DMS-R 2  are in effect interchangeable regarding the translation of the addresses and the interception/processing of the access requests containing these translated addresses. 
     Whichever alternative is chosen, it is only required that the entity designated in the translated URI address be able to communicate with the source relay module DMS-R 1 , the recipient destination for the content access requests which may be sent from the home network RS 2 . 
     The URI addresses after translation by the roaming relay module DMS-R 2  will therefore be in the form: 
     http://RCG_IP:RCG_PORT/download?uri=CONTENT_URI_R 1   
     where:
         CONTENT_URI_R 1  is the URI address as provided by the source relay module DMS-R 1 ,   RCG_IP is the IP address of the roaming connection module RCG,   RCG_PORT is the port of the roaming connection module RCG.       

     The URI address thus modified therefore designates the roaming connection module RCG as contents server referencing the content, that is to say as the entity from which the relevant content may be obtained. 
     This address translation is operated on the URI addresses contained in requests originating from the source relay module DMS-R 1  and reaching the roaming relay module DMS-R 2 . 
     The inverse transformation, consisting in extracting the URI addresses such as they were before the “roaming translation”—that is to say in extracting the address CONTENT_URI_R 1  as provided by the source relay module—is operated on the URI addresses contained in a request sent from the home network RS 2 , reaching the source relay module DMS-R 2  or the roaming connection module RCG and needing to be transferred to the source relay module DMS-R 1 . This inverse operation is performed either by the source relay module DMS-R 2 , or by the roaming connection module RCG. 
     An embodiment of the method is now described by reference in  FIG. 2 . This method comprises steps  200  to  340 . This set of steps may be executed any number of times, each time that an access to a content of the source network RS 1  from an appliance of the home network RS 2  is desired. 
     Step  200  is an initialization step. During this step, a user connects the recording medium SPR to a host terminal, the terminal T 21  for example. After connection, the execution of the roaming connection module RCG is triggered automatically by a processor of the host terminal T 21 . 
     The user is invited to provide authentication data, for example an identifier and password. The roaming connection module sends a request for connection to the interconnection module CG 1  of the source network RS 1 , comprising the authentication data provided by the user. In the case of successful authentication, a secure communication link is established between the roaming connection module RCG and the interconnection module CG 1  and the following step  201  is executed. In the converse case, an error message is presented to the user and the method terminates. If appropriate, the user is invited to enter new authentication data. 
     In step  200 , the execution of the roaming relay module DMS-R 2  is triggered automatically by the processor of the host terminal T 21 . The roaming relay module DMS-R 2  advises, in compliance with the UPnP discovery mechanism, the UPnP control points (Digital Media Controller) of the home network RS 2  of its presence and of its capabilities: it is then seen as a local UPnP contents server. In this instance, the roaming relay module DMS-R 2  presents with capabilities which are those of the UPnP contents servers of the source network RS 1  that it represents. 
     In step  201 , a UPnP request, dubbed “Browse”, for obtaining metadata of contents of the contents servers of the source network RS 1  is sent by a UPnP rendering device, for example by the rendering device DMR 2 , located in the terminal T 21 , and is received by the roaming relay module DMS-R 2 . This request triggers a procedure for obtaining metadata, corresponding to the following steps  205  to  280 . As an alternative, this same procedure for obtaining metadata could be triggered automatically, without a “Browse” request being received from a rendering device DMR 2  or from a UPnP control point: either on the initialization of the roaming relay module DMS-R 2 , or periodically. 
     The “Browse” UPnP request is converted into another request, able to be transmitted to the source relay module DMS-R 1 . The sending of this other request uses the communication scheme chosen for the dialogue between the relay modules DMS-R 1  and DMS-R 2 . This other request is in this case transported using the HTTP protocol. It is assumed in the subsequent description that the relay modules DMS-R 1  and DMS-R 2  communicate with one another by request of Web service type. 
     In step  205 , this HTTP request to obtain metadata, is intercepted by the roaming connection module RCG which encapsulates it in an HTTPS request. 
     In step  210 , the encapsulated HTTPS request to obtain metadata is transmitted by the roaming connection module RCG through the secure link established in step  200  and reaches the interconnection module CG 1 . 
     In step  220 , the encapsulated HTTPS request to obtain metadata is de-encapsulated by the interconnection module CG 1 , and then transmitted in the form of an HTTP request to the source relay module DMS-R 1 . 
     In step  230 , the HTTP request to obtain metadata reaches the source relay module DMS-R 1  which de-encapsulates it. The de-encapsulated request is therefore a “Browse” UPnP request identical to the obtain metadata UPnP request sent in step  201  by the rendering device DMR 2 . The source relay module DMS-R 1  thereafter processes this request: the processing operated consists in sending the UPnP contents servers of the network a UPnP request to obtain the metadata of the contents accessible respectively via each of these content servers. In this instance, a UPnP request dubbed “Browse” is sent to each of the contents servers DMS 11  and DMS 12 . 
     In step  240 , on receipt of the UPnP responses of the contents servers DMS 11  and DMS 12 , the source relay module DMS-R 1  aggregates the metadata received from the various contents servers DMS 11  or DMS 12  of the source network RS 1 . The source relay module DMS-R 1  performs, according to what was described above for this module, a translation (“source translation”) of the contents URI addresses contained in these metadata, in such a way that these addresses are usable by a UPnP module of the home network RS 2 . In this instance, having regard to the nature of this translation, these translated addresses all designate the source relay module DMS-R 1  as entity from which these contents can be obtained. 
     In step  250 , the source relay module DMS-R 1  generates a response request in answer to the request received in step  220 , according to the same protocol or the same scheme as that used in sending this request, that is to say by request of “Web service” type. This response request is in this case transported in compliance with the HTTP protocol. It comprises the metadata as aggregated and modified in step  240 . 
     In step  260 , the HTTP response request, generated in step  250 , is received by the interconnection module CG 1  which encapsulates it in a request complying with the HTTPS protocol before transmitting it via the secure communication link established with the roaming connection module RCG. 
     In step  270 , the HTTPS response request reaches the roaming connection module RCG which de-encapsulates it, and then sends the de-encapsulated response request, in the form of an HTTP request, to the roaming relay module DMS-R 2 . 
     In step  280 , the roaming relay module DMS-R 2  processes the HTTP response request received. It performs, according to what was described above for this module, a translation (“roaming translation”) of the contents URI addresses contained in these metadata, in such a way that these addresses are usable by a UPnP module of the home network RS 2  only by passing through the roaming relay module DMS-R 2  and the associated roaming connection module RCG. In this instance, having regard to the nature of this translation, these translated addresses all designate the roaming connection module RCG as entity from which these contents can be obtained. 
     Next, the roaming relay module DMS-R 2  records the metadata received in a memory or a data file, for example on the recording medium SPR. This file forms a database for storing metadata. 
     In response to the UPnP request, dubbed “Browse”, to obtain contents metadata, the roaming relay module DMS-R 2  transmits the requested metadata to the rendering device DMR 2 . 
     The roaming relay module DMS-R 2  provides in the metadata transmitted, for each content referenced by a contents server of the source network, an address designating as entity from which the relevant content may be obtained, an entity (the roaming connection module RCG or, alternatively, the roaming relay module DMS-R 2 ) executed by an appliance of the home network RS 2 , this entity being able to transmit a request for access to the content to the source relay module DMS-R 1 . 
     In step  300 , subsequent to a consultation by a user of the metadata stored by the roaming relay module DMS-R 2  and a selection performed by this user of a content to be restored, a request to obtain one of the contents, selected on the basis of these metadata, is sent by UPnP rendering device, for example by the rendering device DMR 2  located in the terminal T 21 . This obtain content request is a request of “GET” type, complying with the HTTP protocol. In compliance with the UPnP standard, this request contains a URI address of the content to be restored. Because the URI addresses contained in the metadata provided by the roaming relay module DMS-R 2  have undergone a translation, this URI address designates the roaming connection module RCG as the entity from which the relevant content may be obtained. As an alternative, it designates the roaming relay module DMS-R 2 . 
     In step  301 , the HTTP request to obtain content “GET” is received by the entity designated in the URI address: either by the roaming connection module RCG, or by the roaming relay module DMS-R 2 , depending on the alternative chosen. 
     The designated entity (the roaming connection module RCG or, alternatively, the roaming relay module DMS-R 2 ) extracts from the URI address received the URI address, such as generated in step  240  by the source relay module DMS-R 1  during the transfer of the metadata: this time, the extracted address designates the source relay module DMS-R 1  as entity from which the relevant content can be obtained. 
     The roaming connection module RCG or, alternatively, the roaming relay module DMS-R 2 , thereafter generates an HTTP request “GET”, containing the URI address extracted and then transmits it to the source relay module DMS-R 1 . 
     Next, the HTTP request to obtain content “GET” is encapsulated by the roaming connection module RCG in an HTTPS request. 
     In step  305 , the encapsulated HTTPS request to obtain content is transmitted by the roaming connection module RCG through the secure link established in step  200  and reaches the interconnection module CG 2 . 
     In step  310 , the encapsulated HTTPS request to obtain content is transmitted by the interconnection module CG 2  through the secure link established in step  200  and reaches the interconnection module CG 1 . 
     In step  320 , the encapsulated restore HTTPS request is de-encapsulated by the interconnection module CG 1 , and then transmitted in the form of an HTTP request “GET” to the source relay module DMS-R 1 . 
     In step  325 , the HTTP request to obtain content “GET” is received by the source relay module DMS-R 1  which extracts from the URI address received the URI address obtained in step  240  by the source relay module DMS-R 1  during the transfer of the metadata: this time, the extracted address designates the content server DMS 11  as entity from which the relevant content can be obtained. 
     The source relay module DMS-R 1  thereafter generates an HTTP request “GET”, containing the URI address extracted and then transmits it to the content server DMS 11 . 
     In step  330 , the restore HTTP request “GET” reaches the source relay module DMS-R 1  which processes it: it extracts the content&#39;s original URI address, such as provided by the server of the content to be transferred, and then generates an HTTP request “GET”, containing this original address. The source relay module DMS-R 1  thereafter sends the HTTP request “GET” thus constructed to the content server storing the content to be restored. This server is identified on the basis of the URI address contained in the request, that is to say of the field “CONTENT_URI” which has survived the various address translations. In this instance, the HTTP request “GET” is sent to one of the contents servers DMS 11  and DMS 12 , for example to the contents server DMS 11 . 
     In step  340 , after receipt of the HTTP request “GET”, the contents server DMS 11  sends the data of the content to be restored to the source relay module DMS-R 1 . These content data are sent in the form of data packets transmitted by the HTTP protocol. 
     In step  350 , the source relay module DMS-R 1  sends the HTTP packets received to the roaming relay module DMS-R 2 . 
     In step  360 , these HTTP packets are received by the interconnection module CG 1  which encapsulates them in data packets complying with the HTTPS protocol before transmitting them via the secure communication link established with the roaming connection module RCG. 
     In step  370 , the HTTPS packets reach the roaming connection module RCG which de-encapsulates them, and then sends the de-encapsulated packets, in the form of HTTP packets, directly to the rendering device DMR 2 , without passing through the roaming relay module DMS-R 2 . 
     In step  380 , the rendering device DMR 2  restores the content selected on the basis of the HTTP packets received. 
     It should be noted that the conveying of the HTTP requests “GET” could be carried out without passing through the roaming relay module DMS-R 2 , these requests possibly being addressed directly to the source relay module DMS-R 1 , and/or not passing through the roaming connection module if no security constraint so imposes. 
     The role of the roaming relay module is used mainly to exhibit a control interface, complying with the protocol which is used to control the remote entity in the source network: this roaming relay module therefore serves as representative, in the home network, of the remote entity to be controlled (in this instance the contents servers DMS 11  and DMS 12 ). In association with the roaming connection module RCG, the roaming relay module DMS-R 2  serves as communication relay in relation to the source relay module. 
     It should be noted that the roaming relay module and the roaming connection module are described here as being two independent modules so as to identify the various functions useful for an exemplary implementation. However, they can be integrated within one and the same software module or one and the same program, stored on the recording medium SPR. 
     It should be noted that, both the source relay module and the roaming relay module can represent several remote entities (in this instance several contents servers DMS 11  and DMS 12 ). 
     By virtue of one or more examples described herein, and of the recording medium, for example, a user Bob can access contents stored in his domestic network from a terminal of another user Alice, hooked up to another domestic network. Thus Bob can share contents with Alice, in particular by requesting a restore of these contents on a terminal of Alice&#39;s, this being so even though Bob and Alice&#39;s domestic networks are geographically dissociated and not interconnected. 
     Although the present disclosure has been described with reference to one or more examples, workers skilled in the art will recognize that changes may be made in form and detail without departing from the scope of the disclosure and/or the appended claims.