HTTP-based message broker architectures for communications between a cloud-based controller and network devices of a wireless communications network and related methods
An application of a cloud-based controller forwards a message to a message broker of the cloud-based controller. The message is then transmitted to a network device of a wireless communications network over a WebSocket tunnel connection. Thereafter, an acknowledgment is received in response to transmitting the message at a gRPC proxy for the message broker.
1 . A method for a cloud-based controller to communicate with a network device of a wireless communications network, the method comprising:
forwarding a message from an application of the cloud-based controller to a message broker of the cloud-based controller;
translating the message into a translated message suitable for transmission to the network device;
transmitting, from the cloud-based controller, the translated message to the network device over a WebSocket tunnel; and
receiving an acknowledgment in response to transmitting the translated message at a gRPC proxy for the message broker, wherein the cloud-based controller comprises the gRPC proxy,
wherein the message broker is configured to receive additional messages from a plurality of different applications of the cloud-based controller, and
wherein the message broker includes a plurality of queues, and the message and the additional messages are routed to queues of the message broker based on destination addresses of the message and the additional messages.
2 . The method of claim 1 , further comprising forwarding the message to a WebSocket server prior to transmitting the message to the network device.
3 . The method of claim 1 , wherein the message and the additional messages are all routed to the network device through the WebSocket tunnel.
4 . The method of claim 1 , wherein the message is received at a WebSocket client of the network device and then forwarded to a message broker client library of the network device.
5 . The method of claim 1 , wherein the message broker comprises a fire and forget message broker.
6 . The method of claim 1 , wherein the acknowledgment is received at the message broker and passed to the application of the cloud-based controller.
7 . The method of claim 1 , wherein the acknowledgment is received at an ingress controller of the cloud-based controller and passed directly to the application of the cloud-based controller.
8 . The method of claim 1 , wherein the acknowledgment includes an address of the application of the cloud-based controller.
9 . A method of controlling a network device of a wireless communications network, the method comprising:
forwarding messages from a plurality of services of a cloud-based controller to the network device over a single, WebSocket tunnel between the cloud-based controller and the network device,
wherein a message broker of the cloud-based controller includes a plurality of queues, and the messages are routed to the queues of the message broker based on destination addresses of the messages, prior to forwarding to the network device.
10 . The method of claim 9 , wherein the messages are forwarded from the services to the message broker of the cloud-based controller prior to being transmitted over the single, WebSocket tunnel between the cloud-based controller and the network device.
11 . The method of claim 10 , wherein the messages are forwarded from the message broker of the cloud-based controller to a gRPC proxy of the cloud-based controller prior to being transmitted over the single, WebSocket tunnel between the cloud-based controller and the network device.
12 . The method of claim 11 , further comprising receiving an acknowledgment in response to a first of the messages at the gRPC proxy of the cloud-based controller.
13 . The method of claim 12 , further comprising forwarding the first of the messages to the gRPC proxy for the message broker prior to transmitting the first of the messages to the network device.
14 . The method of claim 9 , wherein the message broker comprises a fire and forget message broker.