(57)【要約】  複数の統合されたコンピュータサーバがインストールされることが可能である。ユーザインタフェースが提示され、インストール回答が受け取られることが可能である。サーバおよびソフトウェアが、インストール回答に従ってインストールされることが可能である。１つのサーバ上で与えられたインストール回答が、他のサーバをインストールするのに使用されることが可能である。コンピュータサーバのインストールは、自動化されたプロセスまたは分散プロセスであることが可能である。サーバにアプリケーションをインストールする決定が行われることが可能である。構成設定が受け取られ、アプリケーションをインストールするのに使用されることが可能である。構成設定は、１つのサーバ上で受け取られて、他のサーバにアプリケーションをインストールするのに使用されることが可能である。コンピュータサーバは、インストール質問を尋ね、インストール回答を受け取ることによってインストールされることが可能である。次に、サーバを構成することに関するインストール決定が行われることが可能である。知識ベースが調べられることが可能であり、さらなるインストール決定が行われることが可能である。
2009527848.tif 000002
【特許請求の範囲】
【請求項１】
複数の統合されたコンピュータサーバをインストールするためのコンピュータによって実施される方法であって、
前記複数の統合されたコンピュータサーバをインストールするユーザに、前記複数のコンピュータサーバの第１のサーバ上で提示される１つまたは複数のユーザインタフェースを提示すること、
前記１つまたは複数のユーザインタフェースに応答して、前記ユーザから第１のインストール回答を受け取ること、
前記第１のインストール回答に従って前記第１のサーバにソフトウェアをインストールすること、および
前記第１のインストール回答に従って、前記複数の統合されたコンピュータサーバの第２のサーバにソフトウェアをインストールすることを含むことを特徴とする方法。
【請求項２】
前記第１のサーバにソフトウェアをインストールすることは、前記第１のサーバにアプリケーションの１つまたは複数の構成要素をインストールすることを含み、前記第２のサーバにソフトウェアをインストールすることは、前記第２のサーバに前記アプリケーションの他の１つまたは複数の構成要素をインストールすることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のサーバにソフトウェアをインストールすることは、前記第１のインストール回答に基づいてインストール決定を行うことを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第２のサーバにソフトウェアをインストールすることは、
前記第１のインストール回答に基づき、前記第１のサーバ上のインストール知識ベースを調べること、および
前記調査に基づいてインストール決定を行うことを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のサーバにソフトウェアをインストールすることは、
前記第１のインストール回答に基づき、前記第２のサーバ上のインストール知識ベースを調べること、および
前記調査に基づいて、前記第２のサーバにソフトウェアをインストールすることを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記第１のサーバ上に前記第１のインストール回答を格納すること、および
前記第１のサーバから前記第２のサーバに前記第１のインストール回答を伝送することをさらに含み、前記第１のインストール回答に従って前記第２のサーバにソフトウェアをインストールすることは、前記伝送された第１のインストール回答を使用することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記格納された第１のインストール回答を伝送することは、
前記第１のサーバ上で、リモートでアクセス可能なサービスを提供すること、および
前記第２のサーバからの前記リモートでアクセス可能なサービスへの接続に応答して、前記第１のサーバから前記格納された第１のインストール回答を送信することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のインストール回答を伝送する前に、前記第１のサーバ上で前記第１のインストール回答を暗号化することをさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記第２のサーバにソフトウェアをインストールすることは、
前記第１のサーバから前記第１のインストール回答を受信すること、および
前記第１のインストール回答を使用して、前記第２のサーバにソフトウェアをインストールすることに関するインストール質問に回答することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１のサーバから前記第１のインストール回答を受信することは、前記第１のサーバ上で実行されるリモートでアクセス可能なサービスを介して前記第１のインストール回答を受信することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記第２のサーバにソフトウェアをインストールする前に、前記第２のサーバ上のユーザインタフェースに応答して、前記ユーザから第２のインストール回答を受け取ることをさらに含み、前記第２のインストール回答は、セキュリティ関連であることを特徴とする請求項１に記載の方法。
【請求項１２】
前記複数の統合されたコンピュータサーバと関係する複数のコンピューティングデバイスをインストールすることをさらに含み、前記複数のコンピューティングデバイスをインストールすることは、
前記第１のインストール回答に従って、前記複数のコンピューティングデバイスの或るコンピューティングデバイスにソフトウェアをインストールすることを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
複数の統合されたコンピュータサーバへの複数のアプリケーションの自動化された分散インストールのためのコンピュータによって実施される方法であって、
前記複数の統合されたコンピュータサーバの第１のサーバに、前記複数のアプリケーションの第１のアプリケーションをインストールするように決定すること、
ユーザインタフェースを介して、前記第１のサーバに前記第１のアプリケーションをインストールするユーザから構成設定を受け取ること、
前記構成設定を使用して前記第１のサーバに前記第１のアプリケーションをインストールすること、
前記複数の統合されたコンピュータサーバの第２のサーバに、前記複数のアプリケーションの第２のアプリケーションをインストールするように決定すること、および
前記構成設定を使用して前記第２のサーバに前記第２のアプリケーションをインストールすることを含むことを特徴とする方法。
【請求項１４】
前記第１のサーバに前記第１のアプリケーションをインストールするように決定することは、前記第１のサーバによって実行される自動化された発見プロセスの結果に基づくことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記第１のサーバに前記第１のアプリケーションをインストールするように決定することは、前記第１のサーバのハードウェア構成に基づくことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記第１のサーバに前記第１のアプリケーションをインストールするように決定することは、前記第１のサーバ上に配置されたインストール知識ベースを調べることを含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記構成設定に基づき、前記第１のサーバに前記複数のアプリケーションの第３のアプリケーションの１つまたは複数の構成要素をインストールすること、および
前記構成設定に基づき、前記第２のサーバに前記第３のアプリケーションの他の１つまたは複数の構成要素をインストールすることをさらに含み、前記第３のアプリケーションは、マルチサーバアプリケーションであることを特徴とする請求項１３に記載の方法。
【請求項１８】
複数のコンピュータサーバをインストールするためのコンピュータによって実施される方法を実行するためのコンピュータ命令が符号化されているコンピュータ可読媒体であって、
前記方法は、
前記複数のサーバをインストールするユーザにインストール質問を尋ねること、
前記ユーザに前記インストール質問を尋ねることに応答して、前記ユーザからインストール回答を受け取ること、
前記インストール回答に基づき、前記複数のサーバの第１のサーバを構成することに関するインストール決定を行うこと、
前記インストール回答に基づき、インストール知識ベースを調べること、および
前記インストール知識ベースの前記調査に基づき、前記複数のサーバの第２のサーバを構成することに関する１つまたは複数のさらなるインストール決定を行うことを含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
前記インストール決定は、レガシーサーバから前記第１のサーバにサービスを移すことと関係することを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記インストール知識ベースの前記調査に基づき、前記ユーザにさらなるインストール質問を尋ねることを省くことをさらに含むことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータサーバの統合されたインストールに関する。
【背景技術】
【０００２】
技術の進歩にもかかわらず、複数のコンピュータサーバの統合されたインストールは、困難な作業である可能性がある。例えば、オペレーティングシステムおよびアプリケーションソフトウェアを含む複数のサーバをインストールするユーザは、サーバを正しくインストールする、または構成する知識または専門技術を有さない可能性がある。複数のサーバへのインストールには、複雑なインストール作業および構成作業がかかわる可能性がある。例えば、一部のアプリケーションは、複数のサーバにわたってインストールされて、動作しなければならない可能性がある。さらに、ユーザが、既存のネットワークをアップグレードするプロセスにおいて複数のサーバをインストールしている場合、ソフトウェア、サービス、および構成設定が、それらの新たなサーバに移されなければならない可能性がある。
【０００３】
一般に、複数のコンピュータサーバをインストールするために、ユーザは、オペレーティングシステムやアプリケーションなどのソフトウェアを購入する。次に、ユーザは、これらのオペレーティングシステムおよびアプリケーションを、各サーバに行き、ユーザインタフェースを使用することによって、各サーバにインストールする。また、ユーザは、各サーバ上でオペレーティングシステムおよびアプリケーションを正しく構成しなければならない。このプロセスは、時間がかかり、誤りが生じやすい。
【０００４】
したがって、複数のコンピュータサーバの統合されたインストールと関係する技術には、向上の余地が十分にある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、複数のコンピュータサーバの統合されたインストールに関する方法を提供する。
【課題を解決するための手段】
【０００６】
複数のコンピュータサーバの統合されたインストールと関係する様々な技術が、適用されることが可能である。そのような技術は、複数の統合されたコンピュータサーバをインストールするために使用されることが可能である。例えば、１つまたは複数のユーザインタフェースが、第１のサーバ上で提示されることが可能であり、インストール回答（installation answer）が、受け取られることが可能である。ソフトウェアが、このインストール回答に従って第１のサーバにインストールされることが可能である。また、ソフトウェアは、このインストール回答に従って第２のサーバにインストールされることも可能である。さらに、インストール決定（installation decision）が、インストール回答に基づいて行われることが可能であり、知識ベース（knowledge base）が調べられることが可能である。また、インストール回答は、格納され、サーバ間で伝送されることも可能である。
【０００７】
また、このような技術は、統合されたコンピュータサーバへのアプリケーションの自動化された分散インストールのために使用されることも可能である。例えば、第１のサーバに第１のアプリケーションをインストールする決定が、行われることが可能である。構成設定（configuration setting）が、ユーザによって受け取られて、第１のアプリケーションをインストールするのに使用されることが可能である。第２のサーバに第２のアプリケーションをインストールする決定が、行われることが可能である。第２のアプリケーションは、その構成設定を使用して第２のサーバにインストールされることが可能である。これらのアプリケーションをインストールする決定は、例えば、自動化された発見プロセス、サーバのハードウェア構成、または知識ベースを調べることに基づくことが可能である。
【０００８】
また、このような技術は、複数のコンピュータサーバをインストールするために使用されることも可能である。ユーザにインストール質問（installation question）が尋ねられることが可能であり、これに応答して、インストール回答が受け取られることが可能である。第１のサーバを構成することに関するインストール決定が、このインストール回答に基づいて行われることが可能である。また、インストール知識ベースが、インストール回答に基づいて調べられることも可能である。第２のサーバを構成することに関する、さらなる１つまたは複数のインストール決定が、この調査（consultation）に基づいて行われることが可能である。
【０００９】
本発明の以上、およびその他の目的、特徴、および利点は、添付の図面を参照して進められる、以下の詳細な説明から、より明白となろう。
【発明を実施するための最良の形態】
【００１０】
（実施例１  例示的なインストール可能なサーバプログラム）
本明細書の実施例のいずれにおいても、インストールされるソフトウェアは、任意のインストール可能なサーバプログラムであることが可能である。例えば、インストール可能なサーバプログラムには、クライアントによって使用されるようにサービスを提供する任意のサーバアプリケーションが含まれることが可能である。実際には、そのようなサーバアプリケーションには、ファイル共有サービス、電子メールサーバ、ファイアウォールサービス、スパム対策サービス、ウイルス対策検出サービス、ネットワーキングサービス（例えば、ネットワークを構成するＩＤおよび関係を管理するためのサービス）などが含まれることが可能である。
【００１１】
また、インストール可能なサーバプログラムには、オペレーティングシステム、オペレーティングシステム拡張機能（enhancement）、またはこの両方などの、インストール可能なオペレーティングシステムプログラムが含まれることも可能である。
【００１２】
（実施例２  例示的なインストール可能なサーバプログラムスイート）
本明細書の実施例のいずれにおいても、インストール可能なサーバプログラムは、サーバプログラムスイート（server program suite）として提供されることが可能である。例えば、インストール可能なサーバプログラムのコレクションを、２つ以上のサーバコンピュータのセット上で展開することが可能である単一の購入可能なユニットとしてバンドルすることが望ましい可能性がある。
【００１３】
インストール可能なサーバプログラムスイートは、ネットワークの或る特定の態様（例えば、ネットワークセキュリティ）を中心とするスイート、または様々なインストール可能なサーバプログラムを含むフル機能のスイート（例えば、ファイル共有サービス、電子メールサーバ、ファイアウォールサービス、スパム対策サービス、ウイルス対策検出サービス、ネットワーキングサービス、または以上の任意の組合せを含むバンドルされたサーバスイート）であることが可能である。
【００１４】
所望される場合、このスイートは、特定の顧客（例えば、中規模の企業）を対象とすることが可能である。また、このスイートは、その他のプログラムが依拠するオペレーティングシステムプログラム（例えば、オペレーティングシステムインフラストラクチャ、オペレーティングシステム拡張機能、またはこの両方）を含むことも可能である。
【００１５】
（実施例３  サーバプログラムスイートの例示的なインストール）
本明細書の実施例のいずれにおいても、説明されるインストール技術は、複数のコンピュータサーバにまたがってサーバプログラムスイートをインストールするのに使用されることが可能である。図１は、サーバプログラムスイート１１０の中の複数のインストール可能なサーバプログラム１２０Ａ〜１２０Ｎが、複数のコンピュータサーバ１８０Ａ〜１８０Ｎにまたがるインストールされたプログラム１９０Ａ〜１９０Ｎとしてインストールされる、例示的なシナリオ１００を示す。
【００１６】
この実施例では、少なくとも１つのプログラム１２０Ｂが、２つのサブプログラム１９０Ｂ、１９０Ｃとして、２つのサーバ１８０Ａおよび１８０Ｂにまたがって分割されることになる。一部の事例では、そのようなサブプログラムは、冗長なサービス（redundant service）であることが可能である（例えば、１９０Ｂは、１９０Ｃの冗長なサービスである）。あるいは、そのようなサブプログラムは、一次／二次（primary/secondary）関係を有することが可能である（例えば、１９０Ｂが、一次サービスであり、１９０Ｃが、この一次サービスに関する二次サービスである）。あるいは、そのようなサブプログラムは、単に、同一のサービスの異なる部分であることが可能である（例えば、１９０Ｂが、ローカルクライアントのための電子メールサービスを提供し、１９０Ｃが、リモートクライアントのための電子メールサービスを提供する）。
【００１７】
インストール中、１つまたは複数のインストールユーティリティが、サーバ１８０Ａ〜１８０Ｎの上に配置されることも可能である。このようにして、ソフトウェアスイートの分散型インストールが、サーバ１８０Ａ〜１８０Ｎにわたって分散されたインストールユーティリティによって達せられることが可能である。異なるサーバ１８０Ａ〜１８０Ｎにおけるインストールユーティリティは、異なる機能を実行することができ、本明細書で説明されるとおり、互いに通信して、複数のサーバ１８０Ａ〜１８０Ｎにまたがってソフトウェアスイートを協力してインストールすることができる。例えば、１つのサーバ（例えば、１８０Ａ）上のインストールユーティリティが、他のサーバ（例えば、１８０Ｂ〜１８０Ｎ）からアクセスされることが可能な（例えば、ネットワークを介して）、リモートでアクセス可能なサービスを提供することが可能である。
【００１８】
所望される場合、サーバプログラムスイートは、別個のインストールのために当初、開発されたインストール可能なプログラムのセットをモデルとすることが可能である。分散インストールのために、これらのプログラムを一緒にバンドルすることにより、このスイートの中のプログラムをインストールすることにかかわる時間および労力が低減されることが可能である。
【００１９】
（実施例４  サーバプログラムスイートをインストールするための例示的な方法）
図２は、サーバプログラムスイートをインストールするための例示的な方法２００を示し、方法２００は、例えば、図１に示されるシナリオの一環として実行されることが可能である。２１０において、サーバプログラムスイートからの１つのインストール可能なサーバプログラムが、１つのサーバ（例えば、マルチサーバ環境の１つのサーバ）にインストールされる。２２０において、サーバプログラムスイートからの別のインストール可能なサーバプログラムが、異なるサーバにインストールされる。２３０において、サーバプログラムスイートからのさらに別のインストール可能なサーバプログラムが、２つのサーバにまたがってインストールされる（例えば、サーバプログラムのいくつかの構成要素が、第１のサーバにインストールされ、他のいくつかの構成要素が、第２のサーバにインストールされる）。
【００２０】
（実施例５  例示的なインストール）
本明細書の実施例のいずれにおいても、インストールは、コンピュータ（例えば、コンピュータサーバ）にソフトウェア（例えば、オペレーティングシステム、アプリケーション）をインストールすることを含むことが可能である。インストールは、ファイルを（例えば、ＣＤ（コンパクトディスク）などのソースメディアから、またはローカルエリアネットワークもしくはインターネットなどのネットワークを介して）コンピュータサーバにコピーすることを含むことが可能である。また、インストールは、コンピュータサーバ上でソフトウェアを構成すること（例えば、様々な構成設定を入力すること）を含むことも可能である。サーバに或るアプリケーションをインストールする際、そのアプリケーション全体が、サーバにインストールされること、またはそのアプリケーションの一部（そのアプリケーションの構成要素のいくつか）だけが、サーバにインストールされることが可能である。さらに、同一のアプリケーションの異なる部分が、異なるサーバにインストールされることが可能である。
【００２１】
これらのアクションのいずれも、インストールユーティリティによって実行されることが可能である。
【００２２】
（実施例６  例示的な展開中立の設定（Deployment Neutral Settings））
本明細書の実施例のいずれにおいても、ソフトウェアは、展開中立の設定（いずれの顧客が、そのソフトウェアをインストールするかにかかわらず、同一であることが可能な設定）で構成されることが可能である。ソフトウェアを構成することは、ソフトウェアにおける様々な設定を構成すること（例えば、作成すること、入力すること、変更すること）を含むことが可能である。展開中立の設定は、イメージングのためにソフトウェアを準備するために、ソフトウェアを構成するのに使用されることが可能である。例えば、展開中立の設定は、特定の展開（例えば、特定の顧客によるソフトウェアのインストール）に固有でない設定であることが可能である。展開中立の設定には、以下が含まれることが可能である。すなわち、様々なソフトウェア構成要素が、記憶媒体上に存在するインストールディレクトリ、メールキューディレクトリ、Ｗｅｂサイト名およびＷｅｂサイトディレクトリ、バックアップスケジュール、およびファイアウォール設定である。
【００２３】
展開中立の設定を使用すると、ソフトウェア（例えば、オペレーティングシステム、および１つまたは複数のアプリケーション）は、そのソフトウェアが、イメージングされ、様々な顧客によってそのイメージから後にインストールされることが可能であるように構成されることが可能である。その後、顧客は、顧客の個々の環境向けに、そのソフトウェアをカスタマイズすること（例えば、コンピュータ名、ＩＰ（インターネットプロトコル）アドレス、ユーザ名、およびパスワードを入力すること）を終えることができる。
【００２４】
（実施例７  例示的な展開固有の設定）
本明細書の実施例のいずれにおいても、ソフトウェアは、展開固有の設定で構成されることが可能である。ソフトウェアを構成すること（例えば、インストールプロセスの一環としての）は、そのソフトウェアにおける様々な設定を構成すること（例えば、作成すること、入力すること、変更すること）を含むことが可能である。展開固有の設定は、イメージングのためにソフトウェアを準備する際に、ソフトウェアを構成するのに使用されることが可能である（例えば、展開固有の設定は、インストール中に要求される可能性がある）。例えば、展開固有の設定は、或る特定の展開（例えば、特定の顧客によるソフトウェアのインストール）に固有の設定であることが可能である。
【００２５】
展開固有の設定は、以下を含むことが可能である。すなわち、アカウント設定、ネットワーキング設定、ファイアウォール設定、スパム対策設定、一意サーバ識別値（例えば、ハードウェア固有値）、構成の詳細、サーバ名、ＩＰアドレス、ユーザ名、ユーザアカウント情報、およびパスワードである。ときとして、ソフトウェアをインストールする際、展開固有の設定でソフトウェアを構成することが必要である可能性がある（例えば、オペレーティングシステムをインストールすることは、プロダクトキー、または管理者ユーザ名およびパスワードを要求する可能性がある）。
【００２６】
また、展開固有の設定は、イメージからソフトウェアをインストールする際に、ソフトウェアを構成するのに使用されることも可能である。例えば、イメージからインストールされるソフトウェアが、展開中立の設定を含むことが可能である。インストールプロセスの一環として、このソフトウェアが、展開固有の設定（例えば、アカウント設定、ネットワーキング設定、ファイアウォール設定、スパム対策設定、サーバ名、ＩＰアドレス、ユーザ名、ユーザアカウント情報、およびパスワード）で構成されることが可能である（例えば、コンピュータサーバにインストールするためにイメージを購入した顧客によって）。
【００２７】
展開固有の設定は、様々な方法で入力されることが可能である（例えば、コンピュータサーバ上のユーザインタフェースを使用するユーザによって）。
【００２８】
（実施例８  例示的な顧客）
本明細書の実施例のいずれにおいても、顧客またはユーザは、ソフトウェアの購入者であることが可能である。例えば、顧客またはユーザは、個人のコンピュータ所有者、ビジネス、または組織であることが可能である。
【００２９】
（実施例９  例示的なコンピュータサーバインストールイメージ）
本明細書の実施例のいずれにおいても、コンピュータサーバのイメージが、作成されることが可能である（コンピュータサーバインストールイメージ）。例えば、オペレーティングシステム、および様々なアプリケーションが、管理された環境において（例えば、ソフトウェア製造業者によって運用される実験室において）コンピュータサーバにインストールされることが可能である。インストールプロセスの一環として、様々な構成設定（例えば、展開中立の設定、展開固有の設定）が、コンピュータサーバ上のオペレーティングシステム、および様々なアプリケーションに適用されることが可能である。インストールプロセスが完了すると、コンピュータサーバのイメージが作成されることが可能である。イメージは、例えば、インストールされたオペレーティングシステム、および様々なアプリケーションを有するコンピュータサーバの記憶装置（例えば、ハードドライブ）の内容の正確なコピーを（例えば、ＤＶＤ（デジタルバーサタイルディスク）などの光記憶媒体上にコンピュータサーバの記憶装置の内容の正確なコピーを）作成することによって、作成されることが可能である。イメージは、コンピュータサーバの記憶装置（または複数の記憶装置）全体の正確なコピー、または記憶装置全体の一部分だけの正確なコピー（例えば、オペレーティングシステムまたはアプリケーションの正確なコピー）であることが可能である。
【００３０】
図５は、例示的なコンピュータサーバインストールイメージ５００を示す。この実施例において、イメージ５５０は、オペレーティングシステム５１０、および１つまたは複数のアプリケーション（５２０、５３０、および５４０）を含む。また、イメージは、オペレーティングシステム５１０だけ、または１つまたは複数のアプリケーション（５２０、５３０、および５４０）だけを含むことも可能である。
【００３１】
イメージが作成されると、そのイメージは、コンピュータサーバをインストールするのに使用することが可能である。イメージは、例えば、そのイメージをコンピュータサーバの記憶装置上にコピーすることによって、インストールすることが可能である。例えば、ソフトウェア製造業者によって作成されたイメージが、顧客に届けられることが可能である。すると、顧客は、そのイメージを使用して、コンピュータサーバをインストールすることができる。例えば、顧客は、そのイメージを含むＤＶＤを、コンピュータサーバ上のＤＶＤドライブに入れて、次に、そのイメージを、コンピュータサーバの記憶装置（例えば、ハードディスク）にコピーするプロセス（例えば、自動化されたプロセス）を開始することができる。
【００３２】
コンピュータサーバインストールイメージを使用することにより、顧客は、顧客が、例えば、オペレーティングシステム、および様々なソフトウェアアプリケーションを別々にインストールする必要がないため、相当な時間と労力を節約することができる。さらに、オペレーティングシステム、およびいくつかのアプリケーションを含む複雑なサーバを正しく、または最適にインストールする知識または専門技術を有さない可能性がある顧客が、イメージを代わりに使用することができる。例えば、ソフトウェア製造業者は、オペレーティングシステム、および様々なアプリケーションをインストールした（構成することを含め）後、このイメージを作成することができる。ソフトウェア製造業者は、これらのオペレーティングシステムおよびアプリケーションの専門技術および知識を使用して、これらのオペレーティングシステムおよびアプリケーションを正しく、最適に構成することができる。
【００３３】
さらに、ソフトウェア製造業者は、製造業者が、複数のアプリケーション（例えば、複雑なマルチサーバアプリケーション）をインストールして、構成した、複数の統合されたコンピュータサーバから、１つまたは複数のコンピュータサーバインストールイメージを作成することができる。このようにして、顧客は、いくつかのサーバ、およびいくつかのコンピュータサーバインストールイメージ（例えば、３つのサーバと、３つのコンピュータサーバインストールイメージとを含むパッケージ）を購入し、これらのサーバおよびイメージを使用して、統合されたマルチサーバ環境をインストールすることのすべてを、複雑なインストールおよび構成のプロセスがイメージ作成に先立って製造業者によって既に行われているため、そのようなプロセスを経験することなしに行うことができる。
【００３４】
（実施例１０  例示的なイメージングシステム）
図３は、コンピュータサーバインストールイメージを作成するための例示的なシステム３００を示す。イメージ（例えば、コンピュータサーバインストールイメージ）を作成するプロセスは、イメージングとして知られている。この実施例において、オペレーティングシステム３１０が、コンピュータサーバ３５０にインストールされることが可能である。オペレーティングシステムに加えて、またはオペレーティングシステムの代わりに、１つまたは複数のアプリケーション（例えば、３２０、３３０、および３４０）が、コンピュータサーバ３５０にインストールされることが可能である。コンピュータサーバ３５０は、ソフトウェア製造業者のところにあることが可能であり、オペレーティングシステム３１０、および１つまたは複数のアプリケーション（３２０、３３０、および３４０）は、管理された環境（例えば、ソフトウェア製造業者によって運用されるソフトウェアインストール実験室）においてコンピュータサーバ３５０にインストールされることが可能である。このようにして、サーバ３５０は、様々な展開環境のために最適化された設定を使用してインストールされることが可能である。
【００３５】
例えば、ソフトウェア製造業者は、或る特定のオペレーティングシステム、アプリケーション、ならびに、統合されたマルチサーバ環境のサーバが、ファイル共有サービス、ネットワーキングサービス、電子メールサービス、およびファイアウォールサービスなどのサービスを提供するように一緒に動作する、統合されたマルチサーバ環境向けに最適化された設定をサーバ３５０にインストールすることができる。例えば、マルチサーバ環境によって提供されるこれらのサービスが、ユーザ、およびビジネスまたは組織のデバイスに提供されることが可能である。
【００３６】
（実施例１１  コンピュータサーバインストールイメージを作成するための例示的な方法）
図４は、コンピュータサーバインストールイメージを作成するための例示的な方法４００を示し、方法４００は、例えば、図３に示されるようなシステムによって実行されることが可能である。４１０において、或るアプリケーションが、コンピュータサーバにインストールされる。
【００３７】
代替として、複数のアプリケーションが、コンピュータサーバにインストールされることが可能である。複数のアプリケーションが、インストールされる場合、この複数のアプリケーションは、統合されたアプリケーションパッケージの一部であることが可能である。例えば、複数のアプリケーションのそれぞれが、ＤＮＳ（ドメインネームシステム）サービス、ＤＨＣＰ（動的ホスト構成プロトコル）サービス、ファイル共有サービス、およびＷｅｂサーバサービスなどの様々なネットワーキングサービスを提供することが可能である。
【００３８】
１つまたは複数のアプリケーションをインストールすることに加えて、またはそうすることの代わりに、オペレーティングシステムが、コンピュータサーバにインストールされることも可能である（例えば、アプリケーションをインストールする前に、またはアプリケーションをインストールすることと同時に）。
【００３９】
４２０において、コンピュータサーバのイメージが作成される。このイメージは、インストールされたアプリケーションを有するコンピュータサーバ全体の単一のイメージを含むことが可能である。イメージは、インストールされた１つまたは複数のアプリケーション、および／またはインストールされたオペレーティングシステムを有するコンピュータサーバ全体の単一のイメージを含むことも可能である。また、イメージは、コンピュータサーバ全体未満（例えば、１つまたは複数のアプリケーションだけ、またはオペレーティングシステムだけ）を含むことも可能である。
【００４０】
（実施例１２  例示的な汎用化（genericizing）方法）
図６は、ソフトウェアを汎用化するための例示的な方法６００を示す。６１０において、１つまたは複数のアプリケーションが構成される（例えば、１つまたは複数のアプリケーションをコンピュータサーバにインストールすることの一環として）。６２０において、汎用化プロセスが、構成された１つまたは複数のアプリケーション上で実行される。
【００４１】
１つまたは複数のアプリケーションを構成することに加えて、またはそうする代わりに、オペレーティングシステムが構成されることも可能である（例えば、コンピュータサーバにオペレーティングシステムをインストールすることの一環として）。オペレーティングシステムは、１つまたは複数のアプリケーションが構成されるのに先立って、または１つまたは複数のアプリケーションが構成されるのと同時に、構成されることが可能である。次に、汎用化プロセスが、１つまたは複数のアプリケーションに加えて、または１つまたは複数のアプリケーションの代わりに、構成されたオペレーティングシステム上で実行されることが可能である。
【００４２】
例えば、汎用化プロセスは、コンピュータサーバインストールイメージを作成するためのプロセスの一環として使用されることが可能である。汎用化プロセスは、イメージングのためにソフトウェアを準備するために、いくつかのタスクを実行することができる。例えば、汎用化プロセスは、展開固有の設定を展開中立の設定で置き換えることができる。展開固有の設定を展開中立の設定で置き換えることの例は、（例えば、サーバの）ネットワークカードに関する設定を、或る特定の静的ＩＰアドレスモードから動的に割り当てられるＩＰアドレスモードに変更することであることが可能である。
【００４３】
また、汎用化プロセスは、一意のサーバ識別値を取り除くこともできる。例えば、汎用化プロセスは、構成されたオペレーティングシステムまたはアプリケーションから一意のハードウェア識別子（例えば、ネットワークハードウェアアドレス、プロセッサ識別子、または他の何らかの一意ハードウェア識別子）を取り除くこともできる。このようにして、オペレーティングシステムを含むイメージが作成されると、イメージは、オペレーティングシステムが最初にインストールされていて、このイメージが作成されたサーバの一意のハードウェア識別子を有さず、イメージは、次に、任意のサーバハードウェアにインストールされるように使用されることが可能である。
【００４４】
例えば、サーバにソフトウェアをインストールする際、サーバ名が要求される（例えば、ソフトウェアが、サーバに正しくインストールされて、機能するのに要求される可能性がある）。その場合、サーバ名を取り除く汎用化プロセスが、そのサーバ上で実行されることが可能であり、イメージが作成されることが可能である。顧客が、イメージを後にインストールする際、サーバ名（例えば、展開固有の設定）が、その顧客によって入力される（またはランダムに作成される）ことが可能である。
【００４５】
汎用化プロセスは、実験室環境においてサーバをインストールした（例えば、統合されたマルチサーバ環境の複数のサーバをインストールして、構成した）後、ソフトウェア製造業者によって使用されることが可能である。
【００４６】
（実施例１３  例示的なマルチサーバ環境）
本明細書の実施例のいずれにおいても、サーバおよびソフトウェアは、マルチサーバ環境（例えば、マルチサーバネットワーク）をインストールするようにインストールされることが可能である。マルチサーバ環境は、２つ以上のコンピュータサーバを含む環境であることが可能である。例えば、複数のコンピュータサーバインストールイメージが、マルチサーバ環境の複数のコンピュータサーバをインストールするのに使用されることが可能である。
【００４７】
マルチサーバ環境のサーバは、コンピュータワークステーション（例えば、デスクトップおよびラップトップ）、ユーザ（例えば、コンピュータユーザ）、およびその他のリソースなどの、様々なリソースをサポートすることができる。マルチサーバ環境のサーバは、様々なサービス（例えば、電子メールサービス、ファイアウォールサービス、ファイルサービス、ウイルス対策サービス、スパム対策サービス、およびネットワーキングサービス）をリソースに提供するためのソフトウェアを実行することができる。
【００４８】
マルチサーバ環境におけるサーバは、どのようなソフトウェアがこれらのサーバにインストールされるかに関して、不均一であることが可能である。例えば、１つのサーバは、１つまたは複数のアプリケーションの１つのセットを有することが可能であり、別のサーバは、別の異なるアプリケーションセットを有することが可能である。
【００４９】
また、マルチサーバ環境のサーバは、様々な方法で統合されることも可能である。例えば、これらのサーバは、或る組織のリソースにサービスを協働して提供するように設計されたオペレーティングシステムとアプリケーションを実行することが可能である。また、これらのサーバは、一緒に動作するように構成されたオペレーティングシステムとアプリケーションを実行することも可能である（例えば、１つのサーバが、他のサーバによって使用されるようにユーザアカウント情報を提供することが可能である）。
【００５０】
例えば、統合されたマルチサーバ環境は、３つのサーバを含むことが可能である。第１のサーバは、ファイル共有サービス、ＤＨＣＰサービス、ＤＮＳサービス、印刷サービス、およびユーザアカウントサービスなどのネットワーキングサービスを提供するネットワーキングサーバであることが可能である。第２のサーバは、ネットワークルーティングサービス、ファイアウォールサービス、ウイルス対策サービス、およびスパム対策サービスなどのサービスを提供するゲートウェイサーバであることが可能である。第３のサーバは、電子メールサービスを提供する電子メールサーバであることが可能である。一部のサービスは、２つ以上のサーバにまたがって分割されることが可能である。例えば、リモート電子メールアクセスサービスが、ゲートウェイサーバによって提供されることが可能である一方で、ローカル電子メールアクセスが、電子メールサーバによって提供されることが可能である。
【００５１】
マルチサーバ環境のサーバはそれぞれ、異なるハードウェア構成を有することが可能である。例えば、１つのサーバが、大型のハードドライブアレイを有することが可能であり、別のサーバが、複数のネットワークアダプタを有することが可能であり、さらに別のサーバが、複数の高速プロセッサを有することが可能である。これらの異なるハードウェア構成は、そのハードウェアにインストールされるべき特定のソフトウェアに適合されることが可能である。例えば、ファイル共有サービスを提供するネットワーキングサーバは、大型のハードドライブアレイを有することが可能である。
【００５２】
（実施例１４  例示的なマルチサーバネットワーク）
図７は、例示的なマルチサーバネットワーク７００を示す。このマルチサーバネットワークは、コンピュータネットワークである。この実施例において、様々なアイテムが、このマルチサーバネットワークに関連付けられることが可能である。
【００５３】
１つまたは複数のコンピュータサーバ（７１０、７２０、および７３０）が、このマルチサーバネットワークに関連付けられることが可能である。マルチサーバネットワーク（７１０、７２０、および７３０）のサーバは、マルチサーバネットワークのリソース（例えば、ユーザ７４０、デバイス７５０、およびレガシーサーバ７６０）に様々なサービス（例えば、電子メールサービス、ファイアウォールサービス、ファイル共有サービス、ウイルス対策サービス、スパム対策サービス、およびネットワーキングサービス）を提供するためのソフトウェアを実行することが可能である。
【００５４】
ユーザ７４０が、このマルチサーバネットワークに関連付けられることが可能である。例えば、ユーザは、ユーザ名、または他の認証方法を介して、マルチサーバネットワークを使用する人々（例えば、通常の従業員、ＩＴ管理者、経営者）であることが可能である。
【００５５】
また、デバイス７５０が、このマルチサーバネットワークに関連付けられることも可能である。例えば、デバイスは、コンピュータ（例えば、従業員のデスクトップコンピュータもしくはラップトップコンピュータ）、または他の任意のタイプのデバイス（例えば、プリンタ、複写機、スキャナ、通信デバイス）であることが可能である。
【００５６】
レガシーサーバ７６０が、マルチサーバネットワークに関連付けられることが可能である。例えば、レガシーサーバは、他の１つまたは複数のサーバ（例えば、７１０、７２０、および７３０）と比べて、より早期のバージョンのオペレーティングシステム（またはアプリケーション）を実行するサーバであることが可能である。インストールプロセス（例えば、７１０、７２０、または７３０などの新たなサーバにコンピュータサーバインストールイメージをインストールすること）の最中に、データおよび設定が、レガシーサーバ７６０から、インストールが行われている１つまたは複数のサーバ（例えば、７１０、７２０、および７３０）に移されることが可能である。
【００５７】
マルチサーバネットワーク７００におけるアイテムは、ネットワーク７７０を介して一緒にリンクされることが可能である。例えば、ネットワーク７７０は、物理ネットワークケーブル配信、無線ネットワーク、またはこれらの何らかの組合せであることが可能である。様々なアイテムが、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを介して一緒にリンクされることが可能である。例えば、ネットワーク７７０は、ローカルエリアネットワーク、ワイドエリアネットワーク、または分散ネットワークであることが可能である。ネットワーク７７０は、或るビジネスまたは組織のネットワークであることが可能である。ネットワーク７７０は、他のネットワーク（例えば、インターネット）に接続されることが可能である。
【００５８】
（実施例１５  複数のコンピュータサーバインストールイメージをインストールするための例示的な方法）
図８は、（例えば、マルチサーバ環境またはマルチサーバネットワークの）複数のコンピュータサーバに複数のコンピュータサーバインストールイメージをインストールするための例示的な方法８００を示す。方法８００は、例えば、図７に示されるようなシステムによって実行されることが可能である。８１０において、第１のコンピュータサーバに、第１のコンピュータサーバインストールイメージがインストールされる。第１のコンピュータサーバインストールイメージは、オペレーティングシステムと、１つまたは複数のアプリケーションとを含むことが可能である。また、第１のコンピュータサーバインストールイメージは、オペレーティングシステムだけ、または１つまたは複数のアプリケーションだけを含むことも可能である。オペレーティングシステム、および１つまたは複数のアプリケーションは、第１のコンピュータサーバインストールイメージ上で、展開中立の設定を使用して既に構成されている（例えば、イメージが作成される前に、ソフトウェア製造業者によって、これらの設定を使用して構成されている）ことが可能である。また、第１のコンピュータサーバに第１のコンピュータサーバインストールイメージ８１０をインストールすることは、イメージが第１のコンピュータサーバに転送された後、展開固有の設定を使用して、オペレーティングシステム、および１つまたは複数のアプリケーションを構成することを含むことも可能である。例えば、オペレーティングシステムは、一意のサーバ名、管理者ユーザ名、および管理者パスワードなどの展開固有の設定を使用して構成されることが可能である。展開固有の設定は、様々な方法で（例えば、第１のコンピュータサーバ上のユーザインタフェースを使用するユーザによって）入力されることが可能である。複数のコンピュータサーバのオペレーティングシステムが、例えば、ユーザインタフェースを介して、一意のサーバ名、管理者ユーザ名、および管理者パスワードを受け取ることにより、展開固有の設定を使用して構成されることが可能である。
【００５９】
８２０において、第２のコンピュータサーバに、第２のコンピュータサーバインストールイメージがインストールされる。第２のコンピュータサーバインストールイメージは、オペレーティングシステムと、１つまたは複数のアプリケーションとを含むことが可能である。オペレーティングシステム、および１つまたは複数のアプリケーションは、第２のコンピュータサーバインストールイメージ上で、展開中立の設定を使用して既に構成されている（例えば、イメージが作成される前に、ソフトウェア製造業者によって、これらの設定を使用して構成されている）ことが可能である。また、第２のコンピュータサーバに第２のコンピュータサーバインストールイメージ８２０をインストールすることは、イメージが第２のコンピュータサーバに転送された後、展開固有の設定を使用して、オペレーティングシステム、および１つまたは複数のアプリケーションを構成することも含むことが可能である。例えば、オペレーティングシステムは、サーバ名、ユーザ名、およびパスワードなどの展開固有の設定を使用して構成されることが可能である。
【００６０】
この方法を使用して、任意の（例えば、可変の）数のコンピュータサーバに、任意の（例えば、可変の）数のコンピュータサーバインストールイメージがインストールされることが可能である。これらのコンピュータサーバは、マルチサーバ環境またはマルチサーバネットワーク（例えば、統合されたマルチサーバ環境またはマルチサーバネットワーク）の一部であることが可能である。例えば、これらのサーバの１つは、ネットワーキングサービスを提供することが可能であり、これらのサーバの１つは、電子メールサービスを提供することが可能であり、さらに、これらのサーバの１つは、ファイアウォールサービスを提供することが可能である。
【００６１】
また、コンピュータサーバには、アプリケーションだけを含むコンピュータサーバインストールイメージがインストールされることも可能である。
【００６２】
また、新たなコンピュータサーバにコンピュータサーバインストールイメージ（例えば、第１のコンピュータサーバに第１のコンピュータサーバインストールイメージ８１０）をインストールすることは、図７に７６０で表されるレガシーサーバなどの、レガシーサーバから設定およびデータを移すことを含むことも可能である。例えば、レガシーサーバは、ユーザアカウント情報（例えば、ユーザ名、パスワード、およびその他のアカウント情報）を含むことが可能である。新たなコンピュータサーバに、コンピュータサーバインストールイメージをインストールする際、レガシーサーバからのユーザアカウント情報が、新たなコンピュータサーバに移されることが可能である。
【００６３】
また、コンピュータサーバにコンピュータサーバインストールイメージをインストールすることは、異なるコンピュータサーバから、コンピュータサーバを構成するための展開固有の設定を受信することを含むことも可能である。例えば、第２のコンピュータサーバに第２のコンピュータサーバインストールイメージ８２０をインストールする際、第２のコンピュータサーバは、第１のコンピュータサーバインストールイメージ８１０がインストールされている第１のコンピュータサーバから、（例えば、第２のサーバに第２のイメージからインストールされたオペレーティングシステムを構成するための）展開固有の設定を、（例えば、図７に７７０で表されるネットワークのようなネットワークを介して）受信することが可能である。
【００６４】
（実施例１６  設定を入力するための例示的なユーザインタフェース）
図９は、設定（例えば、構成設定）を入力する（受け取る）ための例示的なユーザインタフェース９００を示す。例えば、ユーザインタフェース９４０が、展開固有の設定を入力する（受け取る）のに（例えば、コンピュータサーバにコンピュータサーバインストールイメージをインストールするインストールプロセスの一環として）使用されることが可能である。この実施例では、（例えば、コンピュータサーバを構成するユーザによって）サーバ名９１０が、入力されることが可能である。また、ユーザインタフェース９４０は、（例えば、管理者アカウントに関する）ユーザ名９２０およびパスワード９３０を入力することもサポートする。
【００６５】
ユーザインタフェース９４０において入力される、これらの特定の構成設定（９１０、９２０、および９３０）の代わりに、またはこれらの設定（９１０、９２０、および９３０）に加えて、他の構成設定が入力されることも可能である。例えば、ＩＰアドレス、ＤＮＳ情報、およびマイグレーション選択に関する構成設定が、入力されることが可能である。
【００６６】
（実施例１７  例示的なイメージ作成およびインストールシステム）
図１０は、コンピュータサーバインストールイメージを作成して、インストールするための例示的なシステム１０００を示す。この実施例では、オペレーティングシステム１０１０、および１つまたは複数のアプリケーション１０２０が、コンピュータ実験室サーバ１０３０（例えば、ソフトウェア製造業者のコンピュータ実験室におけるコンピュータサーバ）にインストールされる。任意の構成（例えば、展開中立の設定を使用する）を含め、インストールが完了した後、コンピュータ実験室サーバ１０３０のイメージ１０４０（例えば、コンピュータサーバインストールイメージ）が、作成される。
【００６７】
イメージ１０４０は、顧客に販売されることが可能である。例えば、顧客は、顧客によって所有されるコンピュータサーバにインストールするためのイメージを購入することができる。また、顧客は、イメージ上のソフトウェアに関して最適化されたハードウェア構成を有するコンピュータサーバを含むパッケージの一環として、イメージを購入することもできる。同様に、顧客は、複数のコンピュータサーバにインストールするために複数のイメージを購入することもできる（例えば、統合されたマルチサーバ環境として使用するためのパッケージとして）。
【００６８】
顧客は、イメージ１０４０を獲得すると、このイメージを顧客コンピュータサーバ１０７０にインストールすることができる。イメージをインストールすることにより、オペレーティングシステム１０５０、および１つまたは複数のアプリケーション１０６０が、顧客サーバ１０７０にインストールされる。
【００６９】
イメージ１０４０は、コンピュータ実験室サーバ１０３０上のオペレーティングシステム１０１０およびアプリケーション１０２０の正確なコピーを含むことが可能であるため、顧客サーバ１０７０にインストールされる、対応するオペレーティングシステム１０５０およびアプリケーション１０６０は、全く同一であることが可能である（例えば、同一の構成設定を有する同一のソフトウェア）。
【００７０】
イメージ１０４０をインストールするプロセスの一環として、顧客は、顧客の環境に適切な構成設定（例えば、展開固有の設定）を使用してオペレーティングシステム１０５０およびアプリケーション１０６０を構成することができる。
【００７１】
（実施例１８  例示的な知識ベース）
本明細書の実施例のいずれにおいても、知識ベース（例えば、インストール知識ベース）が、インストール（例えば、サーバまたはソフトウェアの）に関する質問（例えば、インストール質問）に回答するのに使用されることが可能である。知識ベースが、インストール中に使用されて、そのインストールを実行しているユーザが、知らない可能性がある回答（例えば、複雑なアプリケーションをどのように構成するか、複数のアプリケーションが、いずれの順序でインストールされるべきか、いずれのアプリケーションが、いずれのサーバにインストールされるべきか）が提供されることが可能である。決定（例えば、インストール決定）が、知識ベース情報に基づいて行われることが可能である。知識ベースは、ソフトウェア製造業者によって作成されることが可能であり、この知識ベースは、様々なインストール手続きおよびインストール作業に関するソフトウェア製造業者の専門技術およびノウハウを含むことが可能である。
【００７２】
知識ベースは、データベース、論理、またはこの両方の形態の情報または規則のコレクションであることが可能である。
【００７３】
ユーザが、知識ベースの中の様々な規則を適用するか否かを決定することができるユーザインタフェースが、ユーザに表示されることが可能である。
【００７４】
例えば、マルチサーバ環境においてＤＨＣＰサービスをインストールするユーザが、ＤＨＣＰ範囲に関する質問を尋ねられることが可能である。次に、ユーザによって与えられた回答が、知識ベースを調べる際に使用されることが可能である。知識ベースは、この回答に基づき、分散され、最適化され、冗長なＤＨＣＰサービスを提供するように複数のサーバを構成するための推奨される構成を提供する規則を含むことが可能である。
【００７５】
知識ベース（例えば、インストール知識ベース）は、様々なロケーションに配置されることが可能である。例えば、知識ベースは、サーバ上、コンピュータ上、デバイス上、またはコンピューティングデバイス上に配置されることが可能である。知識ベースは、ローカルまたはリモートであることが可能である。例えば、知識ベースは、ローカルサーバ（例えば、或るビジネスまたは組織の統合されたマルチサーバ環境の或るサーバ）上にあることが可能である。また、知識ベースは、リモートロケーションに（例えば、ソフトウェア製造業者のサーバ上に、またはリモート第三者ロケーションに）配置されることも可能である。インストール中、リモートロケーションにおける知識ベースが、（例えば、ローカルマルチサーバシステムのインストールに関するインストール決定を行うために）調べられることが可能である。
【００７６】
例えば、ローカルサーバ上、またはコンピューティングデバイス上で回答が入力されることが可能である。すると、設定は、であることが可能である。
【００７７】
（実施例１９  例示的なリモートでアクセス可能なサービス）
本明細書で説明される実施例のいずれにおいても、リモートでアクセス可能なサービスが、コンピュータサーバ間で情報を転送するのに使用されることが可能である。リモートでアクセス可能なサービスは、サーバ上（例えば、ＴＣＰ（伝送制御プロトコル）ポートやＵＤＰ（ユーザデータグラムプロトコル）ポートなどの、サーバのネットワークポート上）で機能することが可能である。リモートでアクセス可能なサービスは、ネットワーク（例えば、ローカルエリアネットワークまたはワイドエリアネットワーク）上の別のサーバからの接続を受け入れることができる。次に、情報が、このリモートでアクセス可能なサービスを介して接続された２つのサーバ間で転送されることが可能である。そのような情報には、構成設定、インストール質問、インストール回答、およびその他のデータが含まれることが可能である。また、サーバ間で伝送される、この情報は、暗号化されることも可能である。例えば、パスワード、または他の機微な情報が、リモートでアクセス可能なサービスを介して送信される前に、暗号化され、受信された際に、解読されることが可能である。
【００７８】
（実施例２０  例示的なインストール質問）
本明細書で説明される実施例のいずれにおいても、インストール質問が尋ねられることが可能である。例えば、インストール質問は、コンピュータサーバ上のユーザインタフェースを介して尋ねられることが可能である。インストール質問は、設定（例えば、サーバインストール中、またはソフトウェアインストール中に使用するための構成設定）に関する質問、またはインストールの別の態様（例えば、或るサービスを移すかどうか、または或るサービスを移すことを遅らせるかどうか）に関する質問であることが可能である。インストール質問は、様々な方法によって（例えば、ユーザによって、以前に入力されたインストール回答によって、または、知識ベースを調べることによって）回答されることが可能である。
【００７９】
（実施例２１  例示的なインストール回答）
本明細書で説明される実施例のいずれにおいても、インストール回答が提供されることが可能である。例えば、インストール回答は、ユーザインタフェースを介してユーザによって入力される（またはユーザインタフェースを介してコンピュータサーバによって受け取られる）ことが可能である。また、インストール回答は、サーバ、デバイス、コンピューティングデバイス、またはＷｅｂサービスに伝送されることも可能である。インストール回答は、設定（例えば、サーバインストール中、またはソフトウェアインストール中に使用するための構成設定）を含むことが可能である。また、インストール回答は、インストールの他の態様（例えば、或るサービスを移すかどうか、または或るサービスを移すことを遅らせるかどうか）と関係することも可能である。また、以前に入力された、または受け取られたインストール回答が、さらなるインストール質問（例えば、異なるサーバ上の）に回答するのに使用されることも可能である。
【００８０】
例えば、インストール回答は、サーバ上、デバイス上、またはコンピューティングデバイス上で提供されて、（例えば、ソフトウェア製造業者によってホストされる）リモートＷｅｂサービスのようなリモートロケーションに伝送されることが可能である。次に、計算（例えば、インストール決定）が、そのリモートロケーションにおいて（例えば、そのリモートＷｅｂサービスに配置されたインストール知識ベースに基づいて、そのリモートＷｅｂサービスによって）行われることが可能である。これらの計算の結果は、送り返されて、複数のサーバ、デバイス、またはコンピューティングデバイスにソフトウェアをインストールする、または構成するのに使用されること、またはさらなるインストール質問に対する回答として処理される（例えば、ユーザに尋ねる代わりに）ことが可能である。
【００８１】
（実施例２２  例示的なインストール決定）
本明細書で説明される実施例のいずれにおいても、インストール決定が行われることが可能である。インストール決定は、ソフトウェアをインストールすること、および構成することに関する決定であることが可能である。例えば、ユーザに、第１のサーバ上でインストール質問（例えば、ネットワーク設定に関する）が尋ねられた場合、その回答が、第１のサーバ上、または第２のサーバ上（例えば、ネットワーク設定に基づいて、第２のサーバ上でアプリケーションを構成する）でインストール決定を行うのに使用されることが可能である。また、インストール決定は、インストール知識ベースを調べた後に行われることも可能である。
【００８２】
例えば、或る構成設定を１つまたは複数のサーバに伝播させる決定が行われることが可能である（例えば、インストール知識ベースを調べることに基づいて）。
【００８３】
例えば、ユーザが、或るサービスをレガシーサーバから新たなサーバに移すかどうかを尋ねられた場合、その回答が、そのマイグレーションに関する決定（例えば、いずれの設定またはデータを移すか、インストールプロセスの一環として、そのようなマイグレーションをいつ実行するか、およびそれらの設定またはデータが、複数のサーバに移されるべきかどうか）を行うのに使用されることが可能である。
【００８４】
（実施例２３  例示的なコンピューティングデバイス）
本明細書で説明される実施例のいずれにおいても、コンピューティングデバイスは、コンピューティング目的で使用されるデバイスであることが可能である。例えば、コンピューティングデバイスは、コンピュータ（例えば、サーバコンピュータまたはユーザコンピュータ）、ハンドヘルドデバイスまたは移動デバイス（例えば、ＰＤＡまたはタブレットコンピューティングデバイス）、ネットワーキングデバイス（例えば、ファイアウォールデバイス、ルータ、ゲートウェイ）、プリンタ、または移動通信デバイス（例えば、セルラー電話機またはスマートホン）であることが可能である。コンピューティングデバイスは、（例えば、コンピューティングデバイスにソフトウェアをインストールして、構成することにより）インストールされることが可能である。
【００８５】
（実施例２４  統合されたコンピュータサーバをインストールするための例示的なシステム）
図１１は、統合されたコンピュータサーバをインストールするための例示的なシステム１１００を示す。この実施例では、任意の数のコンピュータサーバ（例えば、１１１０、１１２０、および１１３０）が、インストールされることが可能である。例えば、第１のサーバ１１１０が、ユーザインタフェース、インストール知識ベース、およびリモートでアクセス可能なサービスを提供することが可能である。ソフトウェアが、第１のサーバ１１１０上のユーザインタフェースを介して、第１のサーバ１１１０にインストールされ、構成されることが可能である。また、インストール決定が、インストール知識ベースを調べることによって第１のサーバ１１１０上で行われることも可能である。インストール回答（例えば、ユーザインタフェースを介して、サーバをインストールするユーザによって与えられる）が、ユーザインタフェースを介して第１のサーバ１１１０上で受け取られることが可能であり、リモートでアクセス可能なサービスを介して第１のサーバ１１１０から提供されることが可能である。また、インストール回答は、第１のサーバ１１１０にソフトウェアをインストールして、構成するのに使用されることも可能であり、インストール決定を行う際に使用されることも可能である。
【００８６】
この実施例において、第２のサーバ１１２０が、インストールされることが可能である。例えば、このインストールプロセスの一環として、第２のサーバ１１２０は、リモートでアクセス可能なサービスを介して第１のサーバ１１１０からインストール回答を受け取ることができる（例えば、第１のサーバ上で、リモートでアクセス可能なサービスに接続することにより）。ソフトウェアが、第２のサーバ１１２０上のユーザインタフェースを介して、または第１のサーバ１１１０から受信されたインストール回答を使用して、第２のサーバ１１２０にインストールされ、構成されることが可能である。また、インストール決定が、第２のサーバ１１２０上で、インストール知識ベースを調べることによって（例えば、インストール回答に基づいて）行われることも可能である。
【００８７】
任意の（例えば、可変の）数のサーバ（例えば、１１１０、１１２０、および１１３０）が、ネットワーク１１４０を介して接続されることが可能である。例えば、ネットワーク１１４０は、物理ネットワークケーブル配線、無線ネットワーク、またはこれらの何らかの組合せであることが可能である。様々なアイテムが、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを介して一緒にリンクされることが可能である。例えば、ネットワーク１１４０は、ローカルエリアネットワーク、ワイドエリアネットワーク、または分散ネットワークであることが可能である。
【００８８】
例えば、第１のサーバ上のユーザインタフェースを介して第１のサーバ１１１０によって受け取られたインストール回答（例えば、構成設定）が、第１のサーバ上に格納されることが可能である。インストール回答は、第１のサーバ１１１０上の記憶装置上に（例えば、ハードドライブ上のファイルの中、キャッシュの中、フラッシュデバイスなどのリムーバブルコンピュータ媒体上に）格納されることが可能である。このインストール回答は、（例えば、この回答が格納される際に）暗号化されることが可能である。次に、このインストール回答は、第１のサーバ１１１０から他のサーバ（例えば、１１２０および１１３０）に伝送されることが可能である。例えば、このインストール回答は、これらのサーバを接続するネットワーク（例えば、１１４０）を介して伝送されることが可能である。また、このインストール回答は、リムーバブルコンピュータ媒体（例えば、フロッピー（登録商標）ディスク、ＣＤ、またはＵＳＢフラッシュデバイス）を物理的に移動することによって伝えられることも可能である。このインストール回答は、暗号化された形態で、または暗号化されていない形態で伝送されることが可能である。インストール回答が、暗号化された形態で伝送される場合、その回答は、受信された際に解読されることが可能である。このようにして、ユーザによって与えられたインストール回答は、ユーザが、他のサーバに行く必要なしに、さらに、同一の、もしくは同様の質問に回答する、または同一の、もしくは同様のインストール決定もしくは構成決定を行う必要なしに、他のサーバ上で使用される（例えば、ソフトウェアをインストールするために）ことが可能である。
【００８９】
（実施例２５  統合されたコンピュータサーバをインストールするための例示的な方法）
図１２は、統合されたコンピュータサーバをインストールするための例示的な方法１２００を示す。方法１２００は、例えば、図１１に示されるようなシステムによって実行されることが可能である。１２１０において、ユーザインタフェースが、第１のサーバ上で提示される。１２２０において、インストール回答が、ユーザインタフェースに応答して受け取られる。１２３０において、ソフトウェア（例えば、オペレーティングシステム、アプリケーション、アプリケーションの１つまたは複数の構成要素）が、インストール回答に従って第１のサーバにインストールされる。例えば、マルチサーバアプリケーションの構成要素が、第１のサーバにインストールされることが可能である。１２４０において、ソフトウェアが、インストール回答に従って第２のサーバにインストールされる。例えば、マルチサーバアプリケーションの他の構成要素が、第２のサーバにインストールされることが可能である。
【００９０】
例えば、ユーザは、第１のサーバをインストールする際に、ユーザインタフェースを介して様々な構成設定（例えば、サーバ名、ユーザ名、およびパスワード）を入力することができる。第１のサーバは、これらの構成設定に従ってインストールされる（例えば、ユーザによって入力されたサーバ名を使用して構成される）ことが可能である。さらに、他のサーバ（または他のデバイス）が、第１のサーバ上で入力された構成設定を使用して構成される（例えば、サーバ名を使用して構成される）ことが可能である。例えば、これらの構成設定が、第１のサーバから、（例えば、リモートでアクセス可能なサービスを介して）その他のサーバに伝送されることが可能である。
【００９１】
また、ユーザインタフェースは、さらなるインストール回答を受け取るように第２のサーバ上で提示されることも可能である。これらのさらなるインストール回答は、第１のサーバから受信されたインストール回答に加えて、またはそのような回答の代わりに、第２のサーバにソフトウェアをインストールする際に使用されることが可能である。例えば、ユーザは、第１のサーバから第２のサーバにインストール回答を伝送することがセキュリティ上のリスクであるという理由で、第２のサーバ上のユーザインタフェースを介してインストール回答を入力することができる。例えば、インストール回答は、ユーザアカウントパスワード（例えば、管理者パスワード）を含むことが可能である。
【００９２】
コンピューティングデバイスが、コンピュータサーバに加えて、またはコンピュータサーバの代わりにインストールされることが可能である。例えば、インストール回答が、コンピュータサーバ上で受け取られて、コンピューティングデバイスに伝送されることが可能である。コンピューティングデバイスは、インストール回答を使用して、ソフトウェアをインストールすることができる。また、コンピューティングデバイスは、インストール回答を直接に（例えば、コンピューティングデバイス上に表示されるユーザインタフェースを介して）受け取り、このインストール回答を使用して、ソフトウェアをインストールすることもできる。インストール知識ベースが、（例えば、インストール決定を行う際に使用するために）コンピューティングデバイス上に配置されることが可能である。
【００９３】
（実施例２６  インストール回答を格納し、伝送するための例示的な方法）
図１３は、インストール回答を格納し、伝送するための例示的な方法１３００を示す。方法１３００は、例えば、図１１に示されるようなシステムによって実行されることが可能である。１３１０において、インストール回答が、（例えば、サーバ上に）格納される。例えば、インストール回答は、サーバ上のファイルの中に格納されることが可能である。１３２０において、インストール回答が、（例えば、第１のサーバから第２のサーバに）伝送される。インストール回答は、リモートでアクセス可能なサービスを介して伝送されることが可能である。また、インストール回答は、他の方法（例えば、フロッピー（登録商標）ディスク、ＣＤ、ＵＳＢフラッシュデバイス）を介して伝送されることも可能である。１３３０において、ソフトウェアが、インストール回答を使用してインストールされる。
【００９４】
例えば、インストール回答（例えば、サーバ名、ＩＰアドレス、ユーザ名、またはパスワードなどの構成設定）が、第１のサーバ上でユーザによって入力されることが可能である。次に、このインストール回答が、第１のサーバから第２のサーバに（例えば、リモートでアクセス可能なサービスを介して）伝送されることが可能である。最後に、このインストール回答が、第２のサーバ上で、第２のサーバにソフトウェアをインストールする（例えば、サーバ名またはＩＰアドレスを使用してオペレーティングシステムを構成する）のに使用されることが可能である。このようにして、ユーザは、第１のサーバ上で１回、インストール回答を与え、この回答が、他のサーバ上で（例えば、それらの他のサーバへのソフトウェアの自動化されたインストールのために）使用されることが可能である。
【００９５】
（実施例２７  さらなるインストール質問に回答するための例示的な方法）
図１４は、さらなるインストール質問に回答するのにインストール回答を使用するための例示的な方法１４００を示す。方法１４００は、例えば、図１１に示されるようなシステムによって実行されることが可能である。１４１０において、第１のサーバ上でインストール質問に回答するのに使用されたインストール回答が、（例えば、リモートでアクセス可能なサービスを介して）第１のサーバから第２のサーバによって受信される。１４２０において、第２のサーバにソフトウェアをインストールすることに関する、さらなるインストール質問が、第１のサーバからのインストール回答を使用して回答される（後続のインストール回答）。１４３０において、ソフトウェアが、この後続のインストール回答に従って第２のサーバにインストールされる。
【００９６】
例えば、ネットワークに新たなサーバをインストールしているユーザに、既存のサービス（例えば、電子メールサービス）が、その新たなサーバに移されるべきかどうかが尋ねられることが可能である。ユーザによって与えられた回答が、新たな第２のサーバによって受け取られて、電子メールサービスが、第２のサーバにインストールされるべきかどうか、または電子メールサービスが、複数のサーバ（例えば、１つのサーバ上のローカル電子メールアクセス構成要素と、異なるサーバ上のリモート電子メールアクセス構成要素）の間で分割されるべきかどうかなどの、さらなるインストール質問に回答するのに使用されることが可能である。
【００９７】
（実施例２８  例示的な並行インストール）
本明細書で説明される実施例のいずれにおいても、ソフトウェア（例えば、オペレーティングシステム、アプリケーション、およびアプリケーションの構成要素）のインストールは、動作が並行であることが可能である。例えば、異なるアプリケーションが、同時に（例えば、並行して、または同時に）異なるサーバ（例えば、統合されたマルチサーバ環境の）にインストールされることが可能である。並行インストールは、（例えば、さらなるサーバ上で）さらなるソフトウェアが、インストールプロセスに追加された際に、合計インストール時間が同じままであることが可能であるため、効率的であることが可能である。
【００９８】
一部のソフトウェアは、完全に独立にインストールされることが可能である一方で、他のソフトウェアは、特定のインストール順序を要求する可能性がある。並行インストールは、要求される際に、順序付けを実施する機構を提供することができる。インストールは、インストール知識ベースを使用することによって同期されることが可能である。
【００９９】
例えば、第１のアプリケーションが、インストール知識ベースを含む第１のサーバにインストールされることが可能である。インストール知識ベースは、同期規則を含むことが可能である。同期規則の１つは、さらなるアプリケーション（例えば、第２のアプリケーション、および第３のアプリケーション）が、並行に、ただし、第１のアプリケーションが第１のサーバにインストールされた後に初めて、インストールされることが可能であることを規定することが可能である（例えば、さらなるアプリケーションは、第１のアプリケーションのインストールに依存する）。すると、この同期規則に基づき、さらなるアプリケーションは、第１のサーバに、または１つまたは複数の異なるサーバに並行に（第１のアプリケーションのインストールが完了した後）インストールされることが可能である。これらの異なるサーバは、適切な時点で、さらなるアプリケーションのインストールを開始するために、（例えば、第１のサーバ上で実行されるリモートでアクセス可能なサービスにネットワークを介して接続することにより）第１のアプリケーションのインストールのステータスを確認することができる。
【０１００】
（実施例２９  例示的な自動化されたインストール）
本明細書で説明される実施例のいずれにおいても、インストールは自動化されることが可能である。例えば、ユーザが、（例えば、構成設定を入力することにより）１つのサーバ上でインストール質問に回答することが可能であり、このインストール質問に対する回答が、全くユーザによるさらなる関与なしに、（例えば、そのインストール回答を、他のサーバに伝送することにより）他のサーバをインストールするのに使用されることが可能である。あるいは、ユーザは、自動化されたインストールに何らかの関与を有することも可能である。例えば、ユーザが、他のサーバ上で何らかのさらなるインストール質問に回答することが可能である一方で、他のさらなるインストール質問が、他のサーバから伝送されたインストール回答によって自動的に回答されることが可能である。
【０１０１】
（実施例３０  例示的な分散インストール）
本明細書で説明される実施例のいずれにおいても、インストールは分散されることが可能である。例えば、別々のマシン上で（例えば、ソフトウェアがインストールされるべき異なるコンピュータサーバ上で）別々のインストールが実行される代わりに、単一のインストールが、複数のマシンにまたがって（例えば、複数のコンピュータサーバにまたがって）分散されることが可能である。
【０１０２】
分散インストールを使用することにより、複数のサーバにまたがって複数のサーバ、および複数のソフトウェアパッケージ（例えば、オペレーティングシステムまたはアプリケーション）をインストールすることが、より容易で、より効率的になることが可能である。例えば、マルチサーバアプリケーションをインストールすることは、分散インストールが、マルチサーバアプリケーションの一部のコンポーネントを１つのサーバに、他の構成要素を、異なるサーバにインストールすることができるため、より容易であることが可能である。さらに、構成設定が、分散インストールを使用して、複数のサーバにわたって、より容易に共有されることが可能である。
【０１０３】
（実施例３１  アプリケーションの自動化された分散インストールの例示的な方法）
図１５は、アプリケーションの自動化された分散インストールのための例示的な方法１５００を示す。方法１５００は、例えば、図１１に示されるようなシステムによって実行されることが可能である。１５１０において、（例えば、統合されたマルチサーバ環境の）第１のサーバに、第１のアプリケーションをインストールする決定が行われる。
【０１０４】
例えば、この決定は、自動化された発見プロセスによって行われることが可能である。自動化された発見プロセスは、（例えば、ネットワーク接続上でブロードキャストすることにより）統合されたマルチサーバ環境の他のサーバが、未だ、全くインストールされていないことを発見することを含むことが可能である。例えば、統合されたマルチサーバ環境の、インストールされるべき第１のサーバには、特定のアプリケーションおよび設定（例えば、ＤＮＳ、ＤＨＣＰ、およびファイル共有）がインストールされることが可能である。
【０１０５】
この決定は、例えば、サーバのハードウェア構成に基づいて行われることが可能である。例えば、第１のサーバが、或る特定のハードウェア構成（例えば、大型のハードドライブアレイ）を有する場合、或る特定のアプリケーション（例えば、ファイル共有）をインストールする決定が、行われることが可能である。
【０１０６】
また、この決定は、第１のサーバ上のインストール知識ベースを調べることによって行われることも可能である。例えば、インストール知識ベースは、第１のサーバにいずれのアプリケーション（例えば、ネットワークアプリケーションおよびファイル共有アプリケーション）をインストールすべきかを指定することができる。また、インストール知識ベースは、この決定を行う他の方法（例えば、自動化された発見プロセス、およびハードウェア構成）と組合せで使用されることも可能である。
【０１０７】
１５２０において、（例えば、第１のサーバに第１のアプリケーションをインストールするユーザから、ユーザインタフェースを介して）構成設定が受け取られる。１５３０において、第１のアプリケーションが、第１のサーバにインストールされる。１５４０において、（例えば、統合されたマルチサーバ環境の）第２のサーバに、第２のアプリケーションをインストールする決定が行われる（例えば、１５１０に関連して前述した方法のいずれかを使用して）。例えば、自動化された発見プロセスを使用して、第２のサーバは、ネットワークに第１のサーバが既にインストールされていることを発見することができる。例えば、この発見に基づき、決定は、第２のサーバにファイアウォールアプリケーションをインストールすることを含むことが可能である。１５５０において、第２のアプリケーションが、１５２０において受け取られた構成設定を使用して、第２のサーバにインストールされる。
【０１０８】
例えば、第２のサーバに、外部電子メールポータルをインストールする決定が行われることが可能であり、この外部電子メールポータルは、第１のサーバ上の電子メール格納アカウントにアクセスするよう、（第１のサーバから受信された）構成設定を使用して、構成されることが可能である。
【０１０９】
さらなるアプリケーション、またはアプリケーションのさらなる構成要素をインストールすることに関して、さらなる決定が行われることが可能である。また、決定は、ユーザによって入力された構成設定に基づいて行われることも可能である。例えば、その構成設定に基づき、第１のサーバに或るアプリケーションのいくつかの構成要素をインストールし、第２のサーバに、そのアプリケーションの他の構成要素をインストールする決定が行われることが可能である。複数のサーバにインストールされる構成要素を有するアプリケーションは、マルチサーバアプリケーション（例えば、１つのサーバにインストールされたローカル電子メールアクセス構成要素と、異なるサーバにインストールされたリモート電子メールアクセス構成要素とを有する電子メールアプリケーション）であることが可能である。
【０１１０】
（実施例３２  複数のコンピュータサーバをインストールするための例示的な方法）
図１６は、複数のコンピュータサーバをインストールするための例示的な方法１６００を示す。方法１６００は、例えば、図１１に示されるようなシステムによって実行されることが可能である。１６１０において、これらのサーバをインストールするユーザに、インストール質問が尋ねられる。例えば、ユーザには、或るサービス（例えば、ネットワーキングサービス、電子メールサービス、ユーザアカウントサービス）をレガシーサーバから移すかどうかが尋ねられることが可能である。
【０１１１】
１６２０において、インストール質問に対するインストール回答が受け取られる。１６３０において、インストール回答に基づいて第１のサーバを構成することに関するインストール決定が行われる。例えば、ユーザが、或るサービスを移すことに肯定的に回答した場合、インストール決定は、そのサービスの移行と関係する様々な構成設定（ネットワーキングサービス構成、電子メールサービス構成、ユーザアカウントサービス構成）を含むことが可能である。
【０１１２】
１６４０において、知識ベース（例えば、インストール知識ベース）が、この回答に基づいて調べられる。知識ベースは、後続のインストール質問に関する回答を含むことが可能である。例えば、ユーザが、レガシーサーバからサービスを移している場合、知識ベースは、その移されるサービスをサポートするのに、いずれのアプリケーション、またはいずれのアプリケーションのいずれの構成要素が、いずれのサーバにインストールされる必要があるかなどの、さらなるインストール質問に回答することが可能である。知識ベースを使用して、さらなるインストール質問に回答することにより、インストールは、ユーザに、それらのさらなるインストール質問を尋ねることを省くことができる。
【０１１３】
１６５０において、第２のサーバのインストールに関する、さらなるインストール決定が、知識ベースの調査に基づいて行われる。例えば、ユーザが、レガシーサーバから或るサービスを移している場合、これらのさらなるインストール決定は、その移されるサービスをサポートするように第２のサーバにアプリケーションをインストールすることと関係することが可能である。
【０１１４】
（実施例３３  インストールの例示的な実行）
本明細書で説明される技術は、複数のサーバにわたってサーバプログラムスイートをインストールするのに適用されることが可能である。そのような技術の例示的な実行が、図１７Ａ〜Ｂおよび図１８Ａ〜Ｂに示される。
【０１１５】
この実施例において、（例えば、実施例１で説明されるような）複数のサーバプログラムを有するサーバプログラムスイートが、複数のサーバ１７１０Ａ〜Ｎにわたってインストールされる。これらのサーバプログラムの少なくとも１つが、２つのサーバ１８１０Ａおよび１８１０Ｂにわたってインストールされ、サーバサブプログラム１８９０Ｂ、１８９０Ｃも同様にインストールされる。
【０１１６】
図１７Ａにおいて、サーバ１７１０Ａ〜１７１０Ｎは、段階１７００Ａで示されるとおり、構成されていない。インストールユーティリティまたはサーバプログラムは、未だ、インストールされていない。サーバ１７１０Ａ〜１７１０Ｎのいずれのサーバが、一次サーバ、つまり、サーバ１となるかについての決定は、本明細書で説明される技術のいずれかを介して（例えば、インストールが始まるのが、いずれのサーバであるかを検出すること、ハードウェア構成に基づいてサーバを選択することなどにより）達せられることが可能である。図示されていないが、サーバ１７１０Ａ〜１７１０Ｎは、オペレーティングシステム（例えば、インストールユーティリティのインストールをサポートすることができる基本オペレーティングシステム）などの、既にインストールされた何らかのソフトウェアを有することが可能である。
【０１１７】
図１７Ｂでは、別の段階１７００Ｂが完了した後、インストールユーティリティ１７５０Ａが、（例えば、インストールユーティリティ１７５０Ａによってサーバ１として指定されている）サーバ１  １７１０Ａにおいて既にインストールされている。インストールユーティリティ１７５０Ａは、第１のサーバプログラム１７９０Ａをインストールすることに取りかかっている。
【０１１８】
図１８Ａでは、別の段階１８００Ｃが完了した後、別のインストールユーティリティ１８５０Ｂが、サーバ２  １８１０Ｂにおいてインストールされている。インストールユーティリティ１８５０Ｂは、サーバ２  １８１０Ｂ上で使用されるようにカスタマイズされることが可能であり、あるいはインストールユーティリティ１８５０Ｂは、その他のインストールユーティリティ１８５０Ａと同一であるが、サーバ２  １８１０Ｂ上で実行されていることを認識することが可能である。したがって、インストールユーティリティ１８５０Ｂは、サーバ２  １８１０Ｂに適切なソフトウェアをインストールしている。この実施例では、サーバプログラムの第２の部分１８９０Ｃ（例えば、サブプログラム）が、サーバ２  １８１０Ｂにおいてインストールされている。その他の部分１８９０Ｂは、サーバ１  １８１０Ａにおいてインストールされている。
【０１１９】
インストールユーティリティ１８５０Ａ、１８５０Ｂは、本明細書で説明される機構のいずれかを介して通信して、複数のサーバコンピュータ１８１０Ａおよび１８１０Ｂにまたがってサーバプログラムを協力してインストールすることができる。
【０１２０】
図１８Ｂでは、別の段階１８００Ｄが完了した後、さらに別のインストールユーティリティ１８５０Ｃが、サーバ３  １８１０Ｎにおいてインストールされている。
【０１２１】
インストールユーティリティ１８５０Ｃは、サーバ３  １８１０Ｎ上で使用されるようにカスタマイズされることが可能であり、あるいはインストールユーティリティ１８５０Ｃは、その他のインストールユーティリティ１８５０Ａと同一であるが、サーバ３  １８１０Ｎ上で実行されていることを認識する。したがって、インストールユーティリティ１８５０Ｃは、サーバ３  １８１０Ｎに適切なソフトウェアをインストールしている。この実施例では、別のサーバプログラム１８９０Ｄが、サーバ３  １８１０Ｎにおいてインストールされている。
【０１２２】
一方、別のサーバプログラム１８９０Ｅが、サーバ２  １８１０Ｂにおいてインストールされている。
【０１２３】
インストールユーティリティ１８５０Ａ、１８５０Ｂ、１８５０Ｃは、本明細書で説明される機構のいずれかを介して通信して、複数のサーバコンピュータ１８１０Ａ〜１８１０Ｎにまたがってサーバプログラムを協力してインストールする。
【０１２４】
本明細書で説明されるとおり、インストールは、展開中立の設定を有するソフトウェアプログラムをインストールすることにより、行われることが可能である。展開固有の設定が、ユーザインタフェースを介してサーバの１つ（例えば、サーバ１  １８１０Ａ）において収集されて、通信機構を介して、その他のサーバに伝播させられることが可能である。
【０１２５】
図１９は、インストールが行われることが可能な、例示的な方法１９００を示す。この実施例では、１９１０において、サーバの１つが、（例えば、インストールユーティリティによって）「サーバ１」として指定される。次に、サーバ１においてサーバプログラムをインストールすることなどの、他のアクションが行われることが可能である。
【０１２６】
１９２０において、サーバの別の１つ（例えば、異なるサーバ）が、「サーバ２」として指定される。次に、サーバ２においてサーバプログラムをインストールすることなどの、他のアクションが行われることが可能である。サーバ２におけるインストールユーティリティが、サーバ１におけるインストールユーティリティと通信することができる。このため、サーバ２は、サーバ１においてユーザから既に収集されている情報を活用することができる。
【０１２７】
１９３０において、（例えば、サーバプログラムスイートの中の）サーバプログラムが、（例えば、インストールユーティリティによる）サーバ間の通信を介して、協力してインストールされることが可能である。例えば、他の１つまたは複数のサーバが指定されることが可能であり、さらなるサーバプログラムがインストールされることが可能である。
【０１２８】
（実施例３４  例示的な責務）
本明細書で説明される実施例のいずれにおいても、コンピュータサーバは、コンピュータサービスを提供する１つまたは複数の責務（responsibility）を有することが可能である。例えば、コンピュータサーバは、ＤＨＣＰサービスを提供するという責務を有することが可能である。また、コンピュータサーバは、ディレクトリサービス、データバックアップサービス、ファイアウォールサービス、ウイルス対策サービス、スパム対策サービス、ファイル共有、Ｗｅｂサービス、ならびにＤＮＳなどの様々なネットワーキングサービスを提供することなどの、他の責務も有することが可能である。
【０１２９】
単一のコンピュータサーバが、複数の責務を有することが可能である。また、単一の責務が、様々な方法で複数のコンピュータサーバにまたがって分割されることも可能である（例えば、複数のサーバが、コンピュータサービスを提供する責務を分担することが可能である）。例えば、第１の（例えば、一次）サーバが、ＤＨＣＰサービスを提供することを担うことが可能である。第２の（例えば、二次、つまり、バックアップ）サーバが、ＤＨＣＰサービスを提供する責務を第１のサーバと分担することが可能である。第１のサーバ、および第２のサーバは、例えば、ＩＰアドレス範囲を（例えば、半分に）分割すること、および各サーバに、この範囲の各サーバの部分で動作させることにより、ＤＨＣＰサービスをそれぞれ提供することができる。このようにして、第１のサーバが応答することを止めた場合、第２のサーバが、それでも、ＤＨＣＰサービスを提供する責務を満たすことができる。
【０１３０】
また、ＩＰアドレス範囲が、他の方法で分割されることも可能である。例えば、ＩＰアドレス範囲が、より大きい部分と、より小さい部分とに分割されることも可能である。一次サーバに、より大きい範囲が割り当てられることが可能であり、二次サーバに、より小さい範囲が割り当てられることが可能である。一次サーバが、応答することを止めた場合、二次サーバが、それでも、何らかのアドレスを（一次サーバほどの数ではないが）提供することができる。一次サーバが応答することを止めた場合、二次サーバは、一次サーバから、より大きい範囲を回復（例えば、引き継ぐ）こともできる。
【０１３１】
また、複数のサーバの間で或るサービスに関する責務を分担することにより、冗長性がもたされることも可能である。例えば、（例えば、統合されたマルチサーバネットワークまたはマルチサーバ環境の）２つのサーバがともに、同一のサービスを担うことが可能である。これらのサーバの１つが一次であり、他方が二次であることが可能である。一次が応答している限り、一次が、そのサービスを提供することができる。一次が応答できない場合、二次が、そのサービスを提供することを引き継ぐことが可能である。例えば、第１のサーバが、一次ＤＨＣＰサービスを提供することが可能である。第１のサーバが、応答することを止めた（例えば、クラッシュした、動作不能である、またはそれ以外でＤＨＣＰ要求の応答できない）場合、二次サーバが、バックアップＤＨＣＰサービスを提供することができる。同様に、一次サーバが、（例えば、ログイン目的でユーザアカウント情報およびパスワード情報を提供する）ディレクトリサービスを提供することができ、応答することを止めた場合、二次サーバが、ディレクトリサービスを提供することを引き継ぐことができる。
【０１３２】
また、コンピュータサーバは、リソースを管理するコンピュータサービスを提供することを担うことも可能である。例えば、コンピュータサービスによって管理されるリソースは、ネットワークリソース（例えば、ＤＨＣＰサービスによって管理されるＩＰアドレス空間）であることが可能である。コンピュータサービスによって管理されるリソースは、複数の部分に（例えば、第１の部分と、第２の部分とに）分割されることが可能である。これらの部分は、相互排他的であることが可能である（例えば、ＩＰアドレス空間が、重なり合わない複数のＩＰアドレス空間に分割されることが可能である）。これらの部分は、複数のサーバに割り当てられることが可能である（例えば、第１のサーバは、或るＩＰアドレス空間の半分を提供するＤＨＣＰサービスを運用することができ、第２のサーバは、そのＩＰアドレス空間の残りの半分を提供するＤＨＣＰサービスを運用することができる）。
【０１３３】
例えば、或るＩＰアドレス空間が、ビジネスまたは組織のサイズ（例えば、ＩＰアドレスを必要とするデバイスの数）に基づいて選択されることが可能である。このＩＰアドレス空間は、デバイスの数の少なくとも２倍を収容するように選択されて、ＩＰアドレス空間が半分に分割された場合、各半分が異なるサーバに割り当てられ、これらのサーバの１つが停止した場合、その他のサーバが、それでも、そのビジネスまたは組織のすべてのデバイスに十分なＩＰアドレスを提供することができるようにされることが可能である。
【０１３４】
（実施例３５  サービスを提供する例示的なサーバ）
図２０は、複数のサービスを提供するように構成された複数のサーバの例示的なシステム２０００を示す。或るサービス（例えば、電子メールサービス、ネットワーキングサービス、データバックアップサービス）が、単一のサーバ、または複数のサーバによって提供されることが可能である（例えば、複数のサーバにまたがって分割されて、その複数のサーバが、そのサービスを提供する責任を有することが可能である）。同様に、或るサーバが、１つまたは複数のサービスを提供することも可能である。
【０１３５】
この実施例では、複数のサーバ１〜Ｎ（２０１０〜２０３０）が、複数のサービス１〜Ｎ（２０４０〜２０６０）を提供するように構成される。この実施例では、第１のサーバ２０１０が、第１のサービス２０４０を提供するように構成される（例えば、第１のサーバ２０１０は、第１のサービス２０４０を提供することを担う）。第２のサーバ２０２０が、第１のサービス２０４０、および第２のサービス２０５０を提供するように構成される。最後に、最後のサーバ２０３０が、最後のサービス２０６０を提供するように構成される。例えば、サービス１  ２０４０は、ネットワーキングサービス（例えば、ＤＨＣＰ）であることが可能であり、サービス２  ２０５０は、データバックアップサービスであることが可能であり、サービス３  ２０６０は、電子メールサービスであることが可能である。
【０１３６】
（実施例３６  コンピュータサービスの自動化された冗長な構成のための例示的な方法）
図２１は、コンピュータサービスの自動化された冗長な構成のための例示的な方法２１００を示す。方法２１００は、例えば、図７に示されるようなシステムによって実行されることが可能である。２１１０において、或るコンピュータサービスを構成することに関するインストール回答が受け取られる。例えば、インストール回答は、コンピュータサーバ上に表示されるユーザインタフェースを介して、ユーザから受け取られることが可能である。また、インストール回答は、（例えば、コンピュータサーバ上で実行される）自動化された発見プロセスから受け取られることも可能である。例えば、自動化された発見プロセスは、サーバの属性（例えば、いずれのアプリケーションがインストールされているか）、またはネットワークの属性（例えば、ネットワークアドレス情報）を検査することができる。
【０１３７】
２１２０において、インストール回答を使用して、複数のコンピュータサーバにまたがって冗長に動作すべきコンピュータサービスに関する構成設定が、自動的に決定される。例えば、インストール回答は、全くユーザによるさらなる関与なしに、構成設定を決定するのに使用されることが可能である。構成設定を決定することは、そのコンピュータサービスを提供する責務を（例えば、統合されたマルチサーバネットワークまたはマルチサーバ環境の）第１のサーバと第２のサーバの間で分けて、これらのサーバが、冗長性を提供する（例えば、１つのサーバが応答できなかった場合、他方のサーバが、それでも、そのサービスを提供することができる）ようにすることを含むことが可能である。例えば、この責務は、データバックアップサービス、ネットワーキングサービス、またはディレクトリサービスを提供することであることが可能である。
【０１３８】
また、構成設定を自動的に決定することは、インストール回答に基づいてインストール知識ベースを調べることも含むことが可能である。例えば、インストール知識ベースは、複雑な構成問題（例えば、ネットワークアドレス空間を、複数のコンピュータサーバが、ＤＣＨＰサービスを提供するように正しく構成されることが可能であるように分割すること）への回答を含むことが可能である。
【０１３９】
２１３０において、複数のコンピュータサーバが、これらの構成設定を使用して構成されて、コンピュータサービスを提供する。例えば、第１のサーバが、サービスのための一次サーバである（例えば、サーバが動作している間、サービスを排他的に提供する、あるいは異なるサーバと一緒に協力して、サービスを提供する）ように構成されることが可能である。第２のサーバが、サービスのための二次サーバ、つまり、バックアップサーバである（例えば、一次サーバが動作していない場合だけ、サービスを提供する、または一次サーバと協力して、サービスを提供する）ように構成されることが可能である。
【０１４０】
（実施例３７  複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法）
図２２は、或るコンピュータサービスを提供する複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法２２００を示す。方法２２００は、例えば、図７に示されるようなシステムによって実行されることが可能である。２２１０において、インストール質問が、複数のコンピュータサーバを構成するユーザに尋ねられる。例えば、ユーザは、データバックアップサービスを構成することに関するインストール質問を尋ねられることが可能である。２２２０において、インストール回答が、インストール質問に応答して、ユーザから（例えば、ユーザインタフェースを介して）受け取られる。２２３０において、インストール回答に基づき、コンピュータサービスを提供するように第１のサーバを構成する第１の構成設定が決定される。２２４０において、第１のサーバが、第１の構成設定を使用して構成される。
【０１４１】
例えば、データバックアップサービスを構成しているユーザが、そのデータバックアップサービスをどのように構成するかについて尋ねられることが可能である。ユーザは、複数のコンピュータサーバの間でデータバックアップサービス責務をどのように分けるか（例えば、ネットワーク上のいずれの記憶装置が、いずれのコンピュータサーバを使用してバックアップすべきか）について尋ねられることが可能である。ユーザの回答に基づき、第１のサーバが、或る特定の記憶装置（例えば、異なるサーバ上の配置されたハードドライブアレイ）に関するデータバックアップサービスを提供するように構成されることが可能である。
【０１４２】
２２５０において、インストール回答に基づき、第２の構成設定が、コンピュータサービスを提供するように第２のサーバを構成するように決定される。２２６０において、第２のサーバが、第２の構成設定を使用して構成される。
【０１４３】
例えば、データバックアップサービス実施例を使用すると、第２のサーバが、同一の記憶装置に関して、または異なる記憶装置に関して、データバックアップサービスを提供するように構成されることが可能である。このようにして、データバックアップサービスは、複数のコンピュータサーバ（例えば、各コンピュータサーバが、特定の記憶装置をバックアップすることを担う）の間で分けられる、または分割されることが可能である。
【０１４４】
（実施例３８  例示的なコンピューティング環境）
図２３は、本明細書で説明される技術のいずれかを実施するのに使用されることが可能な、例示的なコンピューティング環境２３００を示す。このコンピューティング環境は、ネットワーク２３１０を含む。ネットワーク２３１０は、サーバ２３２０（例えば、コンピュータサーバ）、サービス２３３０（例えば、コンピュータサービス）、ユーザ２３４０（例えば、一般的なコンピュータユーザ、ＩＴ管理者、従業員）、およびデバイス２３５０（例えば、デスクトップコンピュータまたはラップトップコンピュータ、プリンタ、複写機、スキャナ）を含むことが可能である。
【０１４５】
ネットワーク２３１０は、接続ネットワーク２３６０を介して、２３７０や２３８０などの、他のネットワークに接続することができる。例えば、接続ネットワーク２３６０は、インターネットまたはローカルネットワークなどのワイドエリアネットワークを含むことが可能である。接続ネットワークは、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを含むことが可能である。
【０１４６】
（実施例３９  例示的な汎用コンピュータシステム）
図２４は、本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピュータシステム２４００の例を示す。コンピュータシステムには、処理装置２４２１、システムメモリ２４２２、ならびにシステムメモリを含む様々なシステム構成要素を処理装置２４２１と互いに接続するシステムバス２４２３を含むパーソナルコンピュータ２４２０が含まれる。システムバスは、いくつかを挙げると、ＰＣＩ、ＶＥＳＡ、ＭＣＡ（マイクロチャネル）、ＩＳＡ、およびＥＩＳＡなどのバスアーキテクチャを使用するメモリバスもしくはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれかを含むことが可能である。システムメモリは、ＲＯＭ（読み取り専用メモリ）２４２４、およびＲＡＭ（ランダムアクセスメモリ）２４２５を含む。起動中などの、パーソナルコンピュータ２４２０内部の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（基本入出力システム）２４２６が、ＲＯＭ２４２４の中に格納される。パーソナルコンピュータ２４２０は、ハードディスクドライブ２４２７、例えば、リムーバブルディスク２４２９に対して読み取りまたは書き込みを行う、磁気ディスクドライブ２４２８、および、例えば、ＣＤ−ＲＯＭディスク２４７１を読み取るための、または他の光媒体に対して読み取りまたは書き込みを行う、光ディスクドライブ２４７０をさらに含む。ハードディスクドライブ２４２７、磁気ディスクドライブ２４２８、および光ディスクドライブ２４７０は、それぞれ、ハードディスクドライブインタフェース２４７２、磁気ディスクドライブインタフェース２４７７、および光ドライブインタフェース２４７４によってシステムバス２４２３に接続される。これらのドライブ、および関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令（ダイナミックリンクライブラリなどのプログラムコード、および実行可能ファイル）などの不揮発性ストレージをパーソナルコンピュータ２４２０に提供する。前述のコンピュータ可読媒体の説明は、ハードディスク、リムーバブル磁気ディスク、およびＣＤについて述べているものの、コンピュータ可読媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなどの、コンピュータによって読み取られることが可能な、他のタイプの媒体も含まれることが可能である。
【０１４７】
オペレーティングシステム２４３５、１つまたは複数のアプリケーションプログラム２４３６、他のプログラムモジュール２４３７、およびプログラムデータ２４３８を含め、いくつかのプログラムモジュールが、ドライブおよびＲＡＭ２４２５の中に格納されることが可能である。ユーザは、キーボード２４４０、ならびにマウス２４４２などのポインティングデバイスを介して、パーソナルコンピュータ２４２０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタフェース２４４６を介して処理装置２４２１に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（ユニバーサルシリアルバス）などの、他のインタフェースで接続されてもよい。また、モニタ２４４７、または他のタイプのディスプレイデバイスも、ディスプレイコントローラまたはビデオアダプタ２４４８などのインタフェースを介してシステムバス２４２３に接続される。モニタに加え、パーソナルコンピュータは、通常、スピーカやプリンタなどの、他の周辺出力デバイス（図示せず）も含む。
【０１４８】
パーソナルコンピュータ２４２０は、リモートコンピュータ２４４９などの、１つまたは複数のリモートコンピュータへの論理接続を使用する、ネットワーク化された環境において動作することができる。リモートコンピュータ２４４９は、サーバ、ルータ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、パーソナルコンピュータ２４２０に関連して説明される要素の多く、またはすべてを含むが、メモリ記憶装置２４５０だけが、図２４に示されている。図２４に示される論理接続は、ＬＡＮ（ローカルエリアネットワーク）２４５１およびＷＡＮ（ワイドエリアネットワーク）２４５２を含む。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【０１４９】
ＬＡＮネットワーキング環境において使用される場合、パーソナルコンピュータ２４２０は、ネットワークインタフェースまたはネットワークアダプタ２４５３を介してローカルネットワーク２４５１に接続される。ＷＡＮネットワーキング環境において使用される場合、パーソナルコンピュータ２４２０は、通常、インターネットなどのワイドエリアネットワーク２４５２を介して通信を確立するためのモデム２４５４、または他の手段を含む。内部にあることも、外部にあることも可能なモデム２４５４は、シリアルポートインタフェース２４４６を介してシステムバス２４２３に接続される。ネットワーク化された環境において、パーソナルコンピュータ２４２０に関連して示されるプログラムモジュール、またはそのようなプログラムモジュールのいくつかの部分は、リモートメモリ記憶装置の中に格納されてもよい。図示されるネットワーク接続は、単に例であり、コンピュータ間で通信リンクを確立する他の手段が使用されてもよい。
【０１５０】
（実施例４０  例示的な自動化された方法）
本明細書で説明される方法のいずれも、そのような方法を実行するためのコンピュータ実行可能命令を有する１つまたは複数のコンピュータ可読媒体を介して実行されることが可能である。動作は、完全に自動である、半自動である、または手動の介入が関与することが可能である。
【０１５１】
（実施例４１  例示的な組合せ）
本明細書で説明されるいずれの実施例の技術も、本明細書で説明される他の任意の１つまたは複数の実施例の技術と組み合わされることが可能である。
【０１５２】
（実施例４２  例示的な代替形態）
開示される発明の原理が適用されることが可能な、多数の可能な実施形態に鑑みて、例示される実施形態は、本発明の好ましい実施例だけであり、本発明の範囲を限定するものと解釈されてはならないことを認識されたい。むしろ、本発明の範囲は、添付の特許請求の範囲によって規定される。したがって、我々は、特許請求の範囲の範囲および趣旨に含まれるすべてを、我々の発明として主張する。
【図面の簡単な説明】
【０１５３】
【図１】サーバプログラムスイートから複数のインストール可能なサーバプログラムをインストールするための例示的なシナリオを示す図である。
【図２】サーバプログラムスイートをインストールするための例示的な方法を示す流れ図である。
【図３】コンピュータサーバインストールイメージを作成するための例示的なシステムを示す図である。
【図４】コンピュータサーバインストールイメージを作成するための例示的な方法を示す図である。
【図５】例示的なコンピュータサーバインストールイメージを示す図である。
【図６】ソフトウェアを汎用化する（genericize）ための例示的な方法を示す流れ図である。
【図７】例示的な複数のサーバネットワークを示すブロック図である。
【図８】複数のコンピュータサーバインストールイメージをインストールするための例示的な方法を示す流れ図である。
【図９】構成設定を入力するための例示的なユーザインタフェースを示す図である。
【図１０】コンピュータサーバインストールイメージを作成して、インストールするための例示的なシステムを示す図である。
【図１１】統合されたコンピュータサーバをインストールするための例示的なシステムを示す図である。
【図１２】統合されたコンピュータサーバをインストールするための例示的な方法を示す流れ図である。
【図１３】インストール回答を格納し、伝送するための例示的な方法を示す流れ図である。
【図１４】さらなるインストール質問に回答するための例示的な方法を示す流れ図である。
【図１５】アプリケーションの自動化された分散インストールのための例示的な方法を示す流れ図である。
【図１６】複数のコンピュータサーバをインストールするための例示的な方法を示す流れ図である。
【図１７Ａ】例示的な構成されていないサーバを示すブロック図である。
【図１７Ｂ】第１のサーバの例示的なインストールを示すブロック図である。
【図１８Ａ】第２のサーバの例示的なインストールを示すブロック図である。
【図１８Ｂ】第３のサーバの例示的なインストールを示すブロック図である。
【図１９】複数のサーバにわたってサーバプログラムスイートをインストールするための例示的な方法を示す流れ図である。
【図２０】複数のサービスを提供するように構成された複数のサーバの例示的なシステムを示すブロック図である。
【図２１】コンピュータサービスの自動化された冗長な構成のための例示的な方法を示す流れ図である。
【図２２】コンピュータサービスを提供する複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法を示す流れ図である。
【図２３】本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピューティング環境の例を示すブロック図である。
【図２４】本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピュータシステムの例を示すブロック図である。
【図１】
2009527848.tif 000003
【図２】
2009527848.tif 000004
【図３】
2009527848.tif 000005
【図４】
2009527848.tif 000006
【図５】
2009527848.tif 000007
【図６】
2009527848.tif 000008
【図７】
2009527848.tif 000009
【図８】
2009527848.tif 000010
【図９】
2009527848.tif 000011
【図１０】
2009527848.tif 000012
【図１１】
2009527848.tif 000013
【図１２】
2009527848.tif 000014
【図１３】
2009527848.tif 000015
【図１４】
2009527848.tif 000016
【図１５】
2009527848.tif 000017
【図１６】
2009527848.tif 000018
【図１７Ａ】
2009527848.tif 000019
【図１７Ｂ】
2009527848.tif 000020
【図１８Ａ】
2009527848.tif 000021
【図１８Ｂ】
2009527848.tif 000022
【図１９】
2009527848.tif 000023
【図２０】
2009527848.tif 000024
【図２１】
2009527848.tif 000025
【図２２】
2009527848.tif 000026
【図２３】
2009527848.tif 000027
【図２４】
2009527848.tif 000028
【国際調査報告】
2009527848.tif 000029
2009527848.tif 000030