О распределенных вычислениях (РВ) говорят, если различные операции по обработке данных в процессе решения задачи выполняются на более чем одном узле сети.
Если в решении задачи участвуют только два узла, то имеем двухзвенную (двухуровневую) клиент-серверную систему РВ В зависимости от того, как поделены между узлами точка доступа, данные и функции обработки данных различают три модели распределенных вычислений:
В случае FS территориально разнесены клиентская программа и файловая система. В частности, при этом возникает проблема корректного обновления файлов. Все процессы клиентов и серверов имеют маркеры, содержащие имя файла и маску, в которой указаны права: только чтение атрибутов файла, только чтение самого файла, открытие файла, модификация файла, стирание. Все обращения идут через менеджер маркеров, который отслеживает соблюдение ограничений и разрешает конфликты одновременного обращения для чтения и обновления файлов. Недостаток FS — перегрузка сети из-за необходимости пересылать файлы полностью, хотя пользователю может требоваться только часть файла.
В случае RDA прикладная программа находится в компьютере-клиенте, на сервере размещены СУБД и собственно базы данных. Положительные стороны — уменьшение трафика, возможна унификация интерфейса с сервером на базе языка SQL.
DBS — двухзвенная структура дистанционного управления, основана на разделении прикладных процедур на две части: индивидуальные для каждого пользователя и общие для многих задач. В этой структуре под приложением понимают совокупность именно общих процедур. Эта совокупность обычно представляется на процедурных расширениях SQL и сохраняется в специальном словаре БД. В альтернативных вариантах (например, в RDA) все прикладные процедуры включаются в прикладные программы, и, следовательно, при необходимости их изменения приходится модифицировать практически все прикладное ПО. Показательный пример — изменение законодательства, влияющее на многие процедуры в управлении финансами, подготовке отчетности и т.п. Выделение таких процедур в отдельное приложение облегчает их модификацию. Кроме того, в DBS снижается трафик, так как обмены по сети происходят не для каждой операции с БД, а для каждой транзакции, состоящей из нескольких операций.
Перемещение прикладного программного обеспечения (ПО) или его части на специальный сервер означает образование ApS (Application Server) — трехзвенной системы, известной также под названием сервер приложений, или "монитор транзакций", или система с трехуровневой архитектурой. В ней связь через сеть имеет место как между терминалом пользователя и приложением, так и между приложением и СУБД.
Дальнейшее развитие систем распределенных вычислений приводит к созданию многозвенных систем с распределением серверных функций по многим узлам сети.
Помимо проблемы распределения серверных функций между узлами сети имеется проблема разделения этих функций между многими пользователями автоматизированных информационных систем. Эта проблема решается либо по схеме "один к одному", либо по многопотоковой схеме. В первой из них для каждого активного пользователя создается своя копия СУБД. Во второй СУБД должна обслуживать одновременно многих пользователей. Чтобы эффективно использовать многопотоковую схему в многопроцессорных вычислительных системах, можно иметь СУБД на нескольких процессорах, транзакции между СУБД распределяются программой-диспетчером.
Для реализации многопротокольности разрабатываются специальные технологии. Наиболее известной среди них является технология ODBC (Open Data Base Connectivity) фирмы Microsoft. Фактически ODBC представляет собой библиотеку функций для обращений прикладных программ (ПП) к различным СУБД на основе языка SQL. Из ПП обращение происходит к виртуальной СУБД, в которой с помощью драйверов осуществляется переход к реальной СУБД.
Монитор транзакций организует выполнение также сложных транзакций, требующих более одного сервера приложений. В свою очередь, разделение функций приложения между несколькими серверами упрощает модификацию ПО приложения.
Ряд фирм разрабатывает инструментальные средства для создания трехуровневых приложений.