|  | Механизм взаимодействия процессов на уровне MQ (Message Queue) | 
Введение
В данном документе опубликованы попытки спроектировать и описать механизм межпроцессового 
  взаимодействия для передачи сообщений в локальной системе и передачи сообщений между 
  удалёнными системами.
Структура
Структура системы передачи сообщений представлена на рис. 
  1. (формат OpenOffice 
  Drawing).
Компоненты:
  - SYSn - Система
- APPn - Приложение
- SERVICEn - Сервис
- IPCDispatcher - Диспетчер сообщений
- IPCBridgeManager - Диспетчер мостов
- FIFOIn - FIFO буфер для входящих с точки зрения приложения сообщений
- FIFOOut - FIFO буфер для исходящих с точки зрения приложения сообщений
Алгоритм работы диспетчера магистралей сообщений
Алгоритм показан на рис. 
  2. (формат OpenOffice 
  Drawing).
Основные моменты:
  - Диспетчер очереди сообщений IPCDispatcher является самостоятельной нитью процесса 
    IPC, которая постоянно сканирует все магистрали на предмет появления новых сообщений 
    и занимается их трансляцией в соответствии с политикой безопасности
- Каждое сообщение рассматривается минимум с четырьмя параметрами-адресами: 
    
      - системы-отправителя
- потока-отправителя
- системы-получателя
- потока-получателя
 
- Сообщения от удалённой системы и от локальной системы транслируются по-разному, 
    но для конечного получателя разницы между ними нет. Это позволяет использовать 
    единый механизм для работы с разными сообщениями от разных источников - как локальных, 
    так и удалённых
-  В алгоритме реализована простая система подтверждения доставки на уровне локальной 
    системы
- При обработке сообщений от удалённых систем может возникнуть ситуация, когда 
    в очереди от удалённой системы может появиться сообщение для другой удалённой 
    системы. В данном алгоритме эта ситуация исключается путём игнорирования данных 
    сообщений. В дальнейшем возможность такой трансляции сообщений может быть активирована. 
    Она будет необходима для MQProxy - Message Queue Proxy - довереный агент для мостового 
    соединения систем. Этакий прокси/роутер/файервол на уровне сессий межпроцесового 
    взаимодействия в точке объединения двух сетей
- В случае передачи сообщений из локальной системы в удалённую все сообщения помещаются 
    в локальную магистраль удалённой системы: 
    
      - Мост передаёт эти сообщения в удалённую систему на удалённую магистраль 
        локальной системы
- На удалённой системе IPCDispatcher, в свою очередь, получает это сообщение 
        из магистрали и передаёт его потоку-получателю, отсылая в магистраль подтверждение 
        доставки или сообщение о невозможности доставки
- Подтверждение путешествует через мост и попадает в локальную систему в магистраль 
        удалённой системы
- Локальный диспетчер доставляет подтверждение потоку-источнику начального 
        сообщения
 
Таким образом, и организуется гарантированная доставка сообщений через мост и единство 
  методов системы подтверждений.