# US 12,120,208 B2 · Communication protocol discover method in constrained application protocol (COAP)

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,208 B2
- Document ID: US12120208B2
- Status: Granted
- Kind: B2
- Application number: 17/255,956
- Filed: 2018-06-25
- Published: 2021-09-02
- Granted: 2024-10-15
- Earliest claimed: 2018-06-25
- Assignees: Telefonaktiebolaget LM Ericsson (publ)
- Applicants: Telefonaktiebolaget LM Ericsson (publ)
- Inventors: Oscar Novo Diaz
- Web page: https://patentgrep.com/patent/US12120208B2

## CPC

- H04L 69/24: Negotiation of communication capabilities
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 69/22: Parsing or analysis of headers
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04W 4/38: for collecting sensor information
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Methods for a CoAP server to inform CoAP clients regarding a set of one or more communication protocols supported by the CoAP server. In one aspect, a CoAP client obtains information indicating a set of one or more communication protocols supported by the CoAP server and determines which of the set of one or more communication protocols to use to communicate with the CoAP server.

## Claims

### Claim 1

A method performed by a client node, the method comprising:
transmitting to a resource directory (RD) a first request for information associated with a resource of a resource type that is identified by a resource type parameter included in the first request for information;
receiving a response to the first request, wherein the response to the first request comprises a header comprising a response code indicating that the response further comprises a payload, wherein the payload of the response comprises: i) a uniform resource locator (URL) for a first resource accessible via a server, the URL comprising a scheme identifier identifying a protocol used for accessing the first resource, a server identifier identifying a server, and a port identifier identifying a port, and ii) information indicating a set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource, wherein the information comprises a single name-value pair comprising a name paired with a value comprising a set of two or more identifiers, the name specifies that each said two or more identifiers is a transport protocol identifier, and said two or more transport protocol identifiers comprise a first transport protocol identifier that identifies a first transport protocol and a second transport protocol identifier that identifies a second transport protocol, wherein the information indicating the set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource is separate from the URL;
selecting the first transport protocol from the first and second transport protocols;
using the selected first transport protocol to transmit a second request to the server identified in the payload of the response; and
receiving a response transmitted by the server in response to the second request.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the first request is a Constrained Application Protocol (CoAP) request message, and
the response to the first request is a CoAP response message.

### Claim 3 (depends on 1)

The method of claim 1, wherein said two or more identifiers are listed in order of preference.

### Claim 4

A method performed by a resource directory (RD) node, the method comprising:
receiving a resource registration request transmitted by a server node, the resource registration request comprising 1) a header comprising i) a method identifier identifying a method and ii) resource identifier comprising a) an RD registration resource identifier and b) a query string comprising information indicating a set of two or more transport protocols supported by the server node and 2) a payload comprising at least a first resource to be added to an RD;
receiving a request for information associated with the first resource, wherein the request for information was transmitted by a client node; and
in response to receiving the request for the information associated with the first resource, transmitting to the client node a response comprising a header comprising a response code indicating that the response further comprises a payload, wherein the payload of the response comprises a) a uniform resource locator (URL) for the first resource accessible via the server node, the URL comprising a scheme identifier identifying a protocol used for accessing the first resource, a server identifier identifying the server node, and a port identifier identifying a port and b) the information indicating the set of two or more transport protocols that are supported by the server node and that can be used for communicating with the server node using the URL for the first resource, wherein
the information comprises a single name-value pair comprising a name paired with a value comprising a set of two or more identifiers, the name specifies that each said two or more identifiers is a transport protocol identifier, and said two or more transport protocol identifiers comprise a first transport protocol identifier that identifies a first transport protocol and a second transport protocol identifier that identifies a second transport protocol, and
the information indicating the set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource is separate from the URL.

### Claim 5

A client node comprising:
memory; and
processing circuitry, wherein the client node is configured to:
transmit to a resource directory (RD) a first request for information associated with a resource of a resource type that is identified by a resource type (rt) parameter included in the first request for information;
receive a response to the first request, wherein the response to the first request comprises a header comprising a response code indicating that the response further comprise a payload, wherein the payload of the response comprises: i) a uniform resource locator (URL) for a first resource accessible via a server, the URL comprising a scheme identifier identifying a protocol used for accessing the first resource, a server identifier identifying a server, and a port identifier identifying a port, and ii) information indicating a set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource, wherein the information comprises a single name-value pair comprising a name paired with a value comprising a set of two more identifiers, the name specifies that each said two or more identifiers is a transport protocol identifier, and said two or more transport identifiers comprise a first transport protocol identifier that identifies a first transport protocol and a second transport protocol identifier that identifies a second transport protocol, wherein the information indicating the set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource is separate from the URL;
select the first transport protocol from the first and second transport protocols;
use the selected first transport protocol to transmit a second request to the server identified in the payload of the response; and
receive a response transmitted by the server in response to the second request.

### Claim 6 (depends on 5)

The client node of claim 5, wherein
the first request is a Constrained Application Protocol (CoAP) request message, and
the response to the first request is a CoAP response message.

### Claim 7 (depends on 1)

A computer program product comprising a non-transitory computer readable medium storing a computer program comprising instructions which, when executed by processing circuitry, causes the processing circuitry to carry out the method of claim 1.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first transport protocol is any one of user datagram protocol (UDP), a combination of UDP and datagram transport layer security (DTLS), transmission control protocol (TCP), a combination of TCP and transport layer security (TLS), WebSocket, a combination of WebSocket and TLS, and quick UDP internet connections (QUIC).

### Claim 9 (depends on 1)

The method of claim 1, wherein the value does not contain a resource identifier.

### Claim 10 (depends on 4)

The method of claim 4, wherein
the value does not contain a resource identifier.

### Claim 11 (depends on 5)

The client node of claim 5, wherein the value does not contain a resource identifier.

### Claim 12

A resource directory (RD) node comprising:
memory; and
processing circuitry, wherein the RD node is configured to:
receive a resource registration request transmitted by a server node, the resource registration request comprising 1) a header comprising i) a method identifier identifying a method and ii) resource identifier comprising a) an RD registration resource identifier and b) a query string comprising information indicating a set of two or more transport protocols supported by the server node and 2) a payload comprising at least a first resource to be added to an RD;
receive a request for information associated with the first resource, wherein the request for information was transmitted by a client node; and
in response to receiving the request for the information associated with the first resource, transmit to the client node a response comprising a header comprising a response code indicating that the response further comprises a payload, wherein the payload of the response comprises a) a uniform resource locator (URL) for the first resource accessible via the server node, the URL comprising a scheme identifier identifying a protocol used for accessing the first resource, a server identifier identifying the server node, and a port identifier identifying a port and b) the information indicating the set of two or more transport protocols that are supported by the server node and that can be used for communicating with the server node using the URL for the first resource, wherein
the information comprises a single name-value pair comprising a name paired with a value comprising a set of two or more identifiers, the name specifies that each said two or more identifiers is a transport protocol identifier, and said two or more transport protocol identifiers comprise a first transport protocol identifier that identifies a first transport protocol and a second transport protocol identifier that identifies a second transport protocol, and
the information indicating the set of two or more transport protocols that are supported by the server and that can be used for communicating with the server using the URL for the first resource is separate from the URL.

### Claim 13 (depends on 12)

The RD node of claim 12, wherein the value does not contain a resource identifier.
