RU2671999C1 - Method and system for diagnostics of mobile computer devices - Google Patents
Method and system for diagnostics of mobile computer devices Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 83
- 238000009434 installation Methods 0.000 claims abstract description 40
- 239000000470 constituent Substances 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 21
- 238000003745 diagnosis Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 12
- 230000036541 health Effects 0.000 claims description 6
- 230000007257 malfunction Effects 0.000 claims description 5
- 238000002405 diagnostic procedure Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 239000002131 composite material Substances 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000008520 organization Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 35
- 238000012546 transfer Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004870 electrical engineering Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements 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
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
Изображенная на ФИГ. 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,
Стоит отметить, что компоненты, изображенной на ФИГ. 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
Указанный выше веб-сервер 110 может быть реализован специализированным вычислительным устройством (в частности, компьютером) и/или специализированным оборудованием для выполнения на нем сервисного программного обеспечения, в том числе сервисами (службами) тех или иных задач.The
Стоит отметить, что сервер базы данных 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
Также данные в упомянутых хранилищах данных могут храниться, по крайней мере, в одном файле, в частном случае, в виде текстового файла, либо данные могут храниться в любом, по крайней мере, одном другом известном в настоящее время формате хранения данных/информации или в формате данных, изобретенном позднее.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
Стоит отметить, что выполнение службы 210 в частном случае осуществляется под управлением операционной системы (ОС) Windows, т.е. является Win-службой (Windows-службой).It is worth noting that the execution of
Стоит также отметить, что служба 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
Также, служба 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
В частном случае осуществления настоящего изобретение передача данных между службой 210 и мобильными вычислительными устройствами (150A…150N) осуществляется посредством USB-соединения между такими службой и устройствами.In the particular case of the implementation of the present invention, data transfer between the
Стоит отметить, что веб-сервер 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
Далее служба 210 для каждого подключенного мобильного вычислительного устройства (150A…150N) к вычислительному устройству пользователя (140A…140N) организует (создает) выделенный поток выполнения программы (Device Worker Thread) - как части службы 210. В частном случае, каждый выделенный поток выполнения программы осуществляет, по крайней мере, одну попытку организовать сокет (от англ. socket - программный интерфейс для обеспечения обмена данными между процессами, причем такие процессы при упомянутом обмене могут исполняться как на одном вычислительном устройстве, то и на различных вычислительных устройствах, связанных между собой) с ТСР-сервером (в частном случае, в качестве которого выступает мобильное приложение), в частном случае, служба 210 осуществляет попытку установления соединения между мобильным вычислительным устройством (150A…150N) и вычислительным устройством пользователя (140A…140N). Стоит отметить, что в частном случае выделенный поток выполнения программы (выделенный поток, выделенная очередь, отдельная очередь, отдельная «ветка») осуществляет получение данных, по крайней мере, с одного, мобильного вычислительного устройства (150A…150N), являющимся диагностируемым устройством, а также осуществляет обработку данных, и передачу полученных данных с мобильного вычислительного устройства (150A…150N) на вычислительное устройство пользователя (140A…140N), как продемонстрировано на ФИГ. 5.Next, the
При успешном установлении упомянутого соединения (в частности, в случае успешного создания выделенного потока) осуществляется двухсторонний обмен данными между приложением 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
В процессе исполнения (выполнения) приложения 280 на мобильном вычислительном устройстве (150A…150N) служба 210 с предопределенной (заданной, например, пользователем вычислительного устройства пользователя 140A…140N) периодичностью (например, 1-5 секунд) осуществляет отправку на мобильное вычислительное устройство (150A…150N) данных (которые могут быть зашифрованы, например, одним из известных способов или методов шифрования), в частности, набор символов, который приложение 280 может (однозначно) интерпретировать (в том числе, расшифровать), в частности посредством использования временных меток, пароля (который, в частном случае, хранится на веб-сервере 110, и используется для защиты от осуществления возможной дешифрации (дешифрования) описываемых данных сторонними пользователями (службами, приложениями, системами и т.д.) описываемой системы и способа, в частности, мошенниками, и шифрования (например, если передача упомянутых данных (обмен данными) осуществляется в зашифрованном виде), как более подробно описано далее.In the process of execution (execution) of the
В случае нарушения ожидаемой хеш-суммы, отсутствия сообщений от вычислительного устройства пользователя (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),
Так, описанный выше протокол может быть реализован модулем двухстороннего обмена данными (который является частью мобильного приложения 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
- осуществление контроля соединения;- 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
В частном случае осуществления настоящего изобретения номером порта такого соединения может являться номер порта «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
Далее, вычислительное устройство пользователя (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
- 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,
Далее мобильное вычислительное устройство (150A…150N), в частности, TCP-сервер, анализирует полученные данные и осуществляет:Next, a mobile computing device (150A ... 150N), in particular, a TCP server, analyzes the received data and performs:
- продолжение работы приложения 280;- continued
- выполнение команды навигации (упомянутой выше команды 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
В случае отсутствия от вычислительного устройства пользователя (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
При завершении тестирования (приложение 280 отправляет на вычислительное устройство пользователя (140A…140N) данные о (результатах) проведенной диагностике (в частности, тесте) мобильного вычислительного устройства (150A…150N), например, название и/или идентификационные данные такого мобильного вычислительного устройства (150A…150N) и состояние, в частности, работает или не работает данное мобильное вычислительное устройство (150A…150N), или состояние, по крайней мере, одной составной части такого мобильного вычислительного устройства (150A…150N), например, динамика, микрофона, USB-модуля, GSM-модуля, различных кнопок, сенсоров, камер и т.д. в частности, работает или не работает данная конкретная составная часть такого мобильного вычислительного устройства (150A…150N). Стоит отметить, что такие данные, в частности, в виде строки, передаваемые с мобильного вычислительного устройства (150A…150N), в частности с TCP сервера, на вычислительное устройство пользователя (140A…140N), могут иметь следующий формат:Upon completion of testing (
ID:SN; TYPE: Type Value; PropNamel: Value 1; PropName2:Value2; PropNameX: ValueX, гдеID: SN; TYPE: Type Value; PropNamel:
- 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:
«;»- разделитель пар;";" - 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
Затем в шаге 317 осуществляется установление связи (соединения) между мобильными вычислительными устройствами (150A…150N) и вычислительными устройствами пользователя (140A…140N).Then, in
Далее в шаге 320 службой 210 осуществляется установка приложения 280 на мобильные вычислительные устройства (150A…150N).Next, in
После того, как приложение 280 установлено (в шаге 320), по крайней мере, на одно мобильное вычислительное устройство (150A…150N), в шаге 323 пользователем осуществляется запуск приложения 280 на устройстве (150A…150N).After the
Далее, в шаге 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
Далее, в частном случае, по завершению (или в процессе осуществления) диагностики, по крайней мере, одного мобильного вычислительного устройства (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
Далее, в шаге 335 осуществляется отправка результатов (данных, описываемых в рамках настоящего изобретения) диагностики (тестирования) с устройства (140A…140N) на веб-сервер 110, которые могут быть сохранены, по крайней мере, на одном сервере базы данных 120, по крайней мере, в одном хранилище данных, например, по крайней мере, в одной базе данных, и которые могут быть отображены, по крайней мере, одному пользователю посредством описываемого интерфейса пользователя (в частности, посредством веб-интерфейса, например, в веб-браузере 220 и/или на веб-сайте 260).Next, in
Стоит отметить, что при осуществлении диагностики мобильного вычислительного устройства (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,
В частном случае осуществления настоящего изобретения в приложении 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
В частном случае реализации настоящего изобретения в приложении 280 осуществляется тестирование (диагностики) микрофонов мобильного вычислительного устройства (150A…150N). После запуска приложения 280, при начале прохождении тестов (в процессе диагностики), приложение осуществляет считывание (запись) "белого шума" посредством, по крайней мере, одного микрофона устройства (150A…150N). В случае если приложением 280 было определено (установлено, зафиксировано), что "белый шум" был записан, то приложение 280 фиксирует результат, что микрофон исправен. В частном случае, «белый шум» является стационарным шумом, спектральные составляющие которого равномерно распределены по всему диапазону задействованных частот. В частном случае "белый шум" имеет одинаковую спектральную мощность на всех частотах. Также, "белым шумом" являются любой шум (шумы), спектральная плотность которых одинакова (или незначительно отличается) в упомянутом диапазоне частот.In the particular case of the implementation of the present invention in
Также, в частном случае, если "белый шум" при тестировании (диагностике) записан не был, но при произведении звуков во время тестирования динамиков микрофоны фиксируют запись, так что приложение 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
Стоит отметить, что если на момент прохождения тестов динамиков в приложении 280, описанными выше способами, результат работоспособности микрофонов не был зафиксирован приложением 280, то пользователю в приложении 280 становится доступной функция включения записи, в которой он может записать (осуществить запись, в том числе стандартными средствами мобильного вычислительного устройства (150A…150N)) на микрофон(ы) произвольные звуки. В случае, если после осуществления записи, на микрофон (микрофонах) приложение 280 не фиксирует наличие записи (звуков), то приложение 280 фиксируется результат, что микрофон не исправен.It is worth noting that if, at the time of passing the speaker tests in
В частном случае, в процессе тестирования (диагностики) микрофонов приложение 280 посредством обращения к API ОС мобильного вычислительного устройства (150A…150N) устанавливает количество микрофонов у конкретного устройства (150A…150N). Далее, в процессе работы приложения 280, в частности, в фоновом режиме, каждым доступным микрофоном осуществляется измерение (замер) уровня шумов (которыми могут быть любые звуки). При преодоления порога в несколько сотых децибел (зафиксированных встроенной системой или средствами микрофона) микрофон считается прошедшим тестирование (диагностику) как исправный. В частном случае осуществления изобретения разница в несколько сотых децибел (в частности между текущим уровнем и (абсолютным) нулем) позволяет приложению 280 установить факт получения микрофоном устройства (150A…150N) звуков и возможность осуществления микрофоном трансформирования их в электрические сигналы.In the particular case, in the process of testing (diagnosing) microphones,
В частном случае реализации настоящего изобретения в приложении 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
На ФИГ. 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
Далее в шаге 420 службой 210 осуществляется сравнение подключаемого мобильного вычислительного устройства (150A…150N) к вычислительному устройству пользователя (140A…140N) со списком подключенных к вычислительному устройству пользователя (140A…140N) мобильных вычислительных устройств (150A…150N), полученным на предыдущей итерации.Next, in
Затем в шаге 425 службой 210 осуществляется проверка наличия нового мобильного вычислительного устройства (150A…150N), подключенного к вычислительному устройству пользователя (140A…140N). Если такое устройство (150A…150N) обнаружено (в списке подключенных мобильных вычислительных устройств), то такое устройство добавляется в список подключенных мобильных вычислительных устройств (150A…150N) в шаге 430, после чего процесс переходит в шаг 435.Then, in
В шаге 435 осуществляется выполнение выделенного потока выполнения программы и далее службой 210 осуществляется выполнение шага 425.In
Если в шаге 425 сервисом 210 не было обнаружено наличие нового мобильного вычислительного устройства (150A…150N), подключенного к вычислительному устройству пользователя (140A…140N), то осуществляется выполнение шага 440. В шаге 440 служба 210 осуществляет проверку наличия удаленных (отключенных от персонального компьютера) мобильных вычислительных устройств (150A…150N). В случае, если удаленных устройств (150A…150N) не было обнаружено сервисом 210, то осуществляется возврат в шаг 415.If the
В случае если сервис 210 обнаружил удаленное (отключенное от ПК) мобильное вычислительного устройство (150A…150N), то осуществляется выполнение шага 445. В шаге 445 осуществляется удаление такого мобильного вычислительного устройства (150A…150N) из списка подключенных мобильных вычислительных устройств, поле чего в шаге 450 осуществляется прерывание выделенного потока выполнения программы и осуществляется возврат к шагу 440.If the
ФИГ. 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
Далее в шаге 545 осуществляется отправка данных мобильных вычислительных устройств (150A…150N), после чего в шаге 550 служба 210 осуществляет проверку того, удалось ли отправить упомянутые данные. Если в шаге 550 установлено, что службе 210 не удалось отправить данные, то в шаге 580 служба 210 осуществляет остановку выделенного потока выполнения программы.Next, in
Если в шаге 550 установлено, что службе 210 удалось отправить данные, то шаге 555 осуществляется установка приложения 280 и далее осуществляется диагностика (тестирование) мобильные вычислительные устройства (150A…150N) средствами мобильного приложения 280 и в шаге 560 осуществляется ожидание результатов диагностики (тестирования, проверки) устройства (150A…150N). Далее в шаге 565 после получения результатов диагностики службой 210 осуществляется отправка (передача) команд и контрольных данных на устройство (150A…150N), после чего в шаге 570 осуществляется ожидание ответа устройства (150A…150N), содержащего результаты диагностики мобильного вычислительного устройства. Далее в шаге 575 осуществляется задержка, после чего осуществляется возврат к шагу 565.If it was determined in
На ФИГ. 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
Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.The
Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.
Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.Although the typical configuration described here uses a hard disk, a removable
Различные программные модули, включая операционную систему 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,
Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.These and other input devices are connected to the
Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.
Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.The
Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.The
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.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)
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)
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)
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 |
-
2017
- 2017-12-19 RU RU2017144645A patent/RU2671999C1/en active
Patent Citations (4)
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)
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 |