Power-efficient address mapping scheme

Abstract
The present invention relates to a method, system, client device, gateway device and computer program product for maintaining a state information in an intermediate network function, wherein the state information expires after a predetermined idle period. Detecting means are provided for detecting an idle state of a connection. In response to the detecting means, a transport protocol used for encapsulating data is changed from a first protocol with a first predetermined idle period to a second protocol with a second predetermined idle period, said second predetermined idle period being longer than said first predetermined idle period. Alternatively, a connection parameter is provided to a device for a parallel second connection in a set-up negotiation via said first connection. This connection parameter is then used for setting up a parallel second connection to the device based on the second transport protocol used for encapsulating data with the second predetermined idle period. Then, an information linking the first and second connections is transmitted from the device to the data network, wherein the second connection is used for transmitting a wake-up notification to the device in response a detected idle state. Both alternatives provide the advantage of reduced keep-alive signaling and thus enhanced battery efficiency.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described based on embodiments with reference to the accompanying drawings in which:



FIG. 1 shows a schematic block diagram of a network architecture in which the present invention can be implemented;



FIG. 2 shows an example of a NAT traversal for a Virtual Private Network;



FIG. 3 shows a signaling diagram indicating message exchange and resulting processing steps according to a first embodiment;



FIG. 4 shows a more detailed signaling diagram indicating message exchange and resulting processing steps according to an implementation example of said first embodiment;



FIG. 5 shows a signaling diagram indicating message exchange and resulting processing steps according to a second embodiment



FIG. 6 shows a schematic block diagram of a client device which is connected via a NAT device to a gateway device, according to the first and second embodiments.


Claims
  • 1. A method of maintaining state information of a device in an intermediate network function, wherein said state information expires after a predetermined idle period, said method comprising the steps of: detecting an idle state of said device and outputting a result indicative thereof; andchanging a transport protocol used for encapsulating data, transmitted to or from said device, from a first protocol with a first predetermined idle period to a second protocol with a second predetermined idle period, in response to the result of said detecting step, said second predetermined idle period being longer than said first predetermined idle period.
  • 2. A method according to claim 1, providing a translation between a first address used for addressing said device from inside a data network and a second address used for addressing said device from outside said data network using said state information as a mapping relationship in an address translation function.
  • 3. A method according to claim 1, wherein said state information is a filter state information of a firewall function used for deciding on whether to let pass or filter out data packets.
  • 4. A method according to claim 1, wherein said first protocol is based on User Datagram Protocol (UDP) and said second protocol is based on Transmission Control Protocol (TCP).
  • 5. A method according to claim 2, wherein said address translation function is used to process packets generated by Internet Protocol Security (IPsec) or for Mobile Internet Protocol (MIP).
  • 6. A method according to claim 1, wherein said detecting step comprises determining an amount of traffic transmitted by said device within a predetermined period of time and comparing said detected amount with a predetermined threshold.
  • 7. A method according to claim 1, wherein said detecting step comprises determining an amount of time passed since said device transmitted a last data packet.
  • 8. A method according to claim 1, wherein said changing step comprises initiating a re-registration procedure.
  • 9. A method according to claim 1, wherein said changing step comprises an Internet key exchange signaling.
  • 10. A method of maintaining state information of a device in an intermediate network function, wherein said state information expires after a predetermined idle period, said method comprising the steps of: setting up a first connection to said device based on a first transport protocol used for encapsulating data with a first predetermined idle period;providing a connection parameter for said parallel second connection in a set-up negotiation via said first connection;using said connection parameter for setting up a parallel second connection to said device based on a second transport protocol used for encapsulating said data with a second predetermined idle period, said second predetermined idle period being longer than said first predetermined idle period;transmitting information linking said first and second connections from said device;detecting an idle state of said device; andusing said second connection for transmitting a wake-up notification to said device in response to said detecting step.
  • 11. A method of maintaining a state information of a first device in an intermediate network function, wherein said state information expires after a predetermined idle period, said method comprising the steps of: setting up a first connection between said first device and a second device with a first predetermined idle period;providing implicitly a connection parameter for a parallel second connection in a set-up negotiation via said first connection, said connection parameter being visible to nodes that observe the set-up of the first connection between said first device and said second device;using said connection parameter for setting up said parallel second connection between said first device and a separate notification agent with a second predetermined idle period, said second predetermined idle period being longer than said first predetermined idle period, said notification agent being arranged to reside in a data path between said first device and said second device or to be located as a separate function with the second device;detecting an idle state of said first device; andusing said second connection for transmitting a wake-up notification from said notification agent to said first device in response to said detecting step.
  • 12. A method according to claim 10, wherein said state information is a mapping relationship in an address translation function used for providing a translation between a first address used for addressing said device from inside a data network and a second address used for addressing said device from outside said data network.
  • 13. A method according to claim 10, wherein said state information is a filter state information of a firewall function used for deciding on whether to let pass or filter out data packets.
  • 14. A method according to claim 10, wherein said first connection is based on User Datagram Protocol (UDP) and said second connection is based on Transmission Control Protocol (TCP).
  • 15. A method according to claim 10, wherein said address translation function is used to process packets generated by Internet Protocol Security (IPsec) or for Mobile Internet Protocol (MIP).
  • 16. A method according to claim 10, wherein said detecting step comprises determining an amount of traffic transmitted by said device within a predetermined period of time and comparing said detected amount with a predetermined threshold.
  • 17. A method according to claim 10, wherein said detecting step comprises determining an amount of time passed since said device transmitted a last data packet.
  • 18. A method according to claim 10, further comprising: transmitting an authenticated packet from said device via said intermediate network function in response to a receipt of said wake-up notification.
  • 19. A method according to claim 18, wherein said authenticated packet is an Internet Key Exchange information request or an Encapsulating Security Payload packet.
  • 20. A method according to claim 10, wherein said set-up negotiation is an Internet Key Exchange negotiation for a security association or a Mobile Internet Protocol registration.
  • 21. A method according to claim 10, wherein said connection parameter comprises at least one of port number and a connection identifier to be used for said second connection.
  • 22. A method according to claim 21, further comprising the step of: exchanging a key for authenticating said second connection with said device.
  • 23. A method according to claim 10, wherein said information linking said first and second connections comprises a security parameter index.
  • 24. A method according to claim 10, wherein said wake-up notification consists of a single data byte.
  • 25. A method according to claim 10, further comprising the steps of: storing for a predetermined time period a copy of packets transmitted via said first connection; andresending said stored copies when a packet with different addressing information is received from said device.
  • 26. A method according to claim 10, further comprising the step of disabling transmission of keep-alive packets for maintaining said state information of said first connection, when said idle state has been maintained for a predetermined time period.
  • 27. A method according to claim 10, further comprising the step of: transmitting said wake-up notification via said first connection.
  • 28. A gateway device for controlling data transmission between a first network and a second network, said gateway device comprising: negotiating means for transmitting a connection parameter for a second connection in a set-up negotiation via a first connection;storing means for storing received information linking said first and second connections;detecting means for detecting whether said first connection has been idle for a predetermined duration; andsignaling control means for initiating transmission of a wake-up notification via said second connection in response to said detecting means.
  • 29. A gateway device according to claim 28, wherein said detecting means comprises timer means for measuring an amount of time passed since a last packet has been received via said first connection or since an idle notification has been received via said first connection.
  • 30. A gateway device according to claim 28, wherein said gateway device is a gateway of a Virtual Private Network or a home agent of Mobile Internet Protocol.
  • 31. A gateway device according to claim 28, wherein said first connection is based on User Datagram Protocol (UDP) and said second connection is based on Transmission Control Protocol (TCP).
  • 32. A gateway device according to claim 28, wherein said negotiating means is configured to transmit said connection parameter in an Internet Key Exchange negotiation for a security association or a Mobile Internet Protocol registration.
  • 33. A gateway device according to claim 28, wherein said connection parameter comprises at least one of a port number and a connection identifier to be used for said second connection.
  • 34. A gateway device according to claim 33, wherein said negotiating means is configured to exchange a key for authenticating said second connection.
  • 35. A gateway device according to claim 28, further comprising: storing means for storing for a predetermined time period a copy of packets transmitted via said first connection, and resending said stored copies when a packet with different addressing information is received via said first connection.
  • 36. A gateway device according to claim 28, wherein said signaling control means is configured to transmit said wake-up notification also via said first connection.
  • 37. A gateway device according to claim 28, wherein said signaling control means is configured to transmit said wake-up notification when said gateway device needs to send a received packet via said first connection.
  • 38. A gateway device according to claim 28, wherein said second connection is established to a separate notification agent and wherein said signaling control means is configured to trigger said notification agent to transmit said wake-up notification.
  • 39. A notifying device for controlling data transmission between a first device and a second device, said notifying device comprising: deriving means for deriving a connection parameter for a second connection from a set-up negotiation signaling routed through said notifying device via a first connection;detecting means for detecting whether said first connection has been idle for a predetermined duration; andsignaling control means for transmitting a wake-up notification via said second connection in response to said detecting means.
  • 40. A client device for maintaining state information in an intermediate network function, wherein said state information expires after a predetermined idle period, said client device comprising: negotiating means for receiving a connection parameter for a second connection in a set-up negotiation via a first connection;transmitting means for transmitting information linking said first and second connections;set-up means for setting up said second connection by using said received connection parameter; andreceiving means for receiving a wake-up notification via said second connection.
  • 41. A client device according to claim 40, wherein said state information is a mapping relationship in an address translation function used for providing a translation between a first address used for addressing said device from inside a data network and a second address used for addressing said client device from outside said data network.
  • 42. A client device according to claim 40, wherein said state information is a filter state information of a firewall function used for deciding on whether to let pass or filter out data packets.
  • 43. A client device according to claim 40, wherein said first connection is based on User Datagram Protocol (UDP) and said second connection is based on Transmission Control Protocol (TCP).
  • 44. A client device according to claim 41, wherein said address translation function is used to process packets generated by Internet Protocol Security (IPsec) or for Mobile Internet Protocol (MIP).
  • 45. A client device according to claim 40, further comprising: detecting means for determining an amount of traffic transmitted by said client device within a predetermined period of time and comparing said detected amount with a predetermined threshold.
  • 46. A client device according to claim 40, further comprising: detecting means for determining an amount of time passed since said client device transmitted a last data packet.
  • 47. A client device according to claim 40, wherein said transmitting means are configured to transmit an authenticated packet via said intermediate network function in response to a receipt of said wake-up notification.
  • 48. A client device according to claim 47, wherein said authenticated packet is an Internet Key Exchange information request or an Encapsulating Security Payload packet.
  • 49. A client device according to claim 40, wherein said set-up negotiation is an Internet Key Exchange negotiation for a security association or a Mobile Internet Protocol registration.
  • 50. A client device according to claim 40, wherein said connection parameter comprises at least one of port number and a connection identifier to be used for setting up said second connection.
  • 51. A client device according to claim 50, wherein said negotiating means are configured to exchange a key for authenticating said second connection between said client device.
  • 52. A client device according to claim 40, wherein said information linking said first and second connections comprises a security parameter index.
  • 53. A client device according to claim 40, wherein said wake-up notification consists of a single data byte.
  • 54. A client device for maintaining a state information in an intermediate network function, wherein said state information expires after a predetermined idle period, said client device comprising: detecting means for detecting an idle state of said first connection and for outputting a result indicative thereof;control means for changing a transport protocol used for encapsulating data from a first protocol with a first predetermined idle period to a second protocol with a second predetermined idle period, in response to the result of said detecting step, said second predetermined idle period being longer than said first predetermined idle period.
  • 55. A client device according to claim 54, wherein said state information is a mapping relationship in an address translation function used for providing a translation between a first address used for addressing said client device from inside a data network and a second address used for addressing said client device from outside said data network.
  • 56. A client device according to claim 54, wherein said state information is a filter state information of a firewall function used for deciding on whether to let pass or filter out data packets.
  • 57. A client device according to claim 54, wherein said first protocol is based on User Datagram Protocol (UDP) and said second protocol is based on Transmission Control Protocol (TCP).
  • 58. A client device according to claim 55, wherein said address translation function is used to process packets generated by Internet Protocol Security (IPsec) or for Mobile Internet Protocol (MIP).
  • 59. A client device according to claim 54, wherein said detecting means (16) is configured to determine an amount of traffic transmitted by said client device (10) within a predetermined period of time and comparing said detected amount with a predetermined threshold.
  • 60. A client device according to claim 54, wherein said detecting means are configured to determine an amount of time passed since said client device transmitted a last data packet.
  • 61. A client device according to claim 54, wherein said control means are configured to change said transport protocol by initiating a re-registration procedure.
  • 62. A client device according to claim 54, wherein said control means are configured to change said transport protocol by initiating an Internet key exchange signaling.
  • 63. A system for maintaining a state information in an intermediate network function, said system comprising: a client device for maintaining state information in an intermediate network function, wherein said state information expires after a predetermined idle period, said client device comprising first negotiating means for receiving a connection parameter for a second connection in a set-up negotiation via a first connection,transmitting means for transmitting information linking said first and second connections,set-up means for setting up said second connection by using said received connection parameter, andreceiving means for receiving a wake-up notification via said second connection; anda gateway device for controlling data transmission between a first network and a second network, said gateway device comprising second negotiating means for transmitting said connection parameter for said second connection in said set-up negotiation via said first connection,storing means for storing said information linking said first and second connections,detecting means for detecting whether said first connection has been idle for a predetermined duration, andsignaling control means for initiating transmission of said wake-up notification via said second connection in response to said detecting means.
  • 64. A system for maintaining a state information in an intermediate network function, said system comprising: a client device for maintaining a state information in an intermediate network function, wherein said state information expires after a predetermined idle period, said client device comprising detecting means for detecting an idle state of said first connection and for outputting a result indicative thereof;control means for changing a transport protocol used for encapsulating data from a first protocol with a first predetermined idle period to a second protocol with a second predetermined idle period, in response to the result of said detecting step, said second predetermined idle period being longer than said first predetermined idle period.
  • 65. A computer program embodied on a computer readable medium, the computer program being configured to perform the steps of: maintaining state information of a device in an intermediate network function, wherein said state information expires after a predetermined idle period;detecting an idle state of said device and outputting a result indicative thereof; andchanging a transport protocol used for encapsulating data, transmitted to or from said device, from a first protocol with a first predetermined idle period to a second protocol with a second predetermined idle period, in response to the result of said detecting step, said second predetermined idle period being longer than said first predetermined idle period.
  • 66. A computer program embodied on a computer readable medium, the computer program being configured to perform the steps of: maintaining state information of a device in an intermediate network function, wherein said state information expires after a predetermined idle period;setting up a first connection to said device based on a first transport protocol used for encapsulating data with a first predetermined idle period; andusing said connection parameter for setting up a parallel second connection to said device based on a second transport protocol used for encapsulating said data with a second predetermined idle period, said second predetermined idle period being longer than said first predetermined idle period; andtransmitting information linking said first and second connections from said device.
  • 67. A computer program embodied on a computer readable medium, the computer program being configured to perform the steps of maintaining state information of a device in an intermediate network function, wherein said state information expires after a predetermined idle period; providing a connection parameter for a parallel second connection in a set-up negotiation via a first connection;detecting an idle state of said device; andusing said second connection for transmitting a wake-up notification to said device in response to said detecting step.
  • 68. A computer program embodied on a computer readable medium, the computer program being configured to perform the steps of: maintaining a state information of a first device in an intermediate network function, wherein said state information expires after a first predetermined idle period;using a connection parameter for setting up a parallel second connection between said first device and a separate notification agent with a second predetermined idle period, said second predetermined idle period being longer than said first predetermined idle period, said notification agent being arranged to reside in a data path between said first device and a second device or to be located as a separate function with the second device;detecting an idle state of said first device; andusing said second connection for transmitting a wake-up notification from said notification agent to said first device in response to said detecting step.
Priority Claims (1)
Number Date Country Kind
05027537.9 Dec 2005 EP regional