Methods and nodes for enabling context-awareness in CoAP
CoAP network nodes may leverage context awareness to take autonomous action to adjust network operations. Context-aware procedures may be pre-configured, established by management entities, or negotiated between nodes, and include parameters for the monitoring and evaluation of data, as well has triggers for taking action. By monitoring requests to observe a resource, a node may determine when a resource should transition to multicast or unicast notification, and dynamically manage multicast group membership based on observation registrations and/or cancellations. By monitoring resource requests, a proxy may determine when to proactively refresh a cached representation of a resource. By monitoring timeouts and/or retransmissions, a client may dynamically adjust a timeout value to optimize communications.
1. An apparatus comprising a processor, a memory, and communication circuitry, the apparatus being connected to a Constrained Application Protocol (CoAP) communications network via its communication circuitry, the apparatus further comprising computer-executable instructions stored in the memory which, when executed by the processor, cause the apparatus to perform operations comprising:
monitoring a dynamic context of operations, the dynamic context of operations comprising CoAP methods pertaining to CoAP observes of a CoAP resource;
performing, based on the monitoring, an evaluation, the evaluation using a metric comprising a number of endpoints observing the CoAP resource; and
adjusting, autonomously based on the evaluation, a multicast group configuration.
2. The apparatus of claim 1 , wherein adjusting the multicast group configuration comprises creating a new multicast group based on the evaluation.
3. The apparatus of claim 1 , wherein the evaluation comprises taking into account whether the number of endpoints observing the CoAP resource is above a threshold.
4. The apparatus of claim 1 , wherein the evaluation comprises taking into account a preference of an endpoint for receiving multicast messaging.
5. The apparatus of claim 1 , wherein:
the apparatus is a proxy;
the dynamic context comprises a first freshness preference, the first freshness preference pertaining to the CoAP resource, the first freshness preference being provided by a client;
the evaluation comprises assessing a freshness of the CoAP resource and the first freshness preference; and
the operations further comprise requesting to observe the CoAP resource on a server, and providing the server with a second freshness preference.
6. The apparatus of claim 1 , wherein:
the apparatus is a proxy;
the dynamic context comprises a freshness preference, the first freshness preference pertaining to the CoAP resource, the first freshness preference being provided by a client;
the evaluation comprises assessing a freshness of the CoAP resource and the freshness preference; and
the operations further comprise periodically validating a representation of the CoAP resource through a server.
7. The apparatus of claim 1 , wherein:
the dynamic context comprises a transmission timeout event or an ACK message, the transmission timeout event or the ACK message being related to a sent confirmable message;
the evaluation comprises assessing a return trip time, the return trip time being based upon a transmission time or the ACK message; and
the operations further comprise adjusting a transmission timeout period.
8. The apparatus of claim 1 , wherein:
the dynamic context comprises a transmission timeout event or a number of ACK messages, the transmission timeout event or the ACK message being related to a sent confirmable message;
the evaluation comprises assessing a number of transmission timeouts or the number of ACK messages; and
the operations further comprise adjusting a transmission timeout period.
9. The apparatus of claim 1 , wherein:
the dynamic context comprises an ACK message related to a sent confirmable message;
the evaluation comprises examining a transmission count option included in the ACK message; and
the operations further comprise adjusting a transmission timeout period.
10. The apparatus of claim 1 , wherein the computer-executable instructions cause the apparatus to further provide a graphical user interface whereby a user may see and/or configure the monitoring, the evaluation, or the action taken.
11. A method performed by an apparatus forming a node of a CoAP communications network, the method comprising:
monitoring a dynamic context of operations, the dynamic context of operations comprising CoAP methods pertaining to CoAP observes of a CoAP resource;
performing, based on the monitoring, an evaluation, the evaluation using a metric comprising a number of endpoints observing the CoAP resource; and
adjusting, autonomously based on the evaluation, a multicast group configuration.
12. The method of claim 11 , wherein adjusting the multicast group configuration comprises creating a new multicast group based on the evaluation.
13. The method of claim 11 , wherein the evaluation comprises taking into account whether the number of endpoints observing the CoAP resource is above a threshold.
14. The method of claim 11 , wherein the evaluation comprises taking into account a preference of an endpoint for receiving multicast messaging.
15. The method of claim 11 , wherein:
the node is a proxy;
the dynamic context comprises a first freshness preference, the first freshness preference pertaining to the CoAP resource, the first freshness preference being provided by a client;
the evaluation comprises assessing a freshness of the CoAP resource and the first freshness preference; and
the operations further comprise requesting to observe the CoAP resource on a server, and providing the server with a second freshness preference.
16. The method of claim 11 , wherein:
the apparatus is a proxy;
the dynamic context comprises a freshness preference for the CoAP resource, the freshness preference being provided by a client;
the evaluation comprises assessing a freshness of the CoAP resource and the freshness preference; and
the method further comprises periodically validating a representation of the CoAP resource through a server.
17. The method of claim 11 , wherein:
the dynamic context comprises a transmission timeout event or an ACK message, the transmission timeout event or the ACK message being related to a sent confirmable message;
the evaluation comprises assessing a return trip time, the return trip time being based upon a transmission time or the ACK message; and
the method further comprises adjusting a transmission timeout period.
18. The method of claim 11 , wherein:
the dynamic context comprises a transmission timeout event or a number of ACK messages, the transmission timeout event or the ACK message being related to a sent confirmable message;
the evaluation comprises assessing a number of transmission timeouts or the number of ACK messages; and
the method further comprises adjusting a transmission timeout period.
19. The method of claim 11 , wherein:
the dynamic context comprises an ACK message related to a sent confirmable message;
the evaluation comprises examining a transmission count option included in the ACK message; and
the method further comprises adjusting a transmission timeout period.
20. The method of claim 11 , further comprising providing a graphical user interface whereby a user may see and/or configure the monitoring, the evaluation, or the action taken.