JP2009527848A - 統合されたマルチサーバインストール - Google Patents

統合されたマルチサーバインストール Download PDF

Info

Publication number
JP2009527848A
JP2009527848A JP2008556317A JP2008556317A JP2009527848A JP 2009527848 A JP2009527848 A JP 2009527848A JP 2008556317 A JP2008556317 A JP 2008556317A JP 2008556317 A JP2008556317 A JP 2008556317A JP 2009527848 A JP2009527848 A JP 2009527848A
Authority
JP
Japan
Prior art keywords
server
installation
computer
answer
installing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008556317A
Other languages
English (en)
Inventor
クレーマー マイケル
ビー.ワトソン エリック
メーザー レシェク
スコット フィッシュマン ニール
アラン スペンサー ドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009527848A publication Critical patent/JP2009527848A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

複数の統合されたコンピュータサーバがインストールされることが可能である。ユーザインタフェースが提示され、インストール回答が受け取られることが可能である。サーバおよびソフトウェアが、インストール回答に従ってインストールされることが可能である。1つのサーバ上で与えられたインストール回答が、他のサーバをインストールするのに使用されることが可能である。コンピュータサーバのインストールは、自動化されたプロセスまたは分散プロセスであることが可能である。サーバにアプリケーションをインストールする決定が行われることが可能である。構成設定が受け取られ、アプリケーションをインストールするのに使用されることが可能である。構成設定は、1つのサーバ上で受け取られて、他のサーバにアプリケーションをインストールするのに使用されることが可能である。コンピュータサーバは、インストール質問を尋ね、インストール回答を受け取ることによってインストールされることが可能である。次に、サーバを構成することに関するインストール決定が行われることが可能である。知識ベースが調べられることが可能であり、さらなるインストール決定が行われることが可能である。

Description

本発明は、複数のコンピュータサーバの統合されたインストールに関する。
技術の進歩にもかかわらず、複数のコンピュータサーバの統合されたインストールは、困難な作業である可能性がある。例えば、オペレーティングシステムおよびアプリケーションソフトウェアを含む複数のサーバをインストールするユーザは、サーバを正しくインストールする、または構成する知識または専門技術を有さない可能性がある。複数のサーバへのインストールには、複雑なインストール作業および構成作業がかかわる可能性がある。例えば、一部のアプリケーションは、複数のサーバにわたってインストールされて、動作しなければならない可能性がある。さらに、ユーザが、既存のネットワークをアップグレードするプロセスにおいて複数のサーバをインストールしている場合、ソフトウェア、サービス、および構成設定が、それらの新たなサーバに移されなければならない可能性がある。
一般に、複数のコンピュータサーバをインストールするために、ユーザは、オペレーティングシステムやアプリケーションなどのソフトウェアを購入する。次に、ユーザは、これらのオペレーティングシステムおよびアプリケーションを、各サーバに行き、ユーザインタフェースを使用することによって、各サーバにインストールする。また、ユーザは、各サーバ上でオペレーティングシステムおよびアプリケーションを正しく構成しなければならない。このプロセスは、時間がかかり、誤りが生じやすい。
したがって、複数のコンピュータサーバの統合されたインストールと関係する技術には、向上の余地が十分にある。
本発明は、複数のコンピュータサーバの統合されたインストールに関する方法を提供する。
複数のコンピュータサーバの統合されたインストールと関係する様々な技術が、適用されることが可能である。そのような技術は、複数の統合されたコンピュータサーバをインストールするために使用されることが可能である。例えば、1つまたは複数のユーザインタフェースが、第1のサーバ上で提示されることが可能であり、インストール回答(installation answer)が、受け取られることが可能である。ソフトウェアが、このインストール回答に従って第1のサーバにインストールされることが可能である。また、ソフトウェアは、このインストール回答に従って第2のサーバにインストールされることも可能である。さらに、インストール決定(installation decision)が、インストール回答に基づいて行われることが可能であり、知識ベース(knowledge base)が調べられることが可能である。また、インストール回答は、格納され、サーバ間で伝送されることも可能である。
また、このような技術は、統合されたコンピュータサーバへのアプリケーションの自動化された分散インストールのために使用されることも可能である。例えば、第1のサーバに第1のアプリケーションをインストールする決定が、行われることが可能である。構成設定(configuration setting)が、ユーザによって受け取られて、第1のアプリケーションをインストールするのに使用されることが可能である。第2のサーバに第2のアプリケーションをインストールする決定が、行われることが可能である。第2のアプリケーションは、その構成設定を使用して第2のサーバにインストールされることが可能である。これらのアプリケーションをインストールする決定は、例えば、自動化された発見プロセス、サーバのハードウェア構成、または知識ベースを調べることに基づくことが可能である。
また、このような技術は、複数のコンピュータサーバをインストールするために使用されることも可能である。ユーザにインストール質問(installation question)が尋ねられることが可能であり、これに応答して、インストール回答が受け取られることが可能である。第1のサーバを構成することに関するインストール決定が、このインストール回答に基づいて行われることが可能である。また、インストール知識ベースが、インストール回答に基づいて調べられることも可能である。第2のサーバを構成することに関する、さらなる1つまたは複数のインストール決定が、この調査(consultation)に基づいて行われることが可能である。
本発明の以上、およびその他の目的、特徴、および利点は、添付の図面を参照して進められる、以下の詳細な説明から、より明白となろう。
(実施例1 例示的なインストール可能なサーバプログラム)
本明細書の実施例のいずれにおいても、インストールされるソフトウェアは、任意のインストール可能なサーバプログラムであることが可能である。例えば、インストール可能なサーバプログラムには、クライアントによって使用されるようにサービスを提供する任意のサーバアプリケーションが含まれることが可能である。実際には、そのようなサーバアプリケーションには、ファイル共有サービス、電子メールサーバ、ファイアウォールサービス、スパム対策サービス、ウイルス対策検出サービス、ネットワーキングサービス(例えば、ネットワークを構成するIDおよび関係を管理するためのサービス)などが含まれることが可能である。
また、インストール可能なサーバプログラムには、オペレーティングシステム、オペレーティングシステム拡張機能(enhancement)、またはこの両方などの、インストール可能なオペレーティングシステムプログラムが含まれることも可能である。
(実施例2 例示的なインストール可能なサーバプログラムスイート)
本明細書の実施例のいずれにおいても、インストール可能なサーバプログラムは、サーバプログラムスイート(server program suite)として提供されることが可能である。例えば、インストール可能なサーバプログラムのコレクションを、2つ以上のサーバコンピュータのセット上で展開することが可能である単一の購入可能なユニットとしてバンドルすることが望ましい可能性がある。
インストール可能なサーバプログラムスイートは、ネットワークの或る特定の態様(例えば、ネットワークセキュリティ)を中心とするスイート、または様々なインストール可能なサーバプログラムを含むフル機能のスイート(例えば、ファイル共有サービス、電子メールサーバ、ファイアウォールサービス、スパム対策サービス、ウイルス対策検出サービス、ネットワーキングサービス、または以上の任意の組合せを含むバンドルされたサーバスイート)であることが可能である。
所望される場合、このスイートは、特定の顧客(例えば、中規模の企業)を対象とすることが可能である。また、このスイートは、その他のプログラムが依拠するオペレーティングシステムプログラム(例えば、オペレーティングシステムインフラストラクチャ、オペレーティングシステム拡張機能、またはこの両方)を含むことも可能である。
(実施例3 サーバプログラムスイートの例示的なインストール)
本明細書の実施例のいずれにおいても、説明されるインストール技術は、複数のコンピュータサーバにまたがってサーバプログラムスイートをインストールするのに使用されることが可能である。図1は、サーバプログラムスイート110の中の複数のインストール可能なサーバプログラム120A〜120Nが、複数のコンピュータサーバ180A〜180Nにまたがるインストールされたプログラム190A〜190Nとしてインストールされる、例示的なシナリオ100を示す。
この実施例では、少なくとも1つのプログラム120Bが、2つのサブプログラム190B、190Cとして、2つのサーバ180Aおよび180Bにまたがって分割されることになる。一部の事例では、そのようなサブプログラムは、冗長なサービス(redundant service)であることが可能である(例えば、190Bは、190Cの冗長なサービスである)。あるいは、そのようなサブプログラムは、一次/二次(primary/secondary)関係を有することが可能である(例えば、190Bが、一次サービスであり、190Cが、この一次サービスに関する二次サービスである)。あるいは、そのようなサブプログラムは、単に、同一のサービスの異なる部分であることが可能である(例えば、190Bが、ローカルクライアントのための電子メールサービスを提供し、190Cが、リモートクライアントのための電子メールサービスを提供する)。
インストール中、1つまたは複数のインストールユーティリティが、サーバ180A〜180Nの上に配置されることも可能である。このようにして、ソフトウェアスイートの分散型インストールが、サーバ180A〜180Nにわたって分散されたインストールユーティリティによって達せられることが可能である。異なるサーバ180A〜180Nにおけるインストールユーティリティは、異なる機能を実行することができ、本明細書で説明されるとおり、互いに通信して、複数のサーバ180A〜180Nにまたがってソフトウェアスイートを協力してインストールすることができる。例えば、1つのサーバ(例えば、180A)上のインストールユーティリティが、他のサーバ(例えば、180B〜180N)からアクセスされることが可能な(例えば、ネットワークを介して)、リモートでアクセス可能なサービスを提供することが可能である。
所望される場合、サーバプログラムスイートは、別個のインストールのために当初、開発されたインストール可能なプログラムのセットをモデルとすることが可能である。分散インストールのために、これらのプログラムを一緒にバンドルすることにより、このスイートの中のプログラムをインストールすることにかかわる時間および労力が低減されることが可能である。
(実施例4 サーバプログラムスイートをインストールするための例示的な方法)
図2は、サーバプログラムスイートをインストールするための例示的な方法200を示し、方法200は、例えば、図1に示されるシナリオの一環として実行されることが可能である。210において、サーバプログラムスイートからの1つのインストール可能なサーバプログラムが、1つのサーバ(例えば、マルチサーバ環境の1つのサーバ)にインストールされる。220において、サーバプログラムスイートからの別のインストール可能なサーバプログラムが、異なるサーバにインストールされる。230において、サーバプログラムスイートからのさらに別のインストール可能なサーバプログラムが、2つのサーバにまたがってインストールされる(例えば、サーバプログラムのいくつかの構成要素が、第1のサーバにインストールされ、他のいくつかの構成要素が、第2のサーバにインストールされる)。
(実施例5 例示的なインストール)
本明細書の実施例のいずれにおいても、インストールは、コンピュータ(例えば、コンピュータサーバ)にソフトウェア(例えば、オペレーティングシステム、アプリケーション)をインストールすることを含むことが可能である。インストールは、ファイルを(例えば、CD(コンパクトディスク)などのソースメディアから、またはローカルエリアネットワークもしくはインターネットなどのネットワークを介して)コンピュータサーバにコピーすることを含むことが可能である。また、インストールは、コンピュータサーバ上でソフトウェアを構成すること(例えば、様々な構成設定を入力すること)を含むことも可能である。サーバに或るアプリケーションをインストールする際、そのアプリケーション全体が、サーバにインストールされること、またはそのアプリケーションの一部(そのアプリケーションの構成要素のいくつか)だけが、サーバにインストールされることが可能である。さらに、同一のアプリケーションの異なる部分が、異なるサーバにインストールされることが可能である。
これらのアクションのいずれも、インストールユーティリティによって実行されることが可能である。
(実施例6 例示的な展開中立の設定(Deployment Neutral Settings))
本明細書の実施例のいずれにおいても、ソフトウェアは、展開中立の設定(いずれの顧客が、そのソフトウェアをインストールするかにかかわらず、同一であることが可能な設定)で構成されることが可能である。ソフトウェアを構成することは、ソフトウェアにおける様々な設定を構成すること(例えば、作成すること、入力すること、変更すること)を含むことが可能である。展開中立の設定は、イメージングのためにソフトウェアを準備するために、ソフトウェアを構成するのに使用されることが可能である。例えば、展開中立の設定は、特定の展開(例えば、特定の顧客によるソフトウェアのインストール)に固有でない設定であることが可能である。展開中立の設定には、以下が含まれることが可能である。すなわち、様々なソフトウェア構成要素が、記憶媒体上に存在するインストールディレクトリ、メールキューディレクトリ、Webサイト名およびWebサイトディレクトリ、バックアップスケジュール、およびファイアウォール設定である。
展開中立の設定を使用すると、ソフトウェア(例えば、オペレーティングシステム、および1つまたは複数のアプリケーション)は、そのソフトウェアが、イメージングされ、様々な顧客によってそのイメージから後にインストールされることが可能であるように構成されることが可能である。その後、顧客は、顧客の個々の環境向けに、そのソフトウェアをカスタマイズすること(例えば、コンピュータ名、IP(インターネットプロトコル)アドレス、ユーザ名、およびパスワードを入力すること)を終えることができる。
(実施例7 例示的な展開固有の設定)
本明細書の実施例のいずれにおいても、ソフトウェアは、展開固有の設定で構成されることが可能である。ソフトウェアを構成すること(例えば、インストールプロセスの一環としての)は、そのソフトウェアにおける様々な設定を構成すること(例えば、作成すること、入力すること、変更すること)を含むことが可能である。展開固有の設定は、イメージングのためにソフトウェアを準備する際に、ソフトウェアを構成するのに使用されることが可能である(例えば、展開固有の設定は、インストール中に要求される可能性がある)。例えば、展開固有の設定は、或る特定の展開(例えば、特定の顧客によるソフトウェアのインストール)に固有の設定であることが可能である。
展開固有の設定は、以下を含むことが可能である。すなわち、アカウント設定、ネットワーキング設定、ファイアウォール設定、スパム対策設定、一意サーバ識別値(例えば、ハードウェア固有値)、構成の詳細、サーバ名、IPアドレス、ユーザ名、ユーザアカウント情報、およびパスワードである。ときとして、ソフトウェアをインストールする際、展開固有の設定でソフトウェアを構成することが必要である可能性がある(例えば、オペレーティングシステムをインストールすることは、プロダクトキー、または管理者ユーザ名およびパスワードを要求する可能性がある)。
また、展開固有の設定は、イメージからソフトウェアをインストールする際に、ソフトウェアを構成するのに使用されることも可能である。例えば、イメージからインストールされるソフトウェアが、展開中立の設定を含むことが可能である。インストールプロセスの一環として、このソフトウェアが、展開固有の設定(例えば、アカウント設定、ネットワーキング設定、ファイアウォール設定、スパム対策設定、サーバ名、IPアドレス、ユーザ名、ユーザアカウント情報、およびパスワード)で構成されることが可能である(例えば、コンピュータサーバにインストールするためにイメージを購入した顧客によって)。
展開固有の設定は、様々な方法で入力されることが可能である(例えば、コンピュータサーバ上のユーザインタフェースを使用するユーザによって)。
(実施例8 例示的な顧客)
本明細書の実施例のいずれにおいても、顧客またはユーザは、ソフトウェアの購入者であることが可能である。例えば、顧客またはユーザは、個人のコンピュータ所有者、ビジネス、または組織であることが可能である。
(実施例9 例示的なコンピュータサーバインストールイメージ)
本明細書の実施例のいずれにおいても、コンピュータサーバのイメージが、作成されることが可能である(コンピュータサーバインストールイメージ)。例えば、オペレーティングシステム、および様々なアプリケーションが、管理された環境において(例えば、ソフトウェア製造業者によって運用される実験室において)コンピュータサーバにインストールされることが可能である。インストールプロセスの一環として、様々な構成設定(例えば、展開中立の設定、展開固有の設定)が、コンピュータサーバ上のオペレーティングシステム、および様々なアプリケーションに適用されることが可能である。インストールプロセスが完了すると、コンピュータサーバのイメージが作成されることが可能である。イメージは、例えば、インストールされたオペレーティングシステム、および様々なアプリケーションを有するコンピュータサーバの記憶装置(例えば、ハードドライブ)の内容の正確なコピーを(例えば、DVD(デジタルバーサタイルディスク)などの光記憶媒体上にコンピュータサーバの記憶装置の内容の正確なコピーを)作成することによって、作成されることが可能である。イメージは、コンピュータサーバの記憶装置(または複数の記憶装置)全体の正確なコピー、または記憶装置全体の一部分だけの正確なコピー(例えば、オペレーティングシステムまたはアプリケーションの正確なコピー)であることが可能である。
図5は、例示的なコンピュータサーバインストールイメージ500を示す。この実施例において、イメージ550は、オペレーティングシステム510、および1つまたは複数のアプリケーション(520、530、および540)を含む。また、イメージは、オペレーティングシステム510だけ、または1つまたは複数のアプリケーション(520、530、および540)だけを含むことも可能である。
イメージが作成されると、そのイメージは、コンピュータサーバをインストールするのに使用することが可能である。イメージは、例えば、そのイメージをコンピュータサーバの記憶装置上にコピーすることによって、インストールすることが可能である。例えば、ソフトウェア製造業者によって作成されたイメージが、顧客に届けられることが可能である。すると、顧客は、そのイメージを使用して、コンピュータサーバをインストールすることができる。例えば、顧客は、そのイメージを含むDVDを、コンピュータサーバ上のDVDドライブに入れて、次に、そのイメージを、コンピュータサーバの記憶装置(例えば、ハードディスク)にコピーするプロセス(例えば、自動化されたプロセス)を開始することができる。
コンピュータサーバインストールイメージを使用することにより、顧客は、顧客が、例えば、オペレーティングシステム、および様々なソフトウェアアプリケーションを別々にインストールする必要がないため、相当な時間と労力を節約することができる。さらに、オペレーティングシステム、およびいくつかのアプリケーションを含む複雑なサーバを正しく、または最適にインストールする知識または専門技術を有さない可能性がある顧客が、イメージを代わりに使用することができる。例えば、ソフトウェア製造業者は、オペレーティングシステム、および様々なアプリケーションをインストールした(構成することを含め)後、このイメージを作成することができる。ソフトウェア製造業者は、これらのオペレーティングシステムおよびアプリケーションの専門技術および知識を使用して、これらのオペレーティングシステムおよびアプリケーションを正しく、最適に構成することができる。
さらに、ソフトウェア製造業者は、製造業者が、複数のアプリケーション(例えば、複雑なマルチサーバアプリケーション)をインストールして、構成した、複数の統合されたコンピュータサーバから、1つまたは複数のコンピュータサーバインストールイメージを作成することができる。このようにして、顧客は、いくつかのサーバ、およびいくつかのコンピュータサーバインストールイメージ(例えば、3つのサーバと、3つのコンピュータサーバインストールイメージとを含むパッケージ)を購入し、これらのサーバおよびイメージを使用して、統合されたマルチサーバ環境をインストールすることのすべてを、複雑なインストールおよび構成のプロセスがイメージ作成に先立って製造業者によって既に行われているため、そのようなプロセスを経験することなしに行うことができる。
(実施例10 例示的なイメージングシステム)
図3は、コンピュータサーバインストールイメージを作成するための例示的なシステム300を示す。イメージ(例えば、コンピュータサーバインストールイメージ)を作成するプロセスは、イメージングとして知られている。この実施例において、オペレーティングシステム310が、コンピュータサーバ350にインストールされることが可能である。オペレーティングシステムに加えて、またはオペレーティングシステムの代わりに、1つまたは複数のアプリケーション(例えば、320、330、および340)が、コンピュータサーバ350にインストールされることが可能である。コンピュータサーバ350は、ソフトウェア製造業者のところにあることが可能であり、オペレーティングシステム310、および1つまたは複数のアプリケーション(320、330、および340)は、管理された環境(例えば、ソフトウェア製造業者によって運用されるソフトウェアインストール実験室)においてコンピュータサーバ350にインストールされることが可能である。このようにして、サーバ350は、様々な展開環境のために最適化された設定を使用してインストールされることが可能である。
例えば、ソフトウェア製造業者は、或る特定のオペレーティングシステム、アプリケーション、ならびに、統合されたマルチサーバ環境のサーバが、ファイル共有サービス、ネットワーキングサービス、電子メールサービス、およびファイアウォールサービスなどのサービスを提供するように一緒に動作する、統合されたマルチサーバ環境向けに最適化された設定をサーバ350にインストールすることができる。例えば、マルチサーバ環境によって提供されるこれらのサービスが、ユーザ、およびビジネスまたは組織のデバイスに提供されることが可能である。
(実施例11 コンピュータサーバインストールイメージを作成するための例示的な方法)
図4は、コンピュータサーバインストールイメージを作成するための例示的な方法400を示し、方法400は、例えば、図3に示されるようなシステムによって実行されることが可能である。410において、或るアプリケーションが、コンピュータサーバにインストールされる。
代替として、複数のアプリケーションが、コンピュータサーバにインストールされることが可能である。複数のアプリケーションが、インストールされる場合、この複数のアプリケーションは、統合されたアプリケーションパッケージの一部であることが可能である。例えば、複数のアプリケーションのそれぞれが、DNS(ドメインネームシステム)サービス、DHCP(動的ホスト構成プロトコル)サービス、ファイル共有サービス、およびWebサーバサービスなどの様々なネットワーキングサービスを提供することが可能である。
1つまたは複数のアプリケーションをインストールすることに加えて、またはそうすることの代わりに、オペレーティングシステムが、コンピュータサーバにインストールされることも可能である(例えば、アプリケーションをインストールする前に、またはアプリケーションをインストールすることと同時に)。
420において、コンピュータサーバのイメージが作成される。このイメージは、インストールされたアプリケーションを有するコンピュータサーバ全体の単一のイメージを含むことが可能である。イメージは、インストールされた1つまたは複数のアプリケーション、および/またはインストールされたオペレーティングシステムを有するコンピュータサーバ全体の単一のイメージを含むことも可能である。また、イメージは、コンピュータサーバ全体未満(例えば、1つまたは複数のアプリケーションだけ、またはオペレーティングシステムだけ)を含むことも可能である。
(実施例12 例示的な汎用化(genericizing)方法)
図6は、ソフトウェアを汎用化するための例示的な方法600を示す。610において、1つまたは複数のアプリケーションが構成される(例えば、1つまたは複数のアプリケーションをコンピュータサーバにインストールすることの一環として)。620において、汎用化プロセスが、構成された1つまたは複数のアプリケーション上で実行される。
1つまたは複数のアプリケーションを構成することに加えて、またはそうする代わりに、オペレーティングシステムが構成されることも可能である(例えば、コンピュータサーバにオペレーティングシステムをインストールすることの一環として)。オペレーティングシステムは、1つまたは複数のアプリケーションが構成されるのに先立って、または1つまたは複数のアプリケーションが構成されるのと同時に、構成されることが可能である。次に、汎用化プロセスが、1つまたは複数のアプリケーションに加えて、または1つまたは複数のアプリケーションの代わりに、構成されたオペレーティングシステム上で実行されることが可能である。
例えば、汎用化プロセスは、コンピュータサーバインストールイメージを作成するためのプロセスの一環として使用されることが可能である。汎用化プロセスは、イメージングのためにソフトウェアを準備するために、いくつかのタスクを実行することができる。例えば、汎用化プロセスは、展開固有の設定を展開中立の設定で置き換えることができる。展開固有の設定を展開中立の設定で置き換えることの例は、(例えば、サーバの)ネットワークカードに関する設定を、或る特定の静的IPアドレスモードから動的に割り当てられるIPアドレスモードに変更することであることが可能である。
また、汎用化プロセスは、一意のサーバ識別値を取り除くこともできる。例えば、汎用化プロセスは、構成されたオペレーティングシステムまたはアプリケーションから一意のハードウェア識別子(例えば、ネットワークハードウェアアドレス、プロセッサ識別子、または他の何らかの一意ハードウェア識別子)を取り除くこともできる。このようにして、オペレーティングシステムを含むイメージが作成されると、イメージは、オペレーティングシステムが最初にインストールされていて、このイメージが作成されたサーバの一意のハードウェア識別子を有さず、イメージは、次に、任意のサーバハードウェアにインストールされるように使用されることが可能である。
例えば、サーバにソフトウェアをインストールする際、サーバ名が要求される(例えば、ソフトウェアが、サーバに正しくインストールされて、機能するのに要求される可能性がある)。その場合、サーバ名を取り除く汎用化プロセスが、そのサーバ上で実行されることが可能であり、イメージが作成されることが可能である。顧客が、イメージを後にインストールする際、サーバ名(例えば、展開固有の設定)が、その顧客によって入力される(またはランダムに作成される)ことが可能である。
汎用化プロセスは、実験室環境においてサーバをインストールした(例えば、統合されたマルチサーバ環境の複数のサーバをインストールして、構成した)後、ソフトウェア製造業者によって使用されることが可能である。
(実施例13 例示的なマルチサーバ環境)
本明細書の実施例のいずれにおいても、サーバおよびソフトウェアは、マルチサーバ環境(例えば、マルチサーバネットワーク)をインストールするようにインストールされることが可能である。マルチサーバ環境は、2つ以上のコンピュータサーバを含む環境であることが可能である。例えば、複数のコンピュータサーバインストールイメージが、マルチサーバ環境の複数のコンピュータサーバをインストールするのに使用されることが可能である。
マルチサーバ環境のサーバは、コンピュータワークステーション(例えば、デスクトップおよびラップトップ)、ユーザ(例えば、コンピュータユーザ)、およびその他のリソースなどの、様々なリソースをサポートすることができる。マルチサーバ環境のサーバは、様々なサービス(例えば、電子メールサービス、ファイアウォールサービス、ファイルサービス、ウイルス対策サービス、スパム対策サービス、およびネットワーキングサービス)をリソースに提供するためのソフトウェアを実行することができる。
マルチサーバ環境におけるサーバは、どのようなソフトウェアがこれらのサーバにインストールされるかに関して、不均一であることが可能である。例えば、1つのサーバは、1つまたは複数のアプリケーションの1つのセットを有することが可能であり、別のサーバは、別の異なるアプリケーションセットを有することが可能である。
また、マルチサーバ環境のサーバは、様々な方法で統合されることも可能である。例えば、これらのサーバは、或る組織のリソースにサービスを協働して提供するように設計されたオペレーティングシステムとアプリケーションを実行することが可能である。また、これらのサーバは、一緒に動作するように構成されたオペレーティングシステムとアプリケーションを実行することも可能である(例えば、1つのサーバが、他のサーバによって使用されるようにユーザアカウント情報を提供することが可能である)。
例えば、統合されたマルチサーバ環境は、3つのサーバを含むことが可能である。第1のサーバは、ファイル共有サービス、DHCPサービス、DNSサービス、印刷サービス、およびユーザアカウントサービスなどのネットワーキングサービスを提供するネットワーキングサーバであることが可能である。第2のサーバは、ネットワークルーティングサービス、ファイアウォールサービス、ウイルス対策サービス、およびスパム対策サービスなどのサービスを提供するゲートウェイサーバであることが可能である。第3のサーバは、電子メールサービスを提供する電子メールサーバであることが可能である。一部のサービスは、2つ以上のサーバにまたがって分割されることが可能である。例えば、リモート電子メールアクセスサービスが、ゲートウェイサーバによって提供されることが可能である一方で、ローカル電子メールアクセスが、電子メールサーバによって提供されることが可能である。
マルチサーバ環境のサーバはそれぞれ、異なるハードウェア構成を有することが可能である。例えば、1つのサーバが、大型のハードドライブアレイを有することが可能であり、別のサーバが、複数のネットワークアダプタを有することが可能であり、さらに別のサーバが、複数の高速プロセッサを有することが可能である。これらの異なるハードウェア構成は、そのハードウェアにインストールされるべき特定のソフトウェアに適合されることが可能である。例えば、ファイル共有サービスを提供するネットワーキングサーバは、大型のハードドライブアレイを有することが可能である。
(実施例14 例示的なマルチサーバネットワーク)
図7は、例示的なマルチサーバネットワーク700を示す。このマルチサーバネットワークは、コンピュータネットワークである。この実施例において、様々なアイテムが、このマルチサーバネットワークに関連付けられることが可能である。
1つまたは複数のコンピュータサーバ(710、720、および730)が、このマルチサーバネットワークに関連付けられることが可能である。マルチサーバネットワーク(710、720、および730)のサーバは、マルチサーバネットワークのリソース(例えば、ユーザ740、デバイス750、およびレガシーサーバ760)に様々なサービス(例えば、電子メールサービス、ファイアウォールサービス、ファイル共有サービス、ウイルス対策サービス、スパム対策サービス、およびネットワーキングサービス)を提供するためのソフトウェアを実行することが可能である。
ユーザ740が、このマルチサーバネットワークに関連付けられることが可能である。例えば、ユーザは、ユーザ名、または他の認証方法を介して、マルチサーバネットワークを使用する人々(例えば、通常の従業員、IT管理者、経営者)であることが可能である。
また、デバイス750が、このマルチサーバネットワークに関連付けられることも可能である。例えば、デバイスは、コンピュータ(例えば、従業員のデスクトップコンピュータもしくはラップトップコンピュータ)、または他の任意のタイプのデバイス(例えば、プリンタ、複写機、スキャナ、通信デバイス)であることが可能である。
レガシーサーバ760が、マルチサーバネットワークに関連付けられることが可能である。例えば、レガシーサーバは、他の1つまたは複数のサーバ(例えば、710、720、および730)と比べて、より早期のバージョンのオペレーティングシステム(またはアプリケーション)を実行するサーバであることが可能である。インストールプロセス(例えば、710、720、または730などの新たなサーバにコンピュータサーバインストールイメージをインストールすること)の最中に、データおよび設定が、レガシーサーバ760から、インストールが行われている1つまたは複数のサーバ(例えば、710、720、および730)に移されることが可能である。
マルチサーバネットワーク700におけるアイテムは、ネットワーク770を介して一緒にリンクされることが可能である。例えば、ネットワーク770は、物理ネットワークケーブル配信、無線ネットワーク、またはこれらの何らかの組合せであることが可能である。様々なアイテムが、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを介して一緒にリンクされることが可能である。例えば、ネットワーク770は、ローカルエリアネットワーク、ワイドエリアネットワーク、または分散ネットワークであることが可能である。ネットワーク770は、或るビジネスまたは組織のネットワークであることが可能である。ネットワーク770は、他のネットワーク(例えば、インターネット)に接続されることが可能である。
(実施例15 複数のコンピュータサーバインストールイメージをインストールするための例示的な方法)
図8は、(例えば、マルチサーバ環境またはマルチサーバネットワークの)複数のコンピュータサーバに複数のコンピュータサーバインストールイメージをインストールするための例示的な方法800を示す。方法800は、例えば、図7に示されるようなシステムによって実行されることが可能である。810において、第1のコンピュータサーバに、第1のコンピュータサーバインストールイメージがインストールされる。第1のコンピュータサーバインストールイメージは、オペレーティングシステムと、1つまたは複数のアプリケーションとを含むことが可能である。また、第1のコンピュータサーバインストールイメージは、オペレーティングシステムだけ、または1つまたは複数のアプリケーションだけを含むことも可能である。オペレーティングシステム、および1つまたは複数のアプリケーションは、第1のコンピュータサーバインストールイメージ上で、展開中立の設定を使用して既に構成されている(例えば、イメージが作成される前に、ソフトウェア製造業者によって、これらの設定を使用して構成されている)ことが可能である。また、第1のコンピュータサーバに第1のコンピュータサーバインストールイメージ810をインストールすることは、イメージが第1のコンピュータサーバに転送された後、展開固有の設定を使用して、オペレーティングシステム、および1つまたは複数のアプリケーションを構成することを含むことも可能である。例えば、オペレーティングシステムは、一意のサーバ名、管理者ユーザ名、および管理者パスワードなどの展開固有の設定を使用して構成されることが可能である。展開固有の設定は、様々な方法で(例えば、第1のコンピュータサーバ上のユーザインタフェースを使用するユーザによって)入力されることが可能である。複数のコンピュータサーバのオペレーティングシステムが、例えば、ユーザインタフェースを介して、一意のサーバ名、管理者ユーザ名、および管理者パスワードを受け取ることにより、展開固有の設定を使用して構成されることが可能である。
820において、第2のコンピュータサーバに、第2のコンピュータサーバインストールイメージがインストールされる。第2のコンピュータサーバインストールイメージは、オペレーティングシステムと、1つまたは複数のアプリケーションとを含むことが可能である。オペレーティングシステム、および1つまたは複数のアプリケーションは、第2のコンピュータサーバインストールイメージ上で、展開中立の設定を使用して既に構成されている(例えば、イメージが作成される前に、ソフトウェア製造業者によって、これらの設定を使用して構成されている)ことが可能である。また、第2のコンピュータサーバに第2のコンピュータサーバインストールイメージ820をインストールすることは、イメージが第2のコンピュータサーバに転送された後、展開固有の設定を使用して、オペレーティングシステム、および1つまたは複数のアプリケーションを構成することも含むことが可能である。例えば、オペレーティングシステムは、サーバ名、ユーザ名、およびパスワードなどの展開固有の設定を使用して構成されることが可能である。
この方法を使用して、任意の(例えば、可変の)数のコンピュータサーバに、任意の(例えば、可変の)数のコンピュータサーバインストールイメージがインストールされることが可能である。これらのコンピュータサーバは、マルチサーバ環境またはマルチサーバネットワーク(例えば、統合されたマルチサーバ環境またはマルチサーバネットワーク)の一部であることが可能である。例えば、これらのサーバの1つは、ネットワーキングサービスを提供することが可能であり、これらのサーバの1つは、電子メールサービスを提供することが可能であり、さらに、これらのサーバの1つは、ファイアウォールサービスを提供することが可能である。
また、コンピュータサーバには、アプリケーションだけを含むコンピュータサーバインストールイメージがインストールされることも可能である。
また、新たなコンピュータサーバにコンピュータサーバインストールイメージ(例えば、第1のコンピュータサーバに第1のコンピュータサーバインストールイメージ810)をインストールすることは、図7に760で表されるレガシーサーバなどの、レガシーサーバから設定およびデータを移すことを含むことも可能である。例えば、レガシーサーバは、ユーザアカウント情報(例えば、ユーザ名、パスワード、およびその他のアカウント情報)を含むことが可能である。新たなコンピュータサーバに、コンピュータサーバインストールイメージをインストールする際、レガシーサーバからのユーザアカウント情報が、新たなコンピュータサーバに移されることが可能である。
また、コンピュータサーバにコンピュータサーバインストールイメージをインストールすることは、異なるコンピュータサーバから、コンピュータサーバを構成するための展開固有の設定を受信することを含むことも可能である。例えば、第2のコンピュータサーバに第2のコンピュータサーバインストールイメージ820をインストールする際、第2のコンピュータサーバは、第1のコンピュータサーバインストールイメージ810がインストールされている第1のコンピュータサーバから、(例えば、第2のサーバに第2のイメージからインストールされたオペレーティングシステムを構成するための)展開固有の設定を、(例えば、図7に770で表されるネットワークのようなネットワークを介して)受信することが可能である。
(実施例16 設定を入力するための例示的なユーザインタフェース)
図9は、設定(例えば、構成設定)を入力する(受け取る)ための例示的なユーザインタフェース900を示す。例えば、ユーザインタフェース940が、展開固有の設定を入力する(受け取る)のに(例えば、コンピュータサーバにコンピュータサーバインストールイメージをインストールするインストールプロセスの一環として)使用されることが可能である。この実施例では、(例えば、コンピュータサーバを構成するユーザによって)サーバ名910が、入力されることが可能である。また、ユーザインタフェース940は、(例えば、管理者アカウントに関する)ユーザ名920およびパスワード930を入力することもサポートする。
ユーザインタフェース940において入力される、これらの特定の構成設定(910、920、および930)の代わりに、またはこれらの設定(910、920、および930)に加えて、他の構成設定が入力されることも可能である。例えば、IPアドレス、DNS情報、およびマイグレーション選択に関する構成設定が、入力されることが可能である。
(実施例17 例示的なイメージ作成およびインストールシステム)
図10は、コンピュータサーバインストールイメージを作成して、インストールするための例示的なシステム1000を示す。この実施例では、オペレーティングシステム1010、および1つまたは複数のアプリケーション1020が、コンピュータ実験室サーバ1030(例えば、ソフトウェア製造業者のコンピュータ実験室におけるコンピュータサーバ)にインストールされる。任意の構成(例えば、展開中立の設定を使用する)を含め、インストールが完了した後、コンピュータ実験室サーバ1030のイメージ1040(例えば、コンピュータサーバインストールイメージ)が、作成される。
イメージ1040は、顧客に販売されることが可能である。例えば、顧客は、顧客によって所有されるコンピュータサーバにインストールするためのイメージを購入することができる。また、顧客は、イメージ上のソフトウェアに関して最適化されたハードウェア構成を有するコンピュータサーバを含むパッケージの一環として、イメージを購入することもできる。同様に、顧客は、複数のコンピュータサーバにインストールするために複数のイメージを購入することもできる(例えば、統合されたマルチサーバ環境として使用するためのパッケージとして)。
顧客は、イメージ1040を獲得すると、このイメージを顧客コンピュータサーバ1070にインストールすることができる。イメージをインストールすることにより、オペレーティングシステム1050、および1つまたは複数のアプリケーション1060が、顧客サーバ1070にインストールされる。
イメージ1040は、コンピュータ実験室サーバ1030上のオペレーティングシステム1010およびアプリケーション1020の正確なコピーを含むことが可能であるため、顧客サーバ1070にインストールされる、対応するオペレーティングシステム1050およびアプリケーション1060は、全く同一であることが可能である(例えば、同一の構成設定を有する同一のソフトウェア)。
イメージ1040をインストールするプロセスの一環として、顧客は、顧客の環境に適切な構成設定(例えば、展開固有の設定)を使用してオペレーティングシステム1050およびアプリケーション1060を構成することができる。
(実施例18 例示的な知識ベース)
本明細書の実施例のいずれにおいても、知識ベース(例えば、インストール知識ベース)が、インストール(例えば、サーバまたはソフトウェアの)に関する質問(例えば、インストール質問)に回答するのに使用されることが可能である。知識ベースが、インストール中に使用されて、そのインストールを実行しているユーザが、知らない可能性がある回答(例えば、複雑なアプリケーションをどのように構成するか、複数のアプリケーションが、いずれの順序でインストールされるべきか、いずれのアプリケーションが、いずれのサーバにインストールされるべきか)が提供されることが可能である。決定(例えば、インストール決定)が、知識ベース情報に基づいて行われることが可能である。知識ベースは、ソフトウェア製造業者によって作成されることが可能であり、この知識ベースは、様々なインストール手続きおよびインストール作業に関するソフトウェア製造業者の専門技術およびノウハウを含むことが可能である。
知識ベースは、データベース、論理、またはこの両方の形態の情報または規則のコレクションであることが可能である。
ユーザが、知識ベースの中の様々な規則を適用するか否かを決定することができるユーザインタフェースが、ユーザに表示されることが可能である。
例えば、マルチサーバ環境においてDHCPサービスをインストールするユーザが、DHCP範囲に関する質問を尋ねられることが可能である。次に、ユーザによって与えられた回答が、知識ベースを調べる際に使用されることが可能である。知識ベースは、この回答に基づき、分散され、最適化され、冗長なDHCPサービスを提供するように複数のサーバを構成するための推奨される構成を提供する規則を含むことが可能である。
知識ベース(例えば、インストール知識ベース)は、様々なロケーションに配置されることが可能である。例えば、知識ベースは、サーバ上、コンピュータ上、デバイス上、またはコンピューティングデバイス上に配置されることが可能である。知識ベースは、ローカルまたはリモートであることが可能である。例えば、知識ベースは、ローカルサーバ(例えば、或るビジネスまたは組織の統合されたマルチサーバ環境の或るサーバ)上にあることが可能である。また、知識ベースは、リモートロケーションに(例えば、ソフトウェア製造業者のサーバ上に、またはリモート第三者ロケーションに)配置されることも可能である。インストール中、リモートロケーションにおける知識ベースが、(例えば、ローカルマルチサーバシステムのインストールに関するインストール決定を行うために)調べられることが可能である。
例えば、ローカルサーバ上、またはコンピューティングデバイス上で回答が入力されることが可能である。すると、設定は、であることが可能である。
(実施例19 例示的なリモートでアクセス可能なサービス)
本明細書で説明される実施例のいずれにおいても、リモートでアクセス可能なサービスが、コンピュータサーバ間で情報を転送するのに使用されることが可能である。リモートでアクセス可能なサービスは、サーバ上(例えば、TCP(伝送制御プロトコル)ポートやUDP(ユーザデータグラムプロトコル)ポートなどの、サーバのネットワークポート上)で機能することが可能である。リモートでアクセス可能なサービスは、ネットワーク(例えば、ローカルエリアネットワークまたはワイドエリアネットワーク)上の別のサーバからの接続を受け入れることができる。次に、情報が、このリモートでアクセス可能なサービスを介して接続された2つのサーバ間で転送されることが可能である。そのような情報には、構成設定、インストール質問、インストール回答、およびその他のデータが含まれることが可能である。また、サーバ間で伝送される、この情報は、暗号化されることも可能である。例えば、パスワード、または他の機微な情報が、リモートでアクセス可能なサービスを介して送信される前に、暗号化され、受信された際に、解読されることが可能である。
(実施例20 例示的なインストール質問)
本明細書で説明される実施例のいずれにおいても、インストール質問が尋ねられることが可能である。例えば、インストール質問は、コンピュータサーバ上のユーザインタフェースを介して尋ねられることが可能である。インストール質問は、設定(例えば、サーバインストール中、またはソフトウェアインストール中に使用するための構成設定)に関する質問、またはインストールの別の態様(例えば、或るサービスを移すかどうか、または或るサービスを移すことを遅らせるかどうか)に関する質問であることが可能である。インストール質問は、様々な方法によって(例えば、ユーザによって、以前に入力されたインストール回答によって、または、知識ベースを調べることによって)回答されることが可能である。
(実施例21 例示的なインストール回答)
本明細書で説明される実施例のいずれにおいても、インストール回答が提供されることが可能である。例えば、インストール回答は、ユーザインタフェースを介してユーザによって入力される(またはユーザインタフェースを介してコンピュータサーバによって受け取られる)ことが可能である。また、インストール回答は、サーバ、デバイス、コンピューティングデバイス、またはWebサービスに伝送されることも可能である。インストール回答は、設定(例えば、サーバインストール中、またはソフトウェアインストール中に使用するための構成設定)を含むことが可能である。また、インストール回答は、インストールの他の態様(例えば、或るサービスを移すかどうか、または或るサービスを移すことを遅らせるかどうか)と関係することも可能である。また、以前に入力された、または受け取られたインストール回答が、さらなるインストール質問(例えば、異なるサーバ上の)に回答するのに使用されることも可能である。
例えば、インストール回答は、サーバ上、デバイス上、またはコンピューティングデバイス上で提供されて、(例えば、ソフトウェア製造業者によってホストされる)リモートWebサービスのようなリモートロケーションに伝送されることが可能である。次に、計算(例えば、インストール決定)が、そのリモートロケーションにおいて(例えば、そのリモートWebサービスに配置されたインストール知識ベースに基づいて、そのリモートWebサービスによって)行われることが可能である。これらの計算の結果は、送り返されて、複数のサーバ、デバイス、またはコンピューティングデバイスにソフトウェアをインストールする、または構成するのに使用されること、またはさらなるインストール質問に対する回答として処理される(例えば、ユーザに尋ねる代わりに)ことが可能である。
(実施例22 例示的なインストール決定)
本明細書で説明される実施例のいずれにおいても、インストール決定が行われることが可能である。インストール決定は、ソフトウェアをインストールすること、および構成することに関する決定であることが可能である。例えば、ユーザに、第1のサーバ上でインストール質問(例えば、ネットワーク設定に関する)が尋ねられた場合、その回答が、第1のサーバ上、または第2のサーバ上(例えば、ネットワーク設定に基づいて、第2のサーバ上でアプリケーションを構成する)でインストール決定を行うのに使用されることが可能である。また、インストール決定は、インストール知識ベースを調べた後に行われることも可能である。
例えば、或る構成設定を1つまたは複数のサーバに伝播させる決定が行われることが可能である(例えば、インストール知識ベースを調べることに基づいて)。
例えば、ユーザが、或るサービスをレガシーサーバから新たなサーバに移すかどうかを尋ねられた場合、その回答が、そのマイグレーションに関する決定(例えば、いずれの設定またはデータを移すか、インストールプロセスの一環として、そのようなマイグレーションをいつ実行するか、およびそれらの設定またはデータが、複数のサーバに移されるべきかどうか)を行うのに使用されることが可能である。
(実施例23 例示的なコンピューティングデバイス)
本明細書で説明される実施例のいずれにおいても、コンピューティングデバイスは、コンピューティング目的で使用されるデバイスであることが可能である。例えば、コンピューティングデバイスは、コンピュータ(例えば、サーバコンピュータまたはユーザコンピュータ)、ハンドヘルドデバイスまたは移動デバイス(例えば、PDAまたはタブレットコンピューティングデバイス)、ネットワーキングデバイス(例えば、ファイアウォールデバイス、ルータ、ゲートウェイ)、プリンタ、または移動通信デバイス(例えば、セルラー電話機またはスマートホン)であることが可能である。コンピューティングデバイスは、(例えば、コンピューティングデバイスにソフトウェアをインストールして、構成することにより)インストールされることが可能である。
(実施例24 統合されたコンピュータサーバをインストールするための例示的なシステム)
図11は、統合されたコンピュータサーバをインストールするための例示的なシステム1100を示す。この実施例では、任意の数のコンピュータサーバ(例えば、1110、1120、および1130)が、インストールされることが可能である。例えば、第1のサーバ1110が、ユーザインタフェース、インストール知識ベース、およびリモートでアクセス可能なサービスを提供することが可能である。ソフトウェアが、第1のサーバ1110上のユーザインタフェースを介して、第1のサーバ1110にインストールされ、構成されることが可能である。また、インストール決定が、インストール知識ベースを調べることによって第1のサーバ1110上で行われることも可能である。インストール回答(例えば、ユーザインタフェースを介して、サーバをインストールするユーザによって与えられる)が、ユーザインタフェースを介して第1のサーバ1110上で受け取られることが可能であり、リモートでアクセス可能なサービスを介して第1のサーバ1110から提供されることが可能である。また、インストール回答は、第1のサーバ1110にソフトウェアをインストールして、構成するのに使用されることも可能であり、インストール決定を行う際に使用されることも可能である。
この実施例において、第2のサーバ1120が、インストールされることが可能である。例えば、このインストールプロセスの一環として、第2のサーバ1120は、リモートでアクセス可能なサービスを介して第1のサーバ1110からインストール回答を受け取ることができる(例えば、第1のサーバ上で、リモートでアクセス可能なサービスに接続することにより)。ソフトウェアが、第2のサーバ1120上のユーザインタフェースを介して、または第1のサーバ1110から受信されたインストール回答を使用して、第2のサーバ1120にインストールされ、構成されることが可能である。また、インストール決定が、第2のサーバ1120上で、インストール知識ベースを調べることによって(例えば、インストール回答に基づいて)行われることも可能である。
任意の(例えば、可変の)数のサーバ(例えば、1110、1120、および1130)が、ネットワーク1140を介して接続されることが可能である。例えば、ネットワーク1140は、物理ネットワークケーブル配線、無線ネットワーク、またはこれらの何らかの組合せであることが可能である。様々なアイテムが、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを介して一緒にリンクされることが可能である。例えば、ネットワーク1140は、ローカルエリアネットワーク、ワイドエリアネットワーク、または分散ネットワークであることが可能である。
例えば、第1のサーバ上のユーザインタフェースを介して第1のサーバ1110によって受け取られたインストール回答(例えば、構成設定)が、第1のサーバ上に格納されることが可能である。インストール回答は、第1のサーバ1110上の記憶装置上に(例えば、ハードドライブ上のファイルの中、キャッシュの中、フラッシュデバイスなどのリムーバブルコンピュータ媒体上に)格納されることが可能である。このインストール回答は、(例えば、この回答が格納される際に)暗号化されることが可能である。次に、このインストール回答は、第1のサーバ1110から他のサーバ(例えば、1120および1130)に伝送されることが可能である。例えば、このインストール回答は、これらのサーバを接続するネットワーク(例えば、1140)を介して伝送されることが可能である。また、このインストール回答は、リムーバブルコンピュータ媒体(例えば、フロッピー(登録商標)ディスク、CD、またはUSBフラッシュデバイス)を物理的に移動することによって伝えられることも可能である。このインストール回答は、暗号化された形態で、または暗号化されていない形態で伝送されることが可能である。インストール回答が、暗号化された形態で伝送される場合、その回答は、受信された際に解読されることが可能である。このようにして、ユーザによって与えられたインストール回答は、ユーザが、他のサーバに行く必要なしに、さらに、同一の、もしくは同様の質問に回答する、または同一の、もしくは同様のインストール決定もしくは構成決定を行う必要なしに、他のサーバ上で使用される(例えば、ソフトウェアをインストールするために)ことが可能である。
(実施例25 統合されたコンピュータサーバをインストールするための例示的な方法)
図12は、統合されたコンピュータサーバをインストールするための例示的な方法1200を示す。方法1200は、例えば、図11に示されるようなシステムによって実行されることが可能である。1210において、ユーザインタフェースが、第1のサーバ上で提示される。1220において、インストール回答が、ユーザインタフェースに応答して受け取られる。1230において、ソフトウェア(例えば、オペレーティングシステム、アプリケーション、アプリケーションの1つまたは複数の構成要素)が、インストール回答に従って第1のサーバにインストールされる。例えば、マルチサーバアプリケーションの構成要素が、第1のサーバにインストールされることが可能である。1240において、ソフトウェアが、インストール回答に従って第2のサーバにインストールされる。例えば、マルチサーバアプリケーションの他の構成要素が、第2のサーバにインストールされることが可能である。
例えば、ユーザは、第1のサーバをインストールする際に、ユーザインタフェースを介して様々な構成設定(例えば、サーバ名、ユーザ名、およびパスワード)を入力することができる。第1のサーバは、これらの構成設定に従ってインストールされる(例えば、ユーザによって入力されたサーバ名を使用して構成される)ことが可能である。さらに、他のサーバ(または他のデバイス)が、第1のサーバ上で入力された構成設定を使用して構成される(例えば、サーバ名を使用して構成される)ことが可能である。例えば、これらの構成設定が、第1のサーバから、(例えば、リモートでアクセス可能なサービスを介して)その他のサーバに伝送されることが可能である。
また、ユーザインタフェースは、さらなるインストール回答を受け取るように第2のサーバ上で提示されることも可能である。これらのさらなるインストール回答は、第1のサーバから受信されたインストール回答に加えて、またはそのような回答の代わりに、第2のサーバにソフトウェアをインストールする際に使用されることが可能である。例えば、ユーザは、第1のサーバから第2のサーバにインストール回答を伝送することがセキュリティ上のリスクであるという理由で、第2のサーバ上のユーザインタフェースを介してインストール回答を入力することができる。例えば、インストール回答は、ユーザアカウントパスワード(例えば、管理者パスワード)を含むことが可能である。
コンピューティングデバイスが、コンピュータサーバに加えて、またはコンピュータサーバの代わりにインストールされることが可能である。例えば、インストール回答が、コンピュータサーバ上で受け取られて、コンピューティングデバイスに伝送されることが可能である。コンピューティングデバイスは、インストール回答を使用して、ソフトウェアをインストールすることができる。また、コンピューティングデバイスは、インストール回答を直接に(例えば、コンピューティングデバイス上に表示されるユーザインタフェースを介して)受け取り、このインストール回答を使用して、ソフトウェアをインストールすることもできる。インストール知識ベースが、(例えば、インストール決定を行う際に使用するために)コンピューティングデバイス上に配置されることが可能である。
(実施例26 インストール回答を格納し、伝送するための例示的な方法)
図13は、インストール回答を格納し、伝送するための例示的な方法1300を示す。方法1300は、例えば、図11に示されるようなシステムによって実行されることが可能である。1310において、インストール回答が、(例えば、サーバ上に)格納される。例えば、インストール回答は、サーバ上のファイルの中に格納されることが可能である。1320において、インストール回答が、(例えば、第1のサーバから第2のサーバに)伝送される。インストール回答は、リモートでアクセス可能なサービスを介して伝送されることが可能である。また、インストール回答は、他の方法(例えば、フロッピー(登録商標)ディスク、CD、USBフラッシュデバイス)を介して伝送されることも可能である。1330において、ソフトウェアが、インストール回答を使用してインストールされる。
例えば、インストール回答(例えば、サーバ名、IPアドレス、ユーザ名、またはパスワードなどの構成設定)が、第1のサーバ上でユーザによって入力されることが可能である。次に、このインストール回答が、第1のサーバから第2のサーバに(例えば、リモートでアクセス可能なサービスを介して)伝送されることが可能である。最後に、このインストール回答が、第2のサーバ上で、第2のサーバにソフトウェアをインストールする(例えば、サーバ名またはIPアドレスを使用してオペレーティングシステムを構成する)のに使用されることが可能である。このようにして、ユーザは、第1のサーバ上で1回、インストール回答を与え、この回答が、他のサーバ上で(例えば、それらの他のサーバへのソフトウェアの自動化されたインストールのために)使用されることが可能である。
(実施例27 さらなるインストール質問に回答するための例示的な方法)
図14は、さらなるインストール質問に回答するのにインストール回答を使用するための例示的な方法1400を示す。方法1400は、例えば、図11に示されるようなシステムによって実行されることが可能である。1410において、第1のサーバ上でインストール質問に回答するのに使用されたインストール回答が、(例えば、リモートでアクセス可能なサービスを介して)第1のサーバから第2のサーバによって受信される。1420において、第2のサーバにソフトウェアをインストールすることに関する、さらなるインストール質問が、第1のサーバからのインストール回答を使用して回答される(後続のインストール回答)。1430において、ソフトウェアが、この後続のインストール回答に従って第2のサーバにインストールされる。
例えば、ネットワークに新たなサーバをインストールしているユーザに、既存のサービス(例えば、電子メールサービス)が、その新たなサーバに移されるべきかどうかが尋ねられることが可能である。ユーザによって与えられた回答が、新たな第2のサーバによって受け取られて、電子メールサービスが、第2のサーバにインストールされるべきかどうか、または電子メールサービスが、複数のサーバ(例えば、1つのサーバ上のローカル電子メールアクセス構成要素と、異なるサーバ上のリモート電子メールアクセス構成要素)の間で分割されるべきかどうかなどの、さらなるインストール質問に回答するのに使用されることが可能である。
(実施例28 例示的な並行インストール)
本明細書で説明される実施例のいずれにおいても、ソフトウェア(例えば、オペレーティングシステム、アプリケーション、およびアプリケーションの構成要素)のインストールは、動作が並行であることが可能である。例えば、異なるアプリケーションが、同時に(例えば、並行して、または同時に)異なるサーバ(例えば、統合されたマルチサーバ環境の)にインストールされることが可能である。並行インストールは、(例えば、さらなるサーバ上で)さらなるソフトウェアが、インストールプロセスに追加された際に、合計インストール時間が同じままであることが可能であるため、効率的であることが可能である。
一部のソフトウェアは、完全に独立にインストールされることが可能である一方で、他のソフトウェアは、特定のインストール順序を要求する可能性がある。並行インストールは、要求される際に、順序付けを実施する機構を提供することができる。インストールは、インストール知識ベースを使用することによって同期されることが可能である。
例えば、第1のアプリケーションが、インストール知識ベースを含む第1のサーバにインストールされることが可能である。インストール知識ベースは、同期規則を含むことが可能である。同期規則の1つは、さらなるアプリケーション(例えば、第2のアプリケーション、および第3のアプリケーション)が、並行に、ただし、第1のアプリケーションが第1のサーバにインストールされた後に初めて、インストールされることが可能であることを規定することが可能である(例えば、さらなるアプリケーションは、第1のアプリケーションのインストールに依存する)。すると、この同期規則に基づき、さらなるアプリケーションは、第1のサーバに、または1つまたは複数の異なるサーバに並行に(第1のアプリケーションのインストールが完了した後)インストールされることが可能である。これらの異なるサーバは、適切な時点で、さらなるアプリケーションのインストールを開始するために、(例えば、第1のサーバ上で実行されるリモートでアクセス可能なサービスにネットワークを介して接続することにより)第1のアプリケーションのインストールのステータスを確認することができる。
(実施例29 例示的な自動化されたインストール)
本明細書で説明される実施例のいずれにおいても、インストールは自動化されることが可能である。例えば、ユーザが、(例えば、構成設定を入力することにより)1つのサーバ上でインストール質問に回答することが可能であり、このインストール質問に対する回答が、全くユーザによるさらなる関与なしに、(例えば、そのインストール回答を、他のサーバに伝送することにより)他のサーバをインストールするのに使用されることが可能である。あるいは、ユーザは、自動化されたインストールに何らかの関与を有することも可能である。例えば、ユーザが、他のサーバ上で何らかのさらなるインストール質問に回答することが可能である一方で、他のさらなるインストール質問が、他のサーバから伝送されたインストール回答によって自動的に回答されることが可能である。
(実施例30 例示的な分散インストール)
本明細書で説明される実施例のいずれにおいても、インストールは分散されることが可能である。例えば、別々のマシン上で(例えば、ソフトウェアがインストールされるべき異なるコンピュータサーバ上で)別々のインストールが実行される代わりに、単一のインストールが、複数のマシンにまたがって(例えば、複数のコンピュータサーバにまたがって)分散されることが可能である。
分散インストールを使用することにより、複数のサーバにまたがって複数のサーバ、および複数のソフトウェアパッケージ(例えば、オペレーティングシステムまたはアプリケーション)をインストールすることが、より容易で、より効率的になることが可能である。例えば、マルチサーバアプリケーションをインストールすることは、分散インストールが、マルチサーバアプリケーションの一部のコンポーネントを1つのサーバに、他の構成要素を、異なるサーバにインストールすることができるため、より容易であることが可能である。さらに、構成設定が、分散インストールを使用して、複数のサーバにわたって、より容易に共有されることが可能である。
(実施例31 アプリケーションの自動化された分散インストールの例示的な方法)
図15は、アプリケーションの自動化された分散インストールのための例示的な方法1500を示す。方法1500は、例えば、図11に示されるようなシステムによって実行されることが可能である。1510において、(例えば、統合されたマルチサーバ環境の)第1のサーバに、第1のアプリケーションをインストールする決定が行われる。
例えば、この決定は、自動化された発見プロセスによって行われることが可能である。自動化された発見プロセスは、(例えば、ネットワーク接続上でブロードキャストすることにより)統合されたマルチサーバ環境の他のサーバが、未だ、全くインストールされていないことを発見することを含むことが可能である。例えば、統合されたマルチサーバ環境の、インストールされるべき第1のサーバには、特定のアプリケーションおよび設定(例えば、DNS、DHCP、およびファイル共有)がインストールされることが可能である。
この決定は、例えば、サーバのハードウェア構成に基づいて行われることが可能である。例えば、第1のサーバが、或る特定のハードウェア構成(例えば、大型のハードドライブアレイ)を有する場合、或る特定のアプリケーション(例えば、ファイル共有)をインストールする決定が、行われることが可能である。
また、この決定は、第1のサーバ上のインストール知識ベースを調べることによって行われることも可能である。例えば、インストール知識ベースは、第1のサーバにいずれのアプリケーション(例えば、ネットワークアプリケーションおよびファイル共有アプリケーション)をインストールすべきかを指定することができる。また、インストール知識ベースは、この決定を行う他の方法(例えば、自動化された発見プロセス、およびハードウェア構成)と組合せで使用されることも可能である。
1520において、(例えば、第1のサーバに第1のアプリケーションをインストールするユーザから、ユーザインタフェースを介して)構成設定が受け取られる。1530において、第1のアプリケーションが、第1のサーバにインストールされる。1540において、(例えば、統合されたマルチサーバ環境の)第2のサーバに、第2のアプリケーションをインストールする決定が行われる(例えば、1510に関連して前述した方法のいずれかを使用して)。例えば、自動化された発見プロセスを使用して、第2のサーバは、ネットワークに第1のサーバが既にインストールされていることを発見することができる。例えば、この発見に基づき、決定は、第2のサーバにファイアウォールアプリケーションをインストールすることを含むことが可能である。1550において、第2のアプリケーションが、1520において受け取られた構成設定を使用して、第2のサーバにインストールされる。
例えば、第2のサーバに、外部電子メールポータルをインストールする決定が行われることが可能であり、この外部電子メールポータルは、第1のサーバ上の電子メール格納アカウントにアクセスするよう、(第1のサーバから受信された)構成設定を使用して、構成されることが可能である。
さらなるアプリケーション、またはアプリケーションのさらなる構成要素をインストールすることに関して、さらなる決定が行われることが可能である。また、決定は、ユーザによって入力された構成設定に基づいて行われることも可能である。例えば、その構成設定に基づき、第1のサーバに或るアプリケーションのいくつかの構成要素をインストールし、第2のサーバに、そのアプリケーションの他の構成要素をインストールする決定が行われることが可能である。複数のサーバにインストールされる構成要素を有するアプリケーションは、マルチサーバアプリケーション(例えば、1つのサーバにインストールされたローカル電子メールアクセス構成要素と、異なるサーバにインストールされたリモート電子メールアクセス構成要素とを有する電子メールアプリケーション)であることが可能である。
(実施例32 複数のコンピュータサーバをインストールするための例示的な方法)
図16は、複数のコンピュータサーバをインストールするための例示的な方法1600を示す。方法1600は、例えば、図11に示されるようなシステムによって実行されることが可能である。1610において、これらのサーバをインストールするユーザに、インストール質問が尋ねられる。例えば、ユーザには、或るサービス(例えば、ネットワーキングサービス、電子メールサービス、ユーザアカウントサービス)をレガシーサーバから移すかどうかが尋ねられることが可能である。
1620において、インストール質問に対するインストール回答が受け取られる。1630において、インストール回答に基づいて第1のサーバを構成することに関するインストール決定が行われる。例えば、ユーザが、或るサービスを移すことに肯定的に回答した場合、インストール決定は、そのサービスの移行と関係する様々な構成設定(ネットワーキングサービス構成、電子メールサービス構成、ユーザアカウントサービス構成)を含むことが可能である。
1640において、知識ベース(例えば、インストール知識ベース)が、この回答に基づいて調べられる。知識ベースは、後続のインストール質問に関する回答を含むことが可能である。例えば、ユーザが、レガシーサーバからサービスを移している場合、知識ベースは、その移されるサービスをサポートするのに、いずれのアプリケーション、またはいずれのアプリケーションのいずれの構成要素が、いずれのサーバにインストールされる必要があるかなどの、さらなるインストール質問に回答することが可能である。知識ベースを使用して、さらなるインストール質問に回答することにより、インストールは、ユーザに、それらのさらなるインストール質問を尋ねることを省くことができる。
1650において、第2のサーバのインストールに関する、さらなるインストール決定が、知識ベースの調査に基づいて行われる。例えば、ユーザが、レガシーサーバから或るサービスを移している場合、これらのさらなるインストール決定は、その移されるサービスをサポートするように第2のサーバにアプリケーションをインストールすることと関係することが可能である。
(実施例33 インストールの例示的な実行)
本明細書で説明される技術は、複数のサーバにわたってサーバプログラムスイートをインストールするのに適用されることが可能である。そのような技術の例示的な実行が、図17A〜Bおよび図18A〜Bに示される。
この実施例において、(例えば、実施例1で説明されるような)複数のサーバプログラムを有するサーバプログラムスイートが、複数のサーバ1710A〜Nにわたってインストールされる。これらのサーバプログラムの少なくとも1つが、2つのサーバ1810Aおよび1810Bにわたってインストールされ、サーバサブプログラム1890B、1890Cも同様にインストールされる。
図17Aにおいて、サーバ1710A〜1710Nは、段階1700Aで示されるとおり、構成されていない。インストールユーティリティまたはサーバプログラムは、未だ、インストールされていない。サーバ1710A〜1710Nのいずれのサーバが、一次サーバ、つまり、サーバ1となるかについての決定は、本明細書で説明される技術のいずれかを介して(例えば、インストールが始まるのが、いずれのサーバであるかを検出すること、ハードウェア構成に基づいてサーバを選択することなどにより)達せられることが可能である。図示されていないが、サーバ1710A〜1710Nは、オペレーティングシステム(例えば、インストールユーティリティのインストールをサポートすることができる基本オペレーティングシステム)などの、既にインストールされた何らかのソフトウェアを有することが可能である。
図17Bでは、別の段階1700Bが完了した後、インストールユーティリティ1750Aが、(例えば、インストールユーティリティ1750Aによってサーバ1として指定されている)サーバ1 1710Aにおいて既にインストールされている。インストールユーティリティ1750Aは、第1のサーバプログラム1790Aをインストールすることに取りかかっている。
図18Aでは、別の段階1800Cが完了した後、別のインストールユーティリティ1850Bが、サーバ2 1810Bにおいてインストールされている。インストールユーティリティ1850Bは、サーバ2 1810B上で使用されるようにカスタマイズされることが可能であり、あるいはインストールユーティリティ1850Bは、その他のインストールユーティリティ1850Aと同一であるが、サーバ2 1810B上で実行されていることを認識することが可能である。したがって、インストールユーティリティ1850Bは、サーバ2 1810Bに適切なソフトウェアをインストールしている。この実施例では、サーバプログラムの第2の部分1890C(例えば、サブプログラム)が、サーバ2 1810Bにおいてインストールされている。その他の部分1890Bは、サーバ1 1810Aにおいてインストールされている。
インストールユーティリティ1850A、1850Bは、本明細書で説明される機構のいずれかを介して通信して、複数のサーバコンピュータ1810Aおよび1810Bにまたがってサーバプログラムを協力してインストールすることができる。
図18Bでは、別の段階1800Dが完了した後、さらに別のインストールユーティリティ1850Cが、サーバ3 1810Nにおいてインストールされている。
インストールユーティリティ1850Cは、サーバ3 1810N上で使用されるようにカスタマイズされることが可能であり、あるいはインストールユーティリティ1850Cは、その他のインストールユーティリティ1850Aと同一であるが、サーバ3 1810N上で実行されていることを認識する。したがって、インストールユーティリティ1850Cは、サーバ3 1810Nに適切なソフトウェアをインストールしている。この実施例では、別のサーバプログラム1890Dが、サーバ3 1810Nにおいてインストールされている。
一方、別のサーバプログラム1890Eが、サーバ2 1810Bにおいてインストールされている。
インストールユーティリティ1850A、1850B、1850Cは、本明細書で説明される機構のいずれかを介して通信して、複数のサーバコンピュータ1810A〜1810Nにまたがってサーバプログラムを協力してインストールする。
本明細書で説明されるとおり、インストールは、展開中立の設定を有するソフトウェアプログラムをインストールすることにより、行われることが可能である。展開固有の設定が、ユーザインタフェースを介してサーバの1つ(例えば、サーバ1 1810A)において収集されて、通信機構を介して、その他のサーバに伝播させられることが可能である。
図19は、インストールが行われることが可能な、例示的な方法1900を示す。この実施例では、1910において、サーバの1つが、(例えば、インストールユーティリティによって)「サーバ1」として指定される。次に、サーバ1においてサーバプログラムをインストールすることなどの、他のアクションが行われることが可能である。
1920において、サーバの別の1つ(例えば、異なるサーバ)が、「サーバ2」として指定される。次に、サーバ2においてサーバプログラムをインストールすることなどの、他のアクションが行われることが可能である。サーバ2におけるインストールユーティリティが、サーバ1におけるインストールユーティリティと通信することができる。このため、サーバ2は、サーバ1においてユーザから既に収集されている情報を活用することができる。
1930において、(例えば、サーバプログラムスイートの中の)サーバプログラムが、(例えば、インストールユーティリティによる)サーバ間の通信を介して、協力してインストールされることが可能である。例えば、他の1つまたは複数のサーバが指定されることが可能であり、さらなるサーバプログラムがインストールされることが可能である。
(実施例34 例示的な責務)
本明細書で説明される実施例のいずれにおいても、コンピュータサーバは、コンピュータサービスを提供する1つまたは複数の責務(responsibility)を有することが可能である。例えば、コンピュータサーバは、DHCPサービスを提供するという責務を有することが可能である。また、コンピュータサーバは、ディレクトリサービス、データバックアップサービス、ファイアウォールサービス、ウイルス対策サービス、スパム対策サービス、ファイル共有、Webサービス、ならびにDNSなどの様々なネットワーキングサービスを提供することなどの、他の責務も有することが可能である。
単一のコンピュータサーバが、複数の責務を有することが可能である。また、単一の責務が、様々な方法で複数のコンピュータサーバにまたがって分割されることも可能である(例えば、複数のサーバが、コンピュータサービスを提供する責務を分担することが可能である)。例えば、第1の(例えば、一次)サーバが、DHCPサービスを提供することを担うことが可能である。第2の(例えば、二次、つまり、バックアップ)サーバが、DHCPサービスを提供する責務を第1のサーバと分担することが可能である。第1のサーバ、および第2のサーバは、例えば、IPアドレス範囲を(例えば、半分に)分割すること、および各サーバに、この範囲の各サーバの部分で動作させることにより、DHCPサービスをそれぞれ提供することができる。このようにして、第1のサーバが応答することを止めた場合、第2のサーバが、それでも、DHCPサービスを提供する責務を満たすことができる。
また、IPアドレス範囲が、他の方法で分割されることも可能である。例えば、IPアドレス範囲が、より大きい部分と、より小さい部分とに分割されることも可能である。一次サーバに、より大きい範囲が割り当てられることが可能であり、二次サーバに、より小さい範囲が割り当てられることが可能である。一次サーバが、応答することを止めた場合、二次サーバが、それでも、何らかのアドレスを(一次サーバほどの数ではないが)提供することができる。一次サーバが応答することを止めた場合、二次サーバは、一次サーバから、より大きい範囲を回復(例えば、引き継ぐ)こともできる。
また、複数のサーバの間で或るサービスに関する責務を分担することにより、冗長性がもたされることも可能である。例えば、(例えば、統合されたマルチサーバネットワークまたはマルチサーバ環境の)2つのサーバがともに、同一のサービスを担うことが可能である。これらのサーバの1つが一次であり、他方が二次であることが可能である。一次が応答している限り、一次が、そのサービスを提供することができる。一次が応答できない場合、二次が、そのサービスを提供することを引き継ぐことが可能である。例えば、第1のサーバが、一次DHCPサービスを提供することが可能である。第1のサーバが、応答することを止めた(例えば、クラッシュした、動作不能である、またはそれ以外でDHCP要求の応答できない)場合、二次サーバが、バックアップDHCPサービスを提供することができる。同様に、一次サーバが、(例えば、ログイン目的でユーザアカウント情報およびパスワード情報を提供する)ディレクトリサービスを提供することができ、応答することを止めた場合、二次サーバが、ディレクトリサービスを提供することを引き継ぐことができる。
また、コンピュータサーバは、リソースを管理するコンピュータサービスを提供することを担うことも可能である。例えば、コンピュータサービスによって管理されるリソースは、ネットワークリソース(例えば、DHCPサービスによって管理されるIPアドレス空間)であることが可能である。コンピュータサービスによって管理されるリソースは、複数の部分に(例えば、第1の部分と、第2の部分とに)分割されることが可能である。これらの部分は、相互排他的であることが可能である(例えば、IPアドレス空間が、重なり合わない複数のIPアドレス空間に分割されることが可能である)。これらの部分は、複数のサーバに割り当てられることが可能である(例えば、第1のサーバは、或るIPアドレス空間の半分を提供するDHCPサービスを運用することができ、第2のサーバは、そのIPアドレス空間の残りの半分を提供するDHCPサービスを運用することができる)。
例えば、或るIPアドレス空間が、ビジネスまたは組織のサイズ(例えば、IPアドレスを必要とするデバイスの数)に基づいて選択されることが可能である。このIPアドレス空間は、デバイスの数の少なくとも2倍を収容するように選択されて、IPアドレス空間が半分に分割された場合、各半分が異なるサーバに割り当てられ、これらのサーバの1つが停止した場合、その他のサーバが、それでも、そのビジネスまたは組織のすべてのデバイスに十分なIPアドレスを提供することができるようにされることが可能である。
(実施例35 サービスを提供する例示的なサーバ)
図20は、複数のサービスを提供するように構成された複数のサーバの例示的なシステム2000を示す。或るサービス(例えば、電子メールサービス、ネットワーキングサービス、データバックアップサービス)が、単一のサーバ、または複数のサーバによって提供されることが可能である(例えば、複数のサーバにまたがって分割されて、その複数のサーバが、そのサービスを提供する責任を有することが可能である)。同様に、或るサーバが、1つまたは複数のサービスを提供することも可能である。
この実施例では、複数のサーバ1〜N(2010〜2030)が、複数のサービス1〜N(2040〜2060)を提供するように構成される。この実施例では、第1のサーバ2010が、第1のサービス2040を提供するように構成される(例えば、第1のサーバ2010は、第1のサービス2040を提供することを担う)。第2のサーバ2020が、第1のサービス2040、および第2のサービス2050を提供するように構成される。最後に、最後のサーバ2030が、最後のサービス2060を提供するように構成される。例えば、サービス1 2040は、ネットワーキングサービス(例えば、DHCP)であることが可能であり、サービス2 2050は、データバックアップサービスであることが可能であり、サービス3 2060は、電子メールサービスであることが可能である。
(実施例36 コンピュータサービスの自動化された冗長な構成のための例示的な方法)
図21は、コンピュータサービスの自動化された冗長な構成のための例示的な方法2100を示す。方法2100は、例えば、図7に示されるようなシステムによって実行されることが可能である。2110において、或るコンピュータサービスを構成することに関するインストール回答が受け取られる。例えば、インストール回答は、コンピュータサーバ上に表示されるユーザインタフェースを介して、ユーザから受け取られることが可能である。また、インストール回答は、(例えば、コンピュータサーバ上で実行される)自動化された発見プロセスから受け取られることも可能である。例えば、自動化された発見プロセスは、サーバの属性(例えば、いずれのアプリケーションがインストールされているか)、またはネットワークの属性(例えば、ネットワークアドレス情報)を検査することができる。
2120において、インストール回答を使用して、複数のコンピュータサーバにまたがって冗長に動作すべきコンピュータサービスに関する構成設定が、自動的に決定される。例えば、インストール回答は、全くユーザによるさらなる関与なしに、構成設定を決定するのに使用されることが可能である。構成設定を決定することは、そのコンピュータサービスを提供する責務を(例えば、統合されたマルチサーバネットワークまたはマルチサーバ環境の)第1のサーバと第2のサーバの間で分けて、これらのサーバが、冗長性を提供する(例えば、1つのサーバが応答できなかった場合、他方のサーバが、それでも、そのサービスを提供することができる)ようにすることを含むことが可能である。例えば、この責務は、データバックアップサービス、ネットワーキングサービス、またはディレクトリサービスを提供することであることが可能である。
また、構成設定を自動的に決定することは、インストール回答に基づいてインストール知識ベースを調べることも含むことが可能である。例えば、インストール知識ベースは、複雑な構成問題(例えば、ネットワークアドレス空間を、複数のコンピュータサーバが、DCHPサービスを提供するように正しく構成されることが可能であるように分割すること)への回答を含むことが可能である。
2130において、複数のコンピュータサーバが、これらの構成設定を使用して構成されて、コンピュータサービスを提供する。例えば、第1のサーバが、サービスのための一次サーバである(例えば、サーバが動作している間、サービスを排他的に提供する、あるいは異なるサーバと一緒に協力して、サービスを提供する)ように構成されることが可能である。第2のサーバが、サービスのための二次サーバ、つまり、バックアップサーバである(例えば、一次サーバが動作していない場合だけ、サービスを提供する、または一次サーバと協力して、サービスを提供する)ように構成されることが可能である。
(実施例37 複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法)
図22は、或るコンピュータサービスを提供する複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法2200を示す。方法2200は、例えば、図7に示されるようなシステムによって実行されることが可能である。2210において、インストール質問が、複数のコンピュータサーバを構成するユーザに尋ねられる。例えば、ユーザは、データバックアップサービスを構成することに関するインストール質問を尋ねられることが可能である。2220において、インストール回答が、インストール質問に応答して、ユーザから(例えば、ユーザインタフェースを介して)受け取られる。2230において、インストール回答に基づき、コンピュータサービスを提供するように第1のサーバを構成する第1の構成設定が決定される。2240において、第1のサーバが、第1の構成設定を使用して構成される。
例えば、データバックアップサービスを構成しているユーザが、そのデータバックアップサービスをどのように構成するかについて尋ねられることが可能である。ユーザは、複数のコンピュータサーバの間でデータバックアップサービス責務をどのように分けるか(例えば、ネットワーク上のいずれの記憶装置が、いずれのコンピュータサーバを使用してバックアップすべきか)について尋ねられることが可能である。ユーザの回答に基づき、第1のサーバが、或る特定の記憶装置(例えば、異なるサーバ上の配置されたハードドライブアレイ)に関するデータバックアップサービスを提供するように構成されることが可能である。
2250において、インストール回答に基づき、第2の構成設定が、コンピュータサービスを提供するように第2のサーバを構成するように決定される。2260において、第2のサーバが、第2の構成設定を使用して構成される。
例えば、データバックアップサービス実施例を使用すると、第2のサーバが、同一の記憶装置に関して、または異なる記憶装置に関して、データバックアップサービスを提供するように構成されることが可能である。このようにして、データバックアップサービスは、複数のコンピュータサーバ(例えば、各コンピュータサーバが、特定の記憶装置をバックアップすることを担う)の間で分けられる、または分割されることが可能である。
(実施例38 例示的なコンピューティング環境)
図23は、本明細書で説明される技術のいずれかを実施するのに使用されることが可能な、例示的なコンピューティング環境2300を示す。このコンピューティング環境は、ネットワーク2310を含む。ネットワーク2310は、サーバ2320(例えば、コンピュータサーバ)、サービス2330(例えば、コンピュータサービス)、ユーザ2340(例えば、一般的なコンピュータユーザ、IT管理者、従業員)、およびデバイス2350(例えば、デスクトップコンピュータまたはラップトップコンピュータ、プリンタ、複写機、スキャナ)を含むことが可能である。
ネットワーク2310は、接続ネットワーク2360を介して、2370や2380などの、他のネットワークに接続することができる。例えば、接続ネットワーク2360は、インターネットまたはローカルネットワークなどのワイドエリアネットワークを含むことが可能である。接続ネットワークは、様々なネットワークハードウェア、ネットワークプロトコル、およびネットワークトポロジを含むことが可能である。
(実施例39 例示的な汎用コンピュータシステム)
図24は、本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピュータシステム2400の例を示す。コンピュータシステムには、処理装置2421、システムメモリ2422、ならびにシステムメモリを含む様々なシステム構成要素を処理装置2421と互いに接続するシステムバス2423を含むパーソナルコンピュータ2420が含まれる。システムバスは、いくつかを挙げると、PCI、VESA、MCA(マイクロチャネル)、ISA、およびEISAなどのバスアーキテクチャを使用するメモリバスもしくはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれかを含むことが可能である。システムメモリは、ROM(読み取り専用メモリ)2424、およびRAM(ランダムアクセスメモリ)2425を含む。起動中などの、パーソナルコンピュータ2420内部の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(基本入出力システム)2426が、ROM2424の中に格納される。パーソナルコンピュータ2420は、ハードディスクドライブ2427、例えば、リムーバブルディスク2429に対して読み取りまたは書き込みを行う、磁気ディスクドライブ2428、および、例えば、CD−ROMディスク2471を読み取るための、または他の光媒体に対して読み取りまたは書き込みを行う、光ディスクドライブ2470をさらに含む。ハードディスクドライブ2427、磁気ディスクドライブ2428、および光ディスクドライブ2470は、それぞれ、ハードディスクドライブインタフェース2472、磁気ディスクドライブインタフェース2477、および光ドライブインタフェース2474によってシステムバス2423に接続される。これらのドライブ、および関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令(ダイナミックリンクライブラリなどのプログラムコード、および実行可能ファイル)などの不揮発性ストレージをパーソナルコンピュータ2420に提供する。前述のコンピュータ可読媒体の説明は、ハードディスク、リムーバブル磁気ディスク、およびCDについて述べているものの、コンピュータ可読媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなどの、コンピュータによって読み取られることが可能な、他のタイプの媒体も含まれることが可能である。
オペレーティングシステム2435、1つまたは複数のアプリケーションプログラム2436、他のプログラムモジュール2437、およびプログラムデータ2438を含め、いくつかのプログラムモジュールが、ドライブおよびRAM2425の中に格納されることが可能である。ユーザは、キーボード2440、ならびにマウス2442などのポインティングデバイスを介して、パーソナルコンピュータ2420にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタフェース2446を介して処理装置2421に接続されるが、パラレルポート、ゲームポート、またはUSB(ユニバーサルシリアルバス)などの、他のインタフェースで接続されてもよい。また、モニタ2447、または他のタイプのディスプレイデバイスも、ディスプレイコントローラまたはビデオアダプタ2448などのインタフェースを介してシステムバス2423に接続される。モニタに加え、パーソナルコンピュータは、通常、スピーカやプリンタなどの、他の周辺出力デバイス(図示せず)も含む。
パーソナルコンピュータ2420は、リモートコンピュータ2449などの、1つまたは複数のリモートコンピュータへの論理接続を使用する、ネットワーク化された環境において動作することができる。リモートコンピュータ2449は、サーバ、ルータ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、パーソナルコンピュータ2420に関連して説明される要素の多く、またはすべてを含むが、メモリ記憶装置2450だけが、図24に示されている。図24に示される論理接続は、LAN(ローカルエリアネットワーク)2451およびWAN(ワイドエリアネットワーク)2452を含む。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
LANネットワーキング環境において使用される場合、パーソナルコンピュータ2420は、ネットワークインタフェースまたはネットワークアダプタ2453を介してローカルネットワーク2451に接続される。WANネットワーキング環境において使用される場合、パーソナルコンピュータ2420は、通常、インターネットなどのワイドエリアネットワーク2452を介して通信を確立するためのモデム2454、または他の手段を含む。内部にあることも、外部にあることも可能なモデム2454は、シリアルポートインタフェース2446を介してシステムバス2423に接続される。ネットワーク化された環境において、パーソナルコンピュータ2420に関連して示されるプログラムモジュール、またはそのようなプログラムモジュールのいくつかの部分は、リモートメモリ記憶装置の中に格納されてもよい。図示されるネットワーク接続は、単に例であり、コンピュータ間で通信リンクを確立する他の手段が使用されてもよい。
(実施例40 例示的な自動化された方法)
本明細書で説明される方法のいずれも、そのような方法を実行するためのコンピュータ実行可能命令を有する1つまたは複数のコンピュータ可読媒体を介して実行されることが可能である。動作は、完全に自動である、半自動である、または手動の介入が関与することが可能である。
(実施例41 例示的な組合せ)
本明細書で説明されるいずれの実施例の技術も、本明細書で説明される他の任意の1つまたは複数の実施例の技術と組み合わされることが可能である。
(実施例42 例示的な代替形態)
開示される発明の原理が適用されることが可能な、多数の可能な実施形態に鑑みて、例示される実施形態は、本発明の好ましい実施例だけであり、本発明の範囲を限定するものと解釈されてはならないことを認識されたい。むしろ、本発明の範囲は、添付の特許請求の範囲によって規定される。したがって、我々は、特許請求の範囲の範囲および趣旨に含まれるすべてを、我々の発明として主張する。
サーバプログラムスイートから複数のインストール可能なサーバプログラムをインストールするための例示的なシナリオを示す図である。 サーバプログラムスイートをインストールするための例示的な方法を示す流れ図である。 コンピュータサーバインストールイメージを作成するための例示的なシステムを示す図である。 コンピュータサーバインストールイメージを作成するための例示的な方法を示す図である。 例示的なコンピュータサーバインストールイメージを示す図である。 ソフトウェアを汎用化する(genericize)ための例示的な方法を示す流れ図である。 例示的な複数のサーバネットワークを示すブロック図である。 複数のコンピュータサーバインストールイメージをインストールするための例示的な方法を示す流れ図である。 構成設定を入力するための例示的なユーザインタフェースを示す図である。 コンピュータサーバインストールイメージを作成して、インストールするための例示的なシステムを示す図である。 統合されたコンピュータサーバをインストールするための例示的なシステムを示す図である。 統合されたコンピュータサーバをインストールするための例示的な方法を示す流れ図である。 インストール回答を格納し、伝送するための例示的な方法を示す流れ図である。 さらなるインストール質問に回答するための例示的な方法を示す流れ図である。 アプリケーションの自動化された分散インストールのための例示的な方法を示す流れ図である。 複数のコンピュータサーバをインストールするための例示的な方法を示す流れ図である。 例示的な構成されていないサーバを示すブロック図である。 第1のサーバの例示的なインストールを示すブロック図である。 第2のサーバの例示的なインストールを示すブロック図である。 第3のサーバの例示的なインストールを示すブロック図である。 複数のサーバにわたってサーバプログラムスイートをインストールするための例示的な方法を示す流れ図である。 複数のサービスを提供するように構成された複数のサーバの例示的なシステムを示すブロック図である。 コンピュータサービスの自動化された冗長な構成のための例示的な方法を示す流れ図である。 コンピュータサービスを提供する複数のコンピュータサーバの自動化された冗長な構成のための例示的な方法を示す流れ図である。 本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピューティング環境の例を示すブロック図である。 本明細書で説明される技術のいずれかを実施するのに使用されることが可能なコンピュータシステムの例を示すブロック図である。

Claims (20)

  1. 複数の統合されたコンピュータサーバをインストールするためのコンピュータによって実施される方法であって、
    前記複数の統合されたコンピュータサーバをインストールするユーザに、前記複数のコンピュータサーバの第1のサーバ上で提示される1つまたは複数のユーザインタフェースを提示すること、
    前記1つまたは複数のユーザインタフェースに応答して、前記ユーザから第1のインストール回答を受け取ること、
    前記第1のインストール回答に従って前記第1のサーバにソフトウェアをインストールすること、および
    前記第1のインストール回答に従って、前記複数の統合されたコンピュータサーバの第2のサーバにソフトウェアをインストールすることを含むことを特徴とする方法。
  2. 前記第1のサーバにソフトウェアをインストールすることは、前記第1のサーバにアプリケーションの1つまたは複数の構成要素をインストールすることを含み、前記第2のサーバにソフトウェアをインストールすることは、前記第2のサーバに前記アプリケーションの他の1つまたは複数の構成要素をインストールすることを含むことを特徴とする請求項1に記載の方法。
  3. 前記第2のサーバにソフトウェアをインストールすることは、前記第1のインストール回答に基づいてインストール決定を行うことを含むことを特徴とする請求項1に記載の方法。
  4. 前記第2のサーバにソフトウェアをインストールすることは、
    前記第1のインストール回答に基づき、前記第1のサーバ上のインストール知識ベースを調べること、および
    前記調査に基づいてインストール決定を行うことを含むことを特徴とする請求項1に記載の方法。
  5. 前記第2のサーバにソフトウェアをインストールすることは、
    前記第1のインストール回答に基づき、前記第2のサーバ上のインストール知識ベースを調べること、および
    前記調査に基づいて、前記第2のサーバにソフトウェアをインストールすることを含むことを特徴とする請求項1に記載の方法。
  6. 前記第1のサーバ上に前記第1のインストール回答を格納すること、および
    前記第1のサーバから前記第2のサーバに前記第1のインストール回答を伝送することをさらに含み、前記第1のインストール回答に従って前記第2のサーバにソフトウェアをインストールすることは、前記伝送された第1のインストール回答を使用することを含むことを特徴とする請求項1に記載の方法。
  7. 前記格納された第1のインストール回答を伝送することは、
    前記第1のサーバ上で、リモートでアクセス可能なサービスを提供すること、および
    前記第2のサーバからの前記リモートでアクセス可能なサービスへの接続に応答して、前記第1のサーバから前記格納された第1のインストール回答を送信することを含むことを特徴とする請求項6に記載の方法。
  8. 前記第1のインストール回答を伝送する前に、前記第1のサーバ上で前記第1のインストール回答を暗号化することをさらに含むことを特徴とする請求項6に記載の方法。
  9. 前記第2のサーバにソフトウェアをインストールすることは、
    前記第1のサーバから前記第1のインストール回答を受信すること、および
    前記第1のインストール回答を使用して、前記第2のサーバにソフトウェアをインストールすることに関するインストール質問に回答することを含むことを特徴とする請求項1に記載の方法。
  10. 前記第1のサーバから前記第1のインストール回答を受信することは、前記第1のサーバ上で実行されるリモートでアクセス可能なサービスを介して前記第1のインストール回答を受信することを含むことを特徴とする請求項9に記載の方法。
  11. 前記第2のサーバにソフトウェアをインストールする前に、前記第2のサーバ上のユーザインタフェースに応答して、前記ユーザから第2のインストール回答を受け取ることをさらに含み、前記第2のインストール回答は、セキュリティ関連であることを特徴とする請求項1に記載の方法。
  12. 前記複数の統合されたコンピュータサーバと関係する複数のコンピューティングデバイスをインストールすることをさらに含み、前記複数のコンピューティングデバイスをインストールすることは、
    前記第1のインストール回答に従って、前記複数のコンピューティングデバイスの或るコンピューティングデバイスにソフトウェアをインストールすることを含むことを特徴とする請求項1に記載の方法。
  13. 複数の統合されたコンピュータサーバへの複数のアプリケーションの自動化された分散インストールのためのコンピュータによって実施される方法であって、
    前記複数の統合されたコンピュータサーバの第1のサーバに、前記複数のアプリケーションの第1のアプリケーションをインストールするように決定すること、
    ユーザインタフェースを介して、前記第1のサーバに前記第1のアプリケーションをインストールするユーザから構成設定を受け取ること、
    前記構成設定を使用して前記第1のサーバに前記第1のアプリケーションをインストールすること、
    前記複数の統合されたコンピュータサーバの第2のサーバに、前記複数のアプリケーションの第2のアプリケーションをインストールするように決定すること、および
    前記構成設定を使用して前記第2のサーバに前記第2のアプリケーションをインストールすることを含むことを特徴とする方法。
  14. 前記第1のサーバに前記第1のアプリケーションをインストールするように決定することは、前記第1のサーバによって実行される自動化された発見プロセスの結果に基づくことを特徴とする請求項13に記載の方法。
  15. 前記第1のサーバに前記第1のアプリケーションをインストールするように決定することは、前記第1のサーバのハードウェア構成に基づくことを特徴とする請求項13に記載の方法。
  16. 前記第1のサーバに前記第1のアプリケーションをインストールするように決定することは、前記第1のサーバ上に配置されたインストール知識ベースを調べることを含むことを特徴とする請求項13に記載の方法。
  17. 前記構成設定に基づき、前記第1のサーバに前記複数のアプリケーションの第3のアプリケーションの1つまたは複数の構成要素をインストールすること、および
    前記構成設定に基づき、前記第2のサーバに前記第3のアプリケーションの他の1つまたは複数の構成要素をインストールすることをさらに含み、前記第3のアプリケーションは、マルチサーバアプリケーションであることを特徴とする請求項13に記載の方法。
  18. 複数のコンピュータサーバをインストールするためのコンピュータによって実施される方法を実行するためのコンピュータ命令が符号化されているコンピュータ可読媒体であって、
    前記方法は、
    前記複数のサーバをインストールするユーザにインストール質問を尋ねること、
    前記ユーザに前記インストール質問を尋ねることに応答して、前記ユーザからインストール回答を受け取ること、
    前記インストール回答に基づき、前記複数のサーバの第1のサーバを構成することに関するインストール決定を行うこと、
    前記インストール回答に基づき、インストール知識ベースを調べること、および
    前記インストール知識ベースの前記調査に基づき、前記複数のサーバの第2のサーバを構成することに関する1つまたは複数のさらなるインストール決定を行うことを含むことを特徴とするコンピュータ可読媒体。
  19. 前記インストール決定は、レガシーサーバから前記第1のサーバにサービスを移すことと関係することを特徴とする請求項18に記載のコンピュータ可読媒体。
  20. 前記インストール知識ベースの前記調査に基づき、前記ユーザにさらなるインストール質問を尋ねることを省くことをさらに含むことを特徴とする請求項18に記載のコンピュータ可読媒体。
JP2008556317A 2006-02-22 2007-01-18 統合されたマルチサーバインストール Pending JP2009527848A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/360,213 US20070234345A1 (en) 2006-02-22 2006-02-22 Integrated multi-server installation
PCT/US2007/001323 WO2007097842A1 (en) 2006-02-22 2007-01-18 Integrated multi-server installation

Publications (1)

Publication Number Publication Date
JP2009527848A true JP2009527848A (ja) 2009-07-30

Family

ID=38437692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008556317A Pending JP2009527848A (ja) 2006-02-22 2007-01-18 統合されたマルチサーバインストール

Country Status (6)

Country Link
US (1) US20070234345A1 (ja)
EP (1) EP1999580A4 (ja)
JP (1) JP2009527848A (ja)
KR (1) KR20080098370A (ja)
CN (1) CN101390049A (ja)
WO (1) WO2007097842A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014167790A1 (ja) * 2013-04-11 2017-02-16 日本電気株式会社 情報処理装置、及び、配備方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596615B2 (en) * 2006-02-22 2009-09-29 Microsoft Corporation Multi-server automated redundant service configuration
US7853945B2 (en) * 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US7996830B2 (en) * 2006-06-05 2011-08-09 International Business Machines Corporation Programming model generic application deployment
US8645948B2 (en) * 2006-12-12 2014-02-04 Qualcomm Incorporated Apparatus and methods for client-driven server-side installation
US8136090B2 (en) 2006-12-21 2012-03-13 International Business Machines Corporation System and methods for applying social computing paradigm to software installation and configuration
US8413110B2 (en) * 2007-04-25 2013-04-02 Kai C. Leung Automating applications in a multimedia framework
JP5067853B2 (ja) * 2007-08-14 2012-11-07 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
KR101484680B1 (ko) * 2007-10-04 2015-01-21 삼성전자 주식회사 컴포넌트 기반 소프트웨어 제품 관리 시스템 및 방법
KR101614160B1 (ko) 2008-07-16 2016-04-20 한국전자통신연구원 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치
GB2474607B (en) * 2008-08-05 2013-03-13 Hewlett Packard Development Co Method and device for customizing software
US8151273B2 (en) * 2008-08-28 2012-04-03 Microsoft Corporation Environment wide configuration system
US20100257521A1 (en) * 2009-04-07 2010-10-07 Navarro Luis A Simultaneous Installation of Multiple Portions of a Software Application on a Computer System
US20110161953A1 (en) * 2009-12-30 2011-06-30 Lutz Dominick Method for operating a hospital information system
EP2383645B1 (en) 2010-04-30 2015-03-04 BlackBerry Limited Method and device for application installation to multiple memory components
US10296317B2 (en) * 2010-12-20 2019-05-21 Microsoft Technology Licensing, Llc Continuous publication of application to remote computing devices
US20120260246A1 (en) * 2011-04-06 2012-10-11 International Business Machines Corporation Software application installation
KR101340323B1 (ko) * 2011-10-31 2013-12-11 한국과학기술정보연구원 분산 지향 데이터 접근 시스템 및 그 방법
CN103167050A (zh) * 2011-12-13 2013-06-19 台达电子工业股份有限公司 服务器的自动安装与设定方法
US10382275B1 (en) * 2012-10-22 2019-08-13 Amazon Technologies, Inc. Automated infrastructure configuration

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149278A (ja) * 1996-11-21 1998-06-02 Nec Off Syst Ltd インストール方法
JP2002055821A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd インストール方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2004272572A (ja) * 2003-03-07 2004-09-30 Japan Research Institute Ltd インストールシステムおよびインストール方法
JP2005505034A (ja) * 2001-09-21 2005-02-17 ビーイーエイ システムズ, インコーポレイテッド アプリケーション展開のためのスマートディレクトリに関する方法及び装置
JP2005352576A (ja) * 2004-06-08 2005-12-22 Ntt Docomo Inc 処理システム及び処理方法
JP2006018356A (ja) * 2004-06-30 2006-01-19 Nec Corp オブジェクト配備操作システム、オブジェクト配備システム及び方法

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394547A (en) * 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5623532A (en) * 1995-01-12 1997-04-22 Telefonaktiebolaget Lm Ericsson Hardware and data redundant architecture for nodes in a communications system
US5794052A (en) * 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
GB2325063B (en) * 1997-05-08 2001-11-21 Ibm Method of installing and configuring an application program within a computer system, and application program for facilitating the method
US6934956B1 (en) * 1997-09-09 2005-08-23 Micron Technology, Inc. Method and apparatus for installing an operating system
US7401114B1 (en) * 1998-04-20 2008-07-15 Sun Microsystems, Inc. Method and apparatus for making a computational service highly available
US6098097A (en) * 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer
US6202206B1 (en) * 1998-05-14 2001-03-13 International Business Machines Corporation Simultaneous installation and configuration of programs and components into a network of server and client computers
US6970183B1 (en) * 2000-06-14 2005-11-29 E-Watch, Inc. Multimedia surveillance and monitoring system including network configuration
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
TW408286B (en) * 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6347397B1 (en) * 1999-03-29 2002-02-12 International Business Machines Corporation System, method, and program for providing an object-oriented install architecture
GB2349485B (en) * 1999-04-23 2003-12-10 Ibm Application management
US6385766B1 (en) * 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US7007080B2 (en) * 1999-12-23 2006-02-28 Solution Inc Limited System for reconfiguring and registering a new IP address for a computer to access a different network without user intervention
US6529784B1 (en) * 2000-02-29 2003-03-04 Caldera Systems, Inc. Method and apparatus for monitoring computer systems and alerting users of actual or potential system errors
US7032011B2 (en) * 2000-03-29 2006-04-18 Symantec Corporation Server based extraction, transfer, storage and processing of remote settings, files and data
US6698018B1 (en) * 2000-05-10 2004-02-24 Microsoft Corporation System and method of multiple-stage installation of a suite of applications
US6804774B1 (en) * 2000-05-12 2004-10-12 Hewlett-Packard Development Company, L.P. Software image transition aid comprising building a disk image based on identified hardware
US6865737B1 (en) * 2000-08-23 2005-03-08 Microsoft Corporation Remote software installation and maintenance
US20020083170A1 (en) * 2000-10-26 2002-06-27 Metilinx System-wide optimization integration model
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US7197550B2 (en) * 2001-08-23 2007-03-27 The Directv Group, Inc. Automated configuration of a virtual private network
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7228344B2 (en) * 2002-03-13 2007-06-05 Hewlett-Packard Development Company, Lp. High availability enhancement for servers using structured query language (SQL)
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image
US8549114B2 (en) * 2002-06-12 2013-10-01 Bladelogic, Inc. Method and system for model-based heterogeneous server configuration management
US7290257B2 (en) * 2002-08-30 2007-10-30 Sap Ag Installing software applications and associated data on mobile computers
US20040060035A1 (en) * 2002-09-24 2004-03-25 Eric Ustaris Automated method and system for building, deploying and installing software resources across multiple computer systems
US7100159B2 (en) * 2002-11-04 2006-08-29 Hewlett-Packard Development Company, L.P. Method, apparatus and means for silently customizing software within a multi-platform environment
US7324439B2 (en) * 2002-11-13 2008-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Application-transparent IP redundancy
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7379996B2 (en) * 2003-04-07 2008-05-27 Microsoft Corporation System and method for web server migration
US7376717B2 (en) * 2003-04-17 2008-05-20 Lenovo (Singapore) Pte Ltd. Method and apparatus for automatically configuring a computer for different local area networks
US7231377B2 (en) * 2003-05-14 2007-06-12 Microsoft Corporation Method and apparatus for configuring a server using a knowledge base that defines multiple server roles
US20060156315A1 (en) * 2003-05-27 2006-07-13 Wood Larry J Method, computer-readable medium and apparatus for providing a graphical user interface in a client-server environment
US20040243997A1 (en) * 2003-05-29 2004-12-02 Sun Microsystems, Inc. Method, system, and program for installing program components on a computer
US7281247B2 (en) * 2003-06-24 2007-10-09 Microsoft Corporation Software image creation in a distributed build environment
US20050086457A1 (en) * 2003-10-21 2005-04-21 Hohman Jennifer L. System and method for providing user controlled migration of a client computer
US7350201B2 (en) * 2003-10-23 2008-03-25 International Business Machines Corporation Software distribution application supporting operating system installations
US7334226B2 (en) * 2003-10-30 2008-02-19 International Business Machines Corporation Autonomic auto-configuration using prior installation configuration relationships
US8230067B2 (en) * 2003-10-31 2012-07-24 Ericsson Ab DHCP proxy in a subscriber environment
US7577146B2 (en) * 2003-10-31 2009-08-18 Redback Networks Inc. Network element modifying the DHCP lease timer
US7499904B2 (en) * 2003-11-25 2009-03-03 Microsoft Corporation System and method for client mastered replication of local files
US20050160420A1 (en) * 2004-01-20 2005-07-21 Kruta Andrew W. Method and apparatus for distribution and installation of computer programs across an enterprise
US7392050B2 (en) * 2004-02-25 2008-06-24 Schwegman, Lundberg & Woessner, P.A. Systems and methods for automated network operating center system for broadband wireless network
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
US7861177B2 (en) * 2004-04-21 2010-12-28 Sap Aktiengesellschaft Software configuration program for software applications
US7412700B2 (en) * 2004-05-18 2008-08-12 Oracle International Corporation Product packaging and installation mechanism
CA2467939A1 (en) * 2004-05-20 2005-11-20 Fernando Cuervo Architecture for configuration and management of cross-domain network services
US8156489B2 (en) * 2004-05-21 2012-04-10 Computer Associates Think, Inc. Distributed installation configuration system and method
KR100636143B1 (ko) * 2004-06-02 2006-10-18 삼성전자주식회사 무선 네트워크 장치의 자동 설정 방법 및 장치
US20060047798A1 (en) * 2004-07-13 2006-03-02 Feinleib David A System and method for automated capture, editing, replication, and deployment of server configurations
US7284043B2 (en) * 2004-09-23 2007-10-16 Centeris Corporation System and method for automated migration from Linux to Windows
US20060075001A1 (en) * 2004-09-30 2006-04-06 Canning Jeffrey C System, method and program to distribute program updates
US7546595B1 (en) * 2004-10-14 2009-06-09 Microsoft Corporation System and method of installing software updates in a computer networking environment
US10162618B2 (en) * 2004-12-03 2018-12-25 International Business Machines Corporation Method and apparatus for creation of customized install packages for installation of software
EP1724971B1 (en) * 2005-03-10 2008-07-09 Hewlett-Packard Development Company, L.P. Server system, server device, and method therefor
US20060253851A1 (en) * 2005-04-18 2006-11-09 Yong-Jun Cho Software installation system and method thereof and storage medium for software installation program
EP1732014A1 (en) * 2005-06-08 2006-12-13 Sap Ag Calculation of specifed matrices
JP2007072813A (ja) * 2005-09-07 2007-03-22 Hitachi Ltd ストレージシステム、ファイル移動方法、及びコンピュータプログラム
US7853945B2 (en) * 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US8612556B2 (en) * 2006-05-03 2013-12-17 Comcast Cable Holdings, Llc Method of provisioning network elements
US8539056B2 (en) * 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7383327B1 (en) * 2007-10-11 2008-06-03 Swsoft Holdings, Ltd. Management of virtual and physical servers using graphic control panels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149278A (ja) * 1996-11-21 1998-06-02 Nec Off Syst Ltd インストール方法
JP2002055821A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd インストール方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005505034A (ja) * 2001-09-21 2005-02-17 ビーイーエイ システムズ, インコーポレイテッド アプリケーション展開のためのスマートディレクトリに関する方法及び装置
JP2004272572A (ja) * 2003-03-07 2004-09-30 Japan Research Institute Ltd インストールシステムおよびインストール方法
JP2005352576A (ja) * 2004-06-08 2005-12-22 Ntt Docomo Inc 処理システム及び処理方法
JP2006018356A (ja) * 2004-06-30 2006-01-19 Nec Corp オブジェクト配備操作システム、オブジェクト配備システム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014167790A1 (ja) * 2013-04-11 2017-02-16 日本電気株式会社 情報処理装置、及び、配備方法

Also Published As

Publication number Publication date
EP1999580A4 (en) 2010-12-29
WO2007097842A1 (en) 2007-08-30
KR20080098370A (ko) 2008-11-07
CN101390049A (zh) 2009-03-18
US20070234345A1 (en) 2007-10-04
EP1999580A1 (en) 2008-12-10

Similar Documents

Publication Publication Date Title
US7853945B2 (en) Integrated computer server imaging
US7596615B2 (en) Multi-server automated redundant service configuration
JP2009527848A (ja) 統合されたマルチサーバインストール
CN107925685B (zh) 用于安全网页浏览的重定向器
US7953830B2 (en) Automatic network reconfiguration upon changes in DHCP IP addresses
US8620817B2 (en) Method and system for creating license management in software applications
US8234639B2 (en) Autonomic auto-configuration using prior installation configuration relationships
US9191443B2 (en) Managed peer-to-peer applications, systems and methods for distributed data access and storage
US9063993B2 (en) Coexistence tools for synchronizing properties between on-premises customer locations and remote hosting services
US7356574B2 (en) Apparatus and method for providing dynamic and automated assignment of data logical unit numbers
JP5547478B2 (ja) クライアント・デバイスのリモート・データ・ストレージを行うシステム、方法およびプログラム
US20070083620A1 (en) Methods for selecting between a predetermined number of execution methods for an application program
US8131830B2 (en) System and method for providing support services using administrative rights on a client computer
US20080104244A1 (en) Provisioning of resources in a computer network
US20090210435A1 (en) Configuration item management tool
KR20220060525A (ko) 보안성 향상된, 자동적으로 배치되는 정보 기술(it) 시스템 및 방법
US10447818B2 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
US20150304237A1 (en) Methods and systems for managing access to a location indicated by a link in a remote access system
CN113169999A (zh) 基于位置与用户装置安全地共享文件
US11675577B2 (en) Systems and methods of orchestrating nodes in a blockchain network
Shapiro Windows server 2008 bible
Shinder et al. The Best Damn Windows Server 2003 Book Period
US20230164114A1 (en) System and method for managing and securing an enterprise network associated with an organization
US20240004685A1 (en) Virtual Machine Managing System Using Snapshot
Hannifin Microsoft Windows Server 2008 R2 administrator's reference: the administrator's essential reference

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121221