WO2017138850A1 - Method for keeping connection path alive, proxy device and coap compliant end point device - Google Patents

Method for keeping connection path alive, proxy device and coap compliant end point device Download PDF

Info

Publication number
WO2017138850A1
WO2017138850A1 PCT/SE2016/050097 SE2016050097W WO2017138850A1 WO 2017138850 A1 WO2017138850 A1 WO 2017138850A1 SE 2016050097 W SE2016050097 W SE 2016050097W WO 2017138850 A1 WO2017138850 A1 WO 2017138850A1
Authority
WO
WIPO (PCT)
Prior art keywords
connection path
coap
compliant
message
keep
Prior art date
Application number
PCT/SE2016/050097
Other languages
French (fr)
Inventor
Jaime JIMÉNEZ
Ari KERÄNEN
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/SE2016/050097 priority Critical patent/WO2017138850A1/en
Publication of WO2017138850A1 publication Critical patent/WO2017138850A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Definitions

  • the disclosure generally relates to communications technology, and more particularly, to a method for keeping a connection path alive, a proxy device and a Constrained Application Protocol (CoAP) compliant End Point (EP) device, as well as associated computer programs and computer program products.
  • CoAP Constrained Application Protocol
  • EP End Point
  • NAT Network Address Translation
  • stateful firewall functions require an outbound message, i.e., from a private address to a public address, in order to create a state necessary for bidirectional communications.
  • public EP an EP device in a public Internet
  • private EP another EP device behind a NAT or stateful firewall function
  • Fig. 1 shows an exemplary scenario.
  • a private EP 1 10 which can be e.g., a humidity sensor, is connected to a border router 120 and is behind a NAT/firewall 130.
  • a public EP 150 e.g., a public server
  • the private EP 1 10 needs to send, via the router 120 a message (i.e., outbound message) destined to the public EP 150 through the NAT/firewall 130 first.
  • connection path is typically controlled by the NAT/firewall 130 in a
  • timer-based manner That is, a timer is set at the NAT/firewall 130 for the connection path once the connection path has been established. If no
  • connection path will be disabled. Once the connection path has been disabled, any traffic from the public EP 150 cannot get through the
  • RFC 7252 discloses a Constrained Application Protocol (CoAP). It is proposed in RFC 7252 that a CoAP EP behind a NAT can keep sending outbound traffic to keep the NAT binding alive. However, such keep-alive traffic consumes resources on the CoAP EP, which are, by definition, very limited.
  • CoAP Constrained Application Protocol
  • a method performed by a proxy device is provided.
  • the proxy device is in a connection path having been established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path.
  • the method comprises: receiving from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and
  • the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
  • the method further comprises: filtering any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • the step of filtering comprises: receiving a message destined to the CoAP compliant EP device from the remote device; determining that the message is responsive to one of the keep-alive messages; and discarding the message.
  • the method further comprises: refraining from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
  • the method further comprises: receiving from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
  • the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
  • NAT Network Address Translation
  • the first message has a CoAP option defined for the delegation indication.
  • a proxy device is provided. The proxy device is in a connection path established between a Constrained
  • the proxy device comprises: a receiving unit configured to receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and a transmitting unit configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • a receiving unit configured to receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive
  • a transmitting unit configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
  • the proxy device further comprises: a filtering unit configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • the filtering unit is configured to: receive a message destined to the CoAP compliant EP device from the remote device; determine that the message is responsive to one of the keep-alive messages; and discard the message.
  • the transmitting unit is further configured to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
  • the receiving unit is further configured to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
  • the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
  • NAT Network Address Translation
  • the first message has a CoAP option defined for the delegation indication.
  • a proxy device is provided.
  • the proxy device is in a connection path established between a Constrained
  • the proxy device comprises a transceiver, a processor and a memory.
  • Said memory comprises instructions executable by said processor whereby said proxy device is operative to: receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
  • said memory further comprises instructions executable by said processor whereby said proxy device is operative to: filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • said filtering comprising: receiving a message destined to the CoAP compliant EP device from the remote device; determining that the message is responsive to one of the keep-alive messages; and discarding the message.
  • said memory further comprises instructions executable by said processor whereby said proxy device is operative to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
  • said memory further comprises instructions executable by said processor whereby said proxy device is operative to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
  • the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
  • NAT Network Address Translation
  • the first message is has a CoAP option defined for the delegation indication.
  • a computer program comprises computer readable instructions which, when run on a proxy device in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, cause the proxy device to: receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • a computer program product comprises computer readable storage means storing the computer program according to the above fourth aspect.
  • CoAP Constrained Application Protocol
  • EP End Point
  • the connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path.
  • the method comprises: transmitting a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the method further comprises: transmitting a second message destined to the remote device over the connection path.
  • the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
  • a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive.
  • the connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path.
  • the CoAP compliant EP device comprises: a transmitting unit configured to transmit a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the transmitting unit is further configured to: transmit a second message destined to the remote device over the connection path.
  • the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
  • a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive.
  • the connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path.
  • the CoAP compliant EP device comprises a transceiver, a processor and a memory. Said memory comprises instructions executable by said processor whereby said CoAP compliant EP device is operative to: transmit a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • said memory further comprises instructions executable by said processor whereby said CoAP compliant EP device is operative to: transmit a second message destined to the remote device over the connection path.
  • the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
  • a computer program comprises computer readable instructions which, when run on a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, cause the CoAP compliant EP device to: transmit a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • a computer program product comprises computer readable storage means storing the computer program according to the above ninth aspect.
  • a proxy device receives from the CoAP compliant EP device a message including a delegation indication to keep the connection path alive and then transmits one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the EP device can delegate the task of transmitting keep-alive traffic to the proxy device (e.g., a border router).
  • the resource consumption at the EP device can be reduced.
  • the network resources between the EP device and the border router can be saved accordingly. This is particularly advantageous when a large number of EP devices are connected to the border router.
  • Fig. 1 is a schematic diagram showing an exemplary scenario where the disclosure can be applied
  • Fig. 2 is a flowchart illustrating a method for keeping a connection path alive according to an embodiment of the disclosure
  • Fig. 3 is a schematic diagram showing a message format that can be used in the method of Fig. 2; is a schematic diagram showing a field format for a new
  • FIG. 1 is a flowchart illustrating another method for keeping a connection path alive according to an embodiment of the disclosure
  • connection path alive according to an embodiment of the disclosure
  • FIG. 1 is a schematic diagram of a proxy device according to an embodiment of the disclosure.
  • FIG. 1 is a schematic diagram of a CoAP compliant EP device according to an embodiment of the disclosure.
  • FIG. 1 is a schematic diagram of an arrangement that can be used in a proxy device according to an embodiment of the disclosure.
  • Fig. 2 is a flowchart illustrating a method 200 for keeping a connection path alive according to an embodiment of the disclosure.
  • the method 200 can be performed by a proxy device in the connection path.
  • the proxy device can be a border router (e.g., the border router 120 in Fig. 1 ).
  • the connection path has been established between a CoAP compliant EP device (e.g., the private EP 1 10 in Fig. 1 ) and a remote device (e.g., the public EP 150 in Fig. 1 ) via an intermediate device that controls the connection path.
  • a CoAP compliant EP device e.g., the private EP 1 10 in Fig. 1
  • a remote device e.g., the public EP 150 in Fig. 1
  • the intermediate device can be a device hosting a NAT function and/or a firewall function (e.g., the NAT/firewall 130 in Fig. 1 ).
  • the method 200 includes the following steps.
  • the proxy device receives a first message from the CoAP compliant
  • the first message is destined to the remote device and includes a delegation indication to keep the connection path alive.
  • the first message can have a CoAP option defined for the delegation indication.
  • Fig. 3 shows an exemplary format of the first message.
  • the message includes a new option for the delegation indication.
  • the new option can have an option number of 62 and can have a field format as shown in Fig. 4.
  • RFC 7252 for details of the other fields shown in Fig. 3, reference can be made to RFC 7252 and the description thereof will be omitted here.
  • the proxy device transmits one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the proxy device upon receiving the first message including the delegation indication, stores the source address (i.e., the address of the CoAP compliant EP device) and destination address (i.e., the address of the remote device) of the first message and then starts transmitting keep-alive messages to the remote device on behalf of the CoAP compliant EP device.
  • Each keep-alive message has the address of the CoAP compliant EP device as its source address and the address of the remote device as its destination address.
  • the keep-alive messages can be transmitted at intervals shorter than an expiration value of the timer at the intermediate device, such that the timer at the intermediate device can be reset before expiration, thereby keeping the connection path constantly alive.
  • the transmission interval for the keep-alive message can be e.g., 30 seconds or 60 seconds.
  • each keep-alive message can be a Confirmable (CON) message with empty payload.
  • CON Confirmable
  • RST Reset
  • the proxy device can filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • the proxy device determines whether or not the message is responsive to a keep-alive message transmitted on behalf of the CoAP compliant EP device. For example, a CON message and a RST message responsive to the CON message may have the same message ID. Accordingly, when the message ID of the received RST message is identical to that of the transmitted CON message, the proxy device can determine that the RST message is responsive to the CON message and is thus unnecessary to be forwarded to the CoAP compliant EP device. In this case, the proxy device can simply discard the RST message, without forwarding it to the CoAP compliant EP device.
  • a message e.g., RST message
  • the proxy device determines whether or not the message is responsive to a keep-alive message transmitted on behalf of the CoAP compliant EP device. For example, a CON message and a RST message responsive to the CON message may have the same message ID. Accordingly, when the message ID of the received RST message is identical to that of the transmitted CON message, the proxy device can determine that the RST message is responsive to the CON message and
  • such delegation may expire when no delegation indication has been received for a predetermined time period.
  • the proxy device will refrain from transmitting any further keep-alive messages.
  • the CoAP compliant EP device can send a second message to explicitly terminate the delegation.
  • the second message can be destined to the remote device and can include an indication to stop keeping the connection path alive.
  • the second message may include another new option (e.g., option number 63) for delegation termination.
  • the proxy device receives the second message, it will refrain from transmitting any further keep-alive messages.
  • Fig. 5 is a flowchart illustrating another method 500 for keeping a connection path alive according to an embodiment of the disclosure.
  • the method 500 can be performed by a CoAP compliant EP device (e.g., the private EP 1 10 in Fig. 1 ).
  • connection path has been established between a CoAP compliant EP device and a remote device (e.g., the public EP 150 in Fig. 1 ) via an intermediate device that controls the connection path.
  • the intermediate device can be a device hosting a NAT function and/or a firewall function (e.g., the NAT/firewall 130 in Fig.
  • the method 500 includes a step S510 where the CoAP compliant EP device transmitting a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the method 500 may further include a step of transmitting a second message destined to the remote device over the connection path.
  • the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
  • Fig. 6 is a sequence chart showing a process for keeping a connection path alive according to an embodiment of the disclosure.
  • a CoAP EP 1 10 sends a CoAP Acknowledgement (ACK) message destined to a remote EP 150 via the border router 120, possibly in response to a previous CoAP GET message from the remote EP 150.
  • the CoAP EP 1 10 can be a humidity sensor
  • the remote EP can be a public server and the CoAP GET message may request humidity information from the CoAP EP 1 10.
  • the CoAP ACK message includes the requested humidity information and also a delegation indication (e.g., option number 62).
  • the border router 120 detects the delegation indication in the CoAP ACK message and routes the message towards the remote EP 150.
  • the border router 120 sends, as a keep-alive message, a CoAP GET CON message with empty payload to the remote EP 150 on behalf of the CoAP EP 1 10 (i.e., the CoAP GET CON message has the address of the CoAP EP 1 10 as its source address).
  • the border router 120 receives a CoAP RST message in return. The border router 120 determines that the CoAP RST message is responsive to the CoAP GET CON message sent at 6.3 and thus simply discards it, without forwarding it to the CoAP EP 1 10.
  • the steps 6.2 and 6.3 repeat at 6.4 and 6.5 to keep the connection path between the CoAP EP 1 10 and the remote EP 150 alive, such that the remote EP 150 can send a CoAP GET message at 6.6, e.g., for requesting humidity information.
  • the CoAP EP 1 10 responds with a CoAP ACK message including the requested humidity information. If the CoAP EP 1 10 decides to terminate the delegation at this time, it can include a delegation termination indication (e.g., option number 63) in the CoAP ACK message sent at 6.7. Alternatively, the delegation may be terminated when no delegation indication has been received for a predetermined time period.
  • Fig. 7 is a schematic diagram of a proxy device 700 according to an embodiment of the disclosure.
  • the proxy device 700 includes a transceiver 710 for communicating with other entities such as a CoAP compliant EP device and an intermediate device hosting NAT/firewall functions.
  • the proxy device 700 further includes an arrangement 720 for implementing the method described above with reference to Fig. 2.
  • the proxy device 700 may further comprise one or more memories 730 and one or more further functional units 740, such as a functional unit for routing messages.
  • the arrangement 720 can be implemented, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 2.
  • PLD Programmable Logic Device
  • the arrangement 720 may be implemented and/or described as follows.
  • the proxy device 700 includes a receiving unit 721 configured to receive from the CoAP compliant EP device a first message destined to the remote device.
  • the first message includes a delegation indication to keep the connection path alive.
  • the proxy device 700 further includes a transmitting unit 722 configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
  • the proxy device 700 further comprises a filtering unit (not shown) configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • a filtering unit (not shown) configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
  • the filtering unit is configured to: receive a message destined to the CoAP compliant EP device from the remote device; determine that the message is responsive to one of the keep-alive messages; and discard the message.
  • the transmitting unit 722 is further configured to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
  • the receiving unit 721 is further configured to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
  • the proxy device 700 is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
  • NAT Network Address Translation
  • the first message has a CoAP option defined for the delegation indication.
  • Fig. 10 is a schematic diagram of a CoAP Compliant EP device 800 according to an embodiment of the disclosure.
  • the CoAP Compliant EP device 800 includes a transceiver 810 for communicating with other entities such as a proxy device.
  • the CoAP Compliant EP device 800 further includes an arrangement 820 for implementing the method described above with reference to Fig. 5.
  • the CoAP Compliant EP device 800 may further comprise one or more memories 830 and one or more further functional units 840, such as a functional unit for sensing environmental parameters.
  • the arrangement 820 can be implemented, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 5.
  • the arrangement 820 may be implemented and/or described as follows.
  • the CoAP Compliant EP device 800 includes a transmitting unit 821 configured to transmit a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the transmitting unit 821 is further configured to: transmit a second message destined to the remote device over the connection path.
  • the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
  • Fig. 9 shows an embodiment of an arrangement 900 which may be used in the proxy device 700.
  • the arrangement 900 includes a processor 910, e.g., a Digital Signal Processor (DSP).
  • DSP Digital Signal Processor
  • the processor 910 may be a single unit or a plurality of units to perform different actions of procedures described herein.
  • arrangement 900 may also comprise an input/output unit 930 for
  • the arrangement 900 includes at least one computer program product 920 in the form of a non-volatile or volatile memory, e.g., an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory and a hard drive.
  • the computer program product 920 includes a computer program 940, which includes code/computer readable instructions, which when executed by the processor 910 in the arrangement 900 causes the arrangement 900 and/or the proxy device 700 in which it is included to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 2.
  • the computer program product 940 may be configured as a computer program code structured in computer program modules 940A - 940B.
  • the code in the computer program of the arrangement 900 includes a receiving module 940A for receiving from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive.
  • the code in the computer program of the arrangement 900 further includes a transmitting module 940B for transmitting one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the computer program modules could essentially perform the actions of the flow illustrated in Fig. 5, to emulate the arrangement 720 in the proxy device 700.
  • the different computer program modules when executed in the processor 910, they may correspond, e.g., to the units 721 - 725 of Fig. 7.
  • Fig. 10 shows an embodiment of an arrangement 1000 which may be used in the CoAP Compliant EP device 800.
  • the arrangement 1000 includes a processor 1010, e.g., a Digital Signal Processor (DSP).
  • the processor 1010 may be a single unit or a plurality of units to perform different actions of procedures described herein.
  • the arrangement 1000 may also comprise an input/output unit 1030 for receiving/sending signal from/to other entities.
  • DSP Digital Signal Processor
  • the arrangement 1000 includes at least one computer program product 1020 in the form of a non-volatile or volatile memory, e.g. , an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory and a hard drive.
  • the computer program product 1020 includes a computer program 1040, which includes code/computer readable instructions, which when executed by the processor 1010 in the arrangement 1000 causes the arrangement 1000 and/or the CoAP Compliant EP device 800 in which it is included to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 5.
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • the computer program product 1040 may be configured as a computer program code structured in a computer program module 1040A.
  • the code in the computer program of the arrangement 1000 includes a transmitting module 1040A for transmitting a first message destined to the remote device over the connection path.
  • the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
  • the computer program modules could essentially perform the actions of the flow illustrated in Fig. 5, to emulate the arrangement 820 in the CoAP Compliant EP device 800. In other words, when the computer program module is executed in the processor 1010, they may correspond, e.g., to the unit 821 of Fig. 8.
  • code means in the embodiments disclosed above in conjunction with Figs. 9 and 10 are implemented as computer program modules which when executed in the processing unit causes the device to perform the actions described above in conjunction with the figures mentioned above, at least one of the code means may in alternative embodiments be implemented at least partly as hardware circuits.
  • the processor may be a single CPU (Central processing unit), but could also comprise two or more processing units.
  • the processor may include general purpose microprocessors; instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific
  • the processor may also comprise board memory for caching purposes.
  • the computer program may be carried by a computer program product connected to the processor.
  • the computer program product may comprise a computer readable storage medium on which the computer program is stored.
  • the computer program product may be a flash memory, a Random-access memory (RAM), a Read-Only Memory (ROM), or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories.

Abstract

The disclosure provides a method (200) performed by a proxy device. The proxy device is in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path. The method comprises: receiving (S210) from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmitting (S220) one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.

Description

METHOD FOR KEEPING CONNECTION PATH ALIVE, PROXY DEVICE
AND CoAP COMPLIANT END POINT DEVICE
TECHNICAL FIELD
The disclosure generally relates to communications technology, and more particularly, to a method for keeping a connection path alive, a proxy device and a Constrained Application Protocol (CoAP) compliant End Point (EP) device, as well as associated computer programs and computer program products. BACKGROUND
Network Address Translation (NAT) and stateful firewall functions require an outbound message, i.e., from a private address to a public address, in order to create a state necessary for bidirectional communications. Thus, an EP device in a public Internet (referred to as "public EP" hereinafter) cannot communicate with another EP device behind a NAT or stateful firewall function (referred to as "private EP" hereinafter) before the private EP sends traffic to the public EP.
Fig. 1 shows an exemplary scenario. In Fig. 1 , a private EP 1 10, which can be e.g., a humidity sensor, is connected to a border router 120 and is behind a NAT/firewall 130. Before a public EP 150 (e.g., a public server) over a public network 140 can send any message (i.e., inbound message) to the private EP 1 10 through the NAT/firewall 130, the private EP 1 10 needs to send, via the router 120 a message (i.e., outbound message) destined to the public EP 150 through the NAT/firewall 130 first. This creates a connection path for bidirectional communications between the private EP 1 10 and the public EP 150, such that the public EP 150 can send messages (e.g., for retrieving humidity information) to the private EP 1 10 through the NAT/firewall 130.
The connection path is typically controlled by the NAT/firewall 130 in a
timer-based manner. That is, a timer is set at the NAT/firewall 130 for the connection path once the connection path has been established. If no
communication occurs over the connection path for a given time period, the timer expires and the connection path will be disabled. Once the connection path has been disabled, any traffic from the public EP 150 cannot get through the
NAT/firewall 130 until the connection path is re-established by an outbound message. RFC 7252 discloses a Constrained Application Protocol (CoAP). It is proposed in RFC 7252 that a CoAP EP behind a NAT can keep sending outbound traffic to keep the NAT binding alive. However, such keep-alive traffic consumes resources on the CoAP EP, which are, by definition, very limited.
There is thus a need for an improved solution for keeping such connection path alive in a more efficient way. SUMMARY
It is an object of the disclosure to provide a method, a proxy device and a CoAP compliant EP device, as well as associated computer programs and computer program products, capable of keeping a connection path alive in a more efficient way.
According to a first aspect of the disclosure, a method performed by a proxy device is provided. The proxy device is in a connection path having been established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path. The method comprises: receiving from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and
transmitting one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
In an embodiment, the method further comprises: filtering any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device. In an embodiment, the step of filtering comprises: receiving a message destined to the CoAP compliant EP device from the remote device; determining that the message is responsive to one of the keep-alive messages; and discarding the message.
In an embodiment, the method further comprises: refraining from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
In an embodiment, the method further comprises: receiving from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
In an embodiment, the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
In an embodiment, the first message has a CoAP option defined for the delegation indication. According to a second aspect of the disclosure, a proxy device is provided. The proxy device is in a connection path established between a Constrained
Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path. The proxy device comprises: a receiving unit configured to receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and a transmitting unit configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device. In an embodiment, the proxy device further comprises: a filtering unit configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device. In an embodiment, the filtering unit is configured to: receive a message destined to the CoAP compliant EP device from the remote device; determine that the message is responsive to one of the keep-alive messages; and discard the message. In an embodiment, the transmitting unit is further configured to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
In an embodiment, the receiving unit is further configured to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
In an embodiment, the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
In an embodiment, the first message has a CoAP option defined for the delegation indication.
According to a third aspect of the disclosure, a proxy device is provided. The proxy device is in a connection path established between a Constrained
Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path. The proxy device comprises a transceiver, a processor and a memory. Said memory comprises instructions executable by said processor whereby said proxy device is operative to: receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
In an embodiment, said memory further comprises instructions executable by said processor whereby said proxy device is operative to: filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
In an embodiment, said filtering comprising: receiving a message destined to the CoAP compliant EP device from the remote device; determining that the message is responsive to one of the keep-alive messages; and discarding the message.
In an embodiment, said memory further comprises instructions executable by said processor whereby said proxy device is operative to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
In an embodiment, said memory further comprises instructions executable by said processor whereby said proxy device is operative to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
In an embodiment, the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
In an embodiment, the first message is has a CoAP option defined for the delegation indication.
According to a fourth aspect of the disclosure, a computer program is provided. The computer program comprises computer readable instructions which, when run on a proxy device in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, cause the proxy device to: receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device. According to a fifth aspect of the disclosure, a computer program product is provided. The computer program product comprises computer readable storage means storing the computer program according to the above fourth aspect.
According to a sixth aspect of the disclosure, a method performed by a
Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive is provided. The connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path. The method comprises: transmitting a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the method further comprises: transmitting a second message destined to the remote device over the connection path. The second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
According to a seventh aspect of the disclosure, a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive is provided. The connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path. The CoAP compliant EP device comprises: a transmitting unit configured to transmit a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the transmitting unit is further configured to: transmit a second message destined to the remote device over the connection path. The second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
According to an eighth aspect of the disclosure, a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive is provided. The connection path has been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path. The CoAP compliant EP device comprises a transceiver, a processor and a memory. Said memory comprises instructions executable by said processor whereby said CoAP compliant EP device is operative to: transmit a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device. In an embodiment, said memory further comprises instructions executable by said processor whereby said CoAP compliant EP device is operative to: transmit a second message destined to the remote device over the connection path. The second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
According to a ninth aspect of the disclosure, a computer program is provided. The computer program comprises computer readable instructions which, when run on a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, cause the CoAP compliant EP device to: transmit a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
According to a tenth aspect of the disclosure, a computer program product is provided. The computer program product comprises computer readable storage means storing the computer program according to the above ninth aspect.
With the embodiments of the disclosure, in a connection path established between a CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, a proxy device receives from the CoAP compliant EP device a message including a delegation indication to keep the connection path alive and then transmits one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device. In this way, the EP device can delegate the task of transmitting keep-alive traffic to the proxy device (e.g., a border router). The resource consumption at the EP device can be reduced. The network resources between the EP device and the border router can be saved accordingly. This is particularly advantageous when a large number of EP devices are connected to the border router.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages will be more apparent from the following description of embodiments with reference to the figures, in which:
Fig. 1 is a schematic diagram showing an exemplary scenario where the disclosure can be applied;
Fig. 2 is a flowchart illustrating a method for keeping a connection path alive according to an embodiment of the disclosure;
Fig. 3 is a schematic diagram showing a message format that can be used in the method of Fig. 2; is a schematic diagram showing a field format for a new
option;
is a flowchart illustrating another method for keeping a connection path alive according to an embodiment of the disclosure;
is a sequence chart showing a process for keeping a
connection path alive according to an embodiment of the disclosure;
is a schematic diagram of a proxy device according to an embodiment of the disclosure;
is a schematic diagram of a CoAP compliant EP device according to an embodiment of the disclosure; and
is a schematic diagram of an arrangement that can be used in a proxy device according to an embodiment of the disclosure; and
is a schematic diagram of an arrangement that can be used in a CoAP compliant EP device according to an embodiment of the disclosure. DETAILED DESCRIPTION
The embodiments of the disclosure will be detailed below with reference to the drawings. It should be noted that the following embodiments are illustrative only, rather than limiting the scope of the disclosure. Fig. 2 is a flowchart illustrating a method 200 for keeping a connection path alive according to an embodiment of the disclosure. The method 200 can be performed by a proxy device in the connection path. The proxy device can be a border router (e.g., the border router 120 in Fig. 1 ). The connection path has been established between a CoAP compliant EP device (e.g., the private EP 1 10 in Fig. 1 ) and a remote device (e.g., the public EP 150 in Fig. 1 ) via an intermediate device that controls the connection path. The intermediate device can be a device hosting a NAT function and/or a firewall function (e.g., the NAT/firewall 130 in Fig. 1 ). The method 200 includes the following steps. At step S210, the proxy device receives a first message from the CoAP compliant
EP device. The first message is destined to the remote device and includes a delegation indication to keep the connection path alive. In an example, the first message can have a CoAP option defined for the delegation indication. Fig. 3 shows an exemplary format of the first message. The message includes a new option for the delegation indication. For example, the new option can have an option number of 62 and can have a field format as shown in Fig. 4. For details of the other fields shown in Fig. 3, reference can be made to RFC 7252 and the description thereof will be omitted here.
At step S220, the proxy device transmits one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In particular, upon receiving the first message including the delegation indication, the proxy device stores the source address (i.e., the address of the CoAP compliant EP device) and destination address (i.e., the address of the remote device) of the first message and then starts transmitting keep-alive messages to the remote device on behalf of the CoAP compliant EP device. Each keep-alive message has the address of the CoAP compliant EP device as its source address and the address of the remote device as its destination address.
In an example, the keep-alive messages can be transmitted at intervals shorter than an expiration value of the timer at the intermediate device, such that the timer at the intermediate device can be reset before expiration, thereby keeping the connection path constantly alive. The transmission interval for the keep-alive message can be e.g., 30 seconds or 60 seconds. In an example, each keep-alive message can be a Confirmable (CON) message with empty payload. Upon receiving such CON message, the remote will respond with a Reset (RST) message, which does not need to be received by the CoAP compliant EP device. Hence, preferably, the proxy device can filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device. In particular, upon receiving a message (e.g., RST message) destined to the CoAP compliant EP device from the remote device, the proxy device determines whether or not the message is responsive to a keep-alive message transmitted on behalf of the CoAP compliant EP device. For example, a CON message and a RST message responsive to the CON message may have the same message ID. Accordingly, when the message ID of the received RST message is identical to that of the transmitted CON message, the proxy device can determine that the RST message is responsive to the CON message and is thus unnecessary to be forwarded to the CoAP compliant EP device. In this case, the proxy device can simply discard the RST message, without forwarding it to the CoAP compliant EP device.
In an example, such delegation may expire when no delegation indication has been received for a predetermined time period. When the delegation expires, the proxy device will refrain from transmitting any further keep-alive messages.
Alternatively or additionally, the CoAP compliant EP device can send a second message to explicitly terminate the delegation. The second message can be destined to the remote device and can include an indication to stop keeping the connection path alive. For example, the second message may include another new option (e.g., option number 63) for delegation termination. Once the proxy device receives the second message, it will refrain from transmitting any further keep-alive messages. Fig. 5 is a flowchart illustrating another method 500 for keeping a connection path alive according to an embodiment of the disclosure. The method 500 can be performed by a CoAP compliant EP device (e.g., the private EP 1 10 in Fig. 1 ). The connection path has been established between a CoAP compliant EP device and a remote device (e.g., the public EP 150 in Fig. 1 ) via an intermediate device that controls the connection path. The intermediate device can be a device hosting a NAT function and/or a firewall function (e.g., the NAT/firewall 130 in Fig.
1 ).
The method 500 includes a step S510 where the CoAP compliant EP device transmitting a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an example, the method 500 may further include a step of transmitting a second message destined to the remote device over the connection path. The second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
The first and second messages have been described above in connection with Fig. 2 and the details thereof will be omitted here.
The above methods 200 and 500 will be described in further detail with reference to Fig. 6, which is a sequence chart showing a process for keeping a connection path alive according to an embodiment of the disclosure.
At 6.1 , a CoAP EP 1 10 sends a CoAP Acknowledgement (ACK) message destined to a remote EP 150 via the border router 120, possibly in response to a previous CoAP GET message from the remote EP 150. For example, the CoAP EP 1 10 can be a humidity sensor, the remote EP can be a public server and the CoAP GET message may request humidity information from the CoAP EP 1 10. The CoAP ACK message includes the requested humidity information and also a delegation indication (e.g., option number 62). The border router 120 detects the delegation indication in the CoAP ACK message and routes the message towards the remote EP 150.
At 6.2, the border router 120 sends, as a keep-alive message, a CoAP GET CON message with empty payload to the remote EP 150 on behalf of the CoAP EP 1 10 (i.e., the CoAP GET CON message has the address of the CoAP EP 1 10 as its source address). At 5.3, the border router 120 receives a CoAP RST message in return. The border router 120 determines that the CoAP RST message is responsive to the CoAP GET CON message sent at 6.3 and thus simply discards it, without forwarding it to the CoAP EP 1 10. The steps 6.2 and 6.3 repeat at 6.4 and 6.5 to keep the connection path between the CoAP EP 1 10 and the remote EP 150 alive, such that the remote EP 150 can send a CoAP GET message at 6.6, e.g., for requesting humidity information. At 6.7, the CoAP EP 1 10 responds with a CoAP ACK message including the requested humidity information. If the CoAP EP 1 10 decides to terminate the delegation at this time, it can include a delegation termination indication (e.g., option number 63) in the CoAP ACK message sent at 6.7. Alternatively, the delegation may be terminated when no delegation indication has been received for a predetermined time period.
Fig. 7 is a schematic diagram of a proxy device 700 according to an embodiment of the disclosure.
As shown in Fig. 7, the proxy device 700 includes a transceiver 710 for communicating with other entities such as a CoAP compliant EP device and an intermediate device hosting NAT/firewall functions. The proxy device 700 further includes an arrangement 720 for implementing the method described above with reference to Fig. 2. The proxy device 700 may further comprise one or more memories 730 and one or more further functional units 740, such as a functional unit for routing messages.
The arrangement 720 can be implemented, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 2. The arrangement 720 may be implemented and/or described as follows.
Referring to Fig. 7, the proxy device 700 includes a receiving unit 721 configured to receive from the CoAP compliant EP device a first message destined to the remote device. The first message includes a delegation indication to keep the connection path alive.
The proxy device 700 further includes a transmitting unit 722 configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device. In an embodiment, the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
In an embodiment, the proxy device 700 further comprises a filtering unit (not shown) configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
In an embodiment, the filtering unit is configured to: receive a message destined to the CoAP compliant EP device from the remote device; determine that the message is responsive to one of the keep-alive messages; and discard the message.
In an embodiment, the transmitting unit 722 is further configured to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
In an embodiment, the receiving unit 721 is further configured to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
In an embodiment, the proxy device 700 is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
In an embodiment, the first message has a CoAP option defined for the delegation indication.
Fig. 10 is a schematic diagram of a CoAP Compliant EP device 800 according to an embodiment of the disclosure.
As shown in Fig. 8, the CoAP Compliant EP device 800 includes a transceiver 810 for communicating with other entities such as a proxy device. The CoAP Compliant EP device 800 further includes an arrangement 820 for implementing the method described above with reference to Fig. 5. The CoAP Compliant EP device 800 may further comprise one or more memories 830 and one or more further functional units 840, such as a functional unit for sensing environmental parameters.
The arrangement 820 can be implemented, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 5. The arrangement 820 may be implemented and/or described as follows. Referring to Fig. 8, the CoAP Compliant EP device 800 includes a transmitting unit 821 configured to transmit a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
In an embodiment, the transmitting unit 821 is further configured to: transmit a second message destined to the remote device over the connection path. The second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
Fig. 9 shows an embodiment of an arrangement 900 which may be used in the proxy device 700. The arrangement 900 includes a processor 910, e.g., a Digital Signal Processor (DSP). The processor 910 may be a single unit or a plurality of units to perform different actions of procedures described herein. The
arrangement 900 may also comprise an input/output unit 930 for
receiving/sending signal from/to other entities. Furthermore, the arrangement 900 includes at least one computer program product 920 in the form of a non-volatile or volatile memory, e.g., an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory and a hard drive. The computer program product 920 includes a computer program 940, which includes code/computer readable instructions, which when executed by the processor 910 in the arrangement 900 causes the arrangement 900 and/or the proxy device 700 in which it is included to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 2.
The computer program product 940 may be configured as a computer program code structured in computer program modules 940A - 940B.
Hence, in an exemplifying embodiment, the code in the computer program of the arrangement 900 includes a receiving module 940A for receiving from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive. The code in the computer program of the arrangement 900 further includes a transmitting module 940B for transmitting one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
The computer program modules could essentially perform the actions of the flow illustrated in Fig. 5, to emulate the arrangement 720 in the proxy device 700. In other words, when the different computer program modules are executed in the processor 910, they may correspond, e.g., to the units 721 - 725 of Fig. 7.
Fig. 10 shows an embodiment of an arrangement 1000 which may be used in the CoAP Compliant EP device 800. The arrangement 1000 includes a processor 1010, e.g., a Digital Signal Processor (DSP). The processor 1010 may be a single unit or a plurality of units to perform different actions of procedures described herein. The arrangement 1000 may also comprise an input/output unit 1030 for receiving/sending signal from/to other entities.
Furthermore, the arrangement 1000 includes at least one computer program product 1020 in the form of a non-volatile or volatile memory, e.g. , an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory and a hard drive. The computer program product 1020 includes a computer program 1040, which includes code/computer readable instructions, which when executed by the processor 1010 in the arrangement 1000 causes the arrangement 1000 and/or the CoAP Compliant EP device 800 in which it is included to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 5.
The computer program product 1040 may be configured as a computer program code structured in a computer program module 1040A.
Hence, in an exemplifying embodiment, the code in the computer program of the arrangement 1000 includes a transmitting module 1040A for transmitting a first message destined to the remote device over the connection path. The first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device. The computer program modules could essentially perform the actions of the flow illustrated in Fig. 5, to emulate the arrangement 820 in the CoAP Compliant EP device 800. In other words, when the computer program module is executed in the processor 1010, they may correspond, e.g., to the unit 821 of Fig. 8. Although the code means in the embodiments disclosed above in conjunction with Figs. 9 and 10 are implemented as computer program modules which when executed in the processing unit causes the device to perform the actions described above in conjunction with the figures mentioned above, at least one of the code means may in alternative embodiments be implemented at least partly as hardware circuits.
The processor may be a single CPU (Central processing unit), but could also comprise two or more processing units. For example, the processor may include general purpose microprocessors; instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific
Integrated Circuit (ASICs). The processor may also comprise board memory for caching purposes. The computer program may be carried by a computer program product connected to the processor. The computer program product may comprise a computer readable storage medium on which the computer program is stored. For example, the computer program product may be a flash memory, a Random-access memory (RAM), a Read-Only Memory (ROM), or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories.
The disclosure has been described above with reference to embodiments thereof. It should be understood that various modifications, alternations and additions can be made by those skilled in the art without departing from the spirits and scope of the disclosure. Therefore, the scope of the disclosure is not limited to the above particular embodiments but only defined by the claims as attached.

Claims

A method (200) performed by a proxy device in a connection path, the connection path having been established between a
Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, the method comprising:
receiving (S210) from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and
transmitting (S220) one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
The method (200) of claim 1 , wherein the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
The method (200) of claim 1 or 2, further comprising:
filtering any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
The method (200) of claim 3, wherein said filtering comprising: receiving a message destined to the CoAP compliant EP device from the remote device;
determining that the message is responsive to one of the keep-alive messages; and
discarding the message.
The method (200) of any of claims 1-4, further comprising:
refraining from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
The method (200) of any of claims 1 -4, further comprising:
receiving from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
The method (200) of any of claims 1 -6, wherein the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
The method (200) of claim 7, wherein the first message has a CoAP option defined for the delegation indication.
A proxy device (700) in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, the proxy device comprising:
a receiving unit (721 ) configured to receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and
a transmitting unit (722) configured to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
The proxy device (700) of claim 9, wherein the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
The proxy device (700) of claim 9 or 10, further comprising:
a filtering unit configured to filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device. The proxy device (700) of claim 1 1 , wherein the filtering unit is configured to:
receive a message destined to the CoAP compliant EP device from the remote device;
determine that the message is responsive to one of the keep-alive messages; and
discard the message.
The proxy device (700) of any of claims 9-12, wherein the transmitting unit (722) is further configured to:
refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
The proxy device (700) of any of claims 9-12, wherein the receiving unit (721 ) is further configured to:
receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
The proxy device (700) of any of claims 9-14, wherein the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
The proxy device (700) of claim 15, wherein the first message has a CoAP option defined for the delegation indication.
A proxy device (700) in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, the proxy device comprising a transceiver (710), a processor (720) and a memory (730), said memory (730) comprising instructions executable by said processor (720) whereby said proxy device (700) is operative to: receive from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the connection path will not be disabled due to timer expiry at the intermediate device.
The proxy device (700) of claim 17, wherein the keep-alive messages are transmitted at intervals shorter than an expiration value of the timer at the intermediate device.
The proxy device (700) of claim 17 or 18, wherein said memory (730) further comprises instructions executable by said processor (720) whereby said proxy device (700) is operative to:
filter any message responsive to any of the keep-alive messages, without forwarding to the CoAP compliant EP device.
The proxy device (700) of claim 19, wherein said filtering comprising:
receiving a message destined to the CoAP compliant EP device from the remote device;
determining that the message is responsive to one of the keep-alive messages; and
discarding the message.
The proxy device (700) of any of claims 17-20, wherein said memory (730) further comprises instructions executable by said processor (720) whereby said proxy device (700) is operative to: refrain from transmitting any further keep-alive messages when no delegation indication has been received for a predetermined time period.
The proxy device (700) of any of claims 17-20, wherein said memory (730) further comprises instructions executable by said processor (720) whereby said proxy device (700) is operative to: receive from the CoAP compliant EP device a second message destined to the remote device, the second message including an indication to stop keeping the connection path alive.
The proxy device (700) of any of claims 17-22, wherein the proxy device is a border router and the intermediate device hosts a Network Address Translation (NAT) function and/or a firewall function.
The proxy device (700) of claim 23, wherein the first message has a CoAP option defined for the delegation indication.
A computer program (940) comprising computer readable instructions which, when run on a proxy device in a connection path established between a Constrained Application Protocol (CoAP) compliant End Point (EP) device and a remote device via an intermediate device that controls the connection path, cause the proxy device to:
receive (940A) from the CoAP compliant EP device a first message destined to the remote device, the first message including a delegation indication to keep the connection path alive; and
transmit (940B) one or more keep-alive messages to the remote device via the intermediate device over the connection path on behalf of the CoAP compliant EP device, such that the
connection path will not be disabled due to timer expiry at the intermediate device.
A computer program product (920) comprising computer readable storage means storing the computer program (940) according to claim 25.
A method (500) performed by a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, the method comprising:
transmitting (S510) a first message destined to the remote device over the connection path,
wherein the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
28. The method (500) of claim 27, further comprising:
transmitting a second message destined to the remote device over the connection path,
wherein the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
29. A Constrained Application Protocol (CoAP) compliant End Point (EP) device (800) for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, the CoAP compliant EP device comprising:
a transmitting unit (821 ) configured to transmit a first message destined to the remote device over the connection path, wherein the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
30. The CoAP compliant EP device (800) of claim 29, wherein the transmitting unit is further configured to:
transmit a second message destined to the remote device over the connection path,
wherein the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
31 . A Constrained Application Protocol (CoAP) compliant End Point (EP) device (800) for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, the CoAP compliant EP device comprising a transceiver (810), a processor (820) and a memory (830), said memory (830) comprising instructions executable by said processor (820) whereby said CoAP compliant EP device (800) is operative to:
transmit a first message destined to the remote device over the connection path,
wherein the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
32. The CoAP compliant EP device (800) of claim 31 , wherein said memory (830) further comprises instructions executable by said processor (820) whereby said CoAP compliant EP device (800) is operative to:
transmit a second message destined to the remote device over the connection path,
wherein the second message includes an indication to the proxy device to refrain from transmitting any further keep-alive messages.
A computer program (1040) comprising computer readable instructions which, when run on a Constrained Application Protocol (CoAP) compliant End Point (EP) device for keeping a connection path alive, the connection path having been established between the CoAP compliant EP device and a remote device via an intermediate device that controls the connection path, cause the CoAP compliant EP device to:
transmit (1040A) a first message destined to the remote device over the connection path, wherein the first message includes a delegation indication to a proxy device in the connection path to transmit one or more keep-alive messages to the remote device via the intermediate device over the connection path, such that the connection path will not be disabled due to timer expiry at the intermediate device.
34. A computer program product (1020) comprising computer
readable storage means storing the computer program (1040) according to claim 33.
PCT/SE2016/050097 2016-02-09 2016-02-09 Method for keeping connection path alive, proxy device and coap compliant end point device WO2017138850A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050097 WO2017138850A1 (en) 2016-02-09 2016-02-09 Method for keeping connection path alive, proxy device and coap compliant end point device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050097 WO2017138850A1 (en) 2016-02-09 2016-02-09 Method for keeping connection path alive, proxy device and coap compliant end point device

Publications (1)

Publication Number Publication Date
WO2017138850A1 true WO2017138850A1 (en) 2017-08-17

Family

ID=59563926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2016/050097 WO2017138850A1 (en) 2016-02-09 2016-02-09 Method for keeping connection path alive, proxy device and coap compliant end point device

Country Status (1)

Country Link
WO (1) WO2017138850A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111448788A (en) * 2017-10-18 2020-07-24 思杰系统有限公司 SS L optimized method of tracking SS L session state for SAAS-based applications
WO2022114562A1 (en) * 2020-11-27 2022-06-02 삼성전자 주식회사 Electronic device and operation method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083000A1 (en) * 2006-01-20 2007-07-26 Teliasonera Ab Method for maintaining connection in telecommunications system and telecommunications system
US20080159163A1 (en) * 2006-12-29 2008-07-03 Nokia Corporation Communications control
US20120284385A1 (en) * 2011-05-06 2012-11-08 Richard Thomas Kavanaugh Method and apparatus for management of network communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083000A1 (en) * 2006-01-20 2007-07-26 Teliasonera Ab Method for maintaining connection in telecommunications system and telecommunications system
US20080159163A1 (en) * 2006-12-29 2008-07-03 Nokia Corporation Communications control
US20120284385A1 (en) * 2011-05-06 2012-11-08 Richard Thomas Kavanaugh Method and apparatus for management of network communications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111448788A (en) * 2017-10-18 2020-07-24 思杰系统有限公司 SS L optimized method of tracking SS L session state for SAAS-based applications
CN111448788B (en) * 2017-10-18 2021-05-11 思杰系统有限公司 Method for tracking SSL session state for SSL optimization of SAAS-based applications
WO2022114562A1 (en) * 2020-11-27 2022-06-02 삼성전자 주식회사 Electronic device and operation method thereof

Similar Documents

Publication Publication Date Title
US8751669B2 (en) Method and arrangement to maintain a TCP connection
EP3188450B1 (en) Reducing false alarms when using network keep-alive messages
US10587734B2 (en) Method for operating a software defined network and a software defined network
CN109412946B (en) Method, device, server and readable storage medium for determining back source path
EP3245774B1 (en) Hardware tcp accelerator
US20160241664A1 (en) Method, device, and system for redirecting data by using service proxy
JP2005287045A (en) Method for discovery of device connected to ip network and device to carry out the method
US20130067102A1 (en) Gateway and a method therein for enabling sip communication over a non-standard sip transport protocol
CN106789993B (en) TCP agent method and device
US20210044678A1 (en) Optimized quic fallback on access networks and endpoints
US11516294B2 (en) Switch device, monitoring method and monitoring program
WO2017138850A1 (en) Method for keeping connection path alive, proxy device and coap compliant end point device
KR101109608B1 (en) Internet listener/publisher
KR20180059386A (en) Delegation server for connecting a plurality of lpwa devices to common cloud
US9973580B2 (en) State-based intercept of interactive communications network connections for provision of targeted, status-based messaging
US20100023620A1 (en) Access controller
US10594503B2 (en) Device and method for managing subscriptions to multicast transmissions
JP4752722B2 (en) Packet transfer apparatus and packet transfer method
WO2015167375A1 (en) Method and tcp proxy for supporting communication between a client device and a server node
CN117081990B (en) MPLS flow agent method, system, equipment and storage medium
JP2019103118A (en) Communication relay device, communication relay program, and communication relay method
Bellis et al. DNS Stateful Operations
CN111149338B (en) Consolidate for communication device
CN115695301A (en) Method and device for sending message to be transmitted, storage medium and electronic device
Bellis et al. RFC 8490: DNS Stateful Operations

Legal Events

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

Ref document number: 16890028

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16890028

Country of ref document: EP

Kind code of ref document: A1