Ví dụ, công ty bạn có trụ sở chính tại Sài Gòn và văn phòng chi nhánh tại Hà Nội, trong thời gian làm việc các user ở Hà Nội thường xuyên phải truy cập đến các server Sài Gòn để copy dữ liệu.... nếu số lượng truy cập quá nhiều trong cùng thời điểm thì trong hệ thống sẽ xảy ra các trường hợp như tốc độ truy cập chậm, hoặc truy cập thất bại. Vậy có cách nào để tối ưu hóa tốc độ truy cập từ văn phòng chi nhánh đến các server tại trụ sở chính?

BranchCache ra đời nhằm giải quyết nhu cầu trên. BranchCache là 1 tính năng mới trong Windows Server 2008 R2 và Windows 7, có chức năng giảm thiểu lưu lượng truy cập file, lưu lượng truy cập website hoặc tăng tốc độ truy cập của các ứng dụng thông qua đường truyền WAN khi người dùng truy cập nội dung trong một văn phòng trung ương từ các văn phòng chi nhánh. Với ví dụ trên, sau khi user1 tại văn phòng chi nhánh copy thành công 1 file bất kỳ trên server tại văn phòng chính, thì BranchCache sẽ lưu nội dung đó thành 1 bản sao tại server hoặc tại client của văn phòng chi nhánh. Sau đó, nếu user2 cũng download file này , thì nội dung sẽ được lấy từ bản sao lưu trữ trên server hoặc client tại văn phòng chi nhánh mà không cần thông qua đường truyền WAN.

BranchCache hỗ trợ IPv4, IPv6 và các phương pháp chứng thực như SSL hoặc IPsec. Để sử dụng tính năng BranchCache, hệ thống của bạn phải đáp sử dụng hệ điều hành Windows Server 2008 R2 và Windows 7.

CÁC MÔ HÌNH BRANCHCACHE:

image001
Mô hình BranchCache được chia làm 2 loại: Hosted Cache và Distributed Cache.

- Trong mô hình Hosted Cache, nội dung cache sẽ được lưu trữ tập trung tại một máy server (Windows Server 2008 R2) đặt tại văn phòng chi nhánh

- Trong mô hình Distributed Cache, nội dung cache sẽ được lưu trữ trực tiếp trên các client (Windows 7) đặt tại văn phòng chi nhánh.

1. Mô hình Hosted Cache

image002
Qui trình hoạt động của Hosted Cache:


1. Client1 truy cập dữ liệu trên Server của trụ sở chính

2. Server sẽ chứng thực và kiểm tra quyền. Nếu thành công, Server sẽ trả về cho Client1 số ID của dữ liệu cần truy cập

3. Sau khi Client1 nhận số ID, Client1 gửi ID cho Hosted Cache Server của van phòng chi nhánh để tìm dữ liệu. Bởi vì đây là lần đầu tiên truy cập nên trong Hosted Cache sẽ không có dữ liệu nào. Client1 lại tiếp tục trả ID về cho Server để yêu cầu lấy dữ liệu, Server sẽ kiểm tra ID và cho phép Client1 truy cập dữ liệu.

4. Sau khi nhận được dữ liệu, Client1 sẽ thiết lập kết nối SSL đến Hosted Cache Server để lưu ID của dữ liệu vừa nhận

5. Client2 truy cập cùng một dữ liệu mà Client1 đã truy cập trước đó . Server chứng thực và kiểm tra quyền, sau đó sẽ trả về cho Client2 số ID của dữ liệu

6. Client2 dùng ID đó gửi đến cho Hosted Cache Server để truy cập dữ liệu có số ID tương ứng

2. Mô hình Distributed Cache

image003
Qui trình hoạt động của Distributed Cache:


1. Client1 truy cập dữ liệu trên Server của trụ sở chính

2. Server sẽ chứng thực và kiểm tra. Nếu thành công, Server sẽ gởi cho Client1 số ID của dữ liệu. Client1 sẽ phát tín hiệu tìm kiếm dữ liệu (dựa trên số ID) trong toàn hệ thống của văn phòng chi nhánh. Vì là lần đầu tiên truy cập nên trong hệ thống của văn phòng chi nhánh không có dữ liệu Client1 cần. Client1 lại tiếp tục trả ID về cho Server để yêu cầu truy cập dữ liệu, Server sẽ kiểm tra ID và cho phép Client1 truy cập dữ liệu, và dữ liệu được cache lại ngay trên ỗ cứng của Client1

3. Client2 truy cập cùng một dữ liệu mà Client1 đã truy cập trước đó . Server chứng thực và kiểm tra quyền, sau đó sẽ trả về cho Client2 số ID của dữ liệu

4. Client2 gửi yêu cầu có chứa ID đến tất cả các máy trong toàn hệ thống của văn phòng chi nhánh để tìm xem máy nào đang giữ file có ID tương ứng bằng giao thức multicast Web Services Discovery (WS-Discovery)

5. Khi phát hiện trên Client1 có cache dữ liệu tương ứng, Client2 sẽ sẽ truy cập dữ liệu được cache trên Client1