Publish/subscribe messaging pattern in communications among mobile computing devices
AssigneeWhatnot, Inc.
InventorsLogan Head, Alexander Loukissas
Life of this patent
Estimating the term…
Abstract
Systems and method may implement a publish/subscribe messaging framework for distributing messages among a plurality of mobile computing devices. A particular “publish/subscribe channel” may be implemented in the context of an auction for one or more items, e.g., collectibles such as trading cards, toys, and/or figurines. The implementation of the publish/subscribe messaging framework may allow for real-time communications of developments in the auction(s) which, in combination with a real-time video stream from a host to a plurality of guests in the channel, amounts to an improved user experience at host devices and guest devices.
Claims23
One or more servers comprising:
- one or more processors;
- and
- one or more memories storing (1) a registry defining a publish/subscribe channel and a plurality of message classes associated with messages to be transmitted via the publish/subscribe channel, and (2) non-transitory computer executable instructions that, when executed via the one or more processors, cause the one or more servers to:
- responsive to first communications received from a first client computing device, establish the first client device as a host device in the publish/subscribe channel, the publish/subscribe channel enabling the host device to publish, to the one or more servers, messages belonging to a first set of one or more message classes from among the plurality of message classes defined by the registry, the messages comprising information associated with one or more items;
- provide, to each of a plurality of second client computing devices, an indication of the publish/subscribe channel being available to each of the plurality of second client devices;
- responsive to second communications from respective ones of the plurality of second client devices, establish the respective ones of the plurality of second client devices as guest devices in the publish/subscribe channel, the establishing of the guest devices causing each of the plurality of guest devices to be subscribed to automatically receive, from the one or more servers, messages belonging to a second set of one or more messages classes from among the plurality of message classes defined by the registry;
- cause a real-time video stream to be transmitted to each of the plurality of guest devices, the real-time video stream originating from the host device;
- receive, from the host device via the publish/subscribe channel, third communications indicative at least of a particular item for sale from among the one or more items, the third communications belonging to one or more classes from among the first set of message classes;
- and
- responsive to receiving the third communications from the host device, automatically transmit, to each of the plurality of guest devices via the publish/subscribe channel, fourth communications indicating a plurality of real-time values indicative of the particular item, a price of the particular item, and an end time of the sale of the particular item, the fourth communications belonging to one or more classes from among the second set of message classes.
A computer-implemented method comprising:
- responsive to first communications received from a first client computing device, establish, via one or more processors of one or more servers, the first client device as a host device in a publish/subscribe channel, the publish/subscribe channel being defined by a registry defining a plurality of message classes associated with messages to be transmitted via the publish/subscribe channel, the publish/subscribe channel enabling the host device to publish, to the one or more servers, messages belonging to a first set of one or more message classes from among the plurality of message classes defined by the registry, the messages comprising information associated with one or more items;
- providing, via the one or more processors to each of a plurality of second client computing devices, an indication of the publish/subscribe channel being available to each of the plurality of second client devices;
- responsive to second communications from respective ones of the plurality of second client devices, establishing, via the one or more processors, the respective ones of the plurality of second client devices as guest devices in the publish/subscribe channel, the establishing of the quest devices causing each of the plurality of quest devices to be subscribed to automatically receive, from the one or more servers, messages belonging to a second set of one or more messages classes from among the plurality of message classes defined by the registry;
- causing, via the one or more processors, a real-time video stream to be transmitted to each of the plurality of guest devices, the real-time video stream originating from the host device;
- receiving, from the host device via the publish/subscribe channel and via the one or more processors, third communications indicative at least of a particular item for sale from among the one or more items, the third communications belonging to one or more classes from among the first set of message classes;
- and
- responsive to receiving the third communications from the host device, automatically transmitting, via the one or more processors to each of the plurality of quest devices via the publish/subscribe channel, fourth communications indicating a plurality of real-time values indicative of the particular item, a price of the particular item, and an end time of the sale of the particular item, the fourth communications belonging to one or more classes from among the second set of message classes.
One or more computer readable media storing non-transitory computer executable instructions that, when executed via one or more processors of one or more servers, cause the one or more servers to:
- responsive to first communications received from a first client computing device, establish the first client device as a host device in a publish/subscribe channel, the publish/subscribe channel being defined by a registry defining a plurality of message classes associated with messages to be transmitted via the publish/subscribe channel, the publish/subscribe channel enabling the host device to publish, to the one or more servers, messages belonging to a first set of one or more message classes from among the plurality of message classes defined by the registry, the messages comprising information associated with one or more items;
- provide, to each of a plurality of second client computing devices, an indication of the publish/subscribe channel being available to each of the plurality of second client devices;
- responsive to second communications from respective ones of the plurality of second client devices, establish the respective ones of the plurality of second client devices as guest devices in the publish/subscribe channel, the establishing of the guest devices causing each of the plurality of guest devices to be subscribed to automatically receive, from the one or more servers, messages belonging to a second set of one or more messages classes from among the plurality of message classes defined by the registry;
- cause a real-time video stream to be transmitted to each of the plurality of guest devices, the real-time video stream originating from the host device;
- receive, from the host device via the publish/subscribe channel, third communications indicative at least of a particular item for sale from among the one or more items, the third communications belonging to one or more classes from among the first set of message classes;
- and
- responsive to receiving the third communications from the host device, automatically transmit, to each of the plurality of quest devices via the publish/subscribe channel, fourth communications indicating a plurality of real-time values indicative of the particular item, a price of the particular item, and an end time of the sale of the particular item, the fourth communications belonging to one or more classes from among the second set of message classes.
Dependencies are inferred from the claim text.