В общем случае термин "средства транзакций" относится к услугам и протоколам уровня приложений (уровня 7) ЭМВОС [4]. В ряде случаев это понятие связывают с услугами и протоколами, выполняющими функции представления, сессионные и транспортные (уровней 6, 5 и 4) ЭМВОС.
В СС 7 услуги транзакций уровня 7 реализуются специализированной прикладной подсистемой средств транзакций (ТСАР), а услуги транзакций уровней 6, 5 и 4, как это будет показано ниже, предо-ставляются подсистемой промежуточных услуг (ISP).
Средства транзакций СС 7 служат для поддержки взаимодействия между прикладными процессами (или между разными элементами одного прикладного процесса), которые размещены в территориально разнесенных пунктах ЦСС. Любой такой процесс (или элемент процесса) внутри одного объекта ЦСС является пользователем услуг, формируемых средствами транзакций, размещенными на этом объекте. Сами средства транзакций того или иного объекта сети являются в свою очередь пользователями сетевых услуг, предоставляемых размещенными на этом объекте подсистемами SCCP и МТР (рис. 2.23).
Средства ТСАР могут использоваться для поддержки обмена информацией:
- между станциями и/или узлами коммутации сети связи;
- станцией (узлом) и специализированным сетевым центром (базой данных, пунктом управления услугами интеллектуальной сети, центром технической эксплуатации (ЦТЭ) и т. п.);
- специализированными сетевыми центрами.
На рисунке 2.30 в терминах интерфейсов, услуг, точек доступа к услугам и сервисных примитивов отражается взаимодействие подсистемы средств транзакций ТСАР и подсистемы промежуточных услуг ISP с подсистемами соседних уровней модели СС 7.
Пользователями ТСАР в СС 7, как правило, являются подсистемы пользователей (приложения):
- мобильной связи различных стандартов (MUP, HUP, MAP и др.);
- интеллектуальной сети (INAP);
- эксплуатационного управления СС 7 (OMAP).
Рис. 2.30. Интерфейсы подуровней ТС и сервисные примитивы
Указанные приложения могут потребовать услуги транзакций двух категорий:
1. Услуги, требующие обмена информацией в реальном масштабе времени (без ощутимых задержек). Средства транзакций СС 7 способны предоставить такие услуги только для ограниченного объема сигнальных данных.
2. Услуги, не предъявляющие жестких требований по своевременности доставки информации. Снижение ограничений в отношении задержек позволяет средствам транзакций СС 7 обслуживать больший объем сигнальных данных.
Диалог между пользователями услуг ТСАР организуется в виде обмена запросами и ответами. Инициатор диалога посылает корреспонденту запрос определенной операции, а отклик корреспондента на этот запрос содержит сведения о результате выполнения (невыполнения) операции. По отношению ко всем этим действиям принято говорить, что они связаны с обращением к одной и той же операции.
И запрос, и отклик представляют собой блоки, называемые в сети СС 7 компонентами. Запрос и отклик одной и той же операции снабжаются одинаковыми идентификаторами (ID обращения, IDО). Благодаря такой идентификации одновременно могут быть активизированы несколько обращений, причем обращения эти могут относиться как к одной и той же, так и к разным операциям. Соответственно компонентам будут присвоены одинаковые или разные IDО.
Множество функций, связанных с обработкой компонентов, образует верхний подуровень ТСАР – подуровень компонентов (Component Sub-Layer, CSL). Через границу между этим подуровнем и пользователем подсистемы ТСАР компоненты проходят по одному. Инициатор диалога может передать к подуровню компонентов последовательно несколько компонентов до того, как они будут переданы (в одном сообщении) корреспонденту. Несколько компонентов, принятых в одном сообщении, всегда передаются пользователю-адресату по одному и в той же последовательности, в какой они были переданы пользователем-отправителем.
Последовательность компонентов, которыми обмениваются между собой два пользователя подсистемы ТСАР при выполнении одного приложения, образует диалог. Компоненты содержат параметр, идентифицирующий диалог (ID диалога, IDD), и у всех компонентов одного диалога этот параметр имеет одно и то же значение.
Диалоги могут быть неструктурированными и структурированными. Для неструктурированного диалога характерно то, что пользователь-инициатор передает компоненты, на которые не ожидается откликов. В этом случае связь между двумя пользователями в явном виде не определена, она существует лишь неявно. Компоненты передаются в однонаправленных сообщениях, и сам факт передачи однонаправленного сообщения говорит о неструктурированном диалоге. Пользователь может иметь дело сразу с несколькими операциями, максимальное число которых зависит от количества доступных в данное время уникальных значений идентификатора IDО.
Если при приеме однонаправленного сообщения обнаружена ошибка протокола, для уведомления отправителя об этом факте также используется однонаправленное сообщение.
Структурированный диалог подразумевает связь между двумя пользователями подсистемы ТСАР в явном виде. При этом пользователь-инициатор указывает начало, продолжение и окончание этой связи. Два пользователя могут вести одновременно несколько структурированных диалогов, идентифицируя каждый из них с помощью уникального IDD. Поскольку для каждого IDD существует свое пространство имен IDО, одно и то же значение IDО может повторяться в разных диалогах. Структурированный диалог предполагается двусторонним – на фазе его продолжения возможен дуплексный обмен компонентами.
Подуровень компонентов (ТС-подуровень) предусматривает организацию соответствия между запросами и откликами. Связанное с запросом операции значение IDО вводится в отклик на этот запрос. Возможны четыре класса операций:
- класс 1 – требует отклик и при удаче, и при неудаче;
- класс 2 – использует отклик только в случае неудачи;
- класс 3 – предусматривает отклик только в случае удачи;
- класс 4 – отклик не нужен ни в том, ни в другом случае.
ТС-подуровень предусматривает ряд средств управления диалогом. Эти средства позволяют регистрировать:
- прием компонента, форма которого отличается от принятой;
- прием компонента, нарушающего правила следования запросов и откликов;
- отсутствие отклика на запрос в течение времени, превышающего заданный порог, назначенный для операций класса 1, 2 и 3.
Функционирование ТС-подуровня и подсистемы ТСАР в целом можно представить в терминах примитивов. На границе между подсистемой-пользователем ТСАР и подуровнем компонентов используются ТС-примитивы двух родов: связанные с содержанием компонентов (компонентные примитивы) и сопровождением диалога (диалоговые примитивы).
Смысл и содержание каждого компонента определяются его типом. К настоящему времени существует пять типов компонентов, с каждым из которых связаны общие имена компонентных примитивов, перечисленных ниже:
Invoke – обращение к операции. Этот компонент запрашивает выполнение встречной стороной определенной операции. Он может быть связан с другой операцией, к которой обращалась встречная сторона.
Return result (Not last) – часть данных с информацией о результате выполнения операции. Применяется, когда все данные с информацией о результате не могут быть целиком размещены в одном компоненте. Пользователю пришлось разделить информацию на несколько сегментов, причем данный компонент содержит один из этих сегментов, за которым последуют другие.
Return result (Last) – последняя (или единственная) часть данных с информацией о результате выполнения операции. Этот компонент свидетельствует о том, что операция успешно завершена.
Return error – успешно завершить операцию не удалось. Этот компонент содержит информацию о причине того, что операция не была завершена.
Reject – отказ в приеме к обработке компонента, поступившего от встречной стороны.
Отказ обязательно содержит информацию о вызвавшей его причине: отсутствии ресурсов и нужных для выполнения операции или наличии в поступившем компоненте той или иной ошибки (компонент неизвестного типа; компонент с нестандартной структурой или со структурой, не соответствующей объявленному типу компонента; компонент с недопустимым или с используемым для другой операции идентификатором обращения; компонент с неизвестным кодом операции и т. п.).
Имена диалоговых примитивов отражают следующие услуги:
Unidirectional – запрос/индикация неструктурированного диалога, однонаправленная передача сообщений;
Begin – начало диалога;
Continue – продолжение диалога;
End – окончание диалога;
U-Abort – внезапное прекращение диалога пользователем;
P-Abort – уведомление пользователя о прекращении диалога.
Примитивы ТС-подуровня именуются путем прибавления к такому имени указателя подуровня. Например, TC-Result-NL – передача не последней части сегментированного сообщения о результате успешной операции. Перечень примитивов TC-подуровня представлен в таблицах 1 и 2 приложения 4.
Подуровень компонентов является пользователем подуровня транзакций (Transaction Sub-Layer, TSL). Подуровень транзакций (TR-подуровень) содержит средства, поддерживающие обмен компонентами между подуровнями компонентов и обеспечивающие использование услуг нижележащих уровней (SCCP и МТР) для двустороннего переноса через сеть СС 7 сообщений двух взаимодействующих подсистем ТСАР, размещенных в разных пунктах этой сети. При организации неструктурированного диалога TR-подуровень передает TR-сообщения, содержащие один или несколько компонентов (связанных с операциями класса 4), от "своего" подуровня компонентов, являющегося отправителем, к подуровню компонентов, являющемуся адресатом. Если для поддержки такого диалога требуется передать несколько TR-сообщений, логическая связь между ними (их принадлежность одной и той же транзакции) в явном виде не определяется.
При обеспечении неструктурированного диалога подуровень TR идентифицирует транзакцию уникальным ID транзакции (IDT), который присутствует во всех TR-сообщениях, относящихся к этой транзакции. Для каждой транзакции подуровень компонентов указывает начало, продолжение и окончание.
Элементами взаимодействия "вверх" подуровня транзакций являются TR-примитивы. Названия и содержание всех TR-примитивов идентичны названиям и содержанию диалоговых ТС-примитивов, так как подуровень компонентов является в настоящее время единственным (пока) пользователем TR-подуровня. Информация, содержащаяся в TR-примитивах, оформляется этим подуровнем в виде сообщений, подлежащих передаче к подуровню транзакций системы-корреспондента. При этом используются диалоговые сообщения тех же пяти типов с именами, полученными прибавлением указателя под-уровня. Например, TR-Continue – продолжение.
Перечень примитивов TR-подуровня представлен в таблице 3 приложения 4, а пример соединения ТСАР – в приложении 5.
Взаимодействие TR-подуровня с подсистемой SCCP поддерживается посредством N-примитивов, рассмотренных ранее. При этом сообщения, подлежащие переносу посредством функций сетевой службы, проходят через границу между SCCP и TR-подуровнем в составе примитивов N-Unitdata (запрос, индикация).
Для переноса сообщений ТСАР через сеть СС 7 подуровень транзакций обращается напрямую к услугам подсистемы SCCP либо использует подсистему промежуточных услугISP. Последняя предназначена для согласования отдельных сообщений TR-подуровня с форматами национальных версий сетевой службы СС 7.
Сообщение ТСАР состоит из совокупности информационных элементов, размещенных в нем по определенным правилам. В каждом информационном элементе имеется три поля, содержащих целое число байт (рис. 2.31, а). Поле "ярлык" содержит данные, позволяющие отличать элементы друг от друга и должным образом интерпретировать информацию, находящуюся в поле "содержимое". Поле "длина" указывает количество байт в поле "содержимое".
Рис. 2.31. Принцип формирования информационного элемента: а – простого; б – составного
Если в поле "содержимое" присутствует единственное значение (параметр), информационный элемент является простым. Если в поле "содержимое" транспортируются другие информационные элементы, то составным. Принцип формирования составного информационного элемента иллюстрирует рисунок 2.31, б.
Сообщение ТСАР в целом строится по такому же принципу. Оно состоит из двух частей – транзакционной и компонентной (рис. 2.32). Первая из них содержит информационные элементы TC-подуровня, вторая – информационные элементы TR-подуровня. Существенно то, что компонентная часть сообщения ТСАР является одним из информационных элементов транзакционной части и содержит в себе информационные элементы подуровня компонентов. При этом каждый компонент оформлен как составной информационный элемент [4].
В заключение необходимо отметить, что в настоящее время специфицированы только те средства транзакций, которые используют услуги SCCP, не предусматривающие создание в сети СС 7 сигнальных соединений. Использование услуг, ориентированных на создание сигнальных соединений, изучается МСЭ.
Рис. 2.32. Детальная структура сообщения ТСАР