Размещение программного обеспечения в больших сетевых системах

Изобретение относится к области развертывания программного обеспечения. Техническим результатом является повышение надежности развертывания программного обеспечения в серверных узлах в больших сетевых системах. Обеспечивается развертывание программного обеспечения в узлах сервера в больших сетевых системах с использованием развертывания на основе образов. Главным образом неизменный образ обеспечивается на центральной службе и передается из центральной службы в узлы сервера. Образ включает в себя базовый образ, который является неизменным, и дополнительный образ, который является перезаписываемым и обеспечивает в базовую часть состояние, специфическое для роли и/или специфическое для узла. Когда узел сервера принимает образ из центрального сервера, узел сервера сохраняет образ нетронутым без установки. Затем узел сервера начинает исполнять программное обеспечение непосредственно из сохраненного образа. 3 н. и 13 з.п. ф-лы, 5 ил.

 

Предшествующий уровень техники

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

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

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

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

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

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

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

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

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

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

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

Подробное описание предпочтительных вариантов осуществления

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

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

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

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

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

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

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

Как показано на фиг.1, вычислительное устройство 100 включает в себя шину 110, которая непосредственно или опосредованно соединяет следующие устройства: запоминающее устройство 112, один или несколько процессоров 114, один или несколько компонентов 116 представления, порты 118 ввода/вывода, компоненты 120 ввода/вывода и иллюстративный источник 122 питания. Шина 110 может представлять собой одну или несколько шин (таких как адресная шина, шина данных или их комбинация). Хотя различные блоки фиг.1 показаны для ясности линиями, в действительности, схематическое изображение различных компонентов не является таким четким, и метафорически, точнее линии могут быть серыми и размытыми. Например, кто-то может рассматривать компонент ввода/вывода как компонент представления, такой как устройство отображения. Также процессоры имеют запоминающее устройство. Авторы осознают, что такова природа данного уровня техники, и повторяют, что схема фиг.1 является просто иллюстрацией для примерного вычислительного устройства, которое может быть использовано в связи с одним или несколькими вариантами осуществления настоящего изобретения. Не делается различия между такими категориями как «рабочая станция», «сервер», «ноутбук», «карманное устройство» и т.п., поскольку считается, что все они подразумеваются, как находящиеся в рамках фиг.1 и упоминаются как «вычислительное устройство».

Вычислительное устройство 100 обычно включает в себя множество считываемых компьютером носителей, которые могут представлять собой любой доступный носитель, к которому может иметь доступ вычислительное устройство 100, и включает в себя как энергозависимые, так и энергонезависимые носители, как съемные, так и несъемные носители. Например, считываемые компьютером носители могут содержать носители данных и средства связи, но, не ограничиваясь ими. Компьютерные носители данных включают в себя как энергозависимые, так и энергонезависимые носители, как съемные, так и несъемные носители, осуществляемые любым способом или технологией для хранения информации, как например, считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя оперативное запоминающее устройство (RAM, ОЗУ), постоянное запоминающее устройство (ROM, ПЗУ), флэш-память или любую другую технологию памяти, электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), постоянное запоминающее устройство на компакт-диске (CD-ROM), цифровые многофункциональные диски (DVD) или другие оптические запоминающее устройства на дисках, магнитные кассеты, накопители на магнитных дисках или любые другие магнитные запоминающие устройства, другие типы энергозависимой и энергонезависимой памяти или любой другой носитель, который может быть использован для сохранения желательной информации, к которым может иметь доступ вычислительное устройство 100, но, не ограничиваясь ими. Средства связи обычно осуществляют считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, как например, несущая волна или другой транспортный механизм, и включает в себя любые средства доставки информации. Термин "модулированный информационный сигнал" означает сигнал, который имеет одну или несколько его характеристик, устанавливаемых или изменяемых так, чтобы кодировать информацию в сигнале. Например, средства связи включают в себя проводные средства связи, такие как проводная сеть или прямое проводное соединение, и беспроводные средства связи, такие как акустические, радиочастотные (РЧ, RF), инфракрасные и другие средства связи, но, не ограничиваясь ими. Комбинации любых из упомянутых средств также входят в рамки понятия - считываемые компьютером носители.

Запоминающее устройство 112 включает в себя считываемые компьютером носители в форме энергозависимой и/или энергонезависимой памяти. Запоминающее устройство может быть, съемным, несъемным, или их комбинацией. Иллюстративные устройства аппаратных средств включают в себя твердотельную память, жесткие диски, оптические носители и т.д. Вычислительное устройство 100 включает в себя один или несколько процессоров, которые считывают данные с различных логических объектов, таких как запоминающее устройство 112 или компоненты 120 ввода/вывода. Компонент(-ы) 116 представления представляют индикации данных пользователю или другому устройству. Иллюстративные компоненты представления включают в себя устройство отображения, громкоговоритель, компонент печати, компонент вибрации и т.д.

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

Обратимся теперь к фиг.2, которая изображает блок схему, иллюстрирующую систему 200, которая обеспечивает развертывание программного обеспечения в узловых серверах согласно варианту осуществления настоящего изобретения. Должно быть понятно, что эта и другие описанные здесь компоновки излагаются только как примеры. Вместо показанных здесь или в дополнение к ним могут быть использованы другие компоновки и элементы (например, машины, интерфейсы, функции, порядки и группировки функций, и т.д.), и некоторые элементы могут совершенно опускаться. Далее, многие элементы, описанные здесь, представляют собой функциональные логические объекты, которые могут осуществляться в виде дискретных или распределенных компонентов или в сочетании с другими компонентами, и в любой подходящей комбинации или местоположении. Различные функции, описанные здесь как выполняемые одним или несколькими логическими объектами, могут приводиться в исполнение посредством аппаратных средств, встроенного программного обеспечения и/или программного обеспечения. Например, различные функции могут приводиться в исполнение процессором, исполняющим инструкции, хранимые в запоминающем устройстве.

Среди других компонентов, которые не показаны, система 200 может вообще включать в себя центральную службу 202, серверные узлы 204 и сеть 206. Каждый из компонентов системы 200, включая центральную службу 202 и серверные узлы 204, может содержать вычислительное устройство любого типа, как например, вычислительное устройство 100, описанное со ссылкой на фиг.1. Компоненты могут поддерживать связь друг с другом через сеть 206, которая может включать в себя одну или несколько локальных вычислительных сетей (LAN) и/или глобальных вычислительных сетей (WAN), но, не ограничиваясь ими. Такие сетевые операционные среды - обычное дело в офисах, корпоративных сетях, интрасетях или интернете. Должно быть понятно, что любое количество центральных служб, серверных узлов и сетей может быть использовано в системе 200 в рамках настоящего изобретения. Кроме того, хотя многие другие компоненты системы 200 не показаны, специалистам должно быть понятно, что такие компоненты и их межкомпонентные соединения хорошо известны. Соответственно, дополнительные детали, касающиеся компонентов, не показанных в системе 200, дополнительно не раскрываются здесь.

Центральная служба 202 может включать в себя одно или несколько вычислительных устройств (таких как вычислительное устройство 100 фиг.1) для координации развертывания программного обеспечения (ОС и/или прикладных программ) в серверных узлах 204 в системе 200. Центральная служба 202 отвечает за построение и хранение образов. Дополнительно, центральная служба 202 отвечает за передачу образов в серверные узлы 204.

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

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

Каждый образ программного обеспечения (например, образ операционной системы или образ прикладной программы) в вариантах осуществления включает в себя базовый образ и дополнительный образ. Базовый образ является неизменным (или только для чтения), тогда как дополнительный образ является перезаписываемым. Дополнительный образ служит, чтобы обеспечивать для базового образа состояние, специфическое для каждой роли и/или специфическое для каждого узла. Специфические для роли и/или специфические для узла данные могут быть записаны в дополнительный образ в центральной службе 202 перед развертыванием и/или на отдельном серверном узле 204 после развертывания. Базовый образ и дополнительный образ могут поддерживаться отдельно на центральной службе 202 и объединяться во время развертывания.

Разделение операционной системы и прикладных программ на отдельные образы, объединенные с использованием базовых образов и дополнительных образов, означает, что «образ», используемый узлом, в действительности содержит набор нескольких физических файлов. Соответственно, термин «образ» относится ко всему набору файлов (или базовых образов и дополнительных образов). Термины «образ операционной системы» или «образ прикладной программы» относится к набору файлов, которые составляют набор диска (базовый образ и дополнительный образ) для образа операционной системы или образа прикладной программы, соответственно.

В одном варианте осуществления настоящего изобретения, образы сохраняются с использованием формата виртуального жесткого диска (VHD) Microsoft®, который определяет виртуальный жесткий диск машины, который может находиться в файловой системе родительского главного компьютера, заключенной в одном файле. Формат VHD диска обеспечивает дифференцирующие диски, в которых один логический диск поддерживается в двух файлах: «базовый» VHD файл и дополнительный VHD файл. В вариантах осуществления настоящего изобретения, общее состояние пребывает в базовом VHD диске, тогда как состояние для роли и состояние для узла пребывает в дополнительном VHD диске. Базовый VHD диск является диском только для считывания, и любые изменения, производимые в эмулированном диске, записываются на дополнительный VHD диск. Хотя здесь особенно упоминается VHD формат, специалистам должно быть понятно, что в рамках вариантов осуществления настоящего изобретения могут быть использованы другие технологии (например, WIM).

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

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

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

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

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

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

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

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

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

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

Как упоминалось ранее, центральная служба 202 включает в себя компоненты для построения и обслуживания развертываемых образов. Образы строятся автономно (в режиме офлайн) (то есть не на активных серверных узлах 204) центральной службой 202.

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

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

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

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

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

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

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

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

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

Варианты осуществления также содействуют возвращению серверного узла 204 обратно в последнее известное хорошее состояние. Изменения, которые выполняются в отношении объема операционной системы или объема прикладной программы на узле 204, сохраняются в дополнительном образе. Исходный дополнительный образ может записываться в памяти перед тем, как активируется роль, и если возникают проблемы из-за изменений, то исходный дополнительный образ можно восстановить, не копируя из сервера развертывания (то есть центральной службы 202).

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

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

Фиг.3 иллюстрирует блок схему, показывающую пример содержимого кэш-памяти 300 образов на узле, но, не ограничиваясь этим. В настоящем примере, образы сохраняются в кэш-памяти для двух ролей. Например, роль 1 может позволить серверному узлу обеспечивать услуги электронной почты, тогда как роль 2 может позволить серверному узлу обеспечивать службы поискового механизма. Как указывалось ранее, записывая образы в кэш-память для обеих ролей, серверный узел может легко и быстро переключаться от одной роли к другой, просто выполняя перезагрузку узла. Дополнительно, имеется две версии роли 1, версия 1.0 и 1.1., тогда как для роли 2 в кэш-памяти имеется только одна версия 1.1. Как описано выше, записывая в кэш-память многочисленные версии конкретной роли, серверный узел при необходимости может быстро возвращаться к предыдущей версии. Например, если версия 1.1 роли 1 является активной ролью, то серверный узел может быстро возвращаться к версии 1.0 роли 1 посредством перезагрузки, поскольку предыдущая версия сохраняется в кэш-памяти.

Как показано на фиг.3, версия 1.0 роли 1 включает в себя базовый образ 302 операционной системы в.1.0, дополнительный образ 304 операционной системы в.1.0, базовый образ 306 прикладной программы 1 в.1.0 и дополнительный образ 308 прикладной программы 1 в.1.0. Версия 1.1 роли 1 включает в себя базовый образ 312 операционной системы в.1.1, дополнительный образ 314 операционной системы в.1.1, базовый образ 316 прикладной программы 1 в.1.1 и дополнительный образ 318 прикладной программы 1 в.1.1. Версия 1.1 роли 2 включает в себя базовый образ 312 операционной системы в.1.1, дополнительный образ 324 операционной системы в.1.1, базовый образ 326 прикладной программы 2 в.1.1 и дополнительный образ 328 прикладной программы 2 в.1.1. Следует заметить, что обе версии версия 1.1 роли 1 и версия 1.1 роли 2 используют базовый образ 312 операционной системы в.1.1, так что только одна копия этого образа сохраняется в кэш-памяти и может совместно использоваться.

На фиг.4 изображена блок схема последовательности операций, иллюстрирующая пример способа 400 развертывания программного обеспечения в серверных узлах в большой сетевой системе согласно варианту осуществления настоящего изобретения. Первоначально, как показано на этапе 402, обеспечивается образ программного обеспечения на центральной службе, как например, центральная служба фиг.2. Образ программного обеспечения может содержать образ операционной системы или образ прикладной программы. Как описано выше, образ программного обеспечения включает в себя базовый образ только для считывания, и дополнительный образ, который является перезаписываемым. Дополнительный образ должно строиться на базовом образе путем добавления состояния, зависящего от роли, и/или состояния, зависящего от узла. В некоторых вариантах осуществления, центральная служба может поддерживать многочисленные образы операционной системы и многочисленные образы прикладной программы и может организовывать развертывание различных образов на серверных узлах в системе (например, серверные узлы 204 фиг.2).

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

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

Как указано ранее, когда доступны заплаты/обновления программного обеспечения, заплаты/обновления применяются к образам на центральной службе (например, центральная служба 202 фиг.2), что противоположно применению на отдельных узлах. Иллюстративный способ 500 для применения обновления программного обеспечения согласно вариантам осуществления настоящего изобретения, иллюстрируется на фиг.5. Сначала, как показано на этапе 502, обновление программного обеспечения принимается на центральной службе. Обновление программного обеспечения применяется к копии предыдущего образа на центральной службе, чтобы автономно (в режиме офлайн) генерировать новый образ, как показано на этапе 504. В одном варианте осуществления, чтобы генерировать новый образ, копируется текущая версия базового образа, и монтируется новый базовый образ. Применяется обновление программного обеспечения, и затем новый базовый образ демонтируется. Базовые образы, зависящие от роли, могут также регенерироваться. Новый базовый образ и регенерированный дополнительный образ, зависящие для роли, вместе составляют сгенерированный новый образ с обновлением программного обеспечения.

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

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

Как показано на этапе 510, затем серверные узлы прогоняют программное обеспечение непосредственно из нового образа. В случае образа операционной системы, серверные узлы выполняют загрузку непосредственно из нового образа операционной системы. В случае образа прикладной программы, серверные узлы прогоняют прикладную программу непосредственно из образа.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

14. Компьютерная система по п.13, в которой центральная служба сохраняет множество образов и управляет развертыванием образов на множество серверных узлов.

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

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



 

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

Изобретение относится к распределенным приложениям и, более конкретно, к распределенным мультимодальным приложениям, реализуемым в системной среде "клиент - сервер".

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

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

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

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

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

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

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

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

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

Изобретение относится к электротехнике, к устройствам для подвода и распределения электрической энергии, а также защиты, управления и частых пусков высоковольтных синхронных и асинхронных двигателей, в том числе насосных станций различного назначения, в том числе и в составе распределительных устройств от 6 кВ до 35 кВ, а также совместно с высоковольтными устройствами плавного пуска, преобразователями частоты, в том числе реализованными по двухтрансформаторной схеме. Технический результат состоит в повышении защиты, контроля и управления высоковольтными синхронными и асинхронными двигателями за счет повышения количества циклов запуска/остановки, частоты их включений. В высоковольтном комплектном распределительном устройстве, состоящем из отдельного металлического шкафа, разделенного на технологические отсеки, выполненного с возможностью одностороннего и двухстороннего обслуживания, и содержащего коммутационный аппарат, микропроцессорную защиту и защиту главных цепей, в качестве коммутационного аппарата применен высоковольтный контактор. Микропроцессорная защита выполнена с возможностью обеспечения совместной работы с датчиками температуры, уровня, сухого хода, датчиками затопления, скорости и давления и возможностью интеграции в системы АСКУЭ и АСУТП. Ввод и отходящие линии выполнены в виде сборных шин или кабельного присоединения. Защита главных цепей выполнена в виде устройства дуговой защиты и разгрузочных клапанов. 3 з.п. ф-лы, 14 ил.

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

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

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

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

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

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

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

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