Freshness and update consistency: There are many possible ways of propagating updates from the data origins to intermediate nodes that have materialized views of this data. Some possible solutions would be invalidation messages pushed by the server or client-initiated validation messages; however, both of these incur overhead that limits scala- bility. Another approach is a timeout/expiration-based protocol, as employed by DNS and web caches. This approach has lower overhead, at the cost of providing much looser guarantees about freshness and consistency. Still, this is much stronger than what P2P currently gives us, which is no guarantee at all. It should not be surprising that the data.