СПОСОБ АВТОМАТИЗИРОВАННОЙ УСТАНОВКИ ПРИЛОЖЕНИЙ НА УСТРОЙСТВО ПОЛЬЗОВАТЕЛЯ И СИСТЕМА ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА
METHOD FOR AUTOMATED INSTALLATION OF APPLICATIONS ON A USER DEVICE AND A SYSTEM FOR REALIZING THE METHOD

ОБЛАСТЬ ТЕХНИКИ
[001] Данное техническое решение в общем относится к области вычислительной техники, а в частности к способу и системе для автоматизированной установки приложений на по меньшей мере одно устройство пользователя. Устройством пользователя может быть, например, смарт-терминал, выполняющий функции онлайн-кассы.
УРОВЕНЬ ТЕХНИКИ
[002] Из уровня техники известны различные технические решения, предоставляющие возможность пользователю устанавливать на устройство пользователя (например, на смарт-терминал) различные приложения из магазина приложений. Наиболее близким аналогом к заявленному решению является смарт-терминал, раскрытый в патенте на полезную модель РФ RU190099 U1 «Смарт-терминал для оплаты товаров и услуг» (Патентообладатель: ООО «Эвотор», опубликовано: 18.06.2019). Известный смарт-терминал снабжен блоком обмена данными с банковскими картами, связанным с вычислительным модулем разъемным соединением и выполненным с возможностью обработки данных от контактных, бесконтактных банковских карт и карт с магнитной полосой. В объемной части корпуса расположен печатный блок, который содержит крышку с рычагом, лоток для кассовой ленты, печатающую головку и прижимной ролик для перемещения кассовой ленты, установленный на верхней части крышки изнутри, модуль для приема бесконтактных банковских карт, встроенный в корпус и размещенный вокруг указанного лотка печатного блока, модуль для приема банковских карт с магнитной полосой, выполненный в виде прорези, выходящей на верхнюю и боковые стороны корпуса и расположенный между печатным блоком и дисплеем с сенсорной панелью, кнопка включения/выключения смарт-терминала, расположенная в левой боковой части корпуса, и видеокамера для сканирования штрих-кодов, расположенная в центре нижней стороны этой части корпуса, и гайка, запрессованная ниже круглого объектива видеокамеры ближе к краю и предназначенная для крепления смарт-терминала на кронштейне в вертикальном положении. В уплощенной части корпуса смарт-терминала расположены коммуникационный блок, выполненный в виде размещенных в левой боковой стороне корпуса разъема USB стандарта и разъема для внешнего источника питания, и продолговатые кнопки громкости и модуль для приема контактных банковских карт в виде щели, размещенные в правой боковой стороне корпуса.
[003] Недостатком известного решения является отсутствие возможности установки в автоматизированном режиме приложений, например, из магазина приложений, на устройство пользователя, в частности на смарт-терминал.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[004] Технической проблемой или задачей, решаемой в данном техническом решении, является создание надежного способа, а также системы для установки приложений на устройство пользователя.
[005] Техническим результатом, достигающимся при решении вышеуказанной технической задачи, является обеспечение возможности автоматизированной установки приложений на устройство пользователя.
[006] Указанный технический результат достигается благодаря осуществлению способа автоматизированной установки приложений, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:
- получают запрос на регистрацию от устройства пользователя, содержащий информацию о международном идентификаторе мобильного оборудования (IMEI) и данные введенного пользователем кода регистрации;
- привязывают устройство пользователя по IMEI к тому аккаунту пользователя, для которого сохранен аналогичный код регистрации;
- направляют на устройство пользователя данные о меньшей мере одном приложении, связанном с аккаунтом пользователя, и ссылку для установки приложения (url);
- устанавливают по меньшей мере одно приложение на устройство пользователя по ссылке url.
[007] В одном из частных примеров осуществления способа дополнительно выполняют этапы, на которых:
- получают данные о по меньшей мере одном устройстве пользователя;
- направляют данные об устройстве пользователя в налоговую службу;
- получают от налоговой службы уведомление о регистрации, включающее ИНН и регистрационный номер кассы;
- связывают данные, содержащиеся в уведомлении о регистрации, с аккаунтом пользователя;
- генерируют код регистрации для устройства пользователя и направляет его пользователю.
[008] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:
- детектируют наличие запроса на обмен данными, сформированного приложением, причем упомянутый запрос включает ссылку url на получателя упомянутого запроса;
- валидируют запрос на обмен данными посредством сравнения ссылки url с разрешенными ссылками url для приложения, которым был сформирован упомянутый запрос;
- в случае успешной валидации направляют запрос на обмен данными получателю упомянутого запроса.
[009] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:
- перед направлением получателю упомянутого запроса, обогащают запрос на обмен данными информацией об устройстве пользователя;
- на основе информации обогащенного запроса на обмен данными определяет состояние сервиса, предоставляемого приложением;
- направляют информацию о состоянии сервиса в упомянутое приложение для отображения на устройстве пользователя.
[010] Технический результат также достигается за счет реализации системы автоматизированной установки приложений, которая содержит по меньшей мере одного вычислительное устройство и по меньшей мере одно устройство памяти, содержащее машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[011] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[012] На Фиг. 1 - представлен пример осуществления системы для автоматизированной установки приложений.
[013] На Фиг. 2 - представлен пример осуществления взаимодействия упомянутой системы с по меньшей мере одним поставщиком приложений.
[014] На Фиг. 3 - представлен пример общего вида вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[015] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[016] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[017] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[018] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[019] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[020] База данных - это информационная модель предметной области в виде совокупности данных, хранимых в памяти компьютера и связанных между собой по правилам, которые определяют их общие принципы описания, хранения и манипулирования. В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется централизованно с помощью специального программного инструментария - системы управления базами данных.
[021] Системное программное обеспечение (приложение) - комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы.
[022] Облачное хранилище данных - модель онлайн-хранилища, в котором данные хранятся на многочисленных распределенных в сети серверах, предоставляемых в пользование клиентам, в основном, третьей стороной. В отличие от модели хранения данных на собственных выделенных серверах, приобретаемых или арендуемых специально для подобных целей, количество или какая-либо внутренняя структура серверов клиенту, в общем случае, не видна. Данные хранятся и обрабатываются в так называемом «облаке», которое представляет собой, с точки зрения клиента, один большой виртуальный сервер. Физически же такие серверы могут располагаться удаленно друг от друга географически.
[023] Сайт или веб-сайт - одна или несколько логически связанных между собой веб-страниц; также место расположения контента сервера. Обычно сайт в Интернете представляет собой массив связанных данных, имеющий уникальный адрес и воспринимаемый пользователем как единое целое.
[024] Смарт-терминал - это «умная» онлайн касса с функцией передачи данных в налоговую с возможностью подключения к ЕГАИС. Представляет собой гибридное устройство, состоящее из планшета и принтера кассовых чеков.
[025] В соответствии со схемой, приведенной на Фиг. 1, архитектура системы 100 для автоматизированной установки приложений содержит: устройство 10 пользователя; облачную платформу 20; и базу данных (БД) 30 приложений, в которой хранятся зашифрованные файлы приложений в формате АРК. АРК (англ. Android Package) - формат архивных исполняемых файлов-приложений для операционной системы Android. Указанные элементы системы 100 могут быть соединены посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п, с использованием проводной и/или беспроводной связи.
[026] Устройство 10 пользователя может быть реализовано на базе смарт-терминала, выполняющего функции онлайн-кассы. Онлайн-кассы (или контрольно-кассовая техника) - это кассовые аппараты, оснащенные фискальными накопителями. Онлайн-касса подключается к сети Интернет и передает данные в Федеральную налоговую службу (ФНС) через оператора фискальных данных (ОФД). Переход бизнеса на онлайн-кассы помогает контролирующим органам отслеживать уплату налогов, упрощает налоговые проверки и делает процесс торговли и предоставления услуг более прозрачным для потребителей. Устройство 10 пользователя позволяет совершать товарно-денежные операции с товарами пользователей. Это могут быть как произвольные товары, так и товары, которые хранятся локально на терминале.
[027] Устройство 10 пользователя включает: модуль 11 системных приложений, который содержит системные приложения, обеспечивающие работу устройства 10, а также информацию об устройстве 10, например, информацию о международном идентификаторе мобильного оборудования (IMEI); модуль 12 установки приложений, который осуществляет установку приложений 14; модуль 13 приложений, содержащий по меньшей мере одно приложение 14, и модуль 15 регистрации устройства пользователя. Упомянутые модули могут быть реализованы известными из уровня техники методами на базе программно-аппаратных средств устройства 10 пользователя, сконфигурированных в программной части таким образом, чтобы выполнять приписанные им далее функции.
[028] Облачная платформа 20 может быть реализована на базе по меньшей мере одного сервера и выполнена с возможностью хранения информации о сотрудниках компании (например, кассирах), об устройствах 10 пользователей, например, о смарт-терминалах компании, магазинах компании и товарах пользователей платформы 20, которые привязаны к аккаунтам пользователей. Указанная информация может быть сохранена в облачном хранилище данных, а пользователь платформы 20, приобретая устройство 10 пользователя, получает доступ к базовой функциональности:
- редактирование списка магазинов, сотрудников и смарт-терминалов;
- редактирование номенклатуры, в частности перечень ассортиментных групп производственного или торгового предприятия;
- просмотр базовых отчетов;
- установка приложений 14 для интеграции со сторонними сервисами.
[029] С помощью приложений 14, установленных на устройстве 10 пользователя и поставляемых в том числе сторонними разработчиками через платформу 20, пользователь посредством упомянутого устройства 10 может:
- взаимодействовать со сторонними товароучетными системами, как установленными на устройстве 10 пользователя, так и доступными в облаке платформы 20;
- автоматически обновлять информацию о магазинах в картографических сервисах;
- использовать различные системы лояльности для клиентов пользователей платформы и многое другое.
[030] Соответственно, для того, чтобы пользователь мог воспользоваться указанным выше функционалом, пользователю необходимо пройти этапы регистрации в платформе 20 известными из уровня техники методами. Например, для регистрации в платформе 20 пользователь с помощью вычислительного устройства, такого как портативный или стационарный компьютер, мобильный телефон, смартфон, планшет или пр., или с помощью устройства 10 пользователя может перейти на веб-сайт платформы 20 для получения соответствующей регистрационной формы, заполнить ее и направить в платформу 20 для регистрации пользователя и создания для него соответствующего аккаунта пользователя. После этого пользователь может зайти через веб-сайт платформы 20 в свой аккаунт, внести информацию о компании, магазине, номенклатуре и привязать к своему аккаунту различные устройства 10 пользователя. Также пользователь известными из уровня техники методами может приобрести по меньшей мере одно приложение 14, которое также будет привязано к аккаунту пользователя и которое в автоматизированном режиме или по запросу пользователя будет установлено на устройство 10 пользователя. Список приложений 14 для их приобретения может быть отображен пользователю посредством веб-интерфейса платформы 20.
[031] Для привязки к упомянутому аккаунту по меньшей мере одного устройства 10 пользователя пользователю может быть предложено его зарегистрировать в налоговой службе (ФНС). Для регистрации в налоговой службе пользователь, посредством вычислительного устройства или устройства 10 пользователя, переходит на веб-сайт, вводит данные учетной записи для авторизации на вебсайте и с помощью средств ввода данных запрашивает соответствующую регистрационную форму для ввода данных об устройстве 10 пользователя для его регистрации. Например, пользователь может в регистрационной форме указать: адрес установки устройства 10; название компании; сферу деятельности; модель и заводской номер устройства 10 (например, указанные в паспорте или на корпусе); оператора фискальных данных; режим, в котором будет использоваться устройство 10; модель фискального накопителя (например, указанная в паспорте накопителя); номер фискального накопителя (например, указанный на коробке или на накопителе) на веб-сайте платформы 20.
[032] Введенные данные платформа 20 перенаправляет в налоговую службу, которая осуществляет проверку данных и регистрацию устройства 10 пользователя. После регистрации упомянутого устройства 10 налоговая служба направляет в платформу 20 уведомление о регистрации, включающее ИНН и регистрационный номер кассы. При получении упомянутого уведомления о регистрации или по запросу пользователя платформа 20 генерирует код регистрации для устройства 10, сохраняет в базе данных 21 (БД), которой она дополнительно может быть оснащена, упомянутый код и данные, содержащиеся в уведомлении о регистрации, и связывает их с аккаунтом пользователя. Код регистрации может представлять собой сгенерированное платформой 20 конечное упорядоченное множество символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов. Также код регистрации для устройства 10 направляется известными из уровня техники пользователю устройства 10 его отображения на средствах вывода информации.
[033] Соответственно, для регистрации устройства 10 в платформе 20 пользователю необходимо в специальном меню интерфейса устройства 10 ввести полученный код регистрации. После ввода пользователем упомянутого кода устройство 10 посредством модуля 15 регистрации устройства пользователя формирует запрос на регистрацию устройства 10, в который включается IMEI, сохраненный в модуле 11 системных приложений, и данные введенного пользователем кода регистрации, после чего направляет сформированный запрос в платформу 20.
[034] При получении упомянутого запроса платформа 20 извлекает из него данные введенного пользователем кода регистрации, сравнивает с кодами регистрации, сохраненными в БД 21 для аккаунтов пользователей, после чего привязывает устройство 10 по IMEI к тому аккаунту пользователя, для которого сохранен аналогичный код регистрации. Таким образом, осуществляется регистрация устройства 10 пользователя в платформе 20. После того, как устройство 10 было зарегистрировано, платформа 20 извлекает из БД 21 данные, связанные с учетной записью пользователя, в частности информацию о сотрудниках, магазине и номенклатуре, формирует уведомление о регистрации фискального номера (ФН, номер фискального накопителя) устройства 10 и его серийного номера, которое вместе с упомянутыми извлеченными данными направляется в устройство 10. Фискальный накопитель - это чип внутри кассы, который записывает информацию о каждой продаже и передает ее оператору фискальных данных (ОФД), который обрабатывает и передает данные в налоговую службу. Извлеченные данные устройство 10 пользователя сохраняет в памяти, которой оно оснащено, а упомянутое уведомление отображается пользователю посредством средств вывода информации. Сохраненную в памяти информацию пользователь также может посмотреть посредством средств ввода/вывода информации.
[035] Дополнительно платформа 20 может инициировать установку по меньшей мере одного приложения 14, связанного с аккаунтом пользователя. Для этого платформа 20 извлекает из БД 21 данные о по меньшей мере одном приложении 14, связанного с аккаунтом пользователя, и формирует список приложений 14, в который включается информация о названии по меньшей мере одного приложения и/или его идентификатор (UUID), версии приложения (vn), коде приложения (vc) и ссылке на БД 30 приложений для установки приложения (URL), в которой хранится файл приложения, например, в формате АРК. Сформированный список приложений далее направляется платформой 20 в устройство 10 пользователя.
[036] Соответственно, список приложений поступает в модуль 12 установки приложений, который извлекает из упомянутого списка ссылку URL, обращается к БД 30 приложений и скачивает приложение 14 по ссылке URL. Скачанное приложение 14 модулем 12 устанавливается в модуль 13 приложений, в который также сохраняются vn и vc приложения. Таким образом, обеспечивается автоматизированная установка приложений на устройство 10 пользователя.
[037] В процессе работы устройства 10 пользователя по меньшей мере одному приложению 14 может потребоваться выполнить запрос данных, например, у поставщика приложения. Такой запрос данных может быть инициирован в связи с активацией пользователем каких-либо функций приложения 14 или алгоритм направления запросов может быть задан разработчиком приложения 14.
[038] Алгоритм обмена данными устройства 10 пользователя с поставщиком приложений далее будет описан со ссылкой на Фиг. 2, согласно которой система 100 для автоматизированной установки приложений дополнительно содержит устройство 40 поставщика приложений, при этом устройство 10 пользователя дополнительно оснащается модулем 16 маршрутизации запросов, которое может быть выполнено на базе программно-аппаратных средств упомянутого устройства 10, а облачная платформа 20 оснащена модулем 22 обработки запросов, которое может быть выполнено на базе программно-аппаратных средств сервера.
[039] В соответствии с заданным разработчиком приложения 14 программным алгоритмом или на основе соответствующего ввода от пользователя приложение 14 формирует запрос на обмен данными с устройством 40 поставщика приложений, при этом запрос на обмен данными может включать ссылку URL на получателя запроса, в частности на устройство 40 поставщика приложений. Запрос на обмен данными может быть, например, запросом на получение персональных данных от устройства 40, на получение информации о статусе сервиса, предоставляемого приложением 14 или на оплату упомянутого сервиса. Модуль 13 приложений детектирует наличие упомянутых запросов на обмен данными, например, посредством анализа пакетов данных, исходящих от приложения 14, в которых содержится информация запроса на обмен данными. В частности, модуль 13 приложений извлекает из заголовка пакета данных данные получателя пакета данных, в частности его IP-адрес (например, IP-адрес устройства 40 поставщика), сравнивает данные получателя пакета данных со списком разрешенных получателей (списком IP-адресов) и если получатель отсутствует в списке разрешенных получателей, то модуль 13 приложений перенаправляет пакеты данных, в которых содержится информация запроса на обмен данными, в модуль 16 маршрутизации запросов. Таким образом, обеспечивается детектирование запросов на обмен данными с устройством 40 поставщика приложений и предотвращение передачи несанкционированных запросов данных.
[040] Соответственно, сформированный запрос на обмен данными поступает в модуль 16 маршрутизации запросов, который извлекает идентификатор (UUID) приложения 14, которым был инициирован упомянутый запрос, и направляет идентификатор приложения 14 и запрос на обмен данными в платформу 20, которые поступают в модуль 22 обработки запросов.
[041] При получении упомянутых данных модуль 22 обработки запросов извлекает из запроса на обмен данными ссылку URL и осуществляет валидацию полученного запроса на обмен данными посредством сравнения ссылки URL, например, на устройство 40 поставщика приложений, с разрешенными ссылками URL, информация о которых заранее занесена в БД 21 при регистрации приложения 14 в платформе 20. Разрешенные ссылки URL для приложения 14 могут быть найдены модулем 22 в БД 21 по идентификатору приложения 14, информация о которых им также была получена ранее. Дополнительно полученный запрос на обмен данными может быть обогащен данными об аккаунте пользователя, магазине, устройстве 10 пользователя, в частности информацией о смарт-терминале, например, его идентификаторе - IMEI.
[042] Если запрос на обмен данными прошел валидацию, то модуль 22 передает упомянутый запрос на отправку получателю упомянутого запроса, например, в устройство 40 поставщика приложений. Если запрос не проходит валидацию, то он не направляется получателю упомянутого запроса, а платформа 30 формирует и направляет код ошибки в устройство 10 пользователя, который через модуль 16 маршрутизации запросов поступает в приложение 14. Приложение 14 на основе кода ошибки может сформировать и направит команду на вывод соответствующего коду ошибки уведомления на средства вывода информации устройства 10 пользователя, указывающего на то, что запрос на обмен данными приложения 14 с полученным идентификатором приложения 14 не прошел валидацию.
[043] При получении запроса на обмен данными устройство 40 поставщика приложений идентифицирует устройство 10 пользователя, от которого был получен упомянутый запрос, например, по IMEI, а также, при необходимости, проверяет состояние сервиса, предоставляемого приложением 14 устройства 10 пользователя. Данные о состоянии сервиса для приложения 14, например, в зависимости от его оплаты пользователем устройства 10, могут указывать на то, что сервис «активен», т.е. сервис оплачен, либо сервис «не активен» в связи с тем, что он не оплачен. Оплату сервиса, предоставляемого приложением 14, пользователь может осуществить известными из уровня техники методами, в том числе посредством устройства 10 пользователя, на котором установлено данное приложение 14.
[044] Также модуль 22 обработки запросов принимает данные от получателя упомянутого запроса, в частности устройства 40 поставщика приложений, направленные в ответ на запрос на обмен данными и передает их через модуль 16 в приложение 14. Вместе с упомянутым запросом упомянутый модуль 22 также может получить от устройства 40 поставщика приложений информацию о состоянии сервиса для приложения 14, которое аналогичным образом может быть передана приложению 14 и выведена на средства вывода информации устройства 10 пользователя.
[045] Для включения приложений 14 в БД 30 приложений разработчик приложений напрямую или посредством устройства 40 может известными из уровня техники методами зарегистрироваться в платформе 20, получить идентификатор приложения, сгенерированный упомянутой платформой 20 и направить приложение 14 в платформу 20 вместе с полученным идентификатором приложения. Приложение 14 может также содержать ссылку URL на устройство 40 поставщика приложений для направления в него запросов на обмен данными, а также vn и vc, указанные разработчиком. Платформа 20 валидирует приложение 14, в частности проверяет, что сгенерированный платформой идентификатор приложения совпадает с направленным разработчиков, и что приложение 14 не запрашивает запрещенных разрешений, и сохраняет его в БД 30. Также платформа 20 формирует и сохраняет ссылку URL на приложение 14 в собственном хранилище - в БД 21, после чего приложение 14 может быть куплено пользователем и установлено на устройство 10 пользователя.
[046] В общем виде (см. Фиг. 3) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), устройства ввода/вывода (205), и устройство для сетевого взаимодействия (206).
[047] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (200) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[048] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора.
[049] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[050] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[051] Для обеспечения взаимодействия пользователя с устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[052] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[053] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (200), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[054] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
[055] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны.
[056] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.
[057] Обычно, сама микросхема ПЛИС состоит из следующих компонент:
конфигурируемых логических блоков, реализующих требуемую логическую функцию;
программируемых электронных связей между конфигурируемыми логическими блоками;
программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.
[058] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств.
[059] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.
[060] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.
[061] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.
[062] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.
[063] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Python, R, Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).
[064] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.
[065] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.