Method and system for application level load balancing in a publish/subscribe message architecture
First Claim
1. A computer-implemented method for processing a request at a first remote relay, the method comprising:
- receiving the request at the first remote relay from a first client, wherein the request comprises a subscription request or a publication request;
determining, by the first remote relay, if the request is either the subscription request or the publication request;
upon determining that the request is the subscription request, providing a subscription message from the first remote relay to each of a first set of central relays from among more than one set of central relays, wherein the subscription message comprises information related to the subscription request;
upon determining that the request is the publication request, providing a publication message from the first remote relay to one central relay in each of the first set of central relays and a second set of central relays, wherein the publication message comprises information related to the publication request;
determining, by the first remote relay, if a publication received from one of the central relays in either the first set of central relays or the second set of central relays is intended for the first client based on correspondence information from the publication with the information from the subscription request; and
providing the publication to the first client if information from the publication corresponds to the information from the subscription request.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of publishing a message includes receiving a subscription request at a first remote relay from a first client and transmitting a subscription message from the remote relay to each of a first set of central relays. The method also includes receiving a publication request at a second remote relay from a second client and 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 a second set of central relays. The method further includes determining, at the first central relay, that a target matches at least a portion of a pattern, transmitting the message string from the first central relay 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.
106 Citations
12 Claims
-
1. A computer-implemented method for processing a request at a first remote relay, the method comprising:
-
receiving the request at the first remote relay from a first client, wherein the request comprises a subscription request or a publication request; determining, by the first remote relay, if the request is either the subscription request or the publication request; upon determining that the request is the subscription request, providing a subscription message from the first remote relay to each of a first set of central relays from among more than one set of central relays, wherein the subscription message comprises information related to the subscription request; upon determining that the request is the publication request, providing a publication message from the first remote relay to one central relay in each of the first set of central relays and a second set of central relays, wherein the publication message comprises information related to the publication request; determining, by the first remote relay, if a publication received from one of the central relays in either the first set of central relays or the second set of central relays is intended for the first client based on correspondence information from the publication with the information from the subscription request; and providing the publication to the first client if information from the publication corresponds to the information from the subscription request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method of operating remote relays, the method comprising:
-
receiving, at a first remote relay, a subscription request from a first remote client, wherein the subscription request includes a target; recording, in a computer readable medium of the first remote relay, identify information associated with the first remote client and information associated with the target; providing a subscription message to each of a first set of central relays, wherein the subscription message includes the target; receiving, at the first remote relay, a publication request from a second remote client, wherein the publication request includes a message string characterized by a pattern; providing a publication message from the first remote relay to a first central relay of a first set of central relays and a second central relay of a second set of central relays, wherein the publication message includes the message string; receiving, at the first remote relay, the message string from the first central relay; determining, at the first remote relay, that the target matches at least a portion of the pattern; and providing the message string from the first remote relay to the first client. - View Dependent Claims (10, 11, 12)
-
Specification