СПОСОБ ИНТЕГРАЦИИ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ ПРОГРАММНО-АППАРАТНЫХ КОМПЛЕКСОВ
METHOD FOR INTEGRATION OF PERIPHERAL DEVICES OF SOFTWARE AND HARDWARE SYSTEMS

Область техники, к которой относится изобретение
Настоящее изобретение относится к вычислительной технике, а конкретнее - к способу интеграции периферийных устройств в составе программно-аппаратных комплексов (ПАК), представляющих собой объединенные в едином конструктиве (корпусе) различных по назначению оконечных устройств (мониторы (экраны), принтеры, сканеры, считыватели, камеры, коммутаторы и пр.), подключенных к центральному вычислителю (встроенному персональному компьютеру).
Уровень техники
В настоящее время существует несколько различных предложений по обеспечению интеграции информационных ресурсов и реализации единого вычислительного процесса в рамках комплексов средств автоматизации (КСА), программно-аппаратных комплексов (ПАК), а также распределенных сетях объектов автоматизации (OA).
Так, в патенте РФ №2359319 (опубл. 11.05.2007) раскрыт способ интеграции разнородных информационных ресурсов в гетерогенных вычислительных сетях. В этом способе в целях обеспечения единого вычислительного процесса реализуется специализированое программное обеспечение (ПО), обеспечивающее единую адресацию объектов сети и унифицированные средства доведения разнородной информации до этих объектов. Это ПО относится к классу общесистемного программного обеспечения (ОСПО), часто называемого middleware - ПО «промежуточного слоя», разрабатываемого для решения различных интеграционных задач в интересах «больших» систем и комплексов и обеспечивающего функционал специализированного «клея», отсутствующий в общем программном обеспечении (ОПО), к которому относятся, например, операционные системы (ОС) или системы управления базами данных (СУБД).
Данное решение относится к сетевым устройствам, которые объединяются в единый вычислительный процесс по протоколам стека. IP, что относится, скорее, к формированию КСА объекта автоматизации, нежели ПАК изделия. В ПАК основными шинами, обеспечивающими взаимодействие с периферийными устройствами, являются шины СОМ и USB, реализуемые на уровне ОС ПАК, а не сети КСА.
В патенте РФ №2008108965/08, (опубл. 08.08.2006) описана архитектура и устройство управления разнородными ресурсами на полевой основе. Интеграция полевых устройств в единый комплекс реализуется через модуль интеллектуального интерфейса, который содержит, по меньшей мере, один порт подключения для передачи данных, выполненный с возможностью соединения с сетью передачи данных, а также, по меньшей мере, один порт подключения для связи с процессом, выполненный с возможностью соединения с шиной полевого устройства, содержит контроллер и память, соединенную с контроллером. Такая схема обеспечивает подключение одного или большего количества полевых устройств и/или шин полевого устройства. Функции более высокого порядка обеспечивают калибровку и диагностику сложного устройства, реализуют узкую задачу создания распределенной системы управления, в том числе и виртуальными полевыми (удаленными) устройствами.
Реализация интеграционной сущности по этому патенту состоит в создании отдельного интеграционного шлюза - аппаратного модуля, встраиваемого в систему управления. Неизвестным остается вопрос масштабирования такого устройства в зависимости от количества и типов различных периферийных устройств, входящих в ПАК. Опять же, предполагается, что указанное устройство является сетевым. Не любой конструктив ПАК может обеспечить размещения такого дополнительного устройства в своем составе из чисто пространственных и конструктивных особенностей, а также возможностей по питанию.
В патенте РФ №2013147099, (опубл. 29.03.2012) раскрыты способ и устройство передачи файлов описания конфигураций периферийного устройства главному компьютеру, необходимой для обеспечения поддержки конкретной версии периферийного устройства. Способ включает в себя следующие этапы: подключение периферийного устройства к главному компьютеру с возможностью обмена данными с целью установки периферийного устройства в системе управления технологическим процессом, получения данных описания и конфигурации соответствующей версии периферийного устройства, осуществления доступа к файлу конфигурации, содержащемуся в памяти периферийного устройства, и передачи файла описания устройства от периферийного устройства главному компьютеру.Задача реализуется при помощи специализированного аппаратного контроллера, обеспечивающего обмен данными между устройством и главным компьютером.
В заявке по этому патенту не вполне понятно, чем является упомянутый контроллер, реализующий функции хранения и передачи конфигурационных файлов устройств. Обычно, такого рода контроллеры представляют собой встраиваемые платы расширения (например, на шине PCI или PCI-X), для который в составе конкретного ПАК может просто не оказаться места. Кроме того, драйвер такого контроллера обязан поддерживаться текущей ОС ПАК. В противном случае, функциональность контроллера не обеспечивается. Если же упомянутый контроллер является дополнительным сетевым устройством, то для конкретного ПАК, его встраивание может быть конструктивно невозможно из-за габаритных проблем или вопросов по питанию.
Заявка №2018117162, (опубл. 08.05.2018) раскрывает способ интеграции оборудования в средства автоматизированного управления и учета, необходимого, прежде всего, для централизованного управления и учета различного оборудования систем автоматизации, Умного Дома, музыкальных и аудио-видео систем, серверов учета данных и ресурсов. Ключевой решаемой задачей является обеспечение совместимости разнородного оборудования внутри системы Умный Дом (и подобных систем) для централизованного управления. Для решения данной задачи описывается сервер управления с базой данных, содержащей API конкретного оборудования и драйвер данного оборудования. Через эту связку сущностей и осуществляется управление оборудованием со стороны пользователя, интерфейс которого также реализуется в составе сервера.
Вопросы формирования упомянутого драйвера остаются непроясненными, особенно, в случае большого количества различных типов оборудования. В этом случае упомянутые функции API каждой единицы требуют дополнительного хранения и встраивания в интерфейс управления. Таким образом, количество задач интеграции в сервер интеграции будет равняться количеству заявленного периферийного оборудования ПАК. Кроме того, API-функции каждой единицы периферии существенно меняются от производителя к производителю. Таким образом, круг решаемых задач интеграции увеличивается пропорционально.
Решение, описанное в документе US 2016170390 (А1), (опубл. 16.06.2016), касается управления внешними устройствами, подключенными к управляющему устройству, причем устройство управления включает в себя: коммуникатор, сконфигурированный для приема от сервера правила обслуживания, включающего условие триггера и устройство выполнение действия; а также контроллер, сконфигурированный для выбора одного из устройств, подключенных к управляющему устройству, на основе принятого правила обслуживания, изменения принятого правила обслуживания и управления выбранным устройством с использованием модифицированного правила обслуживания.
Недостатками такого решения является, к примеру, необходимость во внесении изменений в систему управления при подключении нового оборудования, повышенные требования к вычислительным ресурсам и низкая скорость при обработке информации и управлении оборудованием, а также известные недостатки масштабирования, описанные выше.
В патенте №2002104360/09, (опубл. 19.07.2000) и в заявке №US 00/19699 () (опубл. 19.07.2000) описывается формирование и варианты усовершенствования специализированных ПАК для банковской отрасли - автоматизированных кассовых машин (АКМ) и их функционированию в глобальных сетях. В описании указывается, что сети, которые используют АКМ и другие типы автоматизированных банковских машин, обычно являются частными, доступ к которым ограничен. Это необходимо для того, чтобы предотвратить мошенничество или вмешательство в сеть или пользовательские счета. Частные сети также обычно используются для передачи сообщений о кредитных карточках и других сообщений о финансовых транзакциях. Доступ к такой системе, обрабатывающей кредитные карточки, также ограничен, прежде всего, с целью поддержания защиты. Это устаревшее изобретение хотя бы уже потому, что ныне существующие банковские автоматы вполне работают в сети Интернет. Это является важным недостатком этой заявки. Однако же интересным аспектом описания является утверждение, что в примере варианта осуществления изобретения задачи АКМ решаются посредством автоматизированной банковской машины, которая включает в себя устройства вывода, такие как экран дисплея, устройства ввода данных (сенсорный экран и/или клавиатура). Банковская машина дополнительно включает в себя периферийные устройства, такие как автомат для выдачи наличных бумажных денег, механизма печати, устройство считывания/записи с карточки, механизм депозитария и другие функциональные устройства транзакций, которые используются ею при выполнении банковских сделок.
Центральный компьютер в примере варианта осуществления автоматизированной банковской машины дополнительно включает в себя часть программного интерфейса для связи с устройствами. Часть программного интерфейса для связи с устройствами предназначена, чтобы принимать сообщения от прикладной части управления устройством и чтобы вынуждать устройства работать посредством соответствующих аппаратных интерфейсов. В одном из вариантов осуществления автоматизированной банковской машины часть для обработки документов, прикладная часть управления устройством и часть программного интерфейса для связи с устройствами каждая постоянно находятся в одном и том же компьютере и обмениваются через различные IP-порты.
Упомянутая часть программного интерфейса для управления периферийными устройствами функционирует под управлением ОС MS Windows и отвечает требованиям стандарта осуществления финансовых операций между модифицированным ядром J/XFS и администратором WOSA/XFS. Само решение, реализующее обмен «банк-клиент», реализовано на языке JAVA и функционирует под управлением виртуальной JAVA-машины. В описании изобретения нет информации о том, каким именно образом упомянутая часть программного интерфейса функционирует в ОС MS Windows.
В патенте №2002134905/09 (опубл. 23.05.2001), а также в заявках №№US 60/207,043 (опубл. 25.05.2000), US 01/16775 (опубл. 23.05.2001) описывается ПАК такого же класса - автоматических кассовых аппаратов, предназначенных для осуществления финансовых операций. Технический результат заключается в создание автомата, функционирующего на разных платформах автоматических кассовых аппаратов. Автомат включает компьютер и множество операционных функциональных (периферийных) устройств, множество компонент драйверов, соответствующих указанным функциональным устройствам. Драйверы действуют, реагируя на связь уровня XFS, для управления работой операционных функциональных устройств. Автомат включает терминальное приложение и уровень сервисов открытых устройств, содержащий множество компонентов, соответствующих драйверам и реагирующих на терминальное приложение, обеспечивая управление работой операционных функциональных устройств со стороны драйверов посредством связи с уровнем XFS.
Упомянутая выше часть программного интерфейса здесь именуется уровнем, вводится понятие драйверов операционных устройств. В состав упомянутых автоматов входит ОС MS Windows, программный код терминальных (конечных) приложений также написан на языке JAVA. Реализация стандарта взаимодействия с периферийными устройствами обеспечивается встраиванием ядра J/XFS на уровень исполнения (виртуальная JAVA-машина), а ответная часть единой системы управления устройствами реализуется на уровне ОС MS Windows в виде администратора WOSA/XFS (с хранилищем ODS), с использованием компонент Windows-фреймфорка ActiveX.
В патенте №2017102415 (опубл. 25.01.2017) также описывается стандарт обеспечения управления периферийными устройствами ПАК в банковской сфере - WOSA/XFS. Упомянутые устройства комплексируются в ПАК типа банкомата и описываются как финансовые устройства. Они также функционируют на платформе MS Windows. Технический результат в изобретении заключается в повышении безопасности упомянутых финансовых устройств. В общем случае информационная система устройства содержит подсистему настройки, содержащую связанные между собой модуль идентификации исполняемых файлов, модуль идентификации и формирования списка сервис-провайдеров, представляющих собой отдельные исполняемые файлы, реализующих программный интерфейс WOSA/XFS SPI, обеспечивающий идентификацию сервис-провайдеров на основании анализа исполняемых файлов, обнаруженных модулем идентификации исполняемых файлов, и формирование списка идентифицированных сервис-провайдеров, и модуль формирования списка приложений, которым разрешен доступ к сервис-провайдерам, а также подсистему контроля доступа к сервис-провайдерам, содержащую связанные между собой модуль перехвата обращений приложений к сервис-провайдерам, обеспечивающий проверку наличия запрашиваемого сервис-провайдера в списке сервис-провайдеров, и модуль блокировки, обеспечивающий предоставление доступа к сервис-провайдерам приложению, которое находится в списке приложений, которым разрешен доступ к сервис-провайдерам, и блокирования доступа для приложения, отсутствующего в списке конечных приложений.
Упомянутое изобретение относится в основном к области защиты информационных систем упомянутых финансовых устройств, управляемых с использованием стандарта extensions for Financial Services (XFS), а более конкретно к средствам защиты сервис-провайдеров периферийных устройств банковских автоматов и других финансовых устройств от несанкционированного доступа.
В документе US 7493286 В1 (опубл. 17.02.2009) раскрывается модуль фильтрации для системы обработки транзакций. В этом изобретении предлагается расширить стандарт WOSA/XFS, который позволит осуществлять фильтрацию транзакций, встраивая в текущую архитектуру модули фильтрации. Данное решение также предлагает модификацию архитектуры XFS-устройства и его перенастройку.
Это изобретение требует аппаратного вмешательства в имеющуюся конфигурацию финансового устройства (в силу реализации интегрирующей сущности, поддерживающей стандарт XFS, в качестве аппаратного модуля), что существенно усложняет его формирование и удорожает обслуживание.
В документе GB 2319102 А (опубл. 13.05.1998 г.) также раскрывается модуль безопасности для системы обработки транзакций в рамках финансовых устройств. В этом изобретении предлагается использовать модуль безопасности, через который будут проходить все обращения по открытому стандарту WOSA/XFS от банковского (прикладного) программного обеспечения. Этот модуль отвечает за идентификацию конечного приложения, которое предпринимает попытку обратиться к оборудованию банкомата и в ответ разрешает или запрещает взаимодействие с устройствами.
Недостатком данного технического решения является то, что оно предлагает встраивать аппаратный модуль безопасности и менять имеющуюся аппаратную и программную структуру банкомата. Например, необходимо модифицировать установленный XFS-менеджер, файлы сервис-провайдеров, системный реестр ОС MS Windows. Это нежелательно, особенно если уже произведена полная настройка и устройство исправно функционирует. Это решение также относится к обеспечению безопасности текущей программно-аппаратной инфраструктуры ПАК.
Наконец, в заявке №2017120494, (опубл. 01.07.2015), а также в заявке КНР №201410728132.6 (опубл. 03.12.2014) описана общая архитектура стандарта CEN/XFS на платформе Линукс и способ ее реализации для решения финансовых задач на устройствах финансового самообслуживания - ПАК, упомянутых выше. Архитектура стандарта CEN/XFS на основе операционной системы Линукс для устройства финансового самообслуживания содержит: прикладной программный уровень, уровень управления XFS, уровень сервис-провайдеров (SP) и уровень драйверов периферийных устройств. В упомянутой архитектуре уровень управления XFS разделен на: уровень специальных приложений, уровень универсальных приложений и уровень системных служб (ОС). В данном изобретении впервые описан способ реализации стандарта CEN/XFS на основе операционной системы Линукс, так как прежде подобные ПАК были реализованы на ОС MS Windows. В упоминаемом уровне техники реализация стандарта CEN/XFS на ОС Linux отсутствовала.
В изобретении рассматриваются несколько вариантов реализации стандарта CEN/XFS с использованием известных системных ресурсов операционной системы Линукс, например, системную службу ОС Линукс для управления журналами регистрации используют для обеспечения записи в журнале регистрации и ведения журнала регистрации, системную службу ОС Линукс для управления реестрами используют для считывания информации о конфигурации, системную службу ОС Линукс для управления памятью используют для управления памятью, системную службу ОС Линукс управления потоками используют для поддержки взаимоисключающего доступа для нескольких приложений, системную службу ОС Линукс для управления связью используют для единообразного управления семафором и обработчиком сообщений т.п.
Все эти и некоторые иные разработки решают частные и общие задачи по интеграции периферийных устройств различного назначения, типа и производителя в составе единого вычислительного процесса, обеспечиваемого некоторым программно-аппаратным комплексом (ПАК). Чаще всего такой ПАК представляет собой объединенные в едином конструктиве (корпусе) различные по назначению оконечные периферийный устройства (мониторы (экраны), принтеры, сканеры, считыватели, камеры, клавиатуры, манипуляторы и пр.), подключенные к центральному вычислителю (встроенному персональному компьютеру, функционирующему под управлением ОС).
ПАК для выполнения специализированных вычислительных операций довольно много, особенно в отраслях силового блока - это различные тренажеры, АРМ должностных лиц на пунктах управления и пр., оснащенные различными периферийными устройствами типа экранов, клавиатур, аппаратных средств защиты информации, манипуляторов. Наиболее ярким представителем ПАК также являются современные устройства удаленного финансового самообслуживания (ATM - Automated teller machine). Это ПАК, предназначенные для автоматизированных выдачи и/или приема наличных денежных средств, как с использованием платежных карт, так и без, а также выполнения других операций, в том числе оплаты товаров и услуг, составления документов, подтверждающих соответствующие операции. В дополнение к упомянутым выше, они оснащаются специализированными периферийными устройствами типа сканеров купюр, считывателей карт, диспенсеров валют, камер и пр.
Многие из такого рода устройств являются сетевыми и соединяются с центральным вычислителем (компьютером из состава ПАК) по сети, через коммутатор, также входящий в состав ПАК. Однако не все устройства являются сетевыми. Наиболее распространенными системными шинам подключения специализированных периферийных устройств в ПАК являются последовательные шины СОМ и USB. Поэтому многие периферийные устройства подключаются напрямую к системным шинам. Это ускоряет процессы оперативного управления такими устройствами, но несколько усложняет методы управления ими. Если говорить о центральном вычислителе, то чаще всего им является достаточно мощный встраиваемый персональный компьютер, реализованный на платформе Intel (AMD) с архитектурой х86 (32 или 64 бита) с ОС MS Windows корпорации Microsoft. Этот немаловажный факт подчеркивает, что до сих пор нет реальных реализаций ПАК на платформах с процессорами иных архитектур - ARM, MIPS, RISC-V, Эльбрус, Бакал и пр. До недавнего времени на упоминаемом уровне техники не было реализации на ОС Линукс, а уж на указанных архитектурах нет и сейчас.
Первой и наиболее актуальной задачей создания многофункционального ПАК для осуществления разнообразных пользовательских (например, финансовых) операций на основе сбора и анализа оперативной информации о состоянии периферийных устройств системы является обеспечение надежного информационного взаимодействия между прикладными задачами, функционирующими на ПАК и периферийными устройствами, к которым обращается пользователь. Задача обеспечения взаимодействия конечных приложений и устройств ПАК, использующих различные драйверы, форматы данных, конфигурационные особенности в рамках единого вычислительного процесса ПАК встает рано или поздно перед конструктором любого ПАК. Вопросы информационной безопасности должны иметь высший приоритет и являться основополагающим функционалом ПАК, в особенности, если мы имеем дело с удаленными устройствами финансового самообслуживания.
Таким образом, главным решением по созданию информационно-технологического обеспечения ПАК, в том числе исходя из перечисленных выше замечаний, является решение о его архитектуре. Как видим из зарубежной практики, уже много лет применяется двухуровневая архитектура с логическим выделением «уровней», «частей программного интерфейса», «модулей интеграции» и пр. (см. выше). Так или иначе, это означает, что прикладные задачи взаимодействую с периферийными устройствами практически напрямую, всякий раз меняя упомянутые «программные интерфейсы» или «модули интеграции» при смене типа устройства или его производителя при формировании аппаратный части ПАК. Необходима жесткая унификация такого взаимодействия не только на базе какого-либо стандартизованного протокола (например, XFS или OPOS), платформы типа ОРС UA для реализации стандарта Industrie 4.0, но, прежде всего, с реализации трехуровневой архитектуры организации вычислительного процесса на каждом ПАК.
Это означает, что в составе программной составляющей ПАК необходимо реализовать обычную трехуровневую архитектуру с применение программного обеспечения (ПО) «промежуточного слоя», относящегося к общесистемному ПО (ОСПО). Тогда все прикладные задачи ПАК (подсистемы) будут работать не напрямую с периферийными устройствами ПАК (хотя такой метод тоже имеется), а через некоторый дополнительный «промежуточный слой» (middleware), который не только нивелирует различия между устройствами, не только выполняет функции информационно-логического сопряжения разнородных приложений, решая задачи маршрутизации, гарантированного доведения информации, разграничения доступа, но и обеспечивает единую политику безопасности в такой гетерогенной среде, создает внутреннее хранилище конфигурационных данных, отрабатывает общие регламенты взаимодействия с системными шинами и т.д. По вопросу формирования такого типа ПО и способах работы ОСПО с информационными ресурсами см. патенты №№2306600 (опубл. 11.04.2006), 2359319 (опубл. 11.05.2007), 2361366 (опубл. 29.11.2007) и 2415466 (опубл. 15.07.2009).
Такой архитектурный подход сегодня является наиболее перспективным, позволяющим решать вопросы совместного функционирования разнородных периферийных устройств различных типов и производителей в рамках конкретного ПАК. Как общий способ интеграции различных сетевых информационных ресурсов в территориально-распределенных неоднородных сетях он детально рассмотрен в упомянутой заявке №. 2359319 (опубл. 11.05.2007), но касается при этом сетевых устройств в неоднородных сетях. Общая архитектура решения задачи интеграции периферийных устройств различного типа в составе единого ПАК на основе создания средств ОСПО показана на Фиг. 1.
Отметим, реализация интеграции в таком случае равна лишь количеству задач интеграции каждого периферийного устройства с ОСПО («снизу» (200) на основе применения различных системных возможностей ОСПО, интерфейса SPI - Serial Peripheral Interface, SPI bus - последовательный периферийный интерфейс, шина SPI), а также дополнительно количеству задач интеграции конкретных конечных приложений («сверху» - 100) с новой для них сущностью - ОСПО, которое предоставляет на прикладной уровень открытый набор API-функций, встраиваемых в прикладной уровень на этапе программирования. Т.е. число задач интеграции конечно и инвариантно относительно прикладного уровня при условии неизменности программной среды ПАК, а также от уровня периферии при выполнении условия стандартизации интерфейса управления и возможностей системных шин ОС и ОСПО. В случае интеграции прикладного уровня ПАК напрямую на уровень функционирования периферийных устройств число задач интеграции (парное число сочетаний) зависит от количества таких устройств как N*(N-1)/2, умноженное на количество прикладных задач, что очень велико и меняется в зависимости от типа устройства и его производителя. Создание ПАК при таком подходе возможно при минимальном количестве устройств (N). Однако же в известных ПАК типа устройствах финансового обслуживания, АРМ диспетчера и пр. количество периферийных устройств может достигать 10, что делает задачу интеграции в целом не решаемой.
Существенной особенностью в деле формирования ПАК является также решение о платформе его центрального вычислителя. Долгое время такая платформа формировалась на базе архитектуры х86 (32 или 64 бита) с применением центральных процессоров (ЦПУ 300) Intel или AMD. И сегодня большинство вариантов прикладного ПО в устройствах финансового обслуживания (ATM), к примеру, работает на ОС MS Windows достаточно старых, уже неподдерживаемых производителем версий (например, ОС MS Windows ХР), и только несколько вариантов в мире прикладного ПО для таких устройств функционирует на Линукс-подобной ОС под управлением центрального процессора Intel. Для конкретно этой отрасли регулятор в области организации финансовых услуг выпустил стандарт WOSA/XFS (версия 2.0) и передал этот стандарт в Европейский комитет по стандартизации (CEN). Согласно последним данным рабочая группа WOSA/XFS Комитета CEN опубликовала версию 3.30 указанного стандарта. Протокол WOSA/XFS также называют Протоколом CEN/XFS. Архитектура открытой системы для MS Windows (сокращенно WOSA) представляет собой архитектуру программного обеспечения, предложенную Microsoft Corporation для операционной системы MS Windows, a WOSA/XFS (расширения архитектуры открытой системы для Windows для финансовых услуг) представляют собой расширения для реализации финансовых услуг на основе WOSA. Многие прикладные задачи в ПАК этой отрасли, функционирующие под управлением ОС MS Windows на платформе х86 (Intel, AMD), используют возможности этого стандарта при формировании программной среды ПАК типа ATM (см. выше).
Известно, что ОС семейства MS Windows, особенно снятые с производства и не поддерживаемые производителем в лице Microsoft Corp. - MS Windows ХР и MS Windows 2000, недостаточно надежны не столько для выполнения финансовых операций, сколько для функционирования на удаленных устройствах самообслуживания вообще из-за навязывания автоматических модификаций и обновлений, а также из-за широко документированных недекларированных возможностях несанкционированного доступа нарушителя к хранящейся информации. Таким образом, существует необходимость разработки ПАК на программной платформе с Линукс-подобной ОС, в том числе исключительно российского производства. А также - аппаратной платформе с применением составляющих исключительного российского производства, например, центральных процессоров «Эльбрус», «Байкал» и т.п. Главным условием для развития прикладного ПО в финансовой сфере является реализация протокола CEN/XFS на уровне ОСПО в Линукс-подобной ОС и обеспечение функционирования такой архитектуры вычислительного процесса в составе ПАК с разными микроархитектурами центральных процессоров - х86, ARM, MIPS, Байкал, Эльбрус, RISC-V, OpenPower и пр. То же касается и стандарта OPOS, применяемого для комплексирования программно-аппаратных комплексов, предназначенных для автоматизации торговли и сферы услуг, так называемых POS-терминалов, где POS - Point of Sale - специализированный АРМ продавца торговой точки.
Также известно, что многие специализированные АРМ давно функционируют под управлением Линукс-подобных ОС (например, ОС МС ВС), а даже на аппаратных составляющих ПАК с иными архитектурами, чем х86, например, MIPS, но без формирования выделенного ОСПО, реализующего протокол интеграции в виде интеграционной шины в составе ПАК, как описывается в данном изобретении.
Из всех вышесказанных соображений следуют естественные требования к общесистемным средствам ОСПО, реализующим трехуровневый подход при реализации взаимодействия в едином вычислительном процессе программно-аппаратного комплекса:
- Функционирование общесистемных средств интеграционной шины ОСПО на периферийных устройствах различных типов и производителей посредством унифицированного интерфейса SPI.
- Функционирование общесистемных средств интеграционной шины ОСПО на различных типах конечных приложений ПАК от разных производителей посредством документированного интерфейса API.
- Реализация локальной системы хранения конфигурации ПАК различного типа посредством открытого интерфейса ODBC/JDBC (400) к системным средствам хранения или сохранением в файл.
- Унификация доступа конечных приложений ПАК к разнородным данным периферийных устройств ПАК при помощи общесистемных средств ОСПО.
- Реализация синхронного и асинхронного обмена общесистемными данными между конечными приложениями и периферийными устройствами преимущественно в виде сообщений в формате JSON.
- Настройка и управление согласованной политикой информационной безопасности при работе с информационными объектами (документами/файлами/сообщениями) в рамках ПАК посредством средств ОС ПАК и ОСПО.
- Поддержка режима гарантированного обслуживания запросов приложений и хранения собственных данных на локальном хранилище конфигураций ПАК.
- Унификация средств контроля состояния хранилища ПАК общесистемными средствами ОСПО.
При взаимодействии конечных приложений в рамках ПАК, как видим, необходимо обеспечить не только их «физическую», канальную связность, но также и «логическую» связность объектов системы в целом, т.е. создать единое информационное пространство, реализующие, с одной стороны, общий язык «общения» процессов (прикладных задач) ПАК, с другой стороны - унифицированное пространство периферийных устройств, нивелирующее различие в типах и производителях этих устройств. В общем, это стадии одного процесса - создания единого информационного пространства ПАК.
Традиционное решение, основанное на обмене данными посредством программных стыков типа «точка-точка» и работе приложений напрямую с драйверами периферийных устройств, «квадратично» заходит в тупик с увеличением числа взаимодействующих приложений и количества устройств, а также с усложнением логики взаимодействия приложений. Учитывая не только высокую стоимость такого рода решений, но и высокую стоимость владения, необходимость существенной модернизации прикладных задач в случае изменения самих устройств в пределах даже известного парка периферийного оборудования очевидна. Данное решение, несмотря на ряд достоинств, сегодня уже не актуально.
Таким образом, решение общей задачи интеграции конечных приложений и периферийных устройств в такой постановке сводится лишь к регламентам информационного обмена по вертикали ПО-ОСПО-СУБД-ФАЙЛ-ОС, к использованию общесистемных средств хранения конфигурационной информации о каждом устройстве, скорости работы упомянутых интерфейсов ОСПО, а также скорости «разбора» сообщений формата JSON общесистемными средствами передачи данных.
Сущность изобретения
Существует необходимость реализации общей защищенной общесистемной среды исполнения ПАК с интеграцией различных периферийных устройств для обеспечения единообразного обмена данными между центральным вычислителем и упомянутыми устройствами для всех конечных прикладных задач посредством унифицированных (стандартизованных) регламентов обмена.
Для решения этой задачи предлагается способ интеграции периферийных устройств в рамках единого вычислительного процесса ПАК, включающего в себя, по меньшей мере, одно периферийное устройство с драйвером Линукс-подобной операционной системы (ОС), подключенное к центральной вычислительной установке, которая функционирует на одной из перечисленных аппаратных платформ - х86 (Intel, AMD), ARM, MIPS, Байкал, Эльбрус, OpenPower, RISC-V и снабжена отличной от других Линукс-подобной операционной системой (ОС), и в контексте этой ОС функционирует, по меньшей мере, одно конечное приложение данной вычислительной установки, заключающийся в том, что на центральную вычислительную установку устанавливают общесистемное программное обеспечение (ОСПО, программное обеспечение (ПО) промежуточного слоя - middleware) для получения единой защищенной магистрали информационного обмена между всеми произвольными периферийными устройствами ПАК, подключенными к указанной вычислительной установке. Кроме того, обеспечивают для каждого периферийного устройства ПАК единые унифицированные средства информационного синхронного/асинхронного обмена с центральной вычислительной установкой ПАК, реализующие физическую связность упомянутых периферийных устройств в рамках упомянутой защищенной магистрали информационного обмена через созданный упомянутым ОСПО последовательный интерфейс периферийных устройств (SPI - Serial Peripheral Interface); обеспечивают гарантированное защищенное взаимодействие между конечными приложениями, установленными на упомянутой вычислительной установке ПАК, через упомянутые средства информационного обмена посредством автоматического взаимодействия каждого упомянутого конечного приложения, функционирующего в контексте ОС с установленным ОСПО, через созданный упомянутым ОСПО интерфейс прикладного программирования (API - Application Programming Interface); создают на упомянутой вычислительной установке средствами упомянутой ОС защищенное хранилище данных, используя программный интерфейс доступа к базам данных ODBC (Open Database Connectivity)/JDBC (Java Database Connectivity) или сохранение в файл; сохраняют в упомянутом хранилище упомянутой вычислительной установки конфигурационные настройки и рабочие данные о текущем состоянии периферийных устройств ПАК, необходимых для функционирования на нем конечных приложений; обеспечивают гарантированное защищенное управление упомянутыми периферийными устройствами через конечные приложения, установленные на упомянутой вычислительной установке ПАК, обеспеченное упомянутыми средствами информационного обмена ОСПО, как показано на Фиг. 1.
Особенность способа по настоящему изобретению состоит в том, что в нем формируют упомянутое общесистемное программное обеспечение (ОСПО) в виде фонового процесса-демона (daemon) путем установки средств ОСПО и надстройки упомянутой операционной системы базовым набором периферийных интерфейсов и протоколов (COM, USB и пр.), предназначенных для подключения периферийных устройств различных производителей, а также набором системных вызовов и функций для обеспечения синхронного/асинхронного обмена данными прикладного уровня (API); а также единое защищенное информационное пространство упомянутого ПАК путем упорядочения информационного обмена между упомянутыми конечными приложениями за счет обеспечения промежуточного переназначения информационных потоков, автоматического преобразования форматов извлекаемых данных для единообразного их представления (например, в формате JSON) в интересах совместного функционирования упомянутых конечных приложений и периферийных устройств ПАК; обеспечивают единообразную реализацию системы представления и передачи данных в рамках упомянутого ПАК, в том числе в условиях выраженной разнородности программно-аппаратных реализаций упомянутых периферийных устройств ПАК; сохраняют в упомянутом хранилище упомянутой вычислительной установки конфигурационные настройки всех периферийных устройств ПАК; проводят гарантированную обработку единообразных данных независимо от особенностей функционирования упомянутых конечных приложений ПАК на упомянутой вычислительной установке ПАК.
Еще одна особенность способа по настоящему изобретению состоит в том, что упомянутое взаимодействие конечных приложений ПАК по технологии клиент-сервер осуществляют посредством перенастройки интерфейсов каждого из этих конечных приложений для синхронного обмена данными с другими конечными приложениями путем перенаправления информационных потоков между конечными приложениями через соответствующие соединения, обеспечивающиеся средствами (API) упомянутого ОСПО; упомянутую перенастройку интерфейсов конечных приложений в данной Линукс-подобной операционной системе реализуют путем перенаправления информационных потоков между конечными приложениями через соответствующие функции и вызовы по технологиям PIPE или Socket, реализуемых средствами (API) упомянутого ОСПО.
В дополнение к предыдущему упомянутую надстройку Линукс-подобной операционной системы базовым набором периферийных интерфейсов и протоколов реализуют посредством перенастройки ресурсов упомянутой операционной системы на унифицированные средства обеспечения синхронного/асинхронного информационного обмена с периферийными устройствами из состава упомянутого ОСПО; обеспечивают гарантированную возможность извлечения разнородных данных с периферийных устройств ПАК, функционирующих как в контексте упомянутого ОСПО, так и в контексте упомянутой Линукс-подобной операционной системы упомянутого ПАК; обеспечивают хранение в упомянутом хранилище упомянутой вычислительной установки конфигурационных настроек и данных о текущем рабочем состоянии всех периферийных устройств ПАК в целях обеспечения управления ими посредством конечных приложений ПАК, а также гарантированную возможность прозрачного управления упомянутыми периферийными устройствами ПАК, функционирующими как в контексте упомянутого ОСПО, так и в контексте упомянутой Линукс-подобной операционной системы упомянутого ПАК, посредством установленных на центральной вычислительной установке упомянутого ПАК конечных приложений; реализуют совместимость со стандартами XFS (extensions for Financial Services не ниже 3.20), OPOS (OLE for Retail POS) и OPC UA (Open Platform Communications Unified Architecture).
Наконец, еще ряд особенностей способа по настоящему изобретению состоит в том, что дальнейшее комплексирование конечного ПАК начинается с установки в упомянутый ПАК центрального вычислителя (встраиваемого персонального компьютера - ПК), реализуемого на одной из перечисленных платформ - х86, ARM, MIPS, RISC-V, Байкал, Эльбрус с 32-х или 64-х битными архитектурами; после чего выбирают периферийные устройства из группы, включающей в себя, по меньшей мере: экраны (мониторы), принтеры, сканеры, карт-ридеры, устройства биометрического контроля, камеры, диспенсеры, устройства бесперебойного питания, сетевые устройства и пр.; далее выполняют упомянутые последующие манипуляции (подключения) с периферийными устройствами из группы для дальнейшего комплексирования конечного ПАК, включающего в себя: корпус, экран (монитор), центральный вычислитель, сетевое устройство, устройство бесперебойного питания, набор прочего необходимого периферийного оборудования; и для завершения комплексирования конечного ПАК выполняют установку и настройку Линукс-подобной ОС, системы хранения конфигураций ПАК, а также упомянутых конечных приложений и общесистемного программного обеспечения (ОСПО).
Краткое описание чертежей
Изобретение иллюстрируется следующими чертежами:
Фиг. 1 представляет технологию интеграции в способе по настоящему изобретению;
Описание изобретения
На каждом конкретном программно-аппаратном комплексе имеет место так называемый «вертикальный» синхронный/асинхронный информационный обмен, т.е. установленные в ПАК конечные приложения осуществляют регламентный синхронный/асинхронный обмен данными между собой и установленными в ПАК различными периферийными устройствами заранее определенными формализованными данными, связывая необходимые бизнес-процессы внутри каждого из конечных приложений ПАК с операциями пользователя-оператора, управляющего упомянутым ПАК. В этом случае информационное взаимодействие реализуется посредством описанных и разработанных программных интерфейсов, одним из которых является так называемый SPI - Serial Peripheral Interface - стандартизирующий процедуру обращения прикладного ПО к драйверам периферийных устройств, обеспечивающих управление им при помощи системных служб ОС ПАК. Обычно вместе с операционными системами разработчика ОС поставляют драйверы для ключевых компонентов аппаратного обеспечения, без которых система работать не сможет. Однако для некоторых устройств (таких, как видеокарта, принтер, сканер, считыватель и пр.) могут потребоваться специальные драйверы, обычно предоставляемые производителем этого устройства. Драйвер устройства представляет собой специальную программу, обеспечивающую функционирование периферийного устройства в составе вполне определенной ОС, например, Microsoft Windows, AltLinux, МС ВС и пр. и реализующее общую схему «вертикального» взаимодействия: ПОЛЬЗОВАТЕЛЬ - ПРИЛОЖЕНИЕ - ОС - ОБОРУДОВАНИЕ. Совершенно очевидно, что периферийное устройство, в составе поставки которого такой драйвер отсутствует для конкретной ОС (семейства ОС), функционировать в составе ПАК с этой ОС не будет. Также возможны особенности в функционировании конкретных периферийных устройств под управлением конкретных ОС на аппаратных платформах, реализованных на процессорах ARM, MIPS, RISC-V и пр. Т.е. идеальным случаем полностью адекватной работы конкретного периферийного устройства является наличие специального драйвера этого устройства, предназначенного для работы в составе конкретной программно-аппаратной платформы упомянутого ПАК.
Это обстоятельство существенно усложняет конечное комплексирование самого ПАК из набора совместимых устройств. Даже при условии обеспечения правильного функционирования устройства в составе ПАК (например, печати квитанций на термопринтере), остаются вполне ощутимые трудности в обеспечении его работоспособности из-под управления конечного приложения, разработанного иным производителем (нежели чем производитель самого устройства печати). Для решения этой задачи производитель конечного приложения должен обеспечить вызов периферийного устройства либо напрямую работая с драйвером этого устройства, либо обращаясь к некоторой унифицированной сущности, например, интерфейсу SPI, через который обращение к драйверу устройства стандартизовано. Совершенно очевидно, что такая унификация является наиболее адекватной. Именно этим обстоятельство и доказывается необходимость вынесения этого интерфейса и всей программной инфраструктуры, его обеспечивающей, на уровень базовой унифицированной транспортной среды, в основе которого лежит общесистемное ПО «промежуточного слоя» класса MOM - Message-Oriented Middleware (промежуточное программное обеспечение, ориентированное на сообщения). Выше отмечалось применение в составе такого ОСПО сообщений формата JSON в качестве наиболее современного варианта обмена формализованными данными. Таким способом реализуется наиболее актуальные сегодня асинхронное взаимодействие, предполагающее однократную процедуру обмена (передачу сообщения) без необходимости поддержки канала обмена в течение всего процесса обмена.
Так происходит в случае реализации синхронного информационного обмена (например, в технологии клиент-сервер). В этом случае ОСПО выступает в качестве «сервера» и для конечного приложения через интерфейс API, и для устройства - через интерфейс SPI. Именно ОСПО отвечает на поддержку «канала связи» между приложением и периферийным устройством полоть до завершения операции ПАК, требующей синхронного взаимодействия. Важным предназначением ОСПО является наличие в его составе специализированного хранилища конфигурационной информации, однозначно определяющего конкретное устройство из конкретного класса устройств, проводящего верификацию этого устройства на предмет определения его актуального состояния по отдельному хранилищу рабочей информации о нем.
Таким образом, достигается реализация системы в едином технологическом ключе, при этом обеспечивая решение в основном тех же целевых задач управления устройствами, что и на основе сквозного использования устройств напрямую, фактически необоснованно завышающего планку средств достижения целей интеграции приложений и устройств в составе ПАК. Такой подход позволяет решить очень важную задачу: свести обмен между задачами и периферийными устройствами в рамках ПАК к виртуальному (не физическому) взаимодействию с новой для них сущностью - серверо-подобным ОСПО для реализации синхронного взаимодействия, и ОСПО класса MOM - для асинхронных задач.
Предлагаемый способ интеграции периферийных устройств предназначен для реализации в рамках произвольного ПАК, включающего в себя, по меньшей мере, одно периферийное устройство с драйвером Линукс-подобной операционной системы (ОС), подключенного к центральной вычислительной установке, которая функционирует на одной из перечисленных аппаратных платформ - х86 (Intel, AMD), ARM, MIPS, Байкал, Эльбрус, OpenPower, RISC-V и снабжена Линукс-подобной операционной системой, и в контексте этой ОС функционирует, по меньшей мере, одно конечное приложение данного ПАК. Способ интеграции информационных ресурсов в такой неоднородной вычислительной сети осуществляется при выполнении следующих действий (шагов).
Сначала на центральную вычислительную установку в составе ПАК устанавливают общесистемное программное обеспечение (ОСПО) для получения единой защищенной магистрали информационного обмена между всеми конечными приложениями и периферийными устройствами этого ПАК. Примером такого ОСПО может служить информационно-вычислительный комплекс «ИВК Юпитер™», разработанный сотрудниками обладателя прав по данной заявке. Основные функциональные возможности данного комплекса описаны в журнале «Открытые системы» №7-8 за 2003 год.
Кроме того, обеспечивают для каждого периферийного устройства ПАК единые унифицированные средства информационного синхронного/асинхронного обмена с центральной вычислительной установкой ПАК, реализующие физическую связность упомянутых периферийных устройств в рамках упомянутой защищенной магистрали информационного обмена через созданный упомянутым ОСПО последовательный интерфейс периферийных устройств (SPI - Serial Peripheral Interface); обеспечивают гарантированное защищенное взаимодействие между конечными приложениями, установленными на упомянутой вычислительной установке ПАК, через упомянутые средства информационного обмена посредством автоматического взаимодействия каждого упомянутого конечного приложения, функционирующего в контексте ОС с установленным ОСПО, через созданный упомянутым ОСПО интерфейс прикладного программирования (API - Application Programming Interface).
Далее создают на упомянутой вычислительной установке средствами упомянутой ОС защищенное хранилище данных, используя программный интерфейс доступа к базам данных ODBC (Open Database Connectivity)/JDBC (Java Database Connectivity) или сохранение в файл; сохраняют в упомянутом хранилище упомянутой вычислительной установки конфигурационные настройки и рабочие данные о текущем состоянии периферийных устройств ПАК, необходимых для функционирования на нем конечных приложений; обеспечивают гарантированное защищенное управление упомянутыми периферийными устройствами через конечные приложения, установленные на упомянутой вычислительной установке ПАК, обеспеченное упомянутыми средствами информационного обмена ОСПО.
Упомянутое общесистемное программное обеспечение (ОСПО) формируют в виде фонового процесса-демона (daemon) путем установки средств ОСПО и надстройки упомянутой операционной системы базовым набором периферийных интерфейсов и протоколов (COM, USB и пр.), предназначенных для подключения периферийных устройств различных производителей, а также набором системных вызовов и функций для обеспечения синхронного/асинхронного обмена данными прикладного уровня (API);
Единое защищенное информационное пространство упомянутого ПАК создается путем упорядочения информационного обмена между упомянутыми конечными приложениями за счет обеспечения промежуточного переназначения информационных потоков, автоматического преобразования форматов извлекаемых данных для единообразного их представления (например, в формате JSON) в интересах совместного функционирования упомянутых конечных приложений и периферийных устройств ПАК. Также обеспечивается единообразная реализация системы представления и передачи данных в рамках упомянутого ПАК, в том числе в условиях выраженной разнородности программно-аппаратных реализаций упомянутых периферийных устройств ПАК, сохраняются в упомянутом хранилище упомянутой вычислительной установки конфигурационные настройки и рабочие параметры всех периферийных устройств ПАК. Средствами ОСПО ПАК проводится гарантированная обработка единообразных данных независимо от особенностей функционирования упомянутых конечных приложений ПАК на упомянутой вычислительной установке ПАК.
Вообще взаимодействие конечных приложений ПАК по технологии клиент-сервер осуществляется посредством перенастройки интерфейсов каждого из этих конечных приложений для синхронного обмена данными с приложениями и устройствами путем перенаправления информационных потоков между конечными приложениями через соответствующие соединения, обеспечивающиеся средствами (API) ОСПО. Эта перенастройка интерфейсов конечных приложений в данной Линукс-подобной операционной системе реализуется путем перенаправления информационных потоков между конечными приложениями через соответствующие функции и вызовы по технологиям PIPE или Socket, реализуемых средствами (API) упомянутого ОСПО.
В дополнение к предыдущему упомянутую надстройку Линукс-подобной операционной системы базовым набором периферийных интерфейсов и протоколов реализуют посредством перенастройки ресурсов упомянутой операционной системы на унифицированные средства обеспечения синхронного/асинхронного информационного обмена с периферийными устройствами из состава упомянутого ОСПО. При этом обеспечивается гарантированная возможность извлечения разнородных данных с периферийных устройств ПАК, функционирующих как в контексте упомянутого ОСПО, так и в контексте упомянутой Линукс-подобной операционной системы упомянутого ПАК.
Также обеспечивается хранение в хранилище ОСПО конфигурационных настроек и данных о текущем рабочем состоянии всех периферийных устройств ПАК в целях обеспечения управления ими посредством конечных приложений ПАК, а также гарантированная возможность прозрачного управления периферийными устройствами ПАК, функционирующими как в контексте упомянутого ОСПО, так и в контексте упомянутой Линукс-подобной операционной системы ПАК, посредством установленных на центральной вычислительной установке упомянутого ПАК конечных приложений.
Здесь реализуется базовая совместимость, например, со стандартами XFS (extensions for Financial Services не ниже 3.20), OPOS (OLE for Retail POS), OPC UA (Open Platform Communications Unified Architecture) и иными проприетарными, имеющими стандартизованное описание интерфейса API.
Наконец, дальнейшее комплексирование конечного ПАК начинается с установки в упомянутый ПАК центрального вычислителя (встраиваемого персонального компьютера -ПК), реализуемого на одной из перечисленных платформ - х86, ARM, MIPS, RISC-V, Байкал, Эльбрус и пр. с 32-х или 64-х битными архитектурами, после чего выбираются периферийные устройства из группы, включающей в себя, по меньшей мере: экраны (мониторы), принтеры, сканеры, картридеры, устройства биометрического контроля, камеры, диспенсеры, устройства бесперебойного питания, сетевые устройства и пр., выполняются подключения периферийных устройств из группы для дальнейшего комплексирования конечного ПАК, Конечный ПАК включает в себя: корпус, экран (монитор), центральный вычислитель, сетевое устройство, устройство бесперебойного питания, набор прочего необходимого периферийного оборудования. Для завершения комплексирования конечного ПАК выполняется установка и настройка Линукс-подобной ОС, системы хранения конфигураций ПАК и файлов рабочих данных, а также упомянутых конечных приложений и общесистемного программного обеспечения (ОСПО).
Здесь же обеспечивается единообразное представление полномочий всех должностных лиц, допущенных к работе с защищаемыми информационными ресурсами (конечными приложениями, системными настройками ОС и ОСПО) ПАК, в том числе реализуемые различными СУБД ОСПО, имеющими также собственные системы разграничения доступа должностных лиц (пользователей) к ресурсам хранения настроек конфигураций периферийных устройств.
Обмен конечных приложений и периферийных устройств в силу особенностей функционирования самих устройств может быть реализован двумя способами: синхронным и асинхронным. Предметом обмена в случае реализации средств ОСПО в качестве MOM (см. выше) могут являться короткие формализованные сообщения формата JSON (или XML). Суть синхронного обмена состоит в постоянной синхронизации времени приема/передачи между отправителем и получателем, т.е. между прикладным процессом и периферийным устройством. Чаще всего такие взаимодействия реализуются в виде запросов конкретных прикладных процессов к функциям API-интерфейса ОСПО, выступающему здесь в виде своеобразного «сервера», по технологии socket. Средства ОСПО принимают запрос на взаимодействие и адресуют его на другой упомянутый интерфейс ОСПО - SPI, ожидая ответа на соединение с конкретным устройством ПАК из хранящегося в списке ОСПО под уникальным ID (идентификатором) и системным журналом ОС. После получения ответа конкретному прикладному процессу от конкретного устройства, конфигурация и состояние которого проверяется посредством данных в хранилищах ОСПО и системных журналах ОС, передача сообщения обеспечена и управляющее воздействие со стороны конечного приложения, которым управляет пользователь, реализуется. К примеру, считывается информация с пластиковой карты, которую пользователь вставил в слот картридера. Для взаимодействия между конечными приложениями и периферийными устройствами в составе ПАК могут использоваться как стандартные последовательные системные интерфейсы (например, COM, USB и т.п.), так и сетевые подключения. Применения средств ОСПО в таком случае совершенно оправданно, соответственно, вынесение задач организации синхронных запросов на уровень ОСПО целесообразно именно в силу необходимости синхронизации по времени процессов приема и передачи какой-то третьей стороной («сервером» ОСПО), а также «маршрутизации» информационного обмена между прикладными процессами и периферийными устройствами, без сохранения средствами ОСПО собственно самого передаваемого формализованного сообщения, а лишь отражающего информацию об этом событии в одном из своих журналов. Упомянутая схема организации информационного обмена «задача-устройство» совершенно справедлива и при обратном обмене - «устройство-задача».
Совершенно иначе применяются средства ОСПО для обеспечения гарантированного информационного обмена асинхронного типа. В этом случае получатель и отправитель обмениваются формализованными данными (сообщениями) без синхронизации времени и необходимости установления блокирующего канала синхронной передачи на время самой передачи. Разумеется, тип собственно обмена сообщениями зависит от периферийного устройства и определяется самой API-функцией вызываемого устройства. Однако в этом случае с каждым устройством ассоциируется очередь сообщений в его адрес, а с каждым прикладным процессом - такая же очередь ответов на запросы. Причем эти очереди уникальны и обладают собственными идентификаторами. Поэтому задача «маршрутизации» сообщений между очередями входящих и исходящих сообщений является также актуальной и реализуется средствами ОСПО. Кроме того, сами очереди сообщений хранятся в хранилище ОСПО и доступны посредством интерфейса ODBC/JDBC. Таким образом, асинхронный обмен реализуется посредством перенаправления формализованных сообщений формата JSON (или иного, например, XML) из уникальной очереди отправителя в столь же уникальную очередь получателя. Отправителем и получателем могут быть как оконечные периферийные устройства (например, экран ПАК), так и прикладные задачи (например, виртуальные «кнопки» на экране), так и наоборот.
Таким образом, гарантированное защищенное взаимодействие между конечными приложениями ПАК и различные периферийные устройства ПК обеспечиваются через созданные средства «внутримашинного» синхронного и асинхронного обмена в рамках ПАК. Это достигается посредством автоматического взаимодействия каждого конечного приложения с периферийным устройством, функционирующим в контексте ОСПО, через созданные очереди исходящих и входящих формализованных сообщений формата JSON (или иных), хранящихся в специализированном хранилище ОСПО, а также напрямую через стык API-SPI, также реализуемый ОСПО. Такое взаимодействие обеспечивается посредством автоматического обмена сообщениями между очередями входящих/исходящих сообщений каждого прикладного и аппаратного узла, а также передачей сообщения напрямую после установления блокирующего соединения между ними (узлами).
Упомянутая гарантия информационного синхронного/асинхронного обмена обеспечивается за счет следующих встроенных механизмов (технологий) ОСПО.
1) Гарантированная доставка сообщений в рамках ПАК посредством возвращения в адрес узла-отправителя служебного сообщений (квитанции) о доставке исходящего сообщения на узел-получатель и завершения тем самым процесса передачи.
2) Гарантированное хранение входящих и транзитных сообщений в защищенном хранилище до завершения процесса гарантированной доставки (квитирование).
3) Гарантированная обработка тела сообщения посредством указания идентификатора (ID) конечного приложения-обработчика (функции) или периферийного устройства, при помощи которого тело сообщения следует открыть (обработать), и отправка по факту обработки в адрес узла-отправителя служебного сообщения (подтверждения об обработке), чем завершается цикл обработки доставленного сообщения. 4) Гарантированная идентификация исходящего/входящего (транзитного) сообщения за счет применения встроенного механизма идентификации прикладных процессов и устройств. Выполнение всех указанных механизмов гарантирует полноценное исполнение общего вычислительного процесса, обеспечивающего прикладную функциональность ПАК в каком-либо качестве - ATM, POS, АРМ или иное.
Использование ОСПО ПАК в качестве средства защиты информации (СЗИ) от несанкционированного доступа также вполне оправданно. Действительно, в хранилище ОСПО хранятся все идентификаторы (ID) прикладных процессов и периферийных устройств. Упомянутые API- функции указанных стандартов, встроенные в прикладные процессы ПАК однозначно определяют конкретное устройство, процесс и порядок взаимодействия этих сущностей. Или иными словами - локальную «маршрутизацию» запросов и сообщений в составе единого вычислительного процесса ПАК. Изменение указанных списков участников локального обмена возможно только с ведома администратора при конфигурации всего ПАК. Дополнительная установка периферийных устройств или несанкционированная установка прикладных задач в ПАК контролируется СЗИ ОС и ОСПО. Разумеется, никакое взаимодействие между прикладным уровнем и уровнем периферийных устройств без применения средств ОСПО невозможно, что полностью реализует запретительный принцип защиты информации в ПАК. В качестве технического результата по ОСПО, реализующем определенный стандарт обмена, получаем доверенное средство контроля доступа прикладных процессов к периферийным устройствам при исполнении следующих естественных шагов:
- Формирование списка периферийных устройств ПАК и исполняемых файлов, реализующих функциональность этих устройств;
- Формирование списка конечных приложений, которым разрешен доступ к устройствам;
- Перехват и «маршрутизация» запросов к устройствам от приложений;
- Блокирование запросов от конечных приложений, отсутствующих в списке разрешенных конечных приложений, который хранится в хранилище ОСПО, а также к устройствам, отсутствующим в списке разрешенных устройств, с последующей записью в системный журнал.
Список периферийных устройств ПАК и приложений, которым разрешен доступ к ним, может быть сформирован администратором ПАК или автоматически.
Очевидно, что перенастройка интерфейсов операционной системы или конечного приложения для обмена данными с периферийными устройствами ПАК осуществляют путем перенаправления информационных потоков между ними через соответствующие программные стыки, имеющиеся в средствах ОСПО, а не через прокси-соединения. Такие прокси-соединения могут выполняться так же, как описано в патенте США №5898784 или заявке США №2004/0260941.
Кроме того, в защищенном хранилище ОСПО сохраняется идентификатор каждого конечного программного приложения, функционирующего в контексте ОСПО, вместе с его контрольной суммой, а также очередью входящих/исходящих, с помощью которых впоследствии можно контролировать целостность ОСПО и прикладного ПО, вести их версионный контроль.
В описанном варианте осуществления настоящего изобретения реализация стандартизованных вызовов, например, XFS, OPOS или иных, на программно-аппаратной платформе с ОС Линукс и процессорами различных микроархитектур (см. выше) полностью применима не только с удаленным устройствам финансового самообслуживания, кассовым терминалам, но и к специализированным АРМ, которые построены по указанным стандартам. Одной из составляющих программного стека ПАК является упомянутое ОСПО, собственно и реализующее эти стандарты. В результате общий программный стек ПАК включает в себя прикладной программный уровень, уровень ОСПО, уровень драйверов периферийных устройств и системный уровень (уровень ОС). В этой архитектуре ОСПО взаимодействует с прикладным программным уровнем через интерфейс API, а с уровнем драйверов периферийных устройств - через интерфейс SPI. При этом задействованные общесистемные ресурсы ОСПО ПАК применяются для создания и хранения общей конфигурации программной и аппаратной частей ПАК, формирования транспортной среды для передачи формализованных сообщений с прикладного уровня на уровень периферии и обратно, синхронизации времен приема/передачи сообщений в случае синхронного информационного обмена, формированием очередей сообщений - в случае асинхронного обмена, а также «маршрутизации» сообщений адресатам. Такой способ организации вычислительного процесса в ПАК различной природы (с реализации различных стандартов обмена и различных аппаратных реализаций) является основой для разработки и исполнения прикладного программного обеспечения на платформе Линукс, что решает общую техническую проблему, заключающуюся в отсутствии программных реализаций указанных стандартов, а также во многом способствует решению задачи импортозамещения при создании ПАК.
На фиг.1 проиллюстрирована общая технология интеграции различных прикладных процессов с периферийными устройствами ПАК. Основная идея заключается в том, чтобы ввести некоторого арбитра, который будет хранить всю текущую и конфигурационную информацию о состоянии процессов и устройств ПАК, а также по определенным правилам в соответствии с определенными стандартами «маршрутизировать» (перенаправлять) информационные потоки от отправителя к получателю, принимая во внимание тип обмена.
Таким образом, в способе по настоящему изобретению ОСПО решает следующие задачи:
- создание общесистемной среды функционирования с предоставлением типовых услуг по обмену данными и оперативному управлению периферийными устройствами в рамках единого вычислительного процесса ПАК;
- обеспечение взаимодействия и управления единым вычислительным процессом (решение функциональных прикладных задач ПАК) и маршрутизации потоков данных в рамках ПАК по унифицированным интерфейсам (API, SPI, ODBC/JDBC, файл), совместимых со стандартами XFS (не ниже 3.20), OPOS, ОРС UA или иное;
- обеспечение взаимодействия произвольного (конечного) количества периферийных устройств ПАК различных типов и производителей на основании применения актуальных стандартизованных методов распределения данных в системе, современной системы защиты информации и кодирования, предоставлении конечным функциональным приложениям необходимого API- и SPI- интерфейсов для организации управления периферийными устройствам ПАК;
- обеспечение защиты информации в рамках внутренней структуры ПАК с возможностью создания единой непротиворечивой политики безопасности, реализуемой посредством средств защиты, встроенных в Линукс-подобную ОС ПАК, а также средства ОСПО;
- обеспечение функционирования ПАК в целом посредством центрального вычислителя (встраиваемого ПК), реализуемого на одной из перечисленных платформ - х86, ARM, MIPS, RISC-V, Байкал, Эльбрус с 32-х или 64-х битными архитектурами.
- хранение конфигурационной и рабочей (текущей) информации о периферийных устройствах ПАК в едином хранилище данных ОСПО, доступного посредством интерфейса ODBC/JDBC/файл и контролируемом средствами ОСПО ПАК,
- организация доступа к единому хранилищу конфигурационной и рабочей информации ОСПО на основе программного интерфейса, совместимого с ODBC/JDBC/файл, осуществление дополнительных мер по закрытию каналов передачи данных с помощью специализированных средств криптографической защиты информации из состава ПАК, а также возможных каналов утечки информации.
Следует специально отметить, что, хотя некоторые действия способа по настоящему изобретению имеют организационный характер, однако такие операции, как установка на центральной вычислительной установке общесистемного программного обеспечения (ОСПО), перенастройка интерфейсов и создание локального хранилища конфигурационной информации представляют собой действия над материальными объектами с помощью материальных средств. Т.е. заявленный способ не может считаться программой как таковой. Способ относится, прежде всего, к сугубо материальным сущностям, каким как, различные упомянутые периферийные устройства из состава ПАК, а именно - к управлению этими сущностями со стороны также сугубо материального объекта, коим является центральный вычислитель. Часто им является специализированный встраиваемый персональный компьютер, оснащенный Линукс-подобной ОС, управляемый пользователем. Кроме того, реализация такого способа интеграции обеспечивает унифицированное управление периферийными устройствами различных типов и разными их наборами в составе ПАК, что, безусловно, является техническим результатом. А поскольку в существующем уровне техники не выявлено источников, описывающих такой способ, а также не выявлено источников, сведения из которых в совокупности могли бы составить такой способ, настоящее изобретение удовлетворяет условиям новизны и изобретательского уровня.
Примеры вариантов реализации ПАК в разных отраслях были описаны со ссылками на конкретные программные компоненты и особенности. Иные варианты реализации изобретения могут включать в себя другие или отличные стандарты и программные компоненты, которые обеспечивают необходимые функциональные возможности.
Новые ПАК согласно настоящему изобретению смогут оперативно решать вышеупомянутые заявленные задачи, устранят трудности, которые имеются при проектировании различных устройств на платформах российского производства (Эльбрус, Байкал и др.), а также с применением отечественных Линукс-подобных ОС (Альт, АстраЛинукс, РОСА, МС ВС и пр.), решат проблемы и достигнут требуемых описанных выше результатов.
В описании выше некоторые термины и определения использовались для краткости, ясности, понимания и предназначены для широкого истолкования. Кроме того, описания и иллюстрация приведены лишь в качестве примеров, и само изобретение не ограничено показанными и описанными подробностями. В нижеследующей формуле изобретения любой признак, описанный как средство для выполнения функции, должен рассматриваться как охватывающий любые средства, известные специалистам, позволяющие выполнить указанную функцию, и не ограничивается конкретными средствами, показанными в предшествующем описании или их простых эквивалентах. Описаны признаки и принципы изобретения, способ, каким оно создано и используется, преимущества и полезные достигнутые технические результаты; новые и полезные структуры, устройства, элементы, интерфейсы, части, комбинации, системы, элементы оборудования, операции, процедуры, процессы и соотношения сформулированы в прилагаемой формуле изобретения.
В данном описании настоящее изобретение раскрыто посредством нескольких примеров его возможного осуществления при реализации удаленных финансовых устройств самообслуживания (ATM), торговых платежных терминалов (POS) или специальных промышленных устройств, работающих в парадигме Industrie 4.0. Однако эти примеры являются лишь иллюстративными, а не ограничивающими, и объем данного изобретения определяется прилагаемой формулой изобретения с учетом любых возможных эквивалентов.