Изобретение касается системы переноса денежных средств для безналичных финансовых операций, а конкретно восстановления неудавшихся операций. Системы переноса денежных средств были предложены для осуществления взаимного обмена денежными средствами между "электронными денежными фондами". Такие системы описаны, например, в Международных патентных публикациях WO 91/16691 и WO 93/08545. Носители, защищенные от кражи, такие как карты с интегральными схемами (КИС), по-другому известные как "интеллектуальные карты", включают микропроцессоры и электронные запоминающие устройства и несут в себе "электронные денежные фонды". Строго говоря, электронные денежные фонды представляют собой компьютерные "приложения" (прикладные системы), состоящие из программ и связанных с ними данных, а интеллектуальные карты - это один из примеров устройства-носителя прикладных систем (УНП).
Для того, чтобы производить обмен денежными средствами между электронными денежными фондами, карты (УНП), которые являются носителями соответствующих денежных фондов, вводятся во взаимодействие через одно или несколько устройств сопряжения (УС) (интерфейсов). Например, при получении денежных средств или, когда "электронные деньги" поступают в денежный фонд из банка, потребитель (клиент) должен ввести карту в автоматический банковский аппарат (АБА), связанный с этим банком. АБА является устройством сопряжения, которое связано с УНП, которое, в свою очередь, является носителем электронного денежного фонда этого банка. Через устройство сопряжения (УС) происходит обмен информацией между денежным фондом и требующиеся электронные деньги переводятся из денежного фонда банка в денежный фонд потребителя. Для банка - это операция в диалоговом режиме.
Другой формой устройства сопряжения является терминал пункта торговли (ПТ) в розничном магазине. Здесь потребитель может ввести свою карту в терминал, таким образом, соединив свой электронный денежный фонд с электронным денежным фондом продавца. Товары могут быть куплены с помощью переноса электронных денег из денежного фонда потребителя в денежный фонд продавца. Для банка - это операция в автономном режиме. Возможны также дистанционные операции, когда две карты-носители денежных фондов вводятся в соответствующие устройства сопряжения, которые связаны друг с другом через модемы и коммуникационную сеть. Следовательно, денежными средствами можно обмениваться при проведении операций, например, через телефон или по Интернет.
Обычно операция для обмена денежными средствами состоит из обмена рядом сообщений между денежными фондами в соответствии с заданным протоколом. Возможно, что по ряду причин последовательность сообщений может быть прервана. Это может быть связано с неисправностью аппаратуры, отключением электропитания или нарушением целостности сообщения, например, из-за электрического шума или проблем с синхронизацией. Большинство сетевых систем на уровне модема имеют технические средства для коррекции ошибок. Но даже при этом существует потенциальная возможность неудачного проведения операции из-за прерывания последовательности операционных сообщений. Настоящее изобретение направлено на создание системы, имеющей технические средства для восстановления прерванных операций в исходное положение и их полного выполнения.
Согласно изобретению предлагается система переноса денежных средств, содержащая ряд электронных денежных фондов; ряд устройств-носителей прикладных систем (УНП), которые являются носителями электронных денежных фондов; и ряд устройств сопряжения (УС) для связывания в пары устройств-носителей прикладных систем (УНП), для того чтобы между парами электронных денежных фондов происходили операции переноса денежных средств, причем операция между парой электронных денежных фондов в устройствах-носителях прикладных систем (УНП), связанных с помощью устройства сопряжения (УС), включает обмен операционными сообщениями в последовательности, соответствующей заданному протоколу, каждое операционное сообщение посылается из одного электронного денежного фонда пары в устройство сопряжения (УС) и из устройства сопряжения (УС) в другой электронный денежный фонд пары, при этом система содержит средство хранения для сохранения операционных сообщений после того, как они были отправлены, а устройство сопряжения (УС) включается в работу для вызова процедуры восстановления, если нарушена заданная последовательность операционных сообщений, при этом процедура восстановления включает шаг по выходу из средства хранения последнего отправленного операционного сообщения и повторной его отправке для возобновления последовательности.
Предпочтительно, чтобы электронный денежный фонд включал ждущий файл регистрации (журнал), который содержит данные о текущей или самой последней операции, причем ждущие файлы регистрации упомянутой пары денежных фондов составляют упомянутое средство хранения. Кроме того, предпочтительно, чтобы каждый электронный денежный фонд имел файл регистрации особых ситуаций, в котором хранятся данные по неудавшимся операциям, причем содержание ждущего файла регистрации копируется в виде записи в файл регистрации особых ситуаций при сбое, для того, чтобы восстановить неудавшуюся операцию.
Процедура восстановления может включать метод проб и ошибок, причем устройство сопряжения (УС) включается в работу, когда выполняется этот метод, для того, чтобы:
(а) опрашивать первый электронный денежный фонд пары для вывода из его ждущего файла регистрации последнего операционного сообщения, которое было отправлено;
(b) передавать это операционное сообщение в другой электронный денежный фонд пары для возобновления операции, и, если это приводит к ошибке, то;
(с) опрашивать упомянутый другой электронный денежный фонд пары для вывода из его ждущего файла регистрации последнего операционного сообщения, которое было отправлено; и
(d) передавать это операционное сообщение в первый электронный денежный фонд пары для возобновления операции.
Метод проб и ошибок может привести к тому, что посылается чрезмерное количество сообщений и в некоторых ситуациях может быть лучше использовать заданный, более структурированный метод восстановления. В этом случае устройство сопряжения (УС) включается в работу, для того чтобы:
(а) опрашивать оба электронных денежных фонда пары, для того, чтобы определить из их ждущих файлов регистрации, какой электронный денежный фонд продвинулся дальше в неудавшейся операции;
(b) опрашивать электронный денежный фонд, который в неудавшейся операции продвинулся дальше, для вывода из его ждущего файла регистрации последнего операционного сообщения, которое было отправлено; и
(с) передавать это операционное сообщение в другой электронный денежный фонд пары для возобновления операции.
Вместо или помимо сохранения операционных сообщений в ждущих файлах регистрации в электронных денежных фондах, эти сообщения могут сохраняться в буфере в устройстве сопряжения (УС), после того как они были отправлены. Тогда устройству сопряжения (УС) не потребуется восстанавливать из электронных денежных фондов последнее отправленное сообщение.
Для пользователей очевидно, что многие сбои операций будут кратковременными и тогда предпочтительно, чтобы устройство сопряжения включалось в работу для вызова процедуры восстановления автоматически и немедленно. Однако иногда операция может быть прервана по более значительной причине, например, из-за вывода карты из устройства сопряжения (УС). Тогда необходима процедура для отложенного восстановления операций и предпочтительная схема заключается в том, что устройство сопряжения должно опросить электронные денежные фонды в начале предполагаемой операции с тем, чтобы определить, если ли зависшая неудавшаяся операция между теми денежными фондами, которые способны к возобновлению ее, так чтобы могла быть инициирована процедура отложенного восстановления.
Далее изобретение будет описано со ссылками на прилагаемые чертежи, на которых:
фиг. 1 - упрощенная схема системы переноса денежных средств согласно изобретению;
фиг.2 - упрощенная схема устройства терминала пункта торговли, входящего в систему, показанную на фиг.1;
фиг. 3 - схема, иллюстрирующая осуществление дистанционной связи между электронными денежными фондами;
фиг. 4 - схема, показывающая файлы регистрации в электронном денежном фонде системы, изображенной на фиг.1;
фиг. 5 - схема, иллюстрирующая поток командных и ответных операционных сообщений в обычной операции по переносу денежных средств на терминале пункта торговли в системе переноса денежных средств;
фиг. 6-8 - схемы, показывающие поток командных и ответных операционных сообщений в трех, соответственно, примерах автоматического и немедленного выполнения процедуры восстановления операции в системе переноса денежных средств;
фиг. 9 - схема, показывающая поток командных и ответных операционных сообщений при выполнении процедуры заданного и отложенного восстановления в системе переноса денежных средств; и
фиг.10 - схема, показывающая поток командных и ответных операционных сообщений при выполнении процедуры заданного и отложенного восстановления в системе переноса денежных средств.
Обратимся к фиг.1 и фиг.2, на которых показана система переноса денежных средств. Согласно изобретению она представляет собой систему электронных денег такого типа, который описан в Международных Патентных Публикациях WO 91/16691 и WO 93/08545. Каждая из интеллектуальных карт 1 представляет собой устройство-носитель прикладной системы (УНП), которое содержит микропроцессор, ОПУ (оперативное запоминающее устройство) и ПЗУ (постоянное запоминающее устройство), которое относится к типу электрически стираемого программируемого постоянного запоминающего устройства (ЭСППЗУ). Электронные денежные фонды представляют собой прикладные системы на устройствах-носителях прикладных систем (УНП), которые содержат программы и данные, включающие данные о денежных средствах, которые являются электронными деньгами. Электронные деньги переносятся из одного денежного фонда в другой денежный фонд путем электрического соединения между собой соответствующих устройств-носителей прикладных систем (УНП) через одно или два устройства сопряжения (УС) и обмена операционными сообщениями. Сообщения имеют форму команд, выдаваемых устройствами сопряжения, и ответов от денежных фондов. Ответы включают сообщение о переносе денежных средств, вследствие чего данные о величине денежных средств в электронном денежном фонде плательщика уменьшаются на некоторую величину, а в электронном денежном фонде получателя увеличиваются на ту же величину. Как было описано в вышеупомянутой международной патентной публикации, электронные денежные фонды и операционные сообщения защищены с помощью криптографической системы с открытым/секретным ключом.
Одна из форм устройств сопряжения (УС) это персональный "бумажник", который имеет две щели для приема соответствующих устройств-носителей прикладных систем (УНП) и управляет переносом денежных средств между содержащимися в них электронными денежными фондами. На фиг.2 показано устройство сопряжения (УС) в виде бумажника 5, в которое вставлены две интеллектуальные карты 1с, 1d. Устройство сопряжения (УС) имеет экран 6 и клавиатуру 7. Внутри устройство сопряжения (УС) имеет микропроцессор 8, ОЗУ 9 и ЭСППЗУ 10. В ОЗУ 9 имеется два буфера 11, 12. Каждый буфер представляет собой участок памяти, который сохраняет операционные сообщения после того, как они переданы из устройства сопряжения (УС) в устройства-носители прикладной системы (УНП) 1с и 1d, соответственно. В другом варианте имеется один буфер, в котором сохраняется последнее отправленное сообщение независимо от того, в какое устройство-носитель прикладной системы (УНП) оно передано. Буфер или буферы могут быть в виде ЭСППЗУ вместо ОЗУ. На фиг.2 также показаны устройства-носители прикладной системы (УНП), содержащие микропроцессоры 13с, 13d; ОЗУ 14с, 14d; и ЭСППЗУ 15с, 15d.
Одним из примеров операции по переносу денежных средств является поступление электронных денег в электронный денежный фонд потребителя из банка, такого как банк 16 на фиг.1. Здесь устройство сопряжения (УС), которое связывает устройство-носитель прикладной системы (УНП) потребителя с устройством-носителем прикладной системы (УНП) банка представляет собой автоматический банковский аппарат 17. Теперь потребитель может купить товары у продавца магазина розничной торговли, вставляя свое устройство-носитель прикладной системы (УНП) в терминал пункта торговли (ПТ), с которым также связывается устройство-носитель прикладной системы (УНП) продавца. Операция по переносу электронных денег может быть начата. Что касается банка, то для него это автономная операция. Продавцы могут передавать накопленные электронные деньги в свои собственные банки с помощью последующих операций, либо с использованием устройства сопряжения (УС) типа автоматического банка или по телефону, как это схематически проиллюстрировано на фиг.3. Здесь устройство-носитель прикладной системы (УНП) 1а связывается с устройством сопряжения (УС) 18, которое представляет собой объединенные устройство считывания карты и модем. Оно подсоединяется с помощью телефона к устройству сопряжения 19 в банке продавца, которое также представляет собой объединенные модем и устройство считывания карты, и которое, в свою очередь, связывается с устройством-носителем прикладной системы (УНП) 1b банка.
фиг. 4 схематически иллюстрирует часть ЭСППЗУ 4 устройства-носителя прикладной системы (УНП), в которой содержатся данные электронного денежного фонда, сохраняющие три записи (данные) по платежу.
Подробная информация (данные) текущего или последнего платежа находится в записи 20 ждущего файла регистрации. Если прохождение платежа достигло критической точки, но еще не закончено, тогда для этого платежа может быть применена процедура восстановления. Пока подробная информация сохраняется в записи ждущего файла регистрации, может быть повторно восстановлено самое последнее сообщение протокола платежа, которое было отправлено денежным фондом во время этого платежа (если это имеет место). Эта критическая точка возникает во время успешного выполнения либо команды "Платеж Начать Получателю" (в денежном фонде получателю) либо команды "Запрос Платежа" (в денежном фонде плательщика). Платеж, находящийся на этой стадии, может быть восстановлен. Существует только одна запись в ждущем файле регистрации.
В файле регистрации особых ситуаций 21 хранится подробная информация (данные) по платежам, которые не удалось успешно завершить, но которые больше не могут быть восстановлены. Входные данные в этом файле регистрации никогда не переписываются (затираются), но они могут быть выброшены поставщиком денежных фондов (например, банком). Платежи не могут выполняться, если файл регистрации особых ситуаций заполнен.
Файл регистрации 22 платежей сохраняет подробную информацию (данные) о последних успешных платежах. В том случае, если в заполненном файле регистрации наиболее старые входные данные затираются и вносятся данные по новому платежу, такой файл регистрации называется циркулярным файлом регистрации.
Как только баланс в денежном фонде изменяется, так в файле регистрации платежей делается запись. Это происходит во время выполнения команд "Запрос Платежа" (в денежном фонде плательщика) или "Платеж Денежных средств" (в денежном фонде получателя). В том случае, если это происходит в денежном фонде плательщика, то на этой стадии запись в файле регистрации платежей отмечается как "незакончен". (Для денежного фонда получателя платеж тогда считается действительно завершенным, если больше не ожидается сообщений).
Каждая операция между электронными денежными фондами состоит из ряда командных операционных сообщений, генерируемых устройством сопряжения (УС), и соответствующих ответных операционных сообщений, генерируемых соответствующими электронными денежными фондами. Программы электронных денежных фондов и устройств сопряжения (УС) соответствуют заданной последовательности команд и ответов. Если эта последовательность нарушается из-за ошибки или какой-либо помехи, тогда операция будет прекращена с ошибкой "сообщение вне последовательности".
Теперь будет описана обычная последовательность команд и ответов.
Команды описываются в трех группах: команды пред-платежа, начала платежа и протокола платежа. Общий метод состоит в том, что команды пред-платежа и начала платежа являются подготовительными для выполнения платежа и за ними следует поток сообщений минимального протокола платежа, который при нормальном режиме должен быть закончен без сбоя и который осуществляется только тогда, когда выполнена вся предварительная проверка.
Команды Пред-платежа
Команды "Регистр Денежного фонда" и "Регистр".
Эти команды подаются устройством сопряжения (УС) для получения различных элементов информации из денежного фонда. Эта информация включает длины элементов информации (данных) различной длины.
Команда "Регистр Денежного фонда" обеспечивает длину ответа на команду "регистр" и признак записи в памяти.
Ответ на команду "Регистр" обеспечивает (дает):
Информацию по конфигурации, относящуюся к Прикладной системе Денежного фонда, такую как, сколько этот денежный фонд содержит карманов, какова емкость файлов регистрации платежа и особых ситуаций и какое число персональных кодов позволено пытаться применить.
Информацию о текущем состоянии (статусе), указывающую на число неиспользованных записей в файле регистрации особых ситуаций, текущий счет числа сделанных последовательных попыток с неправильным персональным кодом, а также степень, до которой исчерпана внутренняя память (выраженная в процентах).
Код в виде набора символов, указывающий набор символов, используемый для "рассказа" о денежном фонде.
Команда "Регистр" также указывает, имеется ли ранее сделанная попытка выполнить платеж, которую не удалось закончить, но которая может быть восстановлена. Это будет обсуждаться позднее.
Команда "Регистр Платежа".
Она обеспечивает информацией, которая должна подаваться в противоположный денежный фонд в команде "Платеж Начать". Эта информация может также быть использована устройством (устройствами) сопряжения (УС).
Команда начала платежа
Существует два варианта: "Платеж Начать Плательщику" и "Платеж Начать Получателю". Команды аналогичные, но только команда "Платеж Начать Получателю" возвращает данные в своем ответе.
Команда "Платеж Начать Плательщику".
Она направляется в денежный фонд плательщика. Она обеспечивает этот денежный фонд информацией о платеже, который должен быть сделан (направление, величина и валюта), и о противоположном денежном фонде.
Затем денежный фонд проверяется (не обязательно в таком порядке), что;
Имеется "карман" для этой валюты, содержащий достаточное количество денежных средств для этого платежа;
Имеется свободный элемент в файле регистрации особых ситуаций, для того чтобы поместить туда информацию о платеже, если его не удастся закончить (произойдет сбой);
Два денежных фонда имеют различные идентификаторы денежных фондов. (Это должно быть во всех случаях);
Класс денежного фонда получателя имеется в списке классов этого денежного фонда;
Денежный фонд не заперт или не захвачен.
Если эти проверки прошли успешно, а в ждущем файле регистрации имеется ранее не законченный платеж, тогда информация о нем перемещается в файл регистрации особых ситуаций. Если файл регистрации особых ситуаций уже заполнен, то выполнение платежа не может быть продолжено.
Эта команда приводит к ответу о состоянии. Если все проверки закончены успешно, то поступившая информация запоминается, а последующие команды протокола платежа должны основываться именно на этой информации. Отсутствие валюты для денежного фонда - это отсутствие валюты, заявленной для платежа.
Теперь денежный фонд плательщика ожидает команды "Запрос Платежа".
"Платеж Начать Получателю".
Что касается команды "Платеж Начать Получателю", то эта команда обеспечивает денежный фонд информацией о платеже, который должен быть сделан (направление, величина и валюта) и о противоположном денежном фонде.
Затем денежный фонд проверяет (опять, не обязательно в таком порядке), что:
денежный фонд может выполнить платеж в указанной валюте (это валюта, с которой денежный фонд может "работать", и имеется "карман", который может быть использован для этой валюты);
платеж не приведет к тому, что потребуется превышение предельной величины, имеющейся в этой валюте;
имеется свободный элемент в файле регистрации особых ситуаций, чтобы нанести информацию о платеже, если его не удастся закончить (произойдет сбой);
два денежных фонда имеют различные идентификаторы денежного фонда (Это должно быть во всех случаях);
денежный фонд не захвачен.
Если эти проверки закончились успешно, а в ждущем файле регистрации имеется запись о ранее незаконченном платеже, то она перемещается в файл регистрации особых ситуаций. Если теперь файл регистрации особых ситуаций оказывается заполненным, то платеж не может выполняться.
Если все проверки закончились успешно, то поступившая информация запоминается, а последующие команды для выполнения платежа должны основываться именно на этой информации. Если уместно, то для определенной валюты назначается какой-нибудь "карман", и она (эта валюта) становится отсутствующей валютой для данного денежного фонда. Данные, поступающие в ответе, представляют собой "подпись" команды "Запрос Платежа", которая используется в качестве данных для команды "Запрос Платежа", направляемой в денежный фонд плательщика.
Команды Протокола Платежа
Команды протокола платежа включают три команды, которые переносят денежные средства из одного денежного фонда в другой:
Команда "Запрос Платежа", которой денежный фонд получателя запрашивает денежные средства;
Команда "Платеж Денежных средств", которой денежный фонд плательщика отправляет денежные средства;
Команда "Платеж Принят", которой денежный фонд получателя подтверждает прием платежа.
Эта последовательность выполняется более сложным образом, поскольку денежные фонды не связаны напрямую друг с другом, а связаны через устройство сопряжения (или несколько устройств сопряжения). Осуществляется это следующим образом:
Данные для команды "Запрос Платежа" поступает в ответ на команду "Платеж Начать Получателю", посылаемую в денежный фонд получателя. Они преобразуются в команду и посылаются в виде команды "Запрос Платежа" в денежный фонд плательщика;
Денежный фонд плательщика отвечает на команду "Запрос Платежа" сообщением "Платеж Денежных средств". Оно посылается в виде команды "Платеж Денежных средств" в денежный фонд получателя;
Денежный фонд получателя отвечает на команду "Платеж Денежных средств" сообщением "Платеж Принят". Оно посылается в виде команды "Платеж Принят" в денежный фонд плательщика.
Денежный фонд плательщика отвечает информацией о состоянии.
Нормальная последовательность команд и ответов в операции по выполнению платежа показана на фиг. 5. На этой фигуре текст в блоках (рамках) представляет команды, а стрелки обозначают ответы (поток данных).
Во время операции может проявиться техническая неисправность. Например, может быть нарушена целостность операционного сообщения, может сломаться или отключиться источник питания или может быть выведено устройство-носитель прикладной системы (УНП) из устройства сопряжения (УС). Некоторые неисправности (сбои) могут быть кратковременными, а другие более существенными. Настоящее изобретение предлагает способы восстановления прерванных операций. Восстановление может быть либо немедленным (как только обнаружен сбой) или отложенным (когда денежные фонды повторно вводятся (связываются с УС) в устройства сопряжения (УС) после неудачной попытки выполнения платежа).
В пределах этих видов восстановления для устройств сопряжения (УС) существуют два других возможных способа выполнения восстановления:
Метод "проб и ошибок" или основанный на непосредственном знании точного состояния платежа: устройство (устройства) сопряжения (УС) тогда просто продолжает платеж (Метод "проб и ошибок" применяется, если возникает сбой, когда сообщение было отправлено в какой-нибудь денежный фонд, а ответ не получен. Устройство сопряжения не будет знать, принял и выполнил ли сообщение этот денежный фонд и, поэтому, его попытка повторно отправить сообщение может привести к получению ошибочного сообщения из денежного фонда. В некоторых случаях восстановление может быть неуместным - платеж может быть уже успешно закончился.);
"Заданный" метод: при этом способе устройство (устройства) сопряжения (УС) изучает (анализирует) значения, возвращенные из денежных фондов, и может определить, какой денежный фонд должен будет послать команду "Платеж Возобновить", для того чтобы восстановить платеж.
В тех случаях, когда оба денежных фонда являются местными (локальными) для одного устройства сопряжения (УС), наиболее подходящим может быть восстановление методом "проб и ошибок", поскольку изначально маловероятно, что непроизводительные затраты времени по выводу неправильной команды будут значительными. В тех случаях, когда участвуют два устройства сопряжения (УС), находящиеся на расстоянии друг от друга, метод "проб и ошибок" может не быть идеальным, поскольку может потребоваться много времени для прохождения сообщений по коммуникационной линии связи. Вместо метода "проб и ошибок" устройства сопряжения (УС) могут использовать заданный метод восстановления. Заметим, что механизм заданного восстановления может использоваться независимо от условий (не только для дистанционного восстановления). Необходимо также, чтобы пользователи были информированы о том, что ранее произошел сбой, так чтобы они могли вызвать процедуру восстановления, если это уместно.
Последующие иллюстрации основаны на немедленном восстановлении платежей, когда оба денежных фонда являются местными (локальными) для устройства сопряжения (УС).
На фиг.6 показана последовательность, где:
А. УС (устройство сопряжения) не удается получить ответ на команду "Запрос Платежа", посланную в Денежный фонд Плательщика.
В. УС (устройство сопряжения) посылает повторно команду "Запрос Платежа" в Денежный фонд Плательщика.
С. Со второй попытки УС (устройство сопряжения) принимает сообщение "Платеж Денежных средств" из Денежного фонда Плательщика. (В этом случае "Запрос Платежа" не был ранее выполнен Денежным фондом Получателя.)
В этом примере следует заметить, что устройство сопряжения (УС) оставляет в буферах операционные сообщения после того, как они были переданы. Буферы проиллюстрированы на фиг.2.
фиг.7 показывает последовательность, где:
А. УС (устройству сопряжения) не удается принять ответ на команду "Запрос Платежа", посланную в Денежный фонд Плательщика.
В. В этом случае УС не сохранило сообщение "Запрос Платежа" и, поэтому, оно (УС) посылает "Запрос Возобновить" в Денежный фонд Получателя, для того чтобы восстановить "Запрос Платежа".
С. На посылаемый во второй раз "Запрос Платежа" в Денежный фонд Плательщика этот Денежный фонд Плательщика успешно возвращает "Платеж Денежных средств". (Как показано на фиг.6, это происходит, потому что Денежный фонд Плательщика не принял и не выполнил "Запрос Платежа" с первой попытки).
На фиг.8 показана последовательность, где:
А. УС (устройству сопряжения) не удается принять ответ на команду "Запрос Платежа", посланную в Денежный фонд Плательщика.
В. Оно (устройство сопряжения) посылает "Платеж Возобновить" в Денежный фонд Получателя, для того чтобы восстановить сообщение "Запрос Платежа".
С. На посылаемый во второй раз "Запрос Платежа" Плательщику Денежный, фонд Плательщика отвечает "сообщение вне последовательности", потому что он ранее уже выполнил "Запрос Платежа".
D. Тогда УС (устройство сопряжения) передает "Платеж Возобновить" в Денежный фонд Плательщика, для того чтобы получить сообщение "Платеж Денежных средств", которое не удалось получить в первый раз.
Следующий пример (не показан), это в котором в области взаимодействия между УС (устройством сопряжения) и денежным фондом существует повторяющаяся ошибка. Например, УС (устройство сопряжения) посылает сообщение "Платеж Денежных средств" в Денежный фонд Получателя и принимает неправильный ответ. Оно восстанавливает "Платеж Денежных средств" из Денежного фонда Плательщика, повторяет эту последовательность заданное число раз, но безуспешно и тогда прекращает работу, уведомляя пользователя о сбое (неисправности).
Заданное восстановление
Перед описанием того, как устройства сопряжения (УС) могут восстановить платеж заданным методом (а не методом "проб и ошибок"), необходимо объяснить, как денежный фонд указывает устройствам сопряжения (УС) стадию, которая достигнута в платеже.
Для того, чтобы ее указать (обозначить) используются следующие поля данных управления восстановлением;
а. Признак сбоя платежа, в ответе "Регистр".
Он может иметь значения:
- нет сбоя
- сбой денежного фонда получателя (заметим, что это не обязательно указывает на то, что сбой произошел в денежном фонде получателя)
- сбой денежного фонда плательщика.
b. Признак ждущей особой ситуации, в ответе "регистр".
Он может иметь значения:
- нет ждущей особой ситуации
- ждущая особая ситуация имеет место.
с. Стадия неудавшегося платежа, в ответе "Регистр Неудавшегося Платежа".
Значения этого поля зависят от выполнения (операции платежа). Однако устройства сопряжения (УС) могут использовать это поле для того, чтобы определить, какой денежный фонд продвинулся дальше в платеже: чем большее продвижение сделал денежный фонд, тем выше значение. Существует четыре логических значения, здесь они обозначены как, V1, V2, V3 и V4, где 0<=V1<V2<V3<V4= 255. При некоторых условиях денежный фонд не будет возвращать (в ответе) никакое из этих значений, но будет отвечать на команду "Регистр Неудавшегося Платежа" ошибкой "восстановить платеж нет возможности".
В зависимости от этих значений устройство сопряжения (УС) может предсказать, будет ли работать команда "Возобновить Платеж", но не обязательно может предсказать, какое сообщение операции платежа будет возвращено, потому что оно не знает действительные значения, соответствующие V1, V2, V3 u V4.
Нижеследующие поля также требуются для того, чтобы проверить, та ли это пара денежных фондов, которые участвовали в неудавшемся платеже:
d. ИД (идентификатор) противоположного Денежного фонда, из ответа "Регистр Неудавшегося Платежа".
е. Номер последовательности противоположной стороны (денежного фонда), из ответа "Регистр Неудавшегося Платежа".
На фиг.9 показана последовательность команд и ответов в процедуре заданного восстановления. Это следующие шаги:
А. Передача команды "Регистр" в каждый денежный фонд и проверка признака сбоя платежа в ответном сообщении. Если один денежный фонд возвращает "сбой денежного фонда плательщика", а другой возвращает "сбой денежного фонда получателя", тогда восстановление возможно.
В. Передача команды "Регистр Неудавшегося Платежа" в каждый денежный фонд. Если каждый ответ содержит ПИД (персональный идентификатор) другого денежного фонда и если номера последовательности согласуются, тогда восстановление возможно.
С. Передача "Возобновить Платеж" в тот денежный фонд, который сообщает о более высоком значении стадии неудавшегося платежа.
D. Превращение ответа из "Возобновить Платеж" в команду для другого денежного фонда и затем продолжение платежа.
Понятно, что заданное восстановление может быть инициировано во время неудавшейся операции автоматически при обнаружении сбоя. Кроме того, проверки и возобновление операции, если это уместно, могут быть частью нормального операционного протокола. Таким образом, в начале каждой операции денежные фонды проверяются и, если возможно, зависшая операция заканчивается до того, как следующая операция вступает в силу.
Специальный протокол требуется, если операции осуществляются дистанционно между электронными денежными фондами, каждый из которых имеет свое собственное устройство сопряжения (УС), как, например, это проиллюстрировано на фиг. 3. Здесь имеются потоки сообщений УС-УС и используется так называемый Протокол Виртуального УНП.
Этот протокол позволяет устройству сопряжения (УС) посылать команды в отдаленное устройство-носитель прикладной системы (УНП) через удаленное устройство сопряжения (УС). Это может делать любое устройство сопряжения (УС). Устройство сопряжения (УС), принимающее такую команду, может либо:
- передавать команду на устройство-носитель прикладной системы (УНП) без проверки, либо
- передавать ее в УНП, если она приемлема, и интерпретировать сообщение и любой ответ, либо
- вернуть ошибку ("сообщение не может быть выполнено"), либо
- повторно интерпретировать эту команду и выполнить ее, как если бы это было сообщение УС-УС.
Устройство сопряжения (УС), посылающее команду, известно, как "основное", устройство сопряжения (УС), принимающее эту команду, называется здесь "вспомогательным". При переносе денежных средств, как обсуждается ниже, существует договоренность, что перенос денежных средств, включающий два устройства сопряжения (УС), инициируется командой УС-УС "Начать Перенос Денежных средств" и что после этой команды "приходит" понимание того, какое из устройств сопряжения (УС) является "основным", а какое "вспомогательным". Однако возможно УС придется иметь дело со случаем, когда команда платежа виртуального УНП принимается вне этой системы "framework".
(Теоретически, из-за полного дублирования линии связи между устройствами сопряжения может быть попытка выполнить параллельно два переноса денежных средств в противоположных направлениях, так что каждое устройство сопряжения (УС) в одно и то же время оказывается основным для одного платежа и вспомогательным для другого. Это может быть осуществлено, если участвуют различные денежные фонды).
При выполнении дистанционного переноса денежных средств оба устройства сопряжения (УС) должны иметь возможность определить состояние только что выполненной операции платежа. Это легко сделать для основного устройства сопряжения, поскольку оно всегда знает, что происходит при переносе денежных средств. Все устройства сопряжения (УС) всегда контролируют и препятствуют тому, чтобы команды "Платеж Начать Плательщику" передавались из отдаленного устройства сопряжения (УС). Для вспомогательного устройства сопряжения (УС) существует три варианта (действий):
(1) Проверить все сообщения перед тем, как они передаются в УНП, и все ответы, так чтобы в конце платежа оно могло точно сообщить, что произошло, или
(2) Контролировать команды "Платеж Начать Получателю": чтобы отвергнуть все команды, кроме первой такой команды, следующей за командой "Начать Перенос Денежных средств": и чтобы считать и сравнить все величины денежных средств, имеющиеся в "карманах" денежных фондов до и после платежа, так чтобы могли быть сообщены подробности (информация) по платежу, или
(3) Контролировать команды "Платеж Начать Получателю"; для того чтобы каждый платеж мог продолжаться; а также для того чтобы считать и сравнить все величины денежных средств в "карманах" денежных фондов до и после каждого платежа (как в варианте (2)), так чтобы могли быть сообщены подробности (информация) по платежам.
В вариантах (2) и (3), для того чтобы определить подробную информацию по платежу, вместо того чтобы сравнивать величины денежных средств в "карманах", могут быть интерпретированы данные команды "Платеж Начать Получателю".
Не считается адекватным для устройства сопряжения Получателя сравнивать величины денежных средств в "карманах" до и после платежа, а затем смотреть на последнюю запись в файле регистрации операций денежного фонда, для того чтобы определить, что произошло, поскольку без идентифицирования команд "Платеж Начать Получателю" устройство сопряжения (УС) не может надежно затем определить число операций, которые выполнены.
Можно сказать, что контроль всех команд (первый вариант) позволяет защитить носитель карты в максимальной степени. Например, можно задать вариант отказа от платежа, который не согласуется с выполнением команды "Начать Перенос Денежных средств"; или он может быть использован для предотвращения несанкционированной попытки открыть отдаленный денежный фонд. Однако варианты, которые не полагаются на интерпретацию носителей команд или данные в командах "Платеж Начать Получателю", дают наилучшую защиту в будущем от системных изменений. (Для вспомогательного устройства сопряжения (УС) не требуется быть на том же уровне версии системного программного обеспечения, как для основного устройства сопряжения, но эти устройства сопряжения все равно могут взаимодействовать).
На фиг.10 показана типичная последовательность сообщений, содержащаяся в процедуре отложенного восстановления платежа, где два денежных фонда, которые участвовали в первоначальном платеже, теперь дистанционно отделены друг от друга.
Шаги следующие:
а. Пользователи (плательщик и получатель) согласны выполнить восстановление и гарантируют, что соответствующие денежные фонды являются подходящими для соответствующих им устройств сопряжения (УС).
b. Один из пользователей (в этом примере - получатель) обращается к своему устройству сопряжения (УС) начать восстановление.
с. Устройство сопряжения получателя посылает соответствующие местные (локальные) команды в свой денежный фонд, включая команды "Регистр" и "Регистр Неудавшегося Платежа". Если признак сбоя платежа из "Регистра" дает "нет сбоя", или если "Регистр Неудавшегося Платежа" указывает "платеж не может быть возобновлен", то оно (УС) говорит получателю, что восстановление невозможно.
d. Если все хорошо, то данные неудавшегося платежа и ИД Денежного фонда посылаются в команде "Начать Восстановление" в другое устройство сопряжения (УС).
е. Устройство сопряжения плательщика выбирает подходящий денежный фонд в соответствии с ИД (идентификатором) противоположного денежного фонда, указанным в данных неудавшегося платежа из команды "Начать Восстановление". После того как этот денежный фонд найден, устройство сопряжения посылает соответствующие местные команды в свой денежный фонд, включая "Регистр" и "Регистр Неудавшегося Платежа". Если:
- признак сбоя платежа, вернувшийся из "Регистра" указывает "нет сбоя", или
- "Регистр Неудавшегося Платежа" указывает "платеж не может быть возобновлен", или
- Идентификаторы Денежных фондов и номера последовательности не согласуются, то оно (УС) говорит плательщику, что восстановление невозможно, и возвращает ответ "ошибка" в устройство сопряжения получателя.
f. Если все хорошо, то оно (УС) возвращает денежному фонду плательщика данные неудавшегося платежа в ответе "Начать Восстановление".
g. Устройство сопряжения получателя теперь является основным устройством сопряжения в протоколе виртуального УНП. Оно сравнивает значения "Стадии Неудавшегося Платежа", когда они возвращаются из двух денежных фондов, и посылает команду "Платеж Возобновить" в тот денежный фонд, который сообщит о более высоком значении стадии Неудавшегося платежа. (В этом примере, это денежный фонд плательщика и, поэтому, "Платеж Возобновить" передается в виде команды виртуальному УНП.).
h. Устройство сопряжения получателя принимает ответ на "Платеж Возобновить", в этом примере, это сообщение "Платеж Денежных средств". Оно превращает его в команду "Платеж Денежных средств", которую оно посылает в денежный фонд получателя. Затем платеж выполняется обычным путем.
Теоретически можно обойтись без использования команды "Начать Восстановление" и инициирующее устройство сопряжения могло бы выполнять восстановление, просто используя команды для Виртуального УНП. Однако:
- Вспомогательное устройство сопряжения (УС) может не сообщить своему пользователю о намерении восстановить (платеж) или о результатах этого восстановления, так как оно не будет знать о том, что произошло.
- Если вспомогательное устройство сопряжения имеет больше одного денежного фонда, то у основного устройства сопряжения не будет способа сообщить ему, какой денежный фонд использовать.
Изобретение относится к системам переноса денежных средств для безналичных финансовых операций. Техническим результатом является восстановление прерванных операций в исходное положение и их полное выполнение. Система содержит множество электронных денежных фондов, множество устройств-носителей прикладных систем, множество устройств сопряжения. 5 з.п. ф-лы, 10 ил.
Домовый номерной фонарь, служащий одновременно для указания названия улицы и номера дома и для освещения прилежащего участка улицы | 1917 |
|
SU93A1 |
УСТРОЙСТВО ДЛЯ РАСЧЕТОВ КОНТРАКТНОЙ ЦЕНЫ НА ТОРГАХ | 1992 |
|
RU2022351C1 |
US 5161231 A, 03.11.1992 | |||
Экономайзер | 0 |
|
SU94A1 |
Пуговица | 0 |
|
SU83A1 |
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО КРОМОНОВА ДЛЯ АНАЛИЗА НАДЕЖНОСТИ БАНКА | 1994 |
|
RU2024930C1 |
Авторы
Даты
2002-05-20—Публикация
1996-05-14—Подача