locked
BranchCache distributed cache mode RRS feed

  • Question

  • I'm running SBS 2011 in my main office and have a branch office that connects over a site-to-site VPN.   I have setup BranchCache according to the TechNet guides.

    http://technet.microsoft.com/en-us/library/dd637785(v=ws.10).aspx

    http://technet.microsoft.com/en-us/library/dd637820(v=ws.10).aspx

    I need to know a few additional details about how to configure the remote office client computers for distributed cache mode.

    The remote office consists of 10 computers but only 7 will need the ability to utilize BranchCache.  Of the seven (6) are Windows 7 Professional and (1) is Windows 7 Ultimate.   

    Running netsh branchcache show status all shows that group policy has enabled BranchCache on all of the systems, which I find curious if Enterprise or Ultimate is required. 

    First, how many computers [upgraded to Enterprise or Ultimate] are required to serve and/or utilize the cached files in the branch office; one, two.., or all?  I haven’t found anything in the documentation that explicitly states this.  Even though netsh shows BC “Running” on the Windows 7 Pro clients the “Active Current Cache Size” stays at zero and the perfmon BC monitor doesn’t show any activity, whereas it does on the system running Windows 7 Ultimate.  Can I have one computer with Enterprise or Ultimate caching and distributing the files to the other Windows 7 Pro computers in the remote office?  Or do all of the computers have to be running Enterprise or Ultimate to take advantage of this feature?

    Second, regarding shared database files of type .ldb, .rdb. I found this, KB2591402 article http://support.microsoft.com/kb/2591402 and have applied it to my SBS 2011 server.  I know that BC will cache these file types, as I can see that they are resident in the default Offline folders store on the local machines.  However, does BC effectively support a read/write scenario when multiple users are accessing (sharing) the same file(s), specifically the aforementioned database file types?

    Thank you in advance for answers to these questions.

    Friday, June 28, 2013 12:14 PM

Answers

  • Hi,

    From this article:

    BranchCache Step-by-Step Guide: Demonstrate Distributed Cache Mode in a Test Lab
    http://technet.microsoft.com/en-us/library/ff468721(v=ws.10).aspx

    Clients need to be either Windows® 7 Enterprise or Windows® 7 Ultimate in order to get it work as Distributed Cache Mode.


    TechNet Subscriber Support in forum |If you have any feedback on our support, please contact tnmff@microsoft.com.

    Monday, July 1, 2013 6:13 AM
  • Hi there -

    I pinged the BranchCache team about this issue, and they provided the following information:

    • Windows 7 Pro contains only the APIs and service; BITS, Office 2013, and any other application written directly to the BranchCache APIs will work on Pro.  The HTTP and SMB stack integration is only in Enterprise and Ultimate.  This is why the customer is seeing service status in Pro, but not seeing anything go into the cache.
    • After a client in Distributed mode has cached some data, it will share the data with other machines that request it. There’s no way to delegate this to another client PC; that’s the Hosted Cache server role, which can be enabled on Windows Server 2008 R2 Enterprise and up, or Windows Server 2012 Standard and up.
    • For files that change frequently (BranchCache doesn’t care about the file type itself), you’ll run into two limitations:

    1. BranchCache doesn’t accelerate writes, only reads. Writes always have to go back to the content server.
    2. V1 BranchCache uses large fixed-size chunks, which can reduce the probability that a changed file can be partially retrieved from cache when accessing a new version, depending on the read/write patterns of that file.  V2 BranchCache (Win8 clients, Server 2012 content servers / hosted cache servers) uses small, variable-sized chunks and is much more likely to retrieve the bulk of a modified file from cache.

    Thanks -


    James McIllece

    Monday, July 1, 2013 6:00 PM

All replies

  • Hi,

    From this article:

    BranchCache Step-by-Step Guide: Demonstrate Distributed Cache Mode in a Test Lab
    http://technet.microsoft.com/en-us/library/ff468721(v=ws.10).aspx

    Clients need to be either Windows® 7 Enterprise or Windows® 7 Ultimate in order to get it work as Distributed Cache Mode.


    TechNet Subscriber Support in forum |If you have any feedback on our support, please contact tnmff@microsoft.com.

    Monday, July 1, 2013 6:13 AM
  • Thanks for the reply Shaon.  So basically all clients in a remote office must be running either Windows® 7 Enterprise or Windows® 7 Ultimate to use Distributed Cache Mode, not just one running Ultimate as a described in my scenario.  Then just that one client running Ultimate is currently the only one caching at this point.  What I still find curious is why Windows 7 Pro shows that BC is enabled using the netsh and exhibits some of the behaviors as if it's functioning, e.g. the Offline files folder shows the that it is caching the files regardless of the Windows version. Strange.

    Do you have any feedback on my second question about the hotfix and file types that the remote office needs to share?  This is the most import piece because even if I upgrade the remaining clients to Ultimate and BC doesn't support these file types to be shared in read/write mode then it's pointless to go any further with this strategy.

     
    Monday, July 1, 2013 3:45 PM
  • Hi there -

    I pinged the BranchCache team about this issue, and they provided the following information:

    • Windows 7 Pro contains only the APIs and service; BITS, Office 2013, and any other application written directly to the BranchCache APIs will work on Pro.  The HTTP and SMB stack integration is only in Enterprise and Ultimate.  This is why the customer is seeing service status in Pro, but not seeing anything go into the cache.
    • After a client in Distributed mode has cached some data, it will share the data with other machines that request it. There’s no way to delegate this to another client PC; that’s the Hosted Cache server role, which can be enabled on Windows Server 2008 R2 Enterprise and up, or Windows Server 2012 Standard and up.
    • For files that change frequently (BranchCache doesn’t care about the file type itself), you’ll run into two limitations:

    1. BranchCache doesn’t accelerate writes, only reads. Writes always have to go back to the content server.
    2. V1 BranchCache uses large fixed-size chunks, which can reduce the probability that a changed file can be partially retrieved from cache when accessing a new version, depending on the read/write patterns of that file.  V2 BranchCache (Win8 clients, Server 2012 content servers / hosted cache servers) uses small, variable-sized chunks and is much more likely to retrieve the bulk of a modified file from cache.

    Thanks -


    James McIllece

    Monday, July 1, 2013 6:00 PM
  • Thanks James for the checking with the MS team and getting the details, greatly appreciated.  Based on everyone's feedback it doesn't sound like BranchCache is designed to be a transaction service, i.e. to be a replication service capable of recording offline changes and syncing them up later.

    I may look at using RemoteApp as an alternative unless anyone has any other suggestions what we should use?

    Thanks again Shaon and James!

    Tuesday, July 2, 2013 9:03 AM
  • That's correct -- BranchCache is designed to accelerate a remote service that is reachable. It explicitly doesn't attempt to replace connectivity to the remote service, either by letting writes complete before the remote server has seen them or by letting the data be accessed while the server is inaccessible.  A large part of that is to leave questions of consistency and authentication to the protocols riding on top of BranchCache so as to avoid imposing a single model across them.

    Monday, July 8, 2013 6:05 PM