АВТОМАТИЗИРОВАННАЯ МИГРАЦИЯ СОСТОЯНИЯ ПРИ РАЗВЕРТЫВАНИИ ОПЕРАЦИОННОЙ СИСТЕМЫ
AUTOMATED STATE MIGRATION WHILE DEPLOYING OPERATING SYSTEM

Уровень техники
Пользователям, которые хотят идти в ногу с достижениями программного обеспечения компьютеров, необходимо постоянно «модернизировать» свои вычислительные устройства. Вычислительные устройства включают в себя, но не ограничиваются ими, настольные и портативные персональные компьютеры, персональные цифровые помощники (PDA), сотовые телефоны и т.д. Вычислительные устройства, как правило, упоминаются в данном документе как компьютеры.
Модернизация простирается от применения «исправлений» (заплаток) к существующей программе до установки другой версии программы пакета программного обеспечения или во многих случаях установки другой операционной системы. Применение исправления для существующей программы или установка другой версии программы пакета программного обеспечения необязательно требует, чтобы пользователь мигрировал (перемещал) существующее «состояние» всего компьютера. В большинстве случаев исправление или другая версия применяется локально на каждом компьютере без миграции существующего состояния всего компьютера в другое расположение вне вычислительной среды компьютера. «Состояние» компьютера, используемое в данном документе, относится к характерным для пользователя программам и данным, таким как, но не ограничиваясь ими, предпочтительные параметры пользователя операционной системы, прикладные программы и характерные для пользователя данные, ассоциированные с операционной системой и прикладными программами. Миграция представляет собой перемещение состояния компьютера пользователя в удаленное местоположение, такое как жесткий диск сервера.
Установка другой, обычно новой, операционной системы часто требует, чтобы состояние компьютера мигрировалось во время установки. Миграция часто требуется независимо от того, должна ли другая операционная система устанавливаться на текущем компьютере пользователя или на компьютере, который отличается от текущего компьютера пользователя. Более конкретно, если пользователь не хочет выполнять другие функции, например повторное разбиение жесткого диска на разделы или замена существующего жесткого диска другим диском, установка другой операционной системы на текущем компьютере пользователя может не потребовать миграции состояния пользователя. И наоборот, если пользователь не хочет выполнять другую функцию, например повторное разбиение жесткого диска при установке другой операционной системы на текущем компьютере пользователя, состояние пользователя текущего компьютера должно мигрироваться, перед тем как может быть установлена другая операционная система и выполнено повторное разбиение жесткого диска. После того как другая операционная система будет установлена и будет выполнено повторное разбиение на разделы жесткого диска, состояние пользователя извлекается из местоположения хранения и загружается обратно на компьютер. Аналогично, когда пользователь получает новый или заменяющий компьютер с операционной системой, которая отличается от операционной системы текущего компьютера пользователя, пользователю часто необходимо мигрировать состояние текущего компьютера в удаленное расположение, перед тем как состояние пользователя может быть загружено на новый компьютер. Это особенно верно, когда текущий компьютер пользователя находится в совместном использовании с другими пользователями, причем каждый с другим состоянием, которое запускается в работу при регистрации другого пользователя, и пользователь принимает новый компьютер, предназначенный для исключительного использования пользователя.
Про миграцию состояния компьютера при смене операционных систем легче рассказать, чем сделать. Миграция состояния пользователя часто требует несколько этапов, которые включают в себя уровни защиты. Многие пользователи испытывают затруднения из-за недостаточности знаний о компьютерах или недостаточности знаний подробностей процесса миграции. Такие затруднения обычно обходятся использованием профессиональных знаний системного или сетевого администратора или некоторого другого такого субъекта. Или, в случае коммерческой организации, посредством того, что пользователь сохраняет состояние всего компьютера, используя свойство сервера совместно использовать файлы. Свойство сервера совместно использовать файлы позволяет пользователям в вычислительной сети иметь общий доступ к серверу, где могут храниться файлы. Это свойство позволяет пользователю в вычислительной сети обмениваться содержимым файла с другим пользователем без использования пространства для хранения на жестком диске компьютера пользователя, делая компьютер пользователя доступным для другого пользователя. Хотя сохранение с целью совместного использования файла не требует высокого уровня знания компьютера, совместно используемые файлы являются доступными для всех пользователей вычислительной сети сервера. Следовательно, существует возможность, что содержимое совместно используемого файла будет изменено, считано или записано теми, которые не уполномочены это делать. Превращение засекреченного и конфиденциального содержимого в совместно используемый файл представляет собой серьезный недостаток текущей практики миграции пользователя. Первая альтернатива, т. е. применение профессиональных знаний системного или сетевого администратора или некоторого другого такого субъекта, имеет свои собственные недостатки. Во-первых, она является дорогостоящей в финансовом отношении альтернативой. Во-вторых, она занимает много времени из-за планирования, необходимого перед выполнением администратором миграции. Временная задержка комбинируется, если является низким отношение системных или сетевых администраторов к количеству пользователей, требующих миграцию.
Поводя итог вышесказанному, современные процедуры, используемые для миграции состояния компьютера при развертывании новой или другой операционной системы, являются дорогостоящими в финансовом отношении и трудоемкими или рискуют выполнить миграцию в небезопасное расположение.
Сущность изобретения
Данная «сущность изобретения» представлена для введения выбора концепций в упрощенном виде, которые дополнительно описываются ниже в подробном описании. Эта сущность изобретения не предназначена для того, чтобы идентифицировать ключевые признаки заявленного объекта, не предназначена для использования в качестве средства определения объема заявленного объекта.
Описывается способ и система для миграции состояния пользователя с исходного компьютера и восстановления его на конечном компьютере автоматизированным и безопасным образом. Конечным компьютером может быть тот же компьютер, что и исходный компьютер с другой операционной системой, или им может быть другой компьютер. Миграция разработана так, чтобы не требовать помощи сетевого или системного администратора или некоторого другого такого субъекта. Согласно одному примерному варианту осуществления система, например система управления сервером (SMS), гарантирует, что миграция выполняется безопасным образом, так что состояние пользователя безопасно передается на точку миграции состояния (SMP), которая хранит состояние пользователя до тех пор, пока состояние не будет восстановлено на конечном компьютере. Если требуется, сохраненное состояние на SMP может автоматически удаляться через предварительно определенный период времени. Автоматическое удаление сохраненного состояния гарантирует, что SMP имеет свободное пространство, доступное для другого состояния без необходимости постоянного увеличения своей вместимости. Необходимо понимать, что состояние пользователя обычно восстанавливается на конечном компьютере перед удалением сохраненного состояния.
Согласно другому примерному варианту осуществления система включает в себя более одной SMP для миграции состояния, в зависимости от миграционной нагрузки сети. Согласно еще другому примерному варианту осуществления система может одновременно восстанавливать состояние множества компьютеров.
Описание чертежей
Вышеприведенные аспекты и многие из сопровождающих преимуществ данного изобретения станут более легкими для восприятия, так как они становятся лучше понимаемыми в результате ссылки на последующее подробное описание, рассматриваемое в связи с прилагаемыми чертежами, на которых:
фиг.1 представляет собой наглядное изображение примерного варианта осуществления настоящего изобретения;
фиг.2 представляет собой блок-схему последовательности операций примерного сценария, где состояние пользователя компьютера, который модернизируется, перестраивается или заменяется, мигрирует в точку миграции состояния (SMP);
фиг.3 представляет собой блок-схему последовательности операций примерного сценария, где перестроенный или модернизированный компьютер восстанавливается в состояние, безопасно хранимое в SMP;
фиг.4 представляет собой блок-схему последовательности операций примерного сценария, где заменяющий (новый) компьютер восстанавливается в состояние, безопасно хранимое в SMP;
фиг.5 представляет собой блок-схему последовательности операций примерного сценария, где состояния многочисленных пользователей мигрируются в SMP;
фиг.6 представляет собой блок-схему последовательности операций примерного сценария, где перестроенный/модернизированный компьютер с многими пользователями восстанавливается в состояние, безопасно хранимое в SMP;
фиг.7 представляет собой блок-схему последовательности операций примерного сценария, где заменяющий компьютер с многими пользователями восстанавливается в состояние, безопасно хранимое в SMP;
фиг.8 представляет собой блок-схему последовательности операций, которая иллюстрирует, как SMP примерным образом хранит максимальное количество состояний компьютеров в объеме пространства для хранения, доступном на SMP; и
фиг.9 представляет собой блок-схему последовательности операций примерного сценария, где SMP мигрирует (передает) состояние компьютера, которому назначен некоторый адрес подсети протокола Интернета (IP).
Подробное описание
В нижеследующем описании излагаются многочисленные конкретные подробности, чтобы обеспечить более полное описание иллюстративных вариантов осуществления изобретения. Для специалиста в данной области техники очевидно, однако, что изобретение может быть осуществлено на практике без этих конкретных подробностей. В других случаях общеизвестные признаки не были описаны подробно, чтобы не затруднять понимание изобретения.
Фиг.1 представляет собой наглядное изображение примерной системы 100 и действий, которые происходят, когда соответствующие состояния трех пользователей (идентифицированных как Джон, Джейн и Тим) общего персонального компьютера 108 мигрируют на три отдельных персональных компьютера 112, 113 и 114. Как описано более подробно ниже, система использует точки миграции состояния (SMP). SMP, как используется в данном документе, представляет собой местоположение в сервере, подходящее для хранения состояния пользователя, когда компьютер пользователя перестраивается, заменяется или модернизируется.
Возвращаясь к фиг.1, состояние каждого пользователя мигрируется с общего персонального компьютера 108 на его отдельный персональный компьютер. Более конкретно, состояние пользователя Джона мигрируется с общего персонального компьютера 108 на персональный компьютер 112 Джона (ПК-Джон), состояние пользователя Джейн мигрируется с общего персонального компьютера 108 на персональный компьютер 113 Джейн (ПК-Джейн), и состояние пользователя Тима мигрируется с общего персонального компьютера 108 на персональный компьютер 114 Тима (ПК-Тим). Фиг.1 иллюстрирует начальные действия (А1, А2 и А3), которые происходят во время миграции состояний всех трех пользователей общего персонального компьютера 108, плюс действия, которые происходят во время захвата (С1-С5) и восстановления (R1-R5) только состояния пользователя Джона с общего персонального компьютера 108 на ПК-Джона 112, причем понятно, что состояния пользователей Джейн и Тима захватываются и восстанавливаются аналогичным образом. Также необходимо понять, что действия по миграции состояния, включая установку пула SMP для захвата и восстановления состояний пользователей, и действия по захвату и восстановлению аналогичны, когда компьютер отдельного пользователя модернизируется, перестраивается или заменяется для отдельного или многочисленных пользователей вместо отдельного, причем компьютер с тремя пользователями заменяется на три отдельных компьютера, как изображено на фиг.1 и описано в данном документе. Также необходимо понять, что три пользователя взяты в качестве примера, что не являются ограничением, так как описанный процесс может применяться аналогичным образом к большему или меньшему количеству пользователей.
Начальные действия А1, А2 и А3 представляют собой действия, которые происходят при установке пула точек миграции состояния (SMPA, SMPB и SMPC) для захвата и восстановления состояния компьютера пользователя. На этапе А1 администратор 102 системы управления сервером (SMS), используя сервер 103, создает три ассоциации компьютеров для трех пользователей общего персонального компьютера 108 следующим образом: (1) общий персональный компьютер 108, ПК-Джон 112 и Джон для пользователя Джон; (2) общий персональный компьютер 108, ПК-Джейн 113 и Джейн для пользователя Джейн; и (3) общий персональный компьютер 108, ПК-Тим 114 и Тим для пользователя Тим. Т.е. пользователь Джон ассоциируется с идентификационными данными общего персонального компьютера 108 и ПК-Джона 112, пользователь Джейн ассоциируется с идентификационными данными общего персонального компьютера 108 и ПК-Джейн 113, и пользователь Тим ассоциируется с идентификационными данными общего персонального компьютера 108 и ПК-Тима 114.
Администратор 102 также назначает задачу создания и захвата цели (действие С1) общему персональному компьютеру 108 и задачу создания и восстановления цели (действие R1) ПК-Джону 112, ПК-Джейн 113 и ПК-Тима 114. Более конкретно, администратор назначает С1 модулю программного обеспечения, включенному в общий персональный компьютер 108, и R1 - модулям программного обеспечения, включенным в ПК-Джон, ПК-Джейн и ПК-Тим.
На этапе А2 администратором создается куки-файл и сохраняется тремя ассоциациями компьютеров, созданных на этапе А1 в базе 104 данных SMS. Согласно одному примерному варианту осуществления ассоциации включают в себя адреса МАС (уровня управления доступом к среде) компьютеров. На этапе А3 куки-файл и ассоциации компьютеров, созданные на этапе А2, копируются на множество точек управления (MP) МРА 105, МРВ 106, МРС 107 …, три из которых показаны на фиг.1. Как используется в данном документе, точка управления (MP), подобно SMP, представляет собой местоположение базы данных. Хотя SMP захватывают и восстанавливают состояния пользователей компьютера, МР хранит копию куки-файла и ассоциаций компьютера, созданных администратором SMS. МР действует в качестве местоположения связи взаимодействия между пользователем и SMS, откуда пользователь может получить куки-файл и ассоциации, созданные администратором SMS, а также список доступных SMP. Необходимо понять, что сервером, задачи которого включают в себя хранение копии куки-файла и ассоциаций компьютера, созданных администратором SMP, может быть тот же сервер, задачи которого включают в себя сохранение состояния пользователя, когда компьютер пользователя перестраивается, заменяется или модернизируется. Другими словами, сервером МР также может быть сервер SMP (и наоборот), в зависимости от ситуации. Также необходимо понимать, что функции SMP и MP могут выполняться отдельным или многочисленными серверами, в зависимости от среды использования вариантов осуществления изобретения.
Возвращаясь к фиг.1, С1-С5 представляют собой действия, предпринимаемые для захвата состояния пользователя Джона с общего персонального компьютера 108 и сохранения состояния на SMPB 110. На этапе С1 задача захвата начинает выполняться на общем персональном компьютере 108. На этапе С2 общий персональный компьютер 108 устанавливает связь с MPC 107 для извлечения ассоциации машины для Джона, созданной на этапе А1. Во время работы компьютер, которому необходима миграция, случайным образом опрашивает пул точек управления для извлечения ассоциаций, созданных для него в базе 104 данных SMS. Таким образом, общий персональный компьютер 108 может случайным образом установить связь с MPA 105 и/или MPB 106 перед извлечением своей ассоциации из MPC 107. Ради простоты, эти возможности не показаны на фиг.1. На этапе С3 общий персональный компьютер 108 случайным образом опрашивает SMPA 109, т.е. посылает запрос захвата на SMPA, который отклоняется (стрелка, отмеченная NACK (отрицательное подтверждение приема)). Как объяснено ниже, существует несколько причин для отклонения запроса захвата, включая то, что точка миграции достигла максимального количества компьютеров, которым она может оперировать, или точка миграции не имеет достаточного пространства для хранения всего состояния запрашивающего компьютера. На этапе С4 общий персональный компьютер 108 опрашивает SMPB 110, т.е. посылает запрос захвата на SMPB, который принимается. SMPB 102 создает безопасный каталог для хранения состояния пользователя, которое будет предоставлено общим персональным компьютером 108. Общий персональный компьютер предоставляет SMPB куки-файл, созданный на этапе А2, и ассоциации, созданные на этапе А1. SMPB хранит состояние пользователя всех трех пользователей, т.е. Джона, Джейн и Тима, в безопасном каталоге. Согласно одному примерному варианту осуществления SMPB хранит ассоциации, созданные на этапе А1, и состояния пользователя отделены друг от друга в безопасном каталоге. На этапе С5 SMPB создает файл, например State.cab, для хранения состояний всех трех пользователей общего персонального компьютера, и файл, например Done.dat, для отслеживания захваченных состояний пользователя и восстановления статуса захваченных состояний пользователя.
R1-R5 представляют собой действия, которые происходят при восстановлении состояния пользователя Джона из SMPB на ПК-Джон 112. На этапе R1 задача восстановления начинает исполняться на ПК-Джон. На этапе R2 ПК-Джон устанавливает связь с MPB 106 для извлечения ассоциации общий персональный компьютер/ПК-Джон/Джон, созданной на этапе А1. Как объяснено ранее, для простоты установление связи ПК-Джона с MPA 105 и/или MPC 107 могло произойти, но оно не показано. На этапе R3 ПК-Джон 112 случайным образом опрашивает SMPC 111 в отношении запроса на восстановление, который отклоняется (стрелка, отмеченная NACK). Как описано ниже, так как ПК-Джон не имеет сведений, какая из SMP в пуле хранит его захваченное состояние, ПК-Джон необходимо случайным образом опрашивать пул SMP до тех пор, пока он не обнаружит SMP, которая хранит его захваченное состояние. На этапе R4 ПК-Джон опрашивает SMPB 110 в отношении запроса на восстановление, которое принимается, так как SMPB 110 хранит состояние захвата ПК-Джона. Затем SMPB 110 восстанавливает состояние пользователя Джона в ПК-Джоне, и на этапе R5 база данных SMPB 110 обновляется, чтобы отражать статус завершения восстановления ПК-Джона, и общее количество компьютеров, остающихся (если они есть) для восстановления состояния пользователя, уменьшается на единицу.
Как легко можно понять из вышеприведенного описания, в примере, изображенном на фиг.1, программное обеспечение миграции, хранимое на общем персональном компьютере 108, запрашивает сервер 103 SMS со своим намерением модернизировать, перестроить или заменить. Сервер 103 SMS предоставляет общему персональному компьютеру (через одну или несколько MP) список доступных точек управления состоянием (SMP), в зависимости от схемы сети, инфраструктуры компании или других факторов, описанных ниже в отношении фиг.8, 9 и 10. Если перечислена только одна SMP, общий персональный компьютер 108 запрашивает эту SMP до тех пор, пока он не примет ответ, указывающий, что пространство доступно. Если перечислена более одной SMP и если первая SMP, которую запрашивает общий персональный компьютер 108, не имеет доступного пространства, общий персональный компьютер запрашивает следующую SMP по списку циклическим образом. Общий персональный компьютер запрашивает все SMP до тех пор, пока не будет найдено пространство или не будут опрошены все SMP. Если общий персональный компьютер исчерпал возможности запроса всех SMP в списке, он может взять перерыв в течение предварительно определенного периода времени, перед тем как он повторно начнет процесс опроса.
Если SMP предоставляет пространство для общего персонального компьютера, SMP создает безопасный каталог для компьютера. SMP затем получает и хранит информацию, которая идентифицирует общий персональный компьютер 108 в базе данных, ассоциирует запись в базе данных с созданным каталогом и изменяет разрешение созданного каталога на ТОЛЬКО ЗАПИСЬ для общего персонального компьютера. В случае если выполняется модернизация или перестроение компьютера, адрес МАС компьютера представляет собой один элемент идентифицирующей информации, хранимой в базе данных. Также в случае модернизируемого или перестраиваемого компьютера общий персональный компьютер маркирует SMP, которая предоставила или нашла пространство. В случае если общий персональный компьютер заменяется одним или несколькими новыми компьютерами, адрес МАС общего персонального компьютера и его ассоциация с адресом МАС или адресами нового компьютера (компьютеров) (которые должны быть известны до запроса на миграцию) включаются в ассоциации, идентифицирующие информацию, хранимую в базе данных. Другими словами, так как адрес МАС общего персонального компьютера, который модернизируется, перестраивается или заменяется, используется для ассоциации адреса МАС соответствующего модернизируемого, перестраиваемого или заменяющего компьютера (компьютеров), миграция состояния общего персонального компьютера может быть завершена только на соответствующем модернизированном, перестроенном или замененном компьютере (компьютерах), если ассоциация совпадает. Затем общий персональный компьютер записывает свое состояние в безопасный каталог. После того как общий персональный компьютер завершит запись своего состояния в безопасный каталог, общий персональный компьютер информирует SMP, что он завершил запись в каталог. SMP затем изменяет разрешение каталога с ТОЛЬКО ЗАПИСЬ на НЕТ ДОСТУПА.
После того как общий персональный компьютер 108 будет модернизирован, перестроен или заменен и будет готов для миграции состояния, модернизированный, перестроенный или замененный компьютер мигрирует (перемещает) данные состояния из безопасного каталога. В случае перестроенного или модернизированного общего персонального компьютера, так как компьютер уже известен для сервера 103 SMS, и так как общий персональный компьютер маркировал (идентифицировал) SMP, которая имеет предыдущее состояние компьютера, компьютер имеет сведения, какая SMP сохранила предыдущее состояние и, таким образом, запрашивает только эту SMP до тех пор, пока SMP не будет готова мигрировать состояние компьютера, как описано ниже.
Когда SMP готова к миграции состояния, SMP аутентифицирует перестроенный или модернизированный компьютер, запрашивающий миграцию состояния, и изменяет разрешение каталога с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ. Согласно одному примерному варианту осуществления адрес МАС запрашивающего компьютера сравнивается с адресом МАС, хранимым в базе данных. Как описано выше, если адреса МАС одинаковые, перестроенному или модернизированному компьютеру дается разрешение на миграцию хранимого состояния компьютера, иначе разрешение отклоняется.
Так как заменяющий или новый компьютер не имеет сведения, какая SMP сохранила состояние заменяемого компьютера, заменяющему или новому компьютеру необходимо случайным образом опрашивать все доступные SMP. SMP, которая обрабатывает миграцию, аутентифицирует замененный компьютер и изменяет разрешение каталога с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ. Согласно одному примерному варианту осуществления адрес МАС запрашивающего компьютера сравнивается с адресом МАС в базе данных. Как описано выше, если адрес МАС запрашивающего компьютера совпадает с адресом МАС, ассоциированным с предшествующим общим персональным компьютером, состояние которого сохранено в базе данных, SMP дает разрешение замененному компьютеру на миграцию своего предыдущего состояния, иначе разрешение отклоняется.
После того как будет завершена миграция предыдущего состояния, замененный, модернизированный или замененный компьютер затем информирует SMP. SMP затем изменяет разрешение безопасного каталога с ТОЛЬКО ЧТЕНИЕ на НЕТ ДОСТУПА. SMP удаляет состояние компьютера, хранимое в безопасном каталоге, через предварительно определенный промежуток времени, после того как будет завершен процесс миграции. Состояние сохраняется в SMP в течение предварительно определенного промежутка времени, чтобы дать возможность пользователю модернизированного, перестроенного или замененного компьютера извлечь все или часть предыдущего состояния в случае, если модернизированный, перестроенный или замененный компьютер не отвечает так, как ожидается. Состояние удаляется через предварительно определенный промежуток времени, чтобы освободить пространство на SMP для других пользователей, которые хотят мигрировать состояние своего компьютера.
Фиг.2 представляет собой схему последовательности операций, которая иллюстрирует примерный сценарий 200, где состояние пользователя компьютера, который модернизируется, перестраивается или заменяется, мигрируется на SMP. Т.е. блок-схема последовательности операций заканчивается там, где данные безопасно сохраняются в SMP. На этапе 201 программное обеспечение миграции на компьютере, который модернизируется, перестраивается или заменяется, устанавливает контакт с сервером 103 SMS. На этапе 202 сервер SMS предоставляет список доступных SMP одной или нескольким MP. На этапе 203 МР предоставляет список доступных SMP компьютеру, который модернизируется, перестраивается или заменяется. Затем на этапе 204 компьютер, который модернизируется, перестраивается или заменяется, запрашивает SMP по списку с целью определения, имеет ли SMP доступное пространство для хранения. Затем на этапе 205 принятия решения выполняется проверка с целью определения, удовлетворяется ли запрос компьютера. Если запрос не удовлетворяется, на этапе 206 выполняется проверка с целью определения, имеются ли еще SMP по списку. Если имеются еще SMP по списку (ветвление «Да»), на этапе 207 компьютер, который модернизируется, перестраивается или заменяется, запрашивает следующую SMP по списку, и последовательность операций возвращается на этап 205. Если больше нет SMP по списку, посылается отчет администратору 102 SMS, который на этапе 208 проверяет с целью определения, могут ли дополнительные SMP быть добавлены к списку. Если одна или несколько SMP могут быть добавлены к списку, на этапе 209 одна или несколько SMP динамически добавляются в список доступных SMP на одной или нескольких MP. Затем на этапе 210 сервер 103 SMS обновляет список доступных SMP для компьютеров, которые модернизируются, перестраиваются или заменяются, ожидающих установления контакта с сервером SMS, и последовательность операций возвращается на этап 204. Если на этапе 208 администратор принимает решение, что одна или несколько SMP не могут быть добавлены в список доступных SMP, на этапе 211 компьютер, который модернизируется, перестраивается или заменяется, берет перерыв, т.е. задерживает другой запрос в течение предварительно определенного периода времени.
Возвращаясь к этапу 205, когда запрос удовлетворяется (ветвление «Да»), на этапе 212 SMP создает безопасный каталог для компьютера, который модернизируется, перестраивается или заменяется. Затем на этапе 213 сервер SMS заполняет идентификационную информацию о компьютере, который модернизируется, перестраивается или заменяется, в базу данных, ассоциирует запись в базе данных с каталогом, созданным на этапе 212, и SMP меняет разрешение каталога на ТОЛЬКО ЗАПИСЬ. Затем на этапе 214 компьютер, который модернизируется, перестраивается или заменяется, записывает свои данные о состоянии в безопасный каталог. Затем на этапе 215 выполняется проверка с целью определения, завершил ли компьютер, который модернизируется, перестраивается или заменяется, запись в каталог. Если запись в каталог не завершена (ветвление «Нет»), этап 214 повторяется до тех пор, пока компьютер, который модернизируется, перестраивается или заменяется, не завершит запись в каталог. После того как компьютер, который модернизируется, перестраивается или заменяется, завершит запись в каталог (ветвление «Да»), SMP информируется компьютером на этапе 216, что запись в каталог завершена. Наконец, на этапе 217 SMP меняет разрешение каталога на НЕТ ДОСТУПА.
Фиг.3 представляет собой функциональную блок-схему последовательности операций, которая иллюстрирует примерный сценарий 300, где перестроенный или модернизированный компьютер восстанавливается в состояние, хранимое безопасным образом в SMP. Т.е. в данном сценарии состояние пользователя возвращается этому же компьютеру после того как компьютер был перестроен или модернизирован. Так как перестроенный или модернизированный компьютер имеет сведения, какая SMP имеет его состояние, на этапе 301 перестроенный или модернизированный компьютер запрашивает эту SMP. На этапе 302 SMP аутентифицирует перестроенный или модернизированный компьютер. Как упомянуто выше, одним способом аутентификации перестроенного или модернизированного компьютера является проверка его адреса МАС, который включается в куки-файл, сохраняемый на этапе 213 на фиг.2. На этапе 303 SMP выполняет проверку с целью определения, является ли перестроенный или модернизированный компьютер достоверным. Если перестроенный или модернизированный компьютер не является достоверным, на этапе 304 выполняется отказ в доступе. Если, с другой стороны, перестроенный или модернизированный компьютер является достоверным, на этапе 305 SMP меняет разрешение безопасного каталога, созданное на этапе 211 на фиг.2, с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ. На этапе 306 перестроенный или модернизированный компьютер мигрирует состояние, хранимое в безопасном каталоге. На этапе 307 выполняется проверка с целью определения, завершена ли миграция состояния. Если нет, продолжается миграция состояния. Когда миграция состояния будет завершена, на этапе 308 перестроенный или модернизированный компьютер затем информирует SMP. Затем на этапе 309 SMP меняет разрешение каталога с ТОЛЬКО ЧТЕНИЕ на НЕТ ДОСТУПА. Наконец, на этапе 310 SMP запускает таймер удаления, который приводит к удалению безопасного каталога, созданного для перестроенного или модернизированного компьютера, в конце предварительно определенного времени. Этап 310 является необходимым, чтобы освобождать пространство для хранения в SMP для выполнения миграции состояния другими компьютерами. Предварительно определенное время, в течение которого каталог остается на SMP, после того как произошла миграция состояния, зависит от политик, установленных сетевым администратором 102. Как упомянуто выше, выгодно сохранять каталог в течение некоторого периода времени после миграции состояния, так как перестроенный или модернизированный компьютер может иметь непредвиденные проблемы, которые могут потребовать извлечения всех или части данных, хранимых в каталоге. Как отмечено выше, удаление хранимого состояния в конце предварительно определенной длительности времени освобождает пространство для хранения SMP для использования другими пользователями для миграции состояния.
Фиг.4 представляет собой схему последовательности операций, которая иллюстрирует примерный сценарий 400, где заменяющий компьютер, такой как новый компьютер, восстанавливается в состояние, безопасно хранимое в SMP. На этапе 401 в ответ на запрос от заменяющего компьютера SMS предоставляет список доступных SMP компьютеру при помощи MP. На этапе 402 компьютер запрашивает SMP с целью определения, хранит ли SMP информацию о состоянии. На этапе 403 выполняется проверка ответа на запрос. Если SMP не хранит информацию о состоянии (ветвление «Нет»), на этапе 404 компьютер запрашивает следующую SMP по списку, или, если имеется только одна SMP в списке, генерируется отчет об ошибках. Когда SMP, запрашиваемая на этапе 403, как обнаруживается, имеет информацию о предыдущем состоянии (ветвление «Да»), на этапе 405 SMP пытается аутентифицировать заменяющий компьютер. Затем на этапе 406 выполняется проверка посредством SMP с целью определения, был ли заменяющий компьютер аутентифицирован. Одним способом аутентификации заменяющего компьютера является сравнение адреса МАС компьютера с хранимым адресом МАС, введенным пользователем или администратором SMS. Если заменяющий компьютер не аутентифицируется на этапе 406 (ветвление «Нет»), на этапе 407 выполняется отказ в доступе. Если заменяющий компьютер аутентифицируется (ветвление «Да»), на этапе 408 SMP меняет разрешение безопасного каталога, созданного на этапе 212 на фиг.2, с НЕТ ДОСТУПА на ТОЛЬКО СЧИТЫВАНИЕ. Затем на этапе 409 заменяющий компьютер мигрирует информацию о состоянии из безопасного каталога. Затем на этапе 410 выполняется проверка с целью определения, завершена ли миграция состояния. Если миграция состояния не завершена (ветвление «Нет»), продолжается миграция состояния. Если миграция состояния завершена (ветвление «Да»), на этапе 411 SMP информируется заменяющим компьютером, что миграция состояния завершена. На этапе 412 SMP меняет разрешение каталога на НЕТ ДОСТУПА. Наконец, на этапе 413 SMP запускает таймер удаления, который приводит к удалению безопасного каталога в конце предварительно определенного времени, по причинам, описанным выше со ссылками на этап 310 на фиг.3.
Фиг.5 представляет собой функциональную блок-схему последовательности операций, которая иллюстрирует примерный сценарий 500, где состояние одного или нескольких пользователей компьютера мигрирует на SMP. Например, многие пользователи общего персонального компьютера могут переходить на компьютеры индивидуальных пользователей, как, в основном, показано на фиг.1 и описано выше. Компьютеры индивидуальных пользователей могут представлять собой модернизированные, перестроенные или заменяющие компьютеры. В другом примере, два из трех пользователей общего персонального компьютера могут переходить на компьютер, который они собираются использовать совместно, тогда как третий пользователь перемещаться на компьютер, который только он/она собирается использовать в будущем. Фиг.5 иллюстрирует сценарий до того момента, когда данные о состоянии пересылаются с общего компьютера на SMP и сохраняются на ней.
На этапе 501 программное обеспечение миграции на общем компьютере информирует сервер SMS о необходимости миграции. На этапе 502 сервер 103 SMS предоставляет список доступных SMP одной или нескольким MP. На этапе 503 МР предоставляет список доступных SMP общему компьютеру. На этапе 504 общий компьютер запрашивает SMP по списку с целью определения, имеет ли SMP пространство для хранения миграции состояния. На этапе 505 выполняется проверка ответа на этот запрос. Если запрос не удовлетворяется, т.е. запрашиваемая SMP не имеет пространства для хранения миграции состояния (ветвление «Нет»), на этапе 506 выполняется проверка с целью определения, имеются ли еще SMP в списке. Если имеются еще SMP в списке (ветвление «Да»), на этапе 507 общий компьютер запрашивает пространство у следующей SMP по списку с целью определения, имеет ли эта SMP пространство для хранения миграции состояния. Затем последовательность операций возвращается на этап 505. Если больше нет SMP в списке, посылается отчет администратору 102 SMS, который на этапе 508 проверяет с целью определения, могут ли другие SMP быть добавлены в список. Если одна или несколько SMP могут быть добавлены в список, на этапе 509 одна или несколько SMP динамически добавляется в список доступных SMP. Затем на этапе 510 сервер 103 SMS обновляет список доступных SMP для общих компьютеров, ожидающих контакта с сервером SMS, и последовательность операций возвращается на этап 504. Если на этапе 508 администратор SMS определяет, что одна или несколько SMP не могут быть добавлены в список доступных SMP, на этапе 511 общий компьютер берет перерыв, т.е. задерживает другой запрос в течение предварительно определенного периода времени.
Возвращаясь на этап 505, если удовлетворяется запрос (ветвление «Да»), на этапе 512 SMP создает безопасный каталог для общего компьютера, и общий компьютер сохраняет состояние каждого пользователя общего компьютера отдельно от других пользователей в безопасном каталоге. На этапе 513 сервер SMS хранит информацию, которая идентифицирует общий компьютер в базе данных, ассоциирует запись в базе данных с безопасным каталогом, созданным на этапе 512, и SMP изменяет разрешение каталога на ТОЛЬКО ЗАПИСЬ. На этапе 514 общий компьютер записывает состояние общего компьютера в безопасный каталог. Затем на этапе 515 выполняется проверка с целью определения, завершил ли общий компьютер запись в каталог. Если запись в каталог не завершена (ветвление «Нет»), этап 514 повторяется до тех пор, пока общий компьютер не завершит запись в каталог. После того как общий компьютер завершит запись в каталог (ветвление «Да»), SMP информируется компьютером на этапе 516, что запись в каталог завершена. Наконец, на этапе 517 SMP меняет разрешение каталога с ТОЛЬКО ЗАПИСЬ на НЕТ ДОСТУПА.
Фиг.6 представляет собой схему последовательности операций, иллюстрирующую примерный сценарий 600, где перестроенный или модернизированный компьютер с многими пользователями восстанавливается в состояние, хранимое безопасно в SMP для каждого пользователя. См. фиг.5 выше. На этапе 601, так как перестроенный или модернизированный компьютер имеет сведения, какая SMP хранит информацию об этом состоянии, как указано выше, перестроенный или модернизированный компьютер запрашивает эту SMP. На этапе 602 SMP аутентифицирует компьютер. Как упомянуто ранее, одним способом аутентификации компьютера является сравнение адреса МАС, который включен в информацию идентификации компьютера, сохраненную на этапе 512 на фиг.5, с адресом МАС перестроенного или модернизированного компьютера. На этапе 603 выполняется проверка посредством SMP с целью определения, был ли аутентифицирован перестроенный или модернизированный компьютер. Если компьютер не был аутентифицирован, на этапе 604 выполняется отказ в доступе. Если, с другой стороны, перестроенный или модернизированный компьютер был аутентифицирован, на этапе 605 SMP меняет разрешение безопасного каталога, созданного на этапе 511 на фиг.5, с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ. На этапе 606 состояние одного из пользователей компьютера мигрирует из безопасного каталога. На этапе 607 выполняется проверка с целью определения, завершилась ли миграция. Если нет, миграция продолжается. Когда миграция завершится, на этапе 608 SMP удаляет ссылку на пользователя из информации о состоянии и обновляет базу данных. На этапе 609 SMP меняет разрешение каталога с ТОЛЬКО ЧТЕНИЕ на НЕТ ДОСТУПА. На этапе 610 выполняется проверка посредством SMP с целью определения, имеются ли другие состояния пользователей для миграции. Если имеются другие пользователи с состояниями для миграции (ветвление «Да»), на этапе 611 SMP меняет разрешение каталога с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ, и последовательность операций циклически возвращается обратно на этап 606. Если, с другой стороны, больше нет пользователей с состояниями для миграции (ветвление «Нет»), на этапе 612 SMP запускает таймер удаления, который приводит к удалению безопасного каталога в конце предварительно определенного времени. Как объяснено выше со ссылками на этап 310 (фиг.3) и этап 413 (фиг.4), этап 613 необходим для освобождения пространства в SMP для других пользователей, которые хотят провести миграцию состояния. Как отмечено выше, длительность предварительно определенного времени, в течение которого каталог сохраняется на SMP, после того как компьютер завершил миграцию состояния, зависит от политик, установленных администратором 102 SMS.
Фиг.7 представляет собой функциональную блок-схему последовательности операций, которая иллюстрирует примерный сценарий 700, где заменяющий компьютер, такой как новый компьютер, с многими пользователями восстанавливается в состояния, хранимые безопасно в SMP для каждого пользователя. См. фиг.5 выше. На этапе 701 в ответ на установление контакта программного обеспечения миграции на заменяющем компьютере с сервером SMS, сервер SMS предоставляет список SMP заменяющему компьютеру, где ранее была сохранена информация о состоянии. На этапе 702 заменяющий компьютер случайным образом запрашивает SMP с целью определения, хранит ли SMP информацию о его состоянии. На этапе 703 выполняется проверка ответа на запрос, т.е. выполняется проверка с целью определения, хранит ли SMP информацию о состоянии. Если SMP не хранит информацию о состоянии заменяющего компьютера (ветвление «Нет»), на этапе 704 заменяющий компьютер запрашивает следующую SMP по списку или отсчитывает предварительно определенную длительность времени, если имеется только одна SMP в списке. Если, с другой стороны, SMP, запрашиваемая на этапе 703, хранит информацию о состоянии, поиск которой производится заменяющим компьютером (ветвление «Да»), на этапе 705 SMP предпринимает попытку аутентификации заменяющего компьютера. На этапе 706 выполняется проверка посредством SMP с целью определения, был ли аутентифицирован заменяющий компьютер. Как описано выше, одним способом аутентификации компьютера является сравнение адреса МАС компьютера с хранимым адресом МАС, который идентифицирует правильный компьютер. Если заменяющий компьютер не аутентифицируется на этапе 706 (ветвление «Нет»), на этапе 707 выполняется отказ в доступе компьютеру. Если, с другой стороны, заменяющий компьютер аутентифицируется (ветвление «Да»), на этапе 708 SMP меняет разрешение безопасного каталога, созданного на этапе 506 на фиг.5, с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ. В блоке 709 состояние пользователя заменяющего компьютера мигрирует из безопасного каталога. Затем на этапе 710 выполняется проверка с целью определения, завершилась ли миграция. Если миграция не завершилась (ветвление «Нет»), последовательность операций циклически возвращается на этапе 709 и миграция продолжается. Когда будет завершена миграция состояния пользователя (ветвление «Да»), на этапе 711 SMP удаляет ссылку на состояние пользователя и обновляет базу данных. На этапе 712 SMP меняет разрешение каталога с ТОЛЬКО ЧТЕНИЕ на НЕТ ДОСТУПА. На этапе 713 выполняется проверка посредством SMP с целью определения, имеются ли еще состояния пользователей для миграции. Если имеются (ветвление «Да»), на этапе 714 SMP меняет разрешение каталога с НЕТ ДОСТУПА на ТОЛЬКО ЧТЕНИЕ, и последовательность операций возвращается на этап 709. Если, с другой стороны, больше нет других состояний пользователей для миграции (ветвление «Нет»), на этапе 715 SMP запускает таймер исчезновения, который удаляет безопасный каталог в конце предварительно определенного времени. Как объяснено выше, этап 716 необходим для того, чтобы освобождать пространство SMP для использования другими компьютерами для миграции состояния.
Фиг.8 представляет собой функциональную схему последовательности операций, которая иллюстрирует примерным образом, как SMP хранит максимальное количество состояний компьютера в объеме пространства для хранения, доступного на SMP. На этапе 800 SMP создается посредством SMS. Созданная SMP ограничивается суммарной вместимостью компьютера, основанной на максимальном объеме пространства, доступного для хранения информации о состоянии компьютера. На этапе 801 компьютер запрашивает пространство SMP для сохранения состояния или состояний компьютера. На этапе 802 выполняется проверка с целью определения, была ли достигнута суммарная вместимость компьютера. Если суммарная вместимость SMP не была достигнута (ветвление «Нет»), на этапе 804 выполняется другая проверка с целью определения, имеет ли SMP пространство, доступное для хранения состояния или состояний компьютера, выполняющего запрос. Если SMP имеет достаточно большое пространство, доступное для хранения состояния или состояний запрашивающего компьютера (ветвление «Да»), на этапе 805 удовлетворяется запрос компьютера. Если на этапе 802 определяется, что суммарная вместимость SMP была достигнута (ветвление «Да» от блока 802), и на этапе 804 определяется, что SMP не имеет пространства, доступного для хранения состояния или состояний запрашивающего компьютера (ветвление «Нет» от блока 804), на этапе 803 отклоняется запрос компьютера. Затем на этапе 806 компьютер проверяет с целью определения, имеются ли другие SMP по списку, принятому от SMS. Если имеются другие SMP в списке (ветвление «Да»), на этапе 807 выбирается следующая SMP по списку. Затем последовательность операций циклически возвращается на этап 801. Если больше нет SMP по списку (ветвление «Нет»), на этапе 808 истекает время последовательности операций. Таким образом, если в списке имеется только одна SMP, или все доступные SMP в списке достигли максимального количества пользователей, которое они могут обрабатывать, или нет достаточного пространства, доступного на SMP, для хранения состояния компьютера, истекает время процесса и он завершается. Как понятно из вышеприведенного описания, функциональная иллюстрация последовательности операций по фиг.8 происходит во время проверки, выполняемой на этапе 204 на фиг.2 или этапе 504 на фиг.5.
Может быть ситуация, когда администратор принимает решение, что SMP будет мигрировать (передавать) только состояние компьютера, которому назначен конкретный адрес подсети IP. Эта ситуация может возникнуть тогда, когда поток сетевого трафика уменьшается из-за того, что многие компьютеры одновременно используют сеть для миграции своих состояний. Например, организация может иметь многочисленные компьютеры с различными адресами подсети IP внутри небольшой географической зоны. Если подавляющее большинство пользователей внутри небольшой географической зоны решают мигрировать состояние своего компьютера в одно и то же время и если имеется только ограниченное количество SMP, сконфигурированных для обработки миграции, создается узкое место. Администратор может в данном моменте решить выполнять динамическое назначение доступных SMP для миграции состояния только компьютеров, которым назначен конкретный адрес подсети IP в дополнение к добавлению дополнительных SMP.
Фиг.9 представляет собой функциональную блок-схему последовательности операций примерного сценария, где SMP создается для миграции состояния компьютеров только тем, которым назначен конкретный адрес подсети IP. На этапе 900 SMP создается посредством SMS. На этапе 901 выполняется проверка с целью определения, будет ли SMP принимать запросы только от компьютеров в пределах определенной границы подсети IP. Если SMP принимает запросы на миграцию только от компьютеров в пределах определенной границы подсети IP (ветвление «Да»), на этапе 903 запросы на миграцию от всех компьютеров в пределах определенной границы подсети IP принимаются посредством SMP. И наоборот, если запрашивающий компьютер не назначен определенной подсети IP, которую обрабатывает SMP, тогда запрос на миграцию от компьютера отклоняется SMP. Если, с другой стороны, SMP принимает запросы на миграцию от всех компьютеров внутри организации, на этапе 902 запросы на миграцию от всех компьютеров внутри организации принимаются посредством SMP, независимо от адресов подсети IP запрашивающих компьютеров. Понятно, что, как показано на фиг.8 и описано выше, принятие запроса на миграцию SMP зависит от доступности пространства для миграции на обсужденной ранее SMP.
Хотя были изображены и описаны иллюстративные варианты осуществления, понятно, что различные изменения могут быть сделаны в данном документе без отступления от сущности и объема изобретения. Например, компьютеры, т.е. вычислительные устройства, изображенные на фиг.1, описываются как персональные компьютеры (ПК). Это должно толковаться как примерное и неограничивающее условие, так как изобретение также может найти применение в вычислительных устройствах других типов, таких как PDA, сотовые телефоны и т.д. Таким образом, хотя настоящим документом был описан предпочтительный вариант осуществления способа и системы для миграции данных состояния пользователя при развертывании операционной системы, необходимо понять, что изобретение не ограничивается этим вариантом осуществления. Скорее изобретение определяется следующей формулой изобретения и ее полным объемом эквивалентов.