Branchcache

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

Технологія BranchCache призначена для прискорення роботи з документами у філіях за рахунок їхнього кешування. Технологія з'явилася лише у Windows 7/Windows 2008 R2, відповідно і доступна вона лише користувачам домену, які працюють у цих операційних системах. Точніше, клієнтами технології можуть бути комп'ютери з ОС Windows 7 лише випусків професійного та максимального.

Технологія BranchCache дозволяє кешувати у філії інформацію з основного офісу, що надається із серверів Windows 2008 R2, як за протоколом SMB (Server Message Block, блок повідомлень сервера) (звичайні мережеві папки загального доступу), так і за протоколом HTTP/HTTPS (з веб- сервера – IIS).

Існує два варіанти налаштування технології. Варіант виділеного кеша передбачає наявність у філії сервера Windows 2008 R2, на якому зберігається та оновлюється кеш. У варіанті розподіленого кешу дані зберігаються на системах користувача (Windows 7). Вибір варіанта здійснюється при налаштуванні технології (визначається в груповій політиці), кожен має сильні та слабкі сторони і має бути обраний залежно від конфігурації філії.

Якщо досить грубо описати технологію BranchCache, процес відбувається так. При запиті даних клієнт спочатку звертається на сервер основного офісу (тому якщо цей сервер недоступний, то і скористатися кешованими даними, що зберігаються в офісі, не вдасться). Сервер надає метадані файлу (строго кажучи, файл розбивається на блоки та контролюється саме хеш-функція блоку), тобто його хеш-функцію. В силу особливостей роботи IIS хеш-функція клієнтом буде сформована лише при другому зверненні до файлу за протоколом HTTP,відповідно, дані з кешу можна буде отримати лише за третього звернення до цього файлу. При роботі з протоколом SMB дані в кеші будуть доступні під час другого звернення до файлу. Клієнт, отримавши хеш-функцію, перевіряє наявність файлу у філії (широкомовним 1 запитом у разі розподіленого кешу та унікальним - при зберіганні кешу на сервері). Якщо файл є в кеші, він виходить із комп'ютерів філії, якщо ні (або, наприклад, оновлений на сервері і хеш-функції не збігаються), то копіюється каналом зв'язку центральний офіс - філія. Природно, що кожному етапі перевіряються права доступу до файлу.

Щоб увімкнути BranchCache, слід додати компонент BranchCache (BranchCache для віддалених файлів у разі файлового сервера) у налаштуваннях сервера та налаштувати групову політику як для сервера, так і для клієнтів. Додатково бажано – для підвищення рівня захищеності даних – налаштувати для серверів використання сертифікатів (опис доступний у документації за технологією).