CONNECTIVITY FRAMEWORK USING STANDARD MESSAGING PROTOCOL AT THE TRANSPORT LAYER
A method comprises receiving a message, the received message including a header and a payload; preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and sending the publish message including the received message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier. In one or more examples, the method is performed at a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.
1 . A method comprising:
receiving a message, the received message including a header and a payload;
preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and
sending the publish message including the received message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier.
2 . The method of claim 1 , wherein the method is performed at a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.
3 . The method of claim 1 , wherein the received message is communicated to the computing device identified by the at least portion of the destination identifier responsive to a subscription to the topic comprising the at least portion of the destination identifier.
4 . The method of claim 1 , wherein preparing the publish message comprises:
inserting a copy of the at least portion of the destination identifier into the one or more headers of the publish message as the topic.
5 . The method of claim 1 , wherein preparing the publish message comprises:
inserting a publish type indicator in the one or more headers as a packet type.
6 . The method of claim 1 , wherein the topic comprises the destination identifier and the computing device comprises an end node identified by the destination identifier.
7 . The method of claim 1 , wherein the topic comprises a portion of the destination identifier, the computing device comprises a gateway node identified by the portion of the destination identifier, and an end node connected to the gateway node is identified by the destination identifier.
8 . The method of claim 1 , wherein the receiving, the preparing, and the sending is performed at a front-end server of a cloud computing service including the server adapted with a publish-subscribe messaging protocol, the method comprising:
at the server adapted with the publish-subscribe messaging protocol,
receiving, from the front-end server, the publish message including the received message;
checking a subscription list associated with the topic; and
responsive to identifying the at least portion of the destination identifier in the subscription list, forwarding the publish message including the received message to communicate the received message to the end node via the gateway node.
9 . The method of claim 8 , comprising:
at another front-end server of the cloud computing service,
receiving, from the server, the forwarded publish message including the received message; and
forwarding the received message to the computing device identified by the at least portion of the destination identifier.
10 . The method of claim 1 , wherein preparing the publish message comprises:
preparing the publish message in accordance with a Message Queuing Telemetry Transport (MQTT) message format.
11 . The method of claim 1 , wherein the message comprises a first message, the method comprising:
receiving a second message;
preparing a subscribe message based on the received second message, the subscribe message including one or more headers and a payload, the one or more headers of the subscribe message including a topic, the topic comprising a cluster identifier associated with the gateway node; and
sending the subscribe message to the server, for subscribing to the topic comprising the cluster identifier associated with the gateway node.
12 . A non-transitory computer-readable medium having computer-executable instructions, the computer-executable instructions to cause one or more processors to perform the acts of:
receiving a message, the received message including a header and a payload;
preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and
sending the publish message including the message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier.
13 . The non-transitory computer-readable medium of claim 12 , wherein the computer-executable instructions are to execute on the one or more processors of a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.
14 . The non-transitory computer-readable medium of claim 12 , wherein the received message is communicated to the computing device identified by the at least portion of the destination identifier responsive to a subscription to the topic comprising the at least portion of the destination identifier.
15 . The non-transitory computer-readable medium of claim 12 , wherein the computer-executable instructions are to cause the one or more processors to perform the act of preparing the publish message further comprising:
inserting a copy of the at least portion of the destination identifier into the one or more headers of the publish message as the topic.
16 . The non-transitory computer-readable medium of claim 12 , wherein the computer-executable instructions are to cause the one or more processors to perform the act of preparing the publish message further comprising:
inserting a publish type indicator in the one or more headers as a packet type.
17 . The non-transitory computer-readable medium of claim 12 , wherein the topic comprises a portion of the destination identifier, the computing device comprises a gateway node identified by the portion of the destination identifier, and an end node connected to the gateway node is identified by the destination identifier.
18 . The non-transitory computer-readable medium of claim 12 , wherein the computer-executable instructions are to cause the one or more processors to perform the act of preparing the publish message further comprising:
preparing the publish message in accordance with a Message Queuing Telemetry Transport (MQTT) message format.
19 . A system comprising:
a broker server adapted with a publish-subscribe messaging protocol; and
a front-end server to:
receive a message, the received message including a header and a payload;
prepare a publish message based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and
send the publish message including the received message to the broker server, for communicating the received message to a computing device identified by the portion of the destination identifier.
20 . The system of claim 19 , comprising:
a gateway node comprising the computing device, the gateway node identified by the portion of the destination identifier,
wherein an end node connected to the gateway node is identified by the destination identifier.
21 . The system of claim 20 , wherein:
the broker server is to:
receive, from the front-end server, the publish message including the received message;
check a subscription list associated with the topic; and
responsive to identifying the portion of the destination identifier in the subscription list, forward the publish message to communicate the received message to the end node via the gateway node.
22 . The system of claim 19 , wherein the broker server comprises a Message Queuing Telemetry Transport (MQTT) broker server.
23 . The system of claim 19 , wherein the system comprises a cloud computing service.
24 . The system of claim 19 , wherein the message comprises a first message and the front-end server comprises a first front-end server, and wherein:
a second front-end server to:
receive a second message from a gateway node;
prepare a subscribe message based on the received second message, the subscribe message including one or more headers and a payload, the one or more headers of the subscribe message including a topic, the topic comprising a cluster identifier associated with the gateway node; and
send the subscribe message to the broker server, for subscribing to the topic comprising the cluster identifier associated with the gateway node.
25 . The system of claim 24 , wherein the second message comprises an enrollment message.