A supercluster, comprising: a plurality of machines (114a-114e, 116, 118, 120, 122, 124, 126) comprising a first machine, a second machine, and a third machine; a publish-subscribe, PUb-Sub, channel to which each of the plurality of machines is configured to be subscribed, wherein each of the plurality of machines is configured to: publish (320, 415, 515) availability status and resource allocation information to the Pub-Sub channel, wherein the resource allocation information identifies content data stored by each of the plurality of machines; receive availability status and resource allocation information of at least another one of the plurality of machines via the Pub-Sub channel; forward a request received from a client for content data to the another one of the plurality of machines based on the availability status and the resource allocation information on the Pub-Sub channel, and wherein the first machine is configured to own the content data owned by the second machine based on the availability status and the resource allocation information on the Pub-Sub channel and based on the second machine authorizing the first machine to own the content data, and wherein the first machine is configured to provide the content data to the third machine based on receiving a relayed request for the content data from said third machine, wherein said third machine received (435, 535) said request from a client for content data. a plurality of machines (114a-114e, 116, 118, 120, 122, 124, 126) comprising a first machine, a second machine, and a third machine; a publish-subscribe, PUb-Sub, channel to which each of the plurality of machines is configured to be subscribed, wherein each of the plurality of machines is configured to: publish (320, 415, 515) availability status and resource allocation information to the Pub-Sub channel, wherein the resource allocation information identifies content data stored by each of the plurality of machines; receive availability status and resource allocation information of at least another one of the plurality of machines via the Pub-Sub channel; forward a request received from a client for content data to the another one of the plurality of machines based on the availability status and the resource allocation information on the Pub-Sub channel, and publish (320, 415, 515) availability status and resource allocation information to the Pub-Sub channel, wherein the resource allocation information identifies content data stored by each of the plurality of machines; receive availability status and resource allocation information of at least another one of the plurality of machines via the Pub-Sub channel; forward a request received from a client for content data to the another one of the plurality of machines based on the availability status and the resource allocation information on the Pub-Sub channel, and wherein the first machine is configured to own the content data owned by the second machine based on the availability status and the resource allocation information on the Pub-Sub channel and based on the second machine authorizing the first machine to own the content data, and wherein the first machine is configured to provide the content data to the third machine based on receiving a relayed request for the content data from said third machine, wherein said third machine received (435, 535) said request from a client for content data.