Автообновление с согласованием во время работы клиентского интерфейса

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

 

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

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

Сущность изобретения

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

[0003] Варианты осуществления, обсуждаемые ниже, относятся к выполнению предыдущей версией клиентского программного приложения передачи обслуживания во время исполнения к последующей версии клиентского программного приложения. Клиентское устройство может исполнять предыдущую версию клиентского программного приложения, в то же время инсталлируя последующую версию клиентского программного приложения. Клиентское устройство может выполнять согласование обновления между последующей версией и предыдущей версией. Клиентское устройство может выполнять подтверждение корректности во время исполнения в отношении последующей версии.

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

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

[0005] Фиг. 1 иллюстрирует в виде блок-схемы один вариант осуществления сети обновления приложения.

[0006] Фиг. 2 иллюстрирует в виде блок-схемы один вариант осуществления вычислительного устройства.

[0007] Фиг. 3 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления обмена данными для обновления приложения.

[0008] Фиг. 4 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления способа обновления клиентского программного приложения с помощью предыдущей версии клиентского программного приложения.

[0009] Фиг. 5 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления способа обновления клиентского программного приложения с помощью последующей версии клиентского программного приложения.

Подробное описание изобретения

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

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

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

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

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

[0015] Фиг. 1 иллюстрирует в виде блок-схемы один вариант осуществления сети 100 обновления приложения. Клиентское устройство 110, запускающее клиентское программное приложение, такое как клиентский интерфейс, может осуществлять доступ к серверу 120 приложений через сеть 130 передачи данных, чтобы проверять на сервере 120 приложений обновления для клиентского программного приложения. Предыдущая версия 112 клиентского программного приложения может инициировать модуль 114 инсталлятора, чтобы проверять обновление на сервере 120 приложений. Модуль 114 инсталлятора может скачивать и инсталлировать последующую версию 116 клиентского программного приложения. Дополнительно, модуль 114 инсталлятора может выполнять нацеленный опрос сервера 120 приложений, чтобы выполнить проверку на предмет незначительных обновлений и исправлений. После того как модуль 114 инсталлятора успешно инсталлировал последующую версию 116, предыдущая версия 112 может выполнять согласование обновления, чтобы подготавливать функционирование последующей версии 116 как активной версии клиентского программного приложения.

[0016] Фиг. 2 иллюстрирует блок-схему примерного вычислительного устройства 200, которое может действовать в качестве клиентского устройства 110. Вычислительное устройство 200 может объединять одно или более из аппаратных средств, программного обеспечения, микропрограммного обеспечения (firmware) и технологии системы на кристалле, чтобы реализовывать клиентское программное приложение. Вычислительное устройство 200 может включать в себя шину 210, процессор 220, память 230, хранилище 240 данных, устройство 250 ввода/вывода и интерфейс 260 связи. Шина 210, или другая система связи между компонентами, может обеспечивать связь между компонентами вычислительного устройства 200.

[0017] Процессор 220 может включать в себя, по меньшей мере, один традиционный процессор или микропроцессор, который интерпретирует и исполняет набор инструкций. Память 230 может быть оперативным запоминающим устройством (RAM) или другим типом динамического устройства хранения, которое хранит информацию и инструкции для исполнения посредством процессора 220. Память 230 может также хранить временные переменные или другую промежуточную информацию, используемую во время исполнения инструкций процессором 220. Хранилище 240 данных может включать в себя традиционное ROM-устройство или другой тип статического устройства хранения, которое хранит статическую информацию и инструкции для процессора 220. Устройство 240 хранения может включать в себя любой тип материального машиночитаемого носителя, такого как, например, магнитные или оптические носители записи, такие как цифровой видеодиск и его соответствующий привод. Материальный машиночитаемый носитель является физическим носителем, хранящим машиночитаемый код или инструкции, как противоположность энергозависимому носителю или сигналу. Устройство 240 хранения может хранить набор инструкций, детализирующих способ, которые, когда исполняются посредством одного или более процессоров, инструктирует одному или более процессорам выполнять способ.

[0018] Устройство 250 ввода/вывода может включать в себя один или более традиционных механизмов, которые разрешают пользователю вводить информацию в вычислительное устройство 200, такие как клавиатура, мышь, устройство распознавания голоса, микрофон, гарнитура, устройство распознавания жестов, сенсорный экран, устройство захвата жестов и т.д. Устройство 250 ввода/вывода может включать в себя один или более традиционных механизмов, которые выводят информацию для пользователя, включающие в себя дисплей, принтер, один или более динамиков, гарнитуру или носитель, такой как память или магнитный или оптический диск и соответствующий дисковый накопитель. Интерфейс 260 связи может включать в себя любой механизм типа приемопередатчика, который предоставляет возможность вычислительному устройству 200 связываться с другими устройствами или сетями. Интерфейс 260 связи может быть беспроводным, проводным или оптическим интерфейсом.

[0019] Вычислительное устройство 200 может выполнять такие функции в ответ на исполнение процессором 220 последовательности инструкций, содержащихся на компьютерно-читаемом носителе, таком как, например, память 230, магнитный диск или оптический диск. Такие инструкции могут быть считаны в память 230 с другого компьютерно-читаемого носителя, такого как устройство 240 хранения, или с отдельного устройства через интерфейс 260 связи.

[0020] Фиг. 3 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления обмена 300 данными для обновления приложения. Предыдущая версия (PV) 112 может проверять 302 сервер (AS) 120 приложений, чтобы увидеть, доступно ли обновление. Если обновление доступно, сервер 120 приложений может скачивать 304 модуль (IM) 114 инсталлятора в предыдущую версию 112. Если обновление не найдено, сервер 120 приложений может делать повторную попытку в более позднее время. Предыдущая версия 112 может запускать 306 модуль 114 инсталлятора. Модуль 114 инсталлятора может копировать 308 файлы для последующей версии (SV) 116 в файловую систему устройства 110 на стороне клиента. Модуль 114 инсталлятора может запускать 310 последующую версию 116. Последующая версия 116 может запрашивать 312, готова ли предыдущая версия 112 к прекращению работы, посредством отправки запроса прекращения работы.

[0021] Предыдущая версия 112 может сигнализировать 314 последующей версии 116, когда предыдущая версия 112 находится в состоянии "готовности к прекращению работы", отправляя сообщение о состоянии прекращения работы. Предыдущая версия 112 может отправлять согласование 316 обновления последующей версии 116, предоставляющее набор данных о состоянии приложения, такой как набор данных о состоянии процессора. Если предыдущая версия 112 готова к прекращению работы, последующая версия 116 может регистрировать 318 какие-либо компоненты, чтобы выполнять инсталляцию. Последующая версия 116 может подтверждать корректность 320 в регистрациях компонентов времени исполнения, как только инсталляция завершается. Если подтверждение корректности во время исполнения успешно, последующая версия 116 может переключать 322 любые точки входа в приложение на точку в последующей версии 116, так что запросы или команды для программного приложения идут в последующую версию 116. Если подтверждение корректности во время исполнения успешно, предыдущая версия 112 может быть деинсталлирована 324.

[0022] Фиг. 4 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления способа 400 обновления клиентского программного приложения с помощью предыдущей версии 112 клиентского программного приложения. Устройство 110 на стороне клиента может исполнять предыдущую версию 112 клиентского программного приложения (этап 402). Предыдущая версия 112 может скачивать последующую версию с сервера 120 приложений (этап 404). Предыдущая версия 112 может инициировать модуль 114 инсталлятора, чтобы инсталлировать последующую версию 116 (этап 406). Предыдущая версия 112 может принимать запрос прекращения работы от последующей версии 116, запрашивающий прекращение работы предыдущей версии 112 (этап 408). Предыдущая версия 112 может отправлять сообщение о состоянии прекращения работы последующей версии 116, указывающее, готова ли предыдущая версия 112 прекращать работу (этап 410). Если предыдущая версия 112 указывает в сообщении состояния прекращения работы, что предыдущая версия 112 не готова прекращать работу (этап 412), предыдущая версия 112 может принимать повторный запрос прекращения работы от последующей версии 115, после того как последующая версия ожидает в течение периода паузы и затем повторно отправляет запрос прекращения работы (этап 408).

[0023] Если предыдущая версия 112 указывает в сообщении о состоянии прекращения работы готовность к прекращению работы (этап 412), предыдущая версия 112 может выполнять согласование обновления с последующей версией 116 после инсталляции последующей версии 116 (этап 414). Предыдущая версия 112 может отправлять набор данных о состоянии предыдущей версии в последующую версию 116 как часть согласования обновления (этап 416). Если предыдущая версия 112 принимает какие-либо новые промежуточные данные приложения от пользователя во время инсталляции последующей версии 116, предыдущая версия 112 может буферизовать любые промежуточные данные приложения, принятые предыдущей версией 112, после того как инсталляция начинается (этап 418). Если подтверждение корректности во время исполнения в отношении последующей версии 116 было неудачным (этап 420), клиентское устройство 110 может возобновлять обычное выполнение предыдущей версии 112 после неудачи инсталляции или неудачи подтверждения корректности последующей версией 116 (этап 422).

[0024] Если подтверждение корректности во время исполнения в отношении последующей версии 116 было успешным (этап 420), предыдущая версия 112 может принимать уведомление о корректности от последующей версии 116 (этап 424). Предыдущая версия 112 может пересылать любые промежуточные данные приложения, принятые предыдущей версией 112, в последующую версию 116, либо буферизованные, либо вновь принятые (этап 426). Клиентское устройство 110 может деинсталлировать предыдущую версию 112 после успешной инсталляции и подтверждения корректности последующей версии 116 (этап 428).

[0025] Фиг. 5 иллюстрирует в виде блок-схемы последовательности операций один вариант осуществления способа 500 обновления клиентского программного приложения с помощью последующей версии клиентского программного приложения. Устройство 110 на стороне клиента может инсталлировать последующую версию 116 клиентского программного приложения (этап 502). Последующая версия 116 может отправлять запрос прекращения работы в предыдущую версию 112 (этап 504). Последующая версия 116 может принимать сообщение о состоянии прекращения работы от предыдущей версии 112, указывающее, готова ли предыдущая версия 112 прекращать работу (этап 506). Если предыдущая версия 112 указывает в сообщении о состоянии прекращения работы, что предыдущая версия 112 не готова прекращать работу (этап 508), последующая версия может ожидать в течение периода паузы (этап 510) перед повторной отправкой запроса прекращения работы в предыдущую версию 112 (этап 504).

[0026] Если предыдущая версия 112 указывает в сообщении о состоянии прекращения работы готовность прекращать работу (этап 508), последующая версия 116 может принимать согласование обновления от предыдущей версии 112 (этап 512). Последующая версия 116 может принимать набор данных о состоянии предыдущей версии от предыдущей версии 112 как часть подтверждения обновления (этап 514). Последующая версия 116 может регистрировать компонент (этап 516). Последующая версия 116 может выполнять подтверждение корректности во время исполнения в отношении последующей версии 116, в то время как предыдущая версия 112 клиентского программного приложения исполняется (этап 518). Последующая версия 116 может отправлять уведомление о корректности в предыдущую версию 112, указывающее результаты подтверждения корректности во время исполнения (этап 520).

[0027] Если подтверждение корректности во время исполнения в отношении последующей версии 116 было неудачным (этап 522), клиентское устройство 110 может переключать пользователя обратно на предыдущую версию 112 после неудачи инсталляции или неудачи подтверждения корректности последующей версией 116 (этап 524). Если подтверждение корректности во время исполнения в отношении последующей версии 116 было успешным (этап 522), последующая версия 116 может переключать точку входа в приложение с предыдущей версии 112 на последующую версию 116 (этап 526). Устройство 110 на стороне клиента может автоматически переходить с предыдущей версии 112 на последующую версию 116 (этап 528). Последующая версия 116 может принимать любые промежуточные данные приложения, принятые предыдущей версией 112, после того как инсталляция началась (этап 530). Последующая версия 116 может запрашивать, чтобы устройство 110 на стороне клиента деинсталлировало предыдущую версию 112 после успешного запуска и подтверждения корректности последующей версии 116 (этап 532).

[0028] Хотя изобретение было описано на языке, характерном для структурных признаков и/или методологических действий, объем изобретения, определяемый прилагаемой формулой изобретения, не ограничивается обязательно конкретными признаками или действиями, описанными выше. Вместо этого, характерные признаки и этапы, описанные выше, раскрываются как примерные формы реализации формулы изобретения.

[0029] Варианты осуществления в объемы настоящего изобретения могут также включать в себя энергонезависимые компьютерно-читаемые носители хранения для передачи или сохранения на них компьютерно-исполняемых инструкций или структур данных. Такие энергонезависимые компьютерно-читаемые носители хранения могут быть любыми доступными носителями, к которым может осуществлять доступ компьютер общего или специального назначения. В качестве примера, а не ограничения, такие энергонезависимые компьютерно-читаемые носители хранения могут содержать RAM, ROM, EEPROM, CD-ROM или другой накопитель на оптическом диске, накопитель на магнитном диске или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован, чтобы передавать или хранить желаемое средство кодирования программы в форме компьютерно-исполняемых инструкций или структур данных. Комбинации вышеописанного могут быть в рамках энергонезависимых компьютерно-читаемых носителей хранения.

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

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

[0032] Хотя вышеприведенное описание может содержать конкретные детали, они не должны истолковываться как ограничивающие формулу изобретения каким-либо образом. Другие конфигурации раскрытых вариантов осуществления являются частью объема изобретения. Например, принципы изобретения могут быть применены к каждому отдельному пользователю, когда каждый пользователь может индивидуально применять такую систему. Это предоставляет возможность каждому пользователю использовать преимущества изобретения, даже если какое-либо из большого числа возможных приложений не использует функциональность, описанную в данном документе. Множественные экземпляры электронных устройств, каждое, могут обрабатывать содержимое различными возможными способами. Реализации необязательно существуют в одной системе, используемой всеми конечными пользователями. Соответственно, именно прилагаемая формула изобретения и ее законные эквиваленты должны лишь определять изобретение, а не какие-либо конкретные приведенные примеры.

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

инсталлируют последующую версию клиентского программного приложения;

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

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

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

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

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

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

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

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

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

8. Способ по п. 1, дополнительно содержащий этап, на котором отправляют уведомление подтверждения корректности от последующей версии в предыдущую версию.

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

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

исполнение предыдущей версии клиентского программного приложения;

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

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

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

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

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

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

13. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором скачивают последующую версию с сервера приложений.

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

15. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором пересылают промежуточные данные приложения, принятые предыдущей версией, в последующую версию.

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

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

18. Клиентское устройство, выполненное с возможностью обновления клиентского программного приложения, при этом клиентское устройство содержит:

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

процессор, который:

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

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

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

переключает точку входа приложения с предыдущей версии на последующую версию при успешности упомянутого подтверждения корректности и

выполняет прозрачный переход с предыдущей версии на последующую версию.

19. Клиентское устройство по п. 18, в котором процессор деинсталлирует предыдущую версию после успешного подтверждения корректности последующей версии.

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области встроенных защищенных элементов, таких как смарт-карты. Технический результат заключается в обеспечении обновления рабочей системы надежным и безопасным способом. Раскрыт защищенный элемент (30), содержащий, по меньшей мере, микропроцессор (31), энергонезависимое запоминающее устройство (34) и интерфейс (36) связи, при этом защищенный элемент (30) выполнен с возможностью осуществления связи с устройством (10) обновления для обновления рабочей системы защищенного элемента через интерфейс (36) связи, энергонезависимое запоминающее устройство (34) хранит, по меньшей мере, программу (38) инициирования, а микропроцессор (31) выполнен с возможностью исполнения программы (38) инициирования при запуске защищенного элемента (30), при этом программа (38) инициирования содержит команды для осуществления: этапа запуска (Е1, Е12) для определения, содержит ли энергонезависимое запоминающее устройство (34) активную рабочую программу (35), и при положительном результате определения, для запуска исполнения рабочей системы (35); этапа (Е4, Е5, Е6, Е7, Е13, Е14) аутентификации устройства (10) обновления в зависимости от первых данных аутентификации (AUTH30), определенных защищенным элементом (30), и от вторых данных аутентификации (AUTH10), полученных устройством (10) обновления; этапа (Е9, Е10) запоминания новой рабочей системы, принимаемой от устройства (10) обновления, в энергонезависимом запоминающем устройстве (34); и этапа (Е11) активации новой рабочей системы, при этом, когда процесс обновления рабочей системы запущен и энергонезависимое запоминающее устройство хранит активную рабочую систему, защищенный элемент выполнен с возможностью выбора рабочей системы в качестве приложения обновления, а если неактивную рабочую систему, то с возможностью выбора программы инициирования в качестве приложения обновления. 3 н. и 8 з.п. ф-лы, 13 ил.

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

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

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

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

Наверх