(57)【要約】  周知の更新技術を利用して、複製の作成の前に物理マシンにインストールされた更新を自動的に特定し、更新サーバーから更新パッケージを検索し、複製の作成を行うマシンにダウンロードする技術が開示される。更新技術の使用により、置換を必要とする定義されたファイルのセットに影響を及ぼす更新の正確な識別を可能とし、ダウンロードされる必要がある更新の数を最小限にすることができる。さらに、置換ファイルの所望のセットを抽出してキャッシュして、ソースとして同一または異なる物理または仮想マシンを使用するその後の複製作成時に、再利用することを可能とする。最小限の更新のセットをダウンロードして、再利用のためにそれらをキャッシュすることにより、冗長な更新のダウンロードをなくし、その結果、複製の作成にかかる時間をより短くすることができる。
2011501270.tif 000002
【特許請求の範囲】
【請求項１】
ソースマシンの仮想複製を作成する方法であって、
前記ソースマシンを調べて前記ソースマシンに関連付けられた一組のソフトウェア特性を確認するステップであって、前記一組のソフトウェア特性には、前記ソースマシンにインストールされたソフトウェアコンポーネントの識別を含む、ステップと、
前記ソフトウェアコンポーネントのインストールバージョンを判定するステップであって、前記インストールバージョンは、前記ソースマシンに現在インストールされているバージョンである、ステップと、
前記ソフトウェアコンポーネントの前記インストールバージョンが前記ソフトウェアコンポーネントの最新バージョンであるかどうか、更新サーバーから判定するステップと、
前記ソフトウェアコンポーネントの前記最新バージョンを含む、前記ソースマシンのイメージファイルを形成するステップと
を含むことを特徴とする方法。
【請求項２】
前記ソフトウェアコンポーネントの更新を特定するステップであって、前記更新は、前記ソースマシンに現在インストールされている、ステップと、
前記更新のインストールバージョンを判定するステップであって、前記更新の前記インストールバージョンは、前記ソースマシンに現在インストールされているバージョンである、ステップと、
前記更新のインストールバージョンが前記更新の最新バージョンであるかどうか、前記更新サーバーから判定するステップと、
前記ソースマシンの前記イメージファイルに、前記更新の最新バージョンを含めるステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ソースマシンの前記イメージファイルを物理マシン上でブート可能にするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記物理マシン上で仮想マシンを作成するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記仮想マシンを作成するステップは、複数の仮想ハードディスクを組み立てるステップを含み、それぞれの前記仮想ハードディスクは各ファイルのセットによって定義され、前記ハードディスクの少なくとも１つは、前記ソフトウェアコンポーネントの最新バージョンに関連付けられた少なくとも１つのファイルによって定義されることを特徴とする請求項４に記載の方法。
【請求項６】
前記ハードディスクを組み立てるステップは、前記仮想ハードディスクを形成するファイルを論理的に相互接続するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記仮想マシンを前記物理マシン上で起動するステップをさらに含むことを特徴とする請求項４に記載の方法。
【請求項８】
前記ソースマシンの前記イメージファイルに、前記更新の最新バージョンを含めるステップは、
第１のファイルのセットを調べて、前記第１のファイルのセットのいずれかのファイルが前記更新によって影響を受けるかどうか判定するステップと、
少なくとも１つの置換ファイルを含む第２のファイルのセットを形成するステップであって、前記置換ファイルは、前記更新によって影響を受けた前記第１のファイルのセットからのファイルに対応する、ステップと
を含むことを特徴とする請求項２に記載の方法。
【請求項９】
前記置換ファイルを更新サーバーからダウンロードするステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
ダウンロードした前記置換ファイルをキャッシュに格納するステップと、
格納されている前記置換ファイルを前記キャッシュから取り出すステップと、
前記キャッシュから取り出した前記置換ファイルを含む、前記物理マシンの第２のイメージファイルを形成するステップと
をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
ソースマシンの仮想複製を作成する方法であって、
前記ソースマシンにインストールされたソフトウェアコンポーネントの識別を提供するステップと、
前記ソフトウェアコンポーネントの更新を特定するステップであって、前記更新は前記ソースマシンに現在インストールされている、ステップと、
前記更新のインストールバージョンを判定するステップであって、前記更新のインストールバージョンは、前記ソースマシンに現在インストールされているバージョンである、ステップと、
前記更新のインストールバージョンが前記更新の最新バージョンであるかどうか、前記更新サーバーから判定するステップと、
前記更新の最新バージョンを含む、ソースマシンのイメージファイルを形成するステップと
を含むことを特徴とする方法。
【請求項１２】
前記ソースマシンのソフトウェアプロファイルを形成する第１のファイルのセットを提供するステップと、
前記第１のファイルのセットを調べて、前記第１のファイルのセットのいずれかのファイルが前記更新によって影響を受けるかどうか判定するステップと、
少なくとも１つの置換ファイルを含む第２のファイルのセットを形成するステップであって、前記置換ファイルは、前記更新によって影響を受けた前記第１のファイルのセットからのファイルに対応する、ステップと
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記ソースマシンの前記イメージファイルを物理マシン上でブート可能にするステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記物理マシン上で仮想マシンを作成するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記仮想マシンを作成するステップは、複数の仮想ハードディスクを組み立てるステップを含み、それぞれの前記仮想ハードディスクは各ファイルのセットによって定義され、前記ハードディスクの少なくとも１つは、前記ソフトウェアコンポーネントの最新バージョンに関連付けられた少なくとも１つのファイルによって定義されることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ハードディスクを組み立てるステップは、前記仮想ハードディスクを形成するファイルを論理的に相互接続するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記仮想マシンを前記物理マシン上で起動するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
ソースマシンの仮想複製を作成する方法であって、
ソフトウェアコンポーネントに関連付けられたソフトウェア更新を更新サーバーからダウンロードするステップであって、前記ソフトウェアコンポーネントは、前記ソースマシンのソフトウェアプロファイルに含まれている、ステップと、
前記ソースマシンの第１のイメージファイルを形成するステップであって、前記ソフトウェア更新が、前記ソースマシンの第１のイメージファイルの一部を形成する、ステップと、
前記ソフトウェア更新をキャッシュに格納するステップと、
前記ソフトウェア更新を前記キャッシュから取り出すステップと、
前記キャッシュから取り出した前記ソフトウェア更新を含む、前記ソースマシンの第２のイメージファイルを形成するステップと
を含むことを特徴とする方法。
【請求項１９】
前記キャッシュから取り出したファイルを物理マシン上でブート可能にするステップをさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記キャッシュから取り出したファイルを実行するステップを含む、前記物理マシン上で仮想マシンを起動するステップをさらに含むことを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン複製（virtual machine facsimile）を作成するための更新の管理に関する。
【背景技術】
【０００２】
物理マシンおよび仮想マシンは、パッチおよび更新のインストールによって定期的にアップグレードされるオペレーティングシステムおよびアプリケーションを有する。このようなパッチおよび更新の例としては、サービスパック、ホットフィックス、セキュリティー問題のための修正、およびインストールされているバージョンのソフトウェアにおけるバグのための修正が含まれるが、これに限定されない。このような更新は、物理マシンからの仮想マシン複製の作成時に、置き換えられる必要がある定義されたセット中のファイルに影響を及ぼす場合がある。そのため、定義されたファイルのセット中の各ファイルに影響を及ぼした更新を特定することは、対応する置換ファイルの正しいバージョンを決めるために重大である場合がある。
【０００３】
関連する一連の更新が特定されると、更新の保存場所から更新をダウンロードし、更新を調べて置換ファイルを検索する必要がある。適切な置換ファイルは、仮想マシン複製上にコピーされる必要がある。このようなダウンロード処理および置換処理は、すべての仮想マシン複製の作成時に行われる必要がある。
【０００４】
置換の問題に対する現在の解決策は、一般的に、関連する更新を特定してダウンロードする手動の処理を使用してアドレスを指定し、仮想マシン複製において影響を受けるファイルを探して置き換える専用スクリプトを構築することである。このような処理は、オペレーティングシステムおよびアプリケーションのための新たな更新がリリースされるとき、スクリプトを最新の状態にしておくために、試行錯誤およびユーザーの介入を必要とする。新たな更新は頻繁にリリースされる可能性があるため、面倒な繰り返し作業になることがある。置換スクリプトを変更することにより、これらのスクリプトが正しく動作することを確保するための追加のテスト負荷が課されることが多い。
【発明の概要】
【０００５】
既存の更新技術を利用して、複製の作成の前に物理マシンにインストールされた更新を自動的に特定し、更新サーバーから更新パッケージを検索し、複製の作成を行うマシンにダウンロードすることができる。このような更新技術の使用により、置換を必要とする定義されたファイルのセットに影響を及ぼす更新の正確な識別を可能とし、ダウンロードされる必要がある更新の数を最小限にすることができる。さらに、置換ファイルの所望のセットを抽出してキャッシュすることができ、ソースとして同一または異なる物理または仮想マシンを使用するその後の複製作成時に、再利用することを可能とする。最小限の更新のセットをダウンロードして、再利用のためにそれらをキャッシュすることにより、冗長な更新のダウンロードをなくし、その結果、複製の作成にかかる時間をより短くすることができる。
【図面の簡単な説明】
【０００６】
【図１】仮想マシン複製を作成する処理のフローチャートである。
【図２】例示の更新マネージャシステムを示す図である。
【図３】ソースマシンにインストールされた更新またはパッチが、複製の作成時に置き換えられる必要があるかどうかを判定するための更新技術を使用する処理のフローチャートである。
【図４】今後の複製の作成時に再利用するために、抽出した置換ファイルをキャッシュに格納する処理のフローチャートである。
【図５】例示の実施形態および態様を実装し得る例示のコンピューター環境のブロック図である。
【発明を実施するための形態】
【０００７】
図１は、仮想マシン複製を作成する処理１０のフローチャートである。仮想マシン複製を、「ソース」から作成することができる。「ソース」は、物理マシン、現在実行中の仮想マシン、または既存のイメージファイル（例えば、現在実行中でない仮想マシンまたはマシンのバックアップ）とすることができる。
【０００８】
符号１２で、ソースを調べて、そのハードウェアプロファイルおよびソフトウェアプロファイルを確認することができる。本明細書では、用語「プロファイル」は、一組のハードウェア特性および／またはソフトウェア特性を指す。例えば、ソースを調べて、ソースにインストールされているオペレーティングシステムのバージョン、ならびに、任意のシステムまたはアプリケーションのバージョンを判定することができる。ソースを調べて、インストールされた可能性がある任意のソフトウェアパッチまたは更新を特定することができる。ソースのハードウェアを調べて、ソースがどのくらいのメモリおよび処理能力（別名、ＣＰＵ）を有するか、スースがどのくらいのネットワークカードを有するか、ソースがどのようなネットワークに接続されているか、ソースが有するディスクの数、種類、サイズなど、判定することができる。
【０００９】
ソースが既存のイメージファイルである場合、ソースは、実行中のマシンとしてよりも、データ記憶媒体にファイルによって表現され得る。従って、仮想マシン構成を調べて、ハードウェアプロファイルおよびソフトウェアプロファイルを確認することができる。
【００１０】
ソースが現在実行中の物理マシンまたは仮想マシンである場合、物理マシンを調べて、ハードウェアプロファイルおよびソフトウェアプロファイルを確認することができる。符号１２で、ソースを調べる一環として、更新技術を利用して、複製を作成している物理マシンまたは仮想マシンに現在インストールされている可能性がある更新を検出することができる。本明細書では、用語「更新」には、ソフトウェアパッチが含まれる。用語「更新技術」は、特定の「マネージド」ソフトウェアコンポーネントのバージョン管理のための「更新マネージャ」の使用を指す。
【００１１】
図２に、例示の更新マネージャシステム２０を示す。更新クライアント２１は、マネージドソフトウェア２３を含むマシン２２にアクセスする。すなわち、このソフトウェアのバージョンを、更新マネージャ２０が最新の状態にしておくように努める。一般的に、更新クライアント２１は、マネージドソフトウェア２３がインストールされるマシン２２に常駐し、作動する。
【００１２】
更新サーバー２４は、任意の数のマネージドソフトウェアコンポーネント２５の最新のバージョンのトラックを保持する。更新サーバー２４は、一般的に、マネージドソフトウェア２３が存在するマシン２２（すなわち、クライアントマシン）から離れている。更新サーバー２４およびクライアントマシン２２は、一般的に、インターネットなどのネットワーク２６を介して相互接続される。このような更新サーバーの例としては、Ｗｉｎｄｏｗｓ（登録商標）  Ｕｐｄａｔｅ  Ｓｅｒｖｅｒ（ＷＳＵＳ）、またはＭｉｃｒｏｓｏｆｔ（登録商標）  Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ（ＳＭＳ）が含まれる。
【００１３】
図３に、ソースを調べる（図１の符号１２）一環として更新を検出する更新技術を使用する方法３０を示す。図３に示されるように、更新クライアントを利用してソースを調べ、ソースが特定のマネージドコンポーネントのどのバージョンを含むか判定することができる。どのコンポーネントがマネージドコンポーネントであるか「わかる」ように、符号３１で、更新クライアントはマネージドコンポーネントのリストを維持し得る。ソースに存在する任意のまたはすべてのソフトウェアコンポーネントを、マネージドコンポーネントとすることができる。
【００１４】
符号３２で、更新クライアントはソースを調べて、ソースが現在、各マネージドコンポーネントのどのバージョンを含むか判定することができる。符号３３で、更新クライアントは、マネージドコンポーネントおよび各コンポーネントに関連付けられるバージョンのリストを（例えば、ソースマシンのメモリに）格納することができる。
【００１５】
符号３４で、更新クライアントはソースを調べて、任意の更新がマネージドコンポーネントのいずれかに適用されたかどうかを判定することができる。適用されている場合、符号３５で、更新クライアントは、その更新に関連付けられた更新ＩＤ（例えば、バージョン番号）および更新が適用されたマネージドコンポーネントを格納することができる。
【００１６】
従って、更新クライアントを利用してソースを調べて、ソースにインストールされた特定のソフトウェアコンポーネントの最新バージョン（ソースにインストールされた可能性がある任意の更新（パッチを含む）の最新バージョンを含む）を特定することができる。後述の通り、ソースに現在インストールされている更新を特定する更新技術の使用により、キャプチャしたイメージファイルをブート可能にするためにダウンロードされる必要があるファイルの数を減らすことができる。
【００１７】
仮想マシン複製を作成する処理の説明を、再度図１を参照して続ける。符号１２でソースが調べられた後、ソースを「イメージ化」することができる。ソースをイメージ化する方法は、ソース自身がイメージファイルであるかどうかに依存し得る。「イメージファイル」を、物理マシンのコンテンツ（例えば、ハードウェアプロファイルおよびソフトウェアプロファイル）を複製する一組のファイルと考えることができる。
【００１８】
符号１４で、ソースがイメージファイルであると判定される場合、符号２２で、イメージファイルを形成する一組のファイルを読み込み、必要に応じてこのようなファイルのフォーマットを変換して所望のファイルフォーマットでファイルのセットを生成することによって、ソースをイメージ化し得る。
【００１９】
符号１４で、ソースが単なるイメージファイルではないと判定される場合、つまり、ソースが現在実行中の物理マシンまたは仮想マシンのいずれかである場合、符号１６で、物理マシンをイメージ化し得る。イメージ化すべきマシンが現在実行中の仮想マシンである場合、「イメージ化すべき物理マシン」は、仮想マシンがエミュレートする物理マシンを指す。物理マシンをイメージ化する技術は周知である。このような技術の例は、２００６年５月８日に出願された米国特許出願１１／４３０，６７６において開示され、請求項に記載されている。この出願は、参照によって本明細書に組み込まれる。
【００２０】
符号１８で、キャプチャしたイメージファイルを「ブート可能」にし得る。すなわち、符号１４または符号２２でキャプチャしたイメージファイルを、複製を「起動する」ために使用される仮想サーバーソフトウェアによってエミュレートされる構成と互換性があるようにし得る。
【００２１】
図４は、キャプチャしたイメージファイルをブート可能にする例示の処理４０のフローチャートである。符号４１で、（図１の符号１２で特定した）最小限の更新リストを更新サーバーから複製の作成処理を行うマシンにダウンロードすることができる。更新技術を使用して、更新リストの問い合わせ、検索、およびダウンロードをすることができる。
【００２２】
符号４２で、更新を調べて、置換または追加される必要があるそれぞれのファイルのための適切な置換ファイルを抽出することができる。これらのファイルを用いて置換を行い、仮想マシン複製を使用可能にすることができる。もちろん、既存のファイルを置き換えることも、また、新たなファイルを追加またはインストールすることもできることを理解されたい（例えば、エミュレートされたデバイスのドライバ）。符号４３で、今後の複製作成時に再利用するために、抽出した置換ファイルを、複製の作成を行うマシン上のキャッシュに格納することができる。これは、各更新が一度だけダウンロードされることを確実にする最適化である。必要な更新がすべてキャッシュに追加されると、今後の複製の作成は、ダウンロードを必要とせずに進む。
【００２３】
再度図１を参照すると、符号２０で、仮想マシンを作成して設定することができる。すなわち、キャプチャしたイメージファイルを形成するファイルセットによって定義されるハードディスクを論理的に組み立てて、仮想マシンを形成することができる。ハードディスクは互いに論理的に接続され、仮想マシンは起動を開始し得る。従って、更新技術を、既存の物理マシンまたは仮想マシンから仮想マシン複製を作成する処理に利用することができる。
【００２４】
例示的なコンピューター環境
図５に、例示の実施形態および態様を実装し得る例示的なコンピューター環境を示す。コンピューターシステム環境１００は、適切なコンピューター環境の単なる一例であり、特許請求の範囲の方法または装置の使用または機能性の範囲について何ら制限を示唆することを意図していない。コンピューター環境１００は、例示的動作環境１００に示されるコンポーネントの任意の１つまたは組合せに関して、如何なる依存も要件も有するものと解釈されるべきではない。
【００２５】
多数の他の汎用または専用コンピューターシステム環境または構成を使用することができる。最適な既知のコンピューターシステム、環境、および／または構成の例には、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップ装置、マルチプロセッサーシステム、マイクロプロセッサーベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、上記のシステムまたは装置のいずれかを含む分散コンピューター環境などが含まれるが、これらに限定されない。
【００２６】
コンピューターによって実行されるプログラムモジュールなど、コンピューター実行可能な命令を使用することができる。一般に、プログラムモジュールには、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。タスクが、通信ネットワークを通じてリンクされたリモート処理装置によって実行される分散コンピューター環境を使用することができる。分散コンピューター環境において、プログラムモジュールを、メモリ記憶装置を含むローカルおよびリモートのコンピューター記憶媒体に配置することができる。
【００２７】
図５を参照すると、例示的システムは、コンピューター１１０の形式の汎用コンピューター装置を含む。コンピューター１１０のコンポーネントは、処理ユニット１２０、システムメモリ１３０、および、システムメモリを含む種々のシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１を含み得るが、これらに限定されない。システムバス１２１は、メモリバスまたはメモリコントローラー、周辺バス、および任意の様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかの種類のバス構造のいずれかとすることができる。そのようなアーキテクチャには、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、およびメザニンバスとしても知られるＰＣＩ（Peripheral Component Interconnect）バスが含まれるが、これらに限定されない。システムバス１２１はまた、通信装置間で、２地点間接続、スイッチング構造または同種のものとして実装し得る。
【００２８】
コンピューター１１０は一般的に様々なコンピューター読み取り可能な媒体を含む。コンピューター読み取り可能な媒体は、コンピューター１１０によりアクセス可能な任意の利用可能な媒体とすることができ、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が含まれる。コンピューター読み取り可能な媒体には、コンピューター記憶媒体および通信媒体が含まれるが、これらに限定されない。コンピューター記憶媒体には、コンピューター読み取り可能な命令、データ構造体、プログラムモジュール、または他のデータなどの情報を格納する任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が含まれる。コンピューター記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disk）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を格納するために使用可能であり、コンピューター１１０によりアクセス可能な任意の他の媒体が含まれるが、これらに限定されない。通信媒体は、典型的には、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の転送機構などの変調データ信号として具現化したものであり、また、任意の情報配信媒体が含まれる。「変調データ信号」という用語は、その特性の１つまたは複数が、その信号中の情報を符号化するように設定または変更された信号を意味する。通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線および他の無線媒体などの無線媒体が含まれるが、これらに限定されない。上記の任意の組合せも、コンピューター読み取り可能な媒体の範囲内に含まれるものとする。
【００２９】
システムメモリ１３０は、ＲＯＭ（Read Only Memory）１３１およびＲＡＭ（Random Access Memory）などの、揮発性および／または不揮発性メモリの形式のコンピューター記憶媒体が含まれる。起動時などにコンピューターシステム１１０内の要素間の情報の転送を助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）は、一般的にはＲＯＭ１３１内に格納される。ＲＡＭ１３２は一般的には、処理ユニット１２０によりすぐにアクセス可能な、および／または現在処理ユニット１２０により操作されているデータおよび／またはプログラムモジュールを含有する。限定ではなく例として、図５は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００３０】
コンピューター１１０はまた、他の取り外し可能／取り外し不可能な、揮発性／不揮発性コンピューター記憶媒体を含み得る。単なる例として、図５は、取り外し不可能な不揮発性の磁気媒体に読み書きするハードディスクドライブ１４１、取り外し可能な不揮発性の磁気ディスク１５２に読み書きする磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたは他の光媒体など、取り外し不可能な不揮発性の光ディスク１５６に読み書きする光ディスクドライブ１５５を示す。例示的動作環境で使用可能な他の取り外し可能／取り外し不可能な、揮発性／不揮発性コンピューター記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが含まれるが、これらに限定されない。ハードディスクドライブ１４１は一般的には、インターフェース１４０などの取り外し不可能なメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般的には、インターフェース１５０などの取り外し可能なメモリインターフェースによりシステムバス１２１に接続される。
【００３１】
上記で検討し図５に示すドライブおよびそれらに関連するコンピューター記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、およびコンピューター１１０の他のデータの記憶域を提供する。図５において、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントが、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と、同じでもあることも異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、ここでは異なる番号を与えて、それらが少なくとも異なる複製品であることを示す。ユーザーは、キーボード１６２および一般にはマウスと称されるポインティングデバイス１６１、トラックボール、またはタッチパッドなどの入力装置を介して、コマンドおよび情報をコンピューター１１０に入力し得る。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる。これらの入力装置および他の入力装置は、システムバスに結合されるユーザー入力インターフェース１６０を介して、処理ユニット１２０へ接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースにより接続することもできる。モニタ１９１または他のタイプのディスプレイ装置も、ビデオインターフェース１９０などのインターフェースを介して、システムバス１２１へ接続される。モニタに加えて、コンピューターは、出力周辺インターフェース１９５を介して接続し得るスピーカー１９７およびプリンタ１９６など、他の周辺出力装置を含み得る。
【００３２】
コンピューター１１０は、リモートコンピューター１８０など、１つまたは複数のリモートコンピューターへの論理接続を使用するネットワーク化された環境において動作し得る。リモートコンピューター１８０は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードとすることができ、図５ではメモリ記憶装置１８１のみを示したが、一般的にはコンピューター１１０に関して上記で記述した多くのまたは全ての要素を含む。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００３３】
ＬＡＮネットワーク環境で使用されるとき、コンピューター１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ  １７１に接続される。ＷＡＮネットワーク環境で使用されるとき、コンピューター１１０は一般的には、モデム１７２、またはインターネットなどのＷＡＮ  １７３を介した通信を確立するための他の手段を含む。モデム１７２は、内蔵でも外付けでも良く、ユーザー入力インターフェース１６０または他の適切な機構を介して、システムバス１２１に接続し得る。ネットワーク化された環境では、コンピューター１１０に関して、またはその一部として示されたプログラムモジュールをリモートメモリ記憶装置に格納することができる。限定ではなく例として、図５は、リモートアプリケーションプログラム１８５をメモリ装置１８１上に備わるものとして示す。図示されたネットワーク接続は例示的なものであり、コンピューター間で通信リンクを確立する他の手段を使用できることは理解されよう。
【００３４】
本発明の主題事項を構造的特徴および／または方法論的動作に固有の言語で説明したが、添付の特許請求の範囲で定義される本発明の主題事項は、必ずしも説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。寧ろ、特定の特徴および動作は、本発明を実装する例示的な形態として開示されている。
【図１】
2011501270.tif 000003
【図２】
2011501270.tif 000004
【図３】
2011501270.tif 000005
【図４】
2011501270.tif 000006
【図５】
2011501270.tif 000007
【国際調査報告】
2011501270.tif 000008
2011501270.tif 000009