WO2021118384A1 - System and method for installation of applications on a user device - Google Patents

System and method for installation of applications on a user device Download PDF

Info

Publication number
WO2021118384A1
WO2021118384A1 PCT/RU2019/000924 RU2019000924W WO2021118384A1 WO 2021118384 A1 WO2021118384 A1 WO 2021118384A1 RU 2019000924 W RU2019000924 W RU 2019000924W WO 2021118384 A1 WO2021118384 A1 WO 2021118384A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
request
application
data
registration
Prior art date
Application number
PCT/RU2019/000924
Other languages
French (fr)
Russian (ru)
Inventor
Александр Александрович ЖАЛНИН
Владимир Николаевич ДЕГТЕВ
Юрий Владимирович ЮРЬЕВ
Андрей Николаевич РОМАНЕНКО
Кирилл Дмитриевич ХАУСТОВ
Денис Александрович МИХАЙЛОВ
Андрей Алексеевич КУЗНЕЦОВ
Original Assignee
Общество с ограниченной ответственностью "ЭВОТОР"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "ЭВОТОР" filed Critical Общество с ограниченной ответственностью "ЭВОТОР"
Publication of WO2021118384A1 publication Critical patent/WO2021118384A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems

Definitions

  • This technical solution generally relates to the field of computing, and in particular to a method and system for the automated installation of applications on at least one user device.
  • the user's device can be, for example, a smart terminal that functions as an online cash register.
  • a printing unit which contains a cover with a lever, a tray for a cash tape, a print head and a pressure roller for moving a cash tape installed on the top of the cover from the inside, a module for receiving contactless bank cards built into the body and placed around the specified tray of the printing unit, a module for accepting bank cards with a magnetic stripe, made in the form of a slot extending to the top and sides of the case and located between the printing unit and the display with a touch panel, a smart terminal on / off button located in the left side of the case , and a video camera for scanning barcodes, located in the center of the lower side of this part of the body, and a nut pressed down below the round lens of the video camera closer to the edge and designed for mounting the smart terminal on a bracket in a vertical position.
  • the flattened part of the smart terminal housing contains a communication unit made in the form of a USB standard connector and a connector for an external power source located on the left side of the housing, and oblong volume buttons and a slot-shaped contact bank card receiving module located on the right side side housing.
  • the disadvantage of the known solution is the impossibility of installing applications in an automated mode, for example, from an application store, on a user's device, in particular on a smart terminal.
  • the technical problem or task solved in this technical solution is to provide a reliable method as well as a system for installing applications on a user's device.
  • the technical result achieved by solving the above technical problem is to enable automated installation of applications on the user's device.
  • IMEI international mobile equipment identifier
  • the steps are additionally performed, in which:
  • the steps are additionally performed, in which:
  • the technical result is also achieved by implementing an automated application installation system that contains at least one computing device and at least one memory device containing machine-readable instructions that, when executed by at least one computing device, perform the above method.
  • FIG. 1 shows an exemplary embodiment of a system for automated installation of applications.
  • FIG. 2 shows an example of how the said system interacts with at least one application provider.
  • FIG. 3 is an example of a general view of a computing device.
  • the system means, including a computer system, a computer (electronic computer), a CNC (numerical control), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given , a well-defined sequence of operations (actions, instructions).
  • a computer electronic computer
  • CNC numerical control
  • PLC programmable logic controller
  • computerized control systems any other devices capable of performing a given , a well-defined sequence of operations (actions, instructions).
  • command processor an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
  • a command processor reads and executes machine instructions (programs) from one or more storage devices.
  • the role of data storage devices can be, but are not limited to, hard disks (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.
  • a program is a sequence of instructions for execution by a computer control device or command processing device.
  • a database is an information model of a subject area in the form of a collection of data stored in computer memory and interconnected according to rules that define their general principles of description, storage and manipulation. In modern database technology, it is assumed that the creation of a database, its maintenance and provision of user access to it is carried out centrally using special software tools - a database management system.
  • System software is a set of programs that control the components of a computer system, such as a processor, random access memory, input-output devices, network equipment, acting as an "interlayer interface", on one side of which the hardware, and on the other is user applications.
  • the system software does not solve specific practical problems, but only ensures the operation of other programs, providing them with service functions, abstracting the details of the hardware and firmware implementation of the computing system, and manages the hardware resources of the computing system.
  • Cloud data storage is an online storage model in which data is stored on multiple servers distributed over a network, provided for use by clients, mainly by a third party. Unlike the model of storing data on our own dedicated servers, purchased or leased specifically for such purposes, the number or any internal structure of servers is generally not visible to the client. Data is stored and processed in the so-called “cloud", which is, from the client's point of view, one large virtual server. Physically, such servers can be located geographically distant from each other.
  • Site or website one or more logically related web pages; also the location of the server content.
  • a site on the Internet is an array of related data that has a unique address and is perceived by the user as a whole.
  • a smart terminal is a “smart” online cash register with the function of transferring data to the tax office with the ability to connect to EGAIS. It is a hybrid device consisting of a tablet and a printer for cash receipts.
  • the architecture of a system 100 for automated installation of applications includes: a user device 10; cloud platform 20; and an application database (DB) 30, which stores encrypted application files in the ARC format.
  • ARC English Android Package
  • DB application database
  • ARC is a format of archived executable files-applications for the Android operating system.
  • the specified elements of system 100 can be connected through an internal or external computer network, for example, Intranet, Internet, LAN, etc., using wired and / or wireless communication.
  • the user's device 10 can be implemented on the basis of a smart terminal that functions as an online cash register.
  • Online cash registers or cash registers are cash registers equipped with fiscal drives.
  • the online cash register connects to the Internet and transmits data to the Federal Tax Service (FTS) through the fiscal data operator (OFD).
  • FTS Federal Tax Service
  • OFD fiscal data operator
  • Moving businesses to online checkouts helps regulators track tax payments, simplifies tax audits, and makes the process of trading and providing services more transparent to consumers.
  • the user's device 10 allows making commodity-money transactions with the goods of the users. These can be both arbitrary goods and goods that are stored locally on the terminal.
  • the user's device 10 includes: a system application module 11, which contains system applications that enable the device 10 to operate, as well as information about the device 10, for example, information about the international mobile equipment identifier (IMEI); an application installation module 12 that installs applications 14; an application module 13 containing at least one application 14; and a user device registration module 15.
  • IMEI international mobile equipment identifier
  • These modules can be implemented by methods known from the prior art on the basis of the firmware of the user device 10, configured in the software part in such a way as to perform the functions assigned to them hereinafter.
  • the cloud platform 20 can be implemented on the basis of at least one server and is configured to store information about company employees (for example, cashiers), about users' devices 10, for example, about smart terminals of the company, stores of the company and products of users of the platform 20 that are linked to user accounts.
  • the specified information can be stored in the cloud data storage, and the user of the platform 20, purchasing the user's device 10, gains access to the basic functionality:
  • the user in order for the user to use the above functionality, the user must go through the stages of registration in the platform 20 by methods known from the prior art.
  • a user using a computing device such as a laptop or desktop computer, mobile phone, smartphone, tablet or the like, or using the user's device 10
  • the user can log in through the website of the platform 20 to his account, enter information about the company, store, nomenclature and link various devices 10 of the user to his account.
  • the user can purchase at least one application 14 by methods known from the prior art, which will also be linked to the user's account and which will be installed on the user's device 10 automatically or at the user's request.
  • the list of applications 14 for their purchase can be displayed to the user through the web interface of the platform 20.
  • the user may be prompted to register it with the tax service (FTS).
  • FTS tax service
  • the user through the computing device or the user's device 10, goes to the website, enters the account data for authorization on the website and, using the data input means, requests the corresponding registration form to enter data about the user's device 10 for its registration.
  • the user can indicate in the registration form: the installation address of the device 10; The name of the company; scope of activity; model and serial number of the device 10 (for example, indicated in the passport or on the case); operator of fiscal data; the mode in which the device 10 will be used; fiscal drive model (for example, specified in the drive's passport); fiscal unit number (for example, listed on the box or on the drive) on the platform website 20.
  • the entered data is redirected by the platform 20 to the tax office, which checks the data and registration of the user's device 10.
  • the tax service sends a registration notification to the platform 20, including the TIN and the registration number of the cash register.
  • the platform 20 Upon receipt of the mentioned registration notification or at the user's request, the platform 20 generates a registration code for the device 10, stores in the database 21 (DB), with which it can additionally be equipped, the mentioned code and data contained in the registration notification, and associates them with user account.
  • the registration code may represent a finite ordered set of characters belonging to some finite alphabet, generated by the platform 20, into a different, not necessarily ordered, usually more extensive set of characters.
  • the registration code for the device 10 is sent, known from the prior art, to the user of the device 10 for displaying it on the information output means.
  • the user in order to register the device 10 in the platform 20, the user needs to enter the received registration code in a special menu of the interface of the device 10.
  • the device 10 After the user enters the above code, the device 10 through the registration unit 15 of the user device generates a request for registration of the device 10, which includes the IMEI stored in the system application unit 11 and the data of the registration code entered by the user, and then sends the generated request to the platform 20.
  • the platform 20 extracts the data entered by the user registration code, compares with the registration codes stored in the database 21 for user accounts, and then binds the device 10 by IMEI to the user account for which a similar registration code is stored.
  • the registration of the user's device 10 in the platform 20 is carried out.
  • the platform 20 extracts from the database 21 data associated with the user account, in particular information about employees, the store and the nomenclature, generates a notification about the registration of the fiscal numbers (FN, fiscal storage number) of device 10 and its serial number, which, together with the aforementioned extracted data, is sent to device 10.
  • FN fiscal storage number
  • FN fiscal storage number
  • Financial storage is a chip inside the cash register that records information about each sale and transmits it to the fiscal data operator (OFD), which processes and transfers data to the tax office.
  • OFD fiscal data operator
  • the device 10 of the user stores the extracted data in the memory with which it is equipped, and the mentioned notification is displayed to the user by means of information output.
  • the user can also view the information stored in the memory by means of information input / output means.
  • platform 20 may initiate the installation of at least one application 14 associated with a user account. To do this, the platform 20 extracts from the database 21 data about at least one application 14 associated with the user account, and generates a list of applications 14, which includes information about the name of at least one application and / or its identifier (UUID), application version (vn), application code (vc) and a link to the application database 30 for installing the application (URL), which stores the application file, for example, in the ARC format. The generated list of applications is then sent by the platform 20 to the user's device 10.
  • UUID name of at least one application and / or its identifier
  • vn application version
  • vc application code
  • URL which stores the application file, for example, in the ARC format.
  • the generated list of applications is then sent by the platform 20 to the user's device 10.
  • the list of applications is supplied to the application installation module 12, which extracts the URL link from the list, accesses the application database 30 and downloads the application 14 from the URL link.
  • the downloaded application 14 by the module ⁇ is installed into the application module 13, which also stores the vn and vc applications.
  • automated installation of applications to the user's device 10 is provided.
  • at least one application 14 may need to request data from, for example, an application provider. Such a request for data can be initiated in connection with the activation of any functions of the application 14 by the user, or the algorithm for sending requests can be set by the developer of the application 14.
  • the system 100 for automated installation of applications further comprises an application provider device 40
  • the user device 10 is additionally equipped with a request routing module 16, which can be implemented on the basis of the firmware of said device 10
  • the cloud platform 20 is equipped with a module 22 processing requests, which can be performed on the basis of the server software and hardware.
  • the application 14 In accordance with the software algorithm specified by the developer of the application 14 or based on the corresponding input from the user, the application 14 generates a request to exchange data with the device 40 of the application provider, and the request for exchanging data may include a URL link to the recipient of the request, in particular to the device 40 application provider.
  • the request for data exchange can be, for example, a request to receive personal data from the device 40, to receive information about the status of the service provided by the application 14, or to pay for said service.
  • the application module 13 detects the existence of said communication requests, for example, by analyzing data packets emanating from the application 14, which contain the communication request information.
  • the application module 13 extracts from the header of the data packet the data of the recipient of the data packet, in particular its IP address (for example, the IP address of the vendor device 40), compares the data of the recipient of the data packet with the list of allowed recipients (list of IP addresses), and if the recipient is not in the list of allowed recipients, the application module 13 redirects the data packets containing the exchange request information to the request routing module 16. In this way, requests for communication with the device 40 of the application provider are detected and unauthorized data requests are prevented from being transmitted.
  • IP address for example, the IP address of the vendor device 40
  • the generated data exchange request enters the request routing module 16, which retrieves the identifier (UUID) of the application 14 that initiated the request, and sends the application identifier 14 and the data exchange request to the platform 20, which arrive at the module 22 processing requests.
  • UUID identifier
  • the request processing module 22 Upon receipt of said data, the request processing module 22 extracts the URL link from the data exchange request and validates the received data exchange request by comparing the URL link, for example, to the device 40 of the application provider, with the allowed URLs, information about which is preinstalled in the database 21 when registering the application 14 in the platform 20.
  • the allowed URL links for the application 14 can be found by the module 22 in the database 21 by the identifier of the application 14, information about which he also received earlier.
  • the received request for data exchange can be enriched with data about the user's account, store, user's device 10, in particular, information about the smart terminal, for example, its identifier - IMEI.
  • the module 22 transmits said request to send the request to the recipient, for example, to the device 40 of the application provider. If the request does not pass validation, then it is not sent to the recipient of the said request, but the platform 30 generates and sends an error code to the user's device 10, which, through the request routing module 16, enters application 14. Application 14, based on the error code, can generate and send a command to outputting a notification corresponding to the error code to the outputting means of the user's device 10, indicating that the request for exchanging application data 14 with the received application identifier 14 has not been validated.
  • the application provider device 40 Upon receipt of a communication request, the application provider device 40 identifies the user device 10 from which the request was received, for example, by the IMEI, and, if necessary, checks the status of the service provided by the application 14 of the user device 10.
  • the service state data for the application 14, for example, depending on its payment by the user of the device 10, may indicate that the service is "active", i.e. the service has been paid for, or the service is "inactive" due to the fact that it has not been paid for.
  • Payment for the service provided by Application 14 the user can implement by methods known from the prior art, including by means of the user's device 10, on which this application 14 is installed.
  • the request processing module 22 receives data from the recipient of the said request, in particular the application provider device 40, directed in response to the request for data exchange and transmits it through the module 16 to the application 14. Together with the said request, the said module 22 can also receive from the device 40 of the application provider, information about the state of the service for the application 14, which can similarly be transmitted to the application 14 and output to the information output means of the device 10 of the user.
  • the application developer can register with the platform 20 using methods known in the art, obtain the application ID generated by the platform 20, and send the application 14 to the platform 20 along with the obtained application ID.
  • Application 14 may also include a URL link to the application provider device 40 for sending communications requests thereto, as well as the vn and vc specified by the developer.
  • Platform 20 validates the application 14, in particular, verifies that the platform-generated application identifier matches the one directed by the developers, and that the application 14 does not request prohibited permissions, and stores it in the database 30. Also, the platform 20 generates and stores the URL link to the application 14 in its own storage - in the database 21, after which the application 14 can be purchased by the user and installed on the user's device 10.
  • the computing device contains one or more processors (201), united by a common data exchange bus, memory means such as RAM (202) and ROM (203), input / output interfaces (204 ), input / output devices (205), and a device for networking (206).
  • processors 201
  • memory means such as RAM (202) and ROM (203)
  • input / output interfaces 204
  • input / output devices 205
  • device for networking 206
  • the processor (201) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, such manufacturers as: Intel TM, AMD TM, Apple TM, Samsung Exynos TM, MediaTEK TM, Qualcomm Snapdragon TM, etc. Under the processor or one of the processors used in the device (200), it is also necessary to take into account a graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used for training and applying machine learning models in various information systems ...
  • a graphics processor for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used for training and applying machine learning models in various information systems ...
  • RAM (202) is a random access memory and is intended for storing machine-readable instructions executed by the processor (201) for performing the necessary operations for logical processing of data.
  • RAM (202) contains executable instructions of the operating system and corresponding software components (applications, software modules, etc.). In this case, the available memory of the graphics card or graphics processor can act as RAM (202).
  • ROM (203) is one or more persistent storage devices, such as a hard disk drive (HDD), solid state data storage device (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.
  • HDD hard disk drive
  • SSD solid state data storage device
  • EEPROM electrically erasable programmable read-only memory
  • NAND flash memory
  • optical storage media CD-R / RW, DVD-R / RW, BlueRay Disc, MD
  • I / O interfaces (204) are used to organize the operation of the components of the device (200) and to organize the operation of external connected devices.
  • the choice of the appropriate interfaces depends on the specific version of the computing device, which can be, but are not limited to: 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, etc.
  • I / O information is used, for example, a keyboard, display (monitor), touch display, touch pad, joystick, mouse manipulator, light pen, stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification (retina scanner, fingerprint scanner, voice recognition module), etc.
  • the networking tool (206) provides data transmission via an internal or external computer network, for example, Intranet, Internet, LAN, and the like.
  • an internal or external computer network for example, Intranet, Internet, LAN, and the like.
  • one or more means (206) may be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or
  • satellite navigation aids can be used as part of the device (200), for example, GPS, GLONASS, BeiDou, Galileo.
  • the specific choice of elements of the device (200) for the implementation of various software and hardware architectural solutions can vary while maintaining the required functionality provided.
  • All blocks used in the system can be implemented with electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set through programming, can be used.
  • FPGA programmable logic integrated circuits
  • programmers and debugging environments are used that allow you to set the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc.
  • FPGAs programmable logic controllers
  • BMK basic matrix crystals
  • ASICs are specialized custom large integrated circuits (LSI), which are significantly more expensive for small-scale and single-piece production.
  • the FPGA itself consists of the following components:
  • Blocks can also be implemented using read-only memory devices.
  • aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution may be implemented solely as hardware, as software (including application software, and so on), or as an embodiment combining software and hardware aspects, which may generally be referred to as a "module” , “System” or “architecture”. In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having computer-readable program code that is implemented thereon.
  • the computer-readable storage medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of a computer-readable storage medium include: an electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), fiber optic connection, compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any combination of the above.
  • a computer-readable storage medium can be any flexible storage medium that can contain or store the program for use by the system itself, device, apparatus or in connection with them.
  • Program code embedded in a computer-readable medium can be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network or a combination of the above.
  • Computer program code to perform operations for the steps of this technical solution may be written in any programming language or combinations of programming languages, including an object-oriented programming language such as Python, R, Java, Smalltalk, C ++, and so on, and conventional procedural programming languages such as "C" programming language or similar programming languages.
  • the program code can be executed on the user's computer in whole, in part, or as a separate software package, partially on the user's computer and partially on the remote computer, or completely on the remote computer.
  • the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN), a wide area network (WAN), or a connection to an external computer (for example, via the Internet using Internet service providers).
  • LAN local area network
  • WAN wide area network
  • Internet service providers for example, via the Internet using Internet service providers.
  • These computer program instructions may also be stored on a computer-readable medium that can control a computer other than from a programmable data processing device or other than devices that function in a particular way, such that instructions stored on a computer-readable medium create a device including instructions that perform the functions / actions specified in the block diagram and / or diagram.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

The present technical solution relates in general to the field of computer engineering, and more particularly to a method and a system for the automated installation of applications on at least one user device. The technical result that can be achieved by solving the above-mentioned technical problem is that of allowing automated installation of applications on a user device. The above-mentioned technical result is achieved by virtue of the implementation of a method for automated installation of applications, which is performed by at least one computing device and comprises steps in which: a registration request is received from a user device, said request comprising information about the International Mobile Equipment Identity (IMEI) and data on a registration code entered by the user; the user device is associated, by means of the IMEI, with the user account for which an analogous registration code is stored; data about at least one application connected to the user account and a link for installing the application (URL) are sent to the user device; at least one application is installed on the user device by means of the URL link.

Description

СИСТЕМА И СПОСОБ УСТАНОВКИ ПРИЛОЖЕНИЙ НА УСТРОЙСТВО ПОЛЬЗОВАТЕЛЯ SYSTEM AND METHOD OF INSTALLING APPLICATIONS ON THE USER'S DEVICE
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
[001] Данное техническое решение в общем относится к области вычислительной техники, а в частности к способу и системе для автоматизированной установки приложений на по меньшей мере одно устройство пользователя. Устройством пользователя может быть, например, смарт-терминал, выполняющий функции онлайн-кассы. [001] This technical solution generally relates to the field of computing, and in particular to a method and system for the automated installation of applications on at least one user device. The user's device can be, for example, a smart terminal that functions as an online cash register.
УРОВЕНЬ ТЕХНИКИ LEVEL OF TECHNOLOGY
[002] Из уровня техники известны различные технические решения, предоставляющие возможность пользователю устанавливать на устройство пользователя (например, на смарт-терминал) различные приложения из магазина приложений. Наиболее близким аналогом к заявленному решению является смарт-терминал, раскрытый в патенте на полезную модель РФ RU190099U1 «Смарт-терминал для оплаты товаров и услуг» (Патентообладатель: ООО «Эвотор», опубликовано: 18.06.2019). Известный смарт-терминал снабжен блоком обмена данными с банковскими картами, связанным с вычислительным модулем разъемным соединением и выполненным с возможностью обработки данных от контактных, бесконтактных банковских карт и карт с магнитной полосой. В объемной части корпуса расположен печатный блок, который содержит крышку с рычагом, лоток для кассовой ленты, печатающую головку и прижимной ролик для перемещения кассовой ленты, установленный на верхней части крышки изнутри, модуль для приема бесконтактных банковских карт, встроенный в корпус и размещенный вокруг указанного лотка печатного блока, модуль для приема банковских карт с магнитной полосой, выполненный в виде прорези, выходящей на верхнюю и боковые стороны корпуса и расположенный между печатным блоком и дисплеем с сенсорной панелью, кнопка включения/выключения смарт-терминала, расположенная в левой боковой части корпуса, и видеокамера для сканирования штрих-кодов, расположенная в центре нижней стороны этой части корпуса, и гайка, запрессованная ниже круглого объектива видеокамеры ближе к краю и предназначенная для крепления смарт-терминала на кронштейне в вертикальном положении. В уплощенной части корпуса смарт-терминала расположены коммуникационный блок, выполненный в виде размещенных в левой боковой стороне корпуса разъема USB стандарта и разъема для внешнего источника питания, и продолговатые кнопки громкости и модуль для приема контактных банковских карт в виде щели, размещенные в правой боковой стороне корпуса. [002] In the prior art, various technical solutions are known that enable a user to install various applications from an application store on a user's device (eg, a smart terminal). The closest analogue to the claimed solution is a smart terminal disclosed in the patent for a useful model of the Russian Federation RU190099U1 "Smart terminal for paying for goods and services" (Patentee: LLC "Evotor", published: 06/18/2019). The known smart terminal is equipped with a data exchange unit with bank cards connected to the computing module with a detachable connection and configured to process data from contact, contactless bank cards and cards with a magnetic stripe. In the volumetric part of the body there is a printing unit, which contains a cover with a lever, a tray for a cash tape, a print head and a pressure roller for moving a cash tape installed on the top of the cover from the inside, a module for receiving contactless bank cards built into the body and placed around the specified tray of the printing unit, a module for accepting bank cards with a magnetic stripe, made in the form of a slot extending to the top and sides of the case and located between the printing unit and the display with a touch panel, a smart terminal on / off button located in the left side of the case , and a video camera for scanning barcodes, located in the center of the lower side of this part of the body, and a nut pressed down below the round lens of the video camera closer to the edge and designed for mounting the smart terminal on a bracket in a vertical position. The flattened part of the smart terminal housing contains a communication unit made in the form of a USB standard connector and a connector for an external power source located on the left side of the housing, and oblong volume buttons and a slot-shaped contact bank card receiving module located on the right side side housing.
[003] Недостатком известного решения является отсутствие возможности установки в автоматизированном режиме приложений, например, из магазина приложений, на устройство пользователя, в частности на смарт-терминал. [003] The disadvantage of the known solution is the impossibility of installing applications in an automated mode, for example, from an application store, on a user's device, in particular on a smart terminal.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ ESSENCE OF THE TECHNICAL SOLUTION
[004] Технической проблемой или задачей, решаемой в данном техническом решении, является создание надежного способа, а также системы для установки приложений на устройство пользователя. [004] The technical problem or task solved in this technical solution is to provide a reliable method as well as a system for installing applications on a user's device.
[005] Техническим результатом, достигающимся при решении вышеуказанной технической задачи, является обеспечение возможности автоматизированной установки приложений на устройство пользователя. [005] The technical result achieved by solving the above technical problem is to enable automated installation of applications on the user's device.
[006] Указанный технический результат достигается благодаря осуществлению способа автоматизированной установки приложений, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:[006] The specified technical result is achieved by implementing a method for automated installation of applications, performed by at least one computing device, comprising the steps in which:
- получают запрос на регистрацию от устройства пользователя, содержащий информацию о международном идентификаторе мобильного оборудования (IMEI) и данные введенного пользователем кода регистрации; - receive a registration request from the user's device containing information about the international mobile equipment identifier (IMEI) and the data of the registration code entered by the user;
- привязывают устройство пользователя по IMEI к тому аккаунту пользователя, для которого сохранен аналогичный код регистрации; - bind the user's device by IMEI to the user account for which a similar registration code is saved;
- направляют на устройство пользователя данные о меньшей мере одном приложении, связанном с аккаунтом пользователя, и ссылку для установки приложения (url); - sending data on at least one application associated with the user's account and a link for installing the application (url) to the user's device;
- устанавливают по меньшей мере одно приложение на устройство пользователя по ссылке url. - install at least one application on the user's device using the url link.
[007] В одном из частных примеров осуществления способа дополнительно выполняют этапы, на которых: [007] In one of the particular examples of the method, the steps are additionally performed, in which:
- получают данные о по меньшей мере одном устройстве пользователя; - направляют данные об устройстве пользователя в налоговую службу; - get data about at least one user's device; - send data about the user's device to the tax office;
- получают от налоговой службы уведомление о регистрации, включающее ИНН и регистрационный номер кассы; - receive a registration notification from the tax service, including the TIN and the registration number of the cash desk;
- связывают данные, содержащиеся в уведомлении о регистрации, с аккаунтом пользователя; - link the data contained in the registration notification with the user account;
- генерируют код регистрации для устройства пользователя и направляет его пользователю. - generate a registration code for the user's device and send it to the user.
[008] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых: [008] In another particular embodiment of the method, the steps are additionally performed, in which:
- детектируют наличие запроса на обмен данными, сформированного приложением, причем упомянутый запрос включает ссылку url на получателя упомянутого запроса; - detecting the presence of a request for data exchange generated by the application, and the said request includes a url link to the recipient of the said request;
- валидируют запрос на обмен данными посредством сравнения ссылки url с разрешенными ссылками url для приложения, которым был сформирован упомянутый запрос; - validate the data exchange request by comparing the url with the allowed url for the application that generated the request;
- в случае успешной валидации направляют запрос на обмен данными получателю упомянутого запроса. - in case of successful validation, send a request for data exchange to the recipient of the said request.
[009] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых: [009] In another particular embodiment of the method, the steps are additionally performed, in which:
- перед направлением получателю упомянутого запроса, обогащают запрос на обмен данными информацией об устройстве пользователя; - before sending said request to the recipient, enrich the request for data exchange with information about the user's device;
- на основе информации обогащенного запроса на обмен данными определяет состояние сервиса, предоставляемого приложением; - based on the information of the enriched data exchange request, determines the state of the service provided by the application;
- направляют информацию о состоянии сервиса в упомянутое приложение для отображения на устройстве пользователя. - send information about the state of the service to the mentioned application for display on the user's device.
[010] Технический результат также достигается за счет реализации системы автоматизированной установки приложений, которая содержит по меньшей мере одного вычислительное устройство и по меньшей мере одно устройство памяти, содержащее машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ. [010] The technical result is also achieved by implementing an automated application installation system that contains at least one computing device and at least one memory device containing machine-readable instructions that, when executed by at least one computing device, perform the above method.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ з [011] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых: BRIEF DESCRIPTION OF DRAWINGS [011] The features and advantages of the present technical solution will become apparent from the following detailed description of the invention and the accompanying drawings, in which:
[012] На Фиг. 1 - представлен пример осуществления системы для автоматизированной установки приложений. [012] FIG. 1 shows an exemplary embodiment of a system for automated installation of applications.
[013] На Фиг. 2 - представлен пример осуществления взаимодействия упомянутой системы с по меньшей мере одним поставщиком приложений. [013] FIG. 2 shows an example of how the said system interacts with at least one application provider.
[014] На Фиг. 3 - представлен пример общего вида вычислительного устройства. [014] FIG. 3 is an example of a general view of a computing device.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ DETAILED DESCRIPTION OF THE TECHNICAL SOLUTION
[015] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения. [015] The following will describe the concepts and terms necessary to understand this technical solution.
[016] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций). [016] In this technical solution, the system means, including a computer system, a computer (electronic computer), a CNC (numerical control), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given , a well-defined sequence of operations (actions, instructions).
[017] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). [017] By a command processor is meant an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
[018] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы. [018] A command processor reads and executes machine instructions (programs) from one or more storage devices. The role of data storage devices can be, but are not limited to, hard disks (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.
[019] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [019] A program is a sequence of instructions for execution by a computer control device or command processing device.
[020] База данных - это информационная модель предметной области в виде совокупности данных, хранимых в памяти компьютера и связанных между собой по правилам, которые определяют их общие принципы описания, хранения и манипулирования. В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется централизованно с помощью специального программного инструментария - системы управления базами данных. [020] A database is an information model of a subject area in the form of a collection of data stored in computer memory and interconnected according to rules that define their general principles of description, storage and manipulation. In modern database technology, it is assumed that the creation of a database, its maintenance and provision of user access to it is carried out centrally using special software tools - a database management system.
[021] Системное программное обеспечение (приложение) - комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы. [021] System software (application) is a set of programs that control the components of a computer system, such as a processor, random access memory, input-output devices, network equipment, acting as an "interlayer interface", on one side of which the hardware, and on the other is user applications. Unlike applied software, the system software does not solve specific practical problems, but only ensures the operation of other programs, providing them with service functions, abstracting the details of the hardware and firmware implementation of the computing system, and manages the hardware resources of the computing system.
[022] Облачное хранилище данных - модель онлайн-хранилища, в котором данные хранятся на многочисленных распределённых в сети серверах, предоставляемых в пользование клиентам, в основном, третьей стороной. В отличие от модели хранения данных на собственных выделенных серверах, приобретаемых или арендуемых специально для подобных целей, количество или какая-либо внутренняя структура серверов клиенту, в общем случае, не видна. Данные хранятся и обрабатываются в так называемом «облаке», которое представляет собой, с точки зрения клиента, один большой виртуальный сервер. Физически же такие серверы могут располагаться удалённо друг от друга географически. [022] Cloud data storage is an online storage model in which data is stored on multiple servers distributed over a network, provided for use by clients, mainly by a third party. Unlike the model of storing data on our own dedicated servers, purchased or leased specifically for such purposes, the number or any internal structure of servers is generally not visible to the client. Data is stored and processed in the so-called "cloud", which is, from the client's point of view, one large virtual server. Physically, such servers can be located geographically distant from each other.
[023] Сайт или веб-сайт - одна или несколько логически связанных между собой веб-страниц; также место расположения контента сервера. Обычно сайт в Интернете представляет собой массив связанных данных, имеющий уникальный адрес и воспринимаемый пользователем как единое целое. [023] Site or website - one or more logically related web pages; also the location of the server content. Typically, a site on the Internet is an array of related data that has a unique address and is perceived by the user as a whole.
[024] Смарт-терминал — это «умная» онлайн касса с функцией передачи данных в налоговую с возможностью подключения к ЕГАИС. Представляет собой гибридное устройство, состоящее из планшета и принтера кассовых чеков. [024] A smart terminal is a “smart” online cash register with the function of transferring data to the tax office with the ability to connect to EGAIS. It is a hybrid device consisting of a tablet and a printer for cash receipts.
[025] В соответствии со схемой, приведенной на Фиг. 1, архитектура системы 100 для автоматизированной установки приложений содержит: устройство 10 пользователя; облачную платформу 20; и базу данных (БД) 30 приложений, в которой хранятся зашифрованные файлы приложений в формате АРК. АРК (англ. Android Package) — формат архивных исполняемых файлов-приложений для операционной системы Android. Указанные элементы системы 100 могут быть соединены посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п, с использованием проводной и/или беспроводной связи. [025] In accordance with the diagram of FIG. 1, the architecture of a system 100 for automated installation of applications includes: a user device 10; cloud platform 20; and an application database (DB) 30, which stores encrypted application files in the ARC format. ARC (English Android Package) is a format of archived executable files-applications for the Android operating system. The specified elements of system 100 can be connected through an internal or external computer network, for example, Intranet, Internet, LAN, etc., using wired and / or wireless communication.
[026] Устройство 10 пользователя может быть реализовано на базе смарт- терминала, выполняющего функции онлайн-кассы. Онлайн-кассы (или контрольно-кассовая техника) — это кассовые аппараты, оснащённые фискальными накопителями. Онлайн-касса подключается к сети Интернет и передаёт данные в Федеральную налоговую службу (ФНС) через оператора фискальных данных (ОФД). Переход бизнеса на онлайн-кассы помогает контролирующим органам отслеживать уплату налогов, упрощает налоговые проверки и делает процесс торговли и предоставления услуг более прозрачным для потребителей. Устройство 10 пользователя позволяет совершать товарно- денежные операции с товарами пользователей. Это могут быть как произвольные товары, так и товары, которые хранятся локально на терминале. [027] Устройство 10 пользователя включает: модуль 11 системных приложений, который содержит системные приложения, обеспечивающие работу устройства 10, а также информацию об устройстве 10, например, информацию о международном идентификаторе мобильного оборудования (IMEI); модуль 12 установки приложений, который осуществляет установку приложений 14; модуль 13 приложений, содержащий по меньшей мере одно приложение 14, и модуль 15 регистрации устройства пользователя. Упомянутые модули могут быть реализованы известными из уровня техники методами на базе программно- аппаратных средств устройства 10 пользователя, сконфигурированных в программной части таким образом, чтобы выполнять приписанные им далее функции. [026] The user's device 10 can be implemented on the basis of a smart terminal that functions as an online cash register. Online cash registers (or cash registers) are cash registers equipped with fiscal drives. The online cash register connects to the Internet and transmits data to the Federal Tax Service (FTS) through the fiscal data operator (OFD). Moving businesses to online checkouts helps regulators track tax payments, simplifies tax audits, and makes the process of trading and providing services more transparent to consumers. The user's device 10 allows making commodity-money transactions with the goods of the users. These can be both arbitrary goods and goods that are stored locally on the terminal. [027] The user's device 10 includes: a system application module 11, which contains system applications that enable the device 10 to operate, as well as information about the device 10, for example, information about the international mobile equipment identifier (IMEI); an application installation module 12 that installs applications 14; an application module 13 containing at least one application 14; and a user device registration module 15. These modules can be implemented by methods known from the prior art on the basis of the firmware of the user device 10, configured in the software part in such a way as to perform the functions assigned to them hereinafter.
[028] Облачная платформа 20 может быть реализована на базе по меньшей мере одного сервера и выполнена с возможностью хранения информации о сотрудниках компании (например, кассирах), об устройствах 10 пользователей, например, о смарт-терминалах компании, магазинах компании и товарах пользователей платформы 20, которые привязаны к аккаунтам пользователей. Указанная информация может быть сохранена в облачном хранилище данных, а пользователь платформы 20, приобретая устройство 10 пользователя, получает доступ к базовой функциональности: [028] The cloud platform 20 can be implemented on the basis of at least one server and is configured to store information about company employees (for example, cashiers), about users' devices 10, for example, about smart terminals of the company, stores of the company and products of users of the platform 20 that are linked to user accounts. The specified information can be stored in the cloud data storage, and the user of the platform 20, purchasing the user's device 10, gains access to the basic functionality:
- редактирование списка магазинов, сотрудников и смарт-терминалов; - редактирование номенклатуры, в частности перечень ассортиментных групп производственного или торгового предприятия; - editing the list of stores, employees and smart terminals; - editing the nomenclature, in particular the list of assortment groups of a manufacturing or trading enterprise;
- просмотр базовых отчётов; - viewing basic reports;
- установка приложений 14 для интеграции со сторонними сервисами. - installation of 14 applications for integration with third-party services.
[029] С помощью приложений 14, установленных на устройстве 10 пользователя и поставляемых в том числе сторонними разработчиками через платформу 20, пользователь посредством упомянутого устройства 10 может:[029] With the help of applications 14 installed on the user's device 10 and supplied, including by third-party developers through the platform 20, the user through said device 10 can:
- взаимодействовать со сторонними товароучётными системами, как установленными на устройстве 10 пользователя, так и доступными в облаке платформы 20; - interact with third-party commodity accounting systems, both installed on the user's device 10 and available in the cloud platform 20;
- автоматически обновлять информацию о магазинах в картографических сервисах; - automatically update information about stores in map services;
- использовать различные системы лояльности для клиентов пользователей платформы и многое другое. - use various loyalty systems for clients of the platform users and much more.
[030] Соответственно, для того, чтобы пользователь мог воспользоваться указанным выше функционалом, пользователю необходимо пройти этапы регистрации в платформе 20 известными из уровня техники методами. Например, для регистрации в платформе 20 пользователь с помощью вычислительного устройства, такого как портативный или стационарный компьютер, мобильный телефон, смартфон, планшет или пр., или с помощью устройства 10 пользователя может перейти на веб-сайт платформы 20 для получения соответствующей регистрационной формы, заполнить ее и направить в платформу 20 для регистрации пользователя и создания для него соответствующего аккаунта пользователя. После этого пользователь может зайти через веб-сайт платформы 20 в свой аккаунт, внести информацию о компании, магазине, номенклатуре и привязать к своему аккаунту различные устройства 10 пользователя. Также пользователь известными из уровня техники методами может приобрести по меньшей мере одно приложение 14, которое также будет привязано к аккаунту пользователя и которое в автоматизированном режиме или по запросу пользователя будет установлено на устройство 10 пользователя. Список приложений 14 для их приобретения может быть отображен пользователю посредством веб-интерфейса платформы 20. [030] Accordingly, in order for the user to use the above functionality, the user must go through the stages of registration in the platform 20 by methods known from the prior art. For example, to register with platform 20, a user using a computing device such as a laptop or desktop computer, mobile phone, smartphone, tablet or the like, or using the user's device 10, can go to the website of the platform 20 to obtain the corresponding registration form, fill it out and send it to Platform 20 to register a user and create an appropriate user account for him. After that, the user can log in through the website of the platform 20 to his account, enter information about the company, store, nomenclature and link various devices 10 of the user to his account. Also, the user can purchase at least one application 14 by methods known from the prior art, which will also be linked to the user's account and which will be installed on the user's device 10 automatically or at the user's request. The list of applications 14 for their purchase can be displayed to the user through the web interface of the platform 20.
[031] Для привязки к упомянутому аккаунту по меньшей мере одного устройства 10 пользователя пользователю может быть предложено его зарегистрировать в налоговой службе (ФНС). Для регистрации в налоговой службе пользователь, посредством вычислительного устройства или устройства 10 пользователя, переходит на веб-сайт, вводит данные учетной записи для авторизации на веб- сайте и с помощью средств ввода данных запрашивает соответствующую регистрационную форму для ввода данных об устройстве 10 пользователя для его регистрации. Например, пользователь может в регистрационной форме указать: адрес установки устройства 10; название компании; сферу деятельности; модель и заводской номер устройства 10 (например, указанные в паспорте или на корпусе); оператора фискальных данных; режим, в котором будет использоваться устройство 10; модель фискального накопителя (например, указанная в паспорте накопителя); номер фискального накопителя (например, указанный на коробке или на накопителе) на веб-сайте платформы 20. [031] To bind at least one user's device 10 to said account, the user may be prompted to register it with the tax service (FTS). To register with the tax office, the user, through the computing device or the user's device 10, goes to the website, enters the account data for authorization on the website and, using the data input means, requests the corresponding registration form to enter data about the user's device 10 for its registration. For example, the user can indicate in the registration form: the installation address of the device 10; The name of the company; scope of activity; model and serial number of the device 10 (for example, indicated in the passport or on the case); operator of fiscal data; the mode in which the device 10 will be used; fiscal drive model (for example, specified in the drive's passport); fiscal unit number (for example, listed on the box or on the drive) on the platform website 20.
[032] Введенные данные платформа 20 перенаправляет в налоговую службу, которая осуществляет проверку данных и регистрацию устройства 10 пользователя. После регистрации упомянутого устройства 10 налоговая служба направляет в платформу 20 уведомление о регистрации, включающее ИНН и регистрационный номер кассы. При получении упомянутого уведомления о регистрации или по запросу пользователя платформа 20 генерирует код регистрации для устройства 10, сохраняет в базе данных 21 (БД), которой она дополнительно может быть оснащена, упомянутый код и данные, содержащиеся в уведомлении о регистрации, и связывает их с аккаунтом пользователя. Код регистрации может представлять собой сгенерированное платформой 20 конечное упорядоченное множество символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов. Также код регистрации для устройства 10 направляется известными из уровня техники пользователю устройства 10 его отображения на средствах вывода информации. [032] The entered data is redirected by the platform 20 to the tax office, which checks the data and registration of the user's device 10. After the registration of the said device 10, the tax service sends a registration notification to the platform 20, including the TIN and the registration number of the cash register. Upon receipt of the mentioned registration notification or at the user's request, the platform 20 generates a registration code for the device 10, stores in the database 21 (DB), with which it can additionally be equipped, the mentioned code and data contained in the registration notification, and associates them with user account. The registration code may represent a finite ordered set of characters belonging to some finite alphabet, generated by the platform 20, into a different, not necessarily ordered, usually more extensive set of characters. Also, the registration code for the device 10 is sent, known from the prior art, to the user of the device 10 for displaying it on the information output means.
[033] Соответственно, для регистрации устройства 10 в платформе 20 пользователю необходимо в специальном меню интерфейса устройства 10 ввести полученный код регистрации. После ввода пользователем упомянутого кода устройство 10 посредством модуля 15 регистрации устройства пользователя формирует запрос на регистрацию устройства 10, в который включается IMEI, сохраненный в модуле 11 системных приложений, и данные введенного пользователем кода регистрации, после чего направляет сформированный запрос в платформу 20. [034] При получении упомянутого запроса платформа 20 извлекает из него данные введенного пользователем кода регистрации, сравнивает с кодами регистрации, сохраненными в БД 21 для аккаунтов пользователей, после чего привязывает устройство 10 по IMEI к тому аккаунту пользователя, для которого сохранен аналогичный код регистрации. Таким образом, осуществляется регистрация устройства 10 пользователя в платформе 20. После того, как устройство 10 было зарегистрировано, платформа 20 извлекает из БД 21 данные, связанные с учетной записью пользователя, в частности информацию о сотрудниках, магазине и номенклатуре, формирует уведомление о регистрации фискального номера (ФН, номер фискального накопителя) устройства 10 и его серийного номера, которое вместе с упомянутыми извлеченными данными направляется в устройство 10. Фискальный накопитель — это чип внутри кассы, который записывает информацию о каждой продаже и передает ее оператору фискальных данных (ОФД), который обрабатывает и передает данные в налоговую службу. Извлеченные данные устройство 10 пользователя сохраняет в памяти, которой оно оснащено, а упомянутое уведомление отображается пользователю посредством средств вывода информации. Сохраненную в памяти информацию пользователь также может посмотреть посредством средств ввода/вывода информации. [033] Accordingly, in order to register the device 10 in the platform 20, the user needs to enter the received registration code in a special menu of the interface of the device 10. After the user enters the above code, the device 10 through the registration unit 15 of the user device generates a request for registration of the device 10, which includes the IMEI stored in the system application unit 11 and the data of the registration code entered by the user, and then sends the generated request to the platform 20. [034] Upon receipt of the above request, the platform 20 extracts the data entered by the user registration code, compares with the registration codes stored in the database 21 for user accounts, and then binds the device 10 by IMEI to the user account for which a similar registration code is stored. Thus, the registration of the user's device 10 in the platform 20 is carried out. After the device 10 has been registered, the platform 20 extracts from the database 21 data associated with the user account, in particular information about employees, the store and the nomenclature, generates a notification about the registration of the fiscal numbers (FN, fiscal storage number) of device 10 and its serial number, which, together with the aforementioned extracted data, is sent to device 10. Fiscal storage is a chip inside the cash register that records information about each sale and transmits it to the fiscal data operator (OFD), which processes and transfers data to the tax office. The device 10 of the user stores the extracted data in the memory with which it is equipped, and the mentioned notification is displayed to the user by means of information output. The user can also view the information stored in the memory by means of information input / output means.
[035] Дополнительно платформа 20 может инициировать установку по меньшей мере одного приложения 14, связанного с аккаунтом пользователя. Для этого платформа 20 извлекает из БД 21 данные о по меньшей мере одном приложении 14, связанного с аккаунтом пользователя, и формирует список приложений 14, в который включается информация о названии по меньшей мере одного приложения и/или его идентификатор (UUID), версии приложения (vn), коде приложения (vc) и ссылке на БД 30 приложений для установки приложения (URL), в которой хранится файл приложения, например, в формате АРК. Сформированный список приложений далее направляется платформой 20 в устройство 10 пользователя. [035] Additionally, platform 20 may initiate the installation of at least one application 14 associated with a user account. To do this, the platform 20 extracts from the database 21 data about at least one application 14 associated with the user account, and generates a list of applications 14, which includes information about the name of at least one application and / or its identifier (UUID), application version (vn), application code (vc) and a link to the application database 30 for installing the application (URL), which stores the application file, for example, in the ARC format. The generated list of applications is then sent by the platform 20 to the user's device 10.
[036] Соответственно, список приложений поступает в модуль 12 установки приложений, который извлекает из упомянутого списка ссылку URL, обращается к БД 30 приложений и скачивает приложение 14 по ссылке URL. Скачанное приложение 14 модулем ^устанавливается в модуль 13 приложений, в который также сохраняются vn и vc приложения. Таким образом, обеспечивается автоматизированная установка приложений на устройство 10 пользователя. [037] В процессе работы устройства 10 пользователя по меньшей мере одному приложению 14 может потребоваться выполнить запрос данных, например, у поставщика приложения. Такой запрос данных может быть инициирован в связи с активацией пользователем каких-либо функций приложения 14 или алгоритм направления запросов может быть задан разработчиком приложения 14. [036] Accordingly, the list of applications is supplied to the application installation module 12, which extracts the URL link from the list, accesses the application database 30 and downloads the application 14 from the URL link. The downloaded application 14 by the module ^ is installed into the application module 13, which also stores the vn and vc applications. Thus, automated installation of applications to the user's device 10 is provided. [037] During operation of the user device 10, at least one application 14 may need to request data from, for example, an application provider. Such a request for data can be initiated in connection with the activation of any functions of the application 14 by the user, or the algorithm for sending requests can be set by the developer of the application 14.
[038] Алгоритм обмена данными устройства 10 пользователя с поставщиком приложений далее будет описан со ссылкой на Фиг. 2, согласно которой система 100 для автоматизированной установки приложений дополнительно содержит устройство 40 поставщика приложений, при этом устройство 10 пользователя дополнительно оснащается модулем 16 маршрутизации запросов, которое может быть выполнено на базе программно-аппаратных средств упомянутого устройства 10, а облачная платформа 20 оснащена модулем 22 обработки запросов, которое может быть выполнено на базе программно-аппаратных средств сервера. [038] The communication flow of the user device 10 with the application provider will now be described with reference to FIG. 2, according to which the system 100 for automated installation of applications further comprises an application provider device 40, the user device 10 is additionally equipped with a request routing module 16, which can be implemented on the basis of the firmware of said device 10, and the cloud platform 20 is equipped with a module 22 processing requests, which can be performed on the basis of the server software and hardware.
[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 обработки запросов. [039] In accordance with the software algorithm specified by the developer of the application 14 or based on the corresponding input from the user, the application 14 generates a request to exchange data with the device 40 of the application provider, and the request for exchanging data may include a URL link to the recipient of the request, in particular to the device 40 application provider. The request for data exchange can be, for example, a request to receive personal data from the device 40, to receive information about the status of the service provided by the application 14, or to pay for said service. The application module 13 detects the existence of said communication requests, for example, by analyzing data packets emanating from the application 14, which contain the communication request information. In particular, the application module 13 extracts from the header of the data packet the data of the recipient of the data packet, in particular its IP address (for example, the IP address of the vendor device 40), compares the data of the recipient of the data packet with the list of allowed recipients (list of IP addresses), and if the recipient is not in the list of allowed recipients, the application module 13 redirects the data packets containing the exchange request information to the request routing module 16. In this way, requests for communication with the device 40 of the application provider are detected and unauthorized data requests are prevented from being transmitted. Yu [040] Accordingly, the generated data exchange request enters the request routing module 16, which retrieves the identifier (UUID) of the application 14 that initiated the request, and sends the application identifier 14 and the data exchange request to the platform 20, which arrive at the module 22 processing requests.
[041] При получении упомянутых данных модуль 22 обработки запросов извлекает из запроса на обмен данными ссылку URL и осуществляет валидацию полученного запроса на обмен данными посредством сравнения ссылки URL, например, на устройство 40 поставщика приложений, с разрешенными ссылками URL, информация о которых заранее занесена в БД 21 при регистрации приложения 14 в платформе 20. Разрешенные ссылки URL для приложения 14 могут быть найдены модулем 22 в БД 21 по идентификатору приложения 14, информация о которых им также была получена ранее. Дополнительно полученный запрос на обмен данными может быть обогащен данными об аккаунте пользователя, магазине, устройстве 10 пользователя, в частности информацией о смарт-терминале, например, его идентификаторе - IMEI. [041] Upon receipt of said data, the request processing module 22 extracts the URL link from the data exchange request and validates the received data exchange request by comparing the URL link, for example, to the device 40 of the application provider, with the allowed URLs, information about which is preinstalled in the database 21 when registering the application 14 in the platform 20. The allowed URL links for the application 14 can be found by the module 22 in the database 21 by the identifier of the application 14, information about which he also received earlier. Additionally, the received request for data exchange can be enriched with data about the user's account, store, user's device 10, in particular, information about the smart terminal, for example, its identifier - IMEI.
[042] Если запрос на обмен данными прошел валидацию, то модуль 22 передает упомянутый запрос на отправку получателю упомянутого запроса, например, в устройство 40 поставщика приложений. Если запрос не проходит валидацию, то он не направляется получателю упомянутого запроса, а платформа 30 формирует и направляет код ошибки в устройство 10 пользователя, который через модуль 16 маршрутизации запросов поступает в приложение 14. Приложение 14 на основе кода ошибки может сформировать и направит команду на вывод соответствующего коду ошибки уведомления на средства вывода информации устройства 10 пользователя, указывающего на то, что запрос на обмен данными приложения 14 с полученным идентификатором приложения 14 не прошел валидацию. [042] If the request for communication is validated, then the module 22 transmits said request to send the request to the recipient, for example, to the device 40 of the application provider. If the request does not pass validation, then it is not sent to the recipient of the said request, but the platform 30 generates and sends an error code to the user's device 10, which, through the request routing module 16, enters application 14. Application 14, based on the error code, can generate and send a command to outputting a notification corresponding to the error code to the outputting means of the user's device 10, indicating that the request for exchanging application data 14 with the received application identifier 14 has not been validated.
[043] При получении запроса на обмен данными устройство 40 поставщика приложений идентифицирует устройство 10 пользователя, от которого был получен упомянутый запрос, например, по IMEI, а также, при необходимости, проверяет состояние сервиса, предоставляемого приложением 14 устройства 10 пользователя. Данные о состоянии сервиса для приложения 14, например, в зависимости от его оплаты пользователем устройства 10, могут указывать на то, что сервис «активен», т.е. сервис оплачен, либо сервис «не активен» в связи с тем, что он не оплачен. Оплату сервиса, предоставляемого приложением 14, пользователь может осуществить известными из уровня техники методами, в том числе посредством устройства 10 пользователя, на котором установлено данное приложение 14. [043] Upon receipt of a communication request, the application provider device 40 identifies the user device 10 from which the request was received, for example, by the IMEI, and, if necessary, checks the status of the service provided by the application 14 of the user device 10. The service state data for the application 14, for example, depending on its payment by the user of the device 10, may indicate that the service is "active", i.e. the service has been paid for, or the service is "inactive" due to the fact that it has not been paid for. Payment for the service provided by Application 14, the user can implement by methods known from the prior art, including by means of the user's device 10, on which this application 14 is installed.
[044] Также модуль 22 обработки запросов принимает данные от получателя упомянутого запроса, в частности устройства 40 поставщика приложений, направленные в ответ на запрос на обмен данными и передает их через модуль 16 в приложение 14. Вместе с упомянутым запросом упомянутый модуль 22 также может получить от устройства 40 поставщика приложений информацию о состоянии сервиса для приложения 14, которое аналогичным образом может быть передана приложению 14 и выведена на средства вывода информации устройства 10 пользователя. [044] Also, the request processing module 22 receives data from the recipient of the said request, in particular the application provider device 40, directed in response to the request for data exchange and transmits it through the module 16 to the application 14. Together with the said request, the said module 22 can also receive from the device 40 of the application provider, information about the state of the service for the application 14, which can similarly be transmitted to the application 14 and output to the information output means of the device 10 of the user.
[045] Для включения приложений 14 в БД 30 приложений разработчик приложений напрямую или посредством устройства 40 может известными из уровня техники методами зарегистрироваться в платформе 20, получить идентификатор приложения, сгенерированный упомянутой платформой 20 и направить приложение 14 в платформу 20 вместе с полученным идентификатором приложения. Приложение 14 может также содержать ссылку URL на устройство 40 поставщика приложений для направления в него запросов на обмен данными, а также vn и vc, указанные разработчиком. Платформа 20 валидирует приложение 14, в частности проверяет, что сгенерированный платформой идентификатор приложения совпадает с направленным разработчиков, и что приложение 14 не запрашивает запрещенных разрешений, и сохраняет его в БД 30. Также платформа 20 формирует и сохраняет ссылку URL на приложение 14 в собственном хранилище - в БД 21, после чего приложение 14 может быть куплено пользователем и установлено на устройство 10 пользователя. [045] To include applications 14 in the application database 30, the application developer, either directly or through the device 40, can register with the platform 20 using methods known in the art, obtain the application ID generated by the platform 20, and send the application 14 to the platform 20 along with the obtained application ID. Application 14 may also include a URL link to the application provider device 40 for sending communications requests thereto, as well as the vn and vc specified by the developer. Platform 20 validates the application 14, in particular, verifies that the platform-generated application identifier matches the one directed by the developers, and that the application 14 does not request prohibited permissions, and stores it in the database 30. Also, the platform 20 generates and stores the URL link to the application 14 in its own storage - in the database 21, after which the application 14 can be purchased by the user and installed on the user's device 10.
[046] В общем виде (см. Фиг. 3) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), устройства ввода/вывода (205), и устройство для сетевого взаимодействия (206). [046] In general (see Fig. 3), the computing device contains one or more processors (201), united by a common data exchange bus, memory means such as RAM (202) and ROM (203), input / output interfaces (204 ), input / output devices (205), and a device for networking (206).
[047] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (200) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах. [047] The processor (201) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, such manufacturers as: Intel ™, AMD ™, Apple ™, Samsung Exynos ™, MediaTEK ™, Qualcomm Snapdragon ™, etc. Under the processor or one of the processors used in the device (200), it is also necessary to take into account a graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used for training and applying machine learning models in various information systems ...
[048] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора. [048] RAM (202) is a random access memory and is intended for storing machine-readable instructions executed by the processor (201) for performing the necessary operations for logical processing of data. RAM (202), as a rule, contains executable instructions of the operating system and corresponding software components (applications, software modules, etc.). In this case, the available memory of the graphics card or graphics processor can act as RAM (202).
[049] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др. [049] ROM (203) is one or more persistent storage devices, such as a hard disk drive (HDD), solid state data storage device (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.
[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 и т.п. [050] Various types of I / O interfaces (204) are used to organize the operation of the components of the device (200) and to organize the operation of external connected devices. The choice of the appropriate interfaces depends on the specific version of the computing device, which can be, but are not limited to: 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, etc.
[051] Для обеспечения взаимодействия пользователя с устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [051] To ensure the interaction of the user with the device (200), various means (205) of I / O information are used, for example, a keyboard, display (monitor), touch display, touch pad, joystick, mouse manipulator, light pen, stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification (retina scanner, fingerprint scanner, voice recognition module), etc.
[052] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или[052] The networking tool (206) provides data transmission via an internal or external computer network, for example, Intranet, Internet, LAN, and the like. As one or more means (206) may be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or
BLE модуль, Wi-Fi модуль и др. BLE module, Wi-Fi module, etc.
[053] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (200), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала. [053] Additionally, satellite navigation aids can be used as part of the device (200), for example, GPS, GLONASS, BeiDou, Galileo. The specific choice of elements of the device (200) for the implementation of various software and hardware architectural solutions can vary while maintaining the required functionality provided.
[054] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения. [054] Modifications and improvements to the above-described embodiments of the present technical solution will be clear to those skilled in the art. The foregoing description is provided by way of example only and is not intended to be limiting in any way. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.
[055] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны. [055] The elements of the proposed technical solution are in a functional relationship, and their joint use leads to the creation of a new and unique technical solution. Thus, all blocks are functionally linked.
[056] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задаётся посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже. [056] All blocks used in the system can be implemented with electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set through programming, can be used. For programming, programmers and debugging environments are used that allow you to set the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc. An alternative to FPGAs can be programmable logic controllers (PLCs), basic matrix crystals ( BMK) requiring a factory production process for programming; ASICs are specialized custom large integrated circuits (LSI), which are significantly more expensive for small-scale and single-piece production.
[057] Обычно, сама микросхема ПЛИС состоит из следующих компонент: [057] Typically, the FPGA itself consists of the following components:
• конфигурируемых логических блоков, реализующих требуемую логическую функцию; • программируемых электронных связей между конфигурируемыми логическими блоками; • configurable logic blocks that implement the required logic function; • programmable electronic links between configurable logic blocks;
• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой. • programmable input / output blocks providing connection of the external output of the microcircuit with the internal logic.
[058] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств. [058] Blocks can also be implemented using read-only memory devices.
[059] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники. [059] Thus, the implementation of all the blocks used is achieved by standard means based on the classical principles of the implementation of the foundations of computing.
[060] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован. [060] As will be understood by one skilled in the art, aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution may be implemented solely as hardware, as software (including application software, and so on), or as an embodiment combining software and hardware aspects, which may generally be referred to as a "module" , "System" or "architecture". In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having computer-readable program code that is implemented thereon.
[061] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними. [061] Any combination of one or more computer readable media can also be used. The computer-readable storage medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of a computer-readable storage medium include: an electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), fiber optic connection, compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any combination of the above. As used herein, a computer-readable storage medium can be any flexible storage medium that can contain or store the program for use by the system itself, device, apparatus or in connection with them.
[062] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного. [062] Program code embedded in a computer-readable medium can be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network or a combination of the above.
[063] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Python, R, Java, Smalltalk, C++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров). [063] Computer program code to perform operations for the steps of this technical solution may be written in any programming language or combinations of programming languages, including an object-oriented programming language such as Python, R, Java, Smalltalk, C ++, and so on, and conventional procedural programming languages such as "C" programming language or similar programming languages. The program code can be executed on the user's computer in whole, in part, or as a separate software package, partially on the user's computer and partially on the remote computer, or completely on the remote computer. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN), a wide area network (WAN), or a connection to an external computer (for example, via the Internet using Internet service providers).
[064] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы. [064] Aspects of the present technical solution have been described in detail with reference to block diagrams, schematic diagrams, and / or diagrams of methods, devices (systems), and computer program products in accordance with embodiments of the present technical solution. It should be appreciated that each block from the block diagram and / or diagrams, as well as combinations of blocks from the block diagram and / or diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other data processing device to create a procedure, such that instructions executed by a computer processor or other programmable data processing device create means to implement the functions / actions specified in block or blocks of flowchart and / or diagram.
[065] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок- схемы и/или диаграммы. [065] These computer program instructions may also be stored on a computer-readable medium that can control a computer other than from a programmable data processing device or other than devices that function in a particular way, such that instructions stored on a computer-readable medium create a device including instructions that perform the functions / actions specified in the block diagram and / or diagram.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ CLAIM
1. Способ автоматизированной установки приложений, выполняемый по меньшей мере одним вычислительным устройством, содержащий этапы, на которых: 1. A method for automated installation of applications performed by at least one computing device, comprising the steps of:
• получают запрос на регистрацию от устройства пользователя, содержащий информацию о международном идентификаторе мобильного оборудования (IMEI) и данные введенного пользователем кода регистрации; • receive a registration request from the user's device containing information about the international mobile equipment identifier (IMEI) and the data of the registration code entered by the user;
• привязывают устройство пользователя по IMEI к тому аккаунту пользователя, для которого сохранен аналогичный код регистрации; • bind the user's device by IMEI to the user account for which a similar registration code is saved;
• направляют на устройство пользователя данные о меньшей мере одном приложении, связанном с аккаунтом пользователя, и URL- ссылку для установки приложения; • sending data on at least one application associated with the user account and a URL link for installing the application to the user's device;
• устанавливают по меньшей мере одно приложение на устройство пользователя по URL-ссылке . • install at least one application on the user's device via a URL link.
2. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этапы, на которых: 2. The method according to claim 1, characterized in that the steps are additionally performed, at which:
• получают данные о по меньшей мере одном устройстве пользователя; • receive data on at least one user device;
• направляют данные об устройстве пользователя в налоговую службу; • send data about the user's device to the tax office;
• получают от налоговой службы уведомление о регистрации, включающее ИНН и регистрационный номер кассы; • receive a registration notification from the tax service, including the TIN and the registration number of the cash desk;
• связывают данные, содержащиеся в уведомлении о регистрации, с аккаунтом пользователя; • associate the data contained in the registration notice with the user account;
• генерируют код регистрации для устройства пользователя и направляет его пользователю. • generate a registration code for the user's device and send it to the user.
3. Способ по п. 1 , характеризующийся тем, что дополнительно выполняют этапы, на которых: 3. The method according to claim 1, characterized in that the steps are additionally performed, at which:
• детектируют наличие запроса на обмен данными, сформированного приложением, причем упомянутый запрос включает URL-ссылку на получателя упомянутого запроса; • валидируют запрос на обмен данными посредством сравнения URL- ссылки с разрешенными URL-ссылками для приложения, которым был сформирован упомянутый запрос; • detecting the presence of a request for data exchange generated by the application, and the said request includes a URL link to the recipient of the said request; • validate the data exchange request by comparing the URL link with the allowed URL links for the application that generated the request;
• в случае успешной валидации направляют запрос на обмен данными получателю упомянутого запроса. • in case of successful validation, send a request for data exchange to the recipient of the said request.
4. Способ по п. 3, характеризующийся тем, что дополнительно выполняют этапы, на которых: 4. The method according to claim 3, characterized in that the steps are additionally performed, at which:
• перед направлением получателю упомянутого запроса, обогащают запрос на обмен данными информацией об устройстве пользователя; · на основе информации обогащенного запроса на обмен данными определяет состояние сервиса, предоставляемого приложением;• before sending the said request to the recipient, enrich the request for data exchange with information about the user's device; · Based on the information of the enriched data exchange request, determines the state of the service provided by the application;
• направляют информацию о состоянии сервиса в упомянутое приложение для отображения на устройстве пользователя. • send information about the state of the service to the mentioned application for display on the user's device.
5. Система автоматизированной установки приложений, содержащая по меньшей мере одного вычислительное устройство и по меньшей мере одно устройство памяти, содержащее машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-4. 5. A system for automated installation of applications containing at least one computing device and at least one memory device containing machine-readable instructions, which, when executed by at least one computing device, perform the method according to any one of claims. 1-4.
PCT/RU2019/000924 2019-12-10 2019-12-10 System and method for installation of applications on a user device WO2021118384A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2019140793 2019-12-10
RU2019140793A RU2723450C1 (en) 2019-12-10 2019-12-10 Method for automated installation of applications on a user device and a system for realizing the method

Publications (1)

Publication Number Publication Date
WO2021118384A1 true WO2021118384A1 (en) 2021-06-17

Family

ID=71095921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2019/000924 WO2021118384A1 (en) 2019-12-10 2019-12-10 System and method for installation of applications on a user device

Country Status (2)

Country Link
RU (1) RU2723450C1 (en)
WO (1) WO2021118384A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782445A (en) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 Configuration method and device of equipment debugging environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2015104012A (en) * 2015-02-06 2016-08-27 Общество С Ограниченной Ответственностью "Яндекс" METHOD OF CONTROL OF ELECTRONIC DEVICE AND ELECTRONIC DEVICE
US20170026382A1 (en) * 2014-04-08 2017-01-26 Family Zone Cyber Safety Ltd Device management system
RU190099U1 (en) * 2019-04-05 2019-06-18 Общество с ограниченной ответственностью "ЭВОТОР" Smart terminal to pay for goods and services

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2536663C2 (en) * 2012-12-25 2014-12-27 Закрытое акционерное общество "Лаборатория Касперского" System and method of protecting cloud infrastructure from illegal use
RU2541935C2 (en) * 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" System and method for deploying preconfigured software
RU2667374C1 (en) * 2017-04-20 2018-09-19 Станислав Владимирович Архангельский Advertising materials displaying system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170026382A1 (en) * 2014-04-08 2017-01-26 Family Zone Cyber Safety Ltd Device management system
RU2015104012A (en) * 2015-02-06 2016-08-27 Общество С Ограниченной Ответственностью "Яндекс" METHOD OF CONTROL OF ELECTRONIC DEVICE AND ELECTRONIC DEVICE
RU190099U1 (en) * 2019-04-05 2019-06-18 Общество с ограниченной ответственностью "ЭВОТОР" Smart terminal to pay for goods and services

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782445A (en) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 Configuration method and device of equipment debugging environment

Also Published As

Publication number Publication date
RU2723450C1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
CN109155029B (en) Method and system for electronic distribution of controlled tokens
KR102576809B1 (en) Registering Method for Payment means information and electronic device supporting the same
US10007914B2 (en) Fraud detection employing personalized fraud detection rules
US11887069B2 (en) Secure updating of allocations to user accounts
US20170017936A1 (en) Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170017954A1 (en) Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170017955A1 (en) Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US10445491B2 (en) Confirming the identity of integrator applications
US20210256491A1 (en) System and method for remote management of sale transaction data
CN108352019B (en) Method and system for fraud detection using mobile communication devices
JP2019511785A (en) Pre-formed instructions for mobile cloud services
GB2499801A (en) Payment transaction receipt system and method
JP2018527634A (en) Multidimensional method for agent assignment
US11748756B2 (en) System and method for fraud detection
US11599881B2 (en) System and method for third-party food and dining ordering control using digital receipt
AU2020207783B2 (en) Method and system for voice authenticated distribution of payment credentials
US12002055B1 (en) Adaptable processing framework
RU2723450C1 (en) Method for automated installation of applications on a user device and a system for realizing the method
US20230259942A1 (en) Web-based order processing system and techniques for processing orders via webpage non-fungible tokens
US20150324796A1 (en) Device-based payment authorization
TWI655589B (en) Information service payment system of two stage role authorization and passive heterogeneous integration method of single token thereof
US20190325409A1 (en) Interaction processing with virtual counter-party identification
JP2021012621A (en) Processing method, portable terminal, and program
JP2021012620A (en) Processing method, portable terminal, payment server, payment method, and program
CN115081023A (en) Data access method, device and equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19955409

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19955409

Country of ref document: EP

Kind code of ref document: A1