Patent ID: 8489674

Claim:
A first data center, included in plurality of data centers of a publish/subscribe system, comprising: a message store operable to store one or more messages belonging to one or more topics; a metadata store operable to store information concerning the first data center; a cross-data-center component operable to exchange one or more of the messages with other ones of the data centers; and a plurality of message processors, wherein a first one of the message processors is operable to: receive a request with respect to a first one of the topics from a client device associated with a user and connected with the first message processor; determine whether the first message processor itself is currently responsible for the first topic; if the first message processor itself is currently responsible for the first topic, then service the request; and if the first message processor itself is not currently responsible for the first topic, then: determine whether any of other ones of the message processors is currently responsible for the first topic based on the information stored in the metadata store; if a second one of the message processors is currently responsible for the first topic, then redirect the request to the second message processor to be serviced; and if none of the other ones of the message processors is currently responsible for the first topic, then: select one of the message processors to be responsible for the first topic; if the selected one of the message processors is the first message processor, then service the request; and if the selected one of the message processors is not the first message processor, then redirect the request to the selected one of the message processors to be serviced.