СИСТЕМА ТЕЛЕМЕТРИИ ДЛЯ ОБЛАЧНОЙ СИСТЕМЫ СИНХРОНИЗАЦИИ
TELEMETRY SYSTEM FOR THE CLOUD SYSTEM OF SYNCHRONIZATION

Уровень техники изобретения
[0001] Современный пользователь компьютеров может иметь множество компьютерных устройств, таких как настольный компьютер, портативный компьютер, планшетный компьютер или сотовый телефон с вычислительной мощностью, называемый «смартфоном». Пользователь может хранить файлы в одном устройстве, синхронизируемом с файлами по множеству других устройств. Пользователь может переносить любые изменения с некоторым файлом в одном устройстве в другие копии этого файла в других устройствах.
Сущность изобретения
[0002] Данный раздел Сущность изобретения предоставляется для введения подбора понятий в упрощенной форме, которые дополнительно описываются ниже в разделе Подробное описание. Данный раздел Сущность изобретения не предназначается для обозначения ключевых признаков или существенных признаков заявляемого изобретения, а также не предназначается для использования с целью накладывания ограничений на объем заявляемого изобретения.
[0003] Варианты осуществления, обсуждаемые ниже, относятся к системе телеметрии, следящей за облачной системой синхронизации для улучшения правильности и качества функционирования. Прокси-агент службы может принимать набор метаданных соответствующего файла, относящийся к соответствующему файлу, хранящемуся в облачной учетной записи пользователя облачной системы синхронизации. Прокси-агент службы может выполнять проверку синхронизации набора метаданных соответствующего файла с локальным файлом, сохраненным в клиентском устройстве. Прокси-агент службы может создавать отчет телеметрии, описывающий ошибку синхронизации, определенную посредством проверки синхронизации.
Перечень фигур чертежей
[0004] Для описания принципа, по которому могут быть получены описанные выше и другие преимущества и признаки, приводится более конкретное описание, также раскрываемое посредством ссылок на конкретные варианты осуществления изобретения, которые изображены на сопроводительных чертежах. Понимая, что на данных чертежах изображены только типичные варианты осуществления и что данные чертежи не предназначены, поэтому, ограничивать их объем, варианты реализации будут описываться и объясняться с помощью дополнительных особенностей и подробностей с использованием сопроводительных чертежей.
[0005] На Фиг.1 изображен, в блок-схеме, один вариант осуществления сети с синхронизацией в облаке.
[0006] На Фиг.2 изображен, в блок-схеме, один вариант осуществления вычислительного устройства.
[0007] На Фиг.3 изображен, в блок-схеме, один вариант осуществления сообщения c набором метаданных соответствующего файла.
[0008] На Фиг.4 изображен, в блок-схеме, один вариант осуществления отчета телеметрии.
[0009] На Фиг.5 изображен, в блок-схеме, один вариант осуществления записи телеметрии.
[0010] На Фиг.6 изображен, в блок-схеме, один вариант осуществления обзорного отчета.
[0011] На Фиг.7 изображен, в блок-схеме последовательности операций, один вариант осуществления способа синхронизации локального файла с использованием клиентского устройства.
[0012] На Фиг.8 изображен, в блок-схеме последовательности операций, один вариант осуществления способа выполнения проверки синхронизации.
[0013] На Фиг.9 изображен, в блок-схеме последовательности операций, один вариант осуществления способа синхронизации соответствующего файла с использованием облачного сервера.
[0014] На Фиг.10 изображен, в блок-схеме последовательности операций, один вариант осуществления способа обработки отчета телеметрии в сервере телеметрии.
Подробное описание
[0015] Ниже подробно обсуждаются варианты осуществления. В то время как обсуждаются конкретные варианты реализации, следует понимать, что это делается только в иллюстративных целях. Специалисту будет понятно, что без отступления от сущности и объема изобретения согласно данному раскрытию могут использоваться другие составляющие и конфигурации. Варианты реализации могут быть машинно-реализуемым способом, материальным машиночитаемым носителем, на котором сохранен набор команд, детализирующих способ, для по меньшей мере одного процессора или клиентского устройства.
[0016] Пользователь может содержать копию файла данных на множестве устройств, таких как планшетный компьютер, портативный компьютер, настольный компьютер и смартфон. Файл с данными может быть текстовым файлом, файлом цифрового изображения, аудиофайлом, видеофайлом или исполняемым приложением программного обеспечения. Пользователь может сохранять копию этого файла с данными с использованием облачных вычислений. Облачные вычисления позволяет прокси-агенту службы выгружать некоторые функции пользовательского устройства в одно или более сетевых устройств, называемых облаком.
[0017] Пользователь может осуществлять доступ к любой облачной службе, предоставляемой облаком, с использованием учетной записи пользователя в облаке. Облако может выполнять функции обработки и резервного копирования для пользовательского устройства. Пользователь может хранить копию файла с данными на облачном сервере, соединяющемся, по меньшей мере, периодически через сеть с каждым устройством, связанным с пользователем. Каждый раз, когда файл с данными обновляется на одном пользовательском устройстве, файл с данными может синхронизироваться с копией на облачном сервере и любом другом пользовательском устройстве с облачной учетной записью пользователя.
[0018] Система телеметрии может получать данные от каждой конечной точки облака для слежения за правильностью и качеством функционирования в течение работы облачной службы, такой как облачная система синхронизации. Клиентское устройство может следить за синхронизацией и создавать отчет телеметрии для отправки в сервер телеметрии. Клиентское устройство может использовать метаданные файла для проверки того, что синхронизация произошла корректно. Клиентское устройство может также сообщать о любых нарушениях утверждений или остановах синхронизации, которые происходят в течение процесса синхронизации.
[0019] Сервер телеметрии может затем использовать эти данные для документирования и диагностирования любых ошибок синхронизации, которые возникают в течение процесса синхронизации. Сервер телеметрии может идентифицировать любые распространенные ошибки или шаблоны ошибок и автоматически предоставлять исправление ошибок для коррекции этих ошибок. Сервер телеметрии может отправлять обзорный отчет пользователю клиентского устройства или администратору облачной системы синхронизации. Обзорный отчет может организовывать данные телеметрии в информационную запись функционирования всей службы, охватывающую облачную систему синхронизации, информационные записи функционирования совокупности пользователей, охватывающую различные демографические группы пользователей облачной системы синхронизации, и информационную запись функционирования отдельного пользователя.
[0020] Таким образом, в одном варианте осуществления система телеметрии может следить за облачной системой синхронизации для улучшения функционирования. Прокси-агент службы может принимать набор метаданных соответствующего файла, относящийся к соответствующему файлу, хранящемуся в облачной учетной записи пользователя облачной системы синхронизации. Прокси-агент службы может выполнять проверку синхронизации набора метаданных соответствующего файла с локальным файлом, хранящимся в клиентском устройстве. Прокси-агент службы может создавать отчет телеметрии, описывающий ошибку синхронизации, определенную посредством проверки синхронизации.
[0021] На Фиг.1 изображен, в блок-схеме, один вариант осуществления сети 100 с синхронизацией в облаке. Клиентское устройство 110 может хранить локальный файл 112, такой как текстовый файл, файл цифрового аудио, файл цифрового изображения, файл цифрового видео, приложение или файл с другими данными. Клиентское устройство 110 может быть настольным компьютером, портативным компьютером, карманным компьютером, смартфоном или другим вычислительным устройством. Клиентское устройство 110 может использовать прокси-агент 114 службы, чтобы он действовал в качестве клиентского интерфейса с облаком для подписки на облачную службе, такую как облачная система синхронизации. Прокси-агент 114 службы может реализовывать клиентское средство 116 синхронизации для поддержания синхронизированных копий локального файла 112 всюду по сети 100 с синхронизацией в облаке.
[0022] Прокси-агент 114 службы может использовать соединение 120 с сетью передачи данных для соединения с облачным сервером 130. Облачный сервер 130 может хранить учетную запись 132 пользователя в облаке для пользователя, связанного с клиентским устройством 110. Учетная запись 132 пользователя в облаке может содержать соответствующий файл 134 для локального файла 112, хранящегося в клиентском устройстве 110. Соответствующий файл 134 является копией версии локального файла 112, хранящегося в клиентском устройстве 110. Облачный сервер 130 может реализовывать средство 136 синхронизации в облаке для синхронизации локального файла 112 с соответствующим файлом 134 по предварительно установленному расписанию или каждый раз, когда обновляется либо локальный файл 112, либо соответствующий файл 134.
[0023] Дополнительно, ассоциированное пользовательское устройство 140 может иметь связанный с ним прокси-агент 142 службы, действующий в качестве воплощения учетной записи 132 пользователя в облаке, поддерживающей соответствующий файл 134. Ассоциированное пользовательское устройство 140 может использовать связанное с ним средство 144 синхронизации для синхронизации соответствующего файла 134 либо с соответствующим файлом 134 на облачном сервере 130, либо с локальным файлом 112 в клиентском устройстве 110. Ассоциированное пользовательское устройство 140 является любым устройством, регистрируемым в учетной записи 132 пользователя в облаке. Ассоциированное пользовательское устройство 140 можно считать отдельным клиентским устройством 110 и наоборот.
[0024] Сервер 150 телеметрии может поддерживать систему телеметрии в облаке для слежения за правильностью и качеством функционирования облачной системы синхронизации. Доступ к серверу 150 телеметрии может осуществляться через облачный сервер 130 или может осуществляться непосредственно через соединение 120 с сетью передачи данных. Сервер 150 телеметрии может принимать отчет телеметрии от клиентского устройства 110 или облачного сервера 130, описывающий правильность и качество функционирования синхронизации, включая любые ошибки синхронизации, которые могли произойти. Сервер 150 телеметрии может затем предоставлять клиентскому устройству 110 обзорный отчет, который следует показывать пользователю для описания функционирования облачной системы синхронизации. Сервер 150 телеметрии может содержать базу 152 данных известных ошибок для хранения распространенных ошибок или шаблонов ошибок, и исправления ошибок или пользовательские действия, которые могут корректировать эти ошибки.
[0025] На Фиг.2 изображена блок-схема примерного вычислительного устройства 200, которое может действовать в качестве клиентского устройства 110, ассоциированного пользовательского устройства 140, облачного сервера 130 или сервера 150 телеметрии. Вычислительное устройство 200 может объединять одно или более из аппаратного обеспечения, программного обеспечения, встроенного микропрограммного обеспечения (firmware) и технологии система-на-микросхеме для реализации системы телеметрии или облачной системы синхронизации. Вычислительное устройство 200 может включать в себя шину 210, процессор 220, память 230, постоянное запоминающее устройство (ROM) 240, устройство 250 хранения данных, устройство 260 ввода, устройство 270 вывода и сетевой интерфейс 280. Шина 210 или другая система связи между компонентами, может разрешать осуществление связи среди компонентов вычислительного устройства 200.
[0026] Процессор 220 может включать в себя по меньшей мере один традиционный процессор или микропроцессор, который интерпретирует и исполняет набор команд. Память 230 может быть оперативным запоминающим устройством (RAM) или другим типом устройства динамического хранения, которое хранит информацию и команды для исполнения процессором 220. Память 230 может также хранить временные переменные или другую промежуточную информацию, используемую в течение исполнения команд процессором 220. ROM 240 может включать в себя традиционное устройство ROM или другой тип устройства статического хранения, которое хранит статическую информацию и команды для процессора 220. Устройство 250 хранения данных может включать в себя любой тип материального машиночитаемого носителя, такого как, например, магнитный или оптический носитель записей и его соответствующий привод. Материальный машиночитаемый носитель является физическим носителем, хранящим машиночитаемый код или команды, в противоположность временному носителю или сигналу. Устройство 250 хранения данных может хранить набор команд, детализирующих способ, которые при их исполнении одним или более процессорами предписывают упомянутому одному или более процессорам выполнять способ. Устройство 250 хранения данных может также быть базой данных или интерфейсом базы данных для хранения записей телеметрии.
[0027] Устройство 260 ввода может включать в себя один или более традиционных механизмов, которые разрешают пользователю вводить информацию в вычислительное устройство 200, таких как клавиатура, мышь, устройство распознавания голоса, микрофон, гарнитура, сенсорный экран и т.д. Устройство 270 вывода может включать в себя один или более традиционных механизмов, которые выводят данные пользователю, включая дисплейное устройство, принтер, один или более громкоговорителей, гарнитуру или носитель, такой как запоминающее устройство, или магнитный или оптический диск и соответствующий привод. Сетевой интерфейс 280 может включать в себя любой подобный приемопередатчику механизм, который предоставляет вычислительному устройству 200 возможность осуществления связи с другими устройствами или сетями. Сетевой интерфейс 280 может быть беспроводным, проводным или оптическим интерфейсом.
[0028] Вычислительное устройство 200 может выполнять такие функции в ответ на исполнение процессором 220 последовательности команд, содержащихся в считываемом компьютером носителе, таком как, например, память 230, магнитный диск или оптический диск. Такие команды могут быть считаны в память 230 из другого считываемого компьютером носителя, такого как устройство 250 хранения данных или из отдельного устройства через интерфейс 280 связи.
[0029] На Фиг.3 изображен, в блок-схеме, один вариант осуществления сообщения 300 с набором метаданных соответствующего файла. Сообщение 300 с набором метаданных соответствующего файла может иметь адрес 302 клиентского устройства для указания клиентского устройства 110, в которое отправляется сообщение 300 с набором метаданных соответствующего файла. Сообщение 300 с набором метаданных соответствующего файла может передавать набор 304 метаданных соответствующего файла в клиентское устройство 110. Набор 304 метаданных соответствующего файла описывает характеристики соответствующего файла 134. Набор 304 метаданных соответствующего файла может иметь имя 306 файла, идентифицирующее соответствующий файл 134, иерархию 308 файла, описывающую местоположение хранения соответствующего файла 134, размер 310 соответствующего файла 134, хэш-значение 312 файла для соответствующего файла 134 и временную отметку 314, идентифицирующую последний момент времени, когда соответствующий файл 134 был изменен. Хэш-значение 312 файла является значением, созданным посредством применения хеш-функции к содержимому соответствующего файла 134. Посредством сравнения хэш-значения 312 файла для соответствующего файла 134 с хэш-значением 312 файла для локального файла 112 процессор может определять, является ли соответствующий файл 134 тем же самым, что и локальный файл 112.
[0030] На Фиг.4 изображен, в блок-схеме, один вариант осуществления отчета 400 телеметрии. Отчет 400 телеметрии может иметь адрес 402 сервера телеметрии для указания сервера 150 телеметрии, в который отправляется отчет 400 телеметрии. Отчет 400 телеметрии может передавать набор 404 данных телеметрии в сервер 150 телеметрии. Набор 404 данных телеметрии может описывать функционирование облачной системы синхронизации в течение синхронизации. Набор 404 данных телеметрии может содержать любое количество типов данных телеметрии.
[0031] Например, набор 404 данных телеметрии может иметь идентификатор 406 пользователя, описывающий клиентское устройство 110. Набор 404 данных телеметрии может иметь описание 408 файла с данными, описывающее локальный файл 112 или соответствующий файл 134, такое как тип файла и создатель файла. Набор 404 данных телеметрии может иметь описание 410 программного обеспечения (SW), описывающее программное обеспечение, используемое для считывания локального файла 112 или соответствующего ему файла 134, такое как номер версии или разработчик.
[0032] Набор 404 данных телеметрии может иметь данные 412 ошибки синхронизации, описывающие ошибку синхронизации, идентифицированную посредством проверки синхронизации, наряду со временем 414 события, относящимся к этой ошибке синхронизации. Время 414 события может указывать время ошибки синхронизации, определенной посредством временной отметки 314 метаданных, а не временем проверки синхронизации.
[0033] Данные 416 нарушения утверждения в наборе 404 данных телеметрии могут описывать нарушение утверждения, которое произошло в течение синхронизации локального файла 112 и соответствующего файла 134, наряду с любыми данными 418 журнала утверждений, взятых во время нарушения утверждения. Данные 416 нарушения утверждения могут сообщать о любых нарушенных утверждениях, таких как утверждение в отладочной сборке, утверждение в розничной сборке, утверждение в поставочной сборке или другом, в сервер 150 телеметрии для отладки.
[0034] Данные 420 останова синхронизации в наборе 404 данных телеметрии могут описывать останов синхронизации, который произошел в течение синхронизации локального файла 112 и соответствующего файла 134, наряду с любыми данными 422 журнала остановов, взятых во время останова синхронизации. Прокси-агент 114 службы может попытаться самостоятельно осуществить диагностику какого-либо нарушения для продолжения синхронизации. Если, например, выгрузка нарушается из «нарушенного предварительного условия», а перечень последовательных изменений возвращает ошибку, указывающую отсутствие совершения какой-либо модификации и отсутствие какого-либо продолжения, то прокси-агент 114 службы может идентифицировать останов. Прокси-агент 114 службы может идентифицировать останов на основе отсутствия дальнейшего продолжения, совершаемого, пока служба в облаке не сделает возможной выгрузку или не вернет причину нарушения для выгрузки.
[0035] Набор 404 данных телеметрии может описывать метрику 424 функционирования синхронизации, следящую за синхронизацией локального файла 112 и соответствующего файла 134, включая то, является ли синхронизация успешной. Метрика 424 функционирования синхронизации описывает выполнение синхронизации, например, частоту нарушений или успешных выполнений, время вызова синхронизации, использование ширины полосы пропускания, использование процессора в клиентском устройстве 110, и другие метрики. Метрика 424 функционирования синхронизации может исключать ресурсы, используемые процессом телеметрии.
[0036] На Фиг.5 изображен, в блок-схеме, один вариант осуществления записи 500 телеметрии. Сервер 150 телеметрии может хранить запись 500 телеметрии. Сервер 150 телеметрии или администратор может сравнивать запись 500 телеметрии с отчетом 400 телеметрии для идентификации каких-либо новых проблем. Запись 500 телеметрии может иметь набор 502 пользовательских демографических данных, описывающий пользователя, связанного с учетной записью 132 пользователя в облаке. Например, набор 502 пользовательских демографических данных может описывать местоположение пользователя, тип файлов, синхронизируемых пользователем, и другие данные о пользователе и файлах пользователя. Запись 500 телеметрии может иметь профиль 504 устройства, описывающий клиентское устройство 110, отправляющее отчет 400 телеметрии. Например, профиль 504 устройства может описывать тип клиентского устройства 110, обработку, скорость соединения, память или другие характеристики клиентского устройства 110. Запись 500 телеметрии может связывать набор 502 пользовательских демографических данных и профиль 504 устройства с набором 404 данных телеметрии.
[0037] На Фиг.6 изображен, в блок-схеме, один вариант осуществления обзорного отчета 600. Обзорный отчет 600 может иметь адрес 602 клиентского устройства для указания клиентского устройства 110, в которое отправляется обзорный отчет 600. Обзорный отчет 600 может передавать набор 604 обзорных данных в клиентское устройство 110. Набор 604 обзорных данных может иметь исправление 606 ошибки для коррекции какой-либо ошибки синхронизации, идентифицированной в отчете 400 телеметрии.
[0038] Набор 604 обзорных данных может иметь запись 608 функционирования всей службы, запись 610 функционирования совокупности пользователей или запись 612 функционирования отдельного пользователя. Запись 608 функционирования всей службы может следить за всем функционированием облачной системы синхронизации, таким как время работы, частота успешных выполнений и другие метрики, описывающие функционирование облачной системы синхронизации. Дополнительно, запись 608 функционирования всей службы может следить за количеством файлов, синхронизируемых корректно облачной системой синхронизации, таких как локальные файлы 112 без каких-либо соответствующих им файлов 134, соответствующие файлы 134 без каких-либо локальных файлов 112, локальные файлы 112 с другим размером файла по отношению к соответствующему файлу 134, локальные файлы 112 с другой версией по отношению к соответствующим файлам 134, локальные файлы 112 с другими временными отметками по отношению к соответствующим файлам 134 и другие метрики. Запись 610 функционирования совокупности пользователей может собирать группы пользователей на основе демографии и тенденций в функционировании для показа правильности и качества функционирования групп пользователей. Запись 612 функционирования отдельного пользователя может следить за качеством функционирования и правильностью устройств, связанных с пользователем клиентского устройства 110, или может ограничиться клиентским устройством 110. Запись 612 функционирования отдельного пользователя может быть представлена в качестве настраиваемой пользователем временной шкалы 614. Пользователь может настраивать настраиваемую пользователем временную шкалу 614 посредством выбора того, какие метрики следует отображать в виде временной шкалы.
[0039] На Фиг.7 изображен, в блок-схеме последовательности операций, один вариант осуществления способа 700 синхронизации локального файла 112 с использованием клиентского устройства 110. Прокси-агент 114 службы может сохранять локальный файл 112 в клиентском устройстве 110 (Этап 702). Прокси-агент 114 службы может синхронизировать локальный файл 112 с соответствующим файлом 134, хранящимся в облачной учетной записи 132 пользователя облачной системы синхронизации (Этап 704). Прокси-агент 114 службы может следить за синхронизацией локального файла 112 и соответствующего файла 134 для записывания метрики 424 функционирования синхронизации для отчета 400 телеметрии (Этап 706). Прокси-агент 114 службы может принимать набор 304 метаданных соответствующего файла, относящийся к соответствующему файлу 134, хранящемуся в облачной учетной записи 132 пользователя облачной системы синхронизации, от по меньшей мере одного из облачного сервера 130 или ассоциированного пользовательское устройства 140 (Этап 708). Прокси-агент 114 службы может создавать набор метаданных локального файла для сравнения с набором 304 метаданных соответствующего файла для проверки синхронизации (Этап 710).
[0040] Прокси-агент 114 службы может записывать метрики 424 функционирования синхронизации для отчета 400 телеметрии (Этап 712). Прокси-агент 114 службы может выполнять проверку синхронизации набора 304 метаданных соответствующего файла с локальным файлом 112, хранящимся в клиентском устройстве 110, после завершения синхронизации между локальным файлом 112 и соответствующим файлом 134 (Этап 714). Если при проверке синхронизации определено, что произошла ошибка синхронизации (Этап 716), то прокси-агент 114 службы может записывать данные 412 ошибки синхронизации и время 414 события для отчета 400 телеметрии (Этап 718). Прокси-агент 114 службы может выполнять повторную синхронизацию локального файла 112 с соответствующим файлом 134 (Этап 720). Если прокси-агент 114 службы принимает нарушение утверждения в течение синхронизации локального файла 112 и соответствующего файла 134 (Этап 722), то прокси-агент 114 службы может записывать нарушение 416 утверждения и набор 418 данных журнала утверждений для отчета 400 телеметрии (Этап 724). Если прокси-агент 114 службы распознает останов синхронизации в течение синхронизации локального файла 112 и соответствующего файла 134 (Этап 726), то прокси-агент 114 службы может записывать останов 420 синхронизации и набор 422 данных журнала остановов для отчета 400 телеметрии (Этап 728). Прокси-агент 114 службы может создавать отчет 400 телеметрии для описания функционирования синхронизации, ошибки 412 синхронизации и времени 414 события, определенных посредством проверки синхронизации, нарушения 416 утверждения и набора 418 данных журнала утверждений, и останова 420 синхронизации и набора 422 данных журнала остановов (Этап 730). Прокси-агент 114 службы может отправлять отчет 400 телеметрии в сервер 150 телеметрии (Этап 732).
[0041] На Фиг.8 изображен, в блок-схеме последовательности операций, один вариант осуществления способа 800 выполнения проверки синхронизации. Прокси-агент 114 службы может идентифицировать локальный файл 112, который соответствует соответствующему файлу 134, с использованием имени 306 файла и иерархии 308 файла (Этап 802). Прокси-агент 114 службы может сравнивать набор 304 метаданных соответствующего файла с набором метаданных локального файла (Этап 804). Если размер 310 набора 304 метаданных соответствующего файла отличается от размера набора метаданных локального файла (Этап 806), то прокси-агент 114 службы может идентифицировать ошибку синхронизации (Этап 808). Если хэш-значение 312 файла из набора 304 метаданных соответствующего файла отличается от хэш-значения файла из набора метаданных локального файла (Этап 810) прокси-агент 114 службы может идентифицировать ошибку синхронизации (Этап 808). Прокси-агент 114 службы может определять из временной отметки 314 из набора метаданных соответствующего файла время события, относящееся к ошибке синхронизации (Этап 812).
[0042] Многие из функций телеметрии, выполняемых клиентским устройством 110, могут быть выполнены облачным сервером 130. На Фиг.9 изображен, в блок-схеме последовательности операций, один вариант осуществления способа 900 синхронизации соответствующего файла с использованием облачного сервера. Облачный сервер 130 может синхронизировать локальный файл 112, хранящийся в клиентском устройстве 110, с соответствующим файлом 134, хранящимся в облачной учетной записи 132 пользователя облачной системы синхронизации (Этап 902). Облачный сервер 130 может следить за синхронизацией локального файла 112 и соответствующего файла 134 (Этап 904). Облачный сервер 130 может принимать набор 304 метаданных соответствующего файла, относящийся к соответствующему файлу 134, хранящемуся в облачной учетной записи 132 пользователя облачной системы синхронизации (Этап 906). Облачный сервер 130 может принимать набор метаданных локального файла для сравнения с набором 304 метаданных соответствующего файла для проверки синхронизации (Этап 908).
[0043] Облачный сервер 130 может записывать метрику 424 функционирования синхронизации в отчет 400 телеметрии (Этап 910). Облачный сервер 130 может выполнять проверку синхронизации набора 304 метаданных соответствующего файла с локальным файлом 112, хранящимся в клиентском устройстве 110 (Этап 912). Если при проверке синхронизации определено, что произошла ошибка синхронизации (Этап 914), то облачный сервер 130 может записывать данные 412 ошибки синхронизации и время 414 события для отчета 400 телеметрии (Этап 916). Облачный сервер 130 может выполнять повторную синхронизацию локального файла 112 с соответствующим файлом 134 (Этап 918). Если облачный сервер 130 принимает нарушение утверждения в течение синхронизации локального файла 112 и соответствующего файла 134 (Этап 920), то облачный сервер 130 может записывать нарушение 416 утверждения и набор 418 данных журнала утверждений в отчет 400 телеметрии (Этап 922). Если облачный сервер 130 распознает останов синхронизации в течение синхронизации локального файла 112 и соответствующего файла 134 (Этап 924), то облачный сервер 130 может записывать останов 420 синхронизации и набор 422 данных журнала остановов в отчет 400 телеметрии (Этап 926). Облачный сервер 130 может создавать отчет 400 телеметрии для описания функционирования синхронизации, ошибки 412 синхронизации и времени 414 события, определенных посредством проверки синхронизации, нарушения 416 утверждения и набора 418 данных журнала утверждений, и останова 420 синхронизации и набора 422 данных журнала остановов (Этап 928). Облачный сервер 130 может отправлять отчет 400 телеметрии в сервер 150 телеметрии (Этап 930).
[0044] На Фиг.10 изображен, в блок-схеме последовательности операций, один вариант осуществления способа 1000 обработки отчета телеметрии в сервере 150 телеметрии. Сервер 150 телеметрии может принимать от клиентского устройства 110 отчет 400 телеметрии, имеющий составленный в клиентском устройстве 110 набор 404 данных телеметрии, описывающий службу в облаке, связанную с учетной записью 132 пользователя в облаке для пользователя (Этап 1002). Сервер 150 телеметрии может связывать набор 404 данных телеметрии с набором 502 пользовательских демографических данных, относящимся к учетной записи 132 пользователя в облаке (Этап 1004). Сервер 150 телеметрии может связывать набор 404 данных телеметрии с профилем 504 устройства, относящимся к клиентскому устройству 110 (Этап 1006).
[0045] Сервер 150 телеметрии может сравнивать ошибку синхронизации в отчете 600 телеметрии с базой 152 данных известных ошибок для нахождения соответствующей ошибки (Этап 1008). Если в базе 152 данных известных ошибок создана соответствующая ошибка (Этап 1010), то сервер 150 телеметрии может выбирать исправление 606 ошибки для обзорного отчета 600 на основе этой соответствующей ошибки (Этап 1012). Сервер 150 телеметрии может отправлять обновленный обзорный отчет 600, если исправление 606 ошибки создано после данного факта. Сервер 150 телеметрии может получать запись 608 функционирования всей службы для обзорного отчета 600 (Этап 1014). Сервер 150 телеметрии может получать запись 610 функционирования совокупности пользователей для обзорного отчета 600 (Этап 1016). Сервер 150 телеметрии может получать запись 612 функционирования отдельного пользователя для обзорного отчета 600 (Этап 1018). Сервер 150 телеметрии может создавать настраиваемую пользователем временную шкалу 614 на основе записи 612 функционирования отдельного пользователя (Этап 1020). Сервер 150 телеметрии может создавать обзорный отчет 600, основывающийся частично на наборе 404 данных телеметрии (Этап 1022). Обзорный отчет 600 может иметь запись 608 функционирования всей службы, запись 610 функционирования совокупности пользователей, запись 612 функционирования отдельного пользователя или настраиваемую пользователем временную шкалу 614. Сервер 150 телеметрии может отправлять обзорный отчет 600 в клиентское устройство 110 (Этап 1024).
[0046] Несмотря на то, что изобретение было описано на языке, характерном для конструктивных признаков и/или методологических действий, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничивается характерными признаками или действиями, описанными выше. Скорее, данные характерные признаки и действия, описанные выше, раскрываются в качестве примерных форм для реализации формулы изобретения.
[0047] Варианты осуществления в объеме настоящего изобретения могут также включать в себя постоянные считываемые компьютером носители информации для переноса или содержания исполняемых компьютером команд или структур данных, сохраненных на них. Такие постоянные считываемые компьютером носители информации могут быть любыми доступными носителями, к которым может быть осуществлен доступ посредством компьютера общего назначения или специализированного компьютера. В качестве примера, а не ограничения, такие постоянные считываемые компьютером носители информации могут содержать RAM, ROM, EEPROM, CD-ROM или другие хранилища на оптических дисках, хранилища на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для переноса или хранения необходимого средства программного кода в виде исполняемых компьютером команд или структур данных. Сочетания вышеупомянутого также должны содержаться в объеме постоянного считываемого компьютером носителя информации.
[0048] Варианты осуществления могут также быть реализованы в распределенных вычислительных окружениях, где задачи выполняются локальными и удаленными устройствами обработки данных, которые соединяются (либо посредством проводных линий связи, либо беспроводных линий связи, либо их сочетанием) через сеть связи.
[0049] Исполняемые компьютером команды включают в себя, например, команды и данные, которые предписывают компьютеру общего назначения, специализированному компьютеру или устройству обработки особого назначения выполнять конкретную функцию или группу функций. Исполняемые компьютером команды также включают в себя программные модули, которые исполняются компьютерами в автономном или сетевом окружениях. В целом, программные модули включают в себя подпрограммы, программы, объекты, компоненты и структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Исполняемые компьютером команды, связанные с ними структуры данных и программные модули представляют собой примеры средств программного кода для выполнения этапов способов, раскрытых в данном документе. Конкретная последовательность таких исполнимых команд или связанных с ними структур данных представляет собой примеры соответствующих действий для реализации функций, описанных на таких этапах.
[0050] Несмотря на то, что вышеупомянутое описание может содержать особые подробности, не следует полагать, что они каким-либо образом накладывают ограничения на формулу изобретения. Другие конфигурации описанных вариантов осуществления являются частью объема данного раскрытия. Например, принципы действия данного раскрытия могут применяться к каждому отдельному пользователю, причем каждый пользователь может отдельно развертывать такую систему. Это позволяет каждому пользователю использовать преимущества данного раскрытия, даже если какое-либо из большого количества возможных применений не использует функциональность, описанную в данном документе. Каждое из множества примеров электронных устройств может обрабатывать содержимое различными возможными способами. Варианты реализации не обязательно находятся в одной системе, используемой всеми конечными пользователями. Соответственно, только прилагаемая формула изобретения и ее правовые эквиваленты должны определять изобретение, а не какие-либо упомянутые конкретные примеры.