Hierarchical publish/subscribe system
First Claim
1. A method for publishing a publication message, the method comprising:
- receiving, at one of a plurality of first relays, a subscription request from a first client;
transmitting the subscription request from the one of the plurality of first relays to each member of a first set of geographically dispersed central relays;
receiving, at the one of the plurality of first relays, a publication request from a second client, the publication request including the publication message;
transmitting the publication message from the one of the plurality of first relays to a member of the first set of geographically dispersed central relays and to a member of a second set of geographically dispersed central relays, whereby the member of the geographically dispersed central relays in the first set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the first set of geographically dispersed central relays on behalf of the one of the plurality of first relays and whereby the member of the geographically dispersed central relays in the second set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the second set of geographically dispersed central relays on behalf of the one of the plurality of first relays;
determining, at the one of the plurality of first relays, that information in the subscription request matches information in the publication request; and
transmitting the publication message from the one of the plurality of first relays to the first client.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for publishing a publication message includes receiving, at one of a plurality of first relays, a subscription request from a first client and transmitting the subscription request from the one of the plurality of first relays to first and second central relays of a plurality of central relays. The method also includes receiving, at another of the plurality of first relays, a publication request from a second client. The publication request includes the publication message. The method further includes transmitting the publication message from the another of the plurality of first relays to all of the plurality of central relays, transmitting the publication message from at least one of the first and second central relays to the one of the plurality of first relays, and transmitting the publication message from the one of the plurality of first relays to the first client.
-
Citations
14 Claims
-
1. A method for publishing a publication message, the method comprising:
-
receiving, at one of a plurality of first relays, a subscription request from a first client; transmitting the subscription request from the one of the plurality of first relays to each member of a first set of geographically dispersed central relays; receiving, at the one of the plurality of first relays, a publication request from a second client, the publication request including the publication message; transmitting the publication message from the one of the plurality of first relays to a member of the first set of geographically dispersed central relays and to a member of a second set of geographically dispersed central relays, whereby the member of the geographically dispersed central relays in the first set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the first set of geographically dispersed central relays on behalf of the one of the plurality of first relays and whereby the member of the geographically dispersed central relays in the second set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the second set of geographically dispersed central relays on behalf of the one of the plurality of first relays; determining, at the one of the plurality of first relays, that information in the subscription request matches information in the publication request; and transmitting the publication message from the one of the plurality of first relays to the first client. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A remote relay for automating client-side public key synchronization, comprising:
-
at least one processor; and a non-transitory memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform a method for publishing a publication message, the method comprising; receiving a subscription request from a first client; transmitting the subscription request to each member of a first set of geographically dispersed central relays; receiving a publication request from a second client, the publication request including the publication message; transmitting the publication message to a member of the first set of geographically dispersed central relays and to a member of a second set of geographically dispersed central relays, whereby the member of the geographically dispersed central relays in the first set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the first set of geographically dispersed central relays on behalf of the one of the plurality of first relays and whereby the member of the geographically dispersed central relays in the second set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the second set of geographically dispersed central relays on behalf of the one of the plurality of first relays; determining, by the at least one processor, that information in the subscription request matches information in the publication request; and transmitting the publication message to the first client.
-
-
7. A method for publishing a message, the method comprising:
-
receiving a subscription request at a first remote relay from a first client, wherein the subscription request includes a target; transmitting a subscription message from the first remote relay to each member of a first set of geographically dispersed central relays, wherein the subscription message includes the target; receiving a publication request at a second remote relay from a second client, wherein the publication request includes a message string characterized by a pattern; transmitting a publication message from the second remote relay to a member of the first set of geographically dispersed central relays and to a member of a second set of geographically dispersed central relays, whereby the member of the geographically dispersed central relays in the first set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the first set of geographically dispersed central relays on behalf of the one of the plurality of first relays and whereby the member of the geographically dispersed central relays in the second set of geographically dispersed central relays is operable to publish the publication message to remaining geographically dispersed central relays in the second set of geographically dispersed central relays on behalf of the one of the plurality of first relays, determining, at least one of the first and second central relays, that the target matches at least a portion of the pattern; transmitting the message string from at least one of the first and second central relays to the first remote relay; determining, at the first remote relay, that the target matches at least a portion of the pattern; and transmitting the message string to the first client. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
Specification