When it comes to reliability in distributed publish/subscribe systems, there are two main categories of systems: reliable systems and best-effort systems. The former category gives the highest priority to guaranteed and ordered delivery while the latter aims for high throughput and low end-to-end delay. In this paper, we propose a method to improve the delivery guarantees of the basic unreliable service offered by best-effort publish/subscribe systems. The method we propose does not require any modification to the protocol design or broker software, and thus operates using the publish/subscribe API they provide. This method is similar to previous work on reliable multicast, and in particular it is based on a technique that enables subscribers to cooperatively recover lost messages. Through experimental evaluation we demonstrate the effectiveness and performance of our recovery scheme in presence of frequent message losses and show that it enables subscribers to recover more than ...