WO2005083975A2 - Initiating communication sessions from a first computer network to a second computer network - Google Patents

Initiating communication sessions from a first computer network to a second computer network Download PDF

Info

Publication number
WO2005083975A2
WO2005083975A2 PCT/IB2005/050478 IB2005050478W WO2005083975A2 WO 2005083975 A2 WO2005083975 A2 WO 2005083975A2 IB 2005050478 W IB2005050478 W IB 2005050478W WO 2005083975 A2 WO2005083975 A2 WO 2005083975A2
Authority
WO
WIPO (PCT)
Prior art keywords
address
port number
service
addressing realm
network
Prior art date
Application number
PCT/IB2005/050478
Other languages
French (fr)
Other versions
WO2005083975A3 (en
Inventor
Winfried A. H. Berkvens
Mark H. Verberkt
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to US10/597,993 priority Critical patent/US20080168181A1/en
Priority to EP05702906A priority patent/EP1726141A2/en
Priority to JP2006553725A priority patent/JP2007526689A/en
Publication of WO2005083975A2 publication Critical patent/WO2005083975A2/en
Publication of WO2005083975A3 publication Critical patent/WO2005083975A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2571NAT traversal for identification, e.g. for authentication or billing 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Definitions

  • the present invention generally relates to the field of communication between computer networks and more particularly to the interface between two computer networks.
  • the present invention furthermore relates to a method, interface device and system of computational devices for enabling starting of sessions from a first computational device communicating via a first network having a first addressing realm to a second computational device on a second network having a second addressing realm as well as to a computer program product for performing said method.
  • a device within the local network can then start a session with a device outside the local network and the NAT unit would then set up an entry in the NAT table for such session, indicating how addresses are to be translated in order for the two devices to communicate with each other.
  • NAT units do not allow communication sessions to be started from a device outside the local network, but only from inside the local network.
  • the Internet Society describes one method of starting sessions from a global network to a device within a local network in RFC 2694 by P. Srisuresh, G.
  • a gateway which is an interface between the local network and the global network, has a number of addresses that can be used in the global network.
  • the gateway also includes a NAT unit and a DNS_ALG (Domain Name System Application Level Gateway) unit and the local network also includes a DNS server.
  • DNS_ALG Domain Name System Application Level Gateway
  • the local network also includes a DNS server.
  • a device on the global network wants to start a session, it sends a name query, which eventually reaches the gateway.
  • the gateway forwards this query to the DNS server, which returns a local address of a local device associated with the queried name to the gateway.
  • the gateway binds one of its global addresses to the local address and returns the global address as an answer to the query.
  • the device on the global network can then start a session with this global address and the gateway immediately knows which device communication is intended for because of the binding.
  • This solution There are a few problems with this solution and that is that one global address is reserved for each device on the local network session. If there are parallel sessions to many devices on the local network, there have to be many global addresses available for the gateway, which is normally difficult due to a shortage of global addresses in present day systems. It is furthermore often expensive to have more than one global address associated with a local network, which leads to the number of addresses wanted being a limited minimum. If the local network only has one address, this one address will be tied up to one session and there is no possibility for more inbound sessions.
  • NAPT Network Address and Port Translator
  • DNS Domain Name System
  • SRV Service
  • a DNS SRV receives queries regarding a name and a service of a device and returns an address and a port number as a result of the query. This document is however silent regarding the environment in which this device is to be used. There is thus still a need for a way of allowing multiple parallel inbound sessions from a global network to multiple devices on a local network having a limited number of global addresses. It is an object of the present invention to provide a mechanism by which more than one session can be started from devices via a first network having a first addressing realm to devices in a second network having a second addressing realm, which mechanism is transparent to the devices communicating via the first network, i.e.
  • Claims 2 and 10 are directed towards providing the device name and service name resolving for two queries, one regarding the device name and the other regarding the service name and responding to these queries with two messages.
  • Claims 3 and 1 1 are directed towards generating the response to the query in the second addressing realm and replacing the second address and service port number for an address and port number of the gateway.
  • Other dependent claims are directed towards providing a specific service port number in the query, which facilitates the forwarding of the query to the name and service resolving unit.
  • An embodiment of the present invention has the advantage of allowing several parallel sessions with different devices in the second network started from the first network even though only one address in the first addressing realm is used for the second network. This does not mean that the gateway must have only one address in the first addressing realm, but it can have several such addresses.
  • the present invention thus allows peer-to-peer networking, such that the first and second devices can both act as clients and servers and have both inbound and outbound sessions.
  • Another advantage of the present invention is that it is based on an already existing protocol, the DNS SRV protocol, which makes the invention straightforward to implement.
  • the general idea behind an embodiment of the present invention is thus to bind a first address and a port number of a first addressing realm associated with an interface between the first addressing realm and a second addressing realm to a second address and a port number of a second device in the second addressing realm upon reception of a query from a first device. From the query a name and service look up of the second address and port number of the second device is made. A response to the query is then sent including the first address and a port number of the interface in the first addressing realm.
  • Fig. 1 shows a schematic drawing of a first network connected to a second network via a gateway according to the invention
  • Fig. 2 shows a block schematic of the gateway according to the present invention
  • Fig. 3 shows a number of messages sent between the devices and units in Fig. 1 and 2 for initiating a session
  • Fig. 4 shows a binding for the session made in a NAPT table provided in the gateway
  • Fig. 5 shows a flow chart of a method of initiating a session from the first network to the second network according to the invention
  • Fig. 6 shows a schematic drawing of an alternative embodiment of the second network including a name and service resolving server
  • Fig. 7 shows messages sent in the second network to and from the name and service resolving server
  • Fig. 8 schematically shows a computer readable medium on which is stored program code for performing the method according to the invention.
  • Fig. 1 shows a schematic drawing of an embodiment of the invention and it's environment.
  • Fig. 1 shows an interface device 10 according to the invention connected to a first network 12, which in this case is the Internet.
  • a first computational device 14 is connected to the first network 12.
  • the interface device 10, which in the preferred embodiment is a gateway is also connected to a second network 16, which network includes a second computational device 18.
  • the first network 12 has a first addressing realm and the second network has a second addressing realm.
  • the first addressing realm is here an IP- addressing realm, for instance IPv4, and used globally, while the second addressing realm is a local addressing realm used inside the second network 16. This second addressing realm is normally also using IP-addressing.
  • the second network 16 is in the preferred embodiment a private home network.
  • the invention is not limited to private home networks, but can also be used for example in a corporate network.
  • the first computational device 14 is also denoted X
  • the second computational device 18 is denoted Y
  • the gateway 10 is denoted G.
  • the different devices thus have different addresses in the different realms.
  • the first device 14 has an address AX in the first addressing realm
  • the gateway 10 has a first address AG1 in the first addressing realm
  • the second device 18 has a second address AY in the second addressing realm.
  • the gateway 10 also has an address AG2 in the second addressing realm.
  • the second device 18 can be a regular computer, but is not limited to this.
  • the first device 14 might for instance similarly be any suitable device, which can be connected to the Internet 12 and that has client capabilities, i.e. has functionality for obtaining access to the service of the second device 18. It should also be realized that the first device 14 might be a device on a private or local network communicating with the Internet via a gateway. It is here shown as a device connected directly to the Internet in order to better explain the invention. Fig.
  • FIG. 1 also shows a query 20 sent from the first device 14 to the second network 16 as well as a response 22 to that query.
  • a simplified embodiment of the gateway 10 according to the invention is shown in a block schematic in Fig. 2.
  • the gateway 10 has a first input 24 connected to the Internet for reception of data packets and a first output 26 also connected to the Internet for sending of data packets.
  • the gateway also has a second output 28 connected to the second network for sending of data packets and a second input 30 also connected to the second network for reception of data packets.
  • a first register 34 is connected between the first input 24 and the second output 28, while a second register 36 is connected between the second input 30 and the first output 26. The directions the data packets are traveling are indicated with arrows.
  • the first and second registers 34 and 36 are both connected to a control unit 32, which control unit 32 comprises a DNS SRV_ALG (Application Level Gateway) unit and is connected to a NAPT (Network Address and Port Translator) table 38 and to a name and service resolving unit 40.
  • the NAPT 38 is used for translating of local addresses and local port numbers to global addresses and global port numbers, i.e. from addresses and port numbers in the second addressing realm into addresses and port number in the first addressing realm and vice versa.
  • the name and service resolving unit 40 is a server with DNS SRV (Domain Name System Service) capabilities, i.e.
  • Fig. 2 also shows a message 42 that is generated as a response to the query 20, which response is then modified into message 22 leaving the second network 16.
  • Fig. 3 shows the messages 20, 22 and 42 from Fig. 1 and 2 in some more detail. The messages each have a source address field 44, a source port number field 46, a destination address field 48, a destination port number field 50 and a payload 52, where fields 44 - 50 make up the header of the message.
  • Fig. 4 shows entries made in the NAPT table 38 of Fig. 2 based on these messages. After a session has been initiated but before any packets have been received.
  • Each row of the table is dedicated to an ongoing session or a session that has just been initiated. For simplicity only one row or session is shown here, although it should be realized that there can be several rows for sessions between different devices and actually several rows for different sessions between the same two devices or several sessions to the same device on the second network from several devices on the first network or several sessions from the same device on the first network to several devices on the second network.
  • a first column 54 is used for the addresses of devices in the first network having or initiating a session, which is here left blank.
  • a second column 56 is used for port numbers associated with the address of a device on the first network, which column is also left blank. These are blank because no session has yet been started for a device on the first network.
  • a third column 58 is intended for addresses of the second network in the first addressing realm, which here has the first address AG1 of the gateway.
  • a fourth column 60 is intended for the port numbers of the second network in the first addressing realm and is here a port number PGHTTP.
  • a fifth column 62 is intended for the addresses of the second network that exist in the second addressing realm of devices involved or to be involved in sessions, which column here shows the second address AY of the second device, while a sixth column 64 is intended for port numbers used in relation to the addresses on the second network, which column here shows a port number PYHTTP.
  • Fig. 5 shows a flow chart of a method according to the invention. Now a first part of the invention will be described with reference being made to Fig. 1 , 2, 3, 4 and 5.
  • the first device 14 sends a query 20 to the name and service resolving unit 40 via gateway 10 in order to get an address for communicating with the second device 18, step 66.
  • This query can either be recursive or non-recursive.
  • This query which is shown in the upper part of Fig. 3 includes a source address AX and a source port number PX in the fields 44, 46 and a destination address AGl and destination port number PDNS in fields 48, 50.
  • the address and port number could have been found by consulting DNS and/or DNS SRV servers within the first network that provide the address AGl and port number PDNS.
  • the address AGl is the address of the second network or the gateway 10 in the first addressing realm, while the port number PDNS is a special port number used for name and service queries.
  • the query 20 furthermore comprises payload 52 comprising a device name "server” that is queried as well as service name "http" that is also queried.
  • This device name is the domain name associated with the second device 18, while the service name is the name of a service offered by the second device.
  • This query could have been preceded by a number of previous queries sent to other DNS and/or DNS SRV servers in the first network 12. For each such DNS and/or SRV server contacted with the query, that server has indicated to the first device 14 a DNS and/or DNS SRV server at a lower hierarchical level.
  • the first device 14 could have queried a number of DNS and/or DNS SRV servers until it directly contacts the gateway 10, which includes the name and service resolving unit 40 mapping the name of the second device 18 to an address.
  • the query could be directly forwarded by the first DNS and/or DNS SRV server contacted to a next DNS and/or DNS SRV server until the query eventually reaches the name and service resolving unit 40.
  • the gateway 10 then receives the query 20, step 68, on the first input 24 and forwards it to the first register 34.
  • control unit 32 analyses the address AGl and port number PDNS and forwards the query to the name and service resolving unit 40 in dependence of this address and port number.
  • the port number PDNS is a service resolving port number that is dedicated to these types of queries.
  • the name and service resolving unit 40 makes an address and port number look up in the second addressing realm based on the name query, step 70, and in this way finds an address AY of the second device 18 in the second addressing realm and a port number PYHTTP of the second device 18 associated with the service.
  • the name and service resolving unit 40 then generates and returns a response 42 to the query 20 to the control unit 32, which response is shown in the middle of Fig. 3.
  • the response 42 to the query here includes the second address AY and the service port number PYHTTP in the payload 52.
  • the source address and source port numbers are set as AG2, the address of the gateway 10 on the second network 16, and PDNS in fields 44 and 46.
  • the destination address and port number are also set as AX and PX in fields 48, 50. It should be realized that this response data need not be provided in the form of a message, but can be provided to the control unit as "raw" data, whereupon the control unit creates the actual response message. The query is thus answered from the name and service resolving unit 40 with the looked up data, i.e. address AY and port number PYHTTP, step 72.
  • the control unit 32 then replaces the second address AY with the first address AGl associated with the gateway and port number PYHTTP with a port number PGHTTP in the payload 52 of the response as well as replaces the source address AG2 with the source address AGl, the first address of the gateway 10, and puts the thus changed reply or message 22 in the second register 36, step 74.
  • This port number PGHTTP is a session port number that is selected for the session.
  • the message 22 is shown in the bottom part of Fig. 3.
  • the control unit 32 also makes a binding between the address AY and port number PYHTTP of the second device 18 and the address AGl and port number PGHTTP of the gateway 10 in the NAPT, step 76.
  • the third column 58 of the NAPT 38 receives the address AGl
  • the fourth column 60 receives a session port number PGHTTP
  • the fifth column 62 receives the address AY
  • the sixth column 64 receives the service port number PYHTTP.
  • the control unit 32 then forwards the adjusted response message 22 to the first device 14 via the first output 26, step 78.
  • the first device 14 will now receive a response on the name and service query, which points out the gateway 10 instead of second device 18 as being associated with the name of device 18 and a port number of the gateway as corresponding to the service.
  • the first device can now start a session using the first address AGl as destination address and port number PGHTTP as port number.
  • the first device 14 thus sends one query to the gateway 10 and can immediately start the session upon receipt of the reply, which reply can be provided in one single data packet.
  • the first device 14 thus does not need to communicate with the gateway 10 more than once before starting the session.
  • the gateway will know that data packets are intended for the second device because of the settings made in the NAPT table 38.
  • an actual binding takes place in that the used address and port numbers of the first device are set in the first 54 and second 56 columns of the NAPT table 38.
  • the first and second columns 54 and 56 are not filled with data at all. It is furthermore possible that the NAPT 38 does not have these columns at all.
  • the message which then has destination address AGl and port number PGHTTP gets translated in the control unit 32 by looking in the NAPT table 38 to address AY and port number PYHTTP in the header and forwarded to the second device 18.
  • the table 38 set this way packets can be exchanged between the first and second device.
  • the first device can also be provided in a local network having a third addressing realm.
  • the address and port number of the first device are also translated into a corresponding gateway address and port number in a similar fashion.
  • the address and port number of the first device that is provided in the messages in Fig. 3 would be replaced by an address and port number of the gateway of the third addressing realm.
  • the name and service resolving unit is part of the gateway.
  • the name and service resolving unit can be a separate entity or server on the second network with which the gateway would communicate in order to resolve the name and service.
  • This embodiment is schematically shown in Fig. 6, where the name and service resolving server has received reference number 80.
  • a translated version 82 of the query 20 and a generated response to the query 84 are shown in Fig. 7, where these messages 82 and 84 have the same format as the previously mentioned messages.
  • the gateway 10 performs an address and port number translation of the destination address AGl and port number PDNS in the inbound query 20 to query 82 of the second network having a third address AS and port number PDNS associated with the name and service resolving server 80, and sends the translated query 82 to the name and service resolving unit 80.
  • the name and service resolving unit 80 makes a response 84, where the source address is the local third address AS in the second addressing realm of the unit 80 and a port number PDNS also in this realm.
  • the gateway 10 then performs an address and port number translation of the source address and port number in the response message and forwards the adjusted message 22 to the first device.
  • the name and service resolving unit can be distributed in the various end devices of the second network.
  • the different units in the gateway are normally provided in the form of one or more processors together with suitable program memory containing appropriate program code for performing the method according to the invention.
  • the table is also normally provided in the form of a memory.
  • the software or program code for performing this can also be provided on a computer program product in the form of a computer readable medium, which will perform the method according to the invention when loaded into the gateway.
  • One such medium in the form of a CD Rom disc 86 is depicted in Fig. 8, although there are many different mediums possible such as diskettes.
  • the program code can also be downloaded remotely from a server outside the second network.
  • the gateway described could include several more registers in the form of different input, output and buffer registers.
  • the numbers have intentionally been kept low for getting a better understanding of the invention.
  • the first device should not store the address and port number of the destination device and service.
  • the present invention thus provides a possibility to initiate sessions from outside the second network, while at the same time only needing one address in the first addressing realm for the second network and still allowing several inbound sessions. This does not mean that the gateway must have only one address in the first addressing realm, but it can have several such addresses.
  • the present invention thus allows peer-to-peer networking, such that the first and second devices can both act as clients and servers and have both inbound and outbound sessions.
  • Another advantage of the present invention is that it is based on an already existing protocol, the DNS SRV protocol, which makes the invention straightforward to implement.
  • Yet another advantage is that the binding in the NAPT table can be performed in one stage.
  • the port numbers used in the name and service resolving unit are specific port numbers that specify a certain service, which has here been exemplified by HTTP services, naturally different port numbers then specify different services.
  • the port numbers in the NAPT table associated with the first address of the gateway that are selected for the binding to the second address and service port number of the second device are normally the next available port number of a number of free port numbers provided in the gateway.
  • This port number is then only used for identifying device and service on the second network, which however is not known by the first device.
  • One such port number is a service resolving port number PDNS, which indicates that a received packet is a name and service query.
  • This port number has been denoted as PDNS before and after address translation in the gateway. It should however be realized that this port number might be translated as well in the gateway before being sent on to the name and service resolving unit both when it is provided inside the gateway and in the second network. These packets are automatically forwarded to the name and service resolving unit based on the specific port number.
  • the present invention thus provides a system, an interface device, a method and a computer program product, which facilitates initiation of sessions from a first network to a second network.
  • the query might be divided into two queries, one for the address and one for the service name. In this case there would also be two responses, one for each query.
  • the invention is not limited to IP-addressing, but other types of addressing are also possible.
  • the first input and output of the gateway can also be combined into a single communication interface.
  • the networks do not need to be fixed networks, but can also for instance be wireless networks.

Abstract

The invention relates to a method, an interface device and system of computational devices for enabling starting of sessions from a first to a second network and to a computer program product performing the method. A name and service query is received (68) in an interface from a first computational device communicating via the first network concerning a second device in the second network. The query includes a first address of the second network in a first addressing realm. A second address and a service port number of the second device in a second addressing realm is looked up (70), the first address and a session port number are bound to the second address and the service port number (76), and the query is answered with a message comprising the first address and session port number (78).

Description

Initiating communication sessions from a first computer network to a second computer network
The present invention generally relates to the field of communication between computer networks and more particularly to the interface between two computer networks. The present invention furthermore relates to a method, interface device and system of computational devices for enabling starting of sessions from a first computational device communicating via a first network having a first addressing realm to a second computational device on a second network having a second addressing realm as well as to a computer program product for performing said method.
In the field of addressing in computer systems, there is normally a shortage of available public addresses to be used by different devices. This has led to many local networks having only one or a few public addresses used for the whole local system and then the local system will communicate with a global network via a gateway controlling these few addresses. Normally such a gateway will in this case be using a local addressing system for communicating with the devices in the local network. In order to initiate sessions from such devices within a local network with other devices via a global network, the gateway is normally provided with a NAT (Network Address Translator) unit, which translates the local address to a global address for the communication with the other devices. A device within the local network can then start a session with a device outside the local network and the NAT unit would then set up an entry in the NAT table for such session, indicating how addresses are to be translated in order for the two devices to communicate with each other. There is however one problem with these kind of known NAT units, in that they do not allow communication sessions to be started from a device outside the local network, but only from inside the local network. There is a need for being able to start sessions from outside, for instance when doing peer-to-peer networking, where at least one side has to be able to accept incoming sessions. The Internet Society describes one method of starting sessions from a global network to a device within a local network in RFC 2694 by P. Srisuresh, G. Tsirtsis, P. Akkiraju and A. Heffernan, September 1999. Here a gateway, which is an interface between the local network and the global network, has a number of addresses that can be used in the global network. The gateway also includes a NAT unit and a DNS_ALG (Domain Name System Application Level Gateway) unit and the local network also includes a DNS server. When a device on the global network wants to start a session, it sends a name query, which eventually reaches the gateway. The gateway forwards this query to the DNS server, which returns a local address of a local device associated with the queried name to the gateway. The gateway binds one of its global addresses to the local address and returns the global address as an answer to the query. The device on the global network can then start a session with this global address and the gateway immediately knows which device communication is intended for because of the binding. There are a few problems with this solution and that is that one global address is reserved for each device on the local network session. If there are parallel sessions to many devices on the local network, there have to be many global addresses available for the gateway, which is normally difficult due to a shortage of global addresses in present day systems. It is furthermore often expensive to have more than one global address associated with a local network, which leads to the number of addresses wanted being a limited minimum. If the local network only has one address, this one address will be tied up to one session and there is no possibility for more inbound sessions. The above-described document also briefly mentions that a NAPT (Network Address and Port Translator) table can be provided in the gateway. This would however most likely be used in the traditional NAPT usage, i.e. in setting up sessions initiated from the local network. The document does not describe how sessions set up from the global network to the local network can use a NAPT for the address translation. Another device that exists is a so-called DNS (Domain Name System) SRV (Service) device, which is described by the Internet Society in RFC2782, "DNS SRV RR", by A. Gulbrandsen, P.Vixie and L. Esibov, February 2000. A DNS SRV receives queries regarding a name and a service of a device and returns an address and a port number as a result of the query. This document is however silent regarding the environment in which this device is to be used. There is thus still a need for a way of allowing multiple parallel inbound sessions from a global network to multiple devices on a local network having a limited number of global addresses. It is an object of the present invention to provide a mechanism by which more than one session can be started from devices via a first network having a first addressing realm to devices in a second network having a second addressing realm, which mechanism is transparent to the devices communicating via the first network, i.e. they do not have to have any real knowledge of how they communicate with devices in the second network, while at the same time only needing one address for the whole second network in the first addressing realm. The invention is defined by the independent claims. The dependent claims define advantageous embodiments. Claims 2 and 10 are directed towards providing the device name and service name resolving for two queries, one regarding the device name and the other regarding the service name and responding to these queries with two messages. Claims 3 and 1 1 are directed towards generating the response to the query in the second addressing realm and replacing the second address and service port number for an address and port number of the gateway. Other dependent claims are directed towards providing a specific service port number in the query, which facilitates the forwarding of the query to the name and service resolving unit. An embodiment of the present invention has the advantage of allowing several parallel sessions with different devices in the second network started from the first network even though only one address in the first addressing realm is used for the second network. This does not mean that the gateway must have only one address in the first addressing realm, but it can have several such addresses. The present invention thus allows peer-to-peer networking, such that the first and second devices can both act as clients and servers and have both inbound and outbound sessions. Another advantage of the present invention is that it is based on an already existing protocol, the DNS SRV protocol, which makes the invention straightforward to implement. The general idea behind an embodiment of the present invention is thus to bind a first address and a port number of a first addressing realm associated with an interface between the first addressing realm and a second addressing realm to a second address and a port number of a second device in the second addressing realm upon reception of a query from a first device. From the query a name and service look up of the second address and port number of the second device is made. A response to the query is then sent including the first address and a port number of the interface in the first addressing realm. These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
The present invention will now be explained in more detail in relation to the enclosed drawings, where Fig. 1 shows a schematic drawing of a first network connected to a second network via a gateway according to the invention, Fig. 2 shows a block schematic of the gateway according to the present invention, Fig. 3 shows a number of messages sent between the devices and units in Fig. 1 and 2 for initiating a session, Fig. 4 shows a binding for the session made in a NAPT table provided in the gateway, Fig. 5 shows a flow chart of a method of initiating a session from the first network to the second network according to the invention, Fig. 6 shows a schematic drawing of an alternative embodiment of the second network including a name and service resolving server, Fig. 7 shows messages sent in the second network to and from the name and service resolving server, and Fig. 8 schematically shows a computer readable medium on which is stored program code for performing the method according to the invention.
Fig. 1 shows a schematic drawing of an embodiment of the invention and it's environment. Fig. 1 shows an interface device 10 according to the invention connected to a first network 12, which in this case is the Internet. A first computational device 14 is connected to the first network 12. The interface device 10, which in the preferred embodiment is a gateway is also connected to a second network 16, which network includes a second computational device 18. The first network 12 has a first addressing realm and the second network has a second addressing realm. The first addressing realm is here an IP- addressing realm, for instance IPv4, and used globally, while the second addressing realm is a local addressing realm used inside the second network 16. This second addressing realm is normally also using IP-addressing. The second network 16 is in the preferred embodiment a private home network. It should however be realized that the invention is not limited to private home networks, but can also be used for example in a corporate network. The first computational device 14 is also denoted X, the second computational device 18 is denoted Y and the gateway 10 is denoted G. The different devices thus have different addresses in the different realms. The first device 14 has an address AX in the first addressing realm, the gateway 10 has a first address AG1 in the first addressing realm, while the second device 18 has a second address AY in the second addressing realm. It should be noted that the gateway 10 also has an address AG2 in the second addressing realm. The second device 18 can be a regular computer, but is not limited to this. It can be another computational device as well such as an Internet Radio server, a printer, a scanner or any other type of equipment, which can be connected in computer networks using an address that provides a service, which can be accessed by other devices. It should also be realized that there might be more devices in the second network 16. The first device 14 might for instance similarly be any suitable device, which can be connected to the Internet 12 and that has client capabilities, i.e. has functionality for obtaining access to the service of the second device 18. It should also be realized that the first device 14 might be a device on a private or local network communicating with the Internet via a gateway. It is here shown as a device connected directly to the Internet in order to better explain the invention. Fig. 1 also shows a query 20 sent from the first device 14 to the second network 16 as well as a response 22 to that query. A simplified embodiment of the gateway 10 according to the invention is shown in a block schematic in Fig. 2. The gateway 10 has a first input 24 connected to the Internet for reception of data packets and a first output 26 also connected to the Internet for sending of data packets. The gateway also has a second output 28 connected to the second network for sending of data packets and a second input 30 also connected to the second network for reception of data packets. A first register 34 is connected between the first input 24 and the second output 28, while a second register 36 is connected between the second input 30 and the first output 26. The directions the data packets are traveling are indicated with arrows. The first and second registers 34 and 36 are both connected to a control unit 32, which control unit 32 comprises a DNS SRV_ALG (Application Level Gateway) unit and is connected to a NAPT (Network Address and Port Translator) table 38 and to a name and service resolving unit 40. The NAPT 38 is used for translating of local addresses and local port numbers to global addresses and global port numbers, i.e. from addresses and port numbers in the second addressing realm into addresses and port number in the first addressing realm and vice versa. The name and service resolving unit 40 is a server with DNS SRV (Domain Name System Service) capabilities, i.e. it maps a domain name and service name to an address and a port number and here to an address and a port number in the second addressing realm. Fig. 2 also shows a message 42 that is generated as a response to the query 20, which response is then modified into message 22 leaving the second network 16. Fig. 3 shows the messages 20, 22 and 42 from Fig. 1 and 2 in some more detail. The messages each have a source address field 44, a source port number field 46, a destination address field 48, a destination port number field 50 and a payload 52, where fields 44 - 50 make up the header of the message. Fig. 4 shows entries made in the NAPT table 38 of Fig. 2 based on these messages. After a session has been initiated but before any packets have been received. Each row of the table is dedicated to an ongoing session or a session that has just been initiated. For simplicity only one row or session is shown here, although it should be realized that there can be several rows for sessions between different devices and actually several rows for different sessions between the same two devices or several sessions to the same device on the second network from several devices on the first network or several sessions from the same device on the first network to several devices on the second network. A first column 54 is used for the addresses of devices in the first network having or initiating a session, which is here left blank. A second column 56 is used for port numbers associated with the address of a device on the first network, which column is also left blank. These are blank because no session has yet been started for a device on the first network. A third column 58 is intended for addresses of the second network in the first addressing realm, which here has the first address AG1 of the gateway. A fourth column 60 is intended for the port numbers of the second network in the first addressing realm and is here a port number PGHTTP. A fifth column 62 is intended for the addresses of the second network that exist in the second addressing realm of devices involved or to be involved in sessions, which column here shows the second address AY of the second device, while a sixth column 64 is intended for port numbers used in relation to the addresses on the second network, which column here shows a port number PYHTTP. Fig. 5 shows a flow chart of a method according to the invention. Now a first part of the invention will be described with reference being made to Fig. 1 , 2, 3, 4 and 5. The first device 14 sends a query 20 to the name and service resolving unit 40 via gateway 10 in order to get an address for communicating with the second device 18, step 66. This query can either be recursive or non-recursive. This query, which is shown in the upper part of Fig. 3 includes a source address AX and a source port number PX in the fields 44, 46 and a destination address AGl and destination port number PDNS in fields 48, 50. The address and port number could have been found by consulting DNS and/or DNS SRV servers within the first network that provide the address AGl and port number PDNS. The address AGl is the address of the second network or the gateway 10 in the first addressing realm, while the port number PDNS is a special port number used for name and service queries. The query 20 furthermore comprises payload 52 comprising a device name "server" that is queried as well as service name "http" that is also queried. This device name is the domain name associated with the second device 18, while the service name is the name of a service offered by the second device. This query could have been preceded by a number of previous queries sent to other DNS and/or DNS SRV servers in the first network 12. For each such DNS and/or SRV server contacted with the query, that server has indicated to the first device 14 a DNS and/or DNS SRV server at a lower hierarchical level. In this way the first device 14 could have queried a number of DNS and/or DNS SRV servers until it directly contacts the gateway 10, which includes the name and service resolving unit 40 mapping the name of the second device 18 to an address. As an alternative the query could be directly forwarded by the first DNS and/or DNS SRV server contacted to a next DNS and/or DNS SRV server until the query eventually reaches the name and service resolving unit 40. The gateway 10 then receives the query 20, step 68, on the first input 24 and forwards it to the first register 34. Then control unit 32 analyses the address AGl and port number PDNS and forwards the query to the name and service resolving unit 40 in dependence of this address and port number. The port number PDNS is a service resolving port number that is dedicated to these types of queries. The name and service resolving unit 40 makes an address and port number look up in the second addressing realm based on the name query, step 70, and in this way finds an address AY of the second device 18 in the second addressing realm and a port number PYHTTP of the second device 18 associated with the service. The name and service resolving unit 40 then generates and returns a response 42 to the query 20 to the control unit 32, which response is shown in the middle of Fig. 3. The response 42 to the query here includes the second address AY and the service port number PYHTTP in the payload 52. Since the name and service resolving unit 40 is provided in the gateway 10, the source address and source port numbers are set as AG2, the address of the gateway 10 on the second network 16, and PDNS in fields 44 and 46. The destination address and port number are also set as AX and PX in fields 48, 50. It should be realized that this response data need not be provided in the form of a message, but can be provided to the control unit as "raw" data, whereupon the control unit creates the actual response message. The query is thus answered from the name and service resolving unit 40 with the looked up data, i.e. address AY and port number PYHTTP, step 72. The control unit 32 then replaces the second address AY with the first address AGl associated with the gateway and port number PYHTTP with a port number PGHTTP in the payload 52 of the response as well as replaces the source address AG2 with the source address AGl, the first address of the gateway 10, and puts the thus changed reply or message 22 in the second register 36, step 74. This port number PGHTTP is a session port number that is selected for the session. The message 22 is shown in the bottom part of Fig. 3. The control unit 32 also makes a binding between the address AY and port number PYHTTP of the second device 18 and the address AGl and port number PGHTTP of the gateway 10 in the NAPT, step 76. Thus for a session the third column 58 of the NAPT 38 receives the address AGl, the fourth column 60 receives a session port number PGHTTP, the fifth column 62 receives the address AY and the sixth column 64 receives the service port number PYHTTP. The control unit 32 then forwards the adjusted response message 22 to the first device 14 via the first output 26, step 78. The first device 14 will now receive a response on the name and service query, which points out the gateway 10 instead of second device 18 as being associated with the name of device 18 and a port number of the gateway as corresponding to the service. The first device can now start a session using the first address AGl as destination address and port number PGHTTP as port number. The first device 14 thus sends one query to the gateway 10 and can immediately start the session upon receipt of the reply, which reply can be provided in one single data packet. The first device 14 thus does not need to communicate with the gateway 10 more than once before starting the session. However the gateway will know that data packets are intended for the second device because of the settings made in the NAPT table 38. When a first packet in the session then is received in the gateway from the first device 14, an actual binding takes place in that the used address and port numbers of the first device are set in the first 54 and second 56 columns of the NAPT table 38. As an alternative the first and second columns 54 and 56 are not filled with data at all. It is furthermore possible that the NAPT 38 does not have these columns at all. The message, which then has destination address AGl and port number PGHTTP gets translated in the control unit 32 by looking in the NAPT table 38 to address AY and port number PYHTTP in the header and forwarded to the second device 18. With the table 38 set this way packets can be exchanged between the first and second device. As mentioned earlier the first device can also be provided in a local network having a third addressing realm. In this case the address and port number of the first device are also translated into a corresponding gateway address and port number in a similar fashion. Then the address and port number of the first device that is provided in the messages in Fig. 3, would be replaced by an address and port number of the gateway of the third addressing realm. In the preferred embodiment the name and service resolving unit is part of the gateway. In an alternative embodiment, the name and service resolving unit can be a separate entity or server on the second network with which the gateway would communicate in order to resolve the name and service. This embodiment is schematically shown in Fig. 6, where the name and service resolving server has received reference number 80. A translated version 82 of the query 20 and a generated response to the query 84 are shown in Fig. 7, where these messages 82 and 84 have the same format as the previously mentioned messages. Here the gateway 10 performs an address and port number translation of the destination address AGl and port number PDNS in the inbound query 20 to query 82 of the second network having a third address AS and port number PDNS associated with the name and service resolving server 80, and sends the translated query 82 to the name and service resolving unit 80. The name and service resolving unit 80 makes a response 84, where the source address is the local third address AS in the second addressing realm of the unit 80 and a port number PDNS also in this realm. The gateway 10 then performs an address and port number translation of the source address and port number in the response message and forwards the adjusted message 22 to the first device. Another possible variation is that the name and service resolving unit can be distributed in the various end devices of the second network. The different units in the gateway are normally provided in the form of one or more processors together with suitable program memory containing appropriate program code for performing the method according to the invention. The table is also normally provided in the form of a memory. The software or program code for performing this can also be provided on a computer program product in the form of a computer readable medium, which will perform the method according to the invention when loaded into the gateway. One such medium in the form of a CD Rom disc 86 is depicted in Fig. 8, although there are many different mediums possible such as diskettes. The program code can also be downloaded remotely from a server outside the second network. It should also be understood that the gateway described could include several more registers in the form of different input, output and buffer registers. The numbers have intentionally been kept low for getting a better understanding of the invention. For every new connection that is set up a new name and service resolving process need to be executed. Therefore the first device should not store the address and port number of the destination device and service. The present invention thus provides a possibility to initiate sessions from outside the second network, while at the same time only needing one address in the first addressing realm for the second network and still allowing several inbound sessions. This does not mean that the gateway must have only one address in the first addressing realm, but it can have several such addresses. The present invention thus allows peer-to-peer networking, such that the first and second devices can both act as clients and servers and have both inbound and outbound sessions. Another advantage of the present invention is that it is based on an already existing protocol, the DNS SRV protocol, which makes the invention straightforward to implement. Yet another advantage is that the binding in the NAPT table can be performed in one stage. The port numbers used in the name and service resolving unit are specific port numbers that specify a certain service, which has here been exemplified by HTTP services, naturally different port numbers then specify different services. The port numbers in the NAPT table associated with the first address of the gateway that are selected for the binding to the second address and service port number of the second device are normally the next available port number of a number of free port numbers provided in the gateway. This port number is then only used for identifying device and service on the second network, which however is not known by the first device. There are however some reserved port numbers in the gateway. One such port number is a service resolving port number PDNS, which indicates that a received packet is a name and service query. This port number has been denoted as PDNS before and after address translation in the gateway. It should however be realized that this port number might be translated as well in the gateway before being sent on to the name and service resolving unit both when it is provided inside the gateway and in the second network. These packets are automatically forwarded to the name and service resolving unit based on the specific port number. The present invention thus provides a system, an interface device, a method and a computer program product, which facilitates initiation of sessions from a first network to a second network. There are a number of possible variations to the invention, which can be made in addition to those already mentioned. The query might be divided into two queries, one for the address and one for the service name. In this case there would also be two responses, one for each query. The invention is not limited to IP-addressing, but other types of addressing are also possible. The first input and output of the gateway can also be combined into a single communication interface. The networks do not need to be fixed networks, but can also for instance be wireless networks.

Claims

CLAIMS:
1. Method of enabling starting of sessions from a first computational device ( 14) communicating via a first network (12) having a first addressing realm to a second computational device (18) on a second network (16) having a second addressing realm, comprising the steps of: - receiving at least one query (20) concerning the second device including at least a device name (server) and a service name (http) associated with the second device, which query has a first destination address (AGl) of the first addressing realm associated with the second network, (step 68), looking up a second address (AY) as well as a service port number (PYHTTP) associated with a service of the second device in the second addressing realm based on the device name and service name, (step 70), binding the first address (AGl) and a session port number (PGHTTP) of the first addressing realm to the second address (AY) and the service port number (PYHTTP) of the second device (18) in the second addressing realm, (step 76), and - answering the query (20) of the first device (14) with at least one message (22) leaving the second network comprising the first address and the session port number of the first addressing realm, such that a session can be started from the first device to the second device where the first address and session port number of the first addressing realm and the second address and the service port number of the second addressing realm are exchanged with each other in the headers of packets of the session when passing between the two networks.
2. Method according to claim 1, wherein the step of receiving comprises receiving two queries, one including the device name and one including the service name and the step of answering the query comprises answering with two messages, one including the first address and the other including the session port number.
3. Method according to claim 1, wherein the step of answering the query comprises the steps of generating said message (42; 82) including the second address (AY) and service port number (PYHTTP) of the second addressing realm as a response to the query, (step 72), replacing the second address and service port number of the second addressing realm in the response message for the first address (AGl) and session port number of the first addressing realm, (step 74), and sending the message (22) with the replaced information to the first device from the second addressing realm, (step 78).
4. Method according to claim 1, wherein the query further comprises a specified service resolving port number (PDNS).
5. Method according to claim 4, further comprising the step of translating the first address and the service resolving port number to a third address (AS) and service resolving port number (PDNS) of the second addressing realm associated with a name and service resolving server (80) of the second addressing realm, forwarding the query (82) with translated address and port number to the name and service resolving server, generating the response (84) to the query in the name and service resolving server as a message with the third address and service resolving port number as source address, and translating the third address and service resolving port number of the second addressing realm to the first address and service resolving port number of the first addressing realm before the response leaves the second network.
6. Method according to claim 1, further including the step of receiving a first data packet of the session from the first device at the interface having the first address and session port number of the first addressing realm as destination address, translating the first address and session port number of the first addressing realm to the second address and service port number of the second addressing realm and forwarding the packet to the second device in the second addressing realm using this latter address and service port number.
7. Method according to claim 1, wherein the session port number of the first addressing realm is different than the service port number of the second addressing realm.
8. Interface device (10) for connection between a first network (12) having a first addressing realm and a second network (16) having a second addressing realm enabling starting of sessions from a first computational device (14) communicating with the interface device via the first network to a second computational device (18) in the second network, comprising: a first input (24) to be connected to the first network for receiving at least one query (20) concerning the second device, which query includes at least a device name (server) and a service name (http) associated with the second device and has a first destination address (AGl) of the first addressing realm associated with the second network, a first output (22) for connection to the first network, a name and service resolving unit (40) arranged to look up a second address (AY) as well as a service port number (PHTTP) associated with a service of the second device in the second addressing realm based on the device name and the service name, an address and port translation table (38), and a control unit (32) arranged to: - bind the received first address (AGl) and a session port number of the first addressing realm (PGHTTP) to the second address (AY) and service port number (PYHTTP) belonging the second device in the second addressing realm in the address and port translation table, and - provide a message (22) leaving the second network as at least one answer to the query comprising the first address and the session port number of the first addressing realm to the first device, such that a session can be started from the first device to the second device where the first address and session port number of the first addressing realm and the second address and service port number of the second addressing realm are exchanged with each other in the headers of packets of the session when passing between the two networks.
9. System of computational devices for connection to a first network (12) having a first addressing realm, via which first network a first computational device (14) can communicate with the system and comprising a second network (16) having a second addressing realm, said second network comprising: a second computational device (18), and an interface device ( 10) provided between the first and second networks comprising: - a first input (24) to be connected to the first network for receiving a query (20) concerning the second device, which query includes at least a device name (server) and a service name (http) associated with the second device and has a first destination address (AGl) of the first addressing realm associated with the second network, - a first output (26) for connection to the first network, - an address and port translation table (38), and - a control unit (32) arranged to: - bind the first address (AGl) and a session port number (PGHTTP) of the first addressing realm to a second address (PY) and a service port number (PYHTTP) belonging to the second device in the second addressing realm in the address and port translation table, and - provide a message (22) leaving the second network as an answer to the query of the first device comprising the first address and the session port number of the first addressing realm, wherein the second network further comprises a name and service resolving unit (40; 80) arranged to look up the second address (AY) as well as the service port number (PYHTTP) associated with a service of the second device in the second addressing realm based on the device name and the service name, such that a session can be started from the first device to the second device where the first address and session port number of the first addressing realm and the second address and the service port number of the second addressing realm are exchanged for each other in the headers of packets of the session when passing between the two networks.
10. System of devices according to claim 9, wherein the first input is arranged to receive two queries, one including the device name and one including the service name and the control unit is arranged to answer the query with two messages, one including the first address and the other including the session port number.
1 1. System of devices according to claim 9, wherein the name and service resolving unit when answering the query is arranged to generate said message (42; 84) including the second address and service port number of the second addressing realm as a response to the query and the control unit of the interface device is arranged to replace the second address and service port number of the second addressing realm in the response message with the first address and session port number of the first addressing realm and send the message with the replaced information to the first device from the second addressing realm.
12. System of computational devices according to claim 9, wherein the name and service resolving unit (40) is provided in the interface device.
13. System of devices according to claim 9, wherein the name and service resolving unit (80) is provided in a name and service resolving server in the second network.
14. System of devices according to claim 13, wherein the query further comprises a service resolving port number (PDNS) and the control unit (32) is further arranged to translate the first address and the service resolving port number to a third address (AS) and service resolving port number (PDNS) of the second addressing realm associated with the name and service resolving server of the second addressing realm, forward the query with translated address and service resolving port number (82) to the name and service resolving server, the name and service resolving server is further arranged to generate the response (84) to the query as a message with the third address and service resolving port number as source address, and the control unit is finally arranged to translate the third address and service resolving port number of the second addressing realm to the first address and service resolving port number of the first addressing realm before the response leaves the second network.
15. System of devices according to claim 9, wherein the first input of the interface device is further arranged to receive a first data packet of the session from the first device having the first address (AGl) and session port number (PGHTTP) of the first addressing realm as destination address, wherein the address and port translating table (38) is arranged to translate the first address and session port number of the first addressing realm to the second address and service port number of the second addressing realm and the control unit is arranged to forward the packet to the second device in the second addressing realm using this latter address and service port number.
16. System of devices according to claim 9, wherein the session port number (PGHTTP) of the first addressing realm is different than the service port number (PYHTTP) of the second addressing realm.
17. Computer program product (86) to be used on an interface device (10) between a first network (12) having a first addressing realm and a second network (16) having a second addressing realm, wherein a first computational device (14) can communicate with the interface device via the first network and the second network comprises a second computational device (18), said computer program product having: computer program code, to make the interface device execute, when said program code is loaded in the interface device: - upon reception of at least one query (20) from the first computational device concerning the second computational device, which query includes a device name (server) and a service name (http) associated with the second device and has a first destination address (AGl) of the first addressing realm associated with the second network, - looking up a second address (AY) as well as a service port number
(PYHTTP) associated with a service of the second device in the second addressing realm based on at least the device name and service name, - binding the first address (AGl) and a session port number (PGHTTP) of the first addressing realm to the second address (AY) and service port number (PYHTTP) of the second device in the second addressing realm, and - answering the query with at least one message (22) leaving the second network comprising the first address and the session port number of the first addressing realm to the first device, such that a session can be started from the first device to the second device, where the first address and session port number of the first addressing realm and the second address and the service port number of the second addressing realm are exchanged with each other in the headers of packets of the session when passing between the two networks.
PCT/IB2005/050478 2004-02-19 2005-02-07 Initiating communication sessions from a first computer network to a second computer network WO2005083975A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/597,993 US20080168181A1 (en) 2004-02-19 2005-02-07 Initiating Communication Sessions from a First Computer Network to a Second Computer Network
EP05702906A EP1726141A2 (en) 2004-02-19 2005-02-07 Initiating communication sessions from a first computer network to a second computer network
JP2006553725A JP2007526689A (en) 2004-02-19 2005-02-07 Initiating a communication session from a first computer network to a second computer network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04100648 2004-02-19
EP04100648.7 2004-02-19

Publications (2)

Publication Number Publication Date
WO2005083975A2 true WO2005083975A2 (en) 2005-09-09
WO2005083975A3 WO2005083975A3 (en) 2007-01-11

Family

ID=34896084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2005/050478 WO2005083975A2 (en) 2004-02-19 2005-02-07 Initiating communication sessions from a first computer network to a second computer network

Country Status (6)

Country Link
US (1) US20080168181A1 (en)
EP (1) EP1726141A2 (en)
JP (1) JP2007526689A (en)
KR (1) KR20060123568A (en)
CN (1) CN1998218A (en)
WO (1) WO2005083975A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1919168A1 (en) 2006-11-06 2008-05-07 Nokia Corporation Global reachability in communication networks
WO2008134947A1 (en) * 2007-04-30 2008-11-13 Huawei Technologies Co., Ltd. Optimal path selection for accessing networked applications

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7684317B2 (en) * 2001-06-14 2010-03-23 Nortel Networks Limited Protecting a network from unauthorized access
US8059641B1 (en) * 2006-07-20 2011-11-15 Avaya Inc. Encapsulation method discovery protocol for network address translation gateway traversal
JP5207270B2 (en) * 2007-07-12 2013-06-12 Necインフロンティア株式会社 Communication system between multiple networks
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US7962597B2 (en) * 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
GB2478470B8 (en) * 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US9098335B2 (en) 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
EP2517438B1 (en) * 2009-12-23 2016-11-30 Citrix Systems Inc. Systems and methods for managing ports for rtsp across cores in a multi-core system
WO2012106820A1 (en) 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
JP5790775B2 (en) * 2011-11-11 2015-10-07 富士通株式会社 Routing method and network transmission apparatus
EP3395049B1 (en) * 2015-12-22 2021-10-06 Telefonaktiebolaget LM Ericsson (publ) Router and method for connecting an ipv4 network and an ipv6 network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138622A1 (en) * 2001-03-21 2002-09-26 Motorola, Inc. Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3966598B2 (en) * 1998-03-04 2007-08-29 富士通株式会社 Server selection system
US7028092B2 (en) * 2000-12-11 2006-04-11 Acme Packet, Inc. System and method for assisting in controlling real-time transport protocol flow through multiple networks via media flow routing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138622A1 (en) * 2001-03-21 2002-09-26 Motorola, Inc. Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GULBRANDSEN A ET AL: "A DNS RR for specifying the location of services (DNS SRV)" REQUEST FOR COMMENTS: 2782, February 2000 (2000-02), XP002176085 cited in the application *
SRISURESH CONSULTANT G TSIRTSIS BT LABORATORIES P AKKIRAJU CISCO SYSTEMS A HEFFERNAN JUNIPER NETWORKS P: "DNS extensions to Network Address Translators (DNS_ALG)" IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, September 1999 (1999-09), XP015008477 ISSN: 0000-0003 cited in the application *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1919168A1 (en) 2006-11-06 2008-05-07 Nokia Corporation Global reachability in communication networks
WO2008134947A1 (en) * 2007-04-30 2008-11-13 Huawei Technologies Co., Ltd. Optimal path selection for accessing networked applications
US8238334B2 (en) 2007-04-30 2012-08-07 Futurewei Technologies Inc. Optimal path selection for accessing networked applications

Also Published As

Publication number Publication date
WO2005083975A3 (en) 2007-01-11
JP2007526689A (en) 2007-09-13
EP1726141A2 (en) 2006-11-29
KR20060123568A (en) 2006-12-01
US20080168181A1 (en) 2008-07-10
CN1998218A (en) 2007-07-11

Similar Documents

Publication Publication Date Title
US20080168181A1 (en) Initiating Communication Sessions from a First Computer Network to a Second Computer Network
US20080133760A1 (en) Method and Apparatus Allowing Remote Access in Data Networks
US20070168551A1 (en) Address and port number abstraction when setting up a connection between at least two computational devices
JP4303600B2 (en) Connection setting mechanism between networks with different address areas
US7573903B2 (en) IPv6/IPv4 translator
US6393488B1 (en) System and method for supporting internet protocol subnets with network address translators
JP2003087336A (en) Address conversion method
WO2004088923A1 (en) Method and system for centrally allocating addresses and port numbers
TW200924462A (en) System and method for connection of hosts behind NATs
EP2472811A1 (en) Method and system for implementing interconnection between internet protocol version 4 network and new network
US8612557B2 (en) Method for establishing connection between user-network of other technology and domain name system proxy server for controlling the same
US9602333B2 (en) DNS server, gateways and methods for managing an identifier of a port range in the transmission of data
CN111711705B (en) Method and device for realizing network connection based on bidirectional NAT (network Address translation) by proxy node
US7764686B1 (en) Migration to IPv6 using combination of globally significant and locally significant IPv4 addresses
US7356031B1 (en) Inter-v4 realm routing
US20060031514A1 (en) Initiating communication sessions from a first computer network to a second computer network
US20040153502A1 (en) Enhanced DNS server
US8891518B2 (en) Routing device and method of translating addresses in cascade in a network
JP4191180B2 (en) Communication support device, system, communication method, and computer program
JP4288698B2 (en) DNS proxy for IPv6 / IPv4 translator
Landfeldt et al. Providing scalable and deployable addressing in third-generation cellular-networks
CN100454891C (en) IPv6/IPv4 converter
WO2004066587A1 (en) Sessions intiated from a first to a second computer network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005702906

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10597993

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006553725

Country of ref document: JP

Ref document number: 200580005330.9

Country of ref document: CN

Ref document number: 1020067016627

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 3407/CHENP/2006

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 2005702906

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067016627

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2005702906

Country of ref document: EP