Адаптивный шлюз для переключения транзакций и данных на ненадежных сетях, используя основанные на контексте правила

Иллюстрации

Показать все

Изобретение относится области телекоммуникации. Технический результат заключается в обеспечении интеллектуального переключения транзакций на прикладном уровне на основании содержимого прикладного уровня транзакций, динамической контекстной информации транспортной среды и/или динамических правил для переключения транзакций. Технический результат достигается за счет того, что могут быть выбраны несколько возможных поставщиков услуг для типа транзакции, и шлюз может контролировать не только время кругового прохода по сети (сетям) до различных возможных поставщиков услуг, но также время, необходимое для завершения транзакции на прикладном уровне и возврата ответа. Приложение выбирается на посылающей стороне сети, и также выполняется форматирование на прикладном уровне на посылающей стороне. Шлюз использует модульный код и данные и отдельные экземпляры кода обработки для возможности осуществления динамического обновления. Правила для выбора услуги приложения могут селективно загружаться на шлюз с клиента. Правила для различных доступных услуг приложения могут распределяться по различным шлюзам. 5 н. и 16 з.п. ф-лы, 21 ил.

Реферат

Перекрестные ссылки на родственные заявки

Настоящая заявка относится к заявке США №___________, озаглавленной “SCHEMA-BASED DYNAMIC PARSE/BUILD ENGINE FOR PARSING MULTI-FORMAT MESSAGES” (Основанный на схемах механизм динамического синтаксического анализа/сборки для синтаксического анализа многоформатных сообщений), (реестр поверенного №16222U-020300US), поданной одновременно с данным документом и включенной данным документом по ссылке для любых целей.

Уровень техники

Настоящее изобретение в основном относится к телекоммуникации и, более конкретно, к методам интеллектуального переключения транзакций на прикладном уровне, основываясь на содержимом транзакции, динамической контекстной информации для транспортной среды и/или динамических правилах для переключения транзакций.

Когда транзакции, такие как авторизация кредитных карточек, транзакции по дебетовым карточкам, транзакции по электронным чекам и т.д., выполняются на клиенте, клиенты посылают транзакции поставщику услуг. Поставщик услуг предоставляет услуги клиенту, такие как авторизации кредитных карточек, совершение транзакций и т.д. Обычно клиенты маршрутизируют транзакции на процессор транзакций поставщика услуг для обработки. Транзакция может маршрутизироваться по различным сетям. Различные сети могут представлять собой несовместимые сети, которые могут быть или могут не быть надежными.

Обычно транзакция требует быстрого ответного действия и высокой надежности. Например, пользователь может выполнять транзакцию по кредитной карточке с клиентом. В данной транзакции может быть необходимым послание запроса на авторизацию кредитной карточки для обработки на процессоре транзакций, который может способствовать авторизации транзакции. Транзакция может быть завершена неуспешно или может быть задержана, так как произошел отказ одной из различных сетей, по которой посылается транзакция, или процессора транзакций, который используется для обработки транзакции для клиента. Если произошел какой-либо отказ, клиент подвергается опасности потерять транзакцию и любые выгоды, получаемые от завершения транзакции.

Обычно транзакция может быть разбита на последовательность пакетов. Варианты осуществления настоящего изобретения работают с транзакциями на прикладном уровне, тогда как большая часть известного уровня техники относится к маршрутизации на сетевом уровне, работая с пакетами. Каждый индивидуальный пакет может маршрутизироваться на пакетном уровне или маршрутизироваться на основе информации в пакете, такой как информация в заголовке. Следующие патенты описывают маршрутизацию пакетов на сетевом уровне (в противоположность переключению на прикладном уровне в вариантах осуществления настоящего изобретения). Патент 5974460 компании IBM описывает выбор одного из нескольких зеркальных сайтов в Интернете для загрузки данных посредством определения сначала, какой из сайтов имеет наилучшие скорости пересылки данных в момент времени выбора сайта. Патент 5341477 компании DEC аналогичен. Патент 5754543 компании Alcatel описывает маршрутизацию по сети, принимая во внимание стоимость передачи. Другими патентами, принимающими во внимание стоимость передачи, являются патент 6535488 и патент 6487286 компании Nortel. Патент 5459837 компании DEC описывает систему для контролирования производительности серверов по сети и для определения, какой сервер имеет наибольшую пропускную способность для оперирования запросом. Патент 5521910 компании Cabletron Systems изображает пакеты в каноническом формате кадра и определяет наилучший путь по сети, используя различные метрики. Патент 6839700 описывает выравнивание нагрузки запросов содержимого, основываясь на стоимости генерирования документов. Патент 6754188 описывает маршрутизацию пакетов, основываясь на содержимом пакета - является ли оно пересылкой речи, видео или файлов.

Патент США 6460120 компании IBM изображает сетевой процессор, который с первыми тремя уровнями модели взаимодействия открытых систем (ВОС). Процессор, который обращается к уровням 4 и выше для управления потоком, чтобы принимать решения по маршрутизации, основываясь на качестве обслуживания, показан в патенте США 6430184 компании Top Layer Networks. Он позволяет выполнять различение между основанной на приоритете электронной почтой и мультимедиа, основанной на гарантировании пропускной способности.

Патент 6732175 компании Intel изображает переключение в сети, основываясь на исследовании содержимого пакета, чтобы определить тип бизнес-транзакции (например, заказа на покупку), и направлении его на соответствующий сервер для обработки этого типа обслуживания. Это делается после того, как будет послано сообщение по сети по адресу назначения веб-сайта, не раньше, чем оно будет послано по сети. Существует много примеров систем на сервере назначения, которые маршрутизируют сообщения, основываясь на содержимом, такие как интеллектуальные выравниватели нагрузки. Патент 6302326 компании Diebold описывает преобразование финансовых сообщений в общий формат, затем маршрутизацию их на соответствующую программу в системе. Патент 5805798 компании EDS описывает сетевые узлы, которые контролируют состояние серверов финансовой обработки и маршрутизируют сообщения на средство резервирования в случае недоступности.

Вышеупомянутые патенты сосредотачивают свое внимание или на маршрутизации индивидуальных пакетов на пакетном уровне, или на маршрутизации данных, основываясь на статических правилах. Они могут обеспечить эффективную маршрутизацию пакета; однако не рассматривается переключение транзакции на прикладном уровне, основываясь на динамическом контексте транспортной среды и динамических правилах. Кроме того, где выполняется выбор между процессорами, то это обычно выполняется на узле, таком как выравниватель нагрузки, между сетью и пунктом назначения. Следовательно, желательно обеспечить методы для интеллектуального переключения транзакции на прикладном уровне.

Современные технологии на прикладном уровне требуют, чтобы клиент оперировал взаимодействием на прикладном уровне. Клиенту необходимо изменять свои программные системы в ответ на изменения на процессоре транзакций и также необходимо поддерживать различные форматы сообщений, ожидаемые различными процессорами транзакций. Клиенту также необходимо обрабатывать сбои на серверных системах и в сетях и выполнять аварийное переключение на альтернативные серверные процессоры, чтобы обеспечить непрерывную работу для пользователей клиента.

Сущность изобретения

Варианты осуществления настоящего изобретения в основном относятся к переключению транзакций на прикладном уровне, основываясь на содержимом прикладного уровня транзакции, динамической контекстной информации транспортной среды и/или динамических правилах для переключения транзакций. Прикладной маршрутизатор может предусматриваться на клиентской границе сети, чтобы (1) обеспечивать интеллектуальную маршрутизацию, основанную на информации прикладного уровня, (2) выполнять предварительную обработку услуг перед направлением на сервер или (3) выполнять выгруженные услуги без маршрутизации на сервер и возвращение ответа клиенту.

В одном варианте осуществления обеспечивается интеллектуальное переключение транзакций. Клиент посылает транзакцию на шлюз, который затем конфигурируется на интеллектуальное переключение транзакции на процессор транзакций. Шлюз конфигурируется на переключение транзакции, основываясь на содержимом прикладного уровня, текущем состоянии транспортной среды и/или динамических правилах для переключения транзакций. Например, несколько возможных поставщиков услуг могут быть выбраны для данного типа транзакции, и шлюз может контролировать не только время кругового прохода по сети (сетям) до различных возможных поставщиков услуг, но также время, необходимое для завершения транзакции поставщиком услуг на прикладном уровне и возвращения ответа.

Переключение согласно вариантам осуществления настоящего изобретения выполняется на посылающей стороне сети, а не на принимающей стороне. Транзакции не только форматируются для маршрутизации по конкретной сети, но они форматируются для обработки конкретным процессором на конце назначения сети, чем выполнять такое форматирование на принимающем узле. Таким образом, узел на посылающей стороне сети (сетей) включает в себя информацию о рабочем потоке процессоров на принимающей стороне сети (сетей). В одном варианте осуществления это является возможным и практичным посредством работы только с ограниченным количеством полей в конкретном формате, таким как ограниченное количество полей, необходимое для одобрения финансовой транзакции. В одном варианте осуществления маршрутизация выбирает между Интернетом и частной финансовой сетью для маршрутизации финансовых транзакций для одобрения. Однако варианты осуществления настоящего изобретения могут применяться с любым типом транзакции или содержимым, таким как заказ и распределение музыки, видео и т.д.

В одном варианте осуществления поставщики услуг прикладного уровня могут публиковать, объявлять или регистрировать свою услугу по сети (сетям). Шлюз согласно вариантам осуществления настоящего изобретения может принимать и сохранять все или выбранные из этих опубликованных услуг. Шлюз может проверить, что издателем является доверенный субъект (такой как зарегистрированный банк или торговец) и определить, подходит ли услуга издателя к транзакциям клиента (клиентов) шлюза. Услуги могут регистрироваться и обновляться динамически, без необходимости ожидания окончания дня или вмешательства человека-оператора.

В одном варианте осуществления, используя хранимые подробности услуг, предоставляемых поставщиками услуг, шлюз может не только выбирать, какой услуге послать транзакцию, но может форматировать транзакцию соответствующим образом для поставщика услуг на прикладном уровне. Кроме того, на шлюзе могут выполняться некоторые этапы предварительной обработки или приведения к требуемым техническим условиям перед посылкой транзакции по сети поставщику услуг. Альтернативно, в некоторых или во всех случаях вся обработка транзакции может выполняться на шлюзе согласно правилам, принятым от поставщика услуг. Например, могут одобряться транзакции по кредитным карточкам, меньшие чем пороговая величина, не только без необходимости идти в банк для одобрения, но также даже без необходимости прохождения по сети до компании кредитной карточки.

В одном варианте осуществления клиент может задать правила или критерии для определения, какого поставщика услуг выбрать. Эти правила или критерии могут быть сохранены на шлюзе. Эти критерии клиента могут загружаться перед транзакцией или могут загружаться непосредственно перед или после того, как будет послано сообщение о транзакции.

В одном варианте осуществления возможности шлюза согласно настоящему изобретению распределяются по нескольким шлюзам. Каждый шлюз физически располагается на границе сети, в точке доступа клиента, и может быть даже в физическом помещении клиента. Шлюз хранит информацию, касающуюся клиента (клиентов), с которыми он соединен, и зависит от других шлюзов для предоставлении информации об услугах, с которыми соединены другие шлюзы. Это в некоторой степени аналогично маршрутизатору, получающему табличную информацию от других маршрутизаторов, с которыми он соединен, для передачи сетевых пакетов, кроме тех случаев, когда варианты осуществления настоящего изобретения имеют дело с услугами прикладного уровня. Каждому шлюзу необходимо только сохранять широковещательную информацию поставщика услуг, в которой он или его клиенты заинтересованы, и необходимо только сохранять адрес других шлюзов, через которые он выполняет это соединение, хотя могут потребоваться другие соединения кроме этого.

Дополнительное понимание сущности и преимуществ изобретений, раскрытых в данном документе, может быть осуществлено ссылкой на остальные части описания изобретения и прилагаемые чертежи.

Краткое описание чертежей

Фиг.1 изображает систему для обработки транзакций согласно одному варианту осуществления настоящего изобретения.

Фиг.2 изображает более подробный вариант осуществления шлюза согласно одному варианту осуществления настоящего изобретения.

Фиг.3 изображает упрощенную блок-схему последовательности операций способа для обработки транзакции согласно одному варианту осуществления настоящего изобретения.

Фиг.4 изображает упрощенную блок-схему последовательности операций для генерирования конфигурационной информации для услуги, предлагаемой процессором транзакций, согласно одному варианту осуществления настоящего изобретения.

Фиг.5 изображает упрощенную блок-схему последовательности операций способа для подписки на услугу согласно одному варианту осуществления настоящего изобретения.

Фиг.6 изображает децентрализованную систему множества шлюзов согласно одному варианту осуществления настоящего изобретения.

Фиг.7 изображает систему, которая показывает шлюз в качестве входного шлюза согласно одному варианту осуществления настоящего изобретения.

Фиг.8 изображает систему, где шлюз представляет собой Интернет-шлюз согласно одному варианту осуществления настоящего изобретения.

Фиг.9 изображает систему, где шлюз используется в качестве беспроводного шлюза согласно одному варианту осуществления настоящего изобретения.

Фиг.10 изображает систему для обработки транзакций по стандарту ISO 8583 (Международная организация по стандартизации (МОС)) согласно одному варианту осуществления настоящего изобретения.

Фиг.11 изображает систему для синтаксического анализа сообщений согласно одному варианту настоящего изобретения.

Фиг.12 изображает вариант осуществления шлюза согласно вариантам осуществления настоящего изобретения.

Фиг.13А изображает структуру для объекта внутреннего формата сообщений (ВФС) согласно одному варианту осуществления настоящего изобретения.

Фиг.13В изображает атрибуты для определения сообщения согласно одному варианту осуществления настоящего изобретения.

Фиг.14А, 14В и 14С изображают возможное сообщение, иерархический формат с кодами идентификатора (ИД) объектов и объект ВФС для сообщения согласно одному варианту осуществления настоящего изобретения.

Фиг.15 изображает упрощенную блок-схему последовательности операций способа для инициализации механизма синтаксического анализа/сборки для обработки потока сообщений согласно одному варианту осуществления настоящего изобретения.

Фиг.16 изображает упрощенную блок-схему последовательности операций способа для динамического добавления или обновления схемы в механизме синтаксического анализа/сборки согласно одному варианту осуществления настоящего изобретения.

Фиг.17 изображает упрощенную блок-схему последовательности операций способа для синтаксического анализа входного сообщения согласно одному варианту осуществления настоящего изобретения.

Фиг.18 изображает упрощенную блок-схему последовательности операций способа для сборки выходного сообщения из объекта ВФС согласно одному варианту осуществления настоящего изобретения.

Подробное описание изобретения

Обзор обработки

В одном варианте осуществления обеспечивается интеллектуальное переключение транзакций. Транзакцией может быть авторизация кредитной карточки, транзакция по дебетовой карточке или транзакция по электронному чеку. Другие примеры транзакций включают в себя присуждение очков или других наград в программе поощрительных вознаграждений, проверку пароля для аутентификации Verified by Visa (проверено Visa), выполнение денежных переводов, вычет платежа с предоплаченной карточки, такой как карточка Visa Buxx или зарплатная карточка, обработка бесконтактного платежа с сотового телефона, пейджера, персонального цифрового помощника (ПЦП) и т.д., определение общей суммы договоров по страхованию здоровья, автомобиля или другого страхования и т.д. Клиент посылает транзакцию на шлюз, который затем конфигурируется на интеллектуальное переключение транзакции на процессор транзакций поставщика услуг. Клиентом может быть кассовый терминал (КТ), компьютер торговца, подключенный по сети к устройствам КТ или электронным кассовым аппаратам (ЭКА), киоск (такой как для купонов или денежного перевода), сервер веб-сайта Интернета и т.д.

Шлюз конфигурируется на принятие решений по переключению на прикладном уровне, основываясь на содержимом прикладного уровня транзакции, текущем состоянии транспортной среды и/или динамических правилах. Содержимое прикладного уровня может представлять собой информацию, которая обрабатывается или используется процессором транзакций при обработке транзакции. В одном варианте осуществления информацией может быть информация уровня 7 ВОС. Этот уровень непосредственно обслуживает процессор транзакций или конечного пользователя. Он включает в себя приложения, такие как авторизация кредитных карточек, приложения транзакции по дебетовой карточке и т.д. Примерными протоколами прикладного уровня являются протокол передачи файлов (ППФ), сетевая файловая система (СФС), общая файловая система Интернета (ОФСИ), протокол передачи гипертекста (ППГТ), запрос базы данных, язык структурированных запросов (ЯСЗ) и расширяемый язык разметки (РЯР). Например, при авторизации кредитной карточки содержимое прикладного уровня может включать в себя номер кредитной карточки, номер личного счета (НЛС), номер клиентского счета, общую сумму для транзакции и т.д. Процессор транзакций может использовать эту информацию для обработки транзакции.

Текущее состояние транспортной среды включает в себя информацию, поступающую в реальном масштабе времени, связанную с сетями, которые могут транспортировать транзакцию, и процессорами транзакций, которые могут обрабатывать транзакцию. Информация, поступающая в реальном масштабе времени, может включать в себя степень исправности сетевого процессора или процессора транзакций, доступность сетевого процессора или процессора транд.

Динамическими правилами может быть информация, которая используется для принятия решения, как интеллектуально переключить транзакцию. Правила используются для переключения транзакции в соответствии с содержимым прикладного уровня и текущим состоянием транспортной среды. Например, правила могут задавать, что, в зависимости от некоторого содержимого прикладного уровня и текущего состояния транспортной среды, должна быть выбрана некоторая услуга, предлагаемая поставщиком услуг. Далее, правила могут использоваться для выбора процессора транзакций для поставщика услуг, чтобы обработать транзакцию. Например, в некоторых странах может потребоваться локальная обработка для внутренних транзакций, таким образом требуя маршрутизацию на региональный центр обработки. Эти правила также могут учитывать статическую информацию, такую как стоимость сети, стоимость услуг и т.д., чтобы сделать выбор. Правила могут динамически изменяться без останова функционирования шлюза.

Шлюз также может выполнять услуги по транзакции согласно правилам. Услуги могут включать в себя обработку содержимого прикладного уровня. Например, процессоры транзакций могут конфигурироваться на обработку транзакции в других форматах. Выбранный процессор транзакций может конфигурироваться на обработку содержимого прикладного уровня в формате, отличном от содержимого прикладного уровня, находящегося в настоящий момент в транзакции. Таким образом, шлюз может изменять содержимое прикладного уровня на новый формат, так что выбранный процессор транзакций может его обрабатывать. Следовательно, шлюз может изменять информацию в транзакции на прикладном уровне. Это отличается от просмотра информации на пакетном уровне. Обычно транзакция может быть разбита на пакеты. Маршрутизатор может просматривать информацию в пакете и маршрутизировать пакет соответствующим образом. Просмотр информации на пакетном уровне, однако, не позволяет маршрутизатору выполнять услуги, используя содержимое прикладного уровня для транзакции. Например, посредством просмотра содержимого прикладного уровня для полной транзакции транзакция может интеллектуально маршрутизироваться, причем соответствующие услуги применяются к транзакции. Если индивидуальные пакеты, несущие информацию для транзакции, обрабатываются индивидуально, содержимое прикладного уровня транзакции не обрабатывается в целом.

Следовательно, обеспечивается шлюз, который интеллектуально переключает транзакцию на прикладном уровне, основываясь на содержимом прикладного уровня, текущем состоянии транспортной среды и/или динамических правилах. Шлюз также может предоставлять услуги, которые применяются на основе принятия решения о переключении.

Обзор системы

Фиг.1 изображает систему 100 для обработки транзакций согласно одному варианту осуществления настоящего изобретения. Как показано, система 100 включает в себя один или несколько клиентов 102, один или несколько шлюзов 104, одну или несколько сетей 106 и один или несколько процессоров 108 транзакций. Следующее описание описывается в отношении одного шлюза 104, но понятно, что многочисленные шлюзы 104 могут быть предусмотрены для выполнения любой функции, описанной ниже. Также, хотя шлюзы показаны рядом с клиентами, шлюзы также могут быть размещены рядом с процессорами транзакций, между процессорами транзакций и сетями 106.

Клиенты 102 включают в себя любую систему, сконфигурированную для посылки транзакции. Например, клиенты 102 могут включать в себя систему вычислительных устройств, которые выполняют транзакции с пользователями. В одном примере клиенты 102 могут включать в себя устройства кассовых терминалов (КТ), которые принимают информацию о пользователях, такую как информация о кредитной карточке, номер ПИН (персональный идентификационный номер), имя и т. д., для авторизации кредитной карточки, транзакции по чековой карточке и т. д. Клиентом также может быть киоск в магазине для проверки информации об очках или купонах, или киоск для денежных переводов, или узел приема беспроводного ввода пользователя с сотового телефона или другого устройства, или сервер веб-сайта и т.д. Клиентом также может быть сервер торговца, через который подсоединены к сети устройства КТ.

Клиент (например, устройство КТ) может тогда посылать транзакцию, которая запрашивает услугу транзакции у процессора 108 транзакций. Услугой транзакции может быть любое действие, которое может быть выполнено процессором 108 транзакций. В одном варианте осуществления эти услуги транзакции увеличивают стоимость для транзакций, выполняемых клиентами 102. Примеры услуг транзакции включают в себя способствование авторизации кредитной карточки, транзакциям по дебетовой карточке, транзакциям по электронному чеку и т.д. Услуга транзакции также может включать в себя обработку транзакции или обмен данными.

Шлюз 104 включает в себя систему, сконфигурированную для приема транзакций от клиентов 102 и маршрутизации транзакций на процессоры 108 транзакций по сетям 106. В одном варианте осуществления шлюз 104 располагается на границе сети 106. Например, шлюз 104 может быть в точке доступа для клиента 102 или может быть в помещении клиента 102. Границей сети 106 может быть точка, где транзакции могут конфигурироваться для маршрутизации по сети 106. Например, шлюз 104 может выбирать процессор 108 транзакций и посылать запрос маршрутизатору сети 106. Транзакция может быть разбита на несколько пакетов. Маршрутизатор тогда маршрутизирует пакеты для транзакции по сети 106 на процессор 106 транзакций.

Сетями 106 может быть любая сеть, сконфигурированная для пересылки данных. Например, сети 106 могут включать в себя любые основанные на пакетах сети, коммутируемые телефонные сети общего пользования (ТфОП), беспроводные сети, Интернет, частные финансовые сети и т.д.

В одном варианте осуществления сетями 106 могут быть несовместимые и/или ненадежные сети. Сети являются несовместимыми в том, что они могут управляться различными субъектами, могут маршрутизировать данные, используя различные протоколы и форматы, могут маршрутизировать данные, используя различные способы транспортировки, и т.д. Например, сети 106 могут управляться различными субъектами. В одном примере первый поставщик услуг Интернета (ПУИ) может сопровождать сеть 106-1 и второй поставщик услуг Интернета может сопровождать сеть 106-2. Транзакции могут маршрутизироваться или по сети 106-1, или по сети 106-2 в одном варианте осуществления.

Также сети 106 могут быть различных типов. Например, сетью 106-1 может быть сеть асинхронного режима передачи (АРП), которая маршрутизирует пакеты данных. Другая сеть 106-2 может быть беспроводной сетью, которая передает данные беспроводным образом. Далее, другая сеть 106 может быть частной сетью для субъекта, такой как сеть VisaNet. Хотя показаны только две сети 106, понятно, что может обеспечиваться значительно больше сетей 106. Также понятно, что транзакции могут маршрутизироваться по многочисленным сетям 106. Например, транзакции могут маршрутизироваться по сети 106-1, затем по сети 106-2 и затем на процессор 108 транзакций.

Сети 106 также могут быть ненадежными. Вследствие сущности сетей они могут отказать в любой момент. Таким образом, необходима обработка по преодолению отказа, чтобы исключить нарушение в обработке транзакций.

Поставщики услуг могут регистрировать и публиковать услуги, которые могут быть предложены клиентам 102. Клиенты 102 могут регистрироваться на услуги и переключать транзакции на поставщиков услуг. Поставщики услуг могут иметь любое количество процессоров 108 транзакций, которые конфигурируются на предоставлении услуг клиентам 102. В одном варианте осуществления процессоры 108 транзакций обрабатывают финансовые транзакции. Например, процессоры 108 транзакций могут быть связаны с издателями, приобретателями, торговцами или любым другим поставщиком услуг. В одном примере процессоры 108 транзакций способствуют авторизации транзакций по кредитной карточке.

Услуга может предоставляться более чем одним процессором 108 транзакций. Например, поставщик услуг может иметь много центров обработки данных, которые могут предоставлять услугу клиенту 102. Таким образом, транзакция для услуги может быть переключена на любой из процессоров 108 транзакций, который может предоставить услугу. Процессор 108 транзакций может быть выбран шлюзом 104, основываясь на содержимом прикладного уровня, контекстной информации для транспортной среды и/или динамических правилах, все из которых могут динамически изменяться.

Услуги прикладного уровня могут изменяться динамически. Доступные услуги могут модифицироваться, перемещаться на другой процессор, быть недоступными из-за технического обслуживания или отказа и т.д.

Контекстная информация для транспортной среды также может изменяться динамически. Шлюз 104, таким образом, определяет контекстную информацию для транспортной среды при определении, как переключить транзакцию. Например, может быть определено текущее состояние степени исправности сети 106, доступность сети 106, доступность процессора 108 транзакций, скорость, с которой данные пересылаются по сети 106, стоимость пересылки транзакции по сети 106, стоимость обработки транзакции, сколько времени занимает приложение для обработки транзакции на прикладном уровне и т.д.

В дополнение к динамической информации для контекстной информации для транспортной среды может быть определена некоторая относительно статическая информация. Например, статической информацией может быть стоимость транзакции, формат, необходимый для того, чтобы процессор 108 транзакций обработал транзакцию, и т.д. Шлюз 106 может использовать динамическую и статическую информацию при определении, как маршрутизировать транзакцию.

Динамическими правилами может быть информация, которая используется для принятия решения, как интеллектуально переключить транзакцию. Правила могут динамически загружаться. Например, поставщик услуг может зарегистрировать правила для услуги, которая может динамически загружаться в шлюз 104. Также клиент может подписаться на услугу и правила поставщика для переключения его транзакций на поставщика услуг. Эти правила также могут динамически загружаться в шлюз 104.

Следовательно, шлюз 104 может динамически выбирать процессор 108 транзакций для услуги, которая может обработать транзакцию. Бизнес-услуги, конкретные для выбранного процессора транзакций, также могут выполняться по транзакции, так как транзакция может форматироваться так, что выбранный процессор 108 транзакций может ее обработать. Транзакция затем может быть послана по выбранной сети 106 на выбранный процессор 108 транзакций. Посредством динамического выбора процессоров 108 транзакций и/или сетей 106 шлюз 104 изолирует клиентов 102 от любых отказов процессоров 108 транзакций и/или сетей 106. Следовательно, это обеспечивает очень высокую доступность услуги. Шлюз 104 изолирует клиента 102 от любых изменений, которые необходимо сделать, которые могут вызвать простой для процессора 108 транзакций.

Обзор шлюза 104

Фиг.2 изображает более подробное описание шлюза 104 согласно одному варианту осуществления настоящего изобретения. Как показано, шлюз 104 включает в себя один или несколько обработчиков 202 запросов, синтаксический анализатор 204 потока входящих сообщений, менеджер 206 защиты, адаптивный селектор 208 маршрута, обработчик 210 потоков, построитель 212 потока исходящих сообщений, диспетчер 214 сообщений, координатор 216, модуль 218 административного управления, загрузчик 220 конфигурации, базу 222 данных правил, базу 224 данных контекстной информации и монитор 226 динамической информации.

Обработчики 202 запросов конфигурируются на прием транзакций от клиентов 102. Клиенты 102 могут посылать транзакции в различных протоколах и форматах, таких как протокол передачи гипертекста (ППГТ), протокол передачи файлов (ППФ), расширяемый язык разметки (РЯР), стандарты ISO 8583 и т.д. Обработчики 202 запросов обеспечивают интерфейс для транзакций, посылаемых в различных протоколах и форматах, и обеспечивают транзакции для синтаксического анализатора 204 потока входящих сообщений. Например, обработчик сообщений ISO конфигурируется на прием запросов ISO 8583 от клиентов 102 и подает их на синтаксический анализатор 204 потока входящих сообщений. Также обработчик сообщений РЯР, обработчик запросов ППГТ и обработчик запросов ППФ могут обрабатывать сообщения и/или запросы РЯР, ППГТ и ППФ. Следовательно, обработчики 202 запросов позволяют шлюзу 104 принимать сообщения в различных протоколах и форматах. Хотя описаны вышеприведенные форматы и протоколы, понятно, что специалист в данной области техники примет во внимание другие форматы и протоколы, которые обработчики 202 запросов могут обрабатывать.

Синтаксический анализатор 204 потока входящих сообщений конфигурируется на прием транзакции от обработчиков 202 запросов и преобразует запрос в каноническую форму. Синтаксический анализатор 204 потока входящих сообщений может принимать сообщения в различных форматах и обрабатывать эти запросы в канонический формат, который затем может быть обработан другими компонентами шлюза 104. Следовательно, запросы транзакций в многочисленных различных форматах могут обрабатываться шлюзом 104. Синтаксический анализатор 204 потока входящих сообщений также обеспечивает расширяемую архитектуру, в которой могут быть разрешены эти новые форматы, которые могут обрабатываться шлюзом 104. Если добавляется новый формат, трансляция из нового формата в канонический формат добавляется к процессору 104 потока входящих сообщений. Таким образом, так как используется канонический формат, изменения всех компонентов в шлюзе 104 не являются необходимыми, когда добавляются новые форматы. Скорее, синтаксический анализатор 204 потока входящих сообщений конфигурируется на синтаксический анализ запроса в канонический формат, который может обрабатываться другими компонентами шлюза 104. Дополнительные подробности процессора 204 потока входящих сообщений могут быть найдены ниже.

Менеджер 206 защиты конфигурируется на обеспечение функциональных возможностей защиты для транзакций. Например, могут обеспечиваться функциональные возможности защиты, такие как подключаемая аутентификация и авторизация, управление ролевым доступом (УРД), шифрование, целостность файла и т.д. Функциональная возможность подключаемой аутентификации и авторизации обеспечивает стандартный интерфейс для аутентификации и авторизации и, следовательно, дает возможность добавлять более новые способы аутентификации и управления доступом без влияния на существующие способы. Для специалиста в данной области техники будут понятны другие функциональные возможности защиты, которые могут быть добавлены к транзакциям.

Адаптивный селектор 208 маршрута конфигурируется на переключение транзакции на процессор 108 транзакций по сети 106. Адаптивный селектор 208 маршрута переключает транзакцию, основываясь на содержимом прикладного уровня, текущем состоянии транспортной среды и/или динамических правилах.

Адаптивный селектор 208 маршрута использует правила, обнаруженные в базе 222 данных правил, и динамическую контекстную информацию, обнаруженную в базе 224 данных контекстной информации, для маршрутизации транзакции. Как упомянуто выше, контекстная информация может храниться в базе 224 данных контекстной информации. В одном варианте осуществления контекстная информация может быть динамической. Монитор 226 динамической информации может контролировать и определять контекстную информацию. Динамическая информация затем сохраняется в базе 224 данных контекстной информации. Примеры контекстной информации включают в себя доступность сетей 106, степень исправности процессоров 108 транзакций, стоимость транзакции, время, затраченное на обработку приложением предыдущей транзакции на прикладном уровне, и т.д. В одном варианте осуществления монитор 226 динамической информации может определять динамическую контекстную информацию во время выполнения, когда принимается транзакция. В другом варианте осуществления монитор 226 динамической информации может определять динамическую контекстную информацию через некоторые интервалы.

Каждая другая услуга, выполняемая процессорами 108 транзакций, может задавать тестовые сообщения, которые могут выполняться монитором 226 динамической информации. Тестовые сообщения посылаются и позволяют выполнять сбор информации на основе статуса процессора 108 транзакций и/или сети 106. Например, монитор 226 динамической информации может проверять возможность установления соединения по сети посредством запроса/отклика для определения, доступна ли сеть. Если не может быть достигнут процессор 108 транзакций или сеть 106, они могут рассматриваться недоступным, и информация о статусе отражается в базе 224 данных контекстной информации. Если не могут быть достигнуты все процессоры 108 транзакций для услуги, тогда услуга может рассматриваться недоступной. Шлюз 104 может определить другого поставщика услуг, который предоставляет услугу в данном случае. Также может измеряться время, которое занимает обработка транзакции приложением на процессоре 108 транзакций. Например, измеряется, сколько времени занимает выполнение приложением авторизации кредитной карточки. Это измерение обеспечивает контекст прикладного уровня, который может использоваться для переключения транзакции.

База 222 данных правил включает в себя правила для определения услуги для транзакции в дополнение к сети 106 и процессору 108 для обработки транзакции. Правила также могут выражать критерии для клиента. Например, для того чтобы услуга была выбрана, некоторая контекстная информация и содержимое прикладного уровня должны удовлетворять правилам. Клиенты могут предоставить характерные для клиента правила, которые могут использоваться для выбора услуги для транзакции. В одном примере, когда транзакция принимается для клиента 102