(57)【要約】【課題】ワークステーションに関するデータを取り込み、かつ物理的に分離された媒体に該データを複製する手段を提供することにより、あるワークステーションから別のワークステーションへの移動を円滑にするとともに、ユーザが新ワークステーションを構成する際に経験するダウン時間を低減する。【解決手段】データ収集プログラムはユーザのワークステーションからデータを収集し、ユーザ設定とアプリケーション・プログラム・データを含むユーザ環境データを取得する。このユーザ環境データは着脱可能な不揮発性記憶媒体１４５に格納し複製処理に備える。格納したユーザ環境データは、複製プロセスによって処理し旧ワークステーションから新ワークステーションにユーザ環境データを複製するのに用いたり、破滅的なシステム故障からの復旧の備えに用いたりする。本発明では、既存のバックアップ・ソフトウェアが取得・復元しなかった様々なユーザ環境設定を取得・復元している。たとえば、ホスト名、ＩＰアドレスなどのユーザ固有の情報に加え、ライセンシング情報やアプリケーション・パーソナリティ・データをも特定し、格納し、復元している。【選択図】 図１
2004526257.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータ・システムにおいてユーザ環境を複製する方法であって、
前記第１のコンピュータ・システムにおいて自動化データ収集ツールを実行して前記第１のコンピュータ・システムからユーザ環境データを収集するステップと、
着脱可能な不揮発性媒体に前記ユーザ環境データを格納するステップと
を備えた
方法。
【請求項２】
前記収集するステップが、
前記ユーザ環境データに含めるべき属性を特定するステップ
を備えている、
請求項１に記載の方法。
【請求項３】
前記方法がさらに、
前記第１のコンピュータ・システムによって格納された前記ユーザ環境データを第２のコンピュータ・システムに復元するステップ
を備えた、
請求項１または２に記載の方法。
【請求項４】
前記第１のコンピュータ・システムがＵＮＩＸ(R)オペレーティング・システムを備えている、
請求項１〜３のうちの１項に記載の方法。
【請求項５】
前記収集ステップを複数のユーザについて実行し、
前記複数のユーザの各々が前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
請求項１〜４のうちの１項に記載の方法。
【請求項６】
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
請求項１〜５のうちの１項に記載の方法。
【請求項７】
前記方法がさらに、
前記着脱可能な不揮発性媒体を前記第１のコンピュータ・システムから第２のコンピュータ・システムに輸送するステップと、
前記着脱可能な不揮発性媒体を該媒体を読み取り可能な装置にロードするステップと、
前記ユーザ環境データを前記着脱可能な不揮発性媒体から前記第２のコンピュータ・システムに復元するステップと
を備えている、
請求項１〜６のうちの１項に記載の方法。
【請求項８】
少なくとも１つのプロセッサと、
前記プロセッサによって操作可能なオペレーティング・システムと、
前記プロセッサによってアクセス可能なメモリと、
前記プロセッサによってアクセス可能な着脱可能な不揮発性記憶装置と、
第１のコンピュータ・システムにおいてユーザ環境データを複製するユーザ環境複製ツールと
を備え、
前記ツールが、
前記第１のコンピュータ・システムからユーザ環境データを収集する手段であって、前記収集はコンピュータ・プログラムが実行する、手段と、
前記ユーザ環境データを着脱可能な不揮発性媒体に格納する手段と
を備えている
情報処理システム。
【請求項９】
前記収集する手段が、
前記ユーザ環境データに含めるべき属性を特定する手段
を備えている、
請求項８に記載の情報処理システム。
【請求項１０】
さらに、
前記第１のコンピュータ・システムによって格納した前記ユーザ環境データを第２のコンピュータ・システムに復元する手段
を備えた、
請求項８または９に記載の情報処理システム。
【請求項１１】
前記第１のコンピュータ・システムがＵＮＩＸ(R)オペレーティング・システムを備えている、
請求項８〜１０のうちの１項に記載の情報処理システム。
【請求項１２】
前記収集する手段は複数のユーザについて実行し、前記複数のユーザの各々は前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
請求項８〜１０のうちの１項に記載の情報処理システム。
【請求項１３】
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
請求項８〜１０のうちの１項に記載の情報処理システム。
【請求項１４】
第１のコンピュータ・システムにおいてユーザ環境を複製するようにプログラムされ、コンピュータ操作可能な媒体に格納されたコンピュータ・プログラムであって、
前記第１のコンピュータ・システムからユーザ環境データを収集するプログラム・コードであって、前記収集をコンピュータ・プログラムによって実行する、プログラム・コードと、
前記ユーザ環境データを着脱可能な不揮発性媒体に格納するプログラム・コードと
を備えた
コンピュータ・プログラム。
【請求項１５】
前記収集するプログラム・コードが、
前記ユーザ環境データに含めるべき属性を特定する手段
を備えている、
請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
さらに、
前記第１のコンピュータ・システムによって格納された前記ユーザ環境データを第２のコンピュータ・システムに復元する手段
を備えた、
請求項１４または１５に記載のコンピュータ・プログラム。
【請求項１７】
前記収集する手段は複数のユーザについて実行し、前記複数のユーザの各々は前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
請求項１４〜１６のうちの１項に記載のコンピュータ・プログラム。
【請求項１８】
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
請求項１４〜１６のうちの１項に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理技術に関する。特に、本発明はコンピュータ・システムにおいてユーザ環境データを復元・復旧するシステムと方法に関する。
【背景技術】
【０００２】
ＵＮＩＸ(R)オペレーティング・システムは１９６９年に発明された対話型のタイム・シェアリング・オペレーティング・システムである。ＵＮＩＸ(R)オペレーティング・システムは複数のユーザ用の直列接続およびネットワーク接続された端末をサポートするマルチユーザ・オペレーティング・システムである。ＵＮＩＸ(R)は同じシステムを複数のユーザが同時に使用することのできるマルチタスク・オペレーティング・システムである。ＵＮＩＸ(R)オペレーティング・システムはカーネル、シェル、およびユーティリティを備えている。ＵＮＩＸ(R)は移植可能なオペレーティング・システムであり、アセンブラで書く必要があるのはカーネルだけである。また、広範囲のサポート・ツール、たとえば開発、デバッガー、コンパイラなどをサポートしている。
【０００３】
マルチユーザ・オペレーティング・システムとしてのＵＮＩＸ(R)に使用すれば、複数の人々が同じコンピュータ・システムを同時に共用するすることが可能になる。これを実行するのにＵＮＩＸ(R)では、コンピュータの中央処理装置（すなわち「ＣＰＵ」）を時間間隔にタイムスライスしている。各ユーザはシステムが要求された命令を実行する所定量の時間を取得する。あるユーザに割り当てられた時間が満了すると、オペレーティング・システムはＣＰＵに割込みをかけることにより割り込み、当該ユーザのプログラム状態（プログラム・コードとデータ）を保管し、次のユーザのプログラム状態を復元し、当該次のユーザのプログラムを（当該次のユーザの時間だけ）実行することを開始する。このプロセスは際限なく続きシステムを使用しているすべてのユーザに行き渡るまで反復する。そして、最後のユーザのタイム・スライスが満了したら、最初のユーザに制御を戻し別のサイクルを開始する。
【０００４】
ＵＮＩＸ(R)オペレーティング・システムはマルチユーザ・オペレーティング・システムであるとともにマルチタスク・オペレーティング・システムでもある。その名称が示唆しているように、ＵＮＩＸ(R)のマルチユーザの側面によれば、同じシステムを複数のユーザが同時に使用することができる。マルチタスク・オペレーティング・システムとしてのＵＮＩＸ(R)によれば、複数のプログラム（または実行スレッドと呼ばれるプログラムの部分）を同時に実行することができる。このオペレーティング・システムはプログラムまたはスレッドの各々を実行するために、様々なプログラム（または実行スレッド）の間でプロセッサを切り換える。ＩＢＭのＯＳ／２（商標）やマイクロソフトのＷｉｎｄｏｗｓ（R)９５／９８／ＮＴがシングルユーザ・マルチタスク・オペレーティング・システムの例であるのに対して、ＵＮＩＸ(R)はマルチユーザ・マルチタスク・オペレーティング・システムの例である。マルチタスク・オペレーティング・システムはフォアグラウンド・タスクとバックグラウンド・タスクの双方をサポートしている。フォアグラウンド・タスクとは入力装置と画面を用いてユーザと直接にインタフェースするタスクのことである。バックグラウンド・タスクはバックグラウンドで実行され、入力装置（たとえばキーボード、マウス、タッチパッドなど）にアクセスせず、画面にもアクセスしない。バックグラウンド・タスクには後刻の実行用にスプールすることのできる印刷のようなオペレーションがある。
【０００５】
ＵＮＩＸ(R)オペレーティング・システムはシステムで実行されているプログラムをすべて追跡しており、必要に応じてディスク、メモリ、プリンタ・キューなどのリソースを割り当てる。ＵＮＩＸ(R)は理想的には各プログラムが適切に実行されるのに相当な分量のリソースを受け取れるようにリソースを割り当てる。ＵＮＩＸ(R)は２つの方法、すなわちスケジューリング優先順位とシステム・セマフォアを用いてリソースを配分する。各プログラムには優先順位が割り当てられている。優先順位の高いタスクは（ディスクに対する読み書きと同様に）より頻繁に実行される。ユーザ・プログラムはそのアクティビティと利用可能なシステム・リソースとに応じて自分の優先順位を上方または下方に動的に調整してもらう。システム・セマフォアはオペレーティング・システムがシステム・リソースを管理するのに使用する。プログラムはオペレーティング・システムにシステム・コールを行ってセマフォアを取得することにより、リソースを割り当ててもらうことができる。リソースが必要でなくなったら、セマフォアをオペレーティング・システムに返す。これにより、オペレーティング・システムはそのセマフォアを別のプログラムに割り当てることができる。
【０００６】
ディスク駆動装置とプリンタはその性質上シリアルである。このことは一度に１つの要求しか実行できないということを意味している。複数のユーザがこれらのリソースを一度に利用できるようにするために、オペレーティング・システムはそれらをキューを使って管理している。各シリアル装置はキューに関連付けられている。あるプログラムが装置（たとえばディスク駆動装置）にアクセスする必要がある場合、そのプログラムは当該装置に関連付けられたキューに要求を送る。ＵＮＩＸ(R)オペレーティング・システムは（デーモンと呼ばれる）バックグラウンド・タスクを実行しており、そのデーモンが上記キューをモニタするとともにそのキュー用の要求を処理する。上記要求はデーモンが処理し、その結果はユーザ・プログラムに返される。
【０００７】
マルチタスク・システムはプロセスを管理する１組のユーティリティを備えている。ＵＮＩＸ(R)では、これらはｐｓ（list processes: プロセスを列挙）、ｋｉｌｌ（kill a process: プロセスを削除）、およびコマンド・ライン末の＆（プロセスをバックグラウンドで実行）である。ＵＮＩＸ(R)では、すべてのユーザ・プログラムとアプリケーション・ソフトウェアはシステム・コール・インタフェースを用いてシステム・リソース、たとえばディスク、プリンタ、メモリなどにアクセスする。ＵＮＩＸ（R)におけるシステム・コール・インタフェースは１組のシステム・コール（Ｃ言語の関数）を備えている。システム・コール・インタフェースの目的は低レベルのハードウェア・アクセスをすべてＵＮＩＸ(R)オペレーティング・システムの管理下に置き、ユーザ作成プログラムに管理させないことにより、システムの保全性を実現することである。これにより、プログラムによってシステムが破壊されるのを防止することができる。
【０００８】
システム・コールを受信すると、オペレーティング・システムはそのアクセス許可を検査し、要求元プログラムの代わりに要求を実行し、その結果を要求元プログラムに返す。要求が無効すなわちユーザにアクセス許可がない場合には、オペレーティング・システムはその要求を実行せず、要求元プログラムにエラーを返す。ＵＮＩＸ(R)の大部分がＣ言語で書かれているから、システム・コールは１組のＣ言語関数として理解することができる。典型的なシステム・コールには次のものがある。すなわち、ディスクから読み取る＿ｒｅａｄ、ディスクに書き込む＿ｗｒｉｔｅ、端末からキャラクタを読み取る＿ｇｅｔｃｈ、端末にキャラクタを書き込む＿ｐｕｔｃｈ、装置パラメータを制御し設定する＿ｉｏｃｔｌである。
【０００９】
その名称が示唆しているように、カーネルはＵＮＩＸ(R)オペレーティング・システムの核に存在する。システムを開始するときにはいつも、このカーネルをロードする（システム「ブート」とも呼ばれている）。カーネルはシステムのリソースを管理し、それらをユーザに一貫性のあるシステムとして提示する。ＵＮＩＸ(R)システムを使用するために、ユーザはカーネルについて（もし理解するとしても）あまり理解している必要はない。カーネルはＵＮＩＸ(R)環境で必要な様々な機能を備えている。カーネルはシステムのメモリを管理し、それを各プロセスに割り当てる。カーネルがプログラムの状態を保管・復元し、あるプログラムから次のプログラムに切り替える（ディスパッチと呼ばれる）には時間がかかる。この動作は迅速に行う必要がある。なぜなら、プログラム間の切り替えに要する時間の分だけユーザのプログラムを実際に実行するのに使われる時間が減少するからである。ユーザ・プログラム間の切り替えのようなタスクをカーネルが実行している「システム状態」における時間消費はシステム・オーバーヘッドであるから、できるかぎり少なくする必要がある。典型的なＵＮＩＸ(R)システムでは、システム・オーバーヘッドは全時間の１０％未満であろう。
【００１０】
また、カーネルは各ユーザの仕事が効率的に実行されるように、中央処理装置（すなわち「ＣＰＵ」）が実行する仕事のスケジューリングも行う。カーネルはシステムのある部分から別の部分へデータを転送する。メインメモリ上のユーザ・プログラム間の切り替えを行うのもカーネルである。メイン・システム・メモリはオペレーティング・システム用の部分とユーザ・プログラム用の部分とに分割されている。カーネル用のメモリ空間はユーザ・プログラムから分離されている。あるプログラムを実行するのに十分なメインメモリが存在しない場合、別のプログラムをディスクに書き出し（すなわちスワップし）て当該プログラムを実行するのに十分なメインメモリを解放する。カーネルは様々な要因に基づいてどのプログラムがディスクにスワップアウトするのに一番よい候補であるかを決める。システムで同時に実行されているプログラムが多すぎると、システムは過負荷になり、オペレーティング・システムはファイルをディスクにスワップアウトするのに多くの時間を使うから、プログラムを実行する時間が少なくなる。この結果、性能が劣化する。また、カーネルは「シェル」から命令を受け取り、それらの実行も行う。さらに、カーネルはシステムで即使用可能なアクセス権の付与も行う。アクセス権はシステム中の各ファイルおよび各ディレクトリごとに存在し、他のユーザが所定のファイルまたはディレクトリに対してアクセスし、実行し、または変更しうるか否かを決めるものである。
【００１１】
ファイルの取り扱いについては、ＵＮＩＸ(R)はファイルを編成しそれらを保守するのに階層ディレクトリ構造を使用している。アクセス権はファイルとディレクトリに対応している。上述したように、ＵＮＩＸ(R)オペレーティング・システムでは、ファイルをディレクトリに編成する。ディレクトリは階層型ツリー構造に格納されている。このツリーの最上部にはルート・ディレクトリがある。ルート・ディレクトリはスラッシュ（／）キャラクタで表わす。ルート・ディレクトリは少なくとも１つのディレクトリを備えている。これらのディレクトリはさらに、ユーザ・ファイルおよび他のシステム・ファイルを格納したディレクトリを備えている。多くのＵＮＩＸ(R)中に存在する標準的なディレクトリを次に示す。
／ｂｉｎ  このディレクトリは基本システム・コマンドを格納している。
／ｅｔｃ  このディレクトリはシステム構成ファイルおよびシステムを管理するのに使用するプログラムを格納している。
／ｌｉｂ  このディレクトリはシステム・ライブラリを格納している。
／ｔｅｍｐ  このディレクトリはテンポラリ（一時）ファイルを格納するのに使用する。
／ｕｓｒ／ｂｉｎ  このディレクトリは／ｂｉｎに格納されていないコマンドを格納している。
／ｕｓｒ／ｍａｎ  このディレクトリはマニュアル用のページを格納している。
／ｕｓｒ／ｌｏｃａｌ  このディレクトリは元のシステムには含まれておらずシステム管理者（ｓｙｓａｄｍｉｎ）がインストールしたローカル・プログラムを格納している。特に、／ｕｓｒ／ｌｏｃａｌ／ｂｉｎはローカル・コマンド・ファイル（バイナリー）を格納しており、／ｕｓｒ／ｌｏｃａｌ／ｍａｎはローカル・マニュアル・ページを格納している。
／ｈｏｍｅ  実際のディレクトリの場所はシステムによって変化するが、システム中のどこかを、すべてのユーザのホーム（ｈｏｍｅ）ディレクトリを配置する場所にすることができる。
【００１２】
ＵＮＩＸ(R)オペレーティング・システムが情報を格納するのに使う基礎構造はファイルである。ファイルは一連のバイトである。ＵＮＩＸ(R)は各ファイルに一意の識別番号を割り当てることにより、ファイルを内部で追跡している。これらの番号はｉノード番号と呼ばれるが、ＵＮＩＸ(R)のカーネル自体の内部でのみ使用されている。ＵＮＩＸ(R)はファイルを指すのにｉノード番号を使用しているが、ユーザがユーザ指定の名前で各ファイルを識別することを可能にしている。ファイル名は一連のキャラクタでよく、最大１４キャラクタ長にすることができる。
【００１３】
ＵＮＩＸ(R)のファイル・システムには次に示す３種類のファイルがある。（１）通常ファイル。これには実行可能ファイル、テキスト、または入力として使用される、もしくは何らかの操作の出力として生成される種類のデータがある。（２）ディレクトリ・ファイル。これには上で概説したディレクトリ中のファイルのリストがある。（３）特別ファイル。これは入力装置／出力装置にアクセスする標準的な方法を提供するものである。
【００１４】
内部的には、ディレクトリは１つのファイルであり、通常ファイルの名前、他のディレクトリ、および通常ファイルの対応するｉノード番号を格納している。ｉノード番号を用いることにより、ＵＮＩＸ(R)は別の内部テーブルを調べてファイルを格納すべき場所を決めるとともに当該ファイルをユーザに対してアクセス可能にすることができる。ＵＮＩＸ(R)のディレクトリはそれ自体が名前を備えている。この名前の例は上述したが、最大１４キャラクタ長にすることができる。
【００１５】
ＵＮＩＸ(R)は自身が管理しているファイルに関する情報をきわめて大量に保守している。各ファイルごとに、ファイル・システムはファイル・サイズ、場所、所有者、セキュリティ、種類、作成時刻、変更時刻、およびアクセス時刻を追跡している。これらの情報はすべてファイルの作成時および使用時にファイル・システムが自動的に保守している。ＵＮＩＸ(R)のファイル・システムは大容量記憶装置たとえばディスク駆動装置やディスク・アレイなどに常駐している。ＵＮＩＸ(R)はディスクを一連のブロックに編成している。これらのブロックは普通、５１２バイト長または２０４８バイト長である。ファイルの内容は少なくとも１つのブロックに格納されている。ブロックはディスク上に広く分散している。
【００１６】
通常ファイルにはｉノード構造によってアドレスする。各ｉノードにはｉリストに含まれているインデックスによってアドレスする。ｉリストはファイル・システムのサイズに基づいて生成される。一般に、ファイル・システムが大きいほどより多くのファイルを保持しているものと考えられるから、ｉリストは大きくなる。各ｉノードには１３個の４バイト・ディスク・アドレス要素が含まれている。直接ｉノードには最大１０個のブロック・アドレスを含めることができる。ファイルがこれより大きい場合、第１レベルの間接ブロックを指す１１番目のアドレスを使用する。アドレス１２とアドレス１３はそれぞれ第２レベルの間接ブロックおよび第３レベルの間接ブロック用に使用する。この場合、直接ｉノードにおいて新たなアドレス・スロットが必要になったら、第１のデータ・ブロックより前の間接アドレッシング・チェーンを１レベルだけ増やす。
【００１７】
入力と出力（Ｉ／Ｏ）はすべてファイルに対する読み書きによって行う。なぜなら、ファイル・システムではすべての周辺装置（したがって端末でさえ）ファイルとして扱うからである。最も一般的な場合では、ファイルに対して読み書きする前にそうするという意図をファイルをオープン（open）することによりシステムに通知する必要がある。ファイルに書き込むためには、ファイルを作成（create）する必要もある。（「ｏｐｅｎ」システム・コールまたは「ｃｒｅａｔｅ」システム・コールによって）ファイルをオープンまたは作成すると、システムはそうする権利があるか否かを検査し、ユーザにそうする権利があれば、ファイル・ディスクリプタと呼ばれる非負の整数を返す。以後、このファイルについてＩ／Ｏを行うときには、ファイル名の代わりにこのファイル・ディスクリプタを用いて当該ファイルを識別する。このオープン・ファイル・ディスクリプタは当該ファイルをオープンしたユーザの「プロセス」空間に保持されているファイル・テーブル・エントリに関連付けられている。ＵＮＩＸ(R)の用語法では、「プロセス」なる用語は「実行中のプログラム」と可逆的に使用される。ファイル・テーブル・エントリにはオープン・ファイルに関する情報、たとえば当該ファイルに対するｉノード・ポインタおよび当該ファイルに対するファイル・ポインタなどが含まれている。ファイル・ポインタは当該ファイル中の読み取るべきまたは書き込むべき現在の位置を規定している。オープン・ファイルに関する情報はすべてシステムが保守する。
【００１８】
既存のＵＮＩＸ(R)システムでは、すべての入力と出力は２つのシステム・コール「ｒｅａｄ」と「ｗｒｉｔｅ」によって行う。これらのシステム・コールは同名の機能を有するプログラムからアクセスする。両方のシステム・コールでは、第１の引数はファイル・ディスクリプタであり、第２の引数はデータのソース（送信元）またはデスティネーション（送信先）として機能するバッファへのポインタであり、第３の引数は転送するバイト数である。「ｒｅａｄ」システム・コールまたは「ｗｒｉｔｅ」システム・コールの各々は転送するバイト数をカウントする。読み取りの場合、返されるバイト数は要求したバイト数より少ない。なぜなら、実際に読み取られるバイト数は要求したバイト数より少ないからである。「０」なる戻りコードはファイルの終端（end-of-file)に到達したことを意味し、「−１」なる戻りコードはエラーが発生したことを意味している。書き込みの場合、戻りコードは実際に書き込んだバイト数である。したがって、この数値が書き込んだと考えられるバイト数と一致しない場合にはエラーが発生している。
【００１９】
ＵＮＩＸ(R)はｇｅｔｔｙと呼ばれるシステム・プロセスによって、システムに接続された各端末の入力ラインの状態をモニタしている。ｇｅｔｔｙはユーザが端末の電源を入れたのを検出すると、ログオン・プロンプトを提示する。そして、ユーザＩＤとパスワードが有効なら、ＵＮＩＸ(R)システムは当該端末にシェル・プログラム（たとえばｓｈ）を関連付ける。この結果、当該ユーザはシェル・プログラム中にに配置される。シェル・プログラムは通常、どのシェル・プログラムが実行中であるのかを示すプロンプトを提示する。ユーザはそのプロンプトに続けてコマンドをタイプ入力する。シェル・プログラムはコマンド・インタープリタとして動作し、各コマンドを取得しそれをカーネルに渡して処理させる。次いで、シェルは処理結果を画面に表示する。ユーザはシェルを用いて当該ユーザの必要に適合し個人化した環境を生成することができる。ユーザは当該ユーザの環境を制御している環境変数を変更することができる。
【００２０】
ＥＤＩＴＯＲ環境変数は他のプログラムたとえばメール・プログラムなどが使うことになるエディタを設定する。ＰＡＧＥＲ環境変数はマニュアル・ページを表示するｍａｎなどのプログラムが使うことになるページャを設定する。ＰＡＴＨ環境変数はシェルがコマンドを見つけるのに目を通すはずのディレクトリを特定する。これらのディレクトリは出現順に探索される。ＰＲＩＮＴＥＲ環境変数はｌｐｒコマンドによってすべての出力が送られるプリンタを設定する。ＳＨＥＬＬ変数はユーザが使用するデフォルトのシェルを設定する。ＴＥＲＭ変数はエディタやページャなどのプログラム用の端末の種類を設定する。ＴＺ環境変数はユーザが位置しているタイム・ゾーンを設定する。
【００２１】
ＵＮＩＸ(R)ユーザには利用可能なシェルがいくつかある。各シェルは他のシェルとは異なる特徴と機能を有している。最も一般的なＵＮＩＸ(R)シェル・プログラムには「Ｂｏｕｒｎｅ」シェル、「Ｃ」シェル、「ＴＣ」シェル、「Ｋｏｒｎ」シェル、および「ＢＡＳＨ」シェルがある。コマンドを実行するために使用するのに加え、これらのシェルは各々、組み込みプログラミング言語を備えており、ユーザはそれを用いて自身のコマンドまたはプログラムを書くことができる。また、ユーザはコマンドをファイルに入れて（シェル・スクリプトと呼ばれる）、そのファイルをコマンドまたはプログラムのように実行することができる。シェルは次に示す２種類のコマンドを呼び出す。すなわち、シェル・プログラムが処理する内部コマンド（たとえばｓｅｔ、ｕｎｓｅｔなど）、およびプログラムとして呼び出される外部コマンド（たとえばｌｓ、ｇｒｅｐ、ｓｏｒｔ、ｐｓなど）である。
【００２２】
ＵＮＩＸ(R)オペレーティング・システムの１つの利点はユーザが自分の必要に適合するように自分の作業環境をカスタマイズできる点である。たとえば、ユーザは次に示すものを選定することができる。すなわち、デフォルトのエディタ、マニュアルのページを表示するページャ、コマンドを求めて探索されるディレクトリを特定するパス、デフォルトのプリンタ、エディタとページャが使用する端末の種類、正確な時刻を表示するタイム・ゾーン、およびシステムにログオンするときにユーザの端末に関連付けられるシェル・プログラムである。
【００２３】
現在の複雑なコンピューティング環境における１つの課題は、システムの変更またはあるシステムから別のシステムへのユーザの再配置に起因してユーザをあるシステムから別のシステムに移動させることである。コンピュータが複雑であることおよびユーザ環境を作り上げているカスタマイズの量が多いことにより、ユーザのコンピューティング環境を複製することは以前より挑戦する価値のあることになった。特に、ＵＮＩＸ(R)イメージを再作成するには、次に示す大量のシステム・パラメータを必要とする。すなわち、プリンタ定義、ｔｔｙ定義（端末定義、所定のジョブを制御する特定の端末の名前、またはシリアル・ポート定義。ＵＮＩＸ(R)ではこのような装置の名前はｔｔｙ＊という形をしている）、ネットワーク・インタフェース、ユーザＩＤ、およびパスワードである。このようなパラメータの複製にすべて失敗すると、ユーザは主要なアプリケーションを実行できなくなったり、そのようなシステムの複製に起因して重要なリソースにアクセスできなくなったりする。複製を大部分人手に頼っている現在の複製方式の課題は、ユーザおよび／またはシステム管理者が行う人手仕事自体、ならびにそのような人手仕事は間違いを生じやすいということである。（「Ａおよび／またはＢ」は「ＡおよびＢ、Ａ、またはＢ」を表わす。）
【００２４】
あるワークステーションから別のワークステーションにユーザ環境データを半自動態様で複製しうるということは分かっている。まず、自動データ収集プロセスがユーザ環境データを旧コンピュータ・システムから収集する。ユーザ環境データには、アプリケーション・プログラム・データ、ライセンス情報、ｔｔｙ設定、カスタマイズしたディレクトリ、その他ユーザがカスタマイズしたワークステーション環境変数がある。
【００２５】
ワークステーションのリストを用いて多数のワークステーションを複製することもできる。そのような場合とは、たとえば一群の個人が自分のワークステーションをアップグレードするような場合である。この場合、後刻、新ワークステーションへ複製することに備えてユーザ環境データを格納する。ユーザ環境データは着脱可能かつコンピュータ操作可能な媒体、たとえばディスケットまたは磁気テープなどに格納し、搬送、新ワークステーションへの入力、システム故障発生時の旧コンピュータへの復元での使用に備える。新ワークステーションへユーザ環境設定を複製するには、コンピュータ操作可能な媒体に格納されているユーザ環境データを読み取り、当該ユーザ環境データを新ワークステーションに入力する。
【発明の開示】
【発明が解決しようとする課題】
【００２６】
本発明の目的は、ワークステーションに関するデータを取り込み、かつ物理的に分離された媒体に該データを複製する手段を提供することにより、あるワークステーションから別のワークステーションへの移動を円滑にするとともに、ユーザが新ワークステーションを構成する際に経験するダウン時間を低減することである。
【課題を解決するための手段】
【００２７】
本発明は以下のように構成する。
（１）
第１のコンピュータ・システムにおいてユーザ環境を複製する方法であって、
前記第１のコンピュータ・システムにおいて自動化データ収集ツールを実行して前記第１のコンピュータ・システムからユーザ環境データを収集するステップと、
着脱可能な不揮発性媒体に前記ユーザ環境データを格納するステップと
を備えた
方法。
（２）
前記収集するステップが、
前記ユーザ環境データに含めるべき属性を特定するステップ
を備えている、
上記（１）に記載の方法。
（３）
前記方法がさらに、
前記第１のコンピュータ・システムによって格納された前記ユーザ環境データを第２のコンピュータ・システムに復元するステップ
を備えた、
上記（１）または（２）に記載の方法。
（４）
前記第１のコンピュータ・システムがＵＮＩＸ(R)オペレーティング・システムを備えている、
上記（１）〜（３）のうちの１つに記載の方法。
（５）
前記収集ステップを複数のユーザについて実行し、
前記複数のユーザの各々が前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
上記（１）〜（４）のうちの１つに記載の方法。
（６）
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
上記（１）〜（５）のうちの１つに記載の方法。
（７）
前記方法がさらに、
前記着脱可能な不揮発性媒体を前記第１のコンピュータ・システムから第２のコンピュータ・システムに輸送するステップと、
前記着脱可能な不揮発性媒体を該媒体を読み取り可能な装置にロードするステップと、
前記ユーザ環境データを前記着脱可能な不揮発性媒体から前記第２のコンピュータ・システムに復元するステップと
を備えている、
上記（１）〜（６）のうちの１つに記載の方法。
（８）
少なくとも１つのプロセッサと、
前記プロセッサによって操作可能なオペレーティング・システムと、
前記プロセッサによってアクセス可能なメモリと、
前記プロセッサによってアクセス可能な着脱可能な不揮発性記憶装置と、
第１のコンピュータ・システムにおいてユーザ環境データを複製するユーザ環境複製ツールと
を備え、
前記ツールが、
前記第１のコンピュータ・システムからユーザ環境データを収集する手段であって、前記収集はコンピュータ・プログラムが実行する、手段と、
前記ユーザ環境データを着脱可能な不揮発性媒体に格納する手段と
を備えている
情報処理システム。
（９）
前記収集する手段が、
前記ユーザ環境データに含めるべき属性を特定する手段
を備えている、
上記（８）に記載の情報処理システム。
（１０）  さらに、
前記第１のコンピュータ・システムによって格納した前記ユーザ環境データを第２のコンピュータ・システムに復元する手段
を備えた、
上記（８）または（９）に記載の情報処理システム。
（１１）
前記第１のコンピュータ・システムがＵＮＩＸ(R)オペレーティング・システムを備えている、
上記（８）〜（１０）のうちの１つに記載の情報処理システム。
（１２）
前記収集する手段は複数のユーザについて実行し、前記複数のユーザの各々は前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
上記（８）〜（１０）のうちの１つに記載の情報処理システム。
（１３）
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
上記（８）〜（１０）のうちの１つに記載の情報処理システム。
（１４）
第１のコンピュータ・システムにおいてユーザ環境を複製するようにプログラムされ、コンピュータ操作可能な媒体に格納されたコンピュータ・プログラムであって、
前記第１のコンピュータ・システムからユーザ環境データを収集するプログラム・コードであって、前記収集をコンピュータ・プログラムによって実行する、プログラム・コードと、
前記ユーザ環境データを着脱可能な不揮発性媒体に格納するプログラム・コードと
を備えた
コンピュータ・プログラム。
（１５）
前記収集するプログラム・コードが、
前記ユーザ環境データに含めるべき属性を特定する手段
を備えている、
上記（１４）に記載のコンピュータ・プログラム。
（１６）  さらに、
前記第１のコンピュータ・システムによって格納された前記ユーザ環境データを第２のコンピュータ・システムに復元する手段
を備えた、
上記（１４）または（１５）に記載のコンピュータ・プログラム。
（１７）
前記収集する手段は複数のユーザについて実行し、前記複数のユーザの各々は前記第１のコンピュータ・システムに少なくとも１つのアカウントを持っている、
上記（１４）〜（１６）のうちの１つに記載のコンピュータ・プログラム。
（１８）
前記ユーザ環境データはプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザ・パスワード、およびライセンス情報のうちの少なくとも１つを含んでいる、
上記（１４）〜（１６）のうちの１つに記載のコンピュータ・プログラム。
【発明を実施するための最良の形態】
【００２８】
図１はあるコンピュータ・システムから別のコンピュータ・システムにユーザ環境データをコピーするとともに送る様子を示すシステム図である。ユーザの旧ユーザ環境データ１００にはネットワーク・インタフェース１０５、ｔｔｙ定義１１０、プリンタ定義１１５、ユーザＩＤ１２０、パスワード１２５、およびアプリケーション固有情報など他のシステム・パラメータ１３０がある。要するに、旧ユーザ環境データ１００はユーザが自分の仕事関連のタスクをよりよく実行しうるように行ったユーザ設定の結果としてユーザ・アカウントになされたカスタム化と変更である。この例では、ユーザは旧コンピュータ・システム１４０の旧ユーザＩＤ１３５から新コンピュータ・システム１６０に結び付けられた新ユーザＩＤ１５５に移動しつつある。旧ユーザ環境データ１００は旧コンピュータ・システム１４０から収集したら、不揮発性コンピュータ媒体１４５を用いて新コンピュータ・システム１６０に転送する。不揮発性コンピュータ媒体１４５には、ディスケット、磁気テープ、ＺＩＰディスク、ＪＡＺディスク、ＣＤ−Ｒ（再符号化可能なＣＤ−ＲＯＭ）、ハード・ディスク駆動装置、光ディスク、またはあるコンピュータ・システムから別のコンピュータ・システムに輸送することによりデータを転送しうる任意の媒体を用いることができる。
【００２９】
新コンピュータ・システム１６０で旧ユーザ環境データ１００を受け取ったら、新ユーザ環境データ１９５を作成して旧ユーザ環境データ１００を新コンピュータ・システム１６０に複製するプロセスを呼び出す。旧ユーザ環境データ１００と同様に、新ユーザ環境データ１９５にはネットワーク・インタフェース１６５、ｔｔｙ定義１７０、プリンタ定義１７５、ユーザＩＤ１８０、パスワード１８５、およびアプリケーション固有情報など他のシステム・パラメータ１９０がある。旧ユーザ環境データ１００が新コンピュータ・システム１６０に複製されると、そのカスタム化設定は結局、ユーザが旧コンピュータ・システム１４０で使用するのに慣れていた設定と同じになる。
【００３０】
あるシステムから別のシステムに移動する場合に加え、環境データ１００はシステムで発生する様々なイベントに応答して取り込まれる。たとえば、所定のスケジュールで、ユーザの環境データは取り込まれ、旧コンピュータ・システム１４０または新コンピュータ・システム１６０に格納される。このように、環境データ１００は周期的に取り込まれるから、旧コンピュータ・システム１４０でシステムの故障が生じても、新ユーザＩＤ１５５を迅速に作成し、新環境データ１９５を作成することにより環境データを復元することができる。これにより、ユーザは最小限の時間内にまったく同じ動作中のシステムを手に入れることができる。また、ユーザが環境データ１００を変更するたびごとに、他のイベント（すなわちトリガー）が環境データ１００を取り込むはずである。したがって、旧環境データ１００には最新のコピーが存在する。また、次々に取り込み操作が行われたあとには、旧環境データ１００のコピーが複数個あると好都合である。旧環境データ１００のコピーを複数個保持していれば、ユーザが環境データに新たに適用した更新が不所望であることが明らかになっても、ユーザは以前の環境データの組のうちの所望のものに迅速に復帰することができる。他のイベント（すなわちトリガー）とは数人のユーザの環境データを当該ユーザ達の介在を必要とすることなく、周期的に取り込む中央処理領域が出すコマンドのことである。このように、システム管理者は自分がサポートしているユーザ達のうちの少なくとも一人のユーザにシステムの故障が発生しても、自信をもってユーザ環境を復元することができる。
【００３１】
図２はデータ収集とデータ複製を行う高レベルのフローチャートを示す図である。プロセスは開始２００で開始し、判断２１０でデータ収集の時期であるか否かを判断する。判断２１０は様々な要因に基づいて行いうる。たとえば、データ収集はカスタム化のデータをバックアップする様々な時間間隔で繰り返すようにスケジュールを組むことができる。判断２１０の別のトリガーはユーザの環境データが変化したときに常にフラグ（すなわち標識）をセットするモニタである。この場合、このフラグがセットされたら、データ収集プロセスを呼び出す。また、判断２１０はユーザがあるシステムから別のシステムに移動したときにのみ行う人手による判断であってもよい。さらに、判断２１０はシステム管理者が行い、多数のユーザのデータを収集する時期を判断するようにしてもよい。判断２１０が偽である（すなわちデータ収集の時期ではない）場合、「Ｎｏ」分岐をとる。判断２１０が真である（すなわちデータ収集の時期である）場合、「Ｙｅｓ」分岐をとり、収集プロセス２２０（データ収集プロセスの詳細なフローチャートは図３を参照）を実行する。データ収集を行う意図は新ワークステーションにパーソナリティ情報を複製する点にある。特に、図３に詳細を示すように、データ収集の対象には様々なシステム・パラメータがあるが、たとえばプリンタ定義、ｔｔｙ定義、ネットワーク・インタフェース、ユーザＩＤ、パスワードなどが挙げられる。システム・パラメータ値はシステムの「パーソナリティ」を規定するものである。パーソナリティ情報とはユーザおよび／またはグループが選定できるパラメータ、設定、および／または、コンピュータ・システム、ソフトウェア、もしくはファームウェアの属性をカスタマイズするのに用いるオプションのことである。パーソナリティ・パラメータはメニューのカラー・スキームほど単純ではないが、特定のアプリケーション・プログラムに関する情報を処理するのに必要な好適なアルゴリズムの仕様と同程度には複雑である。収集プロセス２２０の処理または「Ｎｏ」分岐２１２に続いて、判断２４０で複製処理の時期であるか否かに関する第２の判断を行う。判断２４０が偽である（すなわち複製処理の時期ではない）場合、「Ｎｏ」分岐２４２をとり、開始２００と判断２１０にループバックする。他方、判断２４０が真である（すなわち複製処理の時期である）場合、「Ｙｅｓ」分岐２４４をとり、複製プロセス２５０（複製プロセス２５０の詳細は図４を参照）を実行する。複製プロセス２５０に続いて、プロセスは終了２７０で終了する。
【００３２】
図３は図２に示した収集プロセス２２０の詳細を含む中レベルのフローチャートを示す図である。プロセスは開始３００で開始し、不揮発性媒体を検査して図２に示した収集プロセス２２０が収集したデータを保持するのに十分な空き容量があるか否かを判断する（ステップ３０５）。不揮発性媒体に十分な空き容量がない場合、エラー・メッセージを表示してプロセスを終了する。不揮発性媒体に十分な空き容量がある場合、ライセンス・ファイルを特定し収集する必要のあるライセンス・ファイル情報を特定する（ステップ３１０）。一実施形態では、ライセンス・ファイルを特定するステップは人手によるプロセスであり、ユーザはライセンス・ファイルを特定するスクリプト・ファイルを変更する。ここで使用している「スクリプト・ファイル」なる用語はＵＮＩＸ(R)オペレーティング・システム内のシェル・プログラムとともに使用するシェル・スクリプト・ファイルを指している。これの例は付録に収められている。このようなスクリプト・ファイルは他のプログラミング態様、たとえばＲＥＸＸやＢＡＳＩＣのようなインタプリタ言語に加え、ＣやＰａｓｃａｌのようなコンパイル言語で実装することもできる（この場合、プログラム・ファイルを再コンパイルするのではなく、ライセンス・ファイルなどを特定するのにデータ・ファイルを使用する）。したがって、「スクリプト」なる用語はここでは、本発明の機能を実装するのに使うことのできるすべてのプログラミング言語を表わすのに使用している。
【００３３】
このスクリプト・ファイルは後刻、コンピュータ・システムがデータ収集処理を行うために実行する。ライセンス・ファイルの特定（ステップ３１０）が完了したら、アプリケーション・パーソナリティ・データを特定し（ステップ３１５）、インストールされているアプリケーションを特定するとともにそのようなアプリケーションに対応するカスタマイズされた設定も特定する。ここでも一実施形態では、そのような特定は人手で行い、アプリケーション・パーソナリティ・データに対応するスクリプト・ファイルを変更し引き続いて行われるコンピュータ・システムによる実行に備える。次いで、ライセンス・データとパーソナリティ・データを、収集すべき情報を特定するデータ収集プログラム（データ収集スクリプト）に付加する（ステップ３２０）。本発明の一実施形態によると、複数のワークステーションに対してデータ収集とデータ複製を行うことができる。ワークステーションを特定する際には（ステップ３２５）、収集したデータを保持することになるワークステーションをアドレスによって特定する。次いで、これらのアドレスを収集リストに含める（ステップ３３０）。引き続いて呼び出すデータ収集スクリプトはワークステーション収集リストを読み取り、そのリストで特定されている各ワークステーションごとにデータ収集を行う。
【００３４】
収集リストに列挙された各ワークステーションごとに、データ収集プロセス（事前定義プロセス３４０、詳細は図５参照）、アプリケーション情報収集プロセス（事前定義プロセス３５０、詳細は図６参照）、および品質チェックリスト作成プロセス（事前定義プロセス３６０、詳細は図７参照）を実行し、データを不揮発性記憶媒体に書き込む（ステップ３７０）。データを不揮発性記憶媒体に書き込んだら、データ収集プロセスはステップ３９０で終了する。
【００３５】
図４は図２に示した複製準備・実行プロセス２５０が行う処理の中レベルのフローチャートを示す図である。プロセスは開始４００で開始し、複製プログラムを更新する（ステップ４１０）。複製プログラム更新ステップ（ステップ４１０）では、不揮発性記憶媒体に書き込んだ情報（図３のステップ３７０参照）を用いてワークステーションで実行されることになる複製スクリプトを更新する。次いで、ホスト名ＩＰアドレス・プロセス（ステップ４２０）の間に、ユーザの新ワークステーションに永続的なホスト名とＩＰアドレスを付与する。次いで、複製プログラムを新ワークステーションに転送する（ステップ４３０）。複製プログラムは新ワークステーションにおいてルート・ユーザ・セッションから実行されることになる。次いで、複製プログラム（事前定義プロセス４４０）を実行して旧ワークステーションから以前に収集した設定を新ワークステーションに複製する。複製処理（事前定義プロセス４４０）の詳細は図８に示す。次いで、複製プログラムは（ＵＮＩＸ(R)環境において）Ｘウインドウのカスタマイズを行いうるように、Ｘウインドウ設定プログラム（事前定義プロセス４５０）を呼び出す。Ｘウインドウ設定プログラム（事前定義プロセス４５０）の詳細は図９に示す。次いで、カスタム許可リスト（ｐｅｒｍ．ｌｉｓｔ）を用いてファイル許可を復元する（ステップ４６０）。ファイル許可を復元したら、旧ワークステーションから以前に収集した情報から一意のファイルシステムを生成する（ステップ４７０）。一意のファイルシステムを生成したら、一意のファイルシステムから以前に収集したデータをステップ４７０で生成したファイルシステムに復元する（ステップ４８０）。データを復元したら、複製プロセスは終了ステップ４９０で終了する。
【００３６】
完了したら、ユーザの複製済みワークステーションには、ユーザの旧ワークステーションに存在したパーソナリティ情報と一致するパーソナリティ情報が備えられている。したがって、ユーザは新ワークステーションを再カスタマイズすることに付随する退屈な仕事から解放される。また、パーソナリティ情報を収集しそのデータを用いて一群のワークステーションをカスタマイズする日常的な仕事は自動化して中央集中した場所から実行することが可能になる。他方、システム管理者はユーザがあるワークステーションから別のワークステーションに移動したことに起因してユーザの新ワークステーションを手動で再構成する責任から解放される。ワークステーションに関するデータを取り込み、かつ物理的に分離された媒体に該データを複製する手段を提供しているので、本発明によれば、あるワークステーションから次のワークステーションへの移動がより滑らかになるとともに、ユーザが新ワークステーションを構成する際に経験するダウン時間が低減する。本発明によれば、ＵＮＩＸ(R)ベースのオペレーションにさらなる利点が得られる。ＩＢＭのＡＩＸオペレーティング・システムで開発したけれども、ここに開示する原理は他のＵＮＩＸ(R)環境、たとえばＬＩＮＵＳやＳｏｌａｒｉｓなどに容易に適用することができる。また、ここに開示する原理は非ＵＮＩＸ(R)ベースのオペレーティング・システム、たとえば他のマルチユーザ・オペレーティング・システムや他のマルチタスク・オペレーティング・システム（たとえばＩＢＭのＯＳ／２やマイクロソフトのＷｉｎｄｏｗｓ(R)９５／９８／ＮＴなど）にも適用することができる。多数のコンピュータ・システム間でユーザ環境設定を複製するというコンセプトは新規かつ独自であり、あるワークステーションから別のワークステーションに移転させる必要のあるカスタマイズしたユーザ設定を有するあらゆる人にとって有益なものである。
【００３７】
図５はデータ収集プロセス（図３に示した事前定義プロセス３４０）の低レベルのフローチャートを示す図である。データ収集プロセスはステップ５００で開始する。まず、データを格納するのに使用した不揮発性記憶装置（たとえばテープやディスク駆動装置など）の場所を特定する試験を行う（ステップ５０５）。次いで、以後の処理に備えて環境変数を設定する（ステップ５１０）。環境変数を設定したら、クライアント・ワークステーションと不揮発性記憶装置との間の接続性を確認したのち、ホスト名の作業リストを作成する（ステップ５１５）。接続性を確認したら、ワークステーションの／ｈｏｍｅ／ｌｏｃａｌディレクトリから情報を取り込んだのち、ワークステーション固有の他の情報を収集する（ステップ５２０）。次いで、ネットワーク情報を取り込み（ステップ５２５）（これには主要なネットワーク構成ファイルの取り込みが含まれる）、ワークステーションのイーサネット(R)・アダプタの状態を取得し（ステップ５３０）、イーサネット(R)・アダプタに対応するＩＰアドレスを取得し（ステップ５３５）、ネットワークへのデフォルトのゲートウェイ・アドレスを取得し（ステップ５４０）、デフォルトのネットマスクを取得し（ステップ５４５）、そして、（ドメイン名とネーム・サーバ・アドレスを含む）ドメイン情報を取得する（ステップ５５０）。ネットワーク情報を取り込んだら、システム情報を取り込む（ステップ５５５）。次いで、旧ワークステーションからｔｔｙ情報を取り込む（ステップ５６０）。ｔｔｙ情報を取り込んだら、プリンタ・キュー情報を取り込む（ステップ５６５）。次いで、（図３に示したステップ３１５で先に特定した）アプリケーション固有データを取り込む（ステップ５７０）。アプリケーション固有データを取り込んだら、（図３に示した事前定義プロセス３１０で先に特定した）ライセンス情報を取り込む。最後に、ファイルシステム情報を取り込む（ステップ５８０）。図５に示す収集プロセスの間に取り込んだ情報は着脱可能かつ不揮発性のコンピュータ操作可能媒体、たとえばディスケット、テープ、ＣＤ−Ｒなどに格納する。
【００３８】
図６はアプリケーション情報収集（図３の事前定義プロセス３５０を参照）に含まれる詳細を示す低レベルのフローチャートを示す図である。プロセスを開始したのち（ステップ６００）、着脱可能な不揮発性記憶装置から個別のワークステーションにプログラムをコピーする（ステップ６１０）。次いで、ワークステーションからアプリケーション情報を収集する（ステップ６２０）。次いで、特定した各アプリケーションごとにループ構造に入り、アプリケーション情報を収集する。もしデータを取り込む対象となるアプリケーションが存在しなければ（判断６３０）、「Ｎｏ」分岐６３５を実行し６９０でプロセスを終了する。他方、アプリケーションが存在すれば、「Ｙｅｓ」分岐６４０を実行しアプリケーション情報を取得する。
【００３９】
まず、アプリケーション論理ボリューム名を取り込む（ステップ６５０）。次いで、アプリケーション・マウント・ポイントとファイルシステム名を取り込む（ステップ６６０）。最後に、アプリケーション・ファイルシステムのサイズを取り込み（ステップ６７０）、プロセスをループバックし（ループ６８０）、ステップ６３０で取り込むべきデータを有するアプリケーションが他にもあるか否かを調べる。このループは取り込むべきアプリケーションがなくなるまで続ける。それがなくなった時点で、「Ｎｏ」分岐６３５を実行し６９０でプロセスを終了する。
【００４０】
図７は品質チェックリスト（図３の事前定義プロセス３６０を参照）作成の詳細を示す低レベルのフローチャートを示す図である。プロセスを開始したら（ステップ７００）、クライアントのホスト名を取り込んだことを確認するチェックを行う（ステップ７０５）。次いで、ワークステーションと着脱可能な不揮発性記憶装置との間が接続されていることを確認するチェックを行う（ステップ７１０）。次いで、ネットワーキング・ファイルをチェックし（ステップ７１５）それらが正しいことを確認する。ネットワーキング・ファイルをチェックしたら、／ｈｏｍｅ／ｌｏｃａｌディレクトリの復元をチェックする（ステップ７２０）。次いで、パスワードをチェックしそれらが適切に収集されていることを確認する（ステップ７２５）。パスワードをチェックしたら、ファイルシステムをチェックする（ステップ７３０）。次いで、／ｕｓｒ／ｌｏｃａｌディレクトリの復元をチェックする（ステップ７３５）。上記ディレクトリをチェックしたら、ｔｔｙをチェックし確認する（ステップ７４０）。次いで、すべての包含ファイル／排除ファイルについてＡＤＳＭ（ＩＢＭのADSTAR Distributed Storage Manager）をチェックする（ステップ７４５）。次いで、以前に特定し収集したアプリケーション情報をチェックする（ステップ７５０）。最後に、ワークステーション用のイーサネット(R)とＩＰアドレスをチェックする（ステップ７５５）。すべてのチェックを行ったら、７９０でプロセスを終了する。以上、直列プロセスとして説明したが、上述したプロセスは異なった順序で行うことがことができる。また、あるプロセスは他のプロセスと同時に（並行して）行うことができる。図７のステップ群は命令シートに従って操作者が人手で行うことができるし、あるいは上述したチェック群を実行するように設計したプログラムによって自動的に行うこともできる。
【００４１】
図８は収集したワークステーションのデータを別のワークステーションに複製する手順（図４の事前定義プロセス４４０を参照）を示す低レベルのフローチャートを示す図である。まず、着脱可能な不揮発性記憶装置が導入され設定されていない場合、着脱可能な不揮発性記憶装置を導入し、および／または、ワークステーションとともに動作しうるように設定する（ステップ８１０）。着脱可能な不揮発性記憶装置に、取得したデータの保存元である着脱可能な不揮発性コンピュータ媒体をロードして、以前に取得したユーザ環境データをコピーする（ステップ８２５）。次いで、ネットワーキング・ファイルを復元する（ステップ８３０）。次いで、以前に取得した一意のシステム情報を新ワークステーションに複製する（ステップ８３５）。一意のシステム情報を複製したら、ｈｏｍｅ／ｌｏｃａｌのデータを復元し（ステップ８４０）、ＡＤＳＭファイルをすべて復元する（ステップ８４５）。次いで、以前に特定し取得したアプリケーション・データを新ワークステーションに複製する（ステップ８５０）。
【００４２】
アプリケーションを復元したら、旧ワークステーションから取得したｔｔｙ情報を新ワークステーションに複製する（ステップ８５５）。次いで、旧ワークステーションから取得したリモート・プリンタ定義を新ワークステーションに複製する（ステップ８６０）。リモート・プリンタ定義を複製したら、ワークステーションのＩＰアドレスとワークステーション名（ホスト名）を、ユーザが付与した永続的なホスト名とＩＰアドレスに割り当てる（ステップ８６５）。ホスト名とＩＰアドレスを変更したら、イーサネット(R)・インタフェースをチェックし確認する（ステップ８７０）。次いで、新ワークステーションに複製された主要なファイルのファイル許可を旧ワークステーションから新ワークステーションへの移動を反映するように変更する（ステップ８７５）。次いで、モニタのタイムアウト無効にしたのち（ステップ８８０）、ライセンス・ファイルのデータを旧ワークステーションから新ワークステーションへの被ライセンス・データ（たとえばソフトウェア製品など）の複製を反映させるように変更する（ステップ８８５）。最後に、テンポラリ・ファイルをクリーンアップしたのち（ステップ８９０）、８９５でプロセスを終了する。
【００４３】
上で概説したステップ群はＵＮＩＸ(R)環境用のものである。別の実施形態では、オペレーティング・システムの相違に起因してプロセス・ステップがいくぶん異なる。また、上で概説したステップ群はいくぶん異なる順序で実行することもできるが、ＵＮＩＸ(R)環境用には上で概説した順序が好適である。
【００４４】
図９は新ワークステーションにおいてＸウインドウを変更する手順（図４のステップ４５０参照）の詳細を示す低レベルのフローチャートを示す図である。まず、新ウインドウを生成する（ステップ９１０）。次いで、Ｘウインドウ・セッションを終了し（ステップ９２０）、新ワークステーションのＸウインドウのランドスケープ（横長）設定（ステップ９３０）およびポートレイト（縦長）設定（ステップ９４０）を設定する。設定を変更したら、９９０でＸウインドウ設定のプロセスを終了する。
【００４５】
図１０はここで説明した取得と複製を実行しうるコンピュータ・システムの簡易な例であるコンピュータ・システム１００１を示す図である。コンピュータ・システム１００１はホスト・バス１００５に接続されたプロセッサ１０００を備えている。ホスト・バス１００５にはレベル２（Ｌ２）キャッシュ・メモリ１０１０も接続されている。メインメモリ１０２０に接続されたホスト−ＰＣＩブリッジ１０１５はキャッシュ・メモリ制御機能とメインメモリ制御機能を備えるとともに、ＰＣＩバス１０２５、プロセッサ１０００、Ｌ２キャッシュ１０１０、メインメモリ１０２０、およびホスト・バス１００５の間の転送を処理するバス制御機能を備えている。ＰＣＩバス１０２５はたとえばＬＡＮカード１０３０を含む様々な装置用のインタフェースを提供している。ＰＣＩ−ＩＳＡブリッジ１０３５はＰＣＩバス１０２５とＩＳＡバス１０４０と間の転送を処理するバス制御機能、ＵＳＢ（universal serial bus）機能１０４５、ＩＤＥ装置機能１０５０、電力管理機能１０５５を備えているが、さらにリアル・タイム・クロック（ＲＴＣ）、ＤＭＡ制御、割込みサポート、およびシステム管理バス・サポートなど図示しない他の機能要素を備えていてもよい。周辺装置および入力／出力（Ｉ／Ｏ）装置はＩＳＡバス１０４０に接続された様々なインタフェース１０６０（たとえばパラレル・インタフェース１０６２、シリアル・インタフェース１０６４、赤外線（ＩＲ）インタフェース１０６６、キーボード・インタフェース１０６８、マウス・インタフェース１０７０、および固定ディスク（ＦＤＤ）１０７２など）に取り付けることができる。あるいは、ＩＳＡバス１０４０にスーパーＩ／Ｏコントローラ（図示せず）を取り付け、それにより多くのＩ／Ｏ装置を制御するようにしてもよい。
【００４６】
ＢＩＯＳ１０８０はＩＳＡバス１０４０に接続さており、様々な低レベルのシステム機能とシステム・ブート機能用のプロセッサ実行可能なコードが組み込まれている。ＢＩＯＳ１０８０は任意のコンピュータ読み取り可能な媒体、たとえば磁気記憶装置、光記憶媒体、フラッシュ・メモリ、ランダム・アクセス・メモリ、リード・オンリー・メモリ、および命令を符号化する信号（たとえばネットワークからの信号）を搬送する通信媒体などにも格納することができる。コンピュータ・システム１００１をローカル・エリア・ネットワークを介してＮＩＭサーバに接続するために、ＬＡＮカード１０３０がＰＣＩ−ＩＳＡブリッジ１０３５に接続されている。同様に、電話線接続を用いてＮＩＭサーバに接続するために、シリアル・ポート１０６４とＰＣＩ−ＩＳＡブリッジ１０３５にモデム１０７５が接続されている。
【００４７】
図１０に記載したコンピュータ・システムはここで説明した取得プロセスと複製プロセスを実行しうるけれども、このコンピュータ・システムはコンピュータ・システム一般の単なる一例にすぎない。当業者が認識しうるように、他の多くのコンピュータ・システム構成でＵＮＩＸ(R)オペレーティング・システム（またはマイクロソフト・コーポレーションがライセンスしたＷｉｎｄｏｗｓ(R)９５／９８／ＮＴやＩＢＭがライセンスしたＡＩＸもしくはＯＳ／２など任意のオペレーティング・システム）を実行しうるとともに、ここで説明した処理を実行することができる。
【００４８】
図１１はワークステーション環境の収集と複製に含まれるプロセスの階層を示す図である。この階層図ではシステム複製１１００が最高レベルにある。システム複製１１００は２つの一般的なプロセス・カテゴリ、収集１１１０と複製１１２０に分解することができる。収集１１１０は旧ワークステーションからユーザ環境データを収集するプロセスである。複製１１２０は収集１１１０によって収集した情報を新ワークステーションに複製するプロセスである。収集１１１０は次に示す４つのプロセスに分解することができる。データ収集１１３０は旧ワークステーションからユーザ環境データを収集する（図５に示したフローチャートを参照）。ワークステーション・リスト１１４０にはユーザ環境データを収集させ複製させたワークステーションのリストが含まれている。アプリケーション・データの収集１１５０には旧ワークステーションからアプリケーション・データを収集する処理が含まれている（図６に示したフローチャートを参照）。最後に、品質チェックリスト１１６０にはユーザ環境データの収集に成功したか否かをチェックする処理が含まれている（図７に示したフローチャートを参照）。
【００４９】
階層図の複製１１２０側では、複製１１２０から分解された２つのプロセスが示されている。第１に、複製１１７０は旧ワークステーションから収集したユーザ環境データを新ワークステーションに複製するプロセスである（図８に示したフローチャートを参照）。第２に、Ｘウインドウ設定１１８０は新ワークステーションにおいてＸウインドウ設定を設定するプロセスである（図９に示したフローチャートを参照）。
【００５０】
本発明の好適な実装の１つはクライアント・アプリケーション、すなわちたとえばコンピュータのランダム・アクセス・メモリに常駐するコード・モジュール中の１組の命令（プログラム・コード）である。コンピュータが必要とするまで、この１組の命令は別のコンピュータ・メモリ、たとえばハード・ディスク駆動装置、または着脱可能メモリ、たとえば光ディスク（終局的にはＣＤ−ＲＯＭ駆動装置で使用する）もしくはフロッピー(R)・ディスク（終局的にはフロッピー(R)・ディスク駆動装置で使用する）に格納しておく、あるいは、インターネットその他のコンピュータ・ネットワークを介してダウンロードする。したがって、本発明はコンピュータで使用するコンピュータ・プログラム製品として実装することができる。また、上述した様々な方法は便宜上、ソフトウェアによって選択的に駆動または再構成される汎用コンピュータに実装したが、当業者が認識しうるように、そのような方法は必要な方法ステップを実行しうるように構築されたハードウェア、ファームウェア、または専用装置で実行することができる。
【００５１】
本発明の特定の実施形態を示しかつ説明したが、当業者にとって明らかなように、ここに開示した教示に基づいて、本発明およびそのより広い側面の範囲内で変形と変更をなすことができる。したがって、そのような変形と変更は本発明の真の範囲内のものである。
【図面の簡単な説明】
【００５２】
【図１】コンピュータ操作可能媒体で複製中のユーザ環境データを示すシステム図である。
【図２】本発明の一実施形態を示す高レベルのフローチャートを示す図である。
【図３】収集相を示す中レベルのフローチャートを示す図である。
【図４】複製相を示す中レベルのフローチャートを示す図である。
【図５】データ収集ステップ群を示す低レベルのフローチャートを示す図である。
【図６】アプリケーション情報収集を示す低レベルのフローチャートを示す図である。
【図７】品質チェックリストの作成を示す低レベルのフローチャートを示す図である。
【図８】複製ステップ群を示す低レベルのフローチャートを示す図である。
【図９】ディスプレイ設定の複製を示す低レベルのフローチャートを示す図である。
【図１０】情報処理システムを示すブロック図である。
【図１１】本発明の一実施形態で使用するスクリプト・ファイルを示す階層図である。
【符号の説明】
【００５３】
１００  ユーザの旧ユーザ環境データ
１０５  ネットワーク・インタフェース
１１０  ｔｔｙ定義
１１５  プリンタ定義
１２０  ユーザＩＤ
１２５  パスワード
１３０  他のシステム・パラメータ
１３５  旧ユーザＩＤ
１４０  旧コンピュータ・システム
１５５  新ユーザＩＤ
１６０  新コンピュータ・システム
１６５  ネットワーク・インタフェース
１７０  ｔｔｙ定義
１７５  プリンタ定義
１８０  ユーザＩＤ
１８５  パスワード
１９０  他のシステム・パラメータ
１９５  新ユーザ環境データ
１０００  プロセッサ
１００１  コンピュータ・システム
１００５  ホスト・バス
１０１０  レベル２キャッシュ
１０１５  ホスト−ＰＣＩブリッジ
１０２０  メインメモリ
１０２５  ＰＣＩバス
１０３０  ＬＡＮカード
１０３５  ＰＣＩ−ＩＳＡブリッジ
１０４０  ＩＳＡバス
１０４５  ＵＳＢインタフェース
１０５０  ＩＤＥインタフェース
１０５５  電力管理機能
１０６０  インタフェース
１０６２  パラレル・インタフェース
１０６４  シリアル・インタフェース
１０６６  赤外線（ＩＲ）インタフェース
１０６８  キーボード・インタフェース
１０７０  マウス・インタフェース
１０７２  固定ディスク（ＦＤＤ）
１０８０  ＢＩＯＳ
１１００  システム複製
１１１０  収集
１１２０  複製
１１３０  データ収集
１１４０  ワークステーション・リスト
１１５０  アプリケーション情報の収集
１１６０  品質チェックリスト
１１７０  複製
１１８０  Ｘウインドウ設定
【図１】
2004526257.tif 000003
【図２】
2004526257.tif 000004
【図３】
2004526257.tif 000005
【図４】
2004526257.tif 000006
【図５】
2004526257.tif 000007
【図６】
2004526257.tif 000008
【図７】
2004526257.tif 000009
【図８】
2004526257.tif 000010
【図９】
2004526257.tif 000011
【図１０】
2004526257.tif 000012
【図１１】
2004526257.tif 000013
【国際公開パンフレット】
2004526257.tif 000014
2004526257.tif 000015
2004526257.tif 000016
2004526257.tif 000017
2004526257.tif 000018
2004526257.tif 000019
2004526257.tif 000020
2004526257.tif 000021
2004526257.tif 000022
2004526257.tif 000023
2004526257.tif 000024
2004526257.tif 000025
2004526257.tif 000026
2004526257.tif 000027
2004526257.tif 000028
2004526257.tif 000029
2004526257.tif 000030
2004526257.tif 000031
2004526257.tif 000032
2004526257.tif 000033
2004526257.tif 000034
2004526257.tif 000035
2004526257.tif 000036
2004526257.tif 000037
2004526257.tif 000038
2004526257.tif 000039
2004526257.tif 000040
2004526257.tif 000041
2004526257.tif 000042
2004526257.tif 000043
2004526257.tif 000044
2004526257.tif 000045
2004526257.tif 000046
2004526257.tif 000047
2004526257.tif 000048
【国際公開パンフレット（コレクトバージョン）】
2004526257.tif 000049
2004526257.tif 000050
【国際調査報告】
2004526257.tif 000051
2004526257.tif 000052