Receiving and transmitting COAP messages

By including time indication values ​​in the header field of the CoAP message, the problem of time synchronization in CoAP communication is solved, reducing message overhead and improving latency monitoring capabilities.

CN119999174APending Publication Date: 2025-05-13TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280100519.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-09-28
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

There is a problem that time synchronization is difficult to achieve in CoAP communication, especially in scenarios with low latency requirements, where the prior art time synchronization solutions are costly and inefficient.

Method used

By including time indication values ​​in the header field of the CoAP message, the receiver and transmitter can evaluate network delay or load, generate updated time indication values, and transmit them in the message, thereby improving time synchronization.

Benefits of technology

The message overhead of time synchronization is reduced, the monitoring capability of network delay and processing time is improved, and the low-latency time synchronization in CoAP communication is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119999174A_ABST
    Figure CN119999174A_ABST
Patent Text Reader

Abstract

A receiver (110), a transmitter (120), a method, a computer program and a computer program product are disclosed. A receiver (110) in a network (100) is configured to receive a first restricted application protocol, CoAP, message, the receiver (110) receiving the first CoAP message from a transmitter (120) in the network (100), the first CoAP message comprising a modified header field indicating a time indication value, where the time indication value is generated by the transmitter (120); and evaluating a network delay or a network load based on the time indication value. A transmitter, a method, a computer program and a computer readable storage medium are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a receiver for receiving a Constrained Application Protocol CoAP message, a transmitter for providing a CoAP message including a header, a corresponding method, a corresponding computer program, and a corresponding computer-readable storage medium. Background Art

[0002] Constrained Application Protocol CoAP is a general purpose representational state transfer REST application protocol for constrained devices such as IoT devices. CoAP is designed to be used on transport layer protocols (e.g., User Datagram Protocol (UDP) or Transmission Control Protocol (TCP)) on the Internet. According to Internet Engineering Task Force IETF Request for Comments RFC 7252, CoAP uses a short fixed-length binary header and payload of 4 bytes, such as those shown in Table 1.

[0003]

[0004] Table 1: CoAP messages

[0005] CoAP is primarily but not exclusively designed for UDP transport. UDP transport is unreliable, which causes CoAP request messages and CoAP response messages to eventually arrive out of order, resulting in duplication or loss without notification. To this end, CoAP implements a lightweight reliability mechanism using four different message types, including "confirmable" and "unconfirmable" messages. If the request or response message is confirmable CON, then the request message or response message requires confirmation ACK.

[0006] Applications using CoAP must use dedicated mechanisms for measuring and obtaining time synchronization. In the prior art, time synchronization solutions are implemented in the CoAP payload. Summary of the invention

[0007] It is an object of the present invention to improve time synchronization in CoAP communications, preferably in very low latency requiring communications.

[0008] According to a first aspect of the present invention, a receiver for receiving a first CoAP message in a network is provided. The receiver is configured to receive the first CoAP message from a transmitter in the network, the first CoAP message comprising a modified header field indicating a time indication value, wherein the time indication value is generated by the transmitter. The receiver is configured to evaluate network delay or network load based on the time indication value. One possible advantage is improved time synchronization in CoAP communication. Another possible advantage is reduced overhead. In fact, the time indication value disclosed herein can appear on each message without additional message overhead. Another advantage is improved monitoring of network delay and / or processing time.

[0009] According to an embodiment of the first aspect, the receiver is configured to: generate an updated time indication value; and send a second CoAP message to the transmitter, the second CoAP message comprising a modified header field indicating the updated time indication value.

[0010] According to an embodiment of the first aspect, the modified header field of the first CoAP message is a message identification (MID) header field.

[0011] According to an embodiment of the first aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0012] According to an embodiment of the first aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0013] According to an embodiment of the first aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0014] According to an embodiment of the first aspect, the time indication value corresponds to an amount of time that has elapsed since a common initiation of the session.

[0015] According to an embodiment of the first aspect, the updated time indication value corresponds to an amount of time elapsed since a common initiation of the session.

[0016] According to an embodiment of the first aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0017] According to an embodiment of the first aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0018] According to an embodiment of the first aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0019] According to an embodiment of the first aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0020] According to an embodiment of the first aspect, the time indication value is calculated by a modulo operation on the time indication value.

[0021] According to an embodiment of the first aspect, the receiver is configured to: receive a third CoAP message comprising an option, wherein the option indicates that the time indication value is calculated by a modulo operation.

[0022] According to an embodiment of the first aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0023] According to an embodiment of the first aspect, the updated time indication value is calculated by a modulo operation on the updated time indication value.

[0024] According to an embodiment of the first aspect, the receiver is configured to: send a fourth CoAP message including an option, wherein the option indicates that the time indication value is calculated by a modulo operation.

[0025] According to an embodiment of the first aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

[0026] According to an embodiment of the first aspect, the first CoAP message comprises a request to use the modified header field.

[0027] According to an embodiment of the first aspect, the receiver is configured to: receive a fifth CoAP message including options from the transmitter, wherein the options indicate: a time indication value is used, how to generate the time indication value, and a joint start of a session; and send a sixth CoAP message to the transmitter indicating whether the receiver is using the time indication value in a subsequent message.

[0028] According to an embodiment of the first aspect, the sixth CoAP message is an ACK message, a CoAP response message, or a CoAP request message.

[0029] According to a second aspect of the present invention, there is provided a transmitter in a network for providing a first CoAP message including a header. The transmitter is configured to generate a time indication value. The transmitter is configured to include the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field. The transmitter is configured to send the first CoAP message including the modified header field to a receiver in the network.

[0030] According to an embodiment of the second aspect, the transmitter is configured to: receive a second CoAP message from the receiver, the second CoAP message comprising a modified header field indicating an updated time indication value; and evaluate a network delay or a network load at the receiver based on the updated time indication value.

[0031] According to an embodiment of the second aspect, the modified header field of the first CoAP message is a message identification (MID) header field.

[0032] According to an embodiment of the second aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0033] According to an embodiment of the second aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0034] According to an embodiment of the second aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0035] According to an embodiment of the second aspect, the time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

[0036] According to an embodiment of the second aspect, the updated time indication value corresponds to an amount of time elapsed since the common initiation of the session.

[0037] According to an embodiment of the second aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0038] According to an embodiment of the second aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0039] According to an embodiment of the second aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0040] According to an embodiment of the second aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0041] According to an embodiment of the second aspect, the time indication value is calculated by a modulus operation on the time indication value.

[0042] According to an embodiment of the second aspect, the updated time indication value is calculated by a modulo operation on the time indication value.

[0043] According to an embodiment of the second aspect, the transmitter is configured to: send a third CoAP message including an option to the receiver, wherein the option indicates that the time indication value is calculated by a modulo operation.

[0044] According to an embodiment of the second aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0045] According to an embodiment of the second aspect, the transmitter is configured to: receive from the receiver a fourth CoAP message including an option indicating that the updated time indication value is calculated by a modulo operation.

[0046] According to an embodiment of the second aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

[0047] According to an embodiment of the second aspect, the first CoAP message comprises a request to use the modified header field.

[0048] According to an embodiment of the second aspect, the transmitter is configured to: send a fifth CoAP message including options to the receiver, wherein the options indicate: a time indication value is used, how to generate the time indication value, and the joint start of a session; and receive a sixth CoAP message from the receiver indicating whether the receiver is using the time indication value in a subsequent message.

[0049] According to an embodiment of the second aspect, the sixth CoAP message is an ACK message, a CoAP request message, or a CoAP response message.

[0050] According to a third aspect of the present invention, there is provided a method for receiving a first CoAP message performed by a receiver in a network. The method comprises: receiving the first CoAP message from a transmitter in the network, the first CoAP message comprising a modified header field indicating a time indication value, wherein the time indication value is generated by the transmitter. The method comprises: based on the time indication value, evaluating a network delay or a network load.

[0051] According to an embodiment of the third aspect, the method comprises: generating an updated time indication value; and sending a second CoAP message to the transmitter, the second CoAP message comprising a modified header field indicating the updated time indication value.

[0052] According to an embodiment of the third aspect, the modified header field of the first CoAP message is a message identification (MID) header field.

[0053] According to an embodiment of the third aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0054] According to an embodiment of the third aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0055] According to an embodiment of the third aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0056] According to an embodiment of the third aspect, the time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

[0057] According to an embodiment of the third aspect, the updated time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

[0058] According to an embodiment of the third aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0059] According to an embodiment of the third aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0060] According to an embodiment of the third aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0061] According to an embodiment of the third aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0062] According to an embodiment of the third aspect, the time indication value is calculated by a modulus operation on the time indication value.

[0063] According to an embodiment of the third aspect, the method comprises: receiving a third CoAP message comprising an option indicating that the time indication value is calculated by a modulo operation.

[0064] According to an embodiment of the third aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0065] According to an embodiment of the third aspect, the updated time indication value is calculated by a modulo operation on the updated time indication value.

[0066] According to an embodiment of the third aspect, the method comprises sending a fourth CoAP message comprising an option indicating that the time indication value is calculated by a modulus operation.

[0067] According to an embodiment of the third aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

[0068] According to an embodiment of the third aspect, the first CoAP message comprises a request to use the modified header field.

[0069] According to an embodiment of the third aspect, the method includes: receiving a fifth CoAP message including options from the transmitter, wherein the options indicate: a time indication value is used, how to generate the time indication value, and the joint initiation of a session; and sending a sixth CoAP message to the transmitter indicating whether the receiver is using the time indication value in a subsequent message.

[0070] According to an embodiment of the third aspect, the sixth CoAP message is an ACK message, a CoAP response message, or a CoAP request message.

[0071] According to a fourth aspect of the present invention, there is provided a method for providing a first CoAP message including a header, performed by a transmitter in a network. The method comprises: generating a time indication value. The method comprises: including the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field. The method comprises: sending the first CoAP message including the modified header field to a receiver in the network.

[0072] According to an embodiment of the fourth aspect, the method comprises: receiving a second CoAP message from the receiver, the second CoAP message comprising a modified header field indicating an updated time indication value; and evaluating network delay or network load based on the updated time indication value.

[0073] According to an embodiment of the fourth aspect, the modified header field of the first CoAP message is a message identification (MID) header field.

[0074] According to an embodiment of the fourth aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0075] According to an embodiment of the fourth aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0076] According to an embodiment of the fourth aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0077] According to an embodiment of the fourth aspect, the time indication value corresponds to an amount of time that has elapsed since a common initiation of the session.

[0078] According to an embodiment of the fourth aspect, the updated time indication value corresponds to the amount of time that has elapsed since the common initiation of the session.

[0079] According to an embodiment of the fourth aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0080] According to an embodiment of the fourth aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0081] According to an embodiment of the fourth aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0082] According to an embodiment of the fourth aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0083] According to an embodiment of the fourth aspect, the time indication value is calculated by a modulus operation on the time indication value.

[0084] According to an embodiment of the fourth aspect, the updated time indication value is calculated by a modulo operation on the time indication value.

[0085] According to an embodiment of the fourth aspect, the method comprises: sending a third CoAP message including an option to the receiver, wherein the option indicates that the time indication value is calculated by a modulo operation.

[0086] According to an embodiment of the fourth aspect, the method comprises: receiving, from the receiver, a fourth CoAP message comprising an option indicating that the updated time indication value is calculated by a modulo operation.

[0087] According to an embodiment of the fourth aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0088] According to an embodiment of the fourth aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by modulus operation.

[0089] According to an embodiment of the fourth aspect, the first CoAP message includes a request to use the modified header field.

[0090] According to an embodiment of the fourth aspect, the method includes: sending a fifth CoAP message including options to the receiver, wherein the options indicate: a time indication value is used, how to generate the time indication value, and the joint initiation of a session; and receiving a sixth CoAP message from the receiver indicating whether the receiver is using the time indication value in a subsequent message.

[0091] According to an embodiment of the fourth aspect, the sixth CoAP message is an ACK message, a CoAP request message, or a CoAP response message.

[0092] According to a fifth aspect of the present invention, a computer program is provided. The computer program includes instructions, which, when executed by a receiver in a network for receiving a first CoAP message, cause the receiver to: receive the first CoAP message from a transmitter in the network, the first CoAP message including a modified header field indicating a time indication value, wherein the time indication value is generated by the transmitter. When the instructions are executed, cause the receiver to: evaluate network delay or network load based on the time indication value.

[0093] According to an embodiment of the fifth aspect, the instructions, when executed on the receiver, cause the receiver to: generate an updated time indication value; and send a second CoAP message to the transmitter, the second CoAP message including a modified header field indicating the updated time indication value.

[0094] According to an embodiment of the fifth aspect, the modified header field of the first CoAP message is a message identification (MID) header field.

[0095] According to an embodiment of the fifth aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0096] According to an embodiment of the fifth aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0097] According to an embodiment of the fifth aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0098] According to an embodiment of the fifth aspect, the time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

[0099] According to an embodiment of the fifth aspect, the updated time indication value corresponds to the amount of time that has elapsed since the common initiation of the session.

[0100] According to an embodiment of the fifth aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0101] According to an embodiment of the fifth aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0102] According to an embodiment of the fifth aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0103] According to an embodiment of the fifth aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0104] According to an embodiment of the fifth aspect, the time indication value is calculated by a modulus operation on the time indication value.

[0105] According to an embodiment of the fifth aspect, the instructions, when executed on the receiver, cause the receiver to: receive a third CoAP message including an option, the option indicating that the time indication value is calculated by a modulo operation.

[0106] According to an embodiment of the fifth aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0107] According to an embodiment of the fifth aspect, the updated time indication value is calculated by a modulo operation on the updated time indication value.

[0108] According to an embodiment of the fifth aspect, the instructions, when executed on the receiver, cause the receiver to: send a fourth CoAP message including an option, wherein the option indicates that the time indication value is calculated by a modulo operation.

[0109] According to an embodiment of the fifth aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

[0110] According to an embodiment of the fifth aspect, the first CoAP message includes a request to use the modified header field.

[0111] According to an embodiment of the fifth aspect, the instructions, when executed on the receiver, cause the receiver to: receive a fifth CoAP message including options from the transmitter, the options indicating: a time indication value is used, how to generate the time indication value, and the joint start of a session; and send a sixth CoAP message to the transmitter indicating whether the receiver is using the time indication value in subsequent messages.

[0112] According to an embodiment of the fifth aspect, the sixth CoAP message is an acknowledgment ACK message, a CoAP response message, or a CoAP request message.

[0113] According to a sixth aspect of the present invention, a computer program is provided. The computer program includes instructions, which, when executed by a transmitter in a network for providing a first CoAP message, cause the transmitter to: generate a time indication value. The transmitter is configured to: include the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field. When the instructions are executed, the transmitter causes: to send the first CoAP message including the modified header field to a receiver in the network.

[0114] According to an embodiment of the sixth aspect, the instructions, when executed on the transmitter, cause the transmitter to: receive a second CoAP message from the receiver, the second CoAP message comprising a modified header field indicating an updated time indication value; and based on the updated time indication value, evaluate the network delay or network load at the receiver.

[0115] According to an embodiment of the sixth aspect, the modified header field of the first CoAP message is a message identification MID header field.

[0116] According to an embodiment of the sixth aspect, the modified header field of the second CoAP message is a message identification MID header field.

[0117] According to an embodiment of the sixth aspect, the first CoAP message is a CoAP request message or a CoAP response message.

[0118] According to an embodiment of the sixth aspect, the second CoAP message is a CoAP request message or a CoAP response message.

[0119] According to an embodiment of the sixth aspect, the time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

[0120] According to an embodiment of the sixth aspect, the updated time indication value corresponds to the amount of time that has elapsed since the common initiation of the session.

[0121] According to an embodiment of the sixth aspect, the time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0122] According to an embodiment of the sixth aspect, the updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

[0123] According to an embodiment of the sixth aspect, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0124] According to an embodiment of the sixth aspect, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

[0125] According to an embodiment of the sixth aspect, the time indication value is calculated by a modulus operation on the time indication value.

[0126] According to an embodiment of the sixth aspect, the updated time indication value is calculated by a modulus operation on the time indication value.

[0127] According to an embodiment of the sixth aspect, the instructions, when executed on the transmitter, cause the transmitter to: send a third CoAP message including an option to the receiver, wherein the option indicates that the time indication value is calculated by modulus operation.

[0128] According to an embodiment of the sixth aspect, the first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

[0129] According to an embodiment of the sixth aspect, the instructions, when executed on the transmitter, cause the transmitter to: receive from the receiver a fourth CoAP message including an option indicating that the updated time indication value is calculated by a modulo operation.

[0130] According to an embodiment of the sixth aspect, the second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by modulus operation.

[0131] According to an embodiment of the sixth aspect, the first CoAP message includes a request to use the modified header field.

[0132] According to an embodiment of the sixth aspect, the instruction, when executed on the transmitter, causes the transmitter to: send a fifth CoAP message including options to the receiver, the options indicating: a time indication value is used, how to generate the time indication value, and the joint initiation of a session; and receive a sixth CoAP message from the receiver indicating whether the receiver is using the time indication value in a subsequent message.

[0133] According to an embodiment of the sixth aspect, the sixth CoAP message is an acknowledgment ACK message, a CoAP request message, or a CoAP response message.

[0134] According to a seventh aspect of the present invention, there is provided a computer readable storage medium. The computer readable storage medium comprises a computer program according to any one or more embodiments of the fifth aspect. The computer readable storage medium comprises a computer program according to any one or more embodiments of the sixth aspect.

[0135] The present invention may have one or more of the following advantages.

[0136] As described in the prior art, applications using CoAP must use dedicated mechanisms to measure and obtain time synchronization in very low latency requirement use cases. In the prior art, time synchronization solutions are implemented in the CoAP payload. One disadvantage of the prior art solution is the high messaging, resulting in a high cost to estimate latency on a per-message basis. An advantage of the disclosed invention is reduced overhead.

[0137] One advantage of the present invention is that it reduces overhead. Compared to the prior art CoAP-specific mechanism for measuring and obtaining time synchronization, the present invention can save overhead in each message, where the time indication is carried in the payload. In fact, in the prior art, the time indication (e.g. Unix time is 32 bits) can be added to the payload of the CoAP message. With the invention described herein, the payload can be reduced by the number of bits used to indicate the time indication (e.g. Unix time is 32 bits).

[0138] An advantage of the present invention is that the time indication value is present on every message without additional message overhead.

[0139] One advantage of the present invention is improved monitoring of data flows and server status. For example, if a CoAP message appears to arrive late, it can be determined based on the time indication value in the modified header field whether the transmitter is slow in sending the message (e.g. due to a server delay) or if there is a problem in the network (i.e. the network is slow in message delivery). In particular, the present invention allows knowing whether there has been a retransmission, which can be inferred based on the delay known from the time indication value in the modified header field.

[0140] Although advantages of the invention have in some cases been described with reference to embodiments of the first aspect, corresponding reasoning applies to embodiments of the other aspects of the invention.

[0141] Other objects, features and advantages of the present invention will become apparent when studying the following detailed description, the drawings and the appended claims.Those skilled in the art realize that different features of the present invention can be combined to produce embodiments other than those described in the following. BRIEF DESCRIPTION OF THE DRAWINGS

[0142] The above and additional objects, features and advantages of the present invention will be better understood through the following illustrative and non-limiting detailed description of embodiments of the present invention with reference to the accompanying drawings, in which:

[0143] Figure 1 shows a network according to one embodiment of the present invention;

[0144] Figure 2 A method for receiving a CoAP message performed by a receiver in a network is shown;

[0145] Figure 3 A method performed by a transmitter in a network for sending a CoAP message including a header is shown;

[0146] Figure 4 A block diagram of a receiver for receiving CoAP messages in a network is shown;

[0147] Figure 5 A block diagram of a transmitter in a network for sending a CoAP message including a header is shown;

[0148] Figure 6 A block diagram of a receiver for receiving CoAP messages in a network is shown;

[0149] Figure 7 A block diagram of a transmitter in a network for sending a CoAP message including a header is shown;

[0150] Figure 8 An illustrative example of CoAP messages exchanged between a transmitter and a receiver is shown.

[0151] All the figures are schematic and generally show only parts which are necessary in order to elucidate the invention, wherein other parts may be omitted or merely suggested. DETAILED DESCRIPTION

[0152] The present invention will now be described more fully herein with reference to the accompanying drawings, in which specific embodiments are shown. However, the present invention may be embodied in a variety of different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided by way of example to make this disclosure exhaustive and complete, and to fully convey the scope of the invention to those skilled in the art.

[0153] The invention disclosed herein can be used to improve time synchronization over CoAP.

[0154] A CoAP message includes a header and may include a payload. The header has one or more header fields, as indicated in Table 1. There are four types of CoAP messages: type Confirmable (CON), type Non-Confirmable (NON), type Acknowledgement (ACK), and type Reset (RST), as described in RFC 7252, for example.

[0155] The Message ID (MID) field in the CoAP header is used for reliability. Reliability is provided by marking the message from the client to the server as CON. The CON message is retransmitted using the default timeout and exponential backoff between retransmissions until the receiver (in this case, for example, the server) sends an ACK message with the same MID. In Table 2, an example of reliable transmission is provided. The MID value of the ACK message and the MID value of the CON message both match each other (the MID value in the example of Table 2 is equal to 0x7d34).

[0156]

[0157] Table 2: Reliable CoAP message transport.

[0158] In the event that the server cannot process the CON message (ie, cannot provide an ACK message), the server replies with a RST message instead of an ACK message.

[0159] In this case, messages that do not require reliable transmission (such as every measurement in a sensor data stream) can be sent as NON messages. NON is not acknowledged, but still has a MID for duplicate detection. In Table 3, the MID value of the NON message is set to 0x01a0.

[0160]

[0161] Table 3: Unreliable message transmission.

[0162] In this case, if the server cannot process the NON message, the server may reply with a RST message, the MID value of the RST will then match the MID value of the NON message.

[0163] The implementation of the MID is determined by the developer. In the prior art, the MID is generated as a random number and incremented with each exchange between the CoAP client device and the CoAP server.

[0164] The present invention relates to a transmitter suitable for sending and / or receiving CoAP messages, in which a modified header field of the CoAP message is attached. The present invention relates to a receiver suitable for receiving and / or sending CoAP messages, in which a modified header field of the CoAP message is attached. In one embodiment, the modified header field is a modified MID header field. Preferably, the modified header field is still used for reliability and copy detection. In an illustrative example, the transmitter sends a first CoAP message to which a modified header field is attached; and the receiver sends a second CoAP message to which the same modified header field is attached, and then the second CoAP message sent by the receiver is a copy of the first CoAP message. In other words, the modified header field can be used for copy detection.

[0165] In the present invention, the modified MID header field can also be used as a timestamp. Specifically, the modified MID header includes a time indication value. The modified header field can be referred to as a MID timestamp (MIDt). The time indication value can correspond to the timestamp. The time indication value can correspond to an increment, which can correspond to a time interval from the previous message received and / or sent or from the start of a session, or reflect a delay requirement.

[0166] According to the present invention, a sent or received CoAP message may include a new CoAP option. As shown in Table 1, a CoAP message may include one or more options (see the field "Options (if any)" in Table 1). CoAP defines multiple options that can be included in a message. Each option instance in a message specifies the option number of the defined CoAP option, the length of the option value, and the option value itself. The new CoAP option may be referred to as the CoAP option MIDt. The MIDt CoAP option included in the CoAP message is used to signal that a time indication value is used via CoAP communication. The CoAP option may be used to specify how to generate a time indication value. The CoAP option may be used to request that a receiver of a CoAP message including a new CoAP option also use a modified header field.

[0167] In one embodiment, the CoAP option MIDt is optional. In one embodiment, the CoAP option MIDt may be securely forwarded. In one embodiment, the CoAP option MIDt is not part of a cache-key. In one embodiment, the CoAP option MIDt is not repeatable. In one embodiment, the CoAP option MIDt is used to notify the receiver 110 and / or the transmitter 120 that the exchanged CoAP messages include a modified header field generated to indicate a time indication value.

[0168] The CoAP option MIDt is generated by the receiver 110 or the transmitter 120. In one embodiment, the CoAP option MIDt is included in a CoAP request message, a CoAP response message, or an ACK message. The receiver 110 and / or the transmitter 120 sending the CoAP option MIDt uses their respective current UNIX times.

[0169]

[0170] Table 4: Example of CoAP option MIDt (the numbering of this new CoAP option is still to be determined TBD).

[0171] Annotation legend: C = Critical, U = Unsafe, N = No Cache Key, R = Repeatable.

[0172] In Table 4, an example of CoAP option MIDt is provided. Preferably, CoAP option MIDt includes 5 bytes. Preferably, the content of CoAP option MIDt has 5 bytes per line, and each byte includes 8 bits. In Table 5, a representation of CoAP option MIDt is provided.

[0173]

[0174]

[0175] Table 5: Representation of one embodiment of CoAP option MIDt.

[0176] In one illustrative example, referring to Table 5, the receiver 110 receives a first CoAP message including the CoAP option MIDt. The first CoAP message is sent by the transmitter 120. Non-limiting possible values ​​of the content of the CoAP option MIDt are one or more of the following:

[0177] If the modified header field is not used by either the transmitter 120 or the receiver 110, all bits of all bytes are equal to 0. The transmitter 120 indicates to the receiver 110 that it is not necessary to send a subsequent CoAP message including the modified header field, and if the modified header field is sent by the receiver 110, the transmitter 120 will not process the modified header field.

[0178] - The first bit of the first byte may be used to signal whether the transmitter 120 is using the modified header field in a subsequent message. If the first bit of the first byte is set to 1, the transmitter 120 uses the modified header field in the subsequent message. If the first bit of the first byte is equal to 0 (and at least one bit in the first byte is different than zero), the transmitter 120 does not use the modified header field in the subsequent message.

[0179] - The second bit of the first byte may be used to signal whether the transmitter 120 requests the receiver 110 to use the modified header field. If the second bit of the first byte is set to 1, the receiver 110 is requested to use the modified header field. If the second bit of the first byte is set to 0, the receiver 110 is not requested to use the modified header field.

[0180] - In addition to the first bit, the other 6 bits of the first byte can be used to signal different time implementations of the time indication value, such as but not limited to: 100001 indicates that the time indication value is in milliseconds, 100011 indicates that the time indication value is in seconds, and 000000 indicates that the time indication value adopts the wraparound format described below;

[0181] o If the first bit of the first byte is 1, the transmitter 120 uses the modified header field, and the transmitter 120 uses the time implementation of the time indication value as indicated in the other 6 bits of the first byte;

[0182] o If the second bit of the first byte is 1, the transmitter 120 requests the receiver 110 to use the modified header field and requests to use the time implementation of the time indication value as indicated in the other 6 bits of the first byte.

[0183] If the receiver 110 does not confirm the implementation using the time indication value indicated by the transmitter 120, the receiver 110 may transmit a CoAP message including a CoAP option MIDt indicating another implementation of the time indication value.

[0184] - All bits of the second, third, fourth and fifth bytes of the CoAP option MIDt are reserved for time synchronization.

[0185] In this illustrative example, the bits are numbered from the left, but those skilled in the art will appreciate that the bits may also be numbered from the right.

[0186] In one embodiment, the CoAP option MIDt includes one or more of the following:

[0187] - an indication that the transmitter 120 is to use the modified header field in subsequent CoAP messages;

[0188] - A request that the receiver 110 use the modified header fields in subsequent CoAP messages;

[0189] - Instructions on how to implement the time indication value.

[0190] exist Figure 1 In the present invention, a network 100 according to an embodiment of the present invention is provided. In one embodiment, the network 100 is an Internet of Things (IoT) network. In one embodiment, the network 100 is a CoAP network.

[0191] The network 100 includes a receiver 110 and a transmitter 120. In one embodiment, the receiver 110 includes a client device. In one embodiment, the transmitter 120 includes a server host device. The server host hosts server software. The client device hosts client software. The receiver 110 specified herein may be a CoAP client device. The transmitter 120 described herein may be a CoAP server device. The network 100 may include more than one receiver 110. The network 100 may include more than one transmitter 120. The receiver 110, the transmitter 120, or the network 100, or the receiver 110, the transmitter 120, and the network 100 may all be capable of running a CoAP application. In one embodiment, the receiver 110 may use CoAP multicast to one or more transmitters 120 (e.g., in an 802.15.4 subnet).

[0192] In one embodiment, the receiver 110 is a communication device in the form of an IoT device. The receiver 110 may be a device for one or more application areas including, but not limited to, home, cities, wearable technology, extended reality, industrial applications, and healthcare.

[0193] Examples of IoT devices for a home, office, building, or infrastructure may be a baking scale, coffee maker, grill, refrigerator, cooler, freezer, microwave, oven, toaster, faucet, water heater, sprinkler, sauna, vacuum cleaner, washing machine, dryer, dishwasher, door, window, curtain, blinds, furniture, light bulb, fan, air conditioner, cooler, air purifier, humidifier, speaker, television, laptop, personal computer, game console, remote control, vent, iron, steamer, pressure cooker, stove, electric stove, hair dryer, hair dryer, mirror, printer, scanner, copier, projector, holographic projector, 3D printer, drill, hand dryer, alarm, clock, security camera, smoke alarm, fire alarm, connected doorbell, electronic door lock, lawn mower, thermostat, plug, irrigation control equipment, flood sensor, humidity sensor, motion detector, weather station, electric meter, water meter, and gas meter.

[0194] By way of further example, IoT devices for use in cities, towns, or rural areas may be connected street lighting, connected traffic lights, traffic cameras, connected road signs, air controls / monitors, noise level detectors, traffic congestion monitoring equipment, traffic control equipment, automatic toll payment devices, parking payment devices, sensors for monitoring parking usage, traffic management equipment, digital kiosks, trash bins, air quality monitoring sensors, bridge condition monitoring sensors, fire hydrants, manhole sensors, apron sensors, fountain sensors, connected CCTV, scooters, hoverboards, ticket machines, ticket gates, subway tracks, subway station equipment, passenger information panels, on-board cameras, and other connected devices on public transportation vehicles.

[0195] By way of further example, the communication IoT device may be a wearable device or a device related to extended reality, wherein the device related to extended reality may be a device related to augmented reality, virtual reality, merged reality, or mixed reality. Examples of such IoT devices may be smart bracelets, trackers, tactile gloves, tactile suits, smart watches, clothing, glasses, head-mounted displays, in-ear headphones, activity monitors, fitness monitors, heart rate monitors, finger rings, key trackers, blood glucose meters, and pressure gauges.

[0196] By further example, the IoT device may be an industrial application device, wherein the industrial application device may be an industrial drone, an intelligent industrial robot, a vehicle assembly robot, and an automatic guided vehicle.

[0197] By way of further example, an IoT device may be a transportation vehicle, wherein a transportation vehicle may be a bicycle, a motorcycle, a scooter, a moped, an auto rickshaw, rail transportation, a train, a tram, a bus, a car, a truck, an airplane, a boat, a ship, a ski, a snowboard, a snowmobile, a hoverboard, a skateboard, a roller skate, a freight vehicle, a drone, a robot, a stratospheric aircraft, an aircraft, a helicopter, and a hovercraft.

[0198] By way of further example, IoT devices may be health or fitness devices, wherein the health or fitness devices may be surgical robots, implantable medical devices, non-invasive medical devices, and fixed medical devices, wherein the fixed medical devices may be: in vitro diagnostic devices, radiology devices, diagnostic imaging devices, and x-ray devices.

[0199] In one embodiment, the transmitter 120 is a communication device in the form of an IoT device. The transmitter 120 may be a device for one or more application areas including, but not limited to, home, cities, wearable technology, extended reality, industrial applications, and healthcare.

[0200] Examples of IoT devices for a home, office, building, or infrastructure may be a baking scale, coffee maker, grill, refrigerator, cooler, freezer, microwave, oven, toaster, faucet, water heater, sprinkler, sauna, vacuum cleaner, washing machine, dryer, dishwasher, door, window, curtain, blinds, furniture, light bulb, fan, air conditioner, cooler, air purifier, humidifier, speaker, television, laptop, personal computer, game console, remote control, vent, iron, steamer, pressure cooker, stove, electric stove, hair dryer, hair dryer, mirror, printer, scanner, copier, projector, holographic projector, 3D printer, drill, hand dryer, alarm, clock, security camera, smoke alarm, fire alarm, connected doorbell, electronic door lock, lawn mower, thermostat, plug, irrigation control equipment, flood sensor, humidity sensor, motion detector, weather station, electric meter, water meter, and gas meter.

[0201] By way of further example, IoT devices for use in cities, towns, or rural areas may be connected street lighting, connected traffic lights, traffic cameras, connected road signs, air controls / monitors, noise level detectors, traffic congestion monitoring equipment, traffic control equipment, automatic toll payment devices, parking payment devices, sensors for monitoring parking usage, traffic management equipment, digital kiosks, trash bins, air quality monitoring sensors, bridge condition monitoring sensors, fire hydrants, manhole sensors, apron sensors, fountain sensors, connected CCTV, scooters, hoverboards, ticket machines, ticket gates, subway tracks, subway station equipment, passenger information panels, on-board cameras, and other connected devices on public transportation vehicles.

[0202] By way of further example, the communication IoT device may be a wearable device or a device related to extended reality, wherein the device related to extended reality may be a device related to augmented reality, virtual reality, merged reality, or mixed reality. Examples of such IoT devices may be smart bracelets, trackers, tactile gloves, tactile suits, smart watches, clothing, glasses, head-mounted displays, in-ear headphones, activity monitors, fitness monitors, heart rate monitors, finger rings, key trackers, blood glucose meters, and pressure gauges.

[0203] By further example, the IoT device may be an industrial application device, wherein the industrial application device may be an industrial drone, an intelligent industrial robot, a vehicle assembly robot, and an automatic guided vehicle.

[0204] By way of further example, an IoT device may be a transportation vehicle, wherein a transportation vehicle may be a bicycle, a motorcycle, a scooter, a moped, an auto rickshaw, rail transportation, a train, a tram, a bus, a car, a truck, an airplane, a boat, a ship, a ski, a snowboard, a snowmobile, a hoverboard, a skateboard, a roller skate, a freight vehicle, a drone, a robot, a stratospheric aircraft, an aircraft, a helicopter, and a hovercraft.

[0205] By way of further example, IoT devices may be health or fitness devices, wherein the health or fitness devices may be surgical robots, implantable medical devices, non-invasive medical devices, and fixed medical devices, wherein the fixed medical devices may be: in vitro diagnostic devices, radiology devices, diagnostic imaging devices, and x-ray devices.

[0206] The receiver 110 and the transmitter 120 are capable of sending CoAP messages. The CoAP messages exchanged between the receiver 110 and the transmitter 120 include a CoAP header, such as the CoAP header provided in Table 1. In one embodiment, the MID of the CoAP header is modified to obtain a modified header field.

[0207] The modified header fields that have been described herein can be used for CoAP request and / or response messages, or for notification scenarios with the CoAP observe option, as described in RFC 7641. The CoAP observe option enables the receiver 110 to subscribe to events on the transmitter 120 whenever the state of a resource changes. In other words, the receiver 110 subscribes to a subscriber list for a specific resource. When a specific resource changes, the transmitter 120 notifies the receiver 110 because the receiver 110 is on the subscriber list for the specific resource. The receiver 110 can subscribe to more than one subscriber list, so when a resource changes, the receiver 110 can be notified by more than one transmitter 120.

[0208] exist Figure 2 In FIG. 1 , a flow chart illustrating an embodiment of a method 200 performed by a receiver 110 for receiving a first CoAP message is provided.

[0209] The method 200 comprises receiving 230 a first CoAP message from a transmitter 120 in the network 100, the first CoAP message comprising a modified header field indicating a time indication value, wherein the time indication value is generated by the transmitter 120. The modified header field is defined above. The time indication value is defined above.

[0210] The method 200 includes evaluating 240 a network delay or a network load based on the time indication value. The network delay is a communication delay on the network 100. The network delay may be the amount of time required to send a CoAP message, process a CoAP message by a receiver 110 or a transmitter 120, and / or receive a CoAP message. The network load may be a processing delay of the transmitter 120, i.e., the amount of time the transmitter 120 processes a CoAP message.

[0211] For example, the receiver 110 estimates the network delay or network load processing delay, time based on one or more of the following:

[0212] - a common initiation of a session, which in this example is referred to as T for illustrative purposes;

[0213] - a time indication value of the first CoAP message generated by the transmitter 120 and received in step 230 of the method 200,

[0214] In this example, for the purpose of illustration, the time indication value is referred to as t1;

[0215] - a time at which the first CoAP message sent by the transmitter 120 is received by the receiver 110. In this example, for the purpose of illustration, the time at which the first CoAP message is received is referred to as t2;

[0216] - an updated time indication value of the second CoAP message generated by the receiver 110 in step 250 of the method 200,

[0217] In this example, for purposes of illustration, the updated time indication value is referred to as t3;

[0218] - the time at which the second CoAP message is sent by the receiver 110 in step 260 of the method 200, in this example,

[0219] For purposes of illustration, the time at which the second CoAP message is sent by the receiver 110 is referred to as t4;

[0220] - a time indication value of a subsequent CoAP message generated by the transmitter 120, in this example for illustration purposes,

[0221] The time indication value of the subsequent CoAP message is called t5;

[0222] - The time at which the subsequent CoAP message sent by the transmitter 120 is received by the receiver 110, which in this example is referred to as t6 for illustration purposes.

[0223] Specifically, the receiver 110 evaluates one or more of the following:

[0224] - the time at which the data is generated by the transmitter 120, e.g. T+t1;

[0225] - The network delay for receiving the first CoAP message, for example t2-t1.

[0226] - Network load at the transmitter 120, e.g. (t5-t3)-(t6-t3).

[0227] In one embodiment, method 200 may include generating 250 an updated time indication value.

[0228] In one embodiment, the method 200 may include sending 260 a second CoAP message to the transmitter 120, the second CoAP message including an updated modified header field indicating an updated time indication value. Specifically, the method 200 may include the receiver 110 generating an updated time indication value in step 250 by using the current time.

[0229] In one embodiment, the modified header field of the first CoAP message is the MID header field as defined above.

[0230] In one embodiment, the modified header field of the second CoAP message is a MID header field as defined above.

[0231] In one embodiment, the first CoAP message is a CoAP request message. In another embodiment, the first CoAP message is a CoAP response message.

[0232] In one embodiment, the second CoAP message is a CoAP request message. In another embodiment, the second CoAP message is a CoAP response message.

[0233] In one embodiment, the first CoAP message received in step 230 of method 200 includes a request from the transmitter to use a modified header field.

[0234] In one embodiment, the time indication value corresponds to the amount of time that has passed since the co-start of the session. In one embodiment, the co-start of the session is the time point when the previous message is sent by the receiver 110. In another embodiment, the co-start of the session is the time point when the first message at the CoAP layer is exchanged between the receiver 110 and the transmitter 120.

[0235] In one embodiment, the updated time indication value corresponds to the amount of time that has passed since the co-start of the session. For example, the co-start of the session is the point in time at which the initial CoAP message is exchanged between the receiver 110 and the transmitter 120, and the co-start of the session is set at 11:52 Central European Time. In this same example, the time indication value of the first CoAP message received in step 230 indicates that 2 minutes have passed since the co-start of the session. In this same example, the updated time indication of the second CoAP message sent in step 260 indicates that 5 minutes have passed since the co-start of the session. In other words, the time indication value and the updated time indication value indicate the amount of time that has passed since the co-start of the session. In step 250 of method 200, the updated time indication value is generated after the time indication value, and thus the updated time indication may be greater than the time indication value. In one embodiment, the time indication value and the updated time indication value may be the same (e.g., when the granularity of the time indication value and the updated time indication value is in minutes).

[0236] Depending on the use case, the updated time indication value generated in step 250 is generated. There is flexibility in the implementation of the updated time indication value. For example, some applications may have durations in the range of minutes or hours, where the time synchronization resolution requirements may not be high. Wherein, for example, other applications may have time synchronization resolution requirements in the millisecond range. Because the MID header field is only 2 bytes (i.e., the 16 bits of the MID header field allow for a maximum of 65535 values), the developer can choose a generation algorithm that suits the application requirements. Various generation algorithms are provided below.

[0237] When the time indication value is measured in seconds, the amount of time recorded from the common start of the session may be 18 hours. Different embodiments of how the time indication value may be generated are provided below. Different embodiments of how the updated time indication value may be generated in step 250 of method 200 are provided below.

[0238] In one embodiment, the time indication value represents the number of seconds from the common initiation of the session. In one embodiment, the updated time indication value represents the number of seconds from the common initiation of the session.

[0239] In one embodiment, the time indication value includes 5 digits corresponding to the number of days, and / or 5 digits corresponding to the number of hours, and / or 6 digits corresponding to the number of minutes since the common initiation of the session. In one embodiment, the updated time indication value includes 5 digits corresponding to the number of days, and / or 5 digits corresponding to the number of hours, and / or 6 digits corresponding to the number of minutes since the common initiation of the session. In other words, the 5 digits of days can cover 0 to 32 days, the 5 digits of hours can cover 0 to 24 hours, and the 6 digits of minutes can cover 0 to 60 minutes since the common initiation of the session.

[0240] In one embodiment, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds from the common start of the session. In one embodiment, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds. In other words, the 6 bits of seconds can cover 0 to 64 seconds and the 10 bits of milliseconds can cover 0 to 1000 milliseconds from the common start of the session.

[0241] In one embodiment, the time indication value is calculated by a modulus operation on the time indication value. In one embodiment, the updated time indication value is calculated by a modulus operation on the updated time indication value. Specifically, if the selected implementation of generating the time indication value or the updated time indication value does not cover the entire amount of time from the common start of the session, the updated time indication value may wrap around. In other words, once the theoretical 17th bit of the updated time indication value changes the time indication value attached to the modified header field, the updated time indication value is no greater than the time indication value received in step 230 of method 200. In practice, the updated time indication value will be considered to start from zero. For example, if the time indication value of step 230 jumps from a high 16-bit value to a low 16-bit value, this may indicate that the transmitter 120 has performed a modulus operation on the time indication value before sending the time indication value because the time indication value does not fit into the 16 bits of the MID header field.

[0242] In one embodiment, the time indication value and the updated time indication value are generated by the same generation algorithm. In another embodiment, the time indication value and the updated time indication value are generated by different generation algorithms.

[0243] In one embodiment, the method 200 may include receiving 270 from the transmitter 120 a third CoAP message including a CoAP option indicating that the time indication value is calculated by a modulus operation. In one embodiment, the CoAP option corresponds to the CoAP option MIDt described above. In one embodiment, the option indicating that the time indication value is calculated by a modulus operation may be included in the first CoAP message received in step 230 of the method 200.

[0244] In one embodiment, the method 200 may include sending 280 a fourth CoAP message including an option indicating that the updated time indication value is calculated by a modulus operation. Specifically, the fourth CoAP message explicitly indicates that the updated time indication value is wrapped. In one embodiment, the CoAP option corresponds to the CoAP option MIDt as described above. In one embodiment, the option indicating that the updated time indication value is calculated by a modulus operation may be included in the second CoAP message sent in step 260 of the method 200.

[0245] In one embodiment, the method 200 may include receiving 210 from the transmitter 120 a fifth CoAP message including an option indicating that a time indication value is used, how the time indication value is generated, and a joint initiation of a session. In one embodiment, the fifth CoAP message of step 210 indicates that the transmitter 120 is requesting the receiver 110 to send an updated time indication value. In one embodiment, the fifth CoAP message is used during session establishment between the receiver 110 and the transmitter to notify how the time indication value is generated, for example in step 250. In one embodiment, the option included in the fifth CoAP message corresponds to the CoAP option MIDt defined above.

[0246] In one embodiment, the method 200 may include sending 220 to the transmitter 120 a sixth CoAP message indicating whether the receiver is using the updated time indication value in a subsequent message. In one embodiment, the sixth CoAP message is an acknowledgement (ACK) message. In one embodiment, the sixth CoAP message is a CoAP response message. In one embodiment, the sixth CoAP message is a CoAP request message.

[0247] exist Figure 3 In the present invention, a method 300 for providing a first CoAP message including a header is provided. The method 300 is performed by a transmitter 120 in a network 100. The method 300 includes generating 330 a time indication value. The generation of step 330 is performed in a similar manner as described above for generating 250 an updated time indication value in method 200.

[0248] The method 300 includes including 340 a time indication value in a header field of a header of a first CoAP message, thereby generating a modified header field. The modified header field corresponds to the modified header field as defined above. The time indication value corresponds to the time indication value as defined above. In one embodiment, the modified header field of the first CoAP message is a MID header field. In one embodiment, the first CoAP message of the method 300 is a CoAP request message. In one embodiment, the first CoAP message of the method 300 is a CoAP response message.

[0249] The method 300 includes sending 350 a first CoAP message including the modified header field to the receiver 110 in the network 100. The first CoAP message in the method 300 corresponds to the first CoAP message received in step 230 of the method 200.

[0250] In one embodiment, the method 300 may include receiving 360 a second CoAP message from the receiver 110, the second CoAP message including an updated modified header field indicating an updated time indication value. The second CoAP message corresponds to the second message of step 260 of the method 200. In one embodiment, the updated modified header field of the second CoAP message is a MID header field. In one embodiment, the second CoAP message is a CoAP request message. In one embodiment, the second CoAP message is a CoAP response message.

[0251] In one embodiment, the first CoAP message sent in step 350 of method 300 includes a request using modified header fields.

[0252] In one embodiment, the time indication value of the first CoAP message (e.g., the first CoAP message in step 230 of method 200 or step 340 of method 300) corresponds to the amount of time that has passed since the co-start of the session. In one embodiment, the co-start of the session is the time point when the previous message is sent by transmitter 120. In another embodiment, the co-start of the session is the time point when the first message at the CoAP layer is exchanged between receiver 110 and transmitter 120.

[0253] In one embodiment, the updated time indication value of the second CoAP message (e.g., the second CoAP message in step 260 of method 200 or step 360 of method 300) corresponds to the amount of time that has passed since the co-start of the session. For example, the co-start of the session is the time point at which the initial CoAP message is exchanged between the receiver 110 and the transmitter 120, and the co-start of the session is set at 11:52 Central European Time. In this same example, the time indication value of the first CoAP message received in step 230 indicates that 2 minutes have passed since the co-start of the session. In this same example, the updated time indication of the second CoAP message sent in step 260 indicates that 5 minutes have passed since the co-start of the session. In other words, the time indication value and the updated time indication value indicate the amount of time that has passed since the co-start of the session. The updated time indication value is generated in step 250 of method 200 after the time indication value, and thus the updated time indication may be greater than the time indication value. In one embodiment, the time indication value and the updated time indication value may be the same (e.g., when the granularity of the time indication value and the updated time indication value is in minutes).

[0254] Depending on the use case, the updated time indication value generated in step 250 of method 200 or step 330 of method 300 is generated. There is flexibility in the implementation of the updated time indication value. For example, some applications may have durations in the range of minutes or hours, where the time synchronization resolution requirements may not be high. Where, for example, other applications may have time synchronization resolution requirements in the millisecond range. Because the MID header field is only 2 bytes (i.e., the 16 bits of the MID header field allow for a maximum of 65535 values), the developer can choose an algorithm that suits the application requirements.

[0255] When the time indication value is measured in seconds, the amount of time recorded from the common start of the session can be 18 hours. Different embodiments of how to generate the time indication value are provided below. Different embodiments of how to generate the updated time indication value in step 250 of method 200 or step 330 of method 300 are provided below.

[0256] In one embodiment, the time indication value represents the number of seconds from the common initiation of the session. In one embodiment, the updated time indication value represents the number of seconds from the common initiation of the session.

[0257] In one embodiment, the time indication value includes 5 digits corresponding to the number of days, and / or 5 digits corresponding to the number of hours, and / or 6 digits corresponding to the number of minutes since the common initiation of the session. In one embodiment, the updated time indication value includes 5 digits corresponding to the number of days, and / or 5 digits corresponding to the number of hours, and / or 6 digits corresponding to the number of minutes since the common initiation of the session. In other words, the 5 digits of days can cover 0 to 32 days, the 5 digits of hours can cover 0 to 24 hours, and the 6 digits of minutes can cover 0 to 60 minutes since the common initiation of the session.

[0258] In one embodiment, the time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds from the common start of the session. In one embodiment, the updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds. In other words, the 6 bits of seconds can cover 0 to 64 seconds and the 10 bits of milliseconds can cover 0 to 1000 milliseconds from the common start of the session.

[0259] In one embodiment, the time indication value is calculated by a modulus operation on the time indication value. In one embodiment, the updated time indication value is calculated by a modulus operation on the updated time indication value. Specifically, if the selected implementation of generating the time indication value or the updated time indication value does not cover the entire amount of time from the common start of the session, the updated time indication value may wrap around. In other words, once the theoretical 17th bit of the updated time indication value changes the time indication value attached to the modified header field, the updated time indication value is no greater than the time indication value received in step 230 of method 200. In practice, the updated time indication value will be considered to start from zero. For example, if the time indication value of step 230 jumps from a high 16-bit value to a low 16-bit value, this may indicate that the transmitter 120 has performed a modulus operation on the time indication value before sending the time indication value because the time indication value does not fit into the 16 bits of the MID header field.

[0260] In one embodiment, the time indication value and the updated time indication value are generated following the same generation algorithm. In another embodiment, the time indication value and the updated time indication value are generated by different generation algorithms.

[0261] In one embodiment, the method 300 includes: based on the updated indication value, evaluating 370 a network delay or a network load at the receiver 110. The network delay is a communication delay on the network 100. The network delay may be the amount of time required to send a CoAP message, process a CoAP message by the receiver 110 or the transmitter 120, and / or receive a CoAP message. The network load at the receiver 110 may be a processing delay of the receiver 110, i.e., the amount of time the receiver 110 processes a CoAP message.

[0262] For example, the transmitter 120 estimates the network delay or network load, time, at the receiver 110 based on one or more of the following:

[0263] - a common initiation of a session, which in this example is referred to as T for illustrative purposes;

[0264] - a time indication value of the first CoAP message generated by the transmitter in step 350 of the method 300, which in this example is referred to as t1 for illustration purposes;

[0265] - an updated time indication value of the second CoAP message generated by the receiver 110 in step 250 of the method 200,

[0266] In this example, for purposes of illustration, the updated time indication value is referred to as t2; and

[0267] - The time at which the second CoAP message generated by the receiver 110 and comprising the modified header field is received by the transmitter 120, in this example, the time at which the second CoAP message is received is referred to as t3 for the purpose of illustration.

[0268] Specifically, the transmitter 120 evaluates one or more of the following:

[0269] - the time at which the data is generated by the receiver 110, e.g. T+t2;

[0270] - The time from sending the first CoAP message to receiving the second CoAP message (e.g., the time from sending the CoAP request message to receiving the CoAP response message), e.g., t3-t1;

[0271] - Network delay for receiving the second CoAP message, e.g. t3-t2;

[0272] - the time when the first CoAP message is transmitted by the receiver 110 and the time when the second CoAP message is generated, for example t2-t1;

[0273] - Network load at the receiver 110, e.g. (t2-t1)-(t3-t2).

[0274] In another embodiment, the network delay evaluation in step 370 of method 300 is performed in a similar manner as the network delay description is evaluated for receiver 110 in step 240 of method 200 .

[0275] In one embodiment, the method 300 may include sending 380 a third CoAP message including an option indicating that the time indication value is calculated by modulus operation. In one embodiment, the CoAP option is the CoAP option MIDt described above. The third CoAP message corresponds to the third CoAP message received by the receiver 110 in step 270 of the method 200. In one embodiment, the option indicating that the time indication value is calculated by modulus operation may be included in the first CoAP message sent in step 350 of the method 300.

[0276] In one embodiment, the method 300 may include receiving 390 from the receiver 110 a fourth CoAP message including an option indicating that the updated time value is calculated by a modulus operation. In one embodiment, the CoAP option is the CoAP option MIDt described above. The fourth CoAP message corresponds to the fourth CoAP message sent by the receiver 110 in step 280 of the method 200. In one embodiment, the option indicating that the updated time indication value is calculated by a modulus operation may be included in the second CoAP message received in step 360 of the method 300.

[0277] In one embodiment, the method 300 may include sending 310 to the receiver 110 a fifth CoAP message including an option indicating that a time indication value is used, how to use the time indication value, and a joint initiation of a session. In one embodiment, the CoAP option is the CoAP option MIDt described above. The fifth CoAP message corresponds to the fifth CoAP message received by the receiver 110 in step 210 of the method 200.

[0278] In one embodiment, the method 300 may include receiving 320 from the receiver 110 a sixth CoAP message indicating whether the receiver 110 is using the time indication value in a subsequent message. The sixth message corresponds to the sixth message of step 220 of the method 200. In one embodiment, the sixth message is an acknowledgement (ACK) message. In one embodiment, the sixth message is a CoAP response message. In one embodiment, the sixth message is a CoAP request message.

[0279] exist Figure 4 In FIG. 4 , a block diagram of a receiver 110 for receiving a CoAP message is provided. The receiver 110 comprises a receiving unit 410 and an evaluating unit 420 .

[0280] Receiver unit 410 is configured to perform step 210 , step 230 , and step 270 of method 200 as described above.

[0281] The evaluation unit 420 is configured to perform step 240 of the method 200 as described above.

[0282] In one embodiment, the receiver 110 comprises a generating unit 430. The generating unit 430 is configured to perform step 250 of the method 200 as described above.

[0283] In one embodiment, the receiver 110 comprises a sending unit 440. The sending unit 440 is configured to perform steps 220, 260 and 280 of the method 200 as described above.

[0284] In one embodiment, the evaluation unit 420 and the generation unit 430 are the same unit. In one embodiment, the receiving unit 410 and the sending unit 440 are the same unit, such as a transceiver unit.

[0285] The receiving unit 410, the evaluating unit 420, the generating unit 430 and the sending unit 440 may be implemented as a hardware solution or a combination of software and hardware, for example, by one or more of the following: a processor or a microprocessor and appropriate software and a memory for storing the software, a programmable logic device (PLD) or other electronic components or processing circuits, which are configured to perform the actions described above for the method 200.

[0286] exist Figure 5 , a block diagram of a transmitter 120 for providing a CoAP message including a header is provided. The transmitter 120 includes a generating unit 510, an including unit 520, and a sending unit 530.

[0287] The generating unit 510 is configured to perform step 330 of the method 300 as described above.

[0288] The comprising unit 520 is configured to perform step 340 of the method 300 as described above.

[0289] The sending unit 530 is configured to perform step 350 of the method 300 as described above.

[0290] In one embodiment, the transmitter 120 comprises a transmitting unit 540. The transmitting unit 540 is configured to perform steps 310 and 380 of the method 300 as described above.

[0291] In one embodiment, the transmitter 120 comprises a receiving unit 550. The receiving unit 550 is configured to perform steps 320, 360 and 390 of the method 300 as described above.

[0292] In one embodiment, the transmitter 120 comprises an evaluation unit 560. The evaluation unit 560 is configured to perform step 370 of the method 300 as described above.

[0293] In one embodiment, the generating unit 510, the including unit 520 and the evaluating unit 560 are the same unit. In one embodiment, the sending unit 530, the transmitting unit 540 and the receiving unit 550 are the same unit, for example a transceiver unit.

[0294] The generating unit 510, the including unit 520, the sending unit 530, the transmitting unit 540, the receiving unit 550 and the evaluating unit 560 may be implemented as a hardware solution or a combination of software and hardware, for example by one or more of: a processor or a microprocessor and appropriate software and a memory for storing the software, a programmable logic device (PLD) or other electronic components or processing circuits, which are configured to perform the actions described above for the method 300.

[0295] exist Figure 6 In the embodiment of the receiver 110, an embodiment of the receiver 110 is provided. The receiver 110 comprises a processor 610 and a computer readable storage medium 620 in the form of a memory 625. The memory 625 contains a computer program 630 comprising instructions executable by the processor 610, whereby the receiver 110 is operable to perform the steps of the method 200.

[0296] exist Figure 7 In the embodiment of the transmitter 120, an embodiment of the transmitter 120 is provided. The transmitter 120 comprises a processor 710 and a computer readable storage medium 720 in the form of a memory 725. The memory 725 contains a computer program 730 comprising instructions executable by the processor 710, whereby the transmitter 120 is operable to perform the steps of the method 300.

[0297] exist Figure 8 In the present invention, an illustrative example of messages exchanged between the receiver 110 and the transmitter 120 and operations performed by the receiver 110 and / or the transmitter 120 according to an embodiment is provided.

[0298] The transmitter 120 is configured to send a fifth CoAP message 810 to the receiver 110. In one embodiment, the fifth CoAP message 810 corresponds to the fifth CoAP message sent in step 310 of the method 300 and the fifth CoAP message received in step 210 of the method 200.

[0299] The receiver 110 is configured to send a sixth CoAP message 820 to the transmitter 120. In one embodiment, the sixth CoAP message 820 corresponds to the sixth CoAP message sent in step 220 of the method 200 and the sixth CoAP message received in step 320 of the method 300.

[0300] The transmitter 120 is configured to perform step 330 of the method 300 .

[0301] The transmitter 120 is configured to perform step 340 of the method 300 .

[0302] The transmitter 120 is configured to send a first CoAP message 830. In one embodiment, the first CoAP message 830 corresponds to the first CoAP message sent in step 350 of the method 300 and the first CoAP message received in step 230 of the method 200.

[0303] The receiver 110 is configured to perform step 240 of the method 200 .

[0304] The receiver 110 is configured to perform step 250 of the method 200 .

[0305] The receiver 110 is configured to send a second CoAP message 840. In one embodiment, the second CoAP message 840 corresponds to the second CoAP message sent in step 260 of the method 200 and the second CoAP message received in step 360 of the method 300.

[0306] The transmitter 120 is configured to perform step 370 of the method 300 .

[0307] The transmitter 120 is configured to send a third CoAP message 850. In one embodiment, the third CoAP message 850 corresponds to the third CoAP message sent in step 380 of the method 300 and the third CoAP message received in step 270 of the method 200.

[0308] The receiver 110 is configured to send a fourth CoAP message 860. In one embodiment, the fourth CoAP message 840 corresponds to the fourth CoAP message sent in step 280 of the method 200 and the fourth CoAP message received in step 390 of the method 300.

[0309] The (non-transitory) computer-readable storage medium mentioned above may be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory, a Field Programmable Gate Array, and a hard disk drive.

[0310] Figure 6 The processor 610 and Figure 7 The processor may be a single CPU (central processing unit), but may also include two or more processing units. For example, Figure 6 The processor 610 and Figure 7 The processor 710 may include a general purpose microprocessor; an instruction set processor and / or related chipset and / or a special purpose microprocessor, such as an application specific integrated circuit (ASIC). Figure 6 The processor 610 and Figure 7 The processor 710 may also include on-board memory for caching purposes.

[0311] Figure 6 Computer Program 630 and Figure 7 The computer program 730 may be connected to Figure 6 The processor 610 and Figure 7 The computer program product of the processor 710 carries the computer program product. The computer program product may be or include a non-transitory computer-readable storage medium on which the Figure 6 Computer Program 630 and Figure 7 The computer program product may be, for example, a flash memory, a random access memory (RAM), a read only memory (ROM) or an EEPROM, and in alternative embodiments, the computer program described above may be distributed on different computer program products in the form of memories.

[0312] It will be understood that although the terms "first", "second", etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first CoAP message may be referred to as a second CoAP message, and similarly, a second CoAP message may be referred to as a first CoAP message.

[0313] As used herein, the term "and / or" includes any and all combinations of one or more of the associated terms listed. The terms used herein are only used to describe specific embodiments and are not intended to limit the exemplary embodiments. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when used herein, the terms "including", "having", "comprising" specify the presence of declared features, elements and / or components, etc., but do not exclude the presence or increase of one or more other features, elements, components and / or combinations thereof.

[0314] The present disclosure has been described above with reference to the embodiments of the present disclosure. It should be understood that various modifications, substitutions and additions may be made by those skilled in the art without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure is not limited to the above specific embodiments, but is only limited by the appended claims.

Claims

1. A receiver (110) in a network 100 for receiving a first constrained application protocol CoAP message, the receiver (110) being configured to: - receiving the first CoAP message from a transmitter (120) in the network (100), the first CoAP message The message includes a modified header field indicating a time indication value, wherein: The time indication value is generated by the transmitter (120); and - Based on the time indication value, evaluate the network delay or network load.

2. The receiver (110) of claim 1, wherein: The receiver (110) is configured to: - generating an updated time indication value; and - sending a second CoAP message to the transmitter (120), the second CoAP message including an indication of the updated The modified header field of the time indication value is updated.

3. The receiver (110) according to any one or more of claims 1-2, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

4. The receiver (110) according to any one or more of claims 2-3, wherein: The updated modified header field of the second CoAP message is a message identification (MID) header field.

5. The receiver (110) according to any one or more of claims 1-4, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

6. The receiver (110) according to any one or more of claims 2-5, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

7. The receiver (110) according to any one or more of claims 1-6, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

8. The receiver (110) according to any one or more of claims 1-7, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

9. The receiver (110) according to any one or more of claims 1-7, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes from the common initiation of the session.

10. The receiver (110) according to any one or more of claims 1-9, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes since the common initiation of the session.

11. The receiver (110) according to any one or more of claims 1-7, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds from the common initiation of the session.

12. The receiver (110) according to any one or more of claims 1-9, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds since the common initiation of the session.

13. The receiver (110) according to any one or more of the preceding claims, wherein: The time indication value is calculated by a modulo operation on the time indication value.

14. The receiver (110) of claim 13, wherein: The receiver (110) is configured to: - receiving a third CoAP message comprising a CoAP option indicating that the time indication value is calculated by a modulo operation.

15. The receiver according to claim 13, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

16. The receiver (110) according to any one or more of the preceding claims, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

17. The receiver (110) of claim 16, wherein: The receiver (110) is configured to: - sending a fourth CoAP message including a CoAP option indicating that the updated time indication value is calculated by a modulo operation.

18. The receiver according to claim 16, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

19. Receiver according to one or more of the preceding claims, wherein: The first CoAP message includes a request to use the modified header field.

20. The receiver (110) according to any one or more of the preceding claims, wherein: The receiver (110) is configured to: - receiving from the transmitter (120) a fifth CoAP message including options indicating: a time indication value to be used, how to generate the time indication value, and a common initiation of a session; as well as - sending a sixth CoAP message to the transmitter (120) indicating whether the receiver is using an updated time indication value in subsequent messages.

21. The receiver (110) of claim 20, wherein: The sixth CoAP message is an ACK message, a CoAP response message, or a CoAP request message.

22. A transmitter (120) in a network (100) for providing a first constrained application protocol (CoAP) message including a header, the transmitter (120) being configured to: - generate a time indication value; - including the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field; and - sending the first CoAP message including the modified header field to a receiver (110) in the network (100).

23. The transmitter (120) of claim 22, the transmitter (120) being configured to: - receiving a second CoAP message from the receiver (110), the second CoAP message comprising an updated modified header field indicating an updated time indication value; and - based on said updated time indication value, evaluating a network delay or a network load at said receiver (110).

24. The transmitter (120) according to any one or more of claims 22-23, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

25. The transmitter (120) according to any one or more of claims 22-24, wherein: The updated modified header field of the second CoAP message is a message identification (MID) header field.

26. The transmitter (120) according to any one or more of claims 22-25, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

27. The transmitter (120) according to any one or more of claims 23-26, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

28. The transmitter (120) according to any one or more of claims 22-27, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

29. The transmitter (120) according to any one or more of claims 23-28, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of a session.

30. The transmitter (120) according to any one or more of claims 22-29, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

31. The transmitter (120) of any one or more of claims 23-30, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

32. The transmitter (120) of any one or more of claims 22-31, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

33. The transmitter (120) of any one or more of claims 23-32, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

34. The transmitter (120) according to any one or more of the preceding claims, wherein: The time indication value is calculated by a modulo operation on the time indication value.

35. The transmitter (120) of any one or more of claims 23-34, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

36. The transmitter (120) of claim 34, the transmitter (120) being configured to: - sending a third CoAP message comprising an option to the receiver (110), the option indicating that the time indication value is calculated by a modulo operation.

37. The transmitter (120) of claim 34, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

38. The transmitter (120) of claim 35, the transmitter (120) being configured to: - receiving from the receiver (110) a fourth CoAP message comprising an option indicating that the updated time indication value is calculated by a modulo operation.

39. The transmitter (120) of claim 35, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

40. The transmitter (120) according to one or more of the preceding claims, wherein The first CoAP message includes a request to use the modified header field.

41. The transmitter (120) according to any one or more of the preceding claims, the transmitter (120) being configured to: - sending a fifth CoAP message including options to the receiver (110), the options indicating: a time indication value to be used, how to generate the time indication value, and a common initiation of a session; and - receiving a sixth CoAP message from the receiver (110) indicating whether the receiver (110) is using a time indication value in a subsequent message.

42. The transmitter (120) of claim 41, wherein: The sixth CoAP message is an ACK message, a CoAP request message, or a CoAP response message.

43. A method (200) for receiving a first constrained application protocol (CoAP) message performed by a receiver (110) in a network (100), the method (200) comprising: - receiving (230) the first CoAP message from a transmitter (120) in the network (100), the first CoAP message comprising a modified header field indicating a time indication value, wherein the time indication value is generated by the transmitter; and - Based on the time indication value, evaluating (240) a network delay or a network load.

44. The method (200) of claim 43, comprising: - generating (250) an updated time indication value; as well as - sending (260) a second CoAP message to the transmitter (120), the second CoAP message comprising a modified header field indicating the updated time indication value.

45. The method (200) according to any one or more of claims 43-44, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

46. ​​The method (200) according to any one or more of claims 44-45, wherein: The modified header field of the second CoAP message is a message identification (MID) header field.

47. The method (200) according to any one or more of claims 43-46, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

48. The method (200) according to any one or more of claims 44-47, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

49. The method (200) according to any one or more of claims 43-48, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

50. The method (200) according to any one or more of claims 44-49, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

51. The method (200) according to any one or more of claims 43-50, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

52. The method (200) according to any one or more of claims 44-51, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

53. The method (200) according to any one or more of claims 43-50, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

54. The method (200) according to any one or more of claims 44-51, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

55. The method (200) according to any one or more of the preceding claims, wherein: The time indication value is calculated by a modulo operation on the time indication value.

56. The method (200) of claim 49, comprising: - receiving (270) a third CoAP message comprising a CoAP option indicating that the time indication value is calculated by a modulo operation.

57. The method (200) of claim 55, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

58. The method (200) according to any one or more of the preceding claims, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

59. The method (200) of claim 51, comprising: - sending (280) a fourth CoAP message comprising an option indicating that the updated time indication value is calculated by modulo operation.

60. The method (200) of claim 59, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

61. The method (200) according to any one or more of the preceding claims, wherein: The first CoAP message includes a request to use the modified header field.

62. The method (200) according to any one or more of the preceding claims, comprising: - receiving (210) from the transmitter (120) a fifth CoAP message comprising options indicating: a time indication value to be used, how to generate the time indication value, and a common initiation of a session; as well as - sending (220) a sixth CoAP message to the transmitter (120) indicating whether the receiver is using a time indication value in a subsequent message.

63. The method (200) of claim 62, wherein: The sixth CoAP message is an ACK message, a CoAP response message, or a CoAP request message.

64. A method (300) performed by a transmitter (120) in a network (100) for providing a first constrained application protocol (CoAP) message including a header, the method (300) comprising: - generating (330) a time indication value; - including (340) the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field; as well as - sending (350) the first CoAP message including the modified header field to a receiver (110) in the network (100).

65. The method (300) of claim 64, comprising: - receiving (360) a second CoAP message from the receiver (110), the second CoAP message comprising an updated modified header field indicating an updated time indication value; and - Based on said updated time indication value, evaluating (370) a network delay or a network load.

66. The method (300) of any one or more of claims 64-65, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

67. The method (300) according to any one or more of claims 65-66, wherein: The updated modified header field of the second message is a message identification (MID) header field.

68. The method (300) of any one or more of claims 64-67, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

69. The method (300) according to any one or more of claims 65-68, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

70. The method (300) according to any one or more of claims 64-69, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

71. The method (300) according to any one or more of claims 65-70, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of a session.

72. The method (300) of any one or more of claims 64-71, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

73. The method (300) according to any one or more of claims 65-72, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

74. The method (300) of any one or more of claims 64-71, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

75. The method (300) of any one or more of claims 65-72, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

76. The method (300) of any one or more of claims 64-75, wherein: The time indication value is calculated by a modulo operation on the time indication value.

77. The method (300) according to any one or more of claims 65-76, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

78. The method (300) of claim 76, comprising: - sending (380) a third CoAP message comprising an option to the receiver (110), the option indicating that the time indication value is calculated by modulo operation.

79. The method (300) of claim 77, comprising: - receiving (390) from the receiver (110) a fourth CoAP message comprising an option indicating that the updated time indication value is calculated by modulo operation.

80. The method (300) of claim 76, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

81. The method (300) of claim 77, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

82. The method (300) according to one or more of claims 64-81, wherein: The first CoAP message includes a request to use the modified header field.

83. The method (300) according to any one or more of the preceding claims, comprising: - sending (310) a fifth CoAP message including options to the receiver (110), the options indicating that a time indication value is used, indicating how the time indication value is generated, and indicating a joint start of a session; and - receiving (320) a sixth CoAP message from the receiver (110) indicating whether the receiver is using a time indication value in a subsequent message.

84. The method (300) of claim 83, wherein: The sixth CoAP message is an ACK message, a CoAP request message, or a CoAP response message.

85. A computer program (630) comprising instructions, which, when executed by a receiver (110) in a network (100) for receiving a first constrained application protocol (CoAP) message, causes the receiver (110) to: - receiving the first CoAP message from a transmitter (120) in the network, the first CoAP message comprising a modified header field indicating a time indication value, wherein, The time indication value is generated by the transmitter (120); and - Based on the time indication value, evaluate the network delay or network load.

86. The computer program (630) of claim 85, which, when executed on the receiver (110), causes the receiver (110) to: - generating an updated time indication value; and - sending a second CoAP message to the transmitter (120), the second CoAP message comprising an updated modified header field indicating the updated time indication value.

87. The computer program (630) of any one or more of claims 85-86, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

88. The computer program (630) of any one or more of claims 86-87, wherein: The updated modified header field of the second CoAP message is a message identification (MID) header field.

89. The computer program (630) of any one or more of claims 85-88, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

90. The computer program (630) of any one or more of claims 86-89, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

91. The computer program (630) of any one or more of claims 85-90, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

92. The computer program (630) of any one or more of claims 86-91, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

93. The computer program (630) of any one or more of claims 85-92, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

94. The computer program (630) of any one or more of claims 86-93, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

95. The computer program (630) of any one or more of claims 85-92, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

96. The computer program (630) of any one or more of claims 86-93, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

97. The computer program (630) of any one or more of claims 85-96, wherein: The time indication value is calculated by a modulo operation on the time indication value.

98. The computer program (630) of claim 97, which, when executed on the receiver (110), causes the receiver (110) to: - receiving a third CoAP message comprising an option indicating that the time indication value is calculated by a modulo operation.

99. The computer program (630) of claim 97, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

100. The computer program (630) of any one or more of claims 85-99, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

101. The computer program (630) of claim 100, which, when executed on the receiver (110), causes the receiver (110): - sending a fourth CoAP message including an option indicating that the updated time indication value is calculated by modulo operation.

102. The computer program (630) of claim 100, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

103. The computer program (630) according to one or more of the preceding claims, wherein: The first CoAP message includes a request to use the modified header field.

104. The computer program (630) according to any one or more of the preceding claims, which, when executed on the receiver (110), causes the receiver (110) to: - receiving from the transmitter (120) a fifth CoAP message including options indicating: a time indication value to be used, how to generate the time indication value, and a common initiation of a session; and - sending a sixth CoAP message to the transmitter (120) indicating whether the receiver (110) is using a time indication value in a subsequent message.

105. The computer program (630) of claim 104, wherein: The sixth CoAP message is an ACK message, a CoAP response message, or a CoAP request message.

106. A computer program (730) comprising instructions, which, when executed by a transmitter (120) in a network (100) for providing a first constrained application protocol (CoAP) message comprising a header, causes the transmitter (120) to: - generate a time indication value; - including the time indication value in a header field of the header of the first CoAP message, thereby generating a modified header field; as well as - sending the first CoAP message including the modified header field to a receiver (110) in the network (100).

107. The computer program (730) of claim 106, which, when executed on the transmitter (120), causes the transmitter (120) to: - receiving a second CoAP message from the receiver (110), the second CoAP message comprising an updated modified header field indicating an updated time indication value; and - based on said updated time indication value, evaluating a network delay or a network load at said receiver (110).

108. The computer program (730) of any one or more of claims 106-107, wherein: The modified header field of the first CoAP message is a message identification (MID) header field.

109. The computer program (730) of any one or more of claims 107-108, wherein: The updated modified header field of the second CoAP message is a message identification (MID) header field.

110. The computer program (730) of any one or more of claims 106-109, wherein: The first CoAP message is a CoAP request message or a CoAP response message.

111. The computer program (730) of any one or more of claims 107-110, wherein: The second CoAP message is a CoAP request message or a CoAP response message.

112. The computer program (730) of any one or more of claims 106-111, wherein: The time indication value corresponds to an amount of time that has elapsed since co-initiation of the session.

113. The computer program (730) of any one or more of claims 107-112, wherein: The updated time indication value corresponds to an amount of time that has elapsed since the common initiation of the session.

114. The computer program (730) of any one or more of claims 106-113, wherein: The time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

115. The computer program (730) of any one or more of claims 107-114, wherein: The updated time indication value includes 5 digits corresponding to days, and / or 5 digits corresponding to hours, and / or 6 digits corresponding to minutes.

116. The computer program (730) of any one or more of claims 106-113, wherein: The time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

117. The computer program (730) of any one or more of claims 107-114, wherein: The updated time indication value includes 6 bits corresponding to seconds and / or 10 bits corresponding to milliseconds.

118. The computer program (730) of any one or more of claims 106-117, wherein: The time indication value is calculated by a modulo operation on the time indication value.

119. The computer program (730) of any one or more of claims 107-118, wherein: The updated time indication value is calculated by a modulo operation on the updated time indication value.

120. The computer program (730) of claim 118, which, when executed on the transmitter (120), causes the transmitter (120) to: - sending a third CoAP message comprising an option to the receiver (110), the option indicating that the time indication value is calculated by a modulo operation.

121. The computer program (730) of claim 118, wherein: The first CoAP message includes a CoAP option, and the CoAP option indicates that the time indication value is calculated by a modulus operation.

122. The computer program (730) of claim 119, which, when executed on the transmitter (120), causes the transmitter (120) to: - receiving from the receiver (110) a fourth CoAP message comprising an option indicating that the updated time indication value is calculated by a modulo operation.

123. The computer program (730) of claim 119, wherein: The second CoAP message includes a CoAP option, and the CoAP option indicates that the updated time indication value is calculated by a modulus operation.

124. The computer program (730) according to any one or more of the preceding claims, wherein: The first CoAP message includes a request to use the modified header field.

125. The computer program (730) of any one or more of claims 106-124, which, when executed by the transmitter (120), causes the transmitter (120) to: - sending a fifth CoAP message including options to the receiver (110), the options indicating: a time indication value to be used, how to generate the time indication value, and a common initiation of a session; and - receiving a sixth CoAP message from the receiver (110) indicating whether the receiver (110) is using a time indication value in a subsequent message.

126. The computer program (730) of claim 125, wherein: The sixth CoAP message is an ACK message, a CoAP request message, or a CoAP response message.

127. A computer-readable storage medium comprising a computer program according to claim 85 and / or 106.