RU2436150C2 - Создание шаблонов отключенных ресурсов - Google Patents

Создание шаблонов отключенных ресурсов Download PDF

Info

Publication number
RU2436150C2
RU2436150C2 RU2008138700/08A RU2008138700A RU2436150C2 RU 2436150 C2 RU2436150 C2 RU 2436150C2 RU 2008138700/08 A RU2008138700/08 A RU 2008138700/08A RU 2008138700 A RU2008138700 A RU 2008138700A RU 2436150 C2 RU2436150 C2 RU 2436150C2
Authority
RU
Russia
Prior art keywords
copy
resource
virtual machine
software
template
Prior art date
Application number
RU2008138700/08A
Other languages
English (en)
Other versions
RU2008138700A (ru
Inventor
Нельсон С. Мл. АРАУХО (US)
Нельсон С. Мл. АРАУХО
Стивен П. РОБЕРТСОН (US)
Стивен П. РОБЕРТСОН
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008138700A publication Critical patent/RU2008138700A/ru
Application granted granted Critical
Publication of RU2436150C2 publication Critical patent/RU2436150C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
Существует ряд способов распределения различных типов ресурсов (программных, аппаратных или их комбинации) в компьютеризированной среде. Например, с точки зрения программного обеспечения, предприятие может установить множество копий операционной системы (или прикладной программы) на множестве различных компьютеров и посредством этого распределить одну копию по многим системам. Таким образом, у предприятия также может существовать необходимость установки нескольких дополнительных обновлений программного обеспечения для скопированной или совместно используемой операционной системы и, следовательно, совместного использования множества копий этих обновлений на многих системах. Традиционные способы совместного использования аппаратного обеспечения включают настройку компьютерных систем в сети таким образом, чтобы несколько различных компьютерных систем могло иметь доступ к дисковой области другого компьютера с различными целями, возникающими при хранении информации и совместном использовании файлов.
Дополнительные способы распределения ресурсов с аппаратно-программной точки зрения включают создание уникальных объектов на одной физической компьютерной системе, при этом объекты работают как отдельные и независимые компьютерные системы, но они совместно используют одну и ту же физическую среду и вычислительные ресурсы. Например, предприятие может создать множество виртуальных машин на одном сервере, к каждой из которых другой компьютер может обращаться так, как если бы эти виртуальные машины были отдельными компьютерными системами. В одной из подобных реализаций, на одном или нескольких серверах большого предприятия также может быть запущено несколько виртуальных машин на одном наборе аппаратного обеспечения, при этом каждая из данных виртуальных машин может выступать в качестве дополнительного сервера или доступного из сети персонального компьютера в зависимости от используемой конфигурации.
В объектах такого типа, как виртуальные машины, совместно используются как программные, так и аппаратные ресурсы, поскольку обычно они настроены таким образом, что используют копию программного обеспечения, уже используемую другой виртуальной машиной, и поскольку они даже могут совместно использовать диск, который уже используется другой виртуальной машиной. Несмотря на то, что виртуальные машины совместно используют одну и ту же операционную систему, предприятию будет необходимо настроить конфигурации операционной системы таким образом, чтобы одну виртуальную машину нельзя было спутать с другими, на которых используется та же копия операционной системы, особенно если они установлены на одном физическом диске. Следовательно, для настройки виртуальной машины системный администратор должен будет присвоить новой виртуальной машине уникальный признак, по которому ее можно будет отличить от других виртуальных машин (или компьютерных систем). В качестве такого индекса может выступать имя машины, часовой пояс, имя домена, название компании, ключи продукта и т.п.
Однако простая настройка виртуальной машины может представлять собой достаточно сложную задачу. Например, системный администратор может просто установить виртуальную машину с использованием базовой установочной копии операционной системы, а затем установить необходимые корректировки к программному обеспечению, а также присвоить уникальные индексы виртуальной машины. Естественно, это может быть достаточно неудобным в случае наличия большого количества корректировок к программному обеспечению и других уникальных настроек системы, которых системный администратор хотел бы произвести. Соответственно, с программной точки зрения системный администратор может предпочесть копирование одного экземпляра операционной системы, уже настроенной согласно его предпочтениям, и последующую установку этой копии на новую виртуальную машину с другим уникальным признаком. По существу, системному администратору будет необходимо удалить присвоенные признаки из существующей копии перед ее установкой на новую виртуальную машину.
Тем не менее, существуют другие сложности при простом удалении настроенных признаков из одной копии операционной системы и последующем добавлении новых настроенных признаков к копии операционной системы на новой виртуальной машине. В частности, стандартные программные средства подготовки, которые могли бы использоваться для создания «базовой» или «шаблонной» копии операционной системы (или приложения), могут быть сложными в использовании, а время их выполнения может быть значительным. Например, системному администратору может понадобиться провести запуск необходимой операционной системы и затем выполнить определенную программу подготовки поверх операционной системы во время ее работы. Поскольку программа подготовки удаляет некоторые уникальные признаки копии операционной системы, то программа подготовки может потребовать проведения нескольких перезагрузок операционной системы до тех пор, пока все уникальные признаки не будут удалены.
Помимо сложностей, характерных для последовательного перезапуска операционной системы (или приложения) и возникающих из-за обычной задержки, традиционные программы подготовки также могут быть технически сложными и непростыми в использовании. В частности, если пользователь не настроит должным образом программу подготовки до того, как начнется преобразование операционной системы в базовую или шаблонную копию, то пользователь может удалить элементы, которые он не собирался удалять. Исходя из этого пользователю может потребоваться больше времени для возвращения операционной системы к нужной точке, или же это может даже привести к тому, что используемая операционная система (или ее шаблон) придет в нерабочее состояние.
Соответственно, при создании новых экземпляров сущностей с использованием существующего программного обеспечения существует ряд проблем, требующих решения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Реализации представленного изобретения решают одну или более задач в соответствующей области техники, связанных с системами, способами и компьютерными программными продуктами, выполненными с возможностью создания шаблонных копий автономных ресурсов. В частности, реализации данного изобретения позволяют осуществлять преобразование копии конкретного ресурса, например копии операционной системы или приложения, в базовую или шаблонную копию этого ресурса в соответствии с параметрами пользователя в момент времени, когда ресурс не запущен (то есть, отключен). Следовательно, реализации данного изобретения предоставляют пользователю возможность создания необходимого количества шаблонных копий одного и того же ресурса с высокой эффективностью и возможностью конфигурирования. Данные реализации также предоставляют возможность удобного взаимодействия с пользователем при настройке шаблона во время выполнения процесса его создания.
Например, способ создания шаблона, по меньшей мере, из одного или нескольких программных ресурсов в момент, когда, по меньшей мере, один из этих ресурсов отключен, может включать идентификацию автономного программного ресурса, а также определение одной или нескольких настроек шаблона. Эти настройки шаблона, как правило, будут указывать на один или несколько признаков, которые необходимо удалить из программного ресурса. Кроме того, способ может включать выполнение в первой операционной системе программы подготовки, выполненной с возможностью удаления признаков в соответствии с настройками шаблона. Способ также может включать перенаправление одного или нескольких вызовов функций программы подготовки заданному программному ресурсу. При этом признаки, заданные в одной или нескольких настройках шаблона, удаляются из программного ресурса, и создается шаблон программного ресурса.
Кроме того, способ копирования виртуальной машины в момент, когда она находится в автономном режиме, при котором виртуальная машина и копия виртуальной машины во время работы имеют различимые идентификаторы, может включать прием идентификатора файла виртуальной машины, установленного в первой области хранения. Способ может также включать прием одного или нескольких вызовов функций из программы подготовки, установленной во второй области хранения, при этом один или несколько вызовов функций запрашивают удаление одного или нескольких признаков. Кроме того, способ может включать выполнение одного или нескольких вызовов функций на файле виртуальной машины, при этом в результате может происходить удаление запрошенных признаков из первой области хранения. Помимо этого, способ может включать создание шаблонной копии файла виртуальной машины.
Описание сущности изобретения приведено с целью представления в упрощенной форме набора концепций, которые будут в деталях описаны далее в подробном описании. Описание сущности изобретения не предназначенного для определения ключевых признаков или существенных признаков заявленного изобретения; оно также не предназначено для использования с целью определения объема заявленного изобретения.
Дополнительные признаки и преимущества примерных реализаций изобретения будут изложены в нижеприведенном описании и частью станут очевидны из описания или могут быть изучены на практике при осуществлении данных примерных реализаций. Признаки и преимущества данных реализаций могут быть реализованы и получены путем использования инструментов и комбинаций, конкретно указанных в прилагаемой формуле изобретения. Эти и другие признаки будут яснее описаны в нижеследующем описании и прилагаемой формуле изобретения или могут быть изучены на практике при осуществлении данных примерных реализации согласно нижеприведенному описанию.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В целях описания способа, посредством которого могут быть реализованы вышеуказанные и другие преимущества и признаки изобретения, будет представлено более подробное описание изобретения, кратко описанного выше, со ссылками на конкретные варианты осуществления данного изобретения, которые будут проиллюстрированы на прилагаемых чертежах. Следует понимать, что на данных чертежах показаны только типичные варианты осуществления, следовательно, они не ограничивают рамки изобретения. Изобретение будет детально описано и объяснено с помощью использования прилагаемых чертежей:
На фиг.1А приведено схематическое представление, в соответствии с реализацией данного изобретения, процесса создания одной или нескольких шаблонных копий автономных ресурсов и установки ресурса на один или несколько томов размещения с помощью программы подготовки;
На фиг.1B приведено более подробное изображение схемы, представленной на фиг.1А, в которой программа подготовки взаимодействует с агентом подготовки с целью создания шаблонов ресурса на одном устройстве хранения и установки настроенных версий этого ресурса на другие устройства хранения, на другие тома размещения;
На фиг.1C показано множество уровней приложения в соответствии с данным изобретением, выполненного с возможностью для перенаправления вызовов функций от программы подготовки на необходимый целевой файл ресурса;
На фиг.2 приведены блок-схемы, иллюстрирующие множество действий по созданию шаблонной копии автономного ресурса с точки зрения программы подготовки и агента подготовки.
ПОДРОБНОЕ ОПИСАНИЕ
Представленное изобретение имеет отношение к системам, способам и компьютерным программным продуктам, выполненым с возможностью создания шаблонных копий автономных ресурсов. В частности, реализации данного изобретения позволяют осуществлять преобразование копии конкретного ресурса, например копии операционной системы или приложения, в базовую или шаблонную копию этого ресурса в соответствии с параметрами пользователя в момент времени, когда ресурс не запущен (то есть, отключен). Следовательно, реализации данного изобретения предоставляют пользователю возможность создания необходимого количества шаблонных копий одного и того же ресурса с высокой эффективностью и возможностью конфигурирования. Данные реализации также предоставляют возможность удобного взаимодействия с пользователем при настройке шаблона во время выполнения процесса его создания.
Как будет понятно из нижеприведенного описания и формулы изобретения, одним из преимуществ данных реализаций является то, что пользователи (например, системные администраторы) могут с высокой степенью эффективности предоставить большому количеству других пользователей настроенные виртуальные машины, при этом данные настроенные виртуальные машины не нужно воссоздавать с начального уровня. Кроме того, пользователь или владелец настроенной виртуальной машины легко может создать шаблон своей виртуальной машины в условиях отсутствия необходимости проведения нескольких перезагрузок и/или перезапусков аппаратного и программного обеспечения, связанного с этой виртуальной машиной. Также, поскольку процесс является автоматизированным, некоторые сложные вопросы, которые обычные пользователи не смогли бы решить (например, ключи продукта, DNS, WINS и т.д), могут решаться системой в автоматическом режиме, в конечном итоге снижая издержки, связанные со звонками в службу помощи или администраторам. Помимо этого, реализации данного изобретения позволяют легко перенаправить вызовы функций определенного программного обеспечения подготовки в другие области, благодаря чему пользователь имеет возможность создания шаблона виртуальной машины, расположенной удаленно.
В данном документе термин «программа подготовки» относится к множеству, в общем, независимых машиноисполняемых инструкций, сконфигурированных с целью взаимодействия с конкретным файлом в соответствии с настройками конкретного пользователя. В качестве файла может выступать файл образа виртуальной машины или операционной системы или образ (или исполняемый файл) файла прикладной программы. Программа подготовки может удалить определенные признаки из этого файла в соответствии с предоставленными настройками шаблона. В одной из реализаций, связанных, например, с операционной средой MICROSOFT, одной из программ (например, 145) подготовки, которая может использоваться в соответствии с одной или несколькими реализациями данного изобретения, является инструмент подготовки системы, также называемый "Sysprep".
Далее в данном документе программа подготовки будет в основном взаимодействовать с «агентом подготовки» с использованием конфигурации, заданной пользователем или другим администратором. Агент подготовки также представляет собой множество инструкций, выполняемых компьютером, фактически выполняющих функцию промежуточного интерфейса (например, см. фиг.1C) между программой подготовки и нужным файлом (и/или также между другими соответствующими компонентами интерфейса, соответствующими конкретной операционной системе). В частности, агент подготовки будет сконфигурирован таким образом, чтобы он получал и перенаправлял вызовы от программы подготовки. По меньшей мере в одной реализации агент подготовки сконфигурирован таким образом, чтобы он получал и перенаправлял вызовы от программы подготовки, и при этом сама программа подготовки не получала информации об этом приеме и/или перенаправлении.
На фиг.1А приведено схематическое представление, в соответствии с реализацией данного изобретения, процесса создания одной или нескольких шаблонных копий и их установки с помощью программы подготовки. Один или несколько других ресурсов или компонентов (не показаны) (например, один или несколько модулей или механизмов перераспределения или хранения) могут предоставлять шаблонные копии ресурса на одном или нескольких томах размещения. Например, на фиг.1A показано, что сервер 105 размещает один или несколько ресурсов, в частности ресурс 140, который в данный момент отключен или не запущен. В данном примере ресурс 140 включает в себя «виртуальную машину», которая фактически является независимой сущностью, запущенной в выделенном разделе жесткого диска на сервере 105.
Работая в качестве виртуальной машины, ресурс 140 может предоставлять большинство или все преимущества обычной физической машины, в частности, выполнение прикладных программ, взаимодействие с другими физическими или виртуальными машинами, обслуживание приложений/функций сети или баз данных, и т.д. Например, в одной из реализаций сервер 105 содержит основной раздел, который преимущественно выполняет функцию сервера хранения, тогда как ресурс 140 выступает в роли почтового сервера или сервера базы данных. При этом остальные участники сети обычно не имеют информации о том, что ресурс 140 является всего лишь виртуальной машиной, размещенной на сервере 105, по меньшей мере, отчасти потому что ресурс 140 имеет необходимые настройки и является независимо адресуемым, по сравнению с другими машинами в сети.
На фиг.1A также показано, что в некоторый момент пользователь желает скопировать ресурс 140. Например, пользователю нравится то, каким образом различные установки, обновления и настройки были применены к ресурсу 140, и пользователь хочет скопировать ресурс 140 для использования на других узлах, при этом не желая создавать его с нуля или удалять существующие настройки программного обеспечения. Соответственно, на фиг.1A показано, что программа 145 подготовки взаимодействует с ресурсом 140 в момент, когда он отключен, и создает соответствующие шаблонные копии 140a. Эти шаблоны затем могут быть переданы, установлены и, по выбору, настроены необходимым образом на узлах 110 и 115 на раздельных томах (то есть, 165, 180). После необходимой настройки эти новые версии ресурса 140 (то есть, ресурсы 140b, 140c) могут рассматриваться как независимые сущности, которые во всех отношениях являются новыми машинами для других использований в сети.
На фиг.1B приведено более подробное изображение схемы, представленной на фиг.1А, в которой ранее описанная программа 145 подготовки взаимодействует с агентом 150 подготовки с целью создания шаблонов 140a ресурса 140. В частности, на фиг.1B показано, что сервер 105 содержит множество различных машин и/или виртуальных машин и, следовательно, в некотором смысле служит библиотекой виртуальных машин. На фиг.1B показано, например, что сервер 105 содержит отдельные сущности, хранящиеся на основном томе 160 ("c:\"), а также дополнительные тома виртуальных машин 170 ("x:\") и 175 ("z:\"). Каждый такой том в данном примере также содержит конкретный ресурс, имеющий свою независимо настроенную операционную систему. Например, на томе 160 установлен и/или хранится ресурс 130, тогда как на томах 170 и 175 установлены и/или хранятся ресурсы 135 и 140 соответственно. В данном конкретном случае оба ресурса 135 и 140 в рассматриваемый момент времени отключены (то есть, являются «отключеными ресурсами» 125).
Для ясности изложения в данном конкретном примере каждый из томов 160, 170, 175 и т.д. идентифицируется обозначением определенной буквы диска. Однако в соответствии с реализациями данного изобретения необходимо понимать, что это необязательно. Например, путь к диску может определяться с помощью любого подходящего глобального уникального идентификатора ("GUID"), подходящего для заданной операционной системы. В других случаях путь к диску может быть задан и без использования GUID. Например, путь к диску может определять размонтированный том, смонтированный том без имени диска (например, точку монтирования) или даже переносимый моментальный снимок. В конечном счете, необходимым является только наличие способа адресации конкретного тома. Таким образом, иллюстрации и обозначения конкретных путей к диску или файлу, приведенные в данном документе, представляют одну из возможных реализаций и использованы для удобства описания.
В любом случае, и как было упомянуто выше, каждый ресурс обычно будет настраиваться отдельно, по меньшей мере, в части основных признаков, по которым ресурс может быть различен локальной или удаленной компьютерной системой. Например, на фиг.1B показано, что ресурс 130 содержит "настраиваемые признаки a, b, c", тогда как ресурс 135 содержит " настраиваемые признаки c, d, e", а ресурс 140 содержит настраиваемые признаки "c, f, g". Причем, в данном случае, у этих ресурсов есть один общий признак "c", который может обозначать имя домена, часовой пояс или некоторый другой общий признак или свойство. Однако каждый ресурс содержит и уникальные признаки, а именно, "a, b" для ресурса 130, "d, e" для ресурса 135 и "f, g" для ресурса 140. Например, общий индекс "c" может обозначать принадлежность к общему сетевому доменному имени, а уникальные индексы "a, b," d, e" и "f, g" могут быть уникальными именами компьютеров, учетными записями владельцев, конфигурационными настройками и т.п.
На фиг.1B также показано, что каждый ресурс может быть настроен отдельно с использованием различных версий программного обеспечения, обновлений и/или корректировок программного обеспечения и т.д. Например, ресурсы 130 и 135 содержат "обновления программного обеспечения x, y, z," а ресурс 140 содержит "обновления программного обеспечения v, y, и z". Пользователь может решить, что для него по некоторой причине предпочтительным является способ работы ресурса 140, например, по причине того, что он использует обновления программного обеспечения "v, y, z", а не "x, y, z". Исходя из этого, пользователь может создать шаблон ресурса 140, который сохраняет все необходимые обновления программного обеспечения, но из которого удалены пользовательские признаки, а именно имя компьютера, учетная запись владельца, настройки перехода на летнее время и т.п.
В соответствии с этим, пользователь подготавливает настройки шаблона 155, объектом которого является ресурс 140, размещенный на томе "z:\" 175, и включает в эти настройки специальный запрос на удаление только пользовательских признаков "f и g". В одной из реализаций настройки шаблона 155 являются электронными данными, передаваемыми программе 145 подготовки и создаваемыми в ответ на входящий запрос, полученный через интерфейс пользователя. В других случаях настройки шаблона 155 могут иметь вид файла или компонента, создаваемого отдельно с использованием другой программы, тогда как программа 145 подготовки только получает эти данные. В любом случае, на фиг.1B также показано, что программа 145 подготовки при ее выполнении посредством агента 150 подготовки включает в себя настройки шаблона 155.
Например, как показано на фиг.1C, агент 150 подготовки выступает в качестве промежуточного звена между программой 145 подготовки и любыми другими соответствующими компонентами, например такими, как устройство монтирования томов жесткого диска 195, которое, в свою очередь, может напрямую взаимодействовать с соответствующим файлом ресурса. В этой связи агент подготовки может выступать, по меньшей мере, частично, в качестве экрана в том смысле, что вызовы функций из программы 145 подготовки могут быть направлены в соответствии с настройками шаблона 155 на другой отключенный том, а не в операционную систему, в которой выполняется программа 145 подготовки. То есть, агент 150 подготовки может быть сконфигурирован для перенаправления вызовов функций на соответствующий целевой ресурс, посредством чего гарантируется, что программа 145 создаст копию шаблона только для ресурса 140, а не для ресурса 130, на котором установлены программа 145 подготовки и агент 150 подготовки.
Обратимся еще раз к фиг.1B. На этом чертеже показано, что агент 150 подготовки перенаправляет вызовы функций программы 145 подготовки, которые содержат инструкции по очистке пользовательских признаков "f, g" в автономном ресурсе 140. В одной из реализаций программа 145 подготовки очищает один или несколько заданных признаков ресурса 140 напрямую, в связи с чем пользователю необходимо перенастроить признаки до осуществления повторного запуска ресурса 140. В другой реализации пользователь осуществляет фильтрацию результатов вызовов функций копирования и фильтрации в другой файл без прямого удаления признаков ресурса 140. В еще одной реализации пользователь может вначале скопировать отключенный файл ресурса 140 в отдельную область, а затем очистить признаки, включенные в настройки шаблона 155. При любой из настроек вызовы функций программы 145 подготовки могут очистить признаки ресурса 140 в соответствии с заданными настройками, при этом будет получено необходимое количество шаблонных копий 140a с минимальными потерями. Как упоминалось выше, по меньшей мере, одной из причин этого является то, что выполнение данных вызовов функций не требует дополнительной перезагрузки или перезапуска ресурса 140.
В случае использования виртуальных машин программа 145 подготовки посредством агента 150 подготовки может подключать виртуальные жесткие диски (например, том 175) для соответствующих ресурсов (то есть, файлы образа ресурса). В качестве варианта, программа 145 подготовки может быть выполнена с возможностью для осуществления простого чтения или записи файла ресурса без необходимости подключения тома. Затем программа 145 подготовки может настроить агент 150 подготовки путем установки необходимых флагов, например посредством запуска агента 150 подготовки в виде нового процесса в режиме отладки. При инициализации агента 150 подготовки программа 145 установки может настроить его в соответствии с настройками шаблона 155 с целью осуществления перехвата всех обращений к файловой системе, системному реестру и других обращений, необходимых для успешного выполнения программы. Затем программа 145 подготовки может начать осуществление передачи вызовов функций агенту 150, который, в свою очередь, перенаправит эти вызовы функций в соответствии с установленными настройками (то есть, настройками шаблона 155). Например, команды на удаление настроенных признаков ресурса 130, поступающие от программы 145 подготовки, перенаправляются агентом подготовки на ресурс 140.
На фиг.1B показано, что после удаления выбранных настроек только что созданный шаблон 140a может быть установлен в любое другое место. Например, на фиг.1B показано, что сервер 105 предоставляет шаблон ресурса 140a и множество новых признаков 185 тому "p:\" узла 110 с целью создания ресурса 140b. Также на фиг.1B показано, что сервер 105 таким же образом предоставляет шаблон ресурса 140a и новые признаки 190 тому "j:\" узла 115 с целью создания ресурса 140c. В обоих случаях новая итерация ресурса 140 (то есть, ресурсы 140b-c) сохраняет запрошенные обновления программного обеспечения "v, y, z", а также пользовательский признак "c". Тем не менее, как следует из фиг.1B, ресурсы 140b-с являются уникальными за счет включения дополнительных признаков, а именно, "h, i" для ресурса 140b и "j, k" для ресурса 140c. Как упоминалось выше, эти уникальные признаки могут соответствовать любому количеству элементов, например имени компьютера или некоторой другой информации, настроенной пользователем.
Существуют различные способы предоставления признаков 185, 190 при новой установке шаблона 140a. Как упоминалось выше, данные настройки могут, например, передаваться программе 145 подготовки заранее, посредством диалогового окна интерфейса пользователя, при очистке признаков ресурса 140, или могут быть приняты в любой необходимый момент времени с другого устройства хранения, например с гибкого диска. В других случаях программа 145 подготовки (или подобная ей) может использоваться еще раз на узлах 110, 115 для запроса у пользователя этой информации при установке через соответствующий интерфейс пользователя.
Кроме того, целесообразным является наличие ряда вариаций вышеупомянутых компонентов и механизмов в контексте представленного изобретения. Например, в дополнение к очистке настроенных признаков и/или конкретных компонентов или обновлений программного обеспечения целевого ресурса, установленного на локальном томе, системный администратор также может выполнить эти процедуры на удаленных отключенных ресурсах. Например, системный администратор может использовать программу 145 подготовки и агент 150 подготовки для удаления определенных обновлений программного обеспечения со всех автономных ресурсов большого предприятия. Таким же образом, системный администратор может использовать программу 145 подготовки и агент 150 подготовки для очистки всех настроенных признаков виртуальной машины, которой пользовался бывший сотрудник. Кроме того, может использовать программу 145 подготовки и агент 150 подготовки для подготовки специальным образом настроенной версии операционной системы к использованию на всех персональных рабочих станциях предприятия, а затем создать копии, которые могут быть установлены на каждую станцию с минимальными трудозатратами.
Более того, отдельные пользователи могут использовать эти компоненты для различных персональных настроек. Например, пользователь может создать копию работающей обновленной системы, в которой установлены и настроены все корректировки программного обеспечения и различное программное обеспечение системы безопасности, удалить соответствующие ключи продукта, а затем переустановить эту копию на компьютере друга или члена семьи с использованием других, но при этом действительных, ключей продукта, имен компьютеров и т.д. Соответственно, на фиг.1A-1C иллюстрируется ряд схем и компонентов, которые могут применяться в широком спектре настроек для создания шаблонов существующих ресурсов с высокой точностью и эффективностью.
Реализации представленного изобретения также могут быть описаны с помощью блок-схем одного и более способов, включающих ряд различных действий для достижения конкретного результата. В частности, на фиг.2 показаны блок-схемы действий по созданию копии автономного ресурса с точки зрения программы 145 подготовки и агента 150 подготовки. Действия, показанные на фиг.2, описаны ниже со ссылками на компоненты и механизмы, показанные на фиг.1A-1C.
Ранее в данном документе встречались ссылки на «первый», «второй» и «третий» компоненты (например, первая, вторая или третья область хранения). Необходимо понимать, что данные обозначения использовались лишь для различения компонентов, то есть «первый» компонент должен быть отличным от «второго» и «третьего» компонента (или области хранения), и при этом не относились к вопросам осуществления доступа к компонентам. Например, использование первой, второй или третьей области хранения означает лишь то, что первая, вторая и третья области хранения отличаются друг от друга, и для использования данных обозначений не требуется, чтобы первая, вторая или третья области хранения существовали, были созданы, чтобы к ним осуществлялся доступ или над ними выполнялись другие действия в любой последовательности или в конкретном порядке.
Например, на фиг.2 показано, что способ создания шаблона по меньшей мере одного или нескольких программных ресурсов в момент, когда по меньшей мере один из этих программных ресурсов отключен, с точки зрения программы 145 подготовки включает действие 200, заключающееся в идентификации отключенного ресурса. Действие 200 включает идентификацию отключенного программного ресурса. Например, программа 145 подготовки получает запрос от пользователя на создание шаблона ресурса 140, расположенного в томе 175 "z:\".
Также на фиг.2 показано, что способ копирования виртуальной машины в отключенном состоянии, таким образом, чтобы исходная виртуальная машина и ее копия имели различимые идентификаторы, с точки зрения агента 150 подготовки включает действие 210, заключающееся в получении идентификатора отключенного файла. Действие 210 включает получение идентификатора файла виртуальной машины, установленного в первой области хранения. Например, агент 150 подготовки принимает от программы подготовки указание на целевой ресурс 140 на томе 175 "z:\". В конкретном случае виртуальной машины ресурс 140 может идентифицироваться в качестве отдельного файла, например файла виртуального жесткого диска (то есть, ".vhd," "VHD," или ".vhd"). В некоторых случаях такая идентификация является целесообразной, а в других случаях виртуальная машина может быть представлена множеством ".vhd"-файлов.
На фиг.2 также показано, что рассматриваемый способ с точки зрения программы 145 подготовки включает действие 220, заключающееся в определении настроек шаблона. Действие 220 включает определение одной или нескольких настроек шаблона, в свою очередь определяющих один или несколько признаков, подлежащих удалению из программного ресурса. Например, агент подготовки может получить настройки шаблона 155, содержащие инструкции на удаление пользовательских признаков "f, g" и на сохранение одного или нескольких обновлений программного обеспечения "v, y, z". Кроме того, на фиг.2 показано, что рассматриваемый способ с точки зрения программы 145 подготовки включает действие 230, заключающееся в выполнении программы подготовки. Действие 230 включает выполнение в первой операционной системе программы подготовки, настроенной на удаление признаков в соответствии с настройками шаблона. В качестве примера на фиг.1B показано, что программа 145 подготовки запускается и/или выполняется на ресурсе 130 (то есть, в соответствующей операционной системе), но при этом, в соответствии с настройками шаблона 155, вызовы функций перенаправляются на ресурс 140.
Соответственно, на фиг.2 показано, что рассматриваемый способ также включает, с точки зрения программы 145 подготовки, действие 240, заключающееся в перенаправлении вызовов функций на заданный ресурс. Действие 240 включает перенаправление одного или нескольких вызовов функций программы подготовки на заданный программный ресурс с целью удаления признаков программного ресурса, заданных одной или несколькими настройками шаблона, и с целью создания шаблона программного ресурса. Например, программа 145 подготовки запускает агент 150 подготовки в виде нового процесса в режиме отладки и осуществляет настройку агента 150 подготовки с целью задания функций перенаправления в соответствии с настройками шаблона 155. Таким образом, если программа 145 подготовки вызывает функцию удаления пользовательского признака, то этот вызов должным образом перенаправляется на целевой программный ресурс, и, в конечном счете, создается шаблон.
Соответственно, на фиг.2 показано, что рассматриваемый способ также включает, с точки зрения агента 150 подготовки, действие 250, заключающееся в получении одного и более вызовов функций. Действие 250 включает получение одного и более вызовов функций от программы подготовки, установленной во второй области хранения, при этом один или несколько вызовов функций запрашивают удаление одного или нескольких признаков. Например, как показано на фиг.1B и 1C, агент 150 подготовки взаимодействует с программой 145 подготовки напрямую с целью получения инструкций и выполнения этих инструкций в соответствии с настройками шаблона 155. Посредством этого агент 150 подготовки гарантирует, что хотя программа 145 подготовки выполняется на основном томе 160, заданные функции очистки выполняются только на томе (например, 175), содержащем соответствующий отключенный целевой ресурс (например, 140).
Кроме того, на фиг.2 показано, что рассматриваемый способ также включает, с точки зрения агента 150 подготовки, действие 260, заключающееся в выполнении одного и более вызовов функций на файле. Действие 260 включает выполнение одного и более вызовов функций на файле виртуальной машины, при этом происходит удаление одного или нескольких признаков из первой области хранения. Например, в конкретном случае виртуальной машины, представленной в виде файла виртуальной машины, агент 150 подготовки взаимодействует с файлом виртуальной машины (или с устройством монтирования томов жесткого диска 195) напрямую с целью удаления заданных пользовательских признаков (например, признаков "f, g" ресурса 140) или программных компонентов из файла виртуальной машины. Вышеописанный запуск агента 150 подготовки может осуществляться локально на сервере 105 или через сеть посредством удаленных вызовов функций.
Кроме того, на фиг.2 показано, что рассматриваемый способ также включает, с точки зрения агента 150 подготовки, действие 270, заключающееся создании шаблона отключенного файла. Действие 270 включает создание шаблона файла виртуальной машины. Например, как показано на фиг.1B, результат выполнения на ресурсе 140 заключается в создании копий шаблона 140, содержащих обновления программного обеспечения "v, y, z" и только один пользовательский признак "c".
Таким образом, способы и соответствующие компоненты и схемы, описанные в данном документе, предусматривают несколько реализаций создания шаблона отключенного программного ресурса с намного большей эффективностью, чем у доступных аналогов. В частности, реализации данного изобретения позволяют осуществлять создание шаблонов с применением процессов, которые являются быстрыми, надежными и, как правило, не требуют осуществления взаимодействия с конечным пользователем или ввода учетных данных для осуществления настройки. Кроме того, не требуется явно запускать программный ресурс (то есть, виртуальную машину) или устанавливать дополнительные программные компоненты на программный ресурс до осуществления его подготовки. Более того, все эти задачи могут быть выполнены на виртуальной машине с минимальным использованием интерфейса, то есть, отсутствует необходимость входа пользователя в систему, создания учетной записи пользователя и т.п. Также, поскольку программы и компоненты подготовки являются в достаточной степени стандартизованными для использования на широком спектре ресурсов, то отсутствует необходимость обновления этих программ и компонентов подготовки при каждом выпуске новой версии соответствующего целевого программного ресурса.
Как было упомянуто выше, данная возможность эффективного создания шаблонов может быть очень полезной для больших предприятий, у которых есть потребность в установке индивидуально настроенных или обновленных программных ресурсов на различные автоматизированные рабочие места. В частности, реализации данного изобретения позволяют осуществлять создание таких копий за меньшее время и с меньшими затратами, чем требовалось ранее, и позволяют проводить установку этих копий в конкретное место также за меньшее время и с меньшими затратами, чем требовалось ранее. Данные преимущества являются особенно полезными при копировании виртуальных машин, операционных систем и прикладных программ, которые могут в течение своего жизненного цикла претерпевать частые настройки программных компонент и/или персонификации.
В качестве примера, не являющегося ограничением, такие компьютерные устройства хранения могут включать RAM, ROM, EEPROM, CD-ROM или другие оптические устройства хранения, устройства хранения на магнитных дисках и другие магнитные устройства хранения, а также любые другие носители, которые могут применяться для переноса или хранения желаемого программного кода в форме машиноисполняемых инструкций или структур данных, и доступ к которым может осуществляться с помощью компьютеров общего или специального назначения. Когда информация передается или предоставляется через сетевое или некоторое другое соединение (проводное, беспроводное или комбинацию проводного и беспроводного) связи на компьютер, то он рассматривает соединение в качестве машиночитаемого носителя. Таким образом, любое такое соединение допустимо назвать машиночитаемым носителем. Комбинации вышеперечисленного также должны быть отнесены к спектру машиночитаемых носителей.
К машиноисполняемым инструкциям относятся, например, инструкции и данные, на основании которых компьютер общего или специального назначения или вычислительный прибор специального назначения выполняет определенную функцию или группу функций. Хотя объект изобретения был представлен посредством описания структурных признаков и/или методологических действий, следует понимать, что объект изобретения, определенный в прилагаемой формуле изобретения, не обязательно ограничивается конкретными признаками или действиями, описанными выше. Конкретные признаки и действия приведены в качестве примерных форм реализации формулы изобретения.
Данное изобретение может быть осуществлено в других специфических формах без отклонения от его духа или существенных признаков. Описанные варианты осуществления следует рассматривать во всех отношениях лишь в качестве иллюстрации, а не в качестве ограничения. Таким образом, объем изобретения задается прилагаемой формулой изобретения, а не приведенным выше описанием. Любые изменения, которые не изменяют значение и являются эквивалентными пунктам формулы изобретения, следует рассматривать в объеме этих изменений.

Claims (17)

1. Способ, реализуемый в компьютеризированной среде, в которой один или более программных ресурсов используются для выполнения одной или более функций в одной или более компьютерных системах, и предназначенный для создания шаблона по меньшей мере одного из этих одного или более программных ресурсов, когда данный по меньшей мере один программный ресурс отключен, при этом способ содержит этапы, на которых:
идентифицируют первый экземпляр программного ресурса, установленный в первой виртуальной машине, причем первый экземпляр программного ресурса отключен и имеет первый набор пользовательских признаков;
идентифицируют одну или более настроек шаблона, которые идентифицируют один и более признаков, подлежащих удалению из копии первого экземпляра программного ресурса, и один и более признаков, подлежащих добавлению в копию первого экземпляра программного ресурса;
исполняют в первой операционной системе программу подготовки, сконфигурированную создавать второй экземпляр программного ресурса из копии первого экземпляра программного ресурса посредством удаления из копии первого экземпляра программного ресурса признаков, подлежащих удалению, и добавления в копию первого экземпляра программного ресурса признаков, подлежащих добавлению; и
перенаправляют один или более вызовов функций программы подготовки, чтобы установить второй экземпляр программного ресурса во второй виртуальной машине.
2. Способ по п.1, в котором первый экземпляр программного ресурса является операционной системой первой виртуальной машины.
3. Способ по п.1, в котором первый экземпляр программного ресурса является прикладной программой, установленной в операционной системе первой виртуальной машины.
4. Способ по п.1, в котором программа подготовки исполняется на агенте подготовки, сконфигурированном получать упомянутые одну или более настроек шаблона.
5. Способ по п.4, в котором агент подготовки сконфигурирован передавать упомянутые один или несколько вызовов функций третьему экземпляру программного ресурса через блок монтирования ресурсов.
6. Способ по п.4, в котором первый экземпляр программного ресурса является файлом тома жесткого диска, при этом блок монтирования ресурсов является по меньшей мере одним из блока монтирования тома жесткого диска и прикладной программы или системной библиотеки, сконфигурированной для предоставления доступа к соответствующему физическому диску.
7. Способ по п.6, в котором файл тома жесткого диска соответствует первой виртуальной машине.
8. Способ по п.1, в котором упомянутые одна или более настроек шаблона содержат системную или пользовательскую настройку, содержащую указание на любое одно или более из имени компьютера, имени пользователя, имени компании, имени домена и сетевого адреса.
9. Способ по п.1, в котором упомянутые одна или более настроек шаблона содержат системную или пользовательскую настройку, содержащую указание на любое одно или более из настройки перехода на летнее время и настройки часового пояса.
10. Способ по п.1, в котором упомянутые одна или более настроек шаблона содержат системную или пользовательскую настройку, содержащую указание на любое одно или более из ключа продукта ресурса, версии программного обеспечения и настройки безопасности.
11. Способ по п.1, в котором упомянутые один или более пользовательских признаков принимаются от любого одного из устройства хранения данных и сетевого интерфейса.
12. Способ по п.1, в котором упомянутые один или более пользовательских признаков принимаются через интерфейс пользователя.
13. Способ, реализуемый в компьютеризированной среде, содержащей одну или более виртуальных машин, и предназначенный для копирования виртуальной машины, когда она отключена, так чтобы виртуальная машина и копия виртуальной машины при функционировании имели различимые идентификаторы, при этом способ содержит этапы, на которых:
принимают идентификатор файла виртуальной машины, установленного в первой виртуальной машине, размещенной в первой области хранения, причем файл виртуальной машины имеет первый набор пользовательских признаков;
принимают один или более вызовов функций от программы подготовки, установленной во второй области хранения, причем этими одним или более вызовами функций запрашивается удаление одного или более признаков, подлежащих удалению из файла виртуальной машины, и запрашивается добавление одного или более признаков, подлежащих добавлению к файлу виртуальной машины;
выполняют эти один или более вызовов функций в отношении файла виртуальной машины, так что один или более признаков, подлежащие удалению, удаляются из первой виртуальной машины, размещенной в первой области хранения, и так что один или более признаков, подлежащие добавлению, добавляются в первую виртуальную машину, размещенную в первой области хранения;
создают шаблонную копию файла виртуальной машины, имеющую второй набор пользовательских признаков; и
устанавливают шаблонную копию файла виртуальной машины во второй виртуальной машине, размещенной в третьей области хранения.
14. Способ по п.13, дополнительно содержащий этап, на котором сохраняют удаленные один или более признаков, которые были удалены из файла виртуальной машины.
15. Способ по п.13, в котором файл виртуальной машины дополнительно содержит первое и второе обновления программного обеспечения.
16. Способ по п.15, в котором один или более признаков, подлежащие удалению, включают в себя запрос на удаление второго обновления программного обеспечения, но не первого обновления программного обеспечения.
17. Машиночитаемый носитель, на котором сохранены машиноисполняемые инструкции, которые при их исполнении предписывают одному или более процессорам выполнять в компьютеризированной среде, в которой один или более программных ресурсов используются для выполнения одной или более функций в одной или более компьютерных системах, способ создания шаблона по меньшей мере одного из этих одного или более программных ресурсов, когда данный по меньшей мере один программный ресурс отключен, содержащий этапы, на которых:
идентифицируют первый экземпляр программного ресурса, установленный в первой виртуальной машине, причем первый экземпляр программного ресурса отключен и имеет первый набор пользовательских признаков;
идентифицируют второй набор пользовательских признаков;
идентифицируют одну или более настроек шаблона, которые идентифицируют один и более признаков, подлежащих удалению из копии первого экземпляра программного ресурса, и один и более признаков, подлежащих добавлению в копию первого экземпляра программного ресурса;
исполняют в первой операционной системе программу подготовки, сконфигурированную создавать второй экземпляр программного ресурса из копии первого экземпляра программного ресурса посредством удаления из копии первого экземпляра программного ресурса признаков, подлежащих удалению, и добавления в копию первого экземпляра программного ресурса признаков, подлежащих добавлению; и
перенаправляют один или более вызовов функций программы подготовки, чтобы установить второй экземпляр программного ресурса во второй виртуальной машине.
RU2008138700/08A 2006-03-30 2007-02-21 Создание шаблонов отключенных ресурсов RU2436150C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/393,585 2006-03-30
US11/393,585 US9213542B2 (en) 2006-03-30 2006-03-30 Creating templates of offline resources

Publications (2)

Publication Number Publication Date
RU2008138700A RU2008138700A (ru) 2010-04-10
RU2436150C2 true RU2436150C2 (ru) 2011-12-10

Family

ID=38561062

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008138700/08A RU2436150C2 (ru) 2006-03-30 2007-02-21 Создание шаблонов отключенных ресурсов

Country Status (13)

Country Link
US (3) US9213542B2 (ru)
EP (1) EP2011020B1 (ru)
JP (1) JP5113831B2 (ru)
KR (1) KR101344163B1 (ru)
CN (1) CN101416175B (ru)
AU (1) AU2007235540B2 (ru)
BR (1) BRPI0709166B1 (ru)
CA (1) CA2644167C (ru)
MX (1) MX2008011907A (ru)
MY (1) MY155040A (ru)
RU (1) RU2436150C2 (ru)
TW (1) TWI411958B (ru)
WO (1) WO2007117363A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2754714C2 (ru) * 2016-06-30 2021-09-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Динамическая деактивация "холодной" базы данных в службе работы с базами данных

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US9213542B2 (en) 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources
US8010495B1 (en) 2006-04-25 2011-08-30 Parallels Holdings, Ltd. Method and system for fast generation of file system snapshot bitmap in virtual environment
US8091084B1 (en) 2006-04-28 2012-01-03 Parallels Holdings, Ltd. Portable virtual machine
US8909758B2 (en) * 2006-05-02 2014-12-09 Cisco Technology, Inc. Physical server discovery and correlation
US8176153B2 (en) * 2006-05-02 2012-05-08 Cisco Technology, Inc. Virtual server cloning
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
US8442958B2 (en) 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
JP4840670B2 (ja) * 2008-03-25 2011-12-21 日本電気株式会社 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
DE102008030317A1 (de) * 2008-06-30 2009-12-31 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System und Verfahren zur Fernkommunikation zwischen einem zentralen Computer und einer Maschinensteuerung
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
JP5446157B2 (ja) * 2008-07-28 2014-03-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US9189221B2 (en) 2009-01-27 2015-11-17 Microsoft Technology Licensing, Llc Consistent operating system servicing for distributed nodes
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
JP2011076370A (ja) * 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム
US9122558B2 (en) * 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US20110113422A1 (en) 2009-11-09 2011-05-12 Bank Of America Corporation Programmatic Creation Of Task Sequences From Manifests
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
JP5681465B2 (ja) * 2010-12-02 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
US8924472B1 (en) * 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
WO2013035134A1 (ja) * 2011-09-08 2013-03-14 株式会社日立製作所 仮想計算機提供システム及び提供方法
US10108537B2 (en) * 2011-11-29 2018-10-23 Red Hat, Inc. Mechanisms for reproducing storage system metadata inconsistencies in a test environment
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9501296B2 (en) * 2012-05-18 2016-11-22 Ca, Inc. Hypervisor automation manager for starting an operation system with customization data from a disk image
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
US11663025B2 (en) 2013-09-23 2023-05-30 Bankvault Pty Ltd Maintenance of and caching of suspended virtual computers in a pool of suspended virtual computers
US10474484B2 (en) * 2015-03-26 2019-11-12 Vmware, Inc. Offline management of virtualization software installed on a host computer
CN105278874A (zh) * 2015-09-15 2016-01-27 中国联合网络通信集团有限公司 大数据平台系统及其运行方法
US9910692B2 (en) 2016-01-26 2018-03-06 Intel Corporation Enhanced virtual function capabilities in a virtualized network environment
RU2744591C2 (ru) * 2019-05-31 2021-03-11 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ и система управления связями компьютеров в многоуровневом составном компьютерном кластере
CN112558968B (zh) * 2020-12-22 2023-10-17 北京飞讯数码科技有限公司 一种资源树视图的生成方法、装置、设备及存储介质
CN114398143B (zh) * 2021-12-02 2024-10-18 阿里巴巴(中国)有限公司 安全容器启动方法、装置、设备及存储介质
US11818055B1 (en) * 2022-05-31 2023-11-14 Walmart Apollo, Llc Systems and methods for automating resource deployment
CN116700897A (zh) * 2023-06-12 2023-09-05 北京首都在线科技股份有限公司 计算环境模板的创建方法、装置、计算设备及存储介质
CN117270961B (zh) * 2023-11-21 2024-04-12 武汉蜂鸟龙腾软件有限公司 一种Linux环境下MFC字符资源的解析和加载方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7101498A (en) * 1997-04-02 1998-10-22 Microsoft Corporation Method for integrating a virtual machine with input method editors
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US7000231B1 (en) * 2000-09-22 2006-02-14 Hewlett-Packard Development Company, L.P. Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
US20030158926A1 (en) * 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US7062764B2 (en) * 2002-06-17 2006-06-13 Microsoft Corporation System and method for manipulating offline software
JP4340476B2 (ja) * 2002-06-28 2009-10-07 株式会社リコー ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
TWI263427B (en) * 2003-12-25 2006-10-01 Inst Information Industry Method of contention control for quality of service (QoS) in WLAN
JP4353003B2 (ja) 2004-06-25 2009-10-28 日本電気株式会社 インストール方式およびインストール方法ならびに配布装置およびそのプログラム
US8464250B1 (en) * 2004-09-23 2013-06-11 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
US7523089B2 (en) * 2005-09-30 2009-04-21 Microsoft Corporation Offline servicing of image files
US7840961B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for installing software on multiple computing systems
US9213542B2 (en) * 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2754714C2 (ru) * 2016-06-30 2021-09-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Динамическая деактивация "холодной" базы данных в службе работы с базами данных
US11169982B2 (en) 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service

Also Published As

Publication number Publication date
EP2011020B1 (en) 2018-04-18
CN101416175B (zh) 2013-10-16
AU2007235540B2 (en) 2011-12-08
EP2011020A4 (en) 2009-08-19
KR101344163B1 (ko) 2013-12-20
TWI411958B (zh) 2013-10-11
US9600276B2 (en) 2017-03-21
US9213542B2 (en) 2015-12-15
CA2644167A1 (en) 2007-10-18
US20170147390A1 (en) 2017-05-25
JP5113831B2 (ja) 2013-01-09
CA2644167C (en) 2015-12-29
CN101416175A (zh) 2009-04-22
BRPI0709166A2 (pt) 2011-06-28
EP2011020A1 (en) 2009-01-07
MY155040A (en) 2015-08-28
MX2008011907A (es) 2008-09-29
RU2008138700A (ru) 2010-04-10
BRPI0709166A8 (pt) 2016-12-13
JP2009532757A (ja) 2009-09-10
WO2007117363A1 (en) 2007-10-18
US20160098286A1 (en) 2016-04-07
TW200809620A (en) 2008-02-16
BRPI0709166B1 (pt) 2019-01-15
US20070234334A1 (en) 2007-10-04
KR20080114752A (ko) 2008-12-31
AU2007235540A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
RU2436150C2 (ru) Создание шаблонов отключенных ресурсов
CN107992355B (zh) 一种部署应用软件的方法、装置及虚拟机
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
RU2429529C2 (ru) Динамическое конфигурирование, выделение и развертывание вычислительных систем
US8332496B2 (en) Provisioning of operating environments on a server in a networked environment
US10740133B2 (en) Automated data migration of services of a virtual machine to containers
US7203700B1 (en) Online instance addition and deletion in a multi-instance computer system
KR101007279B1 (ko) 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법 및 시스템
CN100451966C (zh) 发现数据处理系统内的硬件的方法和设备
US20040221146A1 (en) Build time dynamic installation of drivers on cloned systems
JP2007183747A (ja) 物理サーバ間のシステム移動方法およびシステム移動システム
KR20080077120A (ko) 운영 체제 배포 동안의 자동화된 상태를 마이그레이션하는서버 관리 시스템, 방법 및 컴퓨팅 장치로마이그레이션하는 방법
CN110134489A (zh) 应用迁移方法及装置、系统、存储介质、应用上云工具
CN109684028A (zh) 一种操作系统与用户数据分离的方法、装置及设备
US20100082812A1 (en) Rapid resource provisioning with automated throttling
JP2006099307A (ja) 分散サーバへのアプリケーションセットのインストール方法
EP3037966A1 (en) System backup device and backup method
KR100831128B1 (ko) 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법
JP2009251756A (ja) クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム
US8272000B2 (en) System and method for abstracting computer disk image cloning capabilities from bootable media
CN114296810A (zh) 一种操作系统迁移方法、装置、服务器与存储介质
JP4343056B2 (ja) ストレージ装置割当て方法ならびにそのための管理サーバおよびプログラム
McMillan Operating Systems

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526