Windows Server 2012 Branchcache vs. DFS-R
Solution 1:
BranchCache is read only and does not precache. It is mainly used for stuff like update distribution etc. - it is a CACHE.
DFS does no locking. NO WAN technology that is resilient does locking because locking is not possible if / when the WAN link goes down - so it is either resilience, or locking.
If you need versioning / locking to work properly, you only can use a central server. BranchCache in this moment CAN help with download speed for REPEATED downloads. Only.
If you dont have either - i.e. you need to do a lot of updates from many places (which is a QUITE unusual scenario - most of the time files are not locked like that in companies) then you have to pay up for more bandwidth when the need arises. Or yo ucan use some thind party DFS-R item, but then you have ANOTHER problem.... which is making sure that the bandwidth does not go down replicating tons of unused stuff because DFS-Replication is totally along file share lines, not an on demand element.
This really is a "Damn if you do, damn if you don't" scenario. Especially with a LAN (high latency, certain unreliability) in place.
BranchCache shines for example as update cache - no need to have a local WSUS server in a branch office. There is no locking as it is a pure caching mechanism - you can not edit a BranchCache file. That said, as there is no locking a write will lock the CENTRAL file - and the updated version then propagate, so it may actually work for you ;)
DFS is great for read only stuff (install images, software images for installation, policy documents that get edited centrally etc.). Funny enough MOST of the files I have fall in this category - the stuff we edit here is mostly in central sotrages with other sync technologies (sharepoint document management). DFS is a great technical solution for the technical replication needs.
http://pertorben.wordpress.com/2012/05/29/dfs-r-or-branchcache/
has a very good in depth explanation.
BranchCache may possibly work.... it wont stop single download latency but it will handle repeated reads. It also allows locking.
Edit: Upon forther chechking it looks like preloading is now possible. Please refer to
http://technet.microsoft.com/en-us/library/jj127252.aspx