US 12,438,828 B2
Systems and methods for brokering device communications within distributed publisher-subscriber networks
Steven Hartley, Pointe-Claire (CA); Frank Ghenassia, Ramat Gan (IL); and Manohar S. Nemilikonda, Cumming, GA (US)
Assigned to GM Global Technology Operations LLC, Detroit, MI (US)
Filed by GM GLOBAL TECHNOLOGY OPERATIONS LLC, Detroit, MI (US)
Filed on Feb. 20, 2023, as Appl. No. 18/171,519.
Prior Publication US 2024/0283751 A1, Aug. 22, 2024
Int. Cl. H04L 49/201 (2022.01); H04L 43/10 (2022.01); H04L 67/562 (2022.01)
CPC H04L 49/201 (2013.01) [H04L 43/10 (2013.01); H04L 67/562 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A method for brokering communications between a plurality of devices within a distributed publisher-subscriber system, the method comprising:
constructing a plurality of publisher-subscriber connections between the devices and a gateway, each of the publisher-subscriber connections being operable for supporting communications between the gateway and a corresponding one of the devices;
receiving a plurality of subscribe packets at the gateway from the devices after constructing the publisher-subscriber connections, each of the subscribe packets including a subscribe topic identifying the device from which the subscribe packet was received;
associating a respective one of the subscribe topics with each of the publisher-subscriber connections, each of the subscribe topics identifying the device associated therewith each of the publisher-subscriber connections;
receiving a plurality of publish packets at the gateway, each of the publish packets being transmitted from a producer one of the devices via a corresponding one of the publisher-subscriber connections, and each of the publish packets including a header identifying the gateway as a gateway topic and a payload having both a cloud event (CE) for publication and a publish topic subscribed to by a subscriber one of the devices different from the producer one of the devices;
identifying, for each of the received publish packets, which of the devices is the subscriber one of the devices by comparing the publish topic in the payload of the publish packet to each of the subscribe topics associated with each of the publisher-subscriber connections;
replacing the gateway topic in the header of the publish packet with the publish topic in the payload of the publish packet, the gateway topic identified in the header differing from the publish topic identified in the payload; and
relaying the publish packets from the gateway via the publisher-subscriber connections with the subscribe topics associated with the publish topics identified in the payloads of the publish packets, the publish packets relayed from the gateway including at least a portion of the payload received at the gateway.