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 grouping of 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 grouping of central relays and to a member of a second grouping of central relays, wherein each grouping of central relays comprises more than one central relay and each grouping of central relays is located at a different geographic location, whereby the member of the central relays in the first grouping of central relays is operable to publish the publication message to remaining central relays in the first grouping of central relays on behalf of the one of the plurality of first relays and whereby the member of the central relays in the second grouping of central relays is operable to publish the publication message to remaining central relays in the second grouping of 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.
2 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.
105 Citations
25 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 grouping of 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 grouping of central relays and to a member of a second grouping of central relays, wherein each grouping of central relays comprises more than one central relay and each grouping of central relays is located at a different geographic location, whereby the member of the central relays in the first grouping of central relays is operable to publish the publication message to remaining central relays in the first grouping of central relays on behalf of the one of the plurality of first relays and whereby the member of the central relays in the second grouping of central relays is operable to publish the publication message to remaining central relays in the second grouping of 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, 7)
-
-
8. 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 every member of a first set of central relays and each of a second set of 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 first central relay of the first set of central relays and a second central relay of the second set of central relays, wherein each set of central relays comprises more than one central relay and wherein each set of central relays is located at a different geographic location and wherein the publication message includes the message string, wherein the first central relay in the first set of central relays is operable to publish the publication message to remaining central relays in the first set of central relays on behalf of the second remote relay and wherein the second central relays in the second set of central relays is operable to publish the publication message to remaining central relays in the second set of central relays on behalf of the second remote relay; 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 (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A publish/subscribe message architecture comprising:
-
a first set of central relays; a second set of central relays, wherein the first set of central relays are co-located at a first location and the second set of central relays are co-located at a second location geographically separated from the first location, wherein each set of central relays comprises more than one central relay; a first remote relay in communication with the first and second sets of central relays, wherein the first remote relay is operable to transmit a subscription request to every member of the central relays in the first set of central relays; a second remote relay in communication with the first and second sets of central relays, wherein the second remote relay is operable to transmit a publication message to one of the central relays in the first set of central relays and one of the central relays in the second set of central relays, wherein the one of the central relays in the first set of central relays is operable to publish the publication message to remaining central relays in the first set of central relays on behalf of the second remote relay and wherein the one of the central relays in the second set of central relays is operable to publish the publication message to remaining central relays in the second set of central relays on behalf of the second remote relay. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. 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 grouping of central relays; receiving, at one of the plurality of first relays, a publication request from a second client, the publication request including the publication message; and transmitting the publication message from the one of the plurality of first relays to a member of the first grouping of central relays and to a member of a second grouping of central relays, wherein each grouping of central relays comprises more than one central relay and each grouping of central relays is located at a different geographic location, whereby the member of the central relays in the first grouping of central relays is operable to publish the publication message to remaining central relays in the first grouping of central relays on behalf of the one of the plurality of first relays and whereby the member of the central relays in the second grouping of central relays is operable to publish the publication message to remaining central relays in the second grouping of central relays on behalf of the one of the plurality of first relays, wherein the publication message is transmitted from at least one of the grouping of central relays to the one of the plurality of first relays, and wherein the publication message is transmitted from the one of the plurality of first relays to the first client.
-
Specification