A method of controlling a network of interconnected publish/subscribe message brokers for routing publications from a plurality of publishers to interested subscribers, each message broker being arranged to receive publications from publishers both directly and via other brokers and to receive subscriptions and unsubscriptions from subscribers and other brokers for publications meeting predefined criteria identified in the subscriptions or unsubscriptions, the method comprising performing, via a processor, the steps of:
- creating and managing a list correlating subscribers with the predefined criteria;
- matching received publications with the subscription list and forwarding publications which match listed subscriptions which are in an active state to interested subscribers and interested other brokers in the list;
- and
- in response to received subscriptions and unsubscriptions, generating and forwarding proxy subscriptions and proxy unsubscriptions to other brokers;
- wherein the method further comprises:
- establishing a retention period for subscriptions;
- in response to receipt of an unsubscription from a subscriber or a proxy unsubscription from another broker, retaining the corresponding subscription in a retained state for the retention period during which matching publications will not be forwarded to the subscriber or other broker and no proxy unsubscriptions will be forwarded to other brokers;
- and
- in response to a new subscription for the same matching publications as the retained subscription during the retention period causing a reversion of the retained subscription to its active state, whereby propagation of proxy subscriptions and unsubscriptions is reduced in dependence on the duration of the retention period.