Systems and methods for brokering device communications within distributed publisher-subscriber networks
AssigneeGM Global Technology Operations LLC
InventorsSteven Hartley, Frank Ghenassia, Manohar S. Nemilikonda
Life of this patent
Estimating the term…
Abstract
A method and system for brokering cloud event (CE) communications between a plurality of devices operable within a distributed publisher-subscriber system. The brokering may include constructing a plurality of publisher-subscriber connections between the devices and a gateway, and in response to receiving a plurality of publish packets at the gateway, relaying the publish packets from the gateway via the connection associated with a topic identified therein.
Claims20
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.
A method for brokering communications between a plurality of devices, the method comprising:
- constructing a plurality of connections between the devices and a gateway, each of the connections connecting the gateway to only one of the devices;
- receiving a plurality of subscribe packets at the gateway from the devices after constructing the connections, each of the subscribe packets including a header containing a subscribe topic identifying the device from which the subscribe packet was received;
- associating a respective one of the subscribe topics topic with each of the connections such that the respective subscribe topic identifies the device associated with the connection;
- receiving a plurality of publish packets, each of the publish packets being transmitted from a producer one of the devices via a corresponding one of the 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 connections;
- and
- relaying the publish packets from the gateway via the connections with the subscribe topics associated with the publish topics identified in the payloads of the publish packets, including replacing the topic identified in the header of the received publish packets with the topic identified in the payload before relaying the publish packets such that the topic in the header of each of the publish packets relayed from the gateway identifies the device intended to be in receipt thereof.
A system for brokering communications, comprising:
- a plurality of devices operable for executing publisher-subscriber communications;
- and
- a gateway configured for:
- constructing a plurality of publisher-subscriber connections with the devices, each of the publisher-subscriber connections being operable for supporting publisher-subscriber communications between the gateway and a corresponding one of the devices;
- receiving a plurality of subscribe packets 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 with each of the publisher-subscriber connections;
- receiving a plurality of publish packets, 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 a cloud event (CE) for publication and identifying 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 packets with the publish topic in the payload before relaying the publish packet, the publish topic replacing the gateway topic in the header of each of the publish packets relayed from the gateway identifying the device intended to be in receipt of the publish packet;
- 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.
Dependencies are inferred from the claim text.