Способ и система обновления программного обеспечения

Изобретение относится к вычислительной технике. Технический результат заключается в обновлении программного обеспечения, которое позволят сохранить ресурсы пропускной способности и сократить объем работы для обновления программного обеспечения. Способ обновления программного обеспечения, в котором передают клиентом на сервер запрос на обновление программного обеспечения, причем запрос включает файловую информацию локального обновляемого программного обеспечения; определяют различия между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией, и генерируют командную информацию по обновлению в соответствии с этими различиями и передают ее клиенту; загружают и обновляют клиентом соответствующие файлы согласно команде в командной информации по обновлению, при этом осуществляют на сервере поиск информации с описанием функций последней версии программного обеспечения и добавляют данную информацию к командной информации по обновлению; перед загрузкой и обновлением соответствующего файла отображают клиентом информацию с описанием функций, которая содержится в командной информации по обновлению. 2 н. и 11 з.п. ф-лы, 6 ил., 2 табл.

 

Данное изобретение представляет собой продолжение Международной заявки №РСТ/CN2012/084721, поданной 16 ноября 2012 г., в которой утверждается приоритет Патентной заявки КНР №201110392461.4, поданной 1 декабря 2011 г. в патентное ведомство Китая под названием "Способ и система обновления программного обеспечения", раскрытие которой полностью включено в данный документ путем ссылки.

Область техники, к которой относится изобретения

Данное изобретения относится к области технологий обработки программного обеспечения для устройств обработки данных, в частности, к способу и системе обновления программного обеспечения.

Уровень техники

В настоящее время существует два способа обновления программного обеспечения на устройствах обработки данных (например, компьютеры, смартфоны и т.д.) один из которых является способом обновления на основе установочного пакета, а другой является способом обновления на основе пакета обновления CAB.

Способ обновления на основе установочного пакета очень прост. Необходимо загрузить последнюю версию установочного пакета с сервера и запустить установочный пакет после его загрузки. Установочный пакет обеспечит деинсталляцию старой версии и установку новой.

Недостаток способа обновления на основе установочного пакета заключается в следующем. Имеет место значительная растрата пропускной способности. Пользователю приходится загружать установочный пакет размером несколько мегабайт (Мб) или даже сотен мегабайт, даже при необходимости незначительного изменения функциональных возможностей, при этом загружается большая часть неизменяемых файлов для замены вместе с изменяемыми. Это приводит к значительным неоправданным затратам пропускной способности.

Способ обновления на основе пакета обновления CAB реализуется более целенаправленно. Пакет обновления CAB представляет собой разновидность пакетов, применяемых в операционной системе Microsoft Windows и содержащих файлы для выполнения обновления. В данном способе файлы различий между версией х и версией у упаковывают в соответствии со стандартным форматом (форматом CAB) операционной системы для получения пакета обновления CAB. Программа обновления запускает пакет обновления CAB после его загрузки на локальное устройство пользователя, после чего пакет обновления завершает обновление и обработку файлов в соответствии с внутренней логикой обновления и файлами. Таким образом реализуется обновление версии программного обеспечения.

Однако способ обновления на основе пакета обновления CAB имеет следующий недостаток. С появлением новых версий программного обеспечения будет возрастать объем работы, связанный с созданием пакетов обновления CAB. Например, если текущей версией продукта является версия т, а в операционной среде поддерживается версия не ниже версии n, это значит, что в текущей операционной среде пользователи могут одновременно использовать версии с m по n. Поэтому применение данного способа обновления будет означать необходимость создания пакета обновления CAB для каждой из различных версий с m по n, соответственно, и применения данного способа для каждого обновления. Для создания большого количества версий пакета обновления CAB требуется выполнить большой объем работы, что в свою очередь приводит к значительному увеличению затрат на поддержку обновления программного обеспечения.

Раскрытие изобретения

С учетом вышеизложенного варианты осуществления настоящего изобретения обеспечивают способ и систему обновления программного обеспечения, которые позволят сохранить ресурсы пропускной способности и сократить объем работы, необходимой для обновления программного обеспечения.

Способ обновления программного обеспечения, предлагаемый в вариантах осуществления настоящего изобретения, включает в себя:

передачу клиентом на сервер запроса на обновление программного обеспечения, причем запрос на обновление включает в себя файловую информацию локального обновляемого программного обеспечения;

определение сервером различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, генерирование сервером командной информации по обновлению в соответствии с этими различиями и передачу командной информации по обновления клиенту;

загрузку и обновление клиентом соответствующих файлов и выполнение клиентом соответствующей операции локального обновления согласно команде в командной информации по обновлению, причем генерирование сервером командной информации по обновлению дополнительно включает в себя: поиск сервером информации с описанием функций последней версии программного обеспечения и добавление сервером этой информации с описанием функций к командной информации по обновлению; после получения клиентом командной информации по обновлению и перед загрузкой и обновлением клиентом соответствующего файла и выполнением соответствующей операции локального обновления, способ дополнительно включает в себя: отображение клиентом информации с описанием функций, содержащейся в командной информации по обновлению.

Система обновления программного обеспечения, предлагаемая в вариантах осуществления настоящего изобретения, включает в себя:

модуль обновления, установленный на клиенте и сконфигурированный для передачи на сервер запроса на обновление программного обеспечения, который включает в себя файловую информацию обновляемого программного обеспечения, а также для загрузки и обновления соответствующего файла и выполнения соответствующей операции локального обновления согласно команде в командной информации по обновлению, возвращенной сервером; и

модуль службы обновления, установленный на сервере и сконфигурированный для получения запроса на обновление, переданного модулем обновления на клиенте, определения различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, а также для генерирования командной информации по обновлению в соответствии с различиями и отправки командной информации по обновлению в модуль обновления на клиенте;

причем модуль службы обновления включает в себя: модуль определения информации описания и модуль комбинирования и отправки команд обновления; модуль определения информации описания сконфигурирован для поиска информации с описанием функций последней версии программного обеспечения и для отправки информации с описанием функций в модуль комбинирования и отправки команд обновления; модуль комбинирования и отправки команд обновления сконфигурирован для добавления информации с описанием функций к командной информации по обновлению и для отправки командной информации по обновлению в модуль обновления на клиенте.

По сравнению с известным уровнем техники в данном изобретения сервер определяет различия между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения, динамически генерирует командную информацию по обновлению в соответствии с различиями программного обеспечения и отправляет эту информацию в модуль обновления на клиенте; модуль обновления выполняет загрузку, обновление и удаление файлов, регистрацию СОМ-компонентов, а также другие операции в соответствии с переданными командами обновления. Таким образом, можно сократить объем информационного обмена между сервером и клиентом, а также сохранить ресурсы пропускной способности. Кроме того, сервер обновления может обеспечивать динамическую организацию команд обновления в соответствии с ситуацией с версиями у пользователя. Это позволит сократить объем работы по обновлению программного обеспечения и в дальнейшем снизить затраты на обслуживание системы обновления программного обеспечения.

Краткое описание чертежей

На фиг. 1 приведена блок-схема, на которой показан способ обновления программного обеспечения в соответствии с вариантом осуществления изобретения.

На фиг. 2 приведена блок-схема, на которой показана операция комбинирования найденных наборов действующих команд для обновления в соответствии с вариантом осуществления изобретения.

На фиг. 3 приведена блок-схема, на которой показан процесс обновления, выполняемый модулем обновления на клиенте в соответствии со способом согласно изобретению.

На фиг. 4 приведена схематическая блок-схема, на которой показана система обновления программного обеспечения в соответствии с вариантом осуществления изобретения.

На фиг. 5 приведена схематическая блок-схема, на которой показан модуль службы обновления на сервере в соответствии с вариантом осуществления изобретения.

На фиг. 6 приведена схематическая блок-схема, на которой показан модуль обновления на клиенте в соответствии с вариантом осуществления изобретения.

Осуществление изобретения

В данном изобретении обеспечивается перенос логики обработки в пакете CAB в модуль обновления на клиенте устройства обработки данных. Сервер определяет различия между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения, генерирует командную информацию по обновлению в соответствии с различиями программного обеспечения и отправляет эту информацию в модуль обновления на клиенте; модуль обновления выполняет загрузку, обновление и удаление файлов, регистрацию СОМ-компонентов, а также другие операции в соответствии с переданными командами обновления. Согласно известному уровню техники эти операции должны выполняться с помощью пакета CAB. Таким образом, снижается объем информационного взаимодействия между сервером и клиентом, обеспечивается экономия ресурсов пропускной способности и исключается необходимость выполнения ручной работы для создания пакета CAB, при этом сервер обновления обеспечивает динамическую организацию команд обновления в соответствии с ситуацией с версиями у пользователя, в результате чего сокращается объем работы по обновлению программного обеспечения и снижаются эксплуатационные расходы на обслуживание системы обновления программного обеспечения.

Ниже приведено подробное описание настоящего изобретения со ссылками на прилагаемые иллюстрации.

На фиг. 1 приведена блок-схема, на которой показан способ обновления программного обеспечения в соответствии с вариантом осуществления изобретения. Как показано на фиг. 1, способ может включать в себя следующие процессы.

Блок 101: клиент передает на сервер запрос на обновление программного обеспечения (ПО), в котором содержится файловая информация локально обновляемого программного обеспечения.

Блок 102: сервер определяет различия между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, генерирует командную информацию по обновлению в соответствии с различиями и передает командную информацию по обновлению клиенту.

Блок 103: клиент загружает и обновляет соответствующие файлы, а также выполняет соответствующую операцию локального обновления согласно полученной командной информации по обновлению.

Клиент может быть реализован в виде программы, выполняемой в вычислительной системе, оснащенной центральным процессором (CPU), памятью и операционной системой и обеспечивающей операционную среду для программного обеспечения. Типичным примером вычислительной системы может служить настольный компьютер, портативный компьютер, панельный компьютер или карманное устройство, такое как смартфон с вычислительными возможностями, или роботизированное устройство с вычислительными возможностями и т.д. В рамках данного способа согласно данному изобретению операции на стороне клиента могут выполняться модулем обновления, который соответствует локальному обновляемому программному обеспечению. Модуль обновления может быть реализован в виде программы, выполняемой в процессе, запуск которого не зависит от обновляемого программного обеспечения.

Информация по файлам, содержащаяся в запросе на обновление, передаваемом модулем обновления на клиенте, включает в себя, главным образом, имена файлов и информацию о версии файлов, входящих в состав обновляемого программного обеспечения. Дополнительно она также может включать в себя такие данные, как значение хеш-функции и относительный путь к каждому из файлов. После получения запроса на обновление сервер выполняет поиск последней версии программного обеспечения в соответствии с указанным в запросе именем обновляемого программного обеспечения, сравнивает обновляемое программное обеспечение с последней версией программного обеспечения в соответствии с различными именами файлов и информацией о версии и определяет различия в файлах и версиях. Если различий не обнаружено, необходимость обновления программного обеспечения отсутствует, и сервер возвращает клиенту команду об отсутствии необходимости обновления. После получения этой команды модуль обновления клиента прекращает выполнение операции обновления. При обнаружении различий сервер динамически генерирует командную информацию по обновлению в соответствии с различиями между версиями программного обеспечения.

Способ динамического генерирования сервером командной информации по обновлению в соответствии с различиями между версиями программного обеспечения может включать в себя следующие этапы (с 11 по 13):

11) Поиск недавно добавленных и измененных файлов в последней версии программного обеспечения в соответствии с разницей между файлами и использование списка недавно добавленных и измененных файлов для создания списка обновляемых файлов.

Список обновляемых файлов представляет собой список файлов, подлежащих добавлению, изменению или замене при обновлении программного обеспечения с текущей версии в запросе на обновление до последней версии. Каждый файл включают в себя информацию с описанием файла, например, имя файла, относительный путь, размер файла, контрольное число MD5 и т.д.

В данном случае сервер может обеспечивать ведение таблицы отображения по последней версии всех файлов обновляемого программного обеспечения. Пример такой таблицы отображения приведен в табл. 1.

Как показано в табл. 1, в таблице отображения содержится список последних версий всех файлов обновляемого программного обеспечения. В каждом блоке информации списка файлов содержится по меньшей мере имя файла, путь загрузки и относительный путь. Согласно приведенной выше табл. 1, поскольку сервер хранит все файлы одного программного обеспечения в одном общем каталоге, соответствующем программному обеспечению, причем относительные пути к каталогу совершенно такие же, как и относительные пути к каталогу установки программного обеспечения на клиенте, относительные пути, приведенные в табл. 1, могут соответствовать путям загрузки. Необходимо просто добавить путь к общему каталогу программного обеспечения, расположенному на сервере, перед относительными путями, поскольку в табл. 1 обеспечивается ведение только относительных путей, а информацию о пути загрузки можно получить путем добавления адреса общего каталога к относительным путям. Конечно, в табл. 1 может также содержаться информация об абсолютном пути загрузки, при этом клиент сможет загружать соответствующие файлы согласно этой информации без добавления каких-либо адресов каталогов. Кроме того, в списке файлов в таблице отображения содержится информация о размере файла, контрольное число MD5 (в связи с ограниченной шириной в табл. 1 не показано контрольное число MD5) и т.д., а также информация о последней измененной версии.

После получения запроса на обновление сервер выполняет фильтрацию вышеупомянутую таблицу отображения в соответствии с текущим списком файлов обновляемого программного обеспечения в запросе и упорядочивает список обновляемых файлов, оставляя в нем недавно добавленные и измененные файлы из последней версии программного обеспечения. Недавно добавленные файлы - это файлы обновляемого программного обеспечения, отсутствующие на клиенте. Измененные файлы - это файлы из последней версии программного обеспечения, имена которых совпадают с именами файлов обновляемого программного обеспечения на клиенте, но информация о версии которых отличается от подобной информации по файлам обновляемого программного обеспечения на клиенте, т.е. файлы с измененным содержимым. При этом необходимо изменить в обновляемом программном обеспечении на клиенте файлы с теми же именами, как и у файлов из последней версии программного обеспечения.

12) Поиск наборов действующих команд для всего программного обеспечения, версия которого является более поздней, чем версия обновляемого программного обеспечения в запросе на обновление, в соответствии с разницей в версиях, а также комбинирование найденных наборов действующих команд.

В данном изобретении обновление каждой версии программного обеспечения может сопровождаться набором действующих команд. Для однократного обновления версии могут использовать несколько таких действующих команд, окончательно компонуемых в виде набора. Каждая действующая команда в наборе действующих команд может включать в себя имя действующей команды, которое может быть идентифицировано локальным клиентом, относительный путь и имя файла целевого файла операции, соответствующей команде, а также дополнительно может включать в себя имя вспомогательной программы для обработки целевого файла. В табл. 2 приведен пример набора действующих команд. Для облегчения понимания в табл. 2 также приведено назначение каждой действующей команды.

Для обновления каждой из версий программного обеспечения на сервере может иметься отдельный набор действующих команд. Каждый набор действующих команд имеет версию. После получения запроса на обновление сервер выполняет поиск наборов действующих команд для всего программного обеспечения, каждый из которых относится к более поздней версии, чем версия обновляемого программного обеспечения в запросе на обновление. В итоге сервер возвращает в модуль обновления набор действующих команд, полученный путем комбинирования всех найденных наборов действующих команд. На фиг. 2 приведена блок-схема, на которой показана операция комбинирования найденных наборов действующих команд в соответствии с данным изобретением. Согласно схеме на фиг. 2 предположим, что наборами действующих команд, соответствующими более поздним версиям, чем версия в запросе на обновление, являются набор 201 действующих команд версии 20467 и набор 202 действующих команд версии 20532. При объединении этих двух наборов действующих команд получается итоговый набор 203 действующих команд.

13) Использование списка обновляемых файлов и комбинированного набора действующих команд в качестве командной информации по обновлению.

В заключение командная информация по обновлению организуется сервером в виде файла XML для получения таблицы данных, которая затем передается в модуль обновления на клиенте. В таблице данных XML в целом содержится список обновляемых файлов, набор действующих команд и некоторая дополнительная информация. Например, сервер также может выполнить поиск информации с описанием функций последней версии обновляемого программного обеспечения и добавить ее в командную информацию по обновлению. Информация с описанием функций позволяет продемонстрировать новые функции, предоставляемые пользователю в результате обновления, и включает в себя текстовое описание и изображения для предварительного обзора, чтобы пользователь мог составить общее представление об обновлении перед его выполнением.

В качестве примера содержимого типичной таблицы с командами по обновлению в формате XML можно привести следующий код XML:

В системе обновления согласно данному изобретению модуль обновления, установленный на клиенте, в целом выполняет следующие операции: передача на сервер запроса на обновление программного обеспечения с информацией о версии обновляемого локального программного обеспечения, загрузка файлов и обновление соответствующих локальных файлов на основе командной информации по обновлению, возвращаемой сервером, и выполнение соответствующих операций локального обновления согласно командам обновления.

На фиг. 3 приведена блок-схема, на которой показан процесс обновления, выполняемый модулем обновления (МО) на клиенте в соответствии со способом согласно данному изобретению. Как показано на фиг. 3, процесс может включать в себя следующие этапы.

Блок 301: модуль обновления на клиенте взаимодействует с сервером для определения необходимости обновления этого модуля, а именно чтобы определить наличие на сервере более новой версии модуля обновления, чем версия локального модуля обновления. При наличии на сервере более новой версии модуля обновления модуль обновления на клиенте загружает файлы новой версии, заменяет файлы исходного локального модуля обновления и перезапускает новую версию для выполнения следующего блока 302. В противном случае непосредственно выполняют блок 302.

Благодаря простоте модуля обновления и тому, что в его состав входит не более 1 или 2 файлов, процесс обновления всего этого модуля реализуется очень просто и быстро. Блок 301 является необязательным и может быть опущен с переходом непосредственно к выполнению блока 302.

Блок 302: модуль обновления взаимодействует с сервером для определения необходимости обновления программного обеспечения. А именно модуль обновления передает на сервер запрос на обновление программного обеспечения, в котором содержится информация о локальных файлах обновляемого программного обеспечения. В файловую информацию входят данные об имени и версии каждого из файлов, входящих в состав обновляемого программного обеспечения, а также дополнительно может входить такая информация, как значение хеш-функции и относительный путь к каждому из файлов. Сервер сравнивает обновляемое программное обеспечение с последней версией программного обеспечения в соответствии с информацией об именах и версиях файлов, чтобы определить различия в файлах и версиях. В случае обнаружения различий, согласно вышеописанному способу сервер динамически генерирует командную информацию по обновлению в соответствии с различиями в файлах и различиями версиях и передает эту информацию в модуль обновления на клиенте. После этого выполняют блок 303. Если различия в программном обеспечении не обнаружены, сервер уведомляет модуль обновления на клиенте об ошибке обновления, после чего выполнение текущего процесса прекращается.

Блок 303: командная информация по обновлению включает в себя список обновляемых файлов, причем в каждом блоке информации этого списка содержится имя файла, информация о пути загрузки и информация об относительном пути так, чтобы модуль обновления мог загрузить соответствующие файлы согласно информация о пути загрузки файлов в списке обновляемых файлов.

Кроме того, если в командной информации по обновлению содержится описание функций новой версии программного обеспечения, то после получения клиентом командной информации по обновлению и перед выполнением блока 303 способ также может включать в себя отображение информации с описанием функций, содержащейся в командной информации по обновлению, чтобы пользователь мог составить общее представление об обновлении перед его выполнением.

Блок 304: в соответствии с информацией об относительном пути в списке обновляемых файлов, модуль обновления может обновлять загруженные файлы в каталоге установки локального обновляемого программного обеспечения по соответствующим им относительным путям. Блок 304 можно также рассматривать как блок, в котором производится комбинирование старых и новых версий каждого из файлов с различиями, а именно замена в каталоге установки обновляемого программного обеспечения файлов старой версии загруженными новыми файлами. К файлам с различиями относятся измененные файлы и/или недавно добавленные файлы.

В большинстве случаев заменяемые целевые файлы могут оказаться недоступными для изменения или замены (может выполняться их сканирование антивирусной программой или они могут использоваться определенным процессом), поэтому для таких случаев необходимо предусмотреть механизмы всестороннего обеспечения эксплуатационной безопасности. Поскольку программные файлы обновляемого программного обеспечения обычно взаимозависимы, если не удается заменить один файл, то с большой долей вероятности станет невозможным функционирование всей программы. С учетом этого в данном изобретении реализуются два механизма обеспечения эксплуатационной безопасности.

А) Перед выполнением комбинирования файлов (а именно файлов обновления) определяют, выполняется ли в настоящий момент обновляемое программное обеспечение. Если оно выполняется, для пользователя выводят запрос о необходимости закрытия программного обеспечения. После закрытия программного обеспечения выполняют обновление соответствующих файлов. В противном случае обновление соответствующих файлов выполняют непосредственно. В данном изобретении модуль обновления и обновляемое программное обеспечение выполняются в двух процессах, поэтому операция закрытия обновляемого программного обеспечения не повлияет на работу выполняемого модуля обновления.

Б) Перед комбинированием файлов выполняют резервное копирование исходных обновляемых локальных файлов, а именно резервное копирование заменяемых файлов старой версии во временный каталог, после чего выполняют обновление файлов. Если в процессе обновления обнаруживается, что один из файлов обновить не удалось, определяют необходимость успешности обновления этого файла. Необходимость успешности обновления файла означает, что этот файл является обязательным для нормальной работы программы, при этом необходимо восстановить обновленные файлы с использованием резервных копий, чтобы гарантировать, что "хотя обновление прошло неуспешно, но работоспособность старой версии сохранена". Если успешность замены файла не является обязательной, последний загруженный файл, соответствующий этому файлу, может быть зарегистрирован в службе замены перезапуска операционной системы (например, ОС Windows), чтобы обеспечить возможность его обновления посредством запуска службы замены перезапуска системы. Необходимость успешности замены файла можно определить по полю "ключевой файл" в списке обновляемых файлов. В случае, когда сервер генерирует список обновляемых файлов, в информацию с описанием по каждому файлу необходимо включить поле "ключевой файл", чтобы указать, является ли данный файл ключевым, т.е. необходима ли успешность его замены. Например, большая часть базовых компонентов является обязательной для выполнения программы, поэтому эти компоненты можно рассматривать как ключевые файлы, но что касается пакетов расширения ресурсов и дополнительных программных модулей, они не оказывают серьезного влияния на нормальную работу системы в целом, поэтому могут не рассматриваться в качестве ключевых файлов. Если обновить файл не удалось, клиент проверяет поле файла "ключевой файл". Если файл является ключевым, клиент определяет обязательность его успешной замены. В противном случае успешность обновления файла является необязательной.

Блок 305: после завершения комбинирования файлов выполняют соответствующие операции локального обновления согласно набору действующих команд в командной информации по обновлению.

Каждая действующая команда в наборе действующих команд включает в себя: имя действующей команды, которое может быть идентифицировано локальным клиентом, относительный путь и имя целевого файла операции, соответствующей команде. Для каждой действующей команды модуль обновления может найти целевой файл с именем в действующей команде, по относительному пути к каталогу установки обновляемого программного обеспечения и выполнить над целевым файлом операцию, соответствующую имени действующей команды, такую как регистрация компонента СОМ в списке файлов, удаление целевого файла, обработка целевого файла с применением программы, указанной в действующей команде, и т.д.

На практике для непосредственной передачи целого файла может потребоваться значительная пропускная способность. Даже при незначительном изменении файла клиенту может потребоваться загрузка целого файла размером несколько мегабайт, что может привести к значительным затратам времени и пропускной способности сети, поэтому в данном изобретении также предлагается вариант его осуществления, который может обеспечить возможность экономии полосы пропускания и времени на загрузку файлов.

В варианте осуществления изобретения файловая информация в запросе на обновление, передаваемом клиентом на сервер, также включает в себя значение хеш-функции для каждого файла. После обнаружения измененного файла в последней версии программного обеспечения сервер может найти соответствующее значение хеш-функции в запросе на обновление в соответствии с именем измененного файла и хранящийся на сервере исходный файл с идентичным значением хеш-функции в соответствии с найденным значением хеш-функции, выполнить двоичное сравнение исходного файла и последней версии файла, имя которого идентично исходному файлу, и сгенерировать двоичный файл различий, заменить информацию о пути загрузки файла, имя которого идентично двоичному файлу различий и содержится в списке обновляемых файлов, информацией о пути загрузки двоичного файла различий. Т.е. в информации по обновляемому файлу может содержаться имя файла, путь загрузки двоичного файла различий, относительный путь и т.д.

Двоичный файл различий обычно называют файлом diff. Он имеет небольшой размер и описывает двоичные операции добавления, удаления или изменения, которые следует выполнить со старой версией файла для генерации новой. Например, удалить 2 байта данных в х, изменить 3 байта данных в у и т.д. Для выполнения двоичного сравнения исходного файла и последней версии файла, имя которого идентично исходному файлу, и генерирования двоичного файла различий можно применять традиционные технические решения. Например, в ОС Linux для генерирования двоичного файла различий по двум файлам может применяться действующая команда diff. Кроме того, поскольку для генерирования файла diff на стороне сервера требуется много времени, можно обеспечить сохранение сгенерированного файла diff и значения хеш-функции исходного файла. Тогда при получении запроса на обновление в следующий раз соответствующий файл diff можно будет найти непосредственно по значению хеш-функции файла, а путь загрузки файла diff можно будет заменить непосредственно в списке обновляемых файлов без повторного генерирования файла diff.

После загрузки соответствующего двоичного файла различий согласно информации о пути загрузки в списке обновляемых файлов, клиент, согласно соответствующей информации об относительном пути, дополнительно комбинирует двоичный файл различий и файл, имеющий идентичное этому двоичному файлу имя и расположенный по относительному пути к каталогу установки обновляемого локального программного обеспечения, чтобы сгенерировать единый новый файл. Для комбинирования двоичного файла различий можно использовать традиционные технические решения, поэтому дальнейшая информация по ним здесь не приводится.

В вышеприведенном варианте осуществления для файла, в котором изменяется только содержимое, клиент может загружать только соответствующий двоичный файл различий. Небольшой размер этого файла позволяет сэкономить ресурс пропускной способности и время на загрузку.

В соответствии с вышеупомянутым способом в данном изобретении также раскрывается система для обновления программного обеспечения, которую можно использовать для реализации способа, предлагаемого настоящим раскрытием. На фиг. 4 приведена блок-схема, на которой показана система обновления программного обеспечения в соответствии с вариантом осуществления изобретения. Как показано на фиг. 4, система обновления программного обеспечения включает в себя два следующих модуля.

Модуль обновления 401, установленный на клиенте, предназначенный для передачи на сервер запроса на обновление программного обеспечения с файловой информацией обновляемого локального программного обеспечения, загрузки и обновления соответствующих файлов, и выполнения соответствующих операций локального обновления согласно командам в командной информации по обновлению, возвращаемой сервером.

Модуль службы обновления 402, установленный на сервере, предназначенный для получения запроса на обновление, передаваемого модулем обновления 401 на клиенте, и определения различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, а также для генерирования командной информации по обновлению в соответствии с различиями программного обеспечения и отправки этой информации в модуль обновления 401 на клиенте.

На фиг. 5 приведена блок-схема, на которой показан модуль службы обновления на сервере в соответствии с вариантом осуществления изобретения. Согласно фиг. 5 в данном варианте осуществления модуль службы обновления 402 на стороне сервера включает в себя следующие модули.

Модуль 421 определения различий в версиях, который сконфигурирован для сравнения обновляемого программного обеспечения с последней версией программного обеспечения в соответствии с информацией об имени и версии каждого файла для определения различий в файлах и версиях.

Модуль 422 определения обновляемых файлов, который сконфигурирован для поиска недавно добавленных и измененных файлов в последней версии программного обеспечения в соответствии с разницей между файлами и для организации списочной информации недавно добавленных файлов и измененных файлов для образования списочной информации обновляемых файлов. Списочная информация обновляемых файлов по меньшей мере включает в себя информацию о пути загрузки, информацию об относительном пути к каждому обновляемому файлу и т.д.

Модуль 423 определения действующих команд, который сконфигурирован для поиска наборов действующих команд для всего программного обеспечения, каждый из которых относится к более поздней версии, чем версия обновляемого программного обеспечения в запросе на обновление, и комбинирования найденных наборов действующих команд. Каждая действующая команда в наборе действующих команд по меньшей мере включает в себя: имя действующей команды, которое может быть идентифицировано локальным клиентом, относительный путь и имя файла целевого файла операции, соответствующей команде.

Модуль 424 комбинирования и отправки команд обновления, который сконфигурирован для использования списка обновляемых файлов и комбинированного набора действующих команд в качестве командной информации по обновлению и отправки командной информации по обновлению в модуль обновления, инициировавший запрос на обновление.

Кроме того, модуль обновления 402 может включать в себя следующее.

Модуль 425 определения информации описания, сконфигурированный для поиска информации с описанием функций последней версии обновляемого программного обеспечения и ее отправки в модуль 424 комбинирования и отправки команд обновления. Модуль 424 комбинирования и отправки команд обновления дополнительно может добавлять информацию с описанием функций в командную информацию по обновлению и отправлять эту информацию в модуль обновления на клиенте, инициировавший запрос на обновление.

На фиг. 6 приведена блок-схема, на которой показан модуль обновления на клиенте в соответствии с вариантом осуществления изобретения. Согласно фиг. 6 в данном варианте осуществления модуль обновления 402 на клиенте включает в себя в частности следующие модули:

Модуль самообновления 411, сконфигурированный для взаимодействия с сервером перед передачей запроса на обновление программного обеспечения для проверки необходимости обновления модуля 401 и, если такая необходимость существует, загрузки файлов новой версии модуля обновления и замены исходных файлов модуля обновления файлами новой версии. Если необходимость обновления модуля 401 отсутствует, выполняют передачу запроса на обновление программного обеспечения.

Модуль 412 для обработки запросов на обновление, сконфигурированный для передачи на сервер запроса на обновление программного обеспечения, в котором содержится информация о версии локального обновляемого программного обеспечения и получения командной информации по обновлению, возвращаемой сервером.

Модуль 413 для загрузки файлов, сконфигурированный для загрузки соответствующих файлов в соответствии с путями загрузки в списочной информации обновляемых файлов в командной информации по обновлению.

Модуль 414 комбинирования файлов с различиями, сконфигурированный для обновления загруженных файлов в каталоге установки локального обновляемого программного обеспечения по соответствующим относительным путям согласно списочной информации обновляемых файлов.

Модуль 415 для выполнения операций, сконфигурированный для, для каждой действующей команды в командной информации по обновлению, поиска целевого файла с именем файла в действующей команде по относительному пути к каталогу установки обновляемого программного обеспечения и выполнения действующей команды над целевым файлом.

В варианте осуществления изобретения модуль 414 комбинирования файлов с различиями дополнительно должен реализовывать механизм обеспечения эксплуатационной безопасности, т.е. модуль 414 комбинирования файлов с различиями может дополнительно включать в себя следующее.

Модуль уведомления о необходимости закрытия программы, сконфигурированный для, перед обновлением соответствующих файлов, определения того, выполняется ли в настоящий момент обновляемое программное обеспечение, и, если оно выполняется, вывода для пользователя запроса о необходимости закрытия этого программного обеспечения. После закрытия программного обеспечения будет выполнено обновление соответствующих файлов. В противном случае обновление соответствующих файлов выполняется непосредственно.

Модуль резервного копирования, сконфигурированный для резервного копирования исходных обновляемых локальных файлов перед обновлением соответствующих файлов; если файл не обновлен успешно, определения необходимости успешного обновления этого файла; если этот файл должен быть успешно обновлен, использования резервных копий файлов для восстановления всех обновляемых файлов; в противном же случае, регистрации последнего загруженного файла, соответствующего этому файлу, в службе замены перезапуска операционной системы и запуска этой службы перезапуске системы для обновления файла.

В другом варианте осуществления изобретения для дополнительной экономии ресурсов пропускной способности и времени, затрачиваемого на загрузку файлов, модуль 422 определения обновляемых файлов может дополнительно включать в себя модуль генерирования двоичных файлов различий. Этот модуль конфигурируют для, после обнаружения модулем 422 измененного файла в последней версии программного обеспечения, поиска соответствующего значения хеш-функции в запросе на обновление в соответствии с именем файла для измененного файла и поиска хранящегося на сервере исходного файла с идентичным значением хеш-функции в соответствии с этим значением хеш-функции, выполнения двоичного сравнения исходного файла и последней версии файла, который имеет такое же имя файла, что и исходный файл, генерирования двоичного файла различий и замены информации о пути загрузки файла с тем же именем, что и двоичный файл различий, информацией о пути загрузки двоичного файла различий в списке обновляемых файлов.

Соответственно, модуль 414 комбинирования файлов с различиями, расположенный на клиенте, может дополнительно включать в себя модуль комбинирования двоичных файлов различий, сконфигурированный для комбинирования двоичного файла различий и файла, имеющего идентичное двоичному файлу имя и расположенного по относительному пути к каталогу установки обновляемого локального программного обеспечения после загрузки соответствующего двоичного файла различий.

В данном изобретении также обеспечивается носитель информации, используемый для хранения команд, которые управляют машиной для выполнения способа обновления программного обеспечения как изложено выше. В частности можно обеспечить систему или устройство, оборудованное носителем информации, при этом среда для хранения информации обеспечивает хранение программного кода программного обеспечения для реализации функций, указанных в любом из вышеописанных вариантов осуществления изобретения. При этом компьютер (или CPU, или микропроцессорное устройство (MPU)) системы или устройства должен иметь возможность считывания и выполнения управляющей программы, хранящейся на носителе.

Поскольку в таком случае программный код, считываемый с носителя информации, может обеспечить реализацию функций, указанных в любом из вышеописанных вариантов осуществления изобретения, программный код и среда для хранения информации являются частью данного изобретения.

Варианты выполнения носителей информации, обеспечивающих хранение программных кодов, включают в себя накопитель на гибких магнитных дисках, накопитель на жестких магнитных дисках, магнитооптический диск, компакт-диск (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), накопитель на магнитной ленте, карту энергонезависимой памяти и постоянное запоминающее устройство (ROM). Опционально программный код может быть загружен с сервера через коммуникационную сеть.

Кроме того, следует понимать, что для реализации функций любого из вышеописанных вариантов осуществления изобретения, выполнение части или всех практических операций может обеспечиваться не только выполнением программного кода, считанного компьютером, но и операционной системой на компьютере в соответствии с командами на основе программного кода.

Также следует понимать, что посредством записи считанного с носителя информации программного кода в память на плате расширения компьютера или в память подключенного к компьютеру блока расширения, основанные на программном коде команды могут управлять работой CPU на плате расширения компьютера или в блоке расширения для выполнения части или всех операций для реализации функций любого из вышеописанных вариантов осуществления изобретения.

В вышеизложенном описании приведены только предпочтительные варианты осуществления данного изобретения, при этом описание не ограничивает объем правовой охраны изобретения. Подразумевается, что любые изменения, равноценные замены или усовершенствования, произведенные без отступления от сущности и принципов данного изобретения, входят в объем правовой охраны данного изобретения.

1. Способ обновления программного обеспечения, включающий в себя:
передачу клиентом на сервер запроса на обновление программного обеспечения, причем запрос на обновление включает в себя файловую информацию локального обновляемого программного обеспечения;
определение сервером различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, и генерирование сервером командной информации по обновлению в соответствии с этими различиями и передачу командной информации по обновлению клиенту;
загрузку и обновление клиентом соответствующих файлов и выполнение клиентом соответствующей операции локального обновления согласно команде в командной информации по обновлению,
причем генерирование сервером командной информации по обновлению дополнительно включает в себя: поиск сервером информации с описанием функций последней версии программного обеспечения и добавление сервером этой информации с описанием функций к командной информации по обновлению;
после получения клиентом командной информации по обновлению и перед загрузкой и обновлением клиентом соответствующего файла и выполнением соответствующей операции локального обновления, способ дополнительно включает в себя: отображение клиентом информации с описанием функций, содержащейся в командной информации по обновлению.

2. Способ по п. 1, в котором файловая информация обновляемого программного обеспечения, передаваемая в запросе на обновление, включает в себя: информацию об имени файла и версии каждого из файлов обновляемого программного обеспечения;
при этом определение сервером различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление включает в себя: сравнение сервером обновляемого программного обеспечения с последней версией программного обеспечения в соответствии с информацией об имени файла и версии каждого из файлов обновляемого программного обеспечения и определение сервером различий в файлах и различий в версиях;
причем генерирование сервером командной информации по обновлению в соответствии с этими различиями включает в себя:
поиск сервером недавно добавленного файла и измененного файла в последней версии программного обеспечения в соответствии с этими различиями между файлами и организация сервером списочной информации недавно добавленного файла и измененного файла с целью образования списка обновляемых файлов;
поиск сервером наборов действующих команд всего программного обеспечения, версия которого является более поздней, чем версия обновляемого программного обеспечения в запросе на обновление в соответствии с разницей в версиях, и комбинирование сервером найденных наборов действующих команд;
использование сервером списка обновляемых файлов и комбинированного набора действующих команд в качестве командной информации по обновлению.

3. Способ по п. 2, в котором список обновляемых файлов включает в себя: путь загрузки и относительный путь к каждому обновляемому файлу;
причем загрузка и обновление клиентом соответствующего файла в соответствии с командой в командной информации по обновлению включает в себя: загрузку клиентом этого соответствующего файла в соответствии с путем загрузки в списке обновляемых файлов и обновление загруженного файла в каталоге установки обновляемого программного обеспечения по относительному пути.

4. Способ по п. 3, в котором файловая информация в запросе на обновление дополнительно включает в себя значение хеш-функции каждого файла;
причем способ, после поиска сервером измененного файла в последней версии программного обеспечения, дополнительно включает в себя: поиск сервером значения хеш-функции в запросе на обновление в соответствии с именем файла для измененного файла и поиск сервером исходного файла, который имеет то же самое значение хеш-функции и хранится на сервере, и выполнение сервером двоичного сравнения исходного файла и последней версии файла с тем же самым именем, что и имя исходного файла, генерирование двоичного файла различий, замену пути загрузки файла, который имеет то же самое имя, что и двоичный файл различий, и содержится в списке обновляемых файлов, на путь загрузки двоичного файла различий;
загрузку клиентом соответствующего двоичного файла различий в соответствии с путем загрузки в списке обновляемых файлов и комбинирование двоичного файла различий с файлом, который имеет то же самое имя, что и двоичный файл различий, и расположен на относительном пути к каталогу установки обновляемого программного обеспечения.

5. Способ по п. 2, в котором каждая действующая команда в наборе действующих команд включает в себя: имя действующей команды, идентифицируемое для клиента, относительный путь и имя файла целевого файла, соответствующего операции действующей команды;
причем выполнение клиентом соответствующей операции локального обновления в соответствии с командой в командной информации по обновлению включает в себя: поиск целевого файла с именем файла в действующей команде по относительному пути к каталогу установки обновляемого локального программного обеспечения и выполнение действующей команды над целевым файлом.

6. Способ по п. 1, в котором операции на стороне клиента в способе выполняют при помощи модуля обновления, соответствующего локальному обновляемому программному обеспечению, при этом способ дополнительно включает в себя: после запуска модуля обновления и перед передачей запроса на обновление, взаимодействие посредством модуля обновления с сервером сначала для определения, необходимо ли обновление модуля обновления, и, если модуль обновления необходимо обновить, загрузку модулем обновления файлов новой версии модуля обновления, а также замену файлов исходного модуля обновления файлами новой версии модуля обновления.

7. Способ по п. 1, который
после загрузки клиентом соответствующего файла в соответствии с командой в командной информации по обновлению и перед обновлением соответствующего файла, дополнительно включает в себя: резервное копирование локальных обновляемых исходных файлов перед обновлением этих файлов;
если файл не был успешно обновлен, определение, необходимо ли успешно обновить этот файл, если этот файл необходимо успешно обновить, использование резервных копий файлов для восстановления обновленных файлов; в противном же случае, регистрацию файла последней загрузки, который соответствует этому файлу, в службе замены перезапуска операционной системы, и, если операционную системы перезапускают, запуск службы замены перезапуска для обновления этого файла.

8. Система обновления программного обеспечения, включающая в себя:
модуль обновления, установленный на клиенте и сконфигурированный для передачи на сервер запроса на обновление программного обеспечения, который включает в себя файловую информацию обновляемого программного обеспечения, а также для загрузки и обновления соответствующего файла и выполнения соответствующей операции локального обновления согласно команде в командной информации по обновлению, возвращенной сервером; и
модуль службы обновления, установленный на сервере и сконфигурированный для получения запроса на обновление, переданного модулем обновления на клиенте, определения различий между обновляемым программным обеспечением и последней версией программного обеспечения в соответствии с файловой информацией обновляемого программного обеспечения в запросе на обновление, а также для генерирования командной информации по обновлению в соответствии с различиями и отправки командной информации по обновлению в модуль обновления на клиенте,
причем модуль службы обновления включает в себя: модуль определения информации описания и модуль комбинирования и отправки команд обновления;
модуль определения информации описания сконфигурирован для поиска информации с описанием функций последней версии программного обеспечения и для отправки информации с описанием функций в модуль комбинирования и отправки команд обновления;
модуль комбинирования и отправки команд обновления сконфигурирован для добавления информации с описанием функций к командной информации по обновлению и для отправки командной информации по обновлению в модуль обновления на клиенте.

9. Система по п. 8, в которой модуль службы обновления дополнительно включает в себя:
модуль определения различий в версиях, сконфигурированный для сравнения обновляемого программного обеспечения с последней версией программного обеспечения в соответствии с информацией об имени файла и версии каждого файла, входящего в состав обновляемого программного обеспечения, и для определения различия в файлах и различия в версиях;
модуль определения обновляемых файлов, сконфигурированный для поиска недавно добавленного файла и измененного файла в последней версии программного обеспечения в соответствии с разницей между файлами и для организации списочной информации недавно добавленного файла и измененного файла с целью образования списка обновляемых файлов; и
модуль определения действующих команд, сконфигурированный для поиска наборов действующих команд для всего программного обеспечения, версия которого является более поздней, чем версия обновляемого программного обеспечения в запросе на обновление, и для комбинирования найденных наборов действующих команд; и
причем модуль комбинирования и отправки команд обновления дополнительно сконфигурирован для использования списка обновляемых файлов и комбинированного набора действующих команд в качестве командной информации по обновлению и для отправки командной информации по обновлению в модуль обновления на клиенте.

10. Система по п. 9, в которой:
список обновляемых файлов включает в себя: путь загрузки и относительный путь к каждому обновляемому файлу;
каждая действующая команда в наборе действующих команд включает в себя: имя действующей команды, идентифицируемое для локального клиента, относительный путь и имя файла целевого файла, соответствующего операции действующей команды;
модуль обновления на клиенте включает в себя:
модуль для загрузки файлов, сконфигурированный для загрузки соответствующего файла в соответствии с путем загрузки в списке обновляемых файлов в командной информации по обновлению;
модуль комбинирования файлов различий, сконфигурированный для, согласно списку обновляемых файлов, обновления загруженного файла по относительному пути к каталогу установки локального обновляемого программного обеспечения;
модуль для выполнения операций, сконфигурированный для поиска целевого файла с именем файла в действующей команде по относительному пути к каталогу установки обновляемого программного обеспечения и выполнения действующей команды над целевым файлом.

11. Система по п. 10, в которой модуль определения обновляемых файлов включает в себя модуль генерирования двоичных файлов различий, сконфигурированный для, после обнаружения модулем определения обновляемых файлов измененного файла в последней версии программного обеспечения, поиска соответствующего значения хеш-функции в запросе на обновление в соответствии с именем файла для измененного файла; поиска исходного файла, который хранится на сервере и имеет то же самое значение хеш-функции в соответствии со значением хеш-функции; выполнения двоичного сравнения исходного файла и последней версии файла, который имеет то же самое имя файла, что и исходный файл; генерирования двоичного файла различий и замены пути загрузки файла, который имеет то же самое имя файла, что и двоичный файл различий, и который указан в списке обновляемых файлов, на путь загрузки двоичного файла различий;
при этом модуль комбинирования файлов различий, расположенный на клиенте, дополнительно включает в себя модуль комбинирования двоичных файлов различий, сконфигурированный для, после загрузки двоичного файла различий, комбинирования двоичного файла различий и файла, который имеет то же самое имя, что и двоичный файл различий, и который расположен по относительному пути к каталогу установки обновляемого локального программного обеспечения.

12. Система по п. 10 или 11, в которой модуль комбинирования файлов различий дополнительно включает в себя операционный модуль резервного копирования, сконфигурированный для, перед обновлением соответствующего файла, резервного копирования исходных локальных обновляемых файлов, а также, если файл не обновлен успешно, для определения, необходимо ли успешное обновление этого файла, и, если успешное обновление этого файла необходимо, для использования резервных копий файлов для восстановления всех обновленных файлов; в противном же случае, для регистрации файла последней загрузки, соответствующего этому файлу, в службе замены перезапуска операционной системы и, при перезапуске операционной системы, запуска службы замены перезапуска для обновления файла.

13. Система по п. 8, в которой модуль обновления на клиенте включает в себя модуль самообновления, сконфигурированный для, перед передачей запроса на обновление, взаимодействия с сервером для определения, необходимо ли обновить модуль обновления и, если обновление модуля обновления необходимо, для загрузки файлов новой версии модуля обновления и замены файлов исходного модуля обновления файлами новой версии модуля обновления; в противном же случае передается запрос на обновление.



 

Похожие патенты:

Изобретение относится к области проверки исполняемой программы. Техническим результатом является эффективная проверка исполняемой программы относительно нежелательных режимов работы.

Изобретение относится к способам сглаживания рабочей нагрузки на сервер транзакций. Технический результат заключается в повышении быстродействия сервера транзакции.

Изобретение относится к системе наполнения системы транспортного средства объемами данных. Система программного наполнения содержит программу пользовательской настройки, определяющую набор программного обеспечения (ПО), специфицированный для конкретного транспортного средства, ПО для установки на информационно-развлекательный компьютер, информационно-развлекательный компьютер.

Изобретение относится к способам автоматизации процесса установки приложения с помощью применения правила установки для инсталлятора приложения. Технический результат заключается в обеспечении возможности автоматической установки приложения с помощью применения правила установки для инсталлятора приложения.

Изобретение относится к обработке данных в виртуальной вычислительной среде. Технический результат - повышение безопасности обработки блока данных за счет предотвращения несанкционированного доступа в процессе криптографической обработки этого блока.

Изобретение относится к средствам одновременного взаимодействия с набором прикладных программ. Технический результат заключается в обеспечении возможности одновременного взаимодействия пользователя с набором прикладных программ на базе отдельного интерфейса пользователя.

Изобретение относится к вычислительной технике. Технический результат заключается в устранении нарушений в работе операционной системы за счет загрузки кода по меньшей мере одного программного модуля в главную память посредством процессора системы безопасности.

Изобретение относится к средствам выполнения услуг на сервере и клиенте клиент-серверной архитектуры. Технический результат заключается в обеспечении возможности изменять последовательность действий по выполнению услуг на сервере.

Изобретение относится к антивирусным решениям, а более конкретно к способам сохранения состояния эмулятора и его последующего восстановления. Технический результат заключается в сокращении времени на эмуляцию файла путем загрузки необходимых образов состояния эмулятора и обходе антиэмуляционных приемов при эмуляции файла.

Изобретение относится к области развертывания программного обеспечения в корпоративной вычислительной сети. Техническим результатом является оптимизация конфигурирования программного обеспечения.

Изобретение относится к области установки приложений на цифровое электронное устройство. Техническим результатом является эффективная одновременная установка приложений на цифровое электронное устройство с помощью восстановления ложного резервного архива. Способ одновременной установки на первое цифровое электронное устройство со второго цифрового электронного устройства, находящегося в связи с первым электронным устройством, первого множества приложений, которые не установлены на первом цифровом электронном устройстве, включает в себя этапы (a) получения вторым цифровым электронным устройством инструкций по установке первого множества приложений на первое цифровое электронное устройство; (b) создания вторым цифровым электронным устройством ложного резервного архива, содержащего первое множество приложений, причем ложный резервный архив обладает достаточным количеством признаков настоящего резервного архива, создаваемого при операции резервного копирования в отношении первого цифрового электронного устройства, и являющегося совместимым с операцией восстановления, соответствующей операции резервного копирования, операция восстановления выполняется для передачи содержимого ложного резервного архива на постоянный машиночитаемый носитель информации первого цифрового электронного устройства; и (c) инициирования вторым цифровым электронным устройством выполнения операции восстановления, в которой первое множество приложений одновременно устанавливается на первое цифровое электронное устройство, при этом этап (b) включает в себя определение по меньшей мере одного признака ложного резервного архива на основе по меньшей мере одного признака первого цифрового электронного устройства. 3 н. и 28 з.п. ф-лы, 6 ил.

Изобретение относится к области устройств связи для бесконтактного осуществления связи ближнего радиуса действия. Техническим результатом является обеспечение возможности активации приложения на терминале связи посредством получения от электронного устройства информации активации, совместимой с его операционной системой. Устройство связи содержит блок хранения, блок приема и блок передачи. Блок передачи может передавать как первую информацию об активации приложений, так и вторую информацию об активации приложений, каждая из которых представляет собой информацию об активации, сохраненную в блоке хранения, на внешнее устройство, которое передало запрос, независимо от того, является ли запрос, принятый посредством блока приема, запросом от первого внешнего устройства или от второго внешнего устройства. Причем первая информация об активации приложений описывается посредством формата, совместимого с первой программой управления, а вторая информация об активации приложений описывается посредством формата, совместимого со второй программой управления. 6 н. и 14 з.п. ф-лы, 10 ил.

Изобретение относится к серверной стоке, а именно к серверной стойке с множеством модулей управления стойкой. Технический результат - снижение вероятности возникновения ошибки при неудачном обновлении модулей управления стойкой. Стойка, содержащая множество установочных разъемов, множество узлов, соответственно расположенных во множестве установочных разъемов, два модуля управления стойкой, электрически соединенных с множеством узлов, причем каждый модуль управления стойкой соответственно содержит контроллер управления стойкой (RMC), переключатель и запоминающее устройство, причем RMC соединяется с запоминающим устройством посредством переключателя, встроенное программное обеспечение, предназначенное для загрузки посредством RMC, сохраняется в запоминающем устройстве, при этом, когда один из модулей управления стойкой получает образ обновления встроенного программного обеспечения, RMC отправляет команду на переключение на переключатель в том же модуле управления стойкой для обеспечения переключения и соединения переключателя с запоминающим устройством другого модуля управления стойкой и RMC выполняет процедуру обновления встроенного программного обеспечения в запоминающем устройстве другого модуля управления стойкой в соответствии с образом обновления встроенного программного обеспечения. 2 н. и 8 з.п. ф-лы, 7 ил.

Изобретение относится к области обработки данных, способу и устройству предоставления микропрограммного обеспечения. Технический результат заключается в повышении эффективности предоставления микропрограммного обеспечения устройству, чувствительному к потреблению энергии. Прибор содержит первую вычислительную среду, устройство, процессор, соединенный с устройством, предназначенный для того, чтобы поддерживать первую вычислительную среду; агент управления питанием, предназначенный для предоставления сигнала включения устройству; первое запоминающее устройство, предназначенное для сохранения микропрограммного обеспечения, связанного с устройством. Вторая вычислительная включает второе запоминающее устройство и агент микропрограммного обеспечения, обеспечивающий хранение копии микропрограммного обеспечения первого запоминающего устройства первой вычислительной среды во втором запоминающем устройстве; обнаружение сигнала включения от агента управления питанием. 4 н. и 20 з.п. ф-лы, 5 ил.

Изобретение относится к способу загрузки программного обеспечения вычислительного блока подкомпонента устройства, состоящего из нескольких компонентов с различными подкомпонентами с центральным вычислителем. Техническим результатом является автоматическая загрузка программного обеспечения. Раскрыт способ загрузки программного обеспечения вычислительного блока конструктивного блока рельсового транспортного средства, состоящего из нескольких вагонов с различными конструктивными блоками, причем рельсовое транспортное средство содержит центральный вычислитель, при этом способ содержит этапы, на которых посредством сохраненных базовых информаций о соответствующем вагоне, с учетом списка специфических для вагона структурных информаций о рельсовом транспортном средстве, сохраненного в центральном вычислителе, выбирают специфическую для конструктивного блока структурную информацию посредством других сохраненных базовых информаций о конструктивном блоке из сохраненного списка специфических для конструктивного блока структурных информаций о вагоне, и затем с помощью выбранной специфической для конструктивного блока структурной информации формируют список загрузки, обеспечивающий загрузку программного обеспечения вычислительного блока, относящегося к конструктивному блоку. 2 н. и 3 з.п. ф-лы, 2 ил.

Изобретение относится к средствам предоставления доступа к функциям конфигурации приложения. Технический результат заключается в увеличении скорости доступа к функциям конфигурации компьютерного приложения. Назначают соответствующие наборы метаданных соответствующим функциям конфигурации приложения, причем упомянутые соответствующие наборы метаданных описывают соответствующие имена, использования или приложения соответствующих функций конфигурации, причем функции конфигурации содержат настраиваемые пользователем параметры настройки, ассоциированные с приложением. Индексируют функции конфигурации и назначенных соответствующих наборов метаданных. Принимают запрос поиска функции конфигурации, вводимого пользователем приложения. Сопоставляют запрос поиска с соответствующими наборами метаданных и идентификацию одного или более соответствующих наборов метаданных, которые удовлетворяют условию, определенному функцией сопоставления данных относительно запроса поиска. Возвращают одну или более функций конфигурации, назначенных соответствующим наборам метаданных, удовлетворяющих условию. 3 н. и 17 з.п. ф-лы, 11 ил.

Изобретение относится к области компьютерной безопасности. Технический результат заключается в обеспечении выполнения кода в режиме гипервизора. Предложен способ, в котором загружают в оперативную память код гипервизора до загрузки операционной системы; загружают во время загрузки операционной системы в оперативную память доверенный модуль, предназначенный для вызова выполнения кода гипервизора; совершают первый запрос к гипервизору со стороны доверенного модуля с целью получения адреса гипервизора в оперативной памяти; генерируют криптографический ключ с помощью гипервизора; сохраняют указанный ключ в памяти гипервизора; выделяют страницу оперативной памяти; записывают в выделенную страницу оперативной памяти указанный ключ и адрес гипервизора в оперативной памяти; устанавливают защиту для выделенной страницы памяти; совершают запрос к гипервизору по адресу, записанному в выделенной странице на этапе ж), со стороны доверенного модуля для вызова выполнения кода гипервизора, при этом запрос включает в себя ключ, записанный в выделенной странице; проверяют ключ с помощью гипервизора путем сравнения ключа, переданного в запросе к гипервизору со стороны доверенного модуля, с ключом в памяти гипервизора; при положительном результате проверки выполняют код гипервизора в режиме гипервизора. 5 ил.

Изобретение относится к устройству обработки информации. Техническим результатом является повышение точности обработки информации за счет обеспечения надежности использования прикладных программ. Устройство содержит: блок воспроизведения содержания, распространяемого сервером распространения содержания; блок получения информации управления, выполненный с возможностью получения при идентификации сервером идентификации содержания, воспроизводимого содержания, информации управления для управления программой приложения, связанной с идентифицированным содержанием, от сервера распространения информации управления, выполненного с возможностью распространения информации управления; блок обработки информации управления, выполненный с возможностью осуществления обработки для управления программой приложения на основе полученной информации управления; блок получения программы приложения, выполненный с возможностью получения указанной программы приложения от сервера распространения приложения, выполненного с возможностью распространения программы приложения; и блок управления, выполненный с возможностью управления функционированием программы приложения на основе полученной информации управления. 3 н. и 6 з.п. ф-лы, 10 ил.

Изобретение относится к области программирования компонентов в объектах. Техническим результатом является программирование компонентов на основе местоположений для компонентов в объекте. Способ управления программируемым компонентом включает в себя: определение местоположения на объекте с использованием программирующего устройства на основании положения программирующего устройства относительно объекта, определение программной информации для программируемого компонента на основании местоположения на объекте, и программирование программируемого компонента с использованием программной информации для программируемого компонента, причем определение программной информации для программируемого компонента на основании местоположения на объекте включает в себя: определение связи между местоположением на объекте и несколькими точками в облаке точек для объекта, причем несколько точек в облаке точек связаны с обозначением компонента, хранящимся в базе данных, определение программной информации для программируемого компонента с использованием обозначения компонента, связанного с несколькими точками в облаке точек и базе данных. 2 н. и 33 з.п. ф-лы, 18 ил.

Изобретение относится к области компьютерных технологий, а именно к обновлению операционной системы. Технический результат – повышение эффективности обновления операционной системы. Способ для обновления операционной системы содержит этапы, на которых получают файлы обновления, соответствующие множеству версий обновления, более новых, чем текущая версия, выбирают одну версию обновления, ближайшую к текущей версии, в качестве эталонной версии и обновляют текущую версию до эталонной версии, используя файл обновления, соответствующий эталонной версии, и на основе эталонной версии выбирают версию обновления, ближайшую к эталонной версии, в качестве следующей эталонной версии и обновляют эталонную версию до следующей эталонной версии, пока не произойдет обновление до целевой версии, причем целевая версия является самой новой версией из множества версий обновления, причем получение файлов обновления, соответствующих множеству версий обновления, более новых, чем текущая версия, содержит этапы, на которых отдельно получают файл обновления, соответствующий каждой версии, или сжимают все файлы обновления в один пакет, и затем получают все файлы обновления одновременно, используя один пакет. 3 н. и 16 з.п. ф-лы, 5 ил., 1 табл.
Наверх