ФИНАНСОВЫЙ МЕХАНИЗМ КОММУТАЦИИ
SWITCHING FINANCIAL MECHANISM

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к области финансовых механизмов коммутации для выполнения финансовых транзакций.
УРОВЕНЬ ТЕХНИКИ
Известно обеспечение системы финансовых транзакций для выполнения финансовых транзакций между различными элементами, например, для маршрутизации транзакции, инициируемой от автоматического банкомата (ATM) или терминала торговой точки (PoS) к расчетной системе провайдера финансовых услуг, или для пополнения предоплаченного счета, такого как предоплаченный телефонный счет из ATM или терминала PoS. Система включает в себя финансовый механизм коммутации, который принимает сообщения транзакции от одного элемента системы, и содержит набор правил для направления их к другому элементу. Механизм коммутации принимает сообщение, анализирует его контент и применяет правила к контенту для того, чтобы принять решение о том, куда направить сообщение.
Система финансовой транзакции также может включать в себя другие функции, связанные с выполнением финансовых транзакций, например, для проверки баланса счета или получения других отчетов, регистрации транзакций в базе данных, или мониторинга учетной записи для отправки предупреждений. Заявка Euronet WO 02/13129 описывает систему, содержащую множество взаимозаменяемых стандартно-интерфейсных модульных приложений финансовых услуг, каждая из которых обеспечивает различные соответствующие финансовые услуги, например для доступа к учетной записи, для управления учетными записями, для управления транзакциями и для передачи сообщений событий.
В существующих системах обработки транзакций системы, включающие в себя коммутацию и другие финансовые функции, реализованы совместно в центральном центре обработки данных, соединяющемся во внешней среде с его различными оконечными точками (например, банкоматами, системами PoS и/или системами расчетов провайдеров финансовых услуг) через одну или более сетей передачи данных. Центр обработки данных может быть организован в качестве центрального элемента, посредничающего между множеством различных финансовых сетей (например, одной или более сетей ATM, сетью PoS и/или сетями финансовых провайдеров). Здесь также может быть обеспечен резервный центр  обработки данных в случае выхода из строя основного центра обработки данных.
КРАТКОЕ ОПИСАНИЕ
Существующий подход можно охарактеризовать как "активный-пассивный" подход, в котором в любой момент времени только один из центров обработки данных является активным. При нормальной работе активен основной центр обработки данных, в то время как резервный центр обработки данных находится в состоянии покоя; и в случае выхода из строя основного центра обработки данных активируется резервный центр обработки данных, в то время как основной центр обработки данных не функционирует.
Настоящее изобретение, с другой стороны обеспечивает «активный-активный» подход, в котором различные центры обработки данных активны в любое время. Кроме того, настоящее изобретение расширяет эту идею до распределенного облачного подхода, где многочисленные различные приложения модульных плагинов (дополнительных программных модулей) распределяются среди множества различных центров обработки данных во множестве различных физических местоположений.
В соответствии с одним аспектом, раскрытым в данном документе, обеспечивается система финансовой транзакции, обеспечивающая финансовый механизм коммутации, причем система финансовой транзакции, содержит: распределенное множество различных физических центров обработки данных, реализованных в различных соответствующих физических месторасположениях, соединенных между собой через частную сеть; множество плагинов, каждый из которых сконфигурирован с возможностью выполнять различные соответствующие функции системы финансовых транзакций; и операционную систему, на которой запускаются плагины, причем плагины сконфигурированы с возможностью обмениваться сообщениями друг с другом с целью выполнения финансовых транзакций; причем плагины распределены среди некоторых или всех из центров обработки данных, и операционная система сконфигурирована с возможностью абстрагировать плагины от распределенных центров обработки данных, таким образом, что плагины обмениваются упомянутыми сообщениями друг с другом через операционную систему без необходимости указания конкретных центров обработки данных из упомянутых центров обработки данных в качестве адресатов сообщений, тогда как операционная система обрабатывает маршрутизацию сообщений между центрами обработки данных по частной сети без необходимости прозрачности маршрутизации для плагинов.
Предпочтительно, в вариантах воплощения изобретения финансовый механизм коммутации является одним из упомянутых плагинов.
Когда указано, что плагины распределяются между центрами обработки данных, это означает, что различные плагины сохранены и/или выполнятся в одном из различных центров обработки данных, и/или что экземпляр каждого из одного или более плагинов физически сохранен и/или выполняется во множестве центров обработки данных (т.е. данный плагин физически сохранен и/или выполняется в двух или более центрах обработки данных). В последнем случае, это может означать, что нагрузка для сохранения и/или выполнения заданного плагина разделяется между несколькими центрами обработки данных, и/или что несколько экземпляров плагина сохранены и/или выполняются в различных центрах обработки данных.
Например, финансовый механизм коммутации может быть сохраняться и/или исполняться в одном центре обработки данных, пока другой плагин участвует в транзакции, коммутируемой механизмом коммутации (например, плагин обработки транзакции кредитной карты, плагин предоплаченного счета или плагин интерфейса банкомата или терминала торговой точки), может быть сохранен и/или исполнятся в другом центре обработки данных. В качестве альтернативы или дополнительно, несколько экземпляров любого данного плагина, такого как финансовый механизм коммутации, могут быть сохранены и/или исполнены во множестве различных центров обработки данных.
Кроме того, плагины не должны знать в каком центре обработки данных они реализованы или на каком центре обработки данных реализованы плагины, с которыми они осуществляют связь, и не должны быть запрограммированы для того, чтобы иметь какую-любо видимость или понимание лежащей в основе распределенной сути системы. Скорее плагин просто отправляет сообщение операционной системе, и операционная система обрабатывает лежащую в основе физическую маршрутизацию способом, который непрозрачен для плагинов. Таким образом, система эффективно действует как своего рода «частное облако» с операционной системой, обеспечивающей уровень абстракции таким образом, что система действует как один логический центр обработки данных с точки зрения плагинов.
Распределенная система по настоящему изобретению может быть использована для получения одного или более из следующих преимуществ. Во-первых, в случае выхода из строя одного центра обработки данных, остальная часть системы может продолжать работать с нулевым временем простоя кроме как для модулей или экземпляров модулей (если таковые имеются), реализованных исключительно в неисправном центре обработки данных. Кроме того, плагины и/или центры обработки данных могут быть модернизированы с нулевым временем простоя для остальной части системы. Кроме того, упомянутая система может обеспечить улучшенные возможности для балансировки нагрузки и/или улучшенной масштабируемости.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя по меньшей мере один модуль безопасности, сконфигурированный с возможностью применять криптографию и/или одну или более других мер безопасности к некоторым из упомянутых транзакций.
Предпочтительно, в вариантах воплощения модуль безопасности содержит аппаратный модуль безопасности.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя один или более интерфейсных модулей оконечных точек, каждый из которых сконфигурирован с возможностью взаимодействовать с одним или более терминалами оконечной точки финансовой услуги.
Предпочтительно, в вариантах воплощения изобретения один или более интерфейсных модулей оконечной точки содержат интерфейсный модуль торговой точки, сконфигурированный с возможностью взаимодействовать с одним или более терминалами торговой точки.
Предпочтительно, в вариантах воплощения изобретения один или более интерфейсных модулей оконечной точки содержат интерфейсный модуль АТМ, сконфигурированный с возможностью взаимодействовать с одним или более автоматическими банкоматами.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя модуль обработки транзакций кредитной и/или дебетовой карты, сконфигурированный с возможностью обрабатывать транзакции кредитной и/или дебетовой карты посредством взаимодействия с системой финансового провайдера.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя модуль обработки онлайн транзакций.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя один или более плагинов транзакций с предоплатой, сконфигурированных с возможностью обрабатывать транзакции для пополнения и/или погашения кредита предоплаченного счета для предоплаченного товара или услуги посредством взаимодействия с предоплаченным счетом.
Предпочтительно, в вариантах воплощения изобретения один или более плагинов транзакций предоплаты содержат плагин телефонной предоплаты, сконфигурированный с возможностью обрабатывать транзакции пополнения или погашения предоплаченного телефонного кредита.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя плагин фильтрации сообщения, сконфигурированный с возможностью фильтровать упомянутые сообщения.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя модуль передачи сообщений, сконфигурированный с возможностью передавать сообщения об упомянутых транзакциях и/или передавать сообщения о состоянии счета.
Предпочтительно, в вариантах воплощения изобретения плагины включают в себя модуль регистрации для регистрации одной из упомянутых транзакций в базе данных.
Предпочтительно, в вариантах воплощения изобретения операционная система содержит алгоритм управления нагрузкой, сконфигурированный с возможностью выполнять балансировку нагрузки между центрами обработки данных.
Предпочтительно, в вариантах воплощения изобретения операционная система содержит алгоритм определения затрат на маршрут, сконфигурированный с возможностью определять оптимальный маршрут для упомянутых сообщений среди центров обработки данных.
Предпочтительно, в вариантах воплощения изобретения операционная система распределена среди некоторых или всех упомянутых физических центров обработки данных.
Предпочтительно, в вариантах воплощения изобретения операционная система сконфигурирована с возможностью поддерживать различные протоколы связи для коммуникации одного из упомянутых сообщений между плагинами.
Предпочтительно, в вариантах воплощения изобретения упомянутые плагины включают в себя модуль преобразования протокола, сконфигурированный с возможностью выполнять упомянутое преобразование.
Предпочтительно, в вариантах воплощения изобретения операционная система сконфигурирована с возможностью интерпретировать различных языки программирования для запуска одного из различных плагинов, запрограммированных на различных языках программирования.
Предпочтительно, в вариантах воплощения изобретения система содержит базу данных для регистрации одной из упомянутых транзакций и/или для сохранения параметров конфигурации и/или правил транзакций системы.
Предпочтительно, в вариантах воплощения изобретения система содержит уровень абстракции данных, сконфигурированный с возможностью поддерживать множество типов баз данных.
Предпочтительно, в вариантах воплощения изобретения уровень абстракции данных является одним из упомянутых плагинов.
Предпочтительно, в вариантах воплощения изобретения центры обработки данных расположены в различных зданиях, различных населенных пунктах или городах и/или различных странах.
Предпочтительно, в вариантах воплощения изобретения частная сеть содержит собственную (частную) сетевую инфраструктуру.
Предпочтительно, в вариантах воплощения изобретения частная сеть содержит частный протокол, реализованный в общедоступной сетевой инфраструктуре.
В соответствии с другим аспектом, раскрытым в данном документе, обеспечивается компьютерный программный продукт, обеспечивающий финансовый механизм коммутации, при этом компьютерный программный продукт содержит код, воплощенный на носителе информации, считываемый компьютером, и выполненный таким образом, что при исполнении одним или более процессорами осуществляет этапы, на которых:
действует в качестве операционной системы для запуска множества плагинов, каждый из которых сконфигурирован с возможностью выполнять различные соответствующие функции системы финансовой транзакции; и
осуществляет обмен сообщениями между плагинами с целью выполнения финансовых транзакций;
при этом плагины распределены среди некоторых или всех из центров обработки данных, и операционная система сконфигурирована с возможностью абстрагировать плагины от распределенных центров обработки данных, таким образом, что плагины обмениваются упомянутыми сообщениями друг с другом через операционную систему без необходимости указания конкретных центров обработки данных из упомянутых центров обработки данных в качестве адресатов сообщений, тогда как операционная система обрабатывает маршрутизацию сообщений между центрами данных по частной сети, без того, чтобы плагинам требовалась видимость маршрутизации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для понимания нижеследующего описания и для отображения того, как варианты воплощения изобретения можно реализовать, в качестве примера сделана ссылка на сопровождающие чертежи, на которых:
Фиг. 1 схематически иллюстрирует централизованные и распределенные подходы для реализации системы финансовой транзакции.
Фиг. 2 схематически иллюстрирует высокоуровневую архитектуру системы финансовой транзакции.
Фиг. 3 схематически иллюстрирует реализацию распределенной системы финансовой транзакции, и
Фиг.4 схематически иллюстрирует транзакцию, сформированную из множества экземпляров плагинов.
ПОДРОБНОЕ ОПИСАНИЕ
Фиг. 1 иллюстрирует концепцию активно-активного подхода по отношению к пассивно-активному подходу, и продление активно-активного подхода до полностью распределенного, на основе подхода облачного вычисления.
Фиг. 1(а) показывает активно-пассивную реализацию, содержащую основной центр 102 обработки данных и резервный центр 104 обработки данных. Когда клиентский запрос принимается от терминала оконечной точки услуги (например, терминала PoS или банкомата), сообщение с запросом направляется к основному центру 102 обработки данных для обработки. Если предположить, что функционирует основной центр 102 обработки данных, то все сообщения с таким клиентским запросом направляются только к основному центру 102 обработки данных. Только в случае такого выхода из строя, что основной центр обработки данных не функционирует, сообщения запроса вместо этого направляются для обработки к резервному центру 104 обработки данных. Следовательно, в любой момент времени только один из центров 102, 104 обработки данных активен.
Фиг. 1 (b) иллюстрирует идею активно-активной реализации, содержащей два (или более) центров 106 обработки данных, ни один из которых не обязательно должны быть рассмотрен как "основной" центр обработки данных. Когда клиентский запрос принимается от терминала оконечной точки услуги (например, терминала PoS или ATM), он может быть направлен к любому из центров 106 обработки данных для его обработки в зависимости от запроса. Таким образом, некоторое сообщение с клиентским запросом направляется к одному центру 106 обработки данных и другие подобные сообщения направляются к другому центру 106 обработки данных, при этом оба центра обработки данных являются активными, обрабатывающими различные запросы по существу то же самое время.
Фиг. 1 (с) показывает расширение активно-активного подхода для облачной системы, в соответствии с вариантами воплощения, раскрытыми в данном документе. Система содержит множество физических центров 106 обработки данных, распределенных по множеству физических местоположений, например, в различных зданиях, на различных сайтах, различных населенных пунктах или городах, или даже в различных странах. Различные физические центры 106 обработки данных могут каждый быть связаны со множеством серверов и/или устройств. Различные физические центры 106 обработки данных соединены друг с другом через частную сеть 110. Частная сеть 110 может быть реализована с помощью частной инфраструктуры физической сети или с помощью частного (защищенного) сетевого протокола, реализованного через общедоступную физическую сетевую инфраструктуру, такую как Интернет, или их комбинацию. Множество терминалов 108 оконечной точки услуги (например, терминалов PoS и/или банкоматов) также соединено с частной сетью 110, и, таким образом, сконфигурировано с возможностью взаимодействовать с любым из распределенных центров 106 обработки данных через частную сеть. В любой момент времени, любые два, более или все из различных распределенных центров 106 обработки данных могут быть активными и обрабатывать транзакции параллельно. Когда сообщение запроса на обслуживание отправляется из оконечной точки услуги 108, то оно может быть направлено к любому одному или более центров обработки данных, в зависимости от таких факторов, как сущность запроса, текущая нагрузка на систему и затраты на маршрутизацию сообщения. В облачном подходе множество физических центров обработки данных может быть представлено логическим центром обработки данных. В одном варианте воплощения множество физических центров обработки данных может быть представлено одним большим логическим центром обработки данных. Другими словами, в некоторых вариантах воплощения физические центры 106 обработки данных содержатся в «облаке», к которому клиент может подсоединиться, используя терминалы 108 оконечной точки через Интернет/Интранет 110, который может быть частной сетью.
Фиг. 2 показывает архитектуру системы финансовой транзакции в соответствии с примерными вариантами воплощения, описанными в настоящем документе. Основной функцией системы является обеспечение финансового механизма коммутации, выступая в качестве посредника между множеством терминалов 108 оконечной точки услуги (которое представляет собой пользовательские терминалы) и одним или более финансовыми провайдерами 210 (системами на другой оконечной точки транзакции, при которой транзакция, в конечном счете, обрабатывается). С этой целью система содержит финансовый механизм 202 коммутации (основной коммутатор) и множество фильтров 208 сообщений, которое действуют в качестве интерфейсов или обработчиков устройств. Система также содержит множество дополнительных элементов, которые могут быть вовлечены в транзакции. На Фиг. 2 они содержат, например, по меньшей мере, один модуль 204 безопасности и уровень 220 абстракции данных (DAL) для взаимодействия с базой 218 данных.
Терминалы 108 оконечной точки услуги могут содержать, например, один или более терминалов 212 торговой точки (PоS) и/или один или более банкоматов (ATM). Системы 210 финансового провайдера финансовых услуг могут включать в себя, например, расчетные системы одного или более провайдеров кредитных или дебетовых карт, интернет-банковские системы и/или системы предоплаченного счета одного или более провайдеров предоплаченных товаров или услуг. Финансовый механизм 202 коммутации соединен к терминалам 108 оконечной точки услуги через один или более фильтров 208 сообщений, например, соединен к каждому типу терминала 212, 214 оконечной точки услуги, по меньшей мере, через один соответствующий фильтр сообщений, и с помощью любой соответствующей инфраструктуры оконечных точек 108. Например, на Фиг. 2 финансовый механизм 202 коммутации может быть соединен с банкоматами 214 через один или более фильтров 208b сообщений и сеть банкоматов, содержащую EFTS (электронные средства сервера передачи) 216, и может быть соединен с терминалами 212 PoS через один или более фильтров 208c сообщений и сеть 208d оконечной точки (не показана). Финансовый механизм 202 коммутации также соединен с одной или более системами 210 провайдера через один или более фильтров 208 сообщений, например, соединен с каждым провайдером 210 посредством по меньшей мере одного соответствующего фильтра 208а.
Финансовый механизм 202 коммутации, таким образом, расположен между терминалами 108 оконечной точки услуги и системой 210 провайдеров. Финансовый механизм 202 коммутации сконфигурирован с возможностью принимать сообщения, изучать их контент и на основе этого коммутировать их и дальше к соответствующему элементу системы, в соответствии с набором правил коммутации. Например, он может содержать прием сообщения запроса на обслуживание от устройства 108 оконечной точки услуги с помощью соответствующего фильтра(ов) 208В 208С, 208d, а затем считывание, по меньшей мере, сообщения для того, чтобы определить сущность запроса, и передачу через другой фильтр 208а к соответствующему провайдеру 210 для обработки, и также потенциальную пересылку сообщения или информации о нем к базе данных 218 через DAL 220 для регистрации. В качестве другого примера (например, в качестве дополнительной части той же самой транзакции) коммутации, выполняемой Финансовым механизмом 202 коммутации, упомянутый механизм может содержать прием сообщения с отчетом от провайдера 210 (например, в ответ на запрос) через соответствующий фильтр 208а, считывание сообщения для того, чтобы определить его сущность ответа, и направление к соответствующему терминалу 108 оконечной точки с помощью соответствующего фильтра(ов) 208b, 208С, 208d. Опять же, он может также содержать этап отправки ответа или информации о нем к базе данных 218 через DAL 220 для регистрации.
Фильтры 208 представляют собой компоненты, которые выполняют специализированные блоки работы (например TCP/IP связь, обработчики устройств, MasterCard через онлайн-сообщения и т.д.). В вариантах воплощения фильтры 208 представляют собой компоненты, которые не включены в основной финансовый механизм 202 коммутации. Они могут содержать специализированные процессы, такие как обработчики устройства (например, ATM, POS), сетевые обработчики (например, MasterCard, Visa и т.д.), а также другие функционально-специфические процессы. Фильтры 202 и другие неосновные компоненты могут "предварительно ухудшать" транзакции, но все еще могут требоваться для маршрутизации в основном коммутаторе 202 для регистрации и последующей маршрутизации. Основной механизм 202 коммутации может обнаруживать предварительно ухудшенные сообщения и сбрасывать в "ухудшенный по дереву решений" и, возможно, переопределять предварительно ухудшенные значения.
В вариантах воплощения могут быть различные типы фильтров: автономные фильтры, сцепленные фильтры и встроенные фильтры. Автономный тип фильтра обрабатывает полный блок работы (например, фильтр MasterCard и т.д.). Сцепленные фильтры могут быть связаны в последовательности, где каждый фильтр завершает свой блок работы и передает результаты следующему фильтру. Что касается встроенных фильтров, эта концепция позволяет фильтру быть встроенным в другой фильтр, так что "мастер" фильтр эффективнее представляет автономный фильтр. Тем не менее, мастер-фильтр на самом деле может содержать скопление других фильтров. Точно так же, фильтр, встроенный в мастер-фильтр, также может функционировать в качестве автономного фильтра.
Концепция фильтра может использоваться для поддержания централизованного и/или общего сетевого фильтра, а также специфических сетевых фильтров, которые обрабатывают уникальные требования сети (например, MasterCard, Visa и т.д.). Например, фильтры 208 могут содержать фильтры для обработки транзакций, онлайн-фильтры конкретной сети, фильтры для клиринга сети и/или клиринговые фильтры конкретной сети.
Например, для обработки онлайн-транзакций общий сетевой фильтр может обрабатывать интерфейсный уровень между основным финансовым механизмом 202 коммутации и онлайн-фильтрами конкретной сети, в то время как онлайн-фильтры конкретной сети обрабатывают уникальные требования сети каждого механизма обмена сообщениями и обеспечивают интерфейсный уровень между общим сетевым фильтром и отдельными сетями.
Что касается клиринга сети, клиринг отдельной сети, как правило, используется в сети провайдера, включающей в себя логическую обработку входящих/исходящих файлов и клиринг пользовательского интерфейса. В вариантах воплощения, однако, может быть обеспечено приложение центрального клиринга, в случае которого новая архитектура располагается для создания универсального клирингового приложения, которое обрабатывает входящие/исходящие файлы и клирингового пользовательского интерфейса. Это осуществляется путем определения общих функций клиринга между всеми сетями, таким образом, приложение центрального клиринга может быть разработано для того, чтобы удовлетворять этим потребностям универсальным способом. Для того чтобы облегчить требования к сети конкретного клиринга, клиринговый уровень фильтрации конкретной сети обеспечивает уровень между приложением центрального клиринга и сетями. Эти фильтры будут выполнять специфическое сетевое переформатирование между сетевыми поставками файлов и файлов, обрабатываемых приложением центрального клиринга. В вариантах воплощения, эти фильтры будут принимать и передавать данные от и к приложению центрального клиринга в стандартном формате. Фильтры переформатируют данные в соответствии с сетью и стандартным форматом передачи сообщений.
В вариантах воплощения эти фильтры могут содержать фильтры, специфичные для конкретных провайдеров, например, MasterCard, Visa, American Express. Например, специфичный фильтр (ы) MasterCard может содержать: фильтры, специфичные для управления клиринговых процессов MasterCard, фильтр сообщений MasterCard и/или фильтр администрирования MasterCard. Фильтр передачи сообщений MasterCard отвечает за MasterCard-специфическую обработку сообщений и переформатирование, и в вариантах воплощения также за маршрутизацию к нисходящему фильтру связи MasterCard. Фильтр передачи сообщений также может контролировать нисходящие фильтры связи MasterCard на высоком уровне для выявления проблем/отчетов и проблем с подключением узла. Фильтр администрирования MasterCard обрабатывает MasterCard MIP соединения, административную передачу сообщений и/или соответствие гибкости сообщения, чтобы идентифицировать ответный поток.
В вариантах воплощения фильтры 208 могут дополнительно содержать фильтр(ы) связи для выполнения операции, согласно которой: извлекают входящие сообщения из линии связи, разделяют множество сообщений на отдельные сообщения, обрабатывают случаи, когда сообщения разделены между пакетами, направляют необработанные сообщения к соответствующему фильтру (ам) и/или основному механизму 202, размещают ответные сообщения в линии связи, поддерживают постоянное соединение, и/или отслеживают сообщения на уровне "нитевого потока", который указывает, какой поток отправил запрос, так что фильтр связи может возвращать ответы правильному потоку. Фильтры 208 могут дополнительно содержать фильтры сообщений ISO-8583, такие как: общий фильтр сообщений ISO-8583, схожий с концепцией ITM Super DCM, интерфейсный фильтр (ы) хост-хост и/или H2H к EFTS.
Фильтр(ы) 208а, таким образом, обеспечивают интерфейс с системой(ами) расчетов одной или более систем провайдеров финансовых услуг для выполнения оперативной обработки транзакций и/или транзакций дебетовой или кредитной карт. Кроме того, упомянутые фильтры 208b, 208c, 208d могут содержать модули обработчика устройства для взаимодействия с PoS терминалами 212, банкоматами 214 через связанную с ними инфраструктуру. Кроме того, могут быть обеспечены 208 фильтры для пополнения или погашения предоплаченного счета кредита, посредством взаимодействия с финансовым учреждением и предоплатной системой счета провайдера оплаченного товара(ов) или услуги (услуг), например, отчет о предоплаченных телефонных минут. Финансовый механизм 202 коммутации находится в середине, подключенный между этими оконечными точками 108, 212, 214 услуг, системой(ами) 210 провайдера и с предоплаченным счетом(ами) (не показано) с помощью соответствующего фильтра(ов) 208, и сконфигурирован с возможностью коммутировать сообщения между ними как надлежащие рассматриваемому сообщению.
Система Фиг.2 дополнительно содержит один или более пользовательских терминалов 224 оператора (отличных от оконечных точек 108, 212, 214 услуг), которые соединены с базой данных 218. Это обеспечивает пользовательский интерфейс, позволяющий оператору системы получать доступ к записи транзакций, которая была записана через DAL 220 и механизм 202 коммутации, а также устанавливать любые конфигурации или правила системы так, что система позволяет управлять оператору. В вариантах воплощения этот пользовательский интерфейс может обеспечить широкий ряд пользовательских интерфейсов, таких как: конфигурация системы, управление системой, мониторинг работоспособности системы, сетевая очистка, аудит и/или исследование.
Как дополнительно проиллюстрировано на Фиг.2, система содержит подсистему безопасности в виде одного или более модулей 204 безопасности для обработки криптографии, участвующей в выполняемых транзакциях, и также любых других мер безопасности. Она может содержать аппаратный модуль безопасности (HSM), обеспечивающий управление безопасностью от небрежного обращения ключей безопасности. Любые транзакции, которые включают сообщения, передаваемые между различными физическими центрами 106 обработки данных и по любым внешним соединениям к или от любой из терминалов 108 оконечной услуги и системы 210 провайдеров, будут зашифрованы для обеспечения безопасности посредством ключа безопасности. Модуль 204 безопасности выполняет необходимое шифрование и дешифрование в соответствии с требованиями механизма коммутации для считывания и/или передачи сообщений.
Как уже упоминалось ранее, функциональность системы реализована в виде множества плагинов 222. Плагины 222 содержат блоки программного обеспечения и являются модульными по сути, обеспечивая возможность улучшения уникальными и/или пользовательскими функциями, требуемыми клиентами. Кроме того, они поддерживают возможность расширения существующих функциональных возможностей без изменения других элементов. В вариантах воплощения все реализовано как плагин 222, даже основной финансовый механизм 202 коммутации и HSM.
Следовательно, в вариантах воплощения плагины 222 могут содержать: плагин реализации основного финансового механизма 202 коммутации, один или более плагинов, реализующих функциональность одного или более модулей 204 безопасности (например, содержащий программное обеспечение HSM), один или более интерфейсных плагинов оконечной точки услуги для взаимодействия с терминалами 108 оконечной точки услуги (с помощью любой соответствующей инфраструктуры, такой как сеть PoS или сервер EFTS), и один или более плагинов обработки транзакций, например, для взаимодействия с системой (ами) провайдера 210. Интерфейсные плагины оконечной точки услуги могут содержать плагин Pos для взаимодействия с терминалами 212 PoS через сеть PoS и/или плагин ATM для взаимодействия с банкоматами 214 через сеть ATM (содержащую сервер 216 EFTS). Плагины обработки транзакций сконфигурированы с возможностью обрабатывать финансовые транзакции посредством взаимодействия с соответствующей системой 210 провайдера. Плагины могут также содержать плагины для онлайновых транзакций и/или предоплаченных транзакций по счету. Следовательно, плагины 222 могут осуществлять некоторые или все функциональные возможности упомянутых фильтров 208.
В вариантах воплощения настоящего изобретения DAL 220 также может быть реализован как один из указанных плагинов 222. Система может содержать один или более других плагинов 222 (не показаны), таких как: плагин регистрации транзакции для регистрационных транзакций в базе данных 218 через DAL 220, плагин отчетности для создания отчетов, относящихся к транзакциям (например, отчетность о деятельности счета), плагин преобразования протокола для преобразования между различными протоколами связи, используемых во всей системе, и/или плагин времени существования транзакции для управления временем существования транзакции.
Плагины 222 могут быть соединены друг с другом, чтобы создавать транзакции, как далее будет описано более подробно.
Фиг. 3 иллюстрирует настоящую реальную физическую реализацию системы, и в частности ее распределенный характер. Система содержит множество плагинов 222 (таких, как те, которые обсуждались выше), распределенных среди множества физических центров 106 обработки данных. Физические центры обработки данных реализованы во множестве различных соответствующих физических объектов, например, различных зданиях, различных городах или даже различных странах. В вариантах воплощения может быть, по меньшей мере, три центра обработки данных, или, по меньшей мере, десять или более десятков центров обработки данных, или даже более сотни. Как уже упоминалось, центры 106 обработки данных соединены друг с другом через частную сеть 110, которая может содержать частную сетевую инфраструктуру и/или частный протокол, реализованный через общедоступную сеть, такую как Интернет (иногда называют виртуальной частной сетью).
Там, где упоминается, что плагины 222 распределены между различными центрами 106 обработки данных, может означать одно или оба из двух вещей: во-первых, это может означать, что различные типы плагина реализованы в различных центрах обработки данных (например, основной механизм 202 на одном центре 106 обработки данных и интерфейс 208b АТМ на другом и т.д.); и/или, во-вторых, это может означать, что различные экземпляры данного плагина могут быть реализованы параллельно в различных центрах обработки данных (например, так экземпляры основного механизма 202 могут быть реализованы во множестве центров 106 обработки данных, и экземпляры интерфейса 208b ATM могут быть реализованы во множестве центров 106 обработки данных и т.д.). То есть каждый плагин 222 физически хранится и/или выполнен на одном или более из центров 106 обработки данных, различные плагины 222, по меньшей мере, частично хранятся и/или выполняются на различных центрах обработки данных, или даже каждый плагин распределен между всеми центрами 106 обработки данных. Отметим также, что несколько экземпляров данного плагина 222 могут также работать параллельно на заданном центре 106 обработки данных. Экземпляры здесь могут относиться к различным копиям одного и того же (или, по существу эквивалентны) плагина 222, сохраненного в различных центрах 106 обработки данных, или к различным экземплярам одной и той же копии, работающей в одном центре обработки данных (т.е. к той же копии, работающей в различных транзакциях параллельно).
Между плагинами 222 и физическими центрами 106 обработки данных предусмотрена операционная система 302, которая сконфигурирована с возможностью абстрагировать плагины 222 от основных распределенных физических центров 106 обработки данных. Это означает, что плагины 222 не имеют, и, при этом не нуждаются, ни в какой видимости распределенной структуры физической реализации системы. Если данный плагин 222 отправляет сообщение, предназначенное для другого плагина 222, то он выдает сообщение только для операционной системы и не определяет физический адрес другого центра 106 обработки данных (и также не имеет никакой необходимости делать это). Физическая маршрутизация сообщений между центрами 106 обработки данных, выполняющая плагины 222 источника и назначения (или плагины экземпляров источника и назначения), обрабатывается операционной системой 302 без плагина 222 которому необходимо знать об этом - вместо того, чтобы плагин просто посылает сообщение к другому плагину через OS без плагинов 222, нуждающихся в знании различных распределенных центров обработки данных 106. Таким образом, плагины 222 обрабатывают бизнес-логику, в то время как операционная система обрабатывает основную физическую маршрутизацию по сети 110.
Операционная система 302 сама может быть реализована распределенным способом среди некоторых или всех центров обработки данных. Она может содержать реализацию справочной таблицы плагина, отображающей плагины или плагины экземпляров для центров обработки данных и/или записывающей, какие плагины доступны, при этом справочная таблица распределяется среди некоторых или всех центров обработки данных. В качестве альтернативы справочная таблица может быть реализована централизованно. В любом случае, когда она получает сообщение от плагина 222, операционная система 302 может, таким образом, просматривать реальное физическое назначение, при котором сообщение должно быть направлено на переработку.
Операционная система 302 также может быть сконфигурирована с возможностью выполнять балансировку нагрузки, чтобы попытаться оптимально сбалансировать нагрузку для сохранения и/или выполнения различных плагинов 222 или экземпляров плагинов 222 среди различных центров 106 обработки данных, таким образом, что ни один из центров 106 обработки данных не удержит чрезмерную нагрузку памяти и/или обработку ресурсов, потребляемых системой в целом. Механизм балансировки нагрузки учитывает такие параметры, как: внутренние ресурсы центра 106 обработки данных, как использование процессора и памяти, а также внешние ресурсы, такие как TCP соединение, соединение с базой данных и задержки в сети. При необходимости возможно увеличение времени выполнения или уменьшение количества экземпляров плагина, и это может быть выполнено вручную или автоматически. Встроенная интеллектуальная балансировка нагрузки может работать даже без изменения конфигурации вручную, но в вариантах воплощения явные указания могут быть сделаны оператором, такие как: конфигурация порогового значения очередности, конфигурация приоритета, конфигурация тайм-аут отклика, конфигурация времени пропускной способности и/или конфигурация порогового значения потребительской памяти. Балансировку нагрузки можно рассматривать как форму интеллектуальной маршрутизации сообщений.
Кроме того, операционная система может быть сконфигурирована для выполнения наиболее экономической маршрутизации, чтобы найти оптимальный маршрут для сообщений транзакции среди центров 106 обработки данных по сети 110. Эта интеллектуальная диспетчеризация обеспечивает автоматический расчет оптимального значения маршрутизации на основе пути задержки, размера очереди сообщений, скорости обработки данных, приоритета, доступности плагина и/или ответа плагина (например, плагин может определить свой собственный узел в качестве дефекта). Приведенные выше признаки могут управляться вручную с помощью изменения конфигурации, или автоматически.
Предпочтительно, операционная система сконфигурирована с возможностью иметь возможность интерпретировать различные языки сценариев, таких как Java, Lua и/или C ++ (используется в качестве языка сценариев), и, таким образом, сконфигурирована с возможностью поддерживать плагины 222, запрограммированные на таких различных языках. Предпочтительно, что система также сконфигурирована с возможностью поддерживать различные протоколы связи для поддержания связи между различными одними из плагинов 222 и/или между центральным механизмом 202 коммутации и плагинами 222. Например, протоколы передачи данных могут содержать SOAP, REST, ASN.1 и/или H2H протокол. В вариантах воплощения преобразование протокола может быть реализовано с помощью одного или более из плагинов 222.
Кроме того предпочтительно, система является независимой базой данных, которая содержит уровень абстракции данных (DAL) 220, который поддерживает множество типов баз данных, например, SQL, MySQL, PostgreSQL, MS-SQL, DB2 и/или Oracle. В вариантах воплощения настоящего изобретения DAL 220 может или не может быть одним из указанных плагинов. В вариантах воплощения настоящего изобретения база данных может быть распределена среди некоторых или всех центров обработки данных, или может быть реализована централизованно.
Фиг. 4 иллюстрирует пример множества плагинов 222, соединенных друг с другом для того, чтобы сформировать транзакцию, в этом случае транзакцию по кредитной или дебетовой карте между банкоматом 214 и кредитной или дебетовой картой провайдера 210. Транзакция формируется с помощью: экземпляра времени существования плагина 410 транзакции, экземпляра плагина 202 основного финансового механизма коммутации, экземпляра плагина 204 безопасности и экземпляра плагина 408 регистрации, экземпляров двух плагинов оконечной точки услуги в виде плагина 404 связи и плагина 222 фильтра EFT H2H, и экземпляров двух плагинов обработки транзакций в виде фильтра 208a кредитной или дебетовой карты и фильтра 406 связи. Плагины загружаются динамически при каждом соединении. В вариантах воплощения экземпляры плагинов 222 для данной транзакции сведены вместе и управляются в течение всего времени существования посредсвтом плагина 410 времени существования транзакции.
ATM 214 выдает сообщение с запросом к центральному коммутатору 202 через EFTS 216 и плагины 404, 208а оконечной точки услуги. Механизм 202 коммутации анализирует сообщение, чтобы определить, что этот запрос на получение транзакции по кредитной или дебетовой картам и, таким образом, определяет, что он должен быть направлен к системе 210 кредитной или дебетовой карты провайдера для урегулирования. Соответственно, механизм 202 коммутации направляет сообщение к системе 210 кредитной или расчетной дебетовой карты через интерфейсные плагины 208а и 406 провайдера. После того, как транзакция, таким образом, решена (или отклонена) с помощью системы 210 провайдера карты, она возвращает ответ к ATM 214 через коммутатор 202, интерфейсы 406, 208а, 208b, 4040 и ETFS 216. Каждый из одного или более этапов транзакций также может регистрироваться в базе данных 218 посредством плагина 408 регистрации через DAL 220. Плагин 204 безопасности обрабатывает шифрование сообщений, так что любое сообщение, передаваемое между физическими центрами 106 обработки данных, надлежащим образом зашифровывается с помощью аппаратных средств 412 HSM.
Описанная система обеспечивает общий и универсальный коммутатор в режиме реального времени, не ограничивается каким-либо конкретным типом транзакции, интерфейсом или форматом данных. Приведенный выше пример транзакции по кредитной или дебетовой картам это только один пример случая общей архитектуры, которая также может быть использована для многих других функций, таких как онлайн-транзакции, предоплаченные транзакции по счету, просмотр счета и/или мониторинг счета для автоматической генерации оповещения и т.д.
Распределение модульных плагинов или различных экземпляров плагинов среди множества распределенных центров обработки данных означает, что множество физических центров обработки данных слиты в один логический центр обработки данных. Оно может обеспечить ряд преимуществ. Например, упомянутое распределение позволяет обеспечить нулевое время простоя в случае выхода из строя или даже технического обслуживания. Единственный дефект может быть автоматически заменен другими плагинами в другом местоположении. Кроме того, с помощью этой облачной конструкции, обновление в режиме реального времени и конфигурирование стали возможными благодаря реализации реконструкции в одном центре 106 данных без необходимости изменения или выключения остальной части системы. Плагины 222 могут быть обновлены или обновляться во время выполнения, даже без потери соединения, например, заменять на новую версию плагина, изменять версированное имя в таблице плагина или отправлять сообщение обновления плагину. Кроме того, конструкция обеспечивает высокую производительность и масштабируемость, позволяя системе быть расширенной только конфигурацией или даже автоматически, посредством добавления дополнительных плагинов, экземпляров плагинов и/или центров обработки данных без необходимости остановки и/или переработки остальной части системы.
Система является гибкой и легко расширяемой с помощью плагинов, которые будут разработаны и заменены третьими лицами. Она обеспечивает множество интерфейсов для доступа и управления данными, например, SOAP, REST и/или ASN.1; и позволяет использовать множество языков сценариев, даже LUA.
Кроме того, система предусматривает автоматическую балансировку нагрузки, управление памятью и интеллектуальное вычисление ʺзатрат на маршрутизациюʺ.
Должно быть понятно, что система может обрабатывать информацию в дополнение к финансовой информации. Таким образом, система может рассматриваться как "универсальная" в том, что она может обрабатывать любой тип электронного сообщения.
Подход на основе центральной операционной системы и плагина, как описано выше, позволяют осуществлять распределение функциональных возможностей. Операционная система может обрабатывать, например, доставку сообщений, многопоточность, обработку плагинов, уровень абстракции базы данных, управление памятью и средства управления производительностью. Плагины могут, например, реализовать бизнес-логику, и также иметь возможность объединяться в цепочку к другим плагинам. Кроме того, система может быть легко реализована в виде системы на облачной основе.
Предусмотренные варианты воплощения не ограничиваются каким-либо конкретным типом операционной системы. Операционная система может быть, например, Linux, Windows и т.д. Какая бы ни использовалась операционная система, она может иметь в вариантах воплощения абстрактные функциональные возможности для плагинов, таких как бизнес-логика.
Следует принять во внимание, что вышеуказанные варианты воплощения были описаны только в качестве примера. Другие варианты воплощения могут стать очевидными для специалиста в данной области техники в данном описании. Объем раскрытия не ограничивается описанными вариантами воплощения, а только прилагаемой формулой изобретения.