RU2671999C1 - Method and system for diagnostics of mobile computer devices - Google Patents

Method and system for diagnostics of mobile computer devices Download PDF

Info

Publication number
RU2671999C1
RU2671999C1 RU2017144645A RU2017144645A RU2671999C1 RU 2671999 C1 RU2671999 C1 RU 2671999C1 RU 2017144645 A RU2017144645 A RU 2017144645A RU 2017144645 A RU2017144645 A RU 2017144645A RU 2671999 C1 RU2671999 C1 RU 2671999C1
Authority
RU
Russia
Prior art keywords
computing device
mobile
mobile computing
user
application
Prior art date
Application number
RU2017144645A
Other languages
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 Общество с ограниченной ответственностью "Инновационные системы"
Priority to RU2017144645A priority Critical patent/RU2671999C1/en
Application granted granted Critical
Publication of RU2671999C1 publication Critical patent/RU2671999C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

FIELD: computer equipment.SUBSTANCE: invention relates to computer engineering. Device for diagnosing mobile computing devices is proposed, which includes: performing installation of a synchronization service and installing mobile applications on computing devices; installing drivers; making connections between mobile computing devices and computing devices; installing mobile application for diagnostics on a mobile computing device; launching a mobile application for diagnostics by user on a mobile computing device with the organization of a TCP server; carrying out diagnostics of a mobile computing device with the diagnostics of the constituent elements of a mobile computing device; transferring diagnostics results to a computing device; sending diagnostic results from the computing device to the web server, saving the database on the server, and the saved diagnostics results are also displayed to the user via the web interface.EFFECT: increased speed and quality of diagnostics.21 cl, 6 dwg

Description

Область техникиTechnical field

Изобретение относится к области электротехники и информационных технологий и вычислительной техники, а более конкретно к диагностике (тестированию) вычислительных устройств, в частности, мобильных вычислительных устройств, таких как смартфоны мобильные (сотовые) телефоны, планшеты, персональные цифровые помощники (PDA) и других, и может быть использована для диагностики различных вычислительных устройств (пользователя), в частности, мобильных вычислительных устройств.The invention relates to the field of electrical engineering and information technology and computer technology, and more particularly to the diagnosis (testing) of computing devices, in particular mobile computing devices, such as smartphones, mobile (cellular) phones, tablets, personal digital assistants (PDAs) and others, and can be used to diagnose various computing devices (user), in particular, mobile computing devices.

Уровень техникиState of the art

В настоящее время известны система и способ для диагностики вычислительного устройства (см. РСТ/IL 2016/050236, публ. №WO 2016139665 от 09.09.2016), в которых описывается возможность функционирования (работы) вычислительного устройства в различных режимах, причем приложение для осуществления диагностики может выборочно выполнить один или несколько тестов на упомянутом устройстве, записать результат выполнения теста и осуществить какое-либо действие на основании результата. Таким режимом может являться безопасный режим, включающий выполнение лишь части операционной системы и приложения для диагностики. Диагностика может включать выполнение упомянутого приложения и проверку производительности одного или нескольких ресурсов вычислительного устройства во время выполнения приложения.Currently known system and method for diagnosing a computing device (see PCT / IL 2016/050236, publ. No. WO 2016139665 09/09/2016), which describes the possibility of functioning (operation) of the computing device in various modes, and the application for Diagnostics can selectively perform one or more tests on the said device, record the result of the test and perform any action based on the result. This mode can be a safe mode, including the execution of only part of the operating system and diagnostic applications. Diagnostics may include executing said application and checking the performance of one or more resources of the computing device during application execution.

Недостатком упомянутых способа и системы является необходимость использования safe-mode (защищенного) режима для диагностики упомянутых устройств, а также необходимость использования на таких устройствах root-прав, jail break (джейлбрейк) с целью осуществления упомянутых способа и системы. Также, недостатком упомянутых способов и системы требуется обязательная перезагрузка упомянутых устройств с целью осуществления их диагностики.The disadvantage of the mentioned method and system is the need to use safe-mode (protected) mode for diagnosing the mentioned devices, as well as the need to use root rights, jail break on such devices in order to implement the said method and system. Also, a drawback of the aforementioned methods and systems requires a mandatory reboot of said devices in order to diagnose them.

Также известен способ для автоматизации функционального тестирования для мобильных приложений, управляемых жестами (см. US 9154611 В1, опубл. 06.10.2015), который включает запуск функциональной программы тестирования на сервере. Программа для функционального тестирования (диагностики) предоставляет графический интерфейс, который позволяет пользователю выбрать мобильное приложение и мобильное вычислительное устройство с сенсорным экраном для осуществления ввода пользователем. Мобильное вычислительное устройство является удаленным устройством по отношению к серверу. Программа для функционального тестирования осуществляет запуск мобильного приложения на мобильном вычислительном устройстве посредством беспроводного сетевого подключения. Сервер получает прецизионные элементы для каждого жеста на сенсорном экране, где прецизионные элементы перехватываются и передаются с мобильного вычислительного устройства на сервер в процессе выполнения мобильного приложения, причем прецизионные элементы затем сохраняются.Also known is a method for automating functional testing for mobile applications controlled by gestures (see US 9154611 B1, publ. 10/06/2015), which includes launching a functional testing program on the server. The program for functional testing (diagnostics) provides a graphical interface that allows the user to select a mobile application and a mobile computing device with a touch screen for user input. The mobile computing device is a remote device in relation to the server. The program for functional testing launches a mobile application on a mobile computing device via a wireless network connection. The server receives precision elements for each gesture on the touch screen, where the precision elements are intercepted and transmitted from the mobile computing device to the server during the execution of the mobile application, and the precision elements are then stored.

Недостатком упомянутого способа является тестирование мобильного приложения и сенсорного экрана, причем выполнение тестирования осуществляется на сервере, а не на мобильном вычислительном устройстве.The disadvantage of this method is the testing of a mobile application and touch screen, and the testing is carried out on the server, and not on the mobile computing device.

Также известны способ и система для автоматической проверки мобильных приложений (см. US 9152541 В1, опубл. 22.03.2012), в которых описываются различные варианты для автоматического тестирования и проверки (верификации) мобильных приложений.Also known is a method and system for automatically checking mobile applications (see US 9152541 B1, publ. 03/22/2012), which describes various options for automatic testing and verification (verification) of mobile applications.

Недостатком такого решения является тестирование только мобильного приложения без диагностики мобильного устройства и его составных элементов, причем с целью размещения такого мобильного приложения в магазине мобильных приложений.The disadvantage of this solution is testing only a mobile application without diagnostics of the mobile device and its components, and in order to place such a mobile application in the mobile application store.

Предлагаемые система и способ позволяют преодолеть, по крайней мере, часть вышеуказанных недостатков или все указанные недостатки, а также реализовать преимущества настоящего изобретения, как описано в рамках настоящего изобретения.The proposed system and method can overcome at least part of the above disadvantages or all of these disadvantages, as well as realize the advantages of the present invention, as described in the framework of the present invention.

Сущность изобретенияSUMMARY OF THE INVENTION

Технический результат, достигаемый предлагаемым изобретением, состоит в повышении скорости и качества осуществления диагностики мобильных вычислительных устройств и их составных элементов.The technical result achieved by the invention consists in increasing the speed and quality of diagnostics of mobile computing devices and their components.

Согласно одному из вариантов реализации, предлагается способ для для диагностики мобильных вычислительных устройств, который включает: осуществление установки службы синхронизации и установки мобильных приложений для диагностики, по крайней мере, на одно из вычислительных устройств пользователя; осуществление установки на вычислительное устройство пользователя драйверов от производителей мобильных операционных систем и производителей мобильных вычислительных устройств, являющихся диагностируемыми устройствами, для осуществления установления связи между мобильными вычислительными устройствами и вычислительными устройствами пользователя; осуществление установления соединения между мобильными вычислительными устройствами и вычислительными устройствами пользователя; осуществление установки мобильного приложения для диагностики мобильного вычислительного устройства на, по крайней мере, одно такое мобильное вычислительное устройство, причем установка упомянутого мобильного приложения для диагностики осуществляется посредством службы синхронизации и установки мобильных приложений для диагностики; осуществление пользователем запуска упомянутого мобильного приложения для диагностики на мобильном вычислительном устройстве, причем в момент запуска мобильного приложения для диагностики, такое мобильное приложение для диагностики организует TCP-сервер, который ожидает подключения вычислительных устройств пользователя на предопределенном порту, где упомянутый порт выбирается автоматически из доступных портов службой синхронизации и установки мобильных приложений для диагностики; осуществление диагностики мобильного вычислительного устройства, причем диагностика мобильного вычислительного устройства включает процесс осуществления диагностики составных элементов мобильного вычислительного устройства; осуществление передачи результатов диагностики, по крайней мере, на одно вычислительное устройство пользователя посредством службы синхронизации и установки мобильных приложений для диагностики, осуществляющей обмен данными с мобильным приложением для диагностики посредством модуля обмена данными; осуществление отправки результатов диагностики с вычислительного устройства пользователя на веб-сервер, причем результаты диагностики сохраняются, по крайней мере, на одном сервере базы данных, по крайней мере, в одном хранилище данных, по крайней мере, в одной базе данных, причем сохраненные результаты диагностики также отображаются, по крайней мере, одному пользователю посредством веб-интерфейса в веб-браузере с целью определения исправности или неисправности мобильного вычислительного устройства или, по крайней мере, одного составного элемента мобильного вычислительного устройства.According to one embodiment, a method for diagnosing mobile computing devices is provided, which includes: installing a synchronization service and installing mobile applications for diagnosing at least one of a user's computing devices; the installation of drivers on the user's computing device from manufacturers of mobile operating systems and manufacturers of mobile computing devices that are diagnosed devices, for the establishment of communication between mobile computing devices and computing devices of the user; making a connection between mobile computing devices and user computing devices; the implementation of the installation of a mobile application for the diagnosis of a mobile computing device on at least one such mobile computing device, and the installation of the aforementioned mobile application for diagnosis is carried out by means of a synchronization service and the installation of mobile applications for diagnosis; the user launching the mentioned mobile diagnostic application on a mobile computing device, and at the time of launching the mobile diagnostic application, such a mobile diagnostic application organizes a TCP server that waits for the user’s computing devices to be connected on a predetermined port, where the mentioned port is automatically selected from available ports service for synchronization and installation of mobile applications for diagnostics; diagnosing a mobile computing device, the diagnosis of a mobile computing device including a process for diagnosing the constituent elements of a mobile computing device; transmitting diagnostic results to at least one user computing device through the synchronization service and installing mobile diagnostic applications that exchange data with the mobile diagnostic application through a data exchange module; the implementation of sending diagnostic results from the user's computing device to a web server, and the diagnostic results are stored on at least one database server, at least one data warehouse, at least one database, and the diagnostic results are saved are also displayed to at least one user through a web interface in a web browser in order to determine the health or malfunction of a mobile computing device or at least one composite th element of a mobile computing device.

В одном из частных вариантов реализации в процессе осуществления диагностики мобильного вычислительного устройства осуществляется диагностика функционирования программного обеспечения, установленного на мобильном вычислительном устройстве, включая диагностику драйверов для составных элементов мобильного вычислительного устройства и приложений.In one of the private embodiments, in the process of diagnosing a mobile computing device, a diagnosis is made of the functioning of software installed on the mobile computing device, including driver diagnostics for the components of a mobile computing device and applications.

В одном из частных вариантов реализации в процессе осуществления диагностики мобильного вычислительного устройства осуществляется обновление программного обеспечения мобильного вычислительного устройства, в том числе, по крайней мере, одного установленного на нем приложения, или, по крайней мере, одной части такого приложения, причем такая упомянутая часть приложения связана с конкретным составным элементом мобильного вычислительного устройства.In one particular embodiment, in the process of diagnosing a mobile computing device, the software of the mobile computing device is updated, including at least one application installed on it, or at least one part of such an application, and such a mentioned part applications associated with a specific component of a mobile computing device.

В одном из частных вариантов реализации в процессе осуществления диагностики мобильного вычислительного устройства осуществляется обновление драйверов составных элементов мобильного вычислительного устройства, операционных систем или компонентов операционных систем мобильного вычислительного устройства и (или) вычислительного устройства пользователя.In one of the private embodiments, in the process of diagnosing the mobile computing device, the drivers of the constituent elements of the mobile computing device, operating systems or components of the operating systems of the mobile computing device and / or computing device of the user are updated.

В одном из частных вариантов реализации в процессе осуществления диагностики мобильного вычислительного устройства посредством обращения к API операционной системы мобильного вычислительного устройства мобильным приложением для диагностики осуществляется определение доступного количества составных элементов мобильного вычислительного устройства, диагностика которых осуществляется посредством мобильного приложения для диагностики.In one of the private embodiments, in the process of diagnosing the mobile computing device by accessing the API of the operating system of the mobile computing device, the mobile diagnostic application determines the available number of components of the mobile computing device, the diagnostics of which are carried out using the mobile diagnostic application.

В одном из частных вариантов реализации составными элементами мобильного вычислительного устройства являются микрофон(ы), динамик(и), экран(ы), датчик(и), камера (камеры) и вспышка (вспышки).In one particular embodiment, the constituent elements of a mobile computing device are microphone (s), speaker (s), screen (s), sensor (s), camera (s) and flash (s).

В одном из частных вариантов реализации осуществляется диагностика динамиков мобильного вычислительного устройства, причем на мобильном вычислительном устройстве осуществляется воспроизведение аудиозаписи, а также на мобильном вычислительном устройстве в процессе или после воспроизведения аудиозаписи мобильным приложением для диагностики осуществляется отображение набора изображений, по крайней мере, одно из которых соответствует аудиозаписи, и далее пользователем мобильного вычислительного устройства после или во время прослушивания аудиозаписи осуществляется выбор упомянутого изображения соответствующего воспроизведенной аудиозаписи, причем если выбранное пользователем изображение соответствует воспроизведенной аудиозаписи, то диагностика динамиков мобильного вычислительного устройства считается пройденным таким мобильным вычислительным устройством.In one particular embodiment, the speakers are diagnosed with a mobile computing device, moreover, an audio recording is played on a mobile computing device, and a set of images is displayed on a mobile computing device during or after playback of an audio recording by a mobile diagnostic application, at least one of which corresponds to the audio recording, and then by the user of the mobile computing device after or during inter Shivani record is used to select said image corresponding to the reproduced record, and if the user selected image corresponds to the reproduced record, the diagnosis mobile computing device speaker is passed such a mobile computing device.

В одном из частных вариантов реализации осуществляется диагностика микрофонов мобильного вычислительного устройства, причем после запуска мобильного приложения для диагностики в процессе диагностики, мобильное приложение для диагностики осуществляет запись "белого шума" посредством, по крайней мере, одного микрофона мобильного вычислительного устройства и, в случае если мобильным приложением для диагностики было определено, что "белый шум" был записан, то мобильное приложение для диагностики фиксирует исправность микрофона.In one of the private embodiments, the microphones of the mobile computing device are diagnosed, and after launching the mobile diagnostic application in the diagnostic process, the mobile diagnostic application records “white noise” using at least one microphone of the mobile computing device and, if it was determined that the “white noise” was recorded by the mobile diagnostic application, the mobile diagnostic application records the health of the microphone.

В одном из частных вариантов реализации в мобильном приложении для диагностики осуществляется диагностика мобильного вычислительного устройства на «взлом», причем данная диагностика включает проверку на возможность свободного доступа пользователю и/или одному из приложений, установленных на мобильном вычислительном устройстве, к файловой системе мобильной операционной системы мобильного вычислительного устройства, причем упомянутая диагностика осуществляется посредством установки Windows-службой на мобильное вычислительное устройство неподписанного разработчиком мобильного приложения, причем при попытке запуска мобильным приложением для диагностики или пользователем такого неподписанного приложения осуществляется проверка, в ходе которой если удается осуществление запуска упомянутого неподписанного приложения, то устройство является «взломанным».In one of the private embodiments, the mobile application for diagnostics diagnoses the mobile computing device for “hacking”, and this diagnostic includes checking for the free access of the user and / or one of the applications installed on the mobile computing device to the file system of the mobile operating system a mobile computing device, wherein said diagnosis is carried out by installing a Windows service on a mobile computing device GUSTs unsigned mobile application developer, and when trying to run the application for a mobile user of such diagnosis or unsigned application is checked, in which if it is possible implementation of start of said unsigned application, the device is "cracked".

В одном из частных вариантов реализации в процессе осуществления диагностики на «взлом» мобильного вычислительного устройства посредством мобильного приложения для диагностики осуществляется попытка доступа к системным директориям посредством осуществления чтения содержимого файлов и поддиректорий таких директорий, причем если был обнаружен факт упомянутого чтения, то результатом диагностики является факт «взлома» мобильного вычислительного устройства.In one particular embodiment, in the process of diagnosing “hacking” a mobile computing device using a mobile diagnostic application, an attempt is made to access system directories by reading the contents of files and subdirectories of such directories, and if the fact of the said reading was discovered, the diagnostic result is the fact of “hacking” a mobile computing device.

В одном из частных вариантов реализации в процессе осуществления диагностики на «взлом» мобильного вычислительного устройства посредством использования приложения мобильного приложения для диагностики осуществляется попытка доступа к системным файлам мобильного вычислительного устройства, причем если чтение системных файлов может быть осуществлено, то результатом диагностики в данном случае является факт «взлома» устройства мобильного вычислительного устройства, а в случае если чтение системных файлов и содержимого упомянутых каталогов не может быть осуществлено, то результатом диагностики на «взлом» мобильного вычислительного устройства является тот факт, что мобильное вычислительное устройство не было «взломано».In one of the private embodiments, in the process of diagnosing “hacking” a mobile computing device by using a mobile application for diagnostics, an attempt is made to access the system files of the mobile computing device, and if system files can be read, the diagnostic result in this case is the fact of “hacking” the device of a mobile computing device, and if reading the system files and the contents of the atalogov can not be performed, the diagnosis result to "hacking" mobile computing device is the fact that a mobile computing device has not been "hacked".

В одном из частных вариантов реализации в процессе осуществления диагностики на «взлом» мобильного вычислительного устройства посредством мобильного приложения для диагностики осуществляется попытка установки мобильного приложения не подписанного лицензией на мобильное вычислительное устройство, причем в случае, если мобильному приложению или пользователю не удалось установить такое неподписанное приложение, то результатом диагностики является факт отсутствия «взлома» мобильного вычислительного устройства.In one of the private embodiments, in the process of diagnosing “hacking” a mobile computing device using a mobile diagnostic application, an attempt is made to install a mobile application that is not signed by a license for a mobile computing device, and if the mobile application or user is unable to install such an unsigned application , then the diagnostic result is the fact of the absence of “hacking” of the mobile computing device.

В одном из частных вариантов реализации после установления мобильного приложения для диагностики с использованием службы синхронизации и установки мобильных приложений для диагностики, по крайней мере, на одно мобильное вычислительное устройство, осуществляется автоматическое подключение мобильных вычислительных устройств, по крайней мере, к одному вычислительному устройству пользователя.In one particular embodiment, after installing a mobile diagnostic application using the synchronization service and installing mobile diagnostic applications on at least one mobile computing device, the mobile computing devices are automatically connected to at least one user computing device.

В одном из частных вариантов реализации служба синхронизации и установки мобильных приложений для диагностики для каждого подключенного мобильного вычислительного устройства к вычислительному устройству пользователя создает выделенный поток выполнения программы как части службы синхронизации и установки мобильных приложений для диагностики, причем выделенный поток выполнения программы осуществляет, по крайней мере, одну попытку организовать сокет с TCP-сервером, и служба синхронизации и установки мобильных приложений для диагностики осуществляет попытку установления соединения между мобильным вычислительным устройством и вычислительным устройством пользователя.In one particular embodiment, the synchronization and installation service of mobile applications for diagnostics for each connected mobile computing device to the user's computing device creates a dedicated program execution thread as part of the synchronization and installation of mobile applications for diagnostics, the dedicated program execution flow performing at least , one attempt to organize a socket with a TCP server, and a service for synchronizing and installing mobile applications for diagnostics Iki attempts to establish a connection between the mobile computing device and the user's computing device.

В одном из частных вариантов реализации в случае упомянутого успешного создания выделенного потока выполнения программы осуществляется двухсторонний обмен данными между мобильным приложением для диагностики, установленным на мобильном вычислительном устройстве, и службой синхронизации и установки мобильных приложений для диагностики вычислительного устройства пользователя, причем упомянутый двухсторонний обмен данными осуществляется посредством протокола, который содержит управляющие слова, правила формирования сообщений, правила шифрования сообщений и методы их анализа, где функционирование упомянутого протокола осуществляется посредством стека протоколов TCP/IP, в частности посредством транспортного уровня такого протокола посредством созданных в процессе подключения упомянутых сокетов.In one particular embodiment, in the case of the aforementioned successful creation of a dedicated program execution flow, two-way data exchange is carried out between a mobile diagnostic application installed on a mobile computing device and a synchronization and installation service of mobile applications for diagnosing a user's computing device, and the two-way data exchange is carried out through a protocol that contains control words, rules for generating messages, right the strength of message encryption and methods for analyzing them, where the operation of the protocol is carried out through the TCP / IP protocol stack, in particular, by the transport layer of such a protocol by means of the mentioned sockets created during the connection.

В одном из частных вариантов реализации с каждым из подключенных одновременно мобильных вычислительных устройств к вычислительным устройствам пользователя осуществляется создание выделенного потока службы синхронизации и установки мобильных приложений для диагностики и с каждым из подключенных одновременно мобильных вычислительных устройств устанавливается упомянутое выше независимое соединение, причем управление навигацией в окнах мобильного приложения для диагностики осуществляется посредством упомянутого соединения.In one particular embodiment, a dedicated synchronization service and installation of mobile applications for diagnostics is created with each of the simultaneously connected mobile computing devices to the user's computing devices, and the above-mentioned independent connection is established with each of the simultaneously connected mobile computing devices, and the navigation control in the windows a mobile diagnostic application is carried out through the connection.

В одном из частных вариантов реализации выделенный поток выполнения программы осуществляется после: получения службой синхронизации и установки приложений для диагностики списка подключенных мобильных вычислительных устройств; осуществления службой синхронизации и установки приложений для диагностики сравнения подключаемого мобильного вычислительного устройства со списком подключенных мобильных вычислительных устройств, по крайней мере, к одному вычислительному устройству пользователя; осуществления службой синхронизации и установки приложений для диагностики проверки наличия нового мобильного вычислительного устройства, подключенного к вычислительному устройству пользователя и если такое мобильное вычислительное устройство обнаружено в списке подключенных мобильных вычислительных устройств, то такое устройство добавляется в список подключенных мобильных вычислительных устройств.In one of the private options for implementation, a dedicated program execution flow is carried out after: receiving a synchronization service and installing applications for diagnosing a list of connected mobile computing devices; the synchronization and installation of applications for diagnostics comparing a connected mobile computing device with a list of connected mobile computing devices to at least one user computing device; the synchronization and installation of applications for diagnostics to verify the presence of a new mobile computing device connected to the user's computing device, and if such a mobile computing device is found in the list of connected mobile computing devices, then such a device is added to the list of connected mobile computing devices.

В одном из частных вариантов реализации в процессе диагностики мобильным приложением для диагностики осуществляется получение данных о производителе мобильного вычислительного устройства, получение свойств мобильного вычислительного устройства.In one of the private options for implementation in the process of diagnostics, a mobile application for diagnostics receives data about the manufacturer of the mobile computing device, and obtains the properties of the mobile computing device.

В одном из частных вариантов реализации в процессе диагностики осуществляется отправка команд вычислительным устройством пользователя, по крайней мере, на одно мобильное вычислительное устройство и вычислительным устройством пользователя осуществляется ожидание ответа от мобильного вычислительного устройства, содержащего результаты диагностики мобильного вычислительного устройства.In one particular embodiment, in the diagnostic process, commands are sent by the user's computing device to at least one mobile computing device and the user's computing device waits for a response from the mobile computing device containing the diagnostic results of the mobile computing device.

В одном из частных вариантов реализации в процессе исполнения мобильного приложения для диагностики на мобильном вычислительном устройстве служба синхронизации и установки мобильных приложений для диагностики с предопределенной периодичностью осуществляет отправку на мобильное вычислительное устройство зашифрованных данных одним из известных способов шифрования, которые мобильное приложение для диагностики однозначно интерпретирует посредством использования временных меток, пароля, который хранится на веб-сервере, и используется для защиты от осуществления возможной дешифрации упомянутых данных сторонними пользователями, службами, приложениями и системами.In one particular embodiment, during the execution of a mobile diagnostic application on a mobile computing device, the synchronization and installation service for mobile diagnostic applications, at a predetermined frequency, sends encrypted data to the mobile computing device using one of the known encryption methods that the mobile diagnostic application unambiguously interprets by use timestamps, a password that is stored on the web server, and use Xia for protection against a possible implementation of the decoding of said third party data users, services, applications and systems.

Согласно одному из вариантов реализации, предлагается система для диагностики мобильных вычислительных устройств, включающая: по крайней мере, одно мобильное вычислительное устройство, которое является диагностируемым устройством, на которое осуществляется: установка мобильного приложения для диагностики мобильного вычислительного устройства, причем установка упомянутого мобильного приложения для диагностики осуществляется посредством службы синхронизации и установки мобильных приложений для диагностики, причем запуск упомянутого мобильного приложения для диагностики на мобильном вычислительном устройстве, где в момент запуска мобильного приложения для диагностики, такое мобильное приложение для диагностики организует TCP-сервер, который ожидает подключения вычислительных устройств пользователя на предопределенном порту, где упомянутый порт выбирается автоматически из доступных портов службой синхронизации и установки мобильных приложений для диагностики, причем диагностика мобильного вычислительного устройства включает процесс осуществления диагностики составных элементов мобильного вычислительного устройства; по крайней мере, одно вычислительное устройство пользователя, связанное, по крайней мере, с одним мобильным вычислительным устройством, причем на упомянутое вычислительное устройство пользователя осуществляется: установка службы синхронизации и установки мобильных приложений для диагностики; установка драйверов от производителей мобильных операционных систем и производителей мобильных вычислительных устройств для осуществления установления связи между мобильным вычислительным устройством и вычислительным устройством пользователя; модуль обмена данных, который осуществляет передачу результатов диагностики, по крайней мере, на одно вычислительное устройство пользователя посредством службы синхронизации и установки мобильных приложений для диагностики, осуществляющей обмен данными с мобильным приложением для диагностики; веб-сервер, на который осуществляется отправка результатов диагностики с вычислительного устройства пользователя; сервер базы данных, на который осуществляется сохранение результатов диагностики, переданных на веб-сервер, причем сохранение осуществляется, по крайней мере, в одном хранилище данных, по крайней мере, в одной базе данных, причем сохраненные результаты диагностики также отображаются, по крайней мере, одному пользователю посредством веб-интерфейса в веб-браузере с целью определения исправности или неисправности мобильного вычислительного устройства или, по крайней мере, одного составного элемента мобильного вычислительного устройства.According to one implementation option, a system for diagnosing mobile computing devices is proposed, comprising: at least one mobile computing device, which is a diagnosable device, onto which: installing a mobile application for diagnosing a mobile computing device, and installing said mobile application for diagnostics is carried out through the synchronization service and the installation of mobile applications for diagnostics, with the launch mentioned of a mobile diagnostic application on a mobile computing device, where at the time of launching a mobile diagnostic application, such a mobile diagnostic application organizes a TCP server that waits for the user’s computing devices to connect to a predefined port, where the mentioned port is automatically selected from the available ports by the synchronization service and installation of mobile applications for diagnostics, and diagnostics of a mobile computing device includes the process of diagnosing tics constituent elements of the mobile computing device; at least one computing device of the user associated with at least one mobile computing device, and on said computing device of the user is carried out: installing a synchronization service and installing mobile applications for diagnostics; installing drivers from manufacturers of mobile operating systems and manufacturers of mobile computing devices to establish communication between the mobile computing device and the user's computing device; a data exchange module that transmits diagnostic results to at least one user computing device through a synchronization service and installs mobile diagnostic applications that communicates with a mobile diagnostic application; a web server to which diagnostic results are sent from the user's computing device; a database server, to which the diagnostic results transmitted to the web server are saved, and the storage is carried out in at least one data store, at least one database, and the stored diagnostic results are also displayed, at least one user through a web interface in a web browser to determine the health or malfunction of a mobile computing device or at least one component of a mobile computing device.

Предлагаемое изобретение поясняется чертежами:The invention is illustrated by drawings:

ФИГ. 1 иллюстрирует примерный вариант системы для диагностики мобильных вычислительных устройств, согласно одному из вариантов осуществления настоящего изобретения;FIG. 1 illustrates an exemplary embodiment of a system for diagnosing mobile computing devices, according to one embodiment of the present invention;

ФИГ. 2 иллюстрирует примерный вариант схемы системы диагностики мобильных вычислительных устройств, согласно одному из вариантов осуществления настоящего изобретения;FIG. 2 illustrates an exemplary diagram of a diagnostic system for mobile computing devices according to one embodiment of the present invention;

ФИГ. 3 иллюстрирует блок-схему примерного варианта осуществления настоящего изобретения;FIG. 3 illustrates a block diagram of an exemplary embodiment of the present invention;

ФИГ. 4 иллюстрирует примерный вариант службы синхронизации и установки мобильных приложений для диагностики, согласно одной из реализаций настоящего изобретения.FIG. 4 illustrates an example embodiment of a synchronization and installation service for mobile diagnostic applications, according to one implementation of the present invention.

ФИГ. 5 иллюстрирует выполнение выделенного потока выполнения программы, согласно одному из осуществлений настоящего изобретения.FIG. 5 illustrates the execution of a dedicated program execution flow, in accordance with one embodiment of the present invention.

ФИГ. 6 иллюстрирует пример компьютерной системы общего назначения.FIG. 6 illustrates an example of a general purpose computer system.

Описание вариантов осуществления изобретенияDescription of Embodiments

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details provided to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined only in the scope of the attached claims.

Используемые в настоящем описании изобретении термины «компонент», «элемент», «система», «модуль», «часть», в частности, «составная часть», и подобные предназначены (используются) для обозначения компьютерных сущностей (сущностей/объектов, связанных с компьютером, вычислительных сущностей), которые могут являться аппаратным обеспечением/оборудованием (например, устройством, инструментом, аппаратом, аппаратурой, составной частью устройства, в частности, процессором, микропроцессором, печатной платой и т.д.), программным обеспечением (например, исполняемым программным кодом, скомпилированным приложением, программным модулем, частью программного обеспечения и/или кода и т.д.) или микропрограммой (прошивкой/firmware). Так, например, компонент может быть процессом, выполняющемся/исполняющимся на процессоре, процессором, объектом, исполняемым файлом, программой, функцией, методом, библиотекой, подпрограммой и/или вычислительным устройством (например, микрокомпьютером или компьютером) или комбинацией программного или аппаратного обеспечения. В качестве иллюстрации: как приложение, запущенное на сервере, может быть компонентом или модулем, так и сервер может быть компонентом или модулем. По крайней мере, один компонент может находиться (располагаться) внутри процесса. Компонент может располагаться на одном вычислительном устройстве (например, компьютере) и/или может быть распределен между двумя и более вычислительными устройствами. Так, например, в частном случае приложение (компонент), может быть представлено серверным компонентом (серверной частью) и клиентским компонентом (клиентской частью). В частном случае, клиентский компонент устанавливается, по крайней мере, на одно вычислительное устройство, а серверный компонент устанавливается на второе вычислительное устройство, с которого, в частном случае, производится управление и/или настройка первого вычислительного устройства (и/или его составных компонентов/частей.Used in the present description of the invention, the terms "component", "element", "system", "module", "part", in particular, "component", and the like are intended (used) to refer to computer entities (entities / objects associated with a computer, computing entities), which can be hardware / equipment (for example, a device, instrument, apparatus, equipment, part of a device, in particular, a processor, microprocessor, printed circuit board, etc.), software (on Example, executable program code, compile the application, software module, part of the software and / or code, etc.) or firmware (firmware / firmware). So, for example, a component can be a process running / executing on a processor, a processor, an object, an executable file, a program, a function, a method, a library, a subprogram and / or a computing device (for example, a microcomputer or a computer) or a combination of software or hardware. As an illustration: as an application running on a server can be a component or module, so the server can be a component or module. At least one component may be located within the process. A component may reside on a single computing device (eg, a computer) and / or may be distributed between two or more computing devices. So, for example, in a particular case, an application (component) can be represented by a server component (server part) and a client component (client part). In the particular case, the client component is installed on at least one computing device, and the server component is installed on the second computing device, from which, in the particular case, control and / or configuration of the first computing device (and / or its component components / parts.

На ФИГ. 1 показан примерный вариант системы для диагностики мобильных вычислительных устройств, согласно одному из вариантов осуществления настоящего изобретения.In FIG. 1 shows an exemplary embodiment of a system for diagnosing mobile computing devices according to one embodiment of the present invention.

Система, реализующая способ (или, по крайней мере, одну часть способа), описываемый в рамках настоящего изобретения, примерный вариант которой изображен на ФИГ. 1, содержит, по крайней мере, один веб-сервер 110, связанный, по крайней мере, с одним сервером базы данных 120. Веб-сервер 110 может быть связан, по крайней мере, с одним вычислительным устройством пользователя (клиентским вычислительным устройством) 140А, 140B…140N., например, посредством сети «Интернет». Такими вычислительными устройствами пользователя (140А, 140B…140N) могут являться различные (в том числе цифровые, аналоговые, комбинированные, механические и т.д.) устройства, в частности, но не ограничиваясь, электронные устройства. Так, например, такими вычислительными устройствами пользователя (140A, 140B…140N) могут являться персональные компьютеры, электронные вычислительные машины (ЭВМ), ноутбуки, серверы, рабочие станции, моноблоки, компьютерные стенды, настольные компьютеры, испытательные стенды, демонстрационные компьютерные стенды и т.д.A system that implements the method (or at least one part of the method) described in the framework of the present invention, an example of which is shown in FIG. 1 comprises at least one web server 110 associated with at least one database server 120. The web server 110 may be associated with at least one user computing device (client computing device) 140A , 140B ... 140N., For example, through the Internet. Such user computing devices (140A, 140B ... 140N) can be various (including digital, analog, combined, mechanical, etc.) devices, in particular, but not limited to, electronic devices. So, for example, such user computing devices (140A, 140B ... 140N) can be personal computers, electronic computers (computers), laptops, servers, workstations, monoblocks, computer stands, desktop computers, test benches, demonstration computer stands, etc. .d.

Изображенная на ФИГ. 1 система также может включать, по крайней мере, одно мобильное вычислительное устройство (150А, 150Б, 150В, 150Г, 150Д, 150Е, 150Ж, 150З… 150N), диагностируемое (тестируемое) мобильное вычислительное устройство, и которое может быть связано, по крайней мере, с одним вычислительным устройством пользователя (140А, 140B…140N). Стоит отметить, что в частном случае осуществления настоящего изобретения мобильное вычислительное устройство (150А, 150Б, 150В, 150Г, 150Д, 150Е, 150Ж, 150З…150N) может быть связано с вычислительным устройством пользователя (140A, 140B…140N) посредством USD-интерфейса или посредством любого другого типа (вида, средства и т.д.) связи, как боле подробно описано далее. Мобильное вычислительное устройство (150A…150N), диагностируемое (мобильное вычислительное) устройство, может являться таким мобильным устройством, как телефон (мобильный, сотовый и т.д.), планшет, смартфон и т.д. Стоит отметить, что на мобильном вычислительном устройстве (150A…150N) может быть установлена, по крайней мере, одна операционная система, например, мобильная операционная система (мобильная ОС), в частности, Android, iOS.Depicted in FIG. 1, the system may also include at least one mobile computing device (150A, 150B, 150V, 150G, 150D, 150E, 150Zh, 150Z ... 150N), a diagnosed (tested) mobile computing device, and which may be connected, at least at least with one user computing device (140A, 140B ... 140N). It is worth noting that in the particular case of the implementation of the present invention, a mobile computing device (150A, 150B, 150V, 150G, 150D, 150E, 150ZH, 150Z ... 150N) can be connected to the user's computing device (140A, 140B ... 140N) via the USD interface or by any other type (type, means, etc.) of communication, as described in more detail below. A mobile computing device (150A ... 150N), a diagnosed (mobile computing) device, can be such a mobile device as a telephone (mobile, cellular, etc.), tablet, smartphone, etc. It should be noted that at least one operating system, for example, a mobile operating system (mobile OS), in particular Android, iOS, can be installed on a mobile computing device (150A ... 150N).

Стоит отметить, что частным случаем пользователя является, по крайней мере, один администратор (оператор, клиент и т.д.), т.е., в частном случае, лицо, заинтересованное в осуществлении диагностики мобильных вычислительных устройств (150A…150N) или осуществляющее диагностику мобильных вычислительных устройств (150A...150N), в частности, выполняющее тестирование устройств (150A…150N). Стоит отметить, что пользователь может осуществлять диагностику (тестирование), по крайней мере, одного функционала мобильного вычислительного устройства (150А…150N), например, посредством взаимодействия с таким устройством (150A…150N). В частном случае, взаимодействием является нажатие кнопок (клавиш) устройства (150A…150N), взаимодействие с сенсорным экраном такого устройства (150A…150N), прослушивание аудиозаписей, воспроизводимых на устройстве (150А…150N) и т.д., как более подробно описано далее. Также, в частном случае пользователем также является администратор (оператор, клиент и т.д.), т.е., в частном случае, лицо, заинтересованное в работоспособности или поддерживающее работоспособность оборудования, например, веб-сервера 110 и/или сервера базы данных 120, вычислительных устройств пользователя (140A…140N), хранилищ данных, осуществлении связи между компонентами (модулями) описываемой системы, примерный вариант которой изображен на ФИГ. 1. Также, пользователь может осуществлять установку мобильного приложения для диагностики (мобильных вычислительных устройств (150A…150N)) 280 на устройства (150A…150N), а также установку служб (сервисов), например, службы синхронизации и установки мобильных приложений для диагностики 210 на вычислительное устройство пользователя (140A…140N). Стоит отметить, что указанные на ФИГ. 1 компоненты описываемой системы (в том числе программные и/или аппаратные компоненты) могут являться составной частью описываемой системы и/или могут быть подключены к упомянутой системе. Так, например, компоненты изображенной на ФИГ. 1 системы могут быть связаны тем или иным известным в настоящее время или изобретенным в будущем прямым (например, посредством клемм и/или проводов, пайки, клепки и т.д.) или косвенным способом (посредством промежуточных устройств, включая различного рода преобразователи, в частности, преобразователи/конверторы информации, в том числе, данных, в аналоговом виде, цифровом виде или в любом другом известном виде информации). Стоит отметить, что компоненты, изображенной на ФИГ. 1 системы могут быть связаны между собой посредством проводной связи, беспроводной связи, посредством различного типа разъемов, проводов и т.д.It is worth noting that a particular case of the user is at least one administrator (operator, client, etc.), i.e., in the particular case, a person interested in diagnosing mobile computing devices (150A ... 150N) or performing diagnostics of mobile computing devices (150A ... 150N), in particular, performing testing of devices (150A ... 150N). It is worth noting that the user can diagnose (test) at least one functional of a mobile computing device (150A ... 150N), for example, by interacting with such a device (150A ... 150N). In the particular case, the interaction is pressing the buttons (keys) of the device (150A ... 150N), interacting with the touch screen of such a device (150A ... 150N), listening to audio recordings played on the device (150A ... 150N), etc., as in more detail described later. Also, in the particular case, the user is also the administrator (operator, client, etc.), i.e., in the particular case, a person who is interested in operability or supports the operability of equipment, for example, web server 110 and / or base server data 120, user computing devices (140A ... 140N), data storages, communication between the components (modules) of the described system, an exemplary version of which is shown in FIG. 1. Also, the user can install a mobile application for diagnostics (mobile computing devices (150A ... 150N)) 280 on devices (150A ... 150N), as well as install services (services), for example, synchronization services and install mobile applications for diagnostics 210 to the user's computing device (140A ... 140N). It is worth noting that indicated in FIG. 1, the components of the described system (including software and / or hardware components) can be an integral part of the described system and / or can be connected to the said system. So, for example, the components depicted in FIG. 1, the systems can be connected by one of the currently known or future invented direct (for example, through terminals and / or wires, soldering, riveting, etc.) or indirectly (through intermediate devices, including various kinds of converters, in in particular, converters / converters of information, including data, in analog form, digital form or in any other known form of information). It is worth noting that the components depicted in FIG. 1, systems can be interconnected via wired communication, wireless communication, through various types of connectors, wires, etc.

Стоит отметить, что компоненты, изображенной на ФИГ. 1 системы могут быть связаны между собой (и любыми другими компонентами, устройствами и сервисами (службами), способными получать информацию от компонентов описываемой системы и/или передавать данные в описываемые компоненты системы) посредством различных видов связи, например, посредством локальной вычислительной сети (ЛВС), сети Интернет (130), (средствами) мобильной связи, спутниковой связи и/или посредством любого другого вида или способа проводной связи (например, посредством USB-интерфейса, интерфейса стандарта RS-232/СОМ-порта и т.д.) и/или беспроводной связи, например, Bluetooth, Wi-Fi, мобильной сотовой связи (GSM), в том числе 3G, 4G, LTE, в частности, в диапазонах 850/900/1800/1900 МГц, спутниковой связи, транкинговой связи и каналов передачи данных со сверхнизким энергопотреблением, формирующие сложные беспроводные сети с ячеистой топологией (ZigBee) и т.д.It is worth noting that the components depicted in FIG. 1 of the system can be interconnected (and any other components, devices and services (services) that can receive information from the components of the described system and / or transmit data to the described system components) through various types of communication, for example, through a local area network (LAN) ), the Internet (130), (by means of) mobile communications, satellite communications and / or by any other type or method of wired communication (for example, via a USB interface, an RS-232 / COM port interface, etc.) and / or wireless communications, for example, Bluetooth, Wi-Fi, mobile cellular (GSM), including 3G, 4G, LTE, in particular, in the bands 850/900/1800/1900 MHz, satellite communications, trunking and data channels ultra-low power consumption, forming complex wireless networks with mesh topology (ZigBee), etc.

Стоит отметить, что, по крайней мере, одна часть описываемого в рамках настоящего изобретения способа (или способ целиком) может осуществляться на веб-сервере 110 и/или на вычислительном устройстве пользователя (140A…140N), и/или на мобильном вычислительном устройстве (150A…150N). Стоит отметить, что связь между веб-сервером 110 и вычислительными устройствами пользователя (140A…140N) и/или сервером базы данных 120, и/или между вычислительными устройствами пользователя (140A…140N) и сервером базы данных 120 может быть осуществлена посредством, по крайней мере, одного протокола передачи данных, в том числе сетевого протокола, например, TCP/IP, HTTP/HTTPs (англ. Hyper Text Transfer Protocol, протокол передачи гипертекста), FTP (англ. File Transfer Protocol, протокол передачи файлов), РОР3 (англ. Post Office Protocol, стандартный протокол почтового соединения), SMTP (англ. Simple Mail Transfer Protocol, протокол, который задает набор правил для передачи почты), TELNET (протокол удаленного доступа), ХМРР (от англ. Extensible Messaging and Presence Protocol - расширяемый протокол обмена сообщениями и информацией о присутствии, ранее известный как Jabber - открытый, основанный на XML, протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени), DTN и т.д.It is worth noting that at least one part of the method described in the framework of the present invention (or the whole method) can be implemented on the web server 110 and / or on the user's computing device (140A ... 140N), and / or on the mobile computing device ( 150A ... 150N). It is worth noting that communication between the web server 110 and the user's computing devices (140A ... 140N) and / or the database server 120, and / or between the user's computing devices (140A ... 140N) and the database server 120 can be carried out by, at least one data transfer protocol, including network protocol, for example, TCP / IP, HTTP / HTTPs (Hyper Text Transfer Protocol, Hypertext Transfer Protocol), FTP (File Transfer Protocol, File Transfer Protocol), РОР3 (Post Office Protocol, standard mail connection protocol), SMTP (Simple Mail Tran sfer Protocol, a protocol that defines a set of rules for sending mail), TELNET (remote access protocol), HMRP (from the English Extensible Messaging and Presence Protocol - an extensible messaging and presence information protocol, formerly known as Jabber - open, based on XML, a protocol for instant messaging and presence information in near real-time mode), DTN, etc.

Указанный выше веб-сервер 110 может быть реализован специализированным вычислительным устройством (в частности, компьютером) и/или специализированным оборудованием для выполнения на нем сервисного программного обеспечения, в том числе сервисами (службами) тех или иных задач.The aforementioned web server 110 may be implemented by a specialized computing device (in particular, a computer) and / or specialized equipment for executing service software on it, including services (services) of various tasks.

Стоит отметить, что сервер базы данных 120 осуществляет обслуживание и управление, по крайней мере, одной базой данных и отвечает за целостность и сохранность данных, а также обеспечивает операции ввода-вывода при доступе клиента к информации. Стоит также отметить, что упомянутая база данных может размещаться, по крайней мере, на одном хранилище данных. В частном случае, хранилище данных является устройством для хранения информации/данных и может быть реализовано, по крайней мере, одним накопителем на жестких магнитных дисках (НЖМД/HDD, англ. hard (magnetic) disk drive), твердотельным накопителем (SSD, англ. solid-state drive), гибридным жестким диском (SSHD, англ. solid-state hybrid drive), сетью хранения данных (СХД/SAN, англ. Storage Area Network), сетевой системой хранения данных/сетевым хранилищем (NAS, англ. Network Attached Storage) и/или любым другим устройством, позволяющим осуществлять, по крайней мере, запись и/или хранение данных. Данные в упомянутых хранилищах данных могут храниться в любом известном формате, например, в базе данных (БД), например, в виде, по крайней мере, одной таблицы или набора связанных или не связанных между собой таблиц базы данных. Стоит отметить, что, по крайней мере, одна упомянутая база данных может являться иерархической, объектной, объектно-ориентированной, объектно-реляционной, реляционной, сетевой и/или функциональной базой данных, каждая из которых может быть централизованной, сосредоточенной, распределенной, неоднородной, однородной, фрагментированной/секционированной, тиражированной, пространственной, временной, пространственно-временной, циклической, сверхбольшой базой данных и т.д., причем для управления, создания и использования баз данных могут использоваться различные системы управления базами данных (СУБД).It is worth noting that the database server 120 provides maintenance and management of at least one database and is responsible for the integrity and safety of the data, and also provides input-output operations when the client accesses the information. It is also worth noting that the database can be hosted on at least one data warehouse. In a particular case, a data warehouse is a device for storing information / data and can be implemented with at least one hard disk drive (HDD), a solid-state drive (SSD, Eng. solid-state drive), a hybrid hard disk (SSHD, English solid-state hybrid drive), a storage area network (SAN / Storage Area Network), a network storage system / NAS (NAS, Network Attached Storage) and / or any other device that allows at least recording and / or storing data. The data in said data warehouses can be stored in any known format, for example, in a database (DB), for example, in the form of at least one table or a set of related or unrelated database tables. It is worth noting that at least one of the mentioned databases can be hierarchical, object, object-oriented, object-relational, relational, network and / or functional database, each of which can be centralized, concentrated, distributed, heterogeneous, homogeneous, fragmented / partitioned, replicated, spatial, temporal, spatio-temporal, cyclic, super-large database, etc., and for the management, creation and use of databases can be used lzovatsya different database management systems (DBMS).

Также данные в упомянутых хранилищах данных могут храниться, по крайней мере, в одном файле, в частном случае, в виде текстового файла, либо данные могут храниться в любом, по крайней мере, одном другом известном в настоящее время формате хранения данных/информации или в формате данных, изобретенном позднее.Also, the data in said data warehouses can be stored in at least one file, in particular, in the form of a text file, or the data can be stored in any at least one other data / information storage format currently known data format invented later.

В частном случае осуществления настоящего изобретения, по крайней мере, одна часть описываемого способа и системы может являться программным обеспечением или частью приложения. Также, по крайней мере, одна часть описываемого способа и системы может являться, по крайней мере, одним сервисом (службой), реализованным, например, программным кодом, скриптом/скриптами, а также являться исполняемыми компонентами различных систем (в частности, компьютерных систем) и подсистем (например, подсистем ввода, подсистемы вывода, подсистемы хранения, в частности, дисковая подсистема, подсистема передачи данных и т.д.).In the particular case of the implementation of the present invention, at least one part of the described method and system may be software or part of the application. Also, at least one part of the described method and system may be at least one service (service) implemented, for example, by program code, script / scripts, and also may be executable components of various systems (in particular, computer systems) and subsystems (e.g., input subsystems, output subsystems, storage subsystems, in particular, a disk subsystem, a data transfer subsystem, etc.).

Стоит отметить, что упомянутые выше средства программных компонентов приложения могут включать выполнение (исполнение) программного кода, исполняемого кода приложения, машинного кода и т.д., в частности, в скомпилированном и/или не скомпилированном виде, например, в виде javascript (java-скриптов), а также в форме одного из промежуточных языков (программирования), например, промежуточного языка CIL, от англ. Common Intermediate Language.It is worth noting that the above-mentioned means of application software components may include the execution (execution) of program code, executable application code, machine code, etc., in particular, in compiled and / or non-compiled form, for example, in the form of javascript (java scripts), as well as in the form of one of the intermediate languages (programming), for example, the intermediate language CIL, from English. Common Intermediate Language.

На ФИГ. 2 показана примерная схема системы диагностики мобильных вычислительных устройств, согласно одному из вариантов осуществления настоящего изобретения. В частном случае осуществления настоящего изобретения на вычислительное устройство пользователя (140A…140N) устанавливается служба синхронизации и установки мобильных приложений для диагностики 210. В частном случае, служба (сервис) 210 позволяет осуществлять установку мобильных приложений для диагностики 280 на мобильные вычислительные устройства (150A…150N). Более подробно алгоритм службы синхронизации и установки мобильных приложений для диагностики 210 показан на ФИГ. 4. В частном случае осуществления настоящего изобретения на вычислительном устройстве пользователя (140A…140N) может быть установлен веб-браузер (браузер, веб-обозреватель) 220, например, Internet Explorer, Mozilla Firefox, Google Chrome, Safari, Opera, Microsoft Edge и т.д. Веб-браузер 220 используется для предоставления пользователю интерфейса (в частности, веб-интерфейса), в частном случае, являющимся пользовательским интерфейсом (интерфейсом пользователя) для отображения пользователю html-контента (html-содержимого).In FIG. 2 shows an exemplary diagram of a diagnostic system for mobile computing devices according to one embodiment of the present invention. In the particular case of the implementation of the present invention, a synchronization and installation service of mobile applications for diagnostics 210 is installed on the user's computing device (140A ... 140N). In the particular case, the service (service) 210 allows the installation of mobile diagnostic applications 280 on mobile computing devices (150A ... 150N). In more detail, the algorithm of the synchronization service and the installation of mobile applications for diagnostics 210 is shown in FIG. 4. In the particular case of the present invention, a web browser (browser, web browser) 220, for example, Internet Explorer, Mozilla Firefox, Google Chrome, Safari, Opera, Microsoft Edge, and etc. Web browser 220 is used to provide the user with an interface (in particular, a web interface), in a particular case being a user interface (user interface) for displaying html content (html content) to a user.

Стоит отметить, что выполнение службы 210 в частном случае осуществляется под управлением операционной системы (ОС) Windows, т.е. является Win-службой (Windows-службой).It is worth noting that the execution of service 210 in a particular case is carried out under the control of the Windows operating system (OS), i.e. is a Win service (Windows service).

Стоит также отметить, что служба 210 осуществляет обмен данными с приложением 280 посредством модуля обмена данными 230, который в частном случае является «Android debug bridge» (ADB) или «LibiMobileDevice iOS Data Bridge». В частном случае модуль обмена данными 230 позволяет осуществлять обмен данными между службой 210 и приложением 280, причем такими данными являются параметры, серийные номера, мобильных вычислительных устройств (150A…150N), прочие идентификационные данные, возможность управления мобильными вычислительными устройствами (150A…150N) (функциями таких мобильных вычислительных устройств) и т.д., как более подробно описано в рамках настоящего изобретения.It is also worth noting that the service 210 communicates with the application 280 through the data exchange module 230, which in the particular case is “Android debug bridge” (ADB) or “LibiMobileDevice iOS Data Bridge”. In a particular case, the data exchange module 230 allows data exchange between the service 210 and the application 280, and such data are parameters, serial numbers, mobile computing devices (150A ... 150N), other identification data, the ability to control mobile computing devices (150A ... 150N) (functions of such mobile computing devices), etc., as described in more detail in the framework of the present invention.

Также, служба 210 (являющаяся частным случаем Windows-приложения, работающее (выполняющееся) в режиме Service (сервиса, службы)) осуществляет синхронизацию мобильных вычислительных устройств (150A…150N), в частности, данных между службой 210 на вычислительном устройстве (150A…150N), и данными, хранящимися, по крайней мере, в одной базе данных, сервера базы данных 120, посредством веб-сервиса 250. В частном случае осуществления настоящего изобретения служба на мобильном вычислительном устройстве (150A…150N) осуществляет передачу на вычислительное устройство пользователя (клиентское вычислительное устройство) 140 такие данные, как параметры (характеристики), серийные номера, IMEI, статусы элементов питания (батареи, аккумулятора и т.д.) и т.д., по крайней мере, одного мобильного вычислительного устройства (150A…150N).Also, service 210 (which is a special case of a Windows application running (running) in Service mode) synchronizes mobile computing devices (150A ... 150N), in particular, data between service 210 on a computing device (150A ... 150N ), and data stored in at least one database, database server 120, through the web service 250. In the particular case of the implementation of the present invention, the service on the mobile computing device (150A ... 150N) transfers to the computing device user interface (client computing device) 140 data such as parameters (characteristics), serial numbers, IMEI, statuses of batteries (batteries, batteries, etc.), etc., of at least one mobile computing device (150A ... 150N).

В частном случае осуществления настоящего изобретение передача данных между службой 210 и мобильными вычислительными устройствами (150A…150N) осуществляется посредством USB-соединения между такими службой и устройствами.In the particular case of the implementation of the present invention, data transfer between the service 210 and mobile computing devices (150A ... 150N) is via a USB connection between such a service and devices.

Стоит отметить, что веб-сервер 110 может включать установленный на нем веб-сервис 250, который в частном случае реализует и публикует набор методов, посредством которых осуществляется передача данных (в частном случае, синхронизация данных) между вычислительным устройством пользователя (клиентским вычислительным устройством) 140 и веб сервером 110, причем веб-сервис 250 включает набор методов, базу данных и (графический) интерфейс пользователя. В момент запуска мобильного приложения для диагностики 280, приложение 280 организует TCP-сервер (от англ. TCP, протокол управления передачей), который ожидает подключения вычислительных устройств пользователя (140A…140N) на предопределенном порту разработчиками описываемого способа и системы, или, по крайней мере, одним пользователем, причем упомянутый порт также может выбираться автоматически (причем может выбираться один из доступных портов), например, службой 210. Таким образом, после установления приложения 280 с использованием службы 210, по крайней мере, на одно мобильное вычислительное устройство (150A…150N), осуществляется автоматическое подключение таких мобильных вычислительных устройств (150A…150N), по крайней мере, к одному вычислительному устройству пользователя (140A…140N).It is worth noting that the web server 110 may include the web service 250 installed on it, which in the particular case implements and publishes a set of methods by which data is transferred (in the particular case, data synchronization) between the user's computing device (client computing device) 140 and a web server 110, wherein the web service 250 includes a set of methods, a database, and a (graphical) user interface. At the time of launching the mobile diagnostic application 280, application 280 organizes a TCP server (from the English TCP, transmission control protocol), which expects the computing devices of the user (140A ... 140N) to be connected to a predetermined port by the developers of the described method and system, or at least by at least one user, and said port can also be selected automatically (moreover, one of the available ports can be selected), for example, by service 210. Thus, after installing application 280 using service 210, It least one mobile computing device (150A ... 150N), an automatic connection of mobile computing devices (150A ... 150N), at least one user computing device (140A ... 140N).

Далее служба 210 для каждого подключенного мобильного вычислительного устройства (150A…150N) к вычислительному устройству пользователя (140A…140N) организует (создает) выделенный поток выполнения программы (Device Worker Thread) - как части службы 210. В частном случае, каждый выделенный поток выполнения программы осуществляет, по крайней мере, одну попытку организовать сокет (от англ. socket - программный интерфейс для обеспечения обмена данными между процессами, причем такие процессы при упомянутом обмене могут исполняться как на одном вычислительном устройстве, то и на различных вычислительных устройствах, связанных между собой) с ТСР-сервером (в частном случае, в качестве которого выступает мобильное приложение), в частном случае, служба 210 осуществляет попытку установления соединения между мобильным вычислительным устройством (150A…150N) и вычислительным устройством пользователя (140A…140N). Стоит отметить, что в частном случае выделенный поток выполнения программы (выделенный поток, выделенная очередь, отдельная очередь, отдельная «ветка») осуществляет получение данных, по крайней мере, с одного, мобильного вычислительного устройства (150A…150N), являющимся диагностируемым устройством, а также осуществляет обработку данных, и передачу полученных данных с мобильного вычислительного устройства (150A…150N) на вычислительное устройство пользователя (140A…140N), как продемонстрировано на ФИГ. 5.Next, the service 210 for each connected mobile computing device (150A ... 150N) to the user's computing device (140A ... 140N) organizes (creates) a dedicated program execution thread (Device Worker Thread) - as part of the service 210. In the particular case, each dedicated execution thread the program makes at least one attempt to organize a socket (from the English socket - the program interface for ensuring the exchange of data between processes, and such processes with the mentioned exchange can be executed as on one computing device In fact, then on various computing devices interconnected) with the TCP server (in the particular case, which is the mobile application), in the particular case, service 210 attempts to establish a connection between the mobile computing device (150A ... 150N) and user's computing device (140A ... 140N). It should be noted that in a particular case, a dedicated program execution thread (dedicated thread, dedicated queue, separate queue, separate "branch") receives data from at least one mobile computing device (150A ... 150N), which is the diagnosed device, and also carries out data processing, and transmitting the received data from a mobile computing device (150A ... 150N) to a user's computing device (140A ... 140N), as shown in FIG. 5.

При успешном установлении упомянутого соединения (в частности, в случае успешного создания выделенного потока) осуществляется двухсторонний обмен данными между приложением 280, установленным на мобильном вычислительном устройстве (150A…150N), и вычислительным устройством пользователя (140A…140N), в частности, службой 210. Стоит отметить, что упомянутый двухсторонний обмен данными осуществляется посредством протокола, который, в частном случае содержит управляющие слова, правила формирования сообщений, правила шифрования сообщений и методы их анализа, которые более подробно описаны далее. Функционирование упомянутого протокола осуществляется посредством стека протоколов TCP/IP, в частности посредством транспортного уровня такого протокола посредством созданных в процессе подключения упомянутых сокетов. В частном случае, осуществления настоящего изобретения независимо от количества подсоединенных, в частности, подключенных, (одновременно) мобильных вычислительных устройств (150A…150N) к вычислительным устройствам пользователя (140A…140N), с каждым из которых (мобильных вычислительных устройств (150A…150N)) осуществляется создание (устанавливается) выделенного потока службы 210 и с каждым из которых устанавливается упомянутое выше (независимое) соединение. Управление навигацией (в частности, методов навигации) в окнах (слайдах) мобильного приложения 280 осуществляется посредством упомянутого соединения. В частном случае, посредством передачи, по крайней мере, одной команды службы 210 посредством использования описываемого протокола, приложение 280 на мобильном вычислительном устройстве (150A…150N) осуществляет навигацию («понимает», что необходимо сделать). В частном случае, упомянутый двухсторонний обмен данными позволяет службе 210 получать данные посредством упомянутого установленного соединения (связи). Упомянутые данные являются результатами выполнения команд мобильными вычислительными устройствами (150A…150N), причем такими командами могут быть различные команды и могут изменяться в зависимости от (типов) мобильных вычислительных устройств (150A…150N), (типа) выполняемой диагностики мобильных вычислительных устройств (150A…150N), настроек вычислительного устройства пользователя 140A…140N и т.д., причем, такие команды могут включать, например, команду «LEFT» (ВЛЕВО), которая осуществляет перемещение экрана мобильного вычислительного устройства (150A…150N) влево (переход (как описано далее) на предыдущий экран); команду «RIGHT» (ВПРАВО), которая осуществляет перемещение экрана мобильного вычислительного устройства (150A…150N) вправо (переход на следующий экран), команды NORMAL, ERASE, INFO, которые осуществляют управление режимами работы мобильного вычислительного устройства (150A…150N), а также такие данные являются результатами работы приложения 280).Upon successful establishment of the mentioned connection (in particular, in the case of successful creation of a dedicated stream), two-way data exchange is carried out between the application 280 installed on the mobile computing device (150A ... 150N) and the user's computing device (140A ... 140N), in particular, the service 210 It is worth noting that the mentioned two-way data exchange is carried out by means of a protocol, which, in a particular case, contains control words, message generation rules, message encryption rules and methods for their analysis, which are described in more detail below. The functioning of said protocol is carried out through the TCP / IP protocol stack, in particular, through the transport layer of such a protocol by means of the mentioned sockets created during the connection process. In the particular case, the implementation of the present invention, regardless of the number of connected, in particular connected (simultaneously) mobile computing devices (150A ... 150N) to the user's computing devices (140A ... 140N), with each of which (mobile computing devices (150A ... 150N )) the creation (installation) of a dedicated service flow 210 is carried out and with each of which the aforementioned (independent) connection is established. Navigation management (in particular, navigation methods) in the windows (slides) of the mobile application 280 is carried out through the connection. In the particular case, by transmitting at least one service command 210 by using the described protocol, the application 280 on the mobile computing device (150A ... 150N) navigates ("understands" what needs to be done). In the particular case, said two-way data exchange allows the service 210 to receive data via said established connection (s). The mentioned data are the results of executing commands by mobile computing devices (150A ... 150N), moreover, such commands may be different commands and may vary depending on (types) of mobile computing devices (150A ... 150N), (type) of diagnostics of mobile computing devices (150A ... 150N), settings of the user's computing device 140A ... 140N, etc., moreover, such commands may include, for example, the LEFT command, which moves the screen of the mobile computing device (150A ... 150N) to the left (transition (as described below) to the previous screen); the RIGHT command (RIGHT), which moves the screen of the mobile computing device (150A ... 150N) to the right (go to the next screen), the NORMAL, ERASE, INFO commands that control the operating modes of the mobile computing device (150A ... 150N), and also such data are the results of the application 280).

В процессе исполнения (выполнения) приложения 280 на мобильном вычислительном устройстве (150A…150N) служба 210 с предопределенной (заданной, например, пользователем вычислительного устройства пользователя 140A…140N) периодичностью (например, 1-5 секунд) осуществляет отправку на мобильное вычислительное устройство (150A…150N) данных (которые могут быть зашифрованы, например, одним из известных способов или методов шифрования), в частности, набор символов, который приложение 280 может (однозначно) интерпретировать (в том числе, расшифровать), в частности посредством использования временных меток, пароля (который, в частном случае, хранится на веб-сервере 110, и используется для защиты от осуществления возможной дешифрации (дешифрования) описываемых данных сторонними пользователями (службами, приложениями, системами и т.д.) описываемой системы и способа, в частности, мошенниками, и шифрования (например, если передача упомянутых данных (обмен данными) осуществляется в зашифрованном виде), как более подробно описано далее.In the process of execution (execution) of the application 280 on a mobile computing device (150A ... 150N), the service 210 with a predetermined (for example, specified by the user computing device user 140A ... 140N) frequency (for example, 1-5 seconds) sends to the mobile computing device ( 150A ... 150N) data (which can be encrypted, for example, by one of the known encryption methods or methods), in particular, the character set that application 280 can (uniquely) interpret (including decrypt), in particular by using timestamps, a password (which, in a particular case, is stored on the web server 110, and is used to protect against possible decryption (decryption) of the described data by third-party users (services, applications, systems, etc.) of the described system and method, in particular, by fraudsters, and encryption (for example, if the transmission of the mentioned data (data exchange) is encrypted), as described in more detail below.

В случае нарушения ожидаемой хеш-суммы, отсутствия сообщений от вычислительного устройства пользователя (140A…140N) в течение предопределенного (например, константами в приложении 280) периода времени (например, в течение 5 секунд) приложение 280 прекращает свою работу и осуществляет запрос (например, посредством отображения сообщения на мобильном вычислительном устройстве (150A…150N)) к пользователю на выполнение восстановления соединения (связи) с вычислительным устройством пользователя (140A…140N), что в частном случае позволяет выполнить защиту приложения 280 от несанкционированного использования без вычислительного устройства пользователя (140A…140N), на котором осуществляется исполнение службы 210. В частном случае осуществления настоящего изобретения мобильное приложение 280 на основании упомянутых выше (текущей) временной метки и пароля осуществляет вычисление упомянутой хеш-суммы. Также, мобильное приложение 280 получает вычисленную на вычислительном устройстве пользователя 140A…140N хеш-сумму. В случае если упомянутые хеш-суммы не совпадают, то, по крайней мере, одним вычислительным устройством или приложением, например вычислительным устройством пользователя 140A…140N, регистрируется нарушение ожидаемой хеш-суммы.In case of violation of the expected hash sum, the absence of messages from the user's computing device (140A ... 140N) for a predetermined period (for example, by constants in application 280) of the time period (for example, within 5 seconds), application 280 stops its operation and makes a request (for example by displaying a message on a mobile computing device (150A ... 150N)) to the user to perform reconnection (communication) with the user's computing device (140A ... 140N), which in a particular case allows protection Appendicies 280 against unauthorized use without computing the user (140A ... 140N) device on which the service is carried out pursuant to 210. In the particular case of the present invention, the mobile application 280 based on the above-mentioned (current) time stamp and password performs the computation of said hash sum. Also, the mobile application 280 receives the hash calculated on the user's computing device 140A ... 140N. If the said hash sums do not match, then at least one computing device or application, for example, the user's computing device 140A ... 140N, detects a violation of the expected hash sum.

Так, описанный выше протокол может быть реализован модулем двухстороннего обмена данными (который является частью мобильного приложения 280) между приложением 280, установленным на мобильном вычислительном устройстве (150A…150N) и службой 210. В частном случае осуществления настоящего изобретения упомянутый модуль двухстороннего обмена данными между приложением 280, установленным на мобильном вычислительном устройстве (150A…150N), и службой 210 является модулем контроля соединения (например, по USB) и приема/отправки данных (в частности, как описано выше для определения нарушения хеш-суммы) с вычислительного устройства пользователя (140A…140N). В частном случае осуществления настоящего изобретения упомянутый модуль контроля соединения осуществляет выполнение, по крайней мере, двух операций (функций), например:So, the protocol described above can be implemented by the two-way data exchange module (which is part of the mobile application 280) between the application 280 installed on the mobile computing device (150A ... 150N) and the service 210. In the particular case of the implementation of the present invention, said two-way data exchange module between application 280 installed on a mobile computing device (150A ... 150N), and service 210 is a module for monitoring the connection (for example, via USB) and receiving / sending data (in particular, as described in Chez for detecting malfunction of hash sums) with the user's computing device (140A ... 140N). In the particular case of the implementation of the present invention, said connection control module performs at least two operations (functions), for example:

- осуществление контроля соединения;- monitoring the connection;

- осуществление приема/передачи данных с/на вычислительного устройства пользователя (140A…140N), к которому подключено (с которым установлена связь) мобильное вычислительное устройство (150A…150N).- receiving / transmitting data from / to the user's computing device (140A ... 140N), to which a mobile computing device (150A ... 150N) is connected (with which communication is established).

В частном случае осуществления настоящего изобретения при запуске приложения 280 осуществляется организация отдельным потоком ТСР-сервера, который прослушивает определенный порт замапленный (от англ. mapping) на USB и принимает подключение вычислительного устройства пользователя (140A…140N). Так, например, при запуске мобильного приложения для диагностики 280 на мобильном вычислительном устройстве (150A…150N), мобильное приложение для диагностики 280 выполняет код, причем часть данного кода реализует TCP-сервер, функционирование которого осуществляется в режиме ожидания подключений. Вычислительное устройство пользователя (140A…140N), на котором запущена Windows-приложение (служба) выполняет маппинг (мапинг) локальных портов вычислительного устройства пользователя (140A…140N) в порты подключенных по USB мобильных вычислительных устройств (150А…150N). Далее Windows-приложение для каждого мобильного вычислительного устройства (150A…150N) устанавливает соединение с организованными на мобильных вычислительных устройствах (150A…150N) TCP серверами.In the particular case of the implementation of the present invention, when the application 280 is launched, the TCP server is organized as a separate stream, which listens to a specific port mapped (from the English mapping) to USB and accepts the connection of the user's computing device (140A ... 140N). So, for example, when launching a mobile diagnostic application 280 on a mobile computing device (150A ... 150N), a mobile diagnostic application 280 executes a code, and part of this code is implemented by a TCP server, which operates in connection standby mode. The user's computing device (140A ... 140N), on which the Windows application (service) is running, performs mapping (mapping) of the local ports of the user's computing device (140A ... 140N) to the ports of the USB-connected mobile computing devices (150A ... 150N). Further, the Windows application for each mobile computing device (150A ... 150N) establishes a connection with the TCP servers organized on mobile computing devices (150A ... 150N).

В частном случае осуществления настоящего изобретения номером порта такого соединения может являться номер порта «2345».In the particular case of the implementation of the present invention, the port number of such a connection may be the port number "2345".

В частном случае осуществления настоящего изобретения после запуска приложения 280 в течение предопределенного времени (например, в течение 10 секунд) быть установлено соединение между мобильным вычислительным устройством (150A…150N), например, посредством приложения 280, и вычислительным устройством пользователя (140A…140N), например, службой 210. В случае отсутствия соединения, приложение 280 приостанавливает свое выполнение ("работу") и оповещает пользователя о необходимости установления упомянутого соединения. Оповещение пользователя может быть отображено на экране мобильного вычислительного устройства (150A…150N) и/или на вычислительном устройстве пользователя (140A…140N), например, в виде «Установите соединение». В случае удачно установленного соединения, выполнение приложения 280 продолжается.In the particular case of the implementation of the present invention, after the application 280 is started for a predetermined time (for example, within 10 seconds), a connection is established between the mobile computing device (150A ... 150N), for example, by means of the application 280, and the user's computing device (140A ... 140N) , for example, by service 210. If there is no connection, application 280 suspends its execution ("work") and notifies the user of the need to establish the mentioned connection. The user notification can be displayed on the screen of the mobile computing device (150A ... 150N) and / or on the user's computing device (140A ... 140N), for example, in the form “Establish a connection”. In the case of a successful connection, application 280 continues.

Далее, вычислительное устройство пользователя (140A…140N), с предопределенным интервалом (например, 1 раз в 2 секунды) осуществляет передачу на мобильное вычислительное устройство (150A…150N), в частности, на TCP-сервер, набор данных, например, в виде строки. Стоит отметить, что упомянутые данные, в частности, в виде строки, передаваемые с вычислительного устройства пользователя (140A…140N) на мобильное вычислительное устройство (150A…150N), могут иметь следующий формат: [DD-MM-YYYY HH:MM:SS]: HASH: COMMAND, гдеFurther, the user's computing device (140A ... 140N), with a predetermined interval (for example, 1 time in 2 seconds), transfers to a mobile computing device (150A ... 150N), in particular, to a TCP server, a data set, for example, in the form strings. It is worth noting that the data mentioned, in particular, as a string transmitted from a user's computing device (140A ... 140N) to a mobile computing device (150A ... 150N), can have the following format: [DD-MM-YYYY HH: MM: SS ]: HASH: COMMAND, where

- [DD-MM-YYYY HH:MM:SS] - дата и время вычислительного устройства пользователя (140A…140N);- [DD-MM-YYYY HH: MM: SS] - date and time of the user's computing device (140A ... 140N);

- HASH - хеш-сумма, например, MD5, полученная (вычисленная с использованием хеш-функции) из строки "[Дата время]:Пароль" (причем пароль хранится в константе в данных мобильных приложений 213, причем пароль известен вычислительному устройству пользователя 140 и мобильному приложению 213);- HASH is a hash sum, for example, MD5 obtained (calculated using a hash function) from the string "[Date time]: Password" (and the password is stored in a constant in the data of mobile applications 213, the password being known to the user's computing device 140 and mobile application 213);

- COMMAND - Команда (EMPTY - игнорирование данной команды, LEFT -осуществляется переход (Слайд, от англ. Slide; Слайдинг, от англ. Sliding) средствами приложения 213 на предыдущий экран мобильного вычислительного устройства (150A…150N), RIGHT - осуществляется переход средствами приложения 213 на следующий экран мобильного вычислительного устройства (150A…150N);- COMMAND - Command (EMPTY - ignoring this command, LEFT - the transition is performed (Slide, from the English Slide; Sliding, from the English Sliding) using the application 213 to the previous screen of the mobile computing device (150A ... 150N), RIGHT - the transition is performed using the applications 213 to the next screen of a mobile computing device (150A ... 150N);

«;»- разделитель пар;";" - pair separator;

«:»- разделитель Имя/Значение.":" - separator Name / Value.

В частном случае, приложение 280 осуществляет вычисление хеш-суммы от строки: «[DD-MM-YYYY HH:MM:SS]»+«Пароль». Если вычисленная хеш-сумма не равна полученному значению «HASH» от вычислительного устройства пользователя (140A…140N), то выполнение приложения 280 останавливается (приложение 280 останавливает свою работу), в противном случае приложение 280 продолжает функционировать (продолжает свою работу).In the particular case, application 280 performs the calculation of the hash sum from the line: "[DD-MM-YYYY HH: MM: SS]" + "Password". If the calculated hash is not equal to the received "HASH" value from the user's computing device (140A ... 140N), then the application 280 stops (application 280 stops its work), otherwise the application 280 continues to function (continues to work).

Далее мобильное вычислительное устройство (150A…150N), в частности, TCP-сервер, анализирует полученные данные и осуществляет:Next, a mobile computing device (150A ... 150N), in particular, a TCP server, analyzes the received data and performs:

- продолжение работы приложения 280;- continued application 280;

- выполнение команды навигации (упомянутой выше команды COMMAND, позволяющей осуществлять переход на предыдущий или следующий экран мобильного вычислительного устройства (150A…150N)).- execution of a navigation command (the COMMAND command mentioned above, which allows switching to the previous or next screen of a mobile computing device (150A ... 150N)).

В частном случае осуществления настоящего изобретения, по крайней мере, один упомянутый метод выполняется, по крайней мере, одним вычислительным устройством (например, вычислительным устройством пользователя (140A…140N) и/или мобильным вычислительным устройством (150A…150N), и/или веб-сервером 110), в частности, программным обеспечением, службой (сервисом) и т.д., например, мобильным приложением 280 и/или службой 210, причем, по крайней мере, одна упомянутая выше команда инициализирует выполнение, по крайней мере, одного из упомянутых выше методов.In the particular case of the implementation of the present invention, at least one of the aforementioned method is performed by at least one computing device (for example, a user computing device (140A ... 140N) and / or a mobile computing device (150A ... 150N), and / or web -server 110), in particular, software, a service (service), etc., for example, a mobile application 280 and / or a service 210, wherein at least one of the above commands initializes the execution of at least one of the methods mentioned above.

В случае отсутствия от вычислительного устройства пользователя (140A…140N) упомянутых данных в течение нескольких интервалов (например, 2-3 интервалов) приложение 280 завершает свою работу.In the absence from the user's computing device (140A ... 140N) of the data for several intervals (for example, 2-3 intervals), the application 280 terminates.

При завершении тестирования (приложение 280 отправляет на вычислительное устройство пользователя (140A…140N) данные о (результатах) проведенной диагностике (в частности, тесте) мобильного вычислительного устройства (150A…150N), например, название и/или идентификационные данные такого мобильного вычислительного устройства (150A…150N) и состояние, в частности, работает или не работает данное мобильное вычислительное устройство (150A…150N), или состояние, по крайней мере, одной составной части такого мобильного вычислительного устройства (150A…150N), например, динамика, микрофона, USB-модуля, GSM-модуля, различных кнопок, сенсоров, камер и т.д. в частности, работает или не работает данная конкретная составная часть такого мобильного вычислительного устройства (150A…150N). Стоит отметить, что такие данные, в частности, в виде строки, передаваемые с мобильного вычислительного устройства (150A…150N), в частности с TCP сервера, на вычислительное устройство пользователя (140A…140N), могут иметь следующий формат:Upon completion of testing (application 280 sends to the user's computing device (140A ... 140N) data on the (results) of the diagnostics (in particular, the test) of the mobile computing device (150A ... 150N), for example, the name and / or identification data of such a mobile computing device (150A ... 150N) and the state, in particular, the mobile computing device (150A ... 150N) is working or not working, or the state of at least one component of such a mobile computing device (150A ... 150N), for example p, speaker, microphone, USB-module, GSM-module, various buttons, sensors, cameras, etc. in particular, this particular component of such a mobile computing device (150A ... 150N) works or does not work. such data, in particular in the form of a string transmitted from a mobile computing device (150A ... 150N), in particular from a TCP server, to a user's computing device (140A ... 140N), can have the following format:

ID:SN; TYPE: Type Value; PropNamel: Value 1; PropName2:Value2; PropNameX: ValueX, гдеID: SN; TYPE: Type Value; PropNamel: Value 1; PropName2: Value2; PropNameX: ValueX, where

- ID:SN ID - идентификатор мобильного вычислительного устройства (150A…150N), SN - серийный номер мобильного вычислительного устройства (150A…150N),;- ID: SN ID - identifier of the mobile computing device (150A ... 150N), SN - serial number of the mobile computing device (150A ... 150N) ,;

- TYPE: Type Value TYPE - как есть, TypeValue - одно из двух значений: «PROP» - свойства (IMEI и т.д.) или «TEST» - результаты тестов;- TYPE: Type Value TYPE - as is, TypeValue - one of two values: "PROP" - properties (IMEI, etc.) or "TEST" - test results;

- PropNamel:Value 1 PropName - Имя свойства (IMEI или название теста), Value - значение;- PropNamel: Value 1 PropName - Property name (IMEI or test name), Value - value;

«;»- разделитель пар;";" - pair separator;

«:»- разделитель Имя/Значение.":" - separator Name / Value.

На ФИГ. 3 показана блок-схема примерного варианта осуществления настоящего изобретения. В шаге 315 пользователь осуществляет установку службы 210, по крайней мере, на одно из вычислительных устройств пользователя (140A…140N). Также пользователем, по крайней мере, на одно вычислительное устройство пользователя (140A…140N) осуществляется установка (необходимых) драйверов, в частности, от производителей мобильных операционных систем и производителей мобильных вычислительных устройств (150A…150N), например, от Apple и Android, для осуществления установления связи (соединения) между мобильными вычислительными устройствами (150A…150N) и вычислительными устройствами пользователя (140A…140N).In FIG. 3 is a block diagram of an exemplary embodiment of the present invention. In step 315, the user installs the service 210 on at least one of the user's computing devices (140A ... 140N). Also, the user installs (necessary) drivers on at least one user's computing device (140A ... 140N), in particular, from manufacturers of mobile operating systems and manufacturers of mobile computing devices (150A ... 150N), for example, from Apple and Android, to implement the establishment of communication (connection) between mobile computing devices (150A ... 150N) and computing devices of the user (140A ... 140N).

Затем в шаге 317 осуществляется установление связи (соединения) между мобильными вычислительными устройствами (150A…150N) и вычислительными устройствами пользователя (140A…140N).Then, in step 317, a communication (connection) is established between the mobile computing devices (150A ... 150N) and the user's computing devices (140A ... 140N).

Далее в шаге 320 службой 210 осуществляется установка приложения 280 на мобильные вычислительные устройства (150A…150N).Next, in step 320, the service 210 installs the application 280 on mobile computing devices (150A ... 150N).

После того, как приложение 280 установлено (в шаге 320), по крайней мере, на одно мобильное вычислительное устройство (150A…150N), в шаге 323 пользователем осуществляется запуск приложения 280 на устройстве (150A…150N).After the application 280 is installed (in step 320) on at least one mobile computing device (150A ... 150N), in step 323 the user launches the application 280 on the device (150A ... 150N).

Далее, в шаге 325 осуществляется диагностика (тестирование) устройства (150A…150N), в частности средствами мобильного приложения для диагностики 280 и пользователем. В частном случае осуществляется процесс диагностики мобильного вычислительного устройства (150A…150N), в частности осуществляется процесс проверки (диагностики, тестирования) составных элементов мобильного вычислительного устройства (150A…150N). В частном случае осуществления настоящего изобретения осуществляется процесс тестирования (проверки, диагностики) функционирования (в частности, работоспособности), по крайней мере, одного составного элемента мобильного вычислительного устройства (150A…150N). Стоит также отметить, что в процессе диагностики (тестирования, проверки) мобильного вычислительного устройства (150A…150N) может осуществляться диагностика функционирования программного обеспечения, установленного на мобильном вычислительном устройстве (150A…150N), включая диагностику драйверов для составных элементов мобильного вычислительного устройства (150A…150N), приложений, включая приложение 280. Стоит также отметить, что в процессе диагностики мобильного вычислительного устройства (150A…150N) может осуществляться обновление программного обеспечения мобильного вычислительного устройства (150A…150N), в том числе, установленных на нем приложений (включая, но не ограничиваясь, приложение 280 или, по крайней мере, одной его части, например, связанной с конкретным составным элементом устройства (150A…150N), и т.д.), драйверов составных элементов устройства (150A...150N), операционных систем (или их компонентов) устройств (150А…150N) или устройств (140А…140N) и т.д.Next, in step 325, the device is diagnosed (tested) (150A ... 150N), in particular by means of the mobile diagnostic application 280 and by the user. In a particular case, the process of diagnosing a mobile computing device (150A ... 150N) is carried out, in particular, the process of checking (diagnosing, testing) the components of a mobile computing device (150A ... 150N) is carried out. In the particular case of the implementation of the present invention, a process of testing (checking, diagnosing) the functioning (in particular, operability) of at least one component of a mobile computing device (150A ... 150N) is carried out. It is also worth noting that in the process of diagnostics (testing, verification) of a mobile computing device (150A ... 150N), diagnostics of the functioning of software installed on a mobile computing device (150A ... 150N) can be carried out, including driver diagnostics for the components of a mobile computing device (150A ... 150N), applications, including application 280. It is also worth noting that in the process of diagnosing a mobile computing device (150A ... 150N), software updates can be performed providing a mobile computing device (150A ... 150N), including applications installed on it (including, but not limited to, application 280 or at least one part thereof, for example, associated with a specific component of the device (150A ... 150N) , etc.), device component drivers (150A ... 150N), operating systems (or their components) devices (150A ... 150N) or devices (140A ... 140N), etc.

Далее, в частном случае, по завершению (или в процессе осуществления) диагностики, по крайней мере, одного мобильного вычислительного устройства (150A…150N) осуществляется отправка (передача) результатов тестирования (диагностики) в виде данных (в частности, наборов данных), по крайней мере, на одно вычислительное устройство пользователя (140А…14ON) в шаге 330.Further, in the particular case, upon completion (or during the implementation) of the diagnostics of at least one mobile computing device (150A ... 150N), the test results (diagnostics) are sent (transmitted) in the form of data (in particular, data sets), at least one user computing device (140A ... 14ON) in step 330.

Далее, в шаге 335 осуществляется отправка результатов (данных, описываемых в рамках настоящего изобретения) диагностики (тестирования) с устройства (140A…140N) на веб-сервер 110, которые могут быть сохранены, по крайней мере, на одном сервере базы данных 120, по крайней мере, в одном хранилище данных, например, по крайней мере, в одной базе данных, и которые могут быть отображены, по крайней мере, одному пользователю посредством описываемого интерфейса пользователя (в частности, посредством веб-интерфейса, например, в веб-браузере 220 и/или на веб-сайте 260).Next, in step 335, the results (data described in the framework of the present invention) of diagnosis (testing) are sent from the device (140A ... 140N) to the web server 110, which can be stored on at least one database server 120, in at least one data warehouse, for example, at least one database, and which can be displayed to at least one user through the described user interface (in particular, through the web interface, for example, in the web browser 220 and / or website 2 60).

Стоит отметить, что при осуществлении диагностики мобильного вычислительного устройства (150A…150N) у такого устройства (150A…150N) могут присутствовать дефекты, которые не позволяют осуществить диагностику описываемым в настоящем изобретении способом того или иного функционала или составной части устройства (150A…150N). Так, например, может отсутствовать возможность осуществить (пройти, выполнить и т.д.) на устройстве (150A…150N) какой-либо тест, например, у устройства (150A…150N) не работают кнопки. В этом случае осуществляется навигация посредством слайдов (слайдинга, в частности посредством описанных выше команд LEFT и RIGHT) экранов внутри приложения 213 устройства (150A…150N). Стоит отметить, что если у устройства (150A…150N) не работает сенсорный экран, то осуществляется использование навигации посредством управления с вычислительного устройства пользователя (140A…140N).It is worth noting that when diagnosing a mobile computing device (150A ... 150N), such a device (150A ... 150N) may have defects that do not allow the diagnosis described by the method of this or that functional or component of the device (150A ... 150N) . So, for example, it may not be possible to perform (pass, execute, etc.) on a device (150A ... 150N) any test, for example, buttons on a device (150A ... 150N) do not work. In this case, navigation through the slides (slide, in particular through the LEFT and RIGHT commands described above) of the screens inside the device application 213 (150A ... 150N) is performed. It should be noted that if the touch screen does not work for the device (150A ... 150N), then navigation is used through control from the user's computing device (140A ... 140N).

В частном случае осуществления настоящего изобретения приложением 280 посредством обращения к API операционной системы устройства (150A…150N) осуществляется определение доступного количества составных элементов устройства (150A…150N), которые могут быть протестированы (диагностика которых может быть осуществлена) в приложении 280. Такими составными элементами устройства (150A…150N) могут быть: микрофоны, экран(ы), динамики, датчики, камеры, вспышки и т.д.In the particular case of the implementation of the present invention, application 280, by accessing the API of the device operating system (150A ... 150N), determines the available number of component elements of the device (150A ... 150N) that can be tested (diagnostics of which can be carried out) in application 280. Such components elements of the device (150A ... 150N) can be: microphones, screen (s), speakers, sensors, cameras, flashes, etc.

В частном случае осуществления настоящего изобретения в приложении 280 может осуществляться диагностика (тестирование) динамиков мобильного вычислительного устройства (150A…150N). Приложение 280 осуществляет воспроизведение на мобильном вычислительном устройстве (150A…150N) аудиозаписи (например, звук транспорта, речь и т.д.). На мобильном вычислительном устройстве (150A…150N) в процессе или после воспроизведения аудиозаписи приложением 280 осуществляется отображение набора изображений, по крайней мере, одно из которых соответствует аудиозаписи. Далее пользователь мобильного вычислительного устройства (150A…150N) после (или во время) прослушивания аудиозаписи должен выбрать изображение соответствующее воспроизведенной аудиозаписи. Если выбранное пользователем изображение соответствует услышанной пользователем (воспроизведенной пользователю) аудиозаписи, то тест (диагностика) динамиков устройства (150A…150N) считается пройденным устройством (150А…150N).In the particular case of the implementation of the present invention in application 280 can be carried out diagnostics (testing) of the speakers of a mobile computing device (150A ... 150N). Application 280 reproduces on a mobile computing device (150A ... 150N) audio recordings (e.g., vehicle sound, speech, etc.). On a mobile computing device (150A ... 150N), during or after playing back an audio recording, application 280 displays a set of images, at least one of which corresponds to an audio recording. Next, the user of the mobile computing device (150A ... 150N) after (or during) listening to the audio recording must select the image corresponding to the reproduced audio recording. If the image selected by the user corresponds to the audio recording heard by the user (reproduced by the user), then the test (diagnostics) of the device speakers (150A ... 150N) is considered to have passed the device (150A ... 150N).

В частном случае реализации настоящего изобретения в приложении 280 осуществляется тестирование (диагностики) микрофонов мобильного вычислительного устройства (150A…150N). После запуска приложения 280, при начале прохождении тестов (в процессе диагностики), приложение осуществляет считывание (запись) "белого шума" посредством, по крайней мере, одного микрофона устройства (150A…150N). В случае если приложением 280 было определено (установлено, зафиксировано), что "белый шум" был записан, то приложение 280 фиксирует результат, что микрофон исправен. В частном случае, «белый шум» является стационарным шумом, спектральные составляющие которого равномерно распределены по всему диапазону задействованных частот. В частном случае "белый шум" имеет одинаковую спектральную мощность на всех частотах. Также, "белым шумом" являются любой шум (шумы), спектральная плотность которых одинакова (или незначительно отличается) в упомянутом диапазоне частот.In the particular case of the implementation of the present invention in Appendix 280, testing (diagnostics) of the microphones of a mobile computing device (150A ... 150N) is carried out. After the application 280 is launched, at the beginning of the tests (during the diagnostic process), the application reads (writes) “white noise” through at least one microphone of the device (150A ... 150N). If application 280 determined (installed, recorded) that "white noise" was recorded, then application 280 records the result that the microphone is working. In the particular case, “white noise” is stationary noise, the spectral components of which are uniformly distributed over the entire range of frequencies involved. In the particular case of "white noise" has the same spectral power at all frequencies. Also, “white noise” is any noise (noise) whose spectral density is the same (or slightly different) in the mentioned frequency range.

Также, в частном случае, если "белый шум" при тестировании (диагностике) записан не был, но при произведении звуков во время тестирования динамиков микрофоны фиксируют запись, так что приложение 280 получает результат о фиксировании записи, что микрофон исправен, т.е. в частном случае осуществляется тестирование (диагностика) микрофонов на протяжении всей работы приложения 213, причем, если микрофонами не было зарегистрировано никаких звуков, то микрофоны считаются (являются) не исправными.Also, in the particular case, if “white noise” was not recorded during testing (diagnostics), but when making sounds during speaker testing, the microphones record, so that application 280 receives the result of recording recording, that the microphone is working, i.e. in the particular case, testing (diagnostics) of microphones is carried out throughout the entire application 213, moreover, if no sounds were recorded by microphones, then microphones are considered (are) faulty.

Стоит отметить, что если на момент прохождения тестов динамиков в приложении 280, описанными выше способами, результат работоспособности микрофонов не был зафиксирован приложением 280, то пользователю в приложении 280 становится доступной функция включения записи, в которой он может записать (осуществить запись, в том числе стандартными средствами мобильного вычислительного устройства (150A…150N)) на микрофон(ы) произвольные звуки. В случае, если после осуществления записи, на микрофон (микрофонах) приложение 280 не фиксирует наличие записи (звуков), то приложение 280 фиксируется результат, что микрофон не исправен.It is worth noting that if, at the time of passing the speaker tests in application 280, using the methods described above, the performance of microphones was not recorded by application 280, then the user in application 280 will have access to the recording enable function in which he can record (record, including standard means of a mobile computing device (150A ... 150N)) on the microphone (s) arbitrary sounds. If after recording on the microphone (s) the application 280 does not record the presence of recording (sounds), then the application 280 records the result that the microphone is not working.

В частном случае, в процессе тестирования (диагностики) микрофонов приложение 280 посредством обращения к API ОС мобильного вычислительного устройства (150A…150N) устанавливает количество микрофонов у конкретного устройства (150A…150N). Далее, в процессе работы приложения 280, в частности, в фоновом режиме, каждым доступным микрофоном осуществляется измерение (замер) уровня шумов (которыми могут быть любые звуки). При преодоления порога в несколько сотых децибел (зафиксированных встроенной системой или средствами микрофона) микрофон считается прошедшим тестирование (диагностику) как исправный. В частном случае осуществления изобретения разница в несколько сотых децибел (в частности между текущим уровнем и (абсолютным) нулем) позволяет приложению 280 установить факт получения микрофоном устройства (150A…150N) звуков и возможность осуществления микрофоном трансформирования их в электрические сигналы.In the particular case, in the process of testing (diagnosing) microphones, application 280, by accessing the OS API of a mobile computing device (150A ... 150N), sets the number of microphones for a specific device (150A ... 150N). Further, during the operation of application 280, in particular, in the background, each available microphone measures (measures) the noise level (which can be any sounds). When overcoming the threshold of a few hundredths of decibels (fixed by the built-in system or by means of a microphone), the microphone is considered to have passed testing (diagnostics) as serviceable. In the particular case of the invention, the difference of several hundredths of decibels (in particular between the current level and (absolute) zero) allows the application 280 to establish the fact that the microphone of the device (150A ... 150N) receives sounds and the microphone can transform them into electrical signals.

В частном случае реализации настоящего изобретения в приложении 280 осуществляется диагностика (проверка, тестирование) мобильного вычислительного устройства (150A…150N) на «взлом», в частности на возможность свободного доступа пользователю и/или одному из приложений, установленных на устройстве (150A…150N), к файловой системе мобильной ОС вычислительного устройства (150A…150N), в частности наличие Root-прав, jail break (джейлбрейк) и т.д. Проверка устройства (150A…150N) на «взлом» может осуществляться посредством установки Windows-службой на устройство (150A…150N) неподписанное разработчиком мобильное приложение, а так же проверкой наличия на мобильном устройстве следов (фактов) установки приложений для JailBreak. Далее приложение 280 или пользователь (в том числе посредством приложения 280) осуществляет попытку запуска такого неподписанного приложения. В случае, если приложению 280 или пользователю удается запустить такое неподписанное приложение, то устройство (150A…150N) имеет доступ к системным файлам и следовательно «взломано». В частности в процессе осуществления диагностики на «взлом» устройства (150A…150N) посредством приложения 280 осуществляется попытка доступа к системным каталогам (директориям, папкам) посредством осуществления чтения содержимого (файлов и подкаталогов) таких каталогов. Если чтение содержимого упомянутых каталогов может быть осуществлено, то результатом диагностики в данном случае является факт «взлома» устройства (150A…150N). В частности в процессе осуществления диагностики на «взлом» устройства (150A…150N) посредством приложения 280 осуществляется попытка доступа к системным файлам устройства (150A…150N). Если чтение системных файлов может быть осуществлено, то результатом диагностики в данном случае является факт «взлома» устройства (150A…150N). В случае если чтение системных файлов и содержимого упомянутых каталогов не может быть осуществлено, то результатом диагностики на «взлом» устройства (150A…150N) является тот факт, что устройство (150A…150N) не было «взломано», в частном случае устройство (150A…150N) не проходило процедуру выдачи пользователю Root-привелегий. В частном случае осуществления настоящего изобретения при осуществлении диагностики на взлом устройств (150A…150N) под управлением мобильными ОС «iOS», в частности, на JailBreak, осуществляется попытка установки мобильного приложения не подписанного Enterprise лицензией на устройство (150A…150N). В случае, если приложению 280 или пользователю не удалось установить такое неподписанное приложение, то результатом диагностики является факт отсутствия «взлома» устройства (150A…150N), в частности, отсутствие на таком устройстве JailBreak.In the particular case of the implementation of the present invention, in Appendix 280, a mobile computing device (150A ... 150N) is diagnosed (checked, tested) for “hacking," in particular for the possibility of free access to the user and / or one of the applications installed on the device (150A ... 150N ), to the file system of the mobile OS of the computing device (150A ... 150N), in particular the presence of Root rights, jail break (jailbreak), etc. Checking the device (150A ... 150N) for “hacking” can be carried out by installing a mobile application unsigned by the developer on the device (150A ... 150N) by the Windows service, as well as checking if there are any traces (facts) of installing applications for JailBreak on the mobile device. Next, application 280 or a user (including through application 280) attempts to launch such an unsigned application. If the application 280 or the user manages to launch such an unsigned application, then the device (150A ... 150N) has access to the system files and therefore is “hacked”. In particular, in the process of diagnosing a device “hacking” (150A ... 150N) through application 280, an attempt is made to access system directories (directories, folders) by reading the contents (files and subdirectories) of such directories. If reading the contents of the mentioned directories can be carried out, then the diagnostic result in this case is the fact of “breaking” of the device (150A ... 150N). In particular, in the process of diagnosing a device “hacking” (150A ... 150N) through application 280, an attempt is made to access the system files of the device (150A ... 150N). If the reading of system files can be carried out, then the diagnostic result in this case is the fact of a “hacking” of the device (150A ... 150N). If the system files and the contents of the mentioned directories cannot be read, the diagnostic result for “breaking” the device (150A ... 150N) is the fact that the device (150A ... 150N) was not “breaking”, in the particular case the device ( 150A ... 150N) did not go through the procedure for issuing Root privileges to the user. In the particular case of the implementation of the present invention, when diagnosing hacking devices (150A ... 150N) running iOS mobile OS, in particular, JailBreak, an attempt is made to install a mobile application not signed by the Enterprise with a device license (150A ... 150N). If the application 280 or the user was unable to install such an unsigned application, the diagnostic result is the absence of a “hacking” device (150A ... 150N), in particular, the absence of a JailBreak on such a device.

На ФИГ. 4 показан примерный вариант службы синхронизации и установки мобильных приложений для диагностики, согласно одной из реализаций настоящего изобретения.In FIG. 4 shows an exemplary embodiment of a synchronization and installation service for mobile diagnostic applications according to one implementation of the present invention.

В шаге 415 служба 210 получает список подключенных мобильных вычислительных устройств (150A…150N) к вычислительному устройству пользователя (140A…140N).In step 415, the service 210 obtains a list of connected mobile computing devices (150A ... 150N) to the user's computing device (140A ... 140N).

Далее в шаге 420 службой 210 осуществляется сравнение подключаемого мобильного вычислительного устройства (150A…150N) к вычислительному устройству пользователя (140A…140N) со списком подключенных к вычислительному устройству пользователя (140A…140N) мобильных вычислительных устройств (150A…150N), полученным на предыдущей итерации.Next, in step 420, the service 210 compares the connected mobile computing device (150A ... 150N) to the user's computing device (140A ... 140N) with the list of mobile computing devices (150A ... 140N) connected to the user's computing device obtained at the previous iterations.

Затем в шаге 425 службой 210 осуществляется проверка наличия нового мобильного вычислительного устройства (150A…150N), подключенного к вычислительному устройству пользователя (140A…140N). Если такое устройство (150A…150N) обнаружено (в списке подключенных мобильных вычислительных устройств), то такое устройство добавляется в список подключенных мобильных вычислительных устройств (150A…150N) в шаге 430, после чего процесс переходит в шаг 435.Then, in step 425, the service 210 checks for the presence of a new mobile computing device (150A ... 150N) connected to the user's computing device (140A ... 140N). If such a device (150A ... 150N) is detected (in the list of connected mobile computing devices), then such a device is added to the list of connected mobile computing devices (150A ... 150N) in step 430, after which the process proceeds to step 435.

В шаге 435 осуществляется выполнение выделенного потока выполнения программы и далее службой 210 осуществляется выполнение шага 425.In step 435, a dedicated program execution flow is executed, and then, service 210 performs the execution of step 425.

Если в шаге 425 сервисом 210 не было обнаружено наличие нового мобильного вычислительного устройства (150A…150N), подключенного к вычислительному устройству пользователя (140A…140N), то осуществляется выполнение шага 440. В шаге 440 служба 210 осуществляет проверку наличия удаленных (отключенных от персонального компьютера) мобильных вычислительных устройств (150A…150N). В случае, если удаленных устройств (150A…150N) не было обнаружено сервисом 210, то осуществляется возврат в шаг 415.If the service 210 did not detect the presence of a new mobile computing device (150A ... 150N) connected to the user's computing device (140A ... 140N) in step 425, then step 440 is performed. At step 440, the service 210 checks for the presence of remote (disconnected from the personal computer) mobile computing devices (150A ... 150N). If the remote devices (150A ... 150N) were not detected by service 210, then return to step 415.

В случае если сервис 210 обнаружил удаленное (отключенное от ПК) мобильное вычислительного устройство (150A…150N), то осуществляется выполнение шага 445. В шаге 445 осуществляется удаление такого мобильного вычислительного устройства (150A…150N) из списка подключенных мобильных вычислительных устройств, поле чего в шаге 450 осуществляется прерывание выделенного потока выполнения программы и осуществляется возврат к шагу 440.If the service 210 has detected a remote (disconnected from the PC) mobile computing device (150A ... 150N), then step 445 is performed. At step 445, such a mobile computing device (150A ... 150N) is removed from the list of connected mobile computing devices, the field of which in step 450, the dedicated program execution flow is interrupted and returns to step 440.

ФИГ. 5 иллюстрирует выполнение выделенного потока выполнения программы, согласно одному из осуществлений настоящего изобретения.FIG. 5 illustrates the execution of a dedicated program execution flow, in accordance with one embodiment of the present invention.

В шаге 515 службой 210 осуществляется попытка получения данных о производителе мобильного вычислительного устройства (150A…150N). Далее в шаге 520 служба 210 осуществляет проверку того, удалось ли получить данные о производителе в шаге 515. Если в шаге 520 установлено, что службе 210 не удалось получить данные о производителе, то в шаге 525 осуществляется задержка и осуществляется переход к шагу 515. Если в шаге 520 установлено, что службе 210 удалось получить данные о производителе, то в шаге 530 осуществляется отправка данных о подключении. В шаге 535 проверяется удалось ли отправить данные и, если нет, то в шаге 580 служба 210 осуществляет остановку выделенного потока выполнения программы. Если в шаге 535 установлено, что службе 210 удалось отправить данные, то в шаге 540 служба 210 осуществляет получение свойств мобильного вычислительного устройства (150A…150N) посредством, по крайней мере, одного модуля обмена данными 230 (ADB, libimobiledevice).In step 515, the service 210 attempts to obtain data on the manufacturer of the mobile computing device (150A ... 150N). Next, in step 520, the service 210 checks to see if it was possible to obtain manufacturer information in step 515. If it was determined in step 520 that the service 210 was unable to obtain manufacturer information, then in step 525 a delay is made and proceeds to step 515. If in step 520 it was established that the service 210 was able to obtain information about the manufacturer, then in step 530 the connection data is sent. At step 535, it is checked whether the data was sent and, if not, then at step 580, the service 210 stops the allocated program execution thread. If it was determined in step 535 that the service 210 was able to send data, then in step 540, the service 210 obtains the properties of the mobile computing device (150A ... 150N) through at least one data exchange module 230 (ADB, libimobiledevice).

Далее в шаге 545 осуществляется отправка данных мобильных вычислительных устройств (150A…150N), после чего в шаге 550 служба 210 осуществляет проверку того, удалось ли отправить упомянутые данные. Если в шаге 550 установлено, что службе 210 не удалось отправить данные, то в шаге 580 служба 210 осуществляет остановку выделенного потока выполнения программы.Next, in step 545, data of the mobile computing devices (150A ... 150N) is sent, after which, in step 550, the service 210 checks to see if the data were sent. If it was determined in step 550 that the service 210 was unable to send data, then in step 580, the service 210 stops the allocated program execution thread.

Если в шаге 550 установлено, что службе 210 удалось отправить данные, то шаге 555 осуществляется установка приложения 280 и далее осуществляется диагностика (тестирование) мобильные вычислительные устройства (150A…150N) средствами мобильного приложения 280 и в шаге 560 осуществляется ожидание результатов диагностики (тестирования, проверки) устройства (150A…150N). Далее в шаге 565 после получения результатов диагностики службой 210 осуществляется отправка (передача) команд и контрольных данных на устройство (150A…150N), после чего в шаге 570 осуществляется ожидание ответа устройства (150A…150N), содержащего результаты диагностики мобильного вычислительного устройства. Далее в шаге 575 осуществляется задержка, после чего осуществляется возврат к шагу 565.If it was determined in step 550 that the service 210 was able to send data, then in step 555 the application 280 is installed and then the mobile computing devices (150A ... 150N) are diagnosed (tested) by means of the mobile application 280 and in step 560 the diagnostic results (tests, verification) devices (150A ... 150N). Next, in step 565, after receiving the diagnostic results, the service 210 sends (transfers) commands and control data to the device (150A ... 150N), after which, in step 570, the device (150A ... 150N), containing the diagnostic results of the mobile computing device, is awaited. Next, in step 575, a delay is performed, after which it returns to step 565.

На ФИГ. 6 показан пример компьютерной системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера, или модуля описываемой в настоящем изобретении системы, включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.In FIG. 6 shows an example of a general-purpose computer system that includes a multi-purpose computing device in the form of a computer 20 or a server, or a module of the system described in the present invention, including a processor 21, a system memory 22, and a system bus 23 that couples various system components, including system memory with 21 processor.

Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.The system bus 23 may be any of various types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. System memory includes read-only memory (ROM) 24 and random access memory (RAM) 25. The ROM 24 stores the basic input / output system 26 (BIOS), consisting of basic routines that help exchange information between elements within the computer 20, for example, at the time of launch.

Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.Computer 20 may also include a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical drive 30 for reading from or recording to a removable optical disc 31 such as a CD, a digital video disc, and other optical means. The hard disk drive 27, the magnetic disk drive 28, and the optical disk drive 30 are connected to the system bus 23 by means of the hard disk drive interface 32, the magnetic disk drive interface 33, and the optical drive interface 34, respectively. Storage devices and their respective computer-readable means provide non-volatile storage of computer-readable instructions, data structures, program modules and other data for computer 20.

Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.Although the typical configuration described here uses a hard disk, a removable magnetic disk 29, and a removable optical disk 31, one skilled in the art will appreciate that other types of computer-readable means that can store data that are accessible by a computer may also be used in a typical operating environment. such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memory (RAM), read-only memory (ROM), etc.

Различные программные модули, включая операционную систему 35, могут быть сохранены на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.Various software modules, including operating system 35, may be stored on a hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25. Computer 20 includes a file system 36 associated with or included with the operating system 35 or more software application 37, other program modules 38, and program data 39. A user may enter commands and information into computer 20 using input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include be a microphone, joystick, gamepad, satellite dish, scanner, or any other.

Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.These and other input devices are connected to the processor 21 often through a serial port interface 46 that is connected to the system bus, but can be connected via other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor 47 or other type of visual display device is also connected to the system bus 23 via an interface, for example, a video adapter 48. In addition to the monitor 47, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.

Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.Computer 20 may operate in a networked environment through logical connections to one or more remote computers 49. The remote computer (or computers) 49 may be another computer, server, router, network PC, peer to peer device, or other node on a single network, and typically also includes includes most or all of the elements described above with respect to computer 20, although only an information storage device 50 is shown. Logical connections include a local area network (LAN) 51 and a global computer network (GC) ) 52. Such networking environments are usually common in offices, enterprise-wide computer networks, the Internet.

Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.The computer 20 used in the LAN network environment is connected to the local area network 51 via a network interface or adapter 53. The computer 20 used in the GC network environment typically uses a modem 54 or other means to establish communication with the global computer network 52, such as the Internet.

Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules or parts thereof described with reference to computer 20 may be stored on a remote information storage device. It should be noted that the network connections shown are typical, and other means may be used to establish communication communication between computers.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims. One skilled in the art will recognize that there may be other embodiments of the present invention consistent with the spirit and scope of the present invention.

Claims (41)

1. Способ для диагностики мобильных вычислительных устройств, который включает:1. A method for diagnosing mobile computing devices, which includes: - осуществление установки службы синхронизации и установки мобильных приложений для диагностики по крайней мере на одно из вычислительных устройств пользователя;- the installation of the synchronization service and the installation of mobile applications for diagnostics on at least one of the user's computing devices; - осуществление установки на вычислительное устройство пользователя драйверов от производителей мобильных операционных систем и производителей мобильных вычислительных устройств, являющихся диагностируемыми устройствами, для осуществления установления связи между мобильными вычислительными устройствами и вычислительными устройствами пользователя;- the installation of drivers on the user's computing device from manufacturers of mobile operating systems and manufacturers of mobile computing devices that are diagnosed devices, for the establishment of communication between mobile computing devices and computing devices of the user; - осуществление установления соединения между мобильными вычислительными устройствами и вычислительными устройствами пользователя;- the implementation of the establishment of a connection between mobile computing devices and computing devices of the user; - осуществление установки мобильного приложения для диагностики мобильного вычислительного устройства на по крайней мере одно такое мобильное вычислительное устройство, причем установка упомянутого мобильного приложения для диагностики осуществляется посредством службы синхронизации и установки мобильных приложений для диагностики;- the implementation of the installation of a mobile application for the diagnosis of a mobile computing device on at least one such mobile computing device, and the installation of the said mobile application for diagnosis is carried out through the synchronization service and the installation of mobile applications for diagnosis; - осуществление пользователем запуска упомянутого мобильного приложения для диагностики на мобильном вычислительном устройстве, причем в момент запуска мобильного приложения для диагностики такое мобильное приложение для диагностики организует TCP-сервер, который ожидает подключения вычислительных устройств пользователя на предопределенном порту, где упомянутый порт выбирается автоматически из доступных портов службой синхронизации и установки мобильных приложений для диагностики;- the implementation by the user of the launch of the aforementioned mobile diagnostic application on a mobile computing device, and at the time of launching the mobile diagnostic application, such a mobile diagnostic application organizes a TCP server that waits for the user's computing devices to be connected on a predetermined port, where the mentioned port is automatically selected from available ports service for synchronization and installation of mobile applications for diagnostics; - осуществление диагностики мобильного вычислительного устройства, причем диагностика мобильного вычислительного устройства включает процесс осуществления диагностики составных элементов мобильного вычислительного устройства;- the diagnosis of a mobile computing device, and the diagnosis of a mobile computing device includes a process for diagnosing the constituent elements of a mobile computing device; - осуществление передачи результатов диагностики по крайней мере на одно вычислительное устройство пользователя посредством службы синхронизации и установки мобильных приложений для диагностики, осуществляющей обмен данными с мобильным приложением для диагностики посредством модуля обмена данными;- the transmission of diagnostic results to at least one computing device of the user through the synchronization service and the installation of mobile diagnostic applications that exchange data with the mobile diagnostic application through the data exchange module; - осуществление отправки результатов диагностики с вычислительного устройства пользователя на веб-сервер, причем результаты диагностики сохраняются по крайней мере на одном сервере базы данных, по крайней мере в одном хранилище данных, по крайней мере в одной базе данных, причем сохраненные результаты диагностики также отображаются по крайней мере одному пользователю посредством веб-интерфейса в веб-браузере с целью определения исправности или неисправности мобильного вычислительного устройства или по крайней мере одного составного элемента мобильного вычислительного устройства.- sending diagnostic results from a user's computing device to a web server, the diagnostic results being stored on at least one database server, at least one data warehouse, at least one database, and the stored diagnostic results are also displayed by at least one user through a web interface in a web browser to determine the health or malfunction of a mobile computing device or at least one composite element of a mobile computing device. 2. Способ по п. 1, в котором при осуществлении диагностики мобильного вычислительного устройства осуществляется диагностика функционирования программного обеспечения, установленного на мобильном вычислительном устройстве, включая диагностику драйверов для составных элементов мобильного вычислительного устройства и приложений.2. The method according to p. 1, in which when diagnosing a mobile computing device, diagnosing the functioning of software installed on the mobile computing device, including diagnosing drivers for the constituent elements of the mobile computing device and applications, is performed. 3. Способ по п. 1, в котором при осуществлении диагностики мобильного вычислительного устройства осуществляется обновление программного обеспечения мобильного вычислительного устройства, в том числе по крайней мере одного установленного на нем приложения или по крайней мере одной части такого приложения, причем такая упомянутая часть приложения связана с конкретным составным элементом мобильного вычислительного устройства.3. The method according to p. 1, in which when diagnosing a mobile computing device, the software of the mobile computing device is updated, including at least one application installed on it or at least one part of such an application, and such said part of the application is related with a specific constituent element of a mobile computing device. 4. Способ по п. 1, в котором при осуществлении диагностики мобильного вычислительного устройства осуществляется обновление драйверов составных элементов мобильного вычислительного устройства, операционных систем или компонентов операционных систем мобильного вычислительного устройства и (или) вычислительного устройства пользователя.4. The method according to p. 1, in which when diagnosing a mobile computing device, drivers of the components of the mobile computing device, operating systems or components of the operating systems of the mobile computing device and / or computing device of the user are updated. 5. Способ по п. 1, в котором при осуществлении диагностики мобильного вычислительного устройства посредством обращения к API операционной системы мобильного вычислительного устройства мобильным приложением для диагностики осуществляется определение доступного количества составных элементов мобильного вычислительного устройства, диагностика которых осуществляется посредством мобильного приложения для диагностики.5. The method according to p. 1, in which when diagnosing a mobile computing device by accessing the API of the operating system of a mobile computing device with a mobile diagnostic application, the available number of components of the mobile computing device is diagnosed through a mobile diagnostic application. 6. Способ по п. 1, в котором составными элементами мобильного вычислительного устройства являются микрофон(ы), динамик(и), экран(ы), датчик(и), камера (камеры) и вспышка (вспышки).6. The method of claim 1, wherein the constituent elements of the mobile computing device are microphone (s), speaker (s), screen (s), sensor (s), camera (s) and flash (s). 7. Способ по п. 6, в котором осуществляется диагностика динамиков мобильного вычислительного устройства, причем на мобильном вычислительном устройстве осуществляется воспроизведение аудиозаписи, а также на мобильном вычислительном устройстве в процессе или после воспроизведения аудиозаписи мобильным приложением для диагностики осуществляется отображение набора изображений, по крайней мере одно из которых соответствует аудиозаписи, и далее пользователем мобильного вычислительного устройства после или во время прослушивания аудиозаписи осуществляется выбор упомянутого изображения соответствующего воспроизведенной аудиозаписи, причем если выбранное пользователем изображение соответствует воспроизведенной аудиозаписи, то диагностика динамиков мобильного вычислительного устройства считается пройденной таким мобильным вычислительным устройством.7. The method according to claim 6, in which the diagnostics of the speakers of the mobile computing device are carried out, moreover, the audio recording is played on the mobile computing device, and also a set of images is displayed on the mobile computing device during or after playback of the audio recording by the mobile diagnostic application, at least one of which corresponds to audio recordings, and then by the user of the mobile computing device after or while listening to the audio pisi selects said image corresponding to the reproduced record, and if the user selected image corresponds to the reproduced record, the diagnosis mobile computing device is considered to be traversed speakers such mobile computing device. 8. Способ по п. 6, в котором осуществляется диагностика микрофонов мобильного вычислительного устройства, причем после запуска мобильного приложения для диагностики в процессе диагностики мобильное приложение для диагностики осуществляет запись «белого шума» посредством по крайней мере одного микрофона мобильного вычислительного устройства, и в случае если мобильным приложением для диагностики было определено, что «белый шум» был записан, то мобильное приложение для диагностики фиксирует исправность микрофона.8. The method according to claim 6, in which the microphones of the mobile computing device are diagnosed, and after starting the mobile application for diagnostics in the diagnostic process, the mobile diagnostic application records “white noise” through at least one microphone of the mobile computing device, and in the case if the mobile diagnostic application determined that “white noise” was recorded, the mobile diagnostic application records the health of the microphone. 9. Способ по п. 1, в котором в мобильном приложении для диагностики осуществляется диагностика мобильного вычислительного устройства на «взлом», причем данная диагностика включает проверку на возможность свободного доступа пользователю и/или одному из приложений, установленных на мобильном вычислительном устройстве, к файловой системе мобильной операционной системы мобильного вычислительного устройства, причем упомянутая диагностика осуществляется посредством установки Windows-службой на мобильное вычислительное устройство неподписанного разработчиком мобильного приложения, причем при попытке запуска мобильным приложением для диагностики или пользователем такого неподписанного приложения осуществляется проверка, в ходе которой, если удается осуществление запуска упомянутого неподписанного приложения, устройство является «взломанным».9. The method according to p. 1, in which the mobile application for diagnostics diagnoses the mobile computing device for “hacking”, and this diagnostic includes checking for free access to the user and / or one of the applications installed on the mobile computing device, to file system of the mobile operating system of the mobile computing device, the aforementioned diagnostics being carried out by installing an unsigned Windows service on the mobile computing device by the developer of the mobile application, and when trying to launch the mobile application for diagnostics or by the user of such an unsigned application, a check is performed during which, if the unsigned application is launched, the device is “hacked”. 10. Способ по п. 9, в котором при осуществлении диагностики на «взлом» мобильного вычислительного устройства посредством мобильного приложения для диагностики осуществляется попытка доступа к системным директориям посредством осуществления чтения содержимого файлов и поддиректорий таких директорий, причем если был обнаружен факт упомянутого чтения, то результатом диагностики является факт «взлома» мобильного вычислительного устройства.10. The method according to p. 9, in which when diagnosing the “hacking” of a mobile computing device using a mobile diagnostic application, an attempt is made to access system directories by reading the contents of files and subdirectories of such directories, and if the fact of the reading was detected, then the result of the diagnosis is the fact of “hacking” a mobile computing device. 11. Способ по п. 10, в котором при осуществлении диагностики на «взлом» мобильного вычислительного устройства посредством использования приложения мобильного приложения для диагностики осуществляется попытка доступа к системным файлам мобильного вычислительного устройства, причем если чтение системных файлов может быть осуществлено, то результатом диагностики в данном случае является факт «взлома» устройства мобильного вычислительного устройства, а в случае если чтение системных файлов и содержимого упомянутых каталогов не может быть осуществлено, то результатом диагностики на «взлом» мобильного вычислительного устройства является тот факт, что мобильное вычислительное устройство не было «взломано».11. The method according to p. 10, in which when diagnosing a “hacking” of a mobile computing device by using the mobile application for diagnostics, an attempt is made to access the system files of the mobile computing device, and if system files can be read, the diagnostic result in in this case is the fact of “hacking” the device of a mobile computing device, and if reading the system files and the contents of the directories mentioned could not s performed, the diagnosis result to "hacking" mobile computing device is the fact that a mobile computing device has not been "hacked". 12. Способ по п. 10, в котором при осуществлении диагностики на «взлом» мобильного вычислительного устройства посредством мобильного приложения для диагностики осуществляется попытка установки мобильного приложения, не подписанного лицензией на мобильное вычислительное устройство, причем в случае, если мобильному приложению или пользователю не удалось установить такое неподписанное приложение, результатом диагностики является факт отсутствия «взлома» мобильного вычислительного устройства.12. The method according to p. 10, in which when diagnosing a “hacking” of a mobile computing device using a mobile diagnostic application, an attempt is made to install a mobile application that is not signed by a license for a mobile computing device, in case the mobile application or user failed install such an unsigned application, the diagnostic result is the fact that there is no “hacking" of the mobile computing device. 13. Способ по п. 1, в котором после установления мобильного приложения для диагностики с использованием службы синхронизации и установки мобильных приложений для диагностики по крайней мере на одно мобильное вычислительное устройство, осуществляется автоматическое подключение мобильных вычислительных устройств по крайней мере к одному вычислительному устройству пользователя.13. The method according to claim 1, in which after installing a mobile diagnostic application using the synchronization service and installing mobile diagnostic applications on at least one mobile computing device, the mobile computing devices are automatically connected to at least one computing device of the user. 14. Способ по п. 1, в котором служба синхронизации и установки мобильных приложений для диагностики для каждого подключенного мобильного вычислительного устройства к вычислительному устройству пользователя создает выделенный поток выполнения программы как части службы синхронизации и установки мобильных приложений для диагностики, причем выделенный поток выполнения программы осуществляет по крайней мере одну попытку организовать сокет с TCP-сервером, и служба синхронизации и установки мобильных приложений для диагностики осуществляет попытку установления соединения между мобильным вычислительным устройством и вычислительным устройством пользователя.14. The method according to claim 1, in which the synchronization and installation service of mobile applications for diagnostics for each connected mobile computing device to the user's computing device creates a dedicated program execution thread as part of the synchronization and installation of mobile applications for diagnostics, the dedicated program execution flow at least one attempt to organize a socket with a TCP server, and the synchronization and installation service for mobile applications for diagnostics is carried out An attempt is made to establish a connection between the mobile computing device and the user's computing device. 15. Способ по п. 14, в котором в случае упомянутого успешного создания выделенного потока выполнения программы осуществляется двухсторонний обмен данными между мобильным приложением для диагностики, установленным на мобильном вычислительном устройстве, и службой синхронизации и установки мобильных приложений для диагностики вычислительного устройства пользователя, причем упомянутый двухсторонний обмен данными осуществляется посредством протокола, который содержит управляющие слова, правила формирования сообщений, правила шифрования сообщений и методы их анализа, где функционирование упомянутого протокола осуществляется посредством стека протоколов TCP/IP, в частности посредством транспортного уровня такого протокола посредством созданных в процессе подключения упомянутых сокетов.15. The method according to p. 14, in which, in the case of the aforementioned successful creation of a dedicated program execution stream, two-way data exchange is carried out between a mobile diagnostic application installed on a mobile computing device and a synchronization and installation service of mobile applications for diagnosing a user's computing device, said two-way data exchange is carried out through a protocol that contains control words, message generation rules, encrypted rules I messages and the methods of analysis, where the operation of the said protocol is carried out by means of the stack TCP / IP protocol, in particular through the transport layer of the protocol by the connection created in the process of said sockets. 16. Способ по п. 15, в котором с каждым из подключенных одновременно мобильных вычислительных устройств к вычислительным устройствам пользователя осуществляется создание выделенного потока службы синхронизации и установки мобильных приложений для диагностики и с каждым из подключенных одновременно мобильных вычислительных устройств устанавливается упомянутое выше независимое соединение, причем управление навигацией в окнах мобильного приложения для диагностики осуществляется посредством упомянутого соединения.16. The method according to p. 15, in which with each of the simultaneously connected mobile computing devices to the computing devices of the user, a dedicated stream of the synchronization service and the installation of mobile applications for diagnostics is created, and the aforementioned independent connection is established with each of the simultaneously connected mobile computing devices, navigation control in the windows of the mobile application for diagnostics is carried out through the said connection. 17. Способ по п. 14, в котором выделенный поток выполнения программы осуществляется после:17. The method according to p. 14, in which the dedicated program execution flow is carried out after: - получения службой синхронизации и установки приложений для диагностики списка подключенных мобильных вычислительных устройств;- receipt by the service of synchronization and installation of applications for diagnosing the list of connected mobile computing devices; - осуществления службой синхронизации и установки приложений для диагностики сравнения подключаемого мобильного вычислительного устройства со списком подключенных мобильных вычислительных устройств по крайней мере к одному вычислительному устройству пользователя;- the implementation by the service of synchronization and installation of applications for diagnostics comparing a connected mobile computing device with a list of connected mobile computing devices to at least one computing device of the user; - осуществления службой синхронизации и установки приложений для диагностики проверки наличия нового мобильного вычислительного устройства, подключенного к вычислительному устройству пользователя, и если такое мобильное вычислительное устройство обнаружено в списке подключенных мобильных вычислительных устройств, то такое устройство добавляется в список подключенных мобильных вычислительных устройств.- the implementation by the service of synchronization and installation of applications for diagnostics to check the availability of a new mobile computing device connected to the user's computing device, and if such a mobile computing device is found in the list of connected mobile computing devices, then such a device is added to the list of connected mobile computing devices. 18. Способ по п. 1, в котором при осуществлении диагностики мобильным приложением для диагностики осуществляется получение данных о производителе мобильного вычислительного устройства, получение свойств мобильного вычислительного устройства.18. The method according to p. 1, in which when performing diagnostics with a mobile application for diagnostics, data is obtained about the manufacturer of the mobile computing device, obtaining the properties of the mobile computing device. 19. Способ по п. 1, в котором при осуществлении диагностики осуществляется отправка команд вычислительным устройством пользователя по крайней мере на одно мобильное вычислительное устройство и вычислительным устройством пользователя осуществляется ожидание ответа от мобильного вычислительного устройства, содержащего результаты диагностики мобильного вычислительного устройства.19. The method according to p. 1, in which, when performing diagnostics, commands are sent by the user's computing device to at least one mobile computing device and the user's computing device waits for a response from the mobile computing device containing the diagnostic results of the mobile computing device. 20. Способ по п. 1, в котором при исполнении мобильного приложения для диагностики на мобильном вычислительном устройстве служба синхронизации и установки мобильных приложений для диагностики с предопределенной периодичностью осуществляет отправку на мобильное вычислительное устройство зашифрованных данных одним из известных способов шифрования, которые мобильное приложение для диагностики однозначно интерпретирует посредством использования временных меток, пароля, который хранится на веб-сервере и используется для защиты от осуществления возможной дешифрации упомянутых данных сторонними пользователями, службами, приложениями и системами.20. The method according to p. 1, in which when executing a mobile diagnostic application on a mobile computing device, the synchronization and installation service for mobile diagnostic applications, with a predetermined frequency, sends encrypted data to the mobile computing device using one of the known encryption methods, which are a mobile diagnostic application unambiguously interprets through the use of timestamps, a password that is stored on a web server and is used to protect against The possibility of decryption of the mentioned data by third-party users, services, applications and systems. 21. Система для диагностики мобильных вычислительных устройств, включающая:21. A system for diagnosing mobile computing devices, including: - по крайней мере одно мобильное вычислительное устройство, которое является диагностируемым устройством, на которое осуществляется:- at least one mobile computing device, which is a diagnosed device, which is implemented: - установка мобильного приложения для диагностики мобильного вычислительного устройства, причем установка упомянутого мобильного приложения для диагностики осуществляется посредством службы синхронизации и установки мобильных приложений для диагностики, причем- installing a mobile application for diagnosing a mobile computing device, and installing said mobile application for diagnostics is carried out by means of a synchronization service and installing mobile applications for diagnostics, - запуск упомянутого мобильного приложения для диагностики на мобильном вычислительном устройстве, где в момент запуска мобильного приложения для диагностики такое мобильное приложение для диагностики организует TCP-сервер, который ожидает подключения вычислительных устройств пользователя на предопределенном порту, где упомянутый порт выбирается автоматически из доступных портов службой синхронизации и установки мобильных приложений для диагностики, причем диагностика мобильного вычислительного устройства включает процесс осуществления диагностики составных элементов мобильного вычислительного устройства;- launching the aforementioned mobile diagnostic application on a mobile computing device, where at the time the mobile diagnostic application is launched, such a mobile diagnostic application organizes a TCP server that waits for the user’s computing devices to be connected on a predefined port, where the mentioned port is automatically selected from the available ports by the synchronization service and installing mobile applications for diagnostics, and diagnostics of a mobile computing device includes a process IMPLEMENT diagnosis of components of mobile computing device; - по крайней мере одно вычислительное устройство пользователя, связанное по крайней мере с одним мобильным вычислительным устройством, причем на упомянутое вычислительное устройство пользователя осуществляется:- at least one computing device of the user associated with at least one mobile computing device, and on said computing device of the user is carried out: - установка службы синхронизации и установки мобильных приложений для диагностики;- installation of a synchronization service and installation of mobile applications for diagnostics; - установка драйверов от производителей мобильных операционных систем и производителей мобильных вычислительных устройств для осуществления установления связи между мобильным вычислительным устройством и вычислительным устройством пользователя;- installing drivers from manufacturers of mobile operating systems and manufacturers of mobile computing devices to establish communication between the mobile computing device and the user's computing device; - модуль обмена данных, который осуществляет передачу результатов диагностики по крайней мере на одно вычислительное устройство пользователя посредством службы синхронизации и установки мобильных приложений для диагностики, осуществляющей обмен данными с мобильным приложением для диагностики;- a data exchange module that transmits diagnostic results to at least one user computing device through a synchronization service and installs mobile diagnostic applications that exchanges data with a mobile diagnostic application; - веб-сервер, на который осуществляется отправка результатов диагностики с вычислительного устройства пользователя;- a web server to which diagnostic results are sent from the user's computing device; - сервер базы данных, на который осуществляется сохранение результатов диагностики, переданных на веб-сервер, причем сохранение осуществляется по крайней мере в одном хранилище данных, по крайней мере в одной базе данных, причем сохраненные результаты диагностики также отображаются по крайней мере одному пользователю посредством веб-интерфейса в веб-браузере с целью определения исправности или неисправности мобильного вычислительного устройства или по крайней мере одного составного элемента мобильного вычислительного устройства.- a database server to which the diagnostic results transmitted to the web server are stored, and the storage is carried out in at least one data store, at least one database, and the stored diagnostic results are also displayed to at least one user via the web -interface in a web browser to determine the health or malfunction of a mobile computing device or at least one component of a mobile computing device.
RU2017144645A 2017-12-19 2017-12-19 Method and system for diagnostics of mobile computer devices RU2671999C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017144645A RU2671999C1 (en) 2017-12-19 2017-12-19 Method and system for diagnostics of mobile computer devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017144645A RU2671999C1 (en) 2017-12-19 2017-12-19 Method and system for diagnostics of mobile computer devices

Publications (1)

Publication Number Publication Date
RU2671999C1 true RU2671999C1 (en) 2018-11-08

Family

ID=64103471

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017144645A RU2671999C1 (en) 2017-12-19 2017-12-19 Method and system for diagnostics of mobile computer devices

Country Status (1)

Country Link
RU (1) RU2671999C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020222673A1 (en) * 2019-04-29 2020-11-05 Glazman Grigorii Lvovich Method and system for diagnosing mobile computing devices
RU2802712C1 (en) * 2023-01-11 2023-08-31 Акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Method for diagnostics of complex of testing built-in software of electronic devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2321968C2 (en) * 2002-07-01 2008-04-10 Квэлкомм Инкорпорейтед Method for remote interaction through wireless network with diagnostic interface situated on a wireless device
US8000700B2 (en) * 2007-11-20 2011-08-16 Samsung Electronics Co., Ltd. Device diagnostics and monitoring method and system
US20120208531A1 (en) * 2005-06-14 2012-08-16 St-Ericsson Sa Performing diagnostics in a wireless system
US20150289152A1 (en) * 2014-04-04 2015-10-08 Cellco Partnership D/B/A Verizon Wireless Remote diagnostics for mobile devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2321968C2 (en) * 2002-07-01 2008-04-10 Квэлкомм Инкорпорейтед Method for remote interaction through wireless network with diagnostic interface situated on a wireless device
US20120208531A1 (en) * 2005-06-14 2012-08-16 St-Ericsson Sa Performing diagnostics in a wireless system
US8000700B2 (en) * 2007-11-20 2011-08-16 Samsung Electronics Co., Ltd. Device diagnostics and monitoring method and system
US20150289152A1 (en) * 2014-04-04 2015-10-08 Cellco Partnership D/B/A Verizon Wireless Remote diagnostics for mobile devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020222673A1 (en) * 2019-04-29 2020-11-05 Glazman Grigorii Lvovich Method and system for diagnosing mobile computing devices
EA036911B1 (en) * 2019-04-29 2021-01-14 Григорий Львович Глазман Method and system for diagnostics of mobile computer devices
RU2802712C1 (en) * 2023-01-11 2023-08-31 Акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Method for diagnostics of complex of testing built-in software of electronic devices

Similar Documents

Publication Publication Date Title
KR102268355B1 (en) Cloud deployment infrastructure validation engine
US9015832B1 (en) Application auditing through object level code inspection
US9720799B1 (en) Validating applications using object level hierarchy analysis
US20140280913A1 (en) Device and settings management platform
US20220050765A1 (en) Method for processing logs in a computer system for events identified as abnormal and revealing solutions, electronic device, and cloud server
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
CN102306117B (en) Automatic hardware test alarm method and device
CN105659248A (en) Automated risk tracking through compliance testing
Spolaor et al. Delta: Data extraction and logging tool for android
KR20140046121A (en) System and method for testing application
CN112783789B (en) Adaptation test method, device and computer readable storage medium
US11416825B2 (en) Managed rooms backbone
RU2671999C1 (en) Method and system for diagnostics of mobile computer devices
WO2020222673A1 (en) Method and system for diagnosing mobile computing devices
US9367373B2 (en) Automatic configuration consistency check
CN110795330A (en) Monkey pressure testing method and device
CN114398164A (en) Method executed at application program detection terminal and application program detection terminal
KR101415270B1 (en) Network system monitoring application installed on computing device
CN112650557A (en) Command execution method and device
US10649869B2 (en) Burn process data retrieval and notification
US10089261B2 (en) Discriminating dynamic connection of disconnectable peripherals
CN113127325A (en) Method and device for processing question list and storage medium
CN112711518A (en) Log uploading method and device
CN110286958B (en) Node information acquisition method, device and storage medium
US20190004935A1 (en) System and method for diagnosing a computing device