(57)【要約】  状態移行ポイント（ＳＭＰ）を使用する移行元コンピューティングデバイスから移行先コンピューティングデバイスへのユーザ状態の移行が開示されている。移行先コンピューティングデバイスは、別のオペレーティングシステムを備えた移行元コンピューティングデバイスと同じあってよい。ユーザ状態は、そのユーザ状態が移行先コンピューティングデバイス上で復元されるか、または所定の期間が経過するまで、ＳＭＰによって安全に記憶されている。アーキテクチャの変更をせずに追加のＳＭＰを追加することができる。ＳＭＰ（複数）を使用して、移行元コンピューティングデバイスの複数のユーザの状態を複数の移行先コンピューティングデバイスに同時に移行することができる。特定のＩＰサブネットを有するコンピューティングデバイスのユーザ状態のみを移行するようにＳＭＰを制限することができる。ＳＭＰは、復元後、必要ならば、バックアップを提供するためにユーザ状態を一定の時間保持することができる。
2009516294.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスのユーザ状態を移行元コンピューティングデバイスから移行先コンピューティングデバイスに移行するためのサーバ管理システムにおいて、
（ａ）前記コンピューティングデバイスの前記ユーザ状態を状態移行ポイントディレクトリ（「ＳＭＰディレクトリ」）に安全に記憶するのに適した少なくとも１つの状態移行ポイント（「ＳＭＰ」）と、
（ｂ）前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスの識別情報ならびに前記少なくとも１つのＳＭＰのロケーションを記憶するための少なくとも１つの管理ポイント（「ＭＰ」）と、
（ｃ）ソフトウェアモジュールであって、
（ｉ）前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスの識別情報ならびに前記少なくとも１つのＳＭＰの前記ロケーションを前記少なくとも１つのＭＰから判定し、
（ｉｉ）前記ＳＭＰディレクトリに安全に記憶するために前記移行元コンピューティングデバイスの前記ユーザ状態を前記少なくとも１つのＳＭＰの前記ＳＭＰディレクトリに転送し、
（ｉｉｉ）前記ＳＭＰディレクトリに安全に記憶されていた前記移行元コンピューティングデバイスの前記ユーザ状態を前記移行先コンピューティングデバイスに転送する
ためのソフトウェアモジュールと、
を有することを特徴とするサーバ管理システム。
【請求項２】
複数のＳＭＰを有し、前記ＭＰは前記複数のＳＭＰのリストを記憶し、前記ソフトウェアモジュールは、ポーリングされるＳＭＰの前記ＳＭＰディレクトリに前記コンピューティングデバイスの前記ユーザ状態を記憶するための容量を有する前記ＳＭＰを探すために、前記リスト上の前記ＳＭＰ群を順次ポーリングすることを特徴とする請求項１に記載のサーバ管理システム。
【請求項３】
複数のＭＰを有し、前記ＭＰのそれぞれは前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスの識別情報ならびに前記少なくとも１つのＳＭＰの前記ロケーションを記憶し、前記ソフトウェアモジュールは、前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスの識別情報および前記少なくとも１つのＳＭＰを判定するためにランダムに前記複数のＭＰの１つを選択することを特徴とする請求項１に記載のサーバ管理システム。
【請求項４】
複数のＳＭＰを有し、前記複数のＭＰはそれぞれ前記複数のＳＭＰのリストを記憶し、前記ソフトウェアモジュールは、ポーリングされるＳＭＰの前記ＳＭＰディレクトリに前記コンピューティングデバイスの前記ユーザ状態を記憶するための容量を有する前記ＳＭＰを探すために、前記リスト上の前記ＳＭＰ群を順次ポーリングすることを特徴とする請求項３に記載のサーバ管理システム。
【請求項５】
前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスは同じコンピューティングデバイスであることを特徴とする請求項１に記載のサーバ管理システム。
【請求項６】
コンピューティングデバイスのユーザ状態を移行元コンピューティングデバイスから移行先コンピューティングデバイスに移行する方法であって、
それぞれの状態移行ポイント（「ＳＭＰ」）が前記コンピューティングデバイスの前記ユーザ状態を安全に記憶するのに適した複数のＳＭＰのリストを入手するステップと、
前記ＳＭＰのリストに含まれ、前記コンピューティングデバイスの前記ユーザ状態を安全に記憶する容量を有するＳＭＰを識別するステップと、
前記移行元コンピューティングデバイスのユーザ状態を、前記移行元コンピューティングデバイスの前記状態を安全に記憶するための前記識別されたＳＭＰに転送するステップと、
前記識別されたＳＭＰに安全に記憶された前記移行元コンピューティングデバイスの前記ユーザ状態を前記識別されたＳＭＰから前記移行先コンピューティングデバイスに転送するステップと
を有することを特徴とする方法。
【請求項７】
前記移行元コンピューティングデバイスは複数のユーザ状態を有すること、および前記複数のユーザ状態のそれぞれは前記識別されたＳＭＰの個別に識別可能なロケーションに転送され、前記識別されたＳＭＰ内の前記個別に識別可能なロケーションに個別に記憶されることを特徴とする請求項６に記載の方法。
【請求項８】
前記移行先コンピューティングデバイスは複数の個別のコンピューティングデバイスを有すること、および前記複数のユーザ状態はそれぞれ前記ＳＭＰから、関連付けられた前記複数の個別のコンピューティングデバイスの１つに転送されることを特徴とする請求項７に記載の方法。
【請求項９】
前記ＳＭＰはセキュアディレクトリを作成すること、および前記移行元コンピューティングデバイスの前記ユーザ状態は記憶されるために前記セキュアディレクトリに転送されることを特徴とする請求項６に記載の方法。
【請求項１０】
前記複数のＳＭＰのリストを複数の管理ポイント（「ＭＰ」）に記憶するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１１】
前記複数のＭＰ内の前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスを識別して関連付ける関連付け情報を記憶するステップも含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスが関連付けられているかを判定するステップと、前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスが関連付けられている場合、前記移行元コンピューティングデバイスのユーザ状態を前記移行先コンピューティングデバイスに転送するだけのステップとを含むことを特徴とする請求項６に記載の方法。
【請求項１３】
前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスは同じコンピューティングデバイスであることを特徴とする請求項６に記載の方法。
【請求項１４】
コンピューティングデバイスのユーザ状態を移行元コンピューティングデバイスから移行先コンピューティングデバイスに移行する方法であって、
前記移行元コンピューティングデバイスを前記移行先コンピューティングデバイスに関連付けるステップと、
前記ユーザ状態を安全に記憶するのに適した状態移行ポイント（「ＳＭＰ」）を識別するステップと、
前記移行元コンピューティングデバイスに関連付けられたユーザ状態を前記ＳＭＰに転送するステップと、
選択された移行先コンピューティングデバイスは前記移行元コンピューティングデバイスに関連付けられているかを判定するステップと、
前記選択された移行先コンピューティングデバイスが前記移行元コンピューティングデバイスに関連付けられている場合のみ、前記ユーザ状態を前記ＳＭＰから前記選択された移行先コンピューティングデバイスに転送するステップと
を含むことを特徴とする方法。
【請求項１５】
前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスはＭＡＣアドレスを有すること、ならびに前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスは前記ＭＡＣアドレスを用いて関連付けられていることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ユーザ状態を安全に記憶するのに適した前記ＳＭＰは、前記ユーザ状態を記憶するための容量を有するＳＭＰを識別するためにＳＭＰのリストをランダムに検査することにより識別されることを特徴とする請求項１４に記載の方法。
【請求項１７】
１つの移行元コンピューティングデバイスを１つ以上の移行先コンピューティングデバイスに関連付けるステップを含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
前記ＳＭＰは、前記転送されたユーザ状態に関連付けられた前記移行元コンピューティングデバイスを識別する情報も記憶することを特徴とする請求項１４に記載の方法。
【請求項１９】
前記移行元コンピューティングデバイスは複数のユーザ状態を有すること、および前記移行先コンピューティングデバイスは複数のコンピューティングデバイスを有することを特徴とする請求項１４に記載の方法。
【請求項２０】
前記移行元コンピューティングデバイスおよび前記移行先コンピューティングデバイスは異なるコンピューティングデバイスであることを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータソフトウェアの進歩についていきたいユーザは、自分のコンピューティングデバイスを絶えず「アップグレード」する必要がある。コンピューティングデバイスとしては、デスクトップおよびラップトップのパーソナルコンピュータ、携帯情報端末（ＰＤＡ）、セルラ電話などがあるが、これらに限定されるわけではない。コンピューティングデバイスは、本明細書では、総称的にコンピュータと称する。
【０００２】
アップグレードは、既存のプログラムへの「パッチ」の適用から、ソフトウェアプログラムの別のバージョンのインストール、または多くの場合、別のオペレーティングシステムのインストールまでの範囲にわたる。既存のシステムにパッチを適用するために、または別のバージョンのソフトウェアプログラムをインストールするために、ユーザは必ずしもそのコンピュータ全体の既存の「状態（ｓｔａｔｅ）」を移行する必要はない。ほとんどの場合、パッチまたは別のバージョンは、そのコンピュータ全体の既存の状態をそのコンピュータのコンピューティング環境の外の別のロケーションに移行することなく、各コンピュータで局所的に適用される。本明細書で使用されるコンピュータの「状態」とは、オペレーティングシステムのユーザ設定（ｕｓｅｒ  ｐｒｅｆｅｒｅｎｃｅ）、アプリケーションプログラム、ならびにオペレーティングシステムおよびアプリケーションプログラムに関連付けられたユーザ固有のデータなど、ユーザ固有のプログラムおよびデータを指すが、それらに限定されるわけではない。移行とは、ユーザのコンピュータの状態を、サーバハードドライブなど、リモートロケーションに移動することである。
【０００３】
別の、通常は新しいオペレーティングシステムをインストールするには、しばしば、インストール中にコンピュータの状態を移行する必要がある。移行は、しばしば、別のオペレーティングシステムがユーザの現行コンピュータにインストールされるのか、またはユーザの現行コンピュータとは別のコンピュータにインストールされるのかに関係なく必要である。より具体的には、ユーザが他の機能を実行したくない場合、例えば、ハードドライブを再分割したくないか、または既存のハードドライブを別のハードドライブと交換したくない場合、ユーザの現行コンピュータに別のオペレーティングシステムをインストールするためにユーザ状態の移行は必要ない。逆に、ユーザの現行コンピュータに別のオペレーティングシステムをインストールするときユーザが他の機能を実行したい場合、例えば、ハードドライブを再分割したい場合、別のオペレーティングシステムをインストールし、ハードドライブを再分割する前に、現行コンピュータのユーザ状態を移行する必要がある。別のオペレーティングシステムがインストールされて、ハードドライブが再分割された後、ユーザ状態を記憶ロケーションから検索して、そのコンピュータにダウンロードして戻すことができる。同様に、ユーザが、ユーザの現行コンピュータとは別のオペレーティングシステムがインストールされた新しいまたは置換えコンピュータを入手した場合、ユーザは、しばしば、ユーザの現行コンピュータの状態を新しいコンピュータにダウンロードする前に、ユーザの状態をリモートロケーションに移行する必要がある。これは、特に、あるユーザの現行コンピュータが、別のユーザのログオン時に使用可能にされる、異なる状態をそれぞれが有する他のユーザと共用されており、そのユーザが自分一人で使用するつもりである新しいコンピュータを受け取ろうとしている場合に当てはまる。
【０００４】
オペレーティングシステムの変更時にコンピュータの状態を移行することは、「言うは易し、行うは難し」である。ユーザ状態の移行には、しばしば、セキュリティの許可を含む複数のステップが必要になる。多くのユーザは、コンピュータに「精通」していないか、または移行プロセスのより詳しい詳細を知らないことによって不利になる。そのような不利な条件は、通常、システムもしくはネットワーク管理者または何らかの他のそのようなエンティティの専門知識を使用することによって迂回される。または、企業体（ｂｕｓｉｎｅｓｓ  ｅｎｔｉｔｙ）の場合には、ユーザが、サーバのファイル共用機能を使用することによってそのコンピュータ全体の状態を保存することにより、迂回される。サーバのファイル共用機能は、コンピューティングネットワーク内のユーザが、ファイルを記憶することができるサーバに共通にアクセスできるようにする。この機能は、コンピューティングネットワーク内のユーザが、そのユーザのコンピュータのハードドライブ上の記憶スペースを使い果たさずに他のユーザとファイルコンテンツを交換できるようにし、そのユーザのコンピュータを他のユーザがアクセスできるようにする。共用ファイルへの保存は高いレベルのコンピュータ知識を必要としないにもかかわらず、共用ファイルは、そのサーバのコンピューティングネットワーク内の全ユーザがアクセス可能である。したがって、共用ファイルのコンテンツは、それを行う権限のないユーザによって変更、読取り、書込みされる可能性がある。機密かつ秘密のコンテンツを共用ファイルに変換することは、現行のユーザ移行作業の重大な欠点である。第１の代替策、すなわち、システムもしくはネットワーク管理者または何らかの他のそのようなエンティティの専門知識を使用することは、それ自体の欠点がある。第１に、それは財政的に高価な代替策である。第２に、管理者が移行を行う前に必要な計画のために時間がかかる。時間の遅れは、「システムまたはネットワーク管理者」対「移行を必要とするユーザの数」の比が低い場合に複合的に発生する。
【０００５】
要するに、新しいまたは別のオペレーティングシステムを展開する際にコンピュータの状態を移行するために用いられる現行の手順は、財政的に高価かつ時間がかかる、または非安全なロケーションへのリスク移行である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
自動化された安全な方法で、移行元コンピュータ（ｓｏｕｒｃｅ  ｃｏｍｐｕｔｅｒ）からユーザ状態を移行して、移行先コンピュータ（ｄｅｓｔｉｎａｔｉｏｎ  ｃｏｍｐｕｔｅｒ）上でそれを復元するための方法およびシステムが開示されている。
【課題を解決するための手段】
【０００７】
この概要は、以下の「発明を実施するための最良の形態」でさらに説明される概念の中から選んだものを簡潔な形で紹介するためのものである。この概要は、特許請求の主題の主要な特徴を特定するものではなく、特許請求の主題の範囲を決定する補助として使用されるものでもない。
【０００８】
自動化された安全な方法で、移行元コンピュータからユーザ状態を移行して、移行先コンピュータ上でそれを復元するための方法およびシステムが開示されている。移行先コンピュータは、別のオペレーティングシステムを備えた移行元コンピュータと同じコンピュータであってもよいし、別のコンピュータにすることもできる。この移行は、ネットワークもしくはシステム管理者または何らかの他のそのようなエンティティの援助を必要としないように設計されている。１つの例示的な実施形態によると、システム、例えば、サーバ管理システム（ＳＭＳ）が、移行先コンピュータ上でユーザの状態が復元されるまでユーザ状態を記憶する状態移行ポイント（Ｓｔａｔｅ  Ｍｉｇｒａｔｉｏｎ  Ｐｏｉｎｔ）（ＳＭＰ）にユーザ状態が安全に伝送されるように、確実に安全な方法で移行が行われるようにする。望むなら、ＳＭＰに記憶された状態は、所定の期間後に自動的に削除されることもできる。記憶された状態を自動的に削除することにより、ＳＭＰは、その容量を絶えず増加させることなく、他の状態が使用できる空きスペースを確実に有することになる。ユーザの状態は、通常、記憶されている状態の削除前に移行先コンピュータ上で復元されることを理解されたい。
【０００９】
別の例示的な実施形態によると、システムは、ネットワークの移行の負荷に応じて、状態を移行するためのＳＭＰを２つ以上備える。さらに別の例示的な実施形態によると、システムは、複数のコンピュータの状態を同時に復元することができる。
【００１０】
前述の態様および多くの本発明の付随的な利点は、添付の図面と共に以下の詳細な説明を参照することによってよりよく理解されたとき、より容易に理解されるであろう。
【発明を実施するための最良の形態】
【００１１】
以下の説明において、本発明の例示的な実施形態をより徹底的に説明するために、多くの具体的な詳細が記載されている。しかし、当業者には、本発明は、これらの具体的な詳細がなくても実施できることは明らかであろう。他の場合には、本発明を不明瞭にしないように、周知の特徴は詳しく説明されていない。
【００１２】
図１は、例示的なシステム１００、および共通パーソナルコンピュータ１０８の３人のユーザ（Ｊｏｈｎ、ＪａｎｅおよびＴｉｍとして識別されている）のそれぞれの状態が３台の個別のパーソナルコンピュータ１１２、１１３、および１１４に移行されるときに実行されるアクションの絵図である。以下でより詳しく説明しているとおり、システムは状態移行ポイント（ＳＭＰ）を用いる。本明細書で用いられるＳＭＰとは、ユーザのコンピュータの再構築、置換えまたはアップグレード中にユーザの状態を記憶するのに適した、サーバ内のロケーションである。
【００１３】
図１に戻ると、各ユーザ状態が共通パーソナルコンピュータ１０８から各ユーザの個別のパーソナルコンピュータに移行される。より具体的には、Ｊｏｈｎのユーザ状態が共通パーソナルコンピュータ１０８からＪｏｈｎのパーソナルコンピュータ１１２（ＰＣ−Ｊｏｈｎ）に、Ｊａｎｅのユーザ状態が共通パーソナルコンピュータ１０８からＪａｎｅのパーソナルコンピュータ１１３（ＰＣ−Ｊａｎｅ）に、そしてＴｉｍのユーザ状態が共通パーソナルコンピュータ１０８からＴｉｍのパーソナルコンピュータ１１４（ＰＣ−Ｔｉｍ）に移行される。図１は、共通パーソナルコンピュータ１０８の３人のユーザ全員の状態の移行中に実行される初期アクション（Ａｌ、Ａ２およびＡ３）およびＪｏｈｎのみのユーザ状態を共通パーソナルコンピュータ１０８からＰＣ−Ｊｏｈｎ  １１２に取得（Ｃ１〜Ｃ５）および復元（Ｒ１からＲ５）するときに実行されるアクションを示している。ＪａｎｅおよびＴｉｍのユーザ状態も同様の方法で取得および復元されることが理解されよう。ユーザ状態を取得および復元するＳＭＰのプールのセットアップを含めて、状態移行アクションならびに取得および復元アクションは、図１に示され、本明細書で説明されている単一の、３人のユーザのコンピュータを３台の個別のコンピュータに置き換える代わりに、単一のユーザコンピュータを１人または複数のユーザ用にアップグレード、再構築する、または置き換えるときも同様であることを理解されたい。説明されているプロセスはユーザが３人より多くても、少なくても同様の方法で適用できるので、３人のユーザは例示であり、限定するものではないと解釈すべきであることもさらに理解されたい。
【００１４】
初期アクションＡｌ、Ａ２およびＡ３は、状態移行ポイント（ＳＭＰＡ、ＳＭＰＢおよびＳＭＰＣ）のプールを、ユーザコンピュータの状態を取得および復元するようにセットアップするときに実行されるアクションである。Ａ１において、サーバ１０３を使用するサーバ管理システム（ＳＭＳ）管理者１０２が共通パーソナルコンピュータ１０８の３人のユーザに関して次の３つのコンピュータ関連付け、すなわち、（１）共通パーソナルコンピュータ１０８、ＰＣ−Ｊｏｈｎ  １１２およびユーザＪｏｈｎを表すＪｏｈｎ、（２）共通パーソナルコンピュータ１０８、ＰＣ−Ｊａｎｅ  １１３およびユーザＪａｎｅを表すＪａｎｅ、ならびに（３）共通パーソナルコンピュータ１０８、ＰＣ−Ｔｉｍ  １１４およびユーザＴｉｍを表すＴｉｍを作成する。すなわち、ユーザＪｏｈｎは共通パーソナルコンピュータ１０８およびＰＣ−Ｊｏｈｎ  １１２の識別情報に関連付けられ、ユーザＪａｎｅは共通パーソナルコンピュータ１０８およびＰＣ−Ｊａｎｅ  １１３の識別情報に関連付けられ、ユーザＴｉｍは、共通パーソナルコンピュータ１０８およびＰＣ−Ｔｉｍ  １１４の識別情報に関連付けられる。
【００１５】
管理者１０２は、また、共通パーソナルコンピュータ１０８に「作成およびターゲット取得」タスク（アクションＣ１）を割り当て、ＰＣ−Ｊｏｈｎ  １１２、ＰＣ−Ｊａｎｅ  １１３およびＰＣ−Ｔｉｍ  １１４に「作成およびターゲット取得」タスク（アクションＲ１）を割り当てる。より具体的には、管理者は、共通パーソナルコンピュータ１０８に組み込まれたソフトウェアモジュールにＣ１を割り当て、ＰＣ−Ｊｏｈｎ、ＰＣ−ＪａｎｅおよびＰＣ−Ｔｉｍに組み込まれたソフトウェアモジュールにＲ１を割り当てる。
【００１６】
Ａ２において、管理者によってクッキーが作成され、そのクッキーが、Ａ１で作成された３つのコンピュータ関連付けと一緒にＳＭＳデータベース１０４に記憶される。１つの例示的実施形態によると、この関連付けには、コンピュータのＭＡＣアドレスが含まれる。Ａ３において、Ａ２で作成されて記憶されたクッキーおよび関連付けが複数の管理ポイント（ＭＰ）ＭＰＡ  １０５、ＭＰＢ  １０６、ＭＰＣ  １０７・・・に複製される。そのうちの３つが図１に示されている。本明細書で使用された場合、管理ポイント（ＭＰ）とは、ＳＭＰと同様に、データベースのロケーションである。ＳＭＰはコンピュータのユーザ状態を取得および復元するが、ＭＰは、ＳＭＳ管理者によって作成されたクッキーおよびコンピュータ関連付けの複製を記憶する。ＭＰは、ユーザとＳＭＳとの間の連絡用ロケーションであり、ユーザは、そこから、ＳＭＳ管理者によって作成されたクッキーおよび関連付けならびに使用可能なＳＭＰのリストを入手する。タスクがＳＭＰ管理者によって作成されたクッキーおよびコンピュータ関連付けの複製を記憶することを含むサーバは、タスクがユーザのコンピュータの再構築、置換えまたはアップグレード中にユーザの状態を保持することを含むのと同じサーバであることができることを理解されたい。言い換えれば、ＭＰサーバは、状況に応じてＳＭＰサーバであることができる（逆も可）。ＳＭＰおよびＭＰの機能は、本発明の実施形態の使用環境に応じて、単一または複数のサーバによって実行できることも理解されたい。
【００１７】
図１に戻ると、Ｃ１〜Ｃ５は、共通パーソナルコンピュータ１０８からユーザＪｏｈｎの状態を取得して、その状態をＳＭＰＢ  １１０に記憶するために実行されるアクションである。Ｃ１において、取得タスクは、共通パーソナルコンピュータ１０８で実行を開始する。Ｃ２において、共通パーソナルコンピュータ１０８は、ＭＰＣ  １０７と通信して、Ａ１で作成されたＪｏｈｎ用マシン関連付けを検索する。稼働時、移行を必要とするコンピュータは、管理ポイントのプールをランダムにポーリングして、ＳＭＳデータベース１０４の中で、そのコンピュータ用に作成された関連付けを検索する。したがって、共通パーソナルコンピュータ１０８は、ＭＰＣ  １０７からその関連付けを検索する前に、ＭＰＡ  １０５および／またはＭＰＢ  １０６とランダムに通信できたはずである。単純にするために、これらの可能性は図１に示されていない。Ｃ３において、共通パーソナルコンピュータ１０８は、ＳＭＰＡ  １０９をランダムにポーリングする、すなわち、ＳＭＰＡに取得要求を送信するが、それは拒否されている（矢印にＮＡＣＫと印されている）。以下で説明するように、取得要求が拒否される理由はいくつかあって、移行ポイントがその取り扱い可能なコンピュータの最大数に達した、または移行ポイントに、要求しているコンピュータの状態全体を記憶するだけの十分なスペースがない、などの理由がある。Ｃ４において、共通パーソナルコンピュータ１０８はＳＭＰＢ  １１０をポーリングし、すなわち、ＳＭＰＢに取得要求を送信し、その要求は受け入れられる。ＳＭＰＢ  １０２は、共通パーソナルコンピュータ１０８によって提供されるユーザ状態を記憶するためのセキュアディレクトリを作成する。共通パーソナルコンピュータはＳＭＰＢに、Ａ２で作成されたクッキーおよびＡ１で作成された関連付けを提供する。ＳＭＰＢは、３人のユーザ全員、すなわち、Ｊｏｈｎ、ＪａｎｅおよびＴｉｍのユーザ状態をセキュアディレクトリに記憶する。１つの例示的な実施形態によると、ＳＭＰＢは、Ａ１で作成された関連付けおよびユーザ状態をセキュアディレクトリ内で互いに分離して記憶する。Ｃ５において、ＳＭＰＢは、共通パーソナルコンピュータの３人のユーザ全員の状態を記憶するためのファイル、例えば、Ｓｔａｔｅ．ｃａｂ、ならびに取得されたユーザ状態および取得されたユーザ状態の復元状況を記録するためのファイル、例えば、Ｄｏｎｅ．ｄａｔを作成する。
【００１８】
Ｒ１からＲ５は、ユーザＪｏｈの状態をＳＭＰＢからＰＣ−Ｊｏｈｎ  １１２に復元するときに実行されるアクションである。Ｒ１において、復元タスクは、ＰＣ−Ｊｏｈｎで実行を開始する。Ｒ２において、ＰＣ−Ｊｏｈｎは、ＭＰＢ  １０６と通信して、Ａ１で作成された共通パーソナルコンピュータ／ＰＣ−Ｊｏｈｎ／Ｊｏｈｎ関連付けを検索する。前に説明されているように、単純にするために、ＰＣ−ＪｏｈｎとＭＰＡ  １０５および／またはＭＰＣ  １０７との通信は行われたかもしれないが、示されていない。Ｒ３において、ＰＣ−Ｊｏｈｎ  １１２は、ＳＭＰＣ  １１１をランダムにポーリングして復元要求を実行しようとするが、それは拒否されている（矢印にＮＡＣＫと印されている）。以下で説明されるように、ＰＣ−Ｊｏｈｎは、プール内のＳＭＰのどれがＰＣ−Ｊｏｈｎの取得された状態を記憶しているかを知らないので、ＰＣ−Ｊｏｈｎは、ＰＣ−Ｊｏｈｎの取得された状態を記憶しているＳＭＰを見つけるまで、ＳＭＰのプールをランダムにポーリングしなければならない。Ｒ４において、ＰＣ−Ｊｏｈｎは、ＳＭＰＢ  １１０をポーリングして復元要求を実行しようとして、ＳＭＰＢ  １１０はＰＣ−Ｊｏｈｎの取得状態を記憶しているので、その要求は受け入れられる。ＳＭＰＢ  １１０は、Ｊｏｈｎのユーザ状態をＰＣ−Ｊｏｈｎ内で復元して、Ｒ５において、ＳＭＰＢ  １１０のデータベースがＰＣ−Ｊｏｈｎの復元完了状況を反映するように更新され、ユーザ状態を復元しなければならない残りのコンピュータ（残っている場合）の合計カウントが１だけ減分される。
【００１９】
前述の説明から容易に理解されようが、図１に示された例において、共通パーソナルコンピュータ１０８に記憶されている移行ソフトウェアは、ＳＭＳサーバ１０３にアップグレード、再構築または置換えの意図について照会する。ＳＭＳサーバ１０３は、共通パーソナルコンピュータに（１つ以上のＭＰを介して）ネットワークレイアウト、会社のインフラストラクチャ、または図８、図９および図１０について以下で説明される他の要因に応じて使用可能な状態管理ポイント（ＳＭＰ）のリストを提供する。ＳＭＰが１つだけリストされている場合、共通パーソナルコンピュータ１０８は、スペースが使用可能になったことを示す応答を受信するまで、そのＳＭＰに照会する。２つ以上のＳＭＰがリストされている場合で、共通パーソナルコンピュータ１０８が照会した第１のＳＭＰが使用可能なスペースを有していない場合、共通パーソナルコンピュータは、ラウンドロビン方式でリスト上の次のＳＭＰに照会する。共通パーソナルコンピュータは、スペースが見つかるか、またはすべてのＳＭＰが照会され終わるまで、それらのＳＭＰのすべてに照会する。共通パーソナルコンピュータがリスト内の全ＳＭＰの照会をし終わった後、照会プロセスを再開する前に、所定の時間のタイムアウトになる可能性がある。
【００２０】
ＳＭＰが共通パーソナルコンピュータにスペースを付与すると、ＳＭＰは、そのコンピュータ用のセキュアディレクトリを作成する。次いで、そのＳＭＰは、共通パーソナルコンピュータ１０８を識別する情報を入手して、その情報をデータベースに記憶し、データベース内のそのエントリを、作成されたディレクトリに関連付けて、作成されたディレクトリの許可を共通パーソナルコンピュータ用のＷＲＩＴＥ  ＯＮＬＹ（書込み専用）に変更する。コンピュータがアップグレードまたは再構築される場合、そのコンピュータのＭＡＣアドレスは、データベースに記憶される識別情報の１つの要素である。また、アップグレードまたは再構築されるコンピュータの場合も、共通パーソナルコンピュータは、スペースを付与したか、またはスペースを見つけたＳＭＰにタグを付ける。共通パーソナルコンピュータが１つ以上の新しいコンピュータに置き換えられる場合、共通パーソナルコンピュータのＭＡＣアドレス、およびそのアドレスと新しいコンピュータ（１つまたは複数）のＭＡＣアドレス（１つまたは複数）との関連付け（これは、移行要求の前に知られている必要がある）が、データベースに記憶されている関連付け識別情報の中に組み込まれる。言い換えれば、対応するアップグレード、再構築または置換えを受けるコンピュータ（１つまたは複数）のＭＡＣアドレスを関連付けるためにアップグレード、再構築または置換えを受ける共通パーソナルコンピュータのＭＡＣアドレスが使用されるので、共通パーソナルコンピュータの状態の移行は、関連付けが一致する場合、対応するアップグレード、再構築または置換えを受けるコンピュータ（１つまたは複数）でのみ完了できる。次に、共通パーソナルコンピュータはその状態をセキュアディレクトリに書き込む。共通パーソナルコンピュータがセキュアディレクトリにその状態の書込みを終了した後、共通パーソナルコンピュータは、ＳＭＰに、そのディレクトリへの書込みが完了したことを伝える。すると、ＳＭＰは、ディレクトリの許可をＷＲＩＴＥ  ＯＮＬＹ（書込み専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。
【００２１】
共通パーソナルコンピュータ１０８がアップグレード、再構築され、または置き換えられて、状態の移行の準備が整うと、アップグレード、再構築または置換えを受けるコンピュータはセキュアディレクトリから状態データを移行する。再構築またはアップグレードされた共通パーソナルコンピュータの場合、そのコンピュータはＳＭＳサーバ１０３にすでに知られているし、共通パーソナルコンピュータは、そのコンピュータの以前の状態を保持しているＳＭＰにタグを付けた（識別した）ので、共通パーソナルコンピュータは、どのＳＭＰが以前の状態を記憶しているかを知っており、したがって、以下で説明するように、ＳＭＰがコンピュータの状態を移行する準備が整うまで、そのＳＭＰにのみ照会する。
【００２２】
ＳＭＰが状態移行の準備が整うと、ＳＭＰは、状態移行を要求している再構築されたか、またはアップグレードされたコンピュータを認証し、ディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。１つの例示的な実施形態によると、要求側コンピュータのＭＡＣアドレスが、データベースに記憶されているＭＡＣアドレスと比較される。上述のように、それらのＭＡＣアドレスが同じである場合、再構築されたか、またはアップグレードされたコンピュータは、そのコンピュータの記憶された状態を移行する許可が与えられる。そうでない場合、許可は拒否される。
【００２３】
置き換えられたか、または新しいコンピュータは、置換えを受けるコンピュータの状態をどのＳＭＰが記憶しているかを知らないので、置き換えられたか、または新しいコンピュータは、すべての使用可能なＳＭＰにランダムに照会しなければならない。移行を扱っているＳＭＰは、置き換えられたコンピュータを認証し、ディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。１つの例示的な実施形態によると、要求側コンピュータのＭＡＣアドレスが、データベース内のＭＡＣアドレスと比較される。上述のように、要求側のコンピュータのＭＡＣアドレスが、状態がデータベースに保存されている以前の共通パーソナルコンピュータに関連付けられたＭＡＣアドレスと一致する場合、ＳＭＰは、置き換えられたコンピュータに、そのコンピュータの以前の状態を移行する許可を与える。そうでない場合、許可は拒否される。
【００２４】
以前の状態移行が完了した後、置換え、アップグレードまたは置換えを受けるコンピュータはその旨をＳＭＰに通知する。次いで、ＳＭＰは、セキュアディレクトリの許可をＲＥＡＤ  ＯＮＬＹ（読取り専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。ＳＭＰは、セキュアディレクトリに記憶されているコンピュータの状態を、移行プロセス後の所定の長さの時間後に削除する。この状態は、所定の長さの時間の間、ＳＭＰの中に保持され、アップグレード、再構築または置換えを受けるコンピュータが期待どおりに応答しない場合、アップグレード、再構築または置換えを受けるコンピュータのユーザが、以前の状態の一部または全部を検索できるようにしている。状態は、所定の長さの時間の後、削除され、それぞれのコンピュータの状態を移行したい他のユーザのためにＳＭＰ上のスペースが解放される。
【００２５】
図２は、アップグレード、再構築または置換えを受けるコンピュータのユーザ状態がＳＭＰに移行される場合の例示的なシナリオ２００を示す機能の流れ図である。すなわち、この流れ図は、データがＳＭＰに安全に記憶されたところで終了する。ブロック２０１において、アップグレード、再構築または置換えを受けるコンピュータ上の移行ソフトウェアがＳＭＳサーバ１０３に連絡する。ブロック２０２において、そのＳＭＳサーバは、使用可能なＳＭＰのリストを１つ以上のＭＰに提供する。ブロック２０３において、ＭＰが、使用可能なＳＭＰのリストをアップグレード、再構築または置換えを受けるコンピュータに提供する。  次に、ブロック２０４において、アップグレード、再構築または置換えを受けるコンピュータがリスト上の１つのＳＭＰに照会して、そのＳＭＰが使用可能な記憶スペースを有しているかを判定しようとする。次に、判定ブロック２０５において、このコンピュータによる照会が認可されるかを判定するテストが行われる。照会が認可されない場合、ブロック２０６において、リストにＳＭＰが残っているかを判定する検査が行われる。リストにＳＭＰが残っている場合（「Ｙｅｓ」分岐）、ブロック２０７において、アップグレード、再構築または置換えを受けるコンピュータはリスト上の次のＳＭＰに照会し、流れはブロック２０５に戻る。リストにＳＭＰが残っていない場合、ＳＭＳ管理者１０２にレポートが送信され、このＳＭＳ管理者は、ブロック２０８において、リストにさらなるＳＭＰを追加できるかを判定する検査を行う。リストに１つ以上のＳＭＰを追加できる場合、ブロック２０９において、１つ以上のＭＰ上で、使用可能なＳＭＰのリストに１つ以上のＳＭＰが動的に追加される。次に、ブロック２１０において、ＳＭＳサーバ１０３は、アップグレード、再構築または置換えを受ける、ＳＭＳサーバと連絡するために待機中のコンピュータ用に、使用可能なＳＭＰのリストを更新し、流れはブロック２０４に戻る。２０８において、管理者が、使用可能なＳＭＰのリストに１つ以上のＳＭＰを追加できないと判定すると、ブロック２１１において、アップグレード、再構築または置換えを受けるコンピュータはタイムアウトする。すなわち、所定の期間、別の照会を遅らせる。
【００２６】
ブロック２０５に戻ると、照会が認可された場合（「Ｙｅｓ」分岐）、ブロック２１２において、ＳＭＰが、アップグレード、再構築または置換えを受けるコンピュータ用のセキュアディレクトリを作成する。次に、ブロック２１３において、ＳＭＳサーバが、アップグレード、再構築または置換えを受けるコンピュータの識別情報をデータベースに書き込み、データベース内のエントリを、ブロック２１２で作成されたディレクトリに関連付けて、ＳＭＰがそのディレクトリの許可をＷＲＩＴＥ  ＯＮＬＹ（書込み専用）に変更する。次に、ブロック２１４において、アップグレード、再構築または置換えを受けるコンピュータがその状態データをセキュアディレクトリに書き込む。次いで、ブロック２１５において、アップグレード、再構築または置換えを受けるコンピュータがそのディレクトリへの書込みを終了したかを判定する検査が行われる。ディレクトリの書込みが終了していない場合（「Ｎｏ」分岐）、アップグレード、再構築または置換えを受けるコンピュータがそのディレクトリへの書込みを終了するまで、ブロック２１４が繰り返される。アップグレード、再構築または置換えを受けるコンピュータがそのディレクトリへの書込みを終了した後（「Ｙｅｓ」分岐）、ブロック２１６において、ＳＭＰが、ディレクトリ書込みが終了したことをそのコンピュータによって通知される。最終的に、ブロック２１７において、ＳＭＰがディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。
【００２７】
図３は、再構築またはアップグレードされたコンピュータが、ＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオ３００を示す機能の流れ図である。すなわち、このシナリオでは、コンピュータが再構築またはアップグレードされた後、ユーザの状態が同じコンピュータに戻される。再構築またはアップグレードされたコンピュータは、どのＳＭＰがそのコンピュータの状態を保有しているかを知っているので、ブロック３０１において、再構築またはアップグレードされたコンピュータは、そのＳＭＰに照会する。ブロック３０２において、そのＳＭＰが、再構築またはアップグレードコンピュータを認証する。上述したように、再構築またはアップグレードされたコンピュータを認証する方法の１つは、図２のブロック２１３で記憶されたクッキーに組み込まれている、そのコンピュータのＭＡＣアドレスを検査することである。ブロック３０３において、ＳＭＰは、再構築またはアップグレードされたコンピュータが正当なものであるかを検査する。再構築またはアップグレードされたコンピュータが正当なものでない場合、ブロック３０４において、アクセスは拒否される。一方、再構築またはアップグレードされたコンピュータが正当なものである場合、ブロック３０５において、ＳＭＰは、図２のブロック２１１で作成されたセキュアディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。ブロック３０６において、再構築またはアップグレードされたコンピュータは、セキュアディレクトリに記憶されている状態を移行する。ブロック３０７において、状態の移行が終了したかを判定する検査が行われる。終了していない場合、状態の移行が続行される。状態の移行が終了すると、ブロック３０８において、再構築またはアップグレードされたコンピュータはその旨をＳＭＰに通知する。次に、ブロック３０９において、ＳＭＰは、ディレクトリの許可をＲＥＡＤ  ＯＮＬＹ（読取り専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。最終的に、ブロック３１０において、ＳＭＰはフェードアウトタイマを始動し、その結果、所定の時間の終わりに、再構築またはアップグレードコンピュータ用に作成されたセキュアディレクトリが削除される。ブロック３１０は、そのＳＭＰ内の、他のコンピュータが状態の移行を実行するための記憶スペースを解放するために必要である。状態の移行が行われた後、ＳＭＰ上にそのディレクトリが保持される所定の時間は、ネットワーク管理者１０２によって設定されたポリシーによって異なる。上述のように、状態の移行後、特定の期間にわたってディレクトリを保持することは有益である。再構築またはアップグレードされたコンピュータは、そのディレクトリに記憶されているデータの全部または一部の検索が必要になるだろう不測の問題が発生する可能性があるからである。上述のとおり、所定の長さの時間の終わりに、記憶されていた状態を削除すると、ＳＭＰ記憶スペースが解放されて、他のユーザがそれを状態の移行のために使用することができる。
【００２８】
図４は、新しいコンピュータなどの置換えコンピュータが、ＳＭＰに安全に記憶されている状態にリセットされる場合の例示的なシナリオ４００を示す機能の流れ図である。ブロック４０１において、置換えコンピュータからの照会に応答して、ＳＭＳは、ＭＰを介してそのコンピュータに、使用可能なＳＭＰのリストを供給する。ブロック４０２において、そのコンピュータは１つのＳＭＰに照会して、そのＳＭＰは状態情報を記憶しているかを判定しようとする。ブロック４０３において、照会への応答の検査が行われる。ＳＭＰが状態情報を記憶していない場合（「Ｎｏ」分岐）、ブロック４０４において、そのコンピュータは、リストの次のＳＭＰに照会するか、またはリストにＳＭＰが１つしかない場合、エラーレポートが生成される。ブロック４０３で照会されたＳＭＰが以前の状態情報を有していることが判明すると（「Ｙｅｓ」分岐）、ブロック４０５において、ＳＭＰは、置換えコンピュータを認証しようとする。次に、ブロック４０６において、ＳＭＰによって、置換えコンピュータが認証されているかを調べる検査が行われる。置換えコンピュータを認証する方法の１つは、そのコンピュータのＭＡＣアドレスを、ユーザまたはＳＭＳ管理者によって入力された記憶済みＭＡＣアドレスと比較することによる。置換えコンピュータがブロック４０６で認証されない場合（「Ｎｏ」分岐）、ブロック４０７において、アクセスは拒否される。置換えコンピュータが認証された場合（「Ｙｅｓ」分岐）、ブロック４０８において、ＳＭＰは、図２のブロック２１２で作成されたセキュアディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。次に、ブロック４０９において、置換えコンピュータは、セキュアディレクトリから状態情報を移行する。次いで、ブロック４１０において、状態の移行が終了したかを調べる検査が行われる。状態の移行が終了していない場合（「Ｎｏ」分岐）、状態の移行が続行される。状態の移行が終了すると（「Ｙｅｓ」分岐）、ブロック４１１において、ＳＭＰは、置換えコンピュータによって、状態の移行が終了したことを通知される。ブロック４１２において、ＳＭＰは、ディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。最終的に、ブロック４１３において、ＳＭＰはフェードアウトタイマを始動し、その結果、所定の時間の終わりに、図３のブロック３１０に関する上述の理由で、セキュアディレクトリが削除される。
【００２９】
図５は、コンピュータの１人以上のユーザの状態がＳＭＰに移行される場合の例示的なシナリオ５００を示す機能の流れ図である。例えば、図１で概略が示され、上記で説明されているように、共通パーソナルコンピュータの多くのユーザが個別のユーザコンピュータに移行することがある。個々のユーザコンピュータは、アップグレードされたか、再構築されたか、または置き換えられたコンピュータであってよい。別の例では、共通パーソナルコンピュータの３人のユーザのうちの２人が、２人で共用しようとしているコンピュータに移行し、３番目のユーザは、将来はそのユーザだけが使用するコンピュータに移行することもあるだろう。図５は、状態データが共通コンピュータから転送され、記憶されるポイント、すなわち、ＳＭＰまでのシナリオを示している。
【００３０】
ブロック５０１において、共通コンピュータ上の移行ソフトウェアがＳＭＳサーバに移行の希望を通知する。ブロック５０２において、ＳＭＳサーバ１０３は、使用可能なＳＭＰのリストを１つ以上のＭＰに提供する。ブロック５０３において、ＭＰが、使用可能なＳＭＰのリストを共通コンピュータに提供する。ブロック５０４において、共通コンピュータがリスト上の１つのＳＭＰに照会して、そのＳＭＰは状態移行記憶スペースを有しているかを判定しようとする。ブロック５０５において、この照会への応答の検査が行われる。照会が認可されない場合、すなわち、照会されたＳＭＰが状態移行記憶スペースを有していない場合（「Ｎｏ」分岐）、ブロック５０６において、リストにＳＭＰが残っているかを判定する検査が行われる。リストにＳＭＰが残っている場合（「Ｙｅｓ」分岐）、ブロック５０７において、共通コンピュータはリスト上の次のＳＭＰにスペースを照会して、そのＳＭＰは状態移行記憶スペースを有しているかを判定しようとする。次いで、流れはブロック５０５に戻る。リストにＳＭＰが残っていない場合、ＳＭＳ管理者１０２にレポートが送信され、このＳＭＳ管理者は、ブロック５０８において、リストにさらなるＳＭＰを追加できるかを判定する検査を行う。リストに１つ以上のＳＭＰを追加できる場合、ブロック５０９において、使用可能なＳＭＰのリストに１つ以上のＳＭＰが動的に追加される。次に、ブロック５１０において、ＳＭＳサーバ１０３は、ＳＭＳサーバと連絡するために待機中の共通コンピュータ用に、使用可能なＳＭＰのリストを更新し、流れはブロック５０４に戻る。ブロック５０８において、ＳＭＳ管理者が、使用可能なＳＭＰのリストに１つ以上のＳＭＰを追加できないと判定すると、ブロック５１１において、共通コンピュータはタイムアウトする。すなわち、所定の期間、別の照会を遅らせる。
【００３１】
ブロック５０５に戻ると、照会が認可された場合（「Ｙｅｓ」分岐）、ブロック５１２において、ＳＭＰが共通コンピュータ用のセキュアディレクトリを作成し、共通コンピュータが、共通コンピュータの各ユーザの状態を他のユーザとは分離してセキュアディレクトリに記憶する。ブロック５１３において、ＳＭＳサーバが、共通コンピュータを識別する情報をデータベースに記憶し、データベース内のエントリを、ブロック５１２で作成されたセキュアディレクトリに関連付けて、ＳＭＰがそのディレクトリの許可をＷＲＩＴＥ  ＯＮＬＹ（書込み専用）に変更する。ブロック５１４において、共通コンピュータが共通コンピュータの状態をセキュアディレクトリに書き込む。次いで、ブロック５１５において、共通コンピュータがそのディレクトリへの書込みを終了したかを判定する検査が行われる。ディレクトリの書込みが終了していない場合（「Ｎｏ」分岐）、共通コンピュータがそのディレクトリへの書込みを終了するまで、ブロック５１４が繰り返される。共通コンピュータがそのディレクトリへの書込みを終了した後（「Ｙｅｓ」分岐）、ブロック５１６において、ＳＭＰが、ディレクトリ書込みが終了したことをそのコンピュータによって通知される。最終的に、ブロック５１７において、ＳＭＰがディレクトリの許可をＷＲＩＴＥ  ＯＮＬＹ（書込み専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。
【００３２】
図６は、多数のユーザがいる再構築またはアップグレードされたコンピュータが、各ユーザ用にＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオ６００を示す機能の流れ図である。前の図５を参照されたい。ブロック６０１において、前に説明したように、再構築またはアップグレードされたコンピュータはどのＳＭＰがこの状態情報を記憶しているかを知っているので、再構築またはアップグレードされたコンピュータは、そのＳＭＰに照会する。ブロック６０２において、そのＳＭＰがこのコンピュータを認証する。前に説明したように、このコンピュータを認証する方法の１つは、図５のブロック５１２で記憶されたコンピュータ識別情報に組み込まれているＭＡＣアドレスを、再構築またはアップグレードされたコンピュータのＭＡＣアドレスと比較することである。ブロック６０３において、ＳＭＰによって、再構築またはアップグレードされたコンピュータが認証されたかを判定する検査が行われる。このコンピュータが認証されなかった場合、ブロック６０４において、アクセスは拒否される。一方、再構築またはアップグレードされたコンピュータが認証された場合、ブロック６０５において、ＳＭＰは、図５のブロック５１１で作成されたセキュアディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。ブロック６０６において、このコンピュータのユーザの１人の状態がセキュアディレクトリから移行される。ブロック６０７において、移行が終了したかを判定する検査が行われる。移行が終了していない場合、移行が続行される。移行が終了すると、ブロック６０８において、ＳＭＰは状態情報からユーザ参照を減分し、データベースを更新する。ブロック６０９において、ＳＭＰは、ディレクトリの許可をＲＥＡＤ  ＯＮＬＹ（読取り専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。ブロック６１０において、ＳＭＰによって、移行すべきユーザ状態が残っているかを判定する検査が行われる。移行すべき状態のユーザが残っている場合（「Ｙｅｓ」分岐）、ブロック６１１において、ＳＭＰは、ディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更して、流れはブロック６０６に戻って循環する。一方、移行すべき状態のユーザが残っていない場合（「Ｎｏ」分岐）、ブロック６１２において、ＳＭＰはフェードアウトタイマを始動し、その結果、所定の時間の終わりにセキュアディレクトリが削除される。ブロック３１０（図３）およびブロック４１３（図４）について上述したように、ブロック６１３は、そのＳＭＰ内の、状態の移行を実行したい他のユーザのために記憶スペースを解放するために必要である。上述のように、コンピュータが状態の移行を終了した後、ＳＭＰ上にそのディレクトリが保持される所定の時間の長さは、ＳＭＳ管理者１０２によって設定されたポリシーによって異なる。
【００３３】
図７は、多数のユーザがいる新しいコンピュータなどの置換えコンピュータが、各ユーザ用にＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオ７００を示す機能の流れ図である。前の図５を参照されたい。ブロック７０１において、置換えコンピュータ上の、ＳＭＳサーバに連絡する移行ソフトウェアに応答して、ＳＭＳサーバは、状態情報が以前に記憶された可能性のあるＳＭＰのリストを置換えコンピュータに提供する。ブロック７０２において、置換えコンピュータはランダムに１つのＳＭＰに照会して、そのＳＭＰは置換えコンピュータの状態情報を記憶しているかを判定しようとする。ブロック７０３において、照会の応答の検査が行われる。すなわち、そのＳＭＰはその状態情報を記憶しているかを調べる検査が行われる。そのＳＭＰが置換えコンピュータの状態情報を記憶していない場合（「Ｎｏ」分岐）、ブロック７０４において、置換えコンピュータはリスト上の次のＳＭＰに照会するか、またはリストにＳＭＰが１つしかない場合、所定の長さの時間のタイムアウトになる。一方、ブロック７０３で照会されたＳＭＰが、置換えコンピュータで求められている状態情報を記憶している場合（「Ｙｅｓ」分岐）、ブロック７０５において、そのＳＭＰは置換えコンピュータを認証しようとする。ブロック７０６において、ＳＭＰによって、置換えコンピュータが認証されているかを調べる検査が行われる。前に説明したように、コンピュータを認証する方法の１つは、そのコンピュータのＭＡＣアドレスを、正しいコンピュータを識別する記憶済みＭＡＣアドレスと比較することによる。置換えコンピュータがブロック７０６で認証されない場合（「Ｎｏ」分岐）、ブロック７０７において、そのコンピュータへのアクセスは拒否される。一方、置換えコンピュータが認証された場合（「Ｙｅｓ」分岐）、ブロック７０８において、ＳＭＰは、図５のブロック５０６で作成されたセキュアディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更する。ブロック７０９において、置き換えられたコンピュータのユーザの状態がセキュアディレクトリから移行される。次に、ブロック７１０において、移行が終了したかを判定する検査が行われる。移行が終了していない場合（「Ｎｏ」分岐）、流れはブロック７０９に循環し、移行が続行される。ユーザの状態の移行が終了すると（「Ｙｅｓ」分岐）、ブロック７１１において、ＳＭＰはユーザ状態参照を減分し、データベースを更新する。ブロック７１２において、ＳＭＰは、ディレクトリの許可をＲＥＡＤ  ＯＮＬＹ（読取り専用）からＮＯ  ＡＣＣＥＳＳ（アクセス不可）に変更する。ブロック７１３において、ＳＭＰによって、移行すべきユーザ状態が残っているかを判定する検査が行われる。残っている場合（「Ｙｅｓ」分岐）、ブロック７１４において、ＳＭＰは、ディレクトリの許可をＮＯ  ＡＣＣＥＳＳ（アクセス不可）からＲＥＡＤ  ＯＮＬＹ（読取り専用）に変更して、流れはブロック７０９に戻る。一方、移行すべき状態のユーザが残っていない場合（「Ｎｏ」分岐）、ブロック７１５において、ＳＭＰはフェードアウトタイマを始動し、それにより、所定の時間の終わりにセキュアディレクトリが削除される。上述のように、ブロック７１６は、状態の移行のために他のユーザが使用できるようにＳＭＰスペースを解放するために必要である。
【００３４】
図８は、ＳＭＰが、ＳＭＰ上で使用可能な量の記憶スペースにいかにして最大数のコンピュータ状態を記憶するかの例示的な方法を示す機能の流れ図である。ブロック８００において、ＳＭＳによってＳＭＰが作成される。作成されたＳＭＰは、コンピュータ状態情報を記憶するために使用可能なスペースの最大量に基づく合計コンピュータ容量に制限される。ブロック８０１において、コンピュータは、コンピュータの状態（１つまたは複数）を保存するためのＳＭＰスペースを要求する。ブロック８０２において、その合計コンピュータ容量に達したかを調べる検査が行われる。ＳＭＰの合計容量に達していない場合（「Ｎｏ」分岐）、ブロック８０４において、そのＳＭＰは、要求を行うコンピュータの状態（１つまたは複数）を記憶するために使用可能なスペースを有しているかを調べる別の検査が行われる。ＳＭＰが、要求しているコンピュータの状態（１つまたは複数）を記憶するために使用可能な十分なスペースを有している場合（「Ｙｅｓ」分岐）、ブロック８０５において、そのコンピュータ要求は認可される。ブロック８０２でＳＭＰの合計容量に達していると判定されたか（ブロック８０２の「Ｙｅｓ」分岐）、またはブロック８０４で、ＳＭＰは、要求しているコンピュータの状態（１つまたは複数）を記憶するために使用可能なスペースを有してないと判定された場合（ブロック８０４の「Ｎｏ」分岐）、ブロック８０３において、そのコンピュータ要求は拒否される。次いで、ブロック８０６において、そのコンピュータは、ＳＭＳから受信したリストに他のＳＭＰがあるかを調べる検査を行う。リストに他のＳＭＰがある場合（「Ｙｅｓ」分岐）、ブロック８０７において、リスト上の次のＳＭＰが選択される。次いで、流れはブロック８０１に循環する。リスト上にＳＭＰがない場合（「Ｎｏ」分岐）、ブロック８０８において、流れはタイムアウトする。このように、リスト上にＳＭＰが１つしかないか、またはリスト上のすべての使用可能なＳＭＰが、それらが扱えるユーザの最大数に達しているか、またはコンピュータの状態を記憶するために使用可能な十分なスペースがＳＭＰにない場合、プロセスはタイムアウトして終了する。以上の説明から容易に理解されようが、図８に示された機能の流れは、図２のブロック２０４または図５のブロック５０４で行われる検査中に発生する。
【００３５】
管理者が、ＳＭＰは特定のＩＰサブネットアドレスに割り当てられたコンピュータの状態のみを移行すべきことを決定する状況もあるだろう。この状況は、多くのコンピュータがそれぞれの状態を同時に移行するためにネットワークを使用する場合に、ネットワークトラフィックの流れが遅くなったときに発生する可能性がある。例えば、組織は、狭い地域内で、異なるＩＰサブネットアドレスを持つ多数のコンピュータを使用することがある。狭い地域内のユーザの大多数がそれぞれのコンピュータ状態を同時に移行することを決定した場合で、移行を扱うように構成されたＳＭＰの数が非常に限られている場合、ボトルネックが生ずる。管理者は、この時点で、さらなるＳＭＰを追加することに加えて、特定のＩＰサブネットアドレスを割り当てられたコンピュータの状態のみを移行するために、使用可能なＳＭＰを動的に割り当てることを決定することができる。図９は、特定のＩＰサブネットアドレスのみを割り当てられたコンピュータの状態を移行するためにＳＭＰが作成される場合の例示的なシナリオの機能の流れ図である。ブロック９００において、ＳＭＳによってＳＭＰが作成される。ブロック９０１において、ＳＭＰは、定義されたＩＰサブネット境界内のコンピュータからのみ照会を受け入れるかを判定する検査が行われる。ＳＭＰが、定義されたＩＰサブネット境界内のコンピュータからのみ移行の照会を受け入れる場合（「Ｙｅｓ」分岐）、ブロック９０３において、定義されたＩＰサブネット境界内のすべてのコンピュータからの移行の照会がＳＭＰによって受け入れられる。逆に、照会するコンピュータが、ＳＭＰが扱う定義されたＩＰサブネットを割り当てられていない場合、そのコンピュータからの移行の照会はＳＭＰによって拒否される。一方、ＳＭＰが組織内のすべてのコンピュータからの移行の照会を受け入れる場合、ブロック９０２において、照会するコンピュータのＩＰサブネットアドレスに関係なく、その組織内のすべてのコンピュータからの移行の照会がＳＭＰによって受け入れられる。図８に示され、前に説明されているように、ＳＭＰによる移行の照会の受入れは、以前に説明されているＳＭＰ上の移行スペースの可用性に応じて異なることを理解されたい。
【００３６】
実施形態の例を図示し、説明してきたが、本発明の精神および範囲から逸脱することなく、示された実施形態に様々な変更を加えられることが理解されよう。例えば、図１に示されたコンピュータ、すなわち、コンピューティングデバイスは、パーソナルコンピュータ（ＰＣ）として描かれている。本発明は、ＰＤＡ、セルラ電話など、他のタイプのコンピューティングデバイスにも適用性を見いだすことができるので、この実施形態は、例示であり、限定するものではないと解釈すべきである。このように、本明細書では、オペレーティングシステムを展開するときにユーザ状態データを移行するための方法およびシステムの好ましい実施形態が説明されているが、本発明はこの実施形態に限定されないことを理解されたい。より正確には、本明細書は、添付の特許請求の範囲およびそれらの均等物の全範囲によって定義される。
【図面の簡単な説明】
【００３７】
【図１】本発明の例示的な実施形態の絵図である。
【図２】アップグレード、再構築または置換えを受けるコンピュータのユーザ状態が状態移行ポイント（ＳＭＰ）に移行される場合の例示的なシナリオの機能の流れ図である。
【図３】再構築またはアップグレードされたコンピュータが、ＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオの機能の流れ図である。
【図４】置換え（新しい）コンピュータが、ＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオの機能の流れ図である。
【図５】コンピュータの複数のユーザの状態がＳＭＰに移行される場合の例示的なシナリオの機能の流れ図である。
【図６】多数のユーザがいる再構築／アップグレードされたコンピュータが、ＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオの機能の流れ図である。
【図７】多数のユーザがいる置換えコンピュータが、ＳＭＰに安全に記憶されている状態に復元される場合の例示的なシナリオの機能の流れ図である。
【図８】ＳＭＰがＳＭＰ上で使用可能な量の記憶スペースにいかにして例示的な方法で最大数のコンピュータ状態を記憶するかを示す機能の流れ図である。
【図９】ＳＭＰが特定のＩＰサブネットアドレスを割り当てられたコンピュータの状態を移行する場合の例示的なシナリオの機能の流れ図である。
【図１】
2009516294.tif 000003
【図２】
2009516294.tif 000004
【図３】
2009516294.tif 000005
【図４】
2009516294.tif 000006
【図５】
2009516294.tif 000007
【図６】
2009516294.tif 000008
【図７】
2009516294.tif 000009
【図８】
2009516294.tif 000010
【図９】
2009516294.tif 000011
【国際調査報告】
2009516294.tif 000012
2009516294.tif 000013