BACKGROUND

Data communication is often desired between client devices that are in proximity to each other. Near field communication techniques have been a common solution for such communication. Examples include Bluetooth, Bluetooth Low Energy (BLE), and Wi-Fi technologies. However, these techniques generally are insecure and non-resilient (for example, they do not offer high availability for scenarios where there are issues with connection stability). New and improved approaches for communication is desirable.

SUMMARY

A first device adapted to communicate via a client connection service, in accordance with a first aspect of this disclosure, includes a processor and a machine-readable medium storing instructions therein which, when executed by the processor, cause the device to identify a second device registered with the client connection service, wherein the second device is different than the first device. The instructions may also cause the device to obtain, from the client connection service via a data communication network, a first resource identifier for delivering request messages to the second device via the client connection service. Furthermore, the instructions may cause the device to identify, based on the obtained first resource identifier, a first target resource for a first request message directed to the second device, wherein the first target resource specifies a first host included in the client connection service. The instructions also cause the device to send, to the client connection service via the data communication network, the first request message to the first target resource for delivery to the second device by the client connection service. Also, the instructions cause the one or more processors to receive, from the client connection service via the data communication network, a first response message provided by the second device as a response to the first request message.

A method of communicating between devices via a client connection service, in accordance with a second aspect of this disclosure, includes identifying, at a first device, a second device registered with a client connection service, wherein the second device is different than the first device. The method may also include obtaining, at the first device from the client connection service via a data communication network, a first resource identifier for delivering request messages to the second device via the client connection service. The method may further include identifying, at the first device based on the obtained first resource identifier, a first target resource for a first request message directed to the second device, wherein the first target resource specifies a first host included in the client connection service. In addition, the method includes sending, by the first device to the client connection service via the data communication network, the first request message to the first target resource for delivery to the second device by the client connection service. Also, the method includes receiving, at the first device from the client connection service via the data communication network, a first response message provided by the second device as a response to the first request message.

A method of communicating between devices via a client connection service, in accordance with a third aspect of this disclosure, includes assigning, by a client connection service, a first resource to a first device. The method may also include receiving, at the client connection service, a first request message sent by a second device to a first target resource, wherein the second device is different than the first device. The method may further include selecting the first device based on the first target resource corresponding to the first resource. In addition, the method includes generating, by the client connection service, a first forwarded request message based on the received first request message. Also, the method includes transmitting, via a first transport channel, the first forwarded request message from the client connection service to the first device. The method may further include receiving, at the client connection service from the first device via the first transport channel, a first response message to the first forwarded request message. The method also includes transmitting, from the client connection service to the second device, a second response message generated based on the first response message as a response to the first request message.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

