A method of operating a first cache device, the method comprising: receiving, at the first cache device, a request to send a first asset to a second device; determining whether the first asset is stored at the first cache device; and when the determining determines that the first asset is not stored at the first cache device, obtaining, at the first cache device, the first asset, from an origin or another cache device, calculating a cost associated with the first asset, selectively storing (S425, S435) the first asset at the first cache device based on a moving average of a marginal value of the first asset with respect to the first cache device and a characteristic marginal value of the first cache device, wherein the moving average of the marginal value of the first asset with respect to the first cache device is determined by an average inter-arrival time of the first asset divided by the cost associated with the first asset, and wherein the characteristic marginal value of the first cache device representing a cost conscious average period of time between receipt of last requests for, and eviction of, assets cached at the first cache device is determined by a characteristic time of the first asset divided by the cost associated with the first asset, and sending the first asset and the calculated cost to the second device. receiving, at the first cache device, a request to send a first asset to a second device; determining whether the first asset is stored at the first cache device; and when the determining determines that the first asset is not stored at the first cache device, obtaining, at the first cache device, the first asset, from an origin or another cache device, calculating a cost associated with the first asset, selectively storing (S425, S435) the first asset at the first cache device based on a moving average of a marginal value of the first asset with respect to the first cache device and a characteristic marginal value of the first cache device, wherein the moving average of the marginal value of the first asset with respect to the first cache device is determined by an average inter-arrival time of the first asset divided by the cost associated with the first asset, and wherein the characteristic marginal value of the first cache device representing a cost conscious average period of time between receipt of last requests for, and eviction of, assets cached at the first cache device is determined by a characteristic time of the first asset divided by the cost associated with the first asset, and sending the first asset and the calculated cost to the second device. obtaining, at the first cache device, the first asset, from an origin or another cache device, calculating a cost associated with the first asset, selectively storing (S425, S435) the first asset at the first cache device based on a moving average of a marginal value of the first asset with respect to the first cache device and a characteristic marginal value of the first cache device, wherein the moving average of the marginal value of the first asset with respect to the first cache device is determined by an average inter-arrival time of the first asset divided by the cost associated with the first asset, and wherein the characteristic marginal value of the first cache device representing a cost conscious average period of time between receipt of last requests for, and eviction of, assets cached at the first cache device is determined by a characteristic time of the first asset divided by the cost associated with the first asset, and sending the first asset and the calculated cost to the second device.