説明

コンピュータネットワークのシステムダウンタイムを自動的に管理する方法

コンピュータネットワークのシステムダウンタイムを自動的に管理する実施形態を提供する。1つの実施形態で、アプリケーションサーバにおいて、ウェブサーバのシステムダウンタイムをスケジュールするイベントを作成する。スケジュールされたダウンタイムが発生すると、そのウェブサーバは、自動的にコンピュータネットワークから取り除かれ、そのウェブサーバがオフラインになっていることを示すダウンタイム通知メッセージを自動的に通信する。別の実施形態では、ウェブサイトなどのウェブベース・アプリケーションのダウンタイムをスケジュールするイベントを作成できる。スケジュールされたダウンタイムに先立って、ウェブベース・アプリケーションへのリクエストを自動的に停止し、指定したロケーションにリダイレクトするようにしてもよい。別の実施形態では、障害状態の存在を検出するためにウェブサーバのオペレーションを自動的にモニタする。障害状態がある場合、障害のあるウェブサーバを停止し、停止されたウェブサーバへのリクエストを、別のサーバに自動的にリダイレクトする決定を行ってもよい。

【発明の詳細な説明】
【背景技術】
【0001】
多くのコンピュータネットワークは、単一のウェブベースのインタフェースを介して、エンドユーザにリソースを提供する、多数のコンピュータによって共有されるインフラストラクチャを含む。これらのコンピュータネットワークは、一般的に、サーバファームを単一の論理ユニットとして制御する分散オペレーティングシステム・アプリケーションを含む。サーバファームは、一般的には、処理状態を把握しないステートレスなウェブフロントエンド(すなわち、ウェブサーバ)、アプリケーションサーバ、サーバが共有するデータベースバックエンドを含む。分散オペレーティングシステムによって、サーバリソース(すなわち、データ)は、1つまたは複数のウェブサイトとして、エンドユーザの前に現れることが可能になる。
【0002】
しかしながら、分散オペレーティングシステム・アプリケーションを利用するコンピュータネットワークには、多くの欠点がある。その欠点の1つは、システムのメンテナンスやアップグレードが必要なとき、コンピュータネットワーク全体をオフラインにする必要があるかもしれない点である。結果として、メンテナンスやアップグレードが完了するまで、ユーザは、サーバリソースにアクセスするためのウェブサイトに、アクセスできない。ダウンタイムすなわち停止時間の間、影響を受けるウェブサイトのユーザを、他のウェブサイトに一時的にリダイレクト(出力先変更)してもよいが、現在のところ、リダイレクトは、完全な手作業である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
詳細には、リダイレクトを行うためには、一時的なウェブサイトのホストコンピュータを、手作業で構成する必要があり、ドメイン名システム(DNS)の変更も手作業で行う必要がある。しかしながら、DNSの変更は、技術的な専門知識を必要とすることが多く、システムアドミニストレータの知識の範囲を超えることもあり、その結果、さらに人員が必要となる。結果として、手作業でのリダイレクトは、時間、人員、資源とうい点で、高くつくことが多い。これらのことなどを考慮して、本発明の様々な実施形態が考案された。
【課題を解決するための手段】
【0004】
本概要は、発明を実施するための形態でさらに説明する主題の一部を簡潔に紹介するためのものである。本概要は、発明の主題の主要な特徴または本質的な特徴を特定しようとするものではなく、また、発明の主題の範囲を限定することを意図してもいない。
【0005】
コンピュータネットワークのシステムダウンタイムを自動的に管理する実施形態を記載する。1つの実施形態では、アプリケーションサーバにおいて、コンピュータネットワークのウェブサーバのシステムダウンタイム期間をスケジュールするイベントを作成する。スケジュールされたダウンタイムが発生すると、ネットワークサーバへのトラフィックを管理しているネットワーク負荷分散装置から、自動的にそのウェブサーバが取り除かれ、ダウンタイム通知メッセージを自動的に伝達する。ダウンタイム通知メッセージは、ウェブサーバが停止して、何らかの予定のメンテナンスに備えていることを、システムアドミニストレータに伝えてもよい。別の実施形態では、コンピュータネットワークにおける、ウェブサイトなどのウェブベース・アプリケーションのダウンタイムをスケジュールするイベントを作成してもよい。スケジュールされたダウンタイムに先立って、ウェブベース・アプリケーションへのリクエストを、自動的に停止し、指定したロケーションにリダイレクトしてもよい。別の実施形態では、ウェブサーバのオペレーションは、障害状態の存在を検出するために自動的にモニタされ、1つまたは複数のウェブサーバに障害状態があると、障害のあるウェブサーバを停止して、停止したウェブサーバへのリクエストを自動的に他のサーバにリダイレクトするという決定をしてもよい。
【0006】
これらの特徴や利点およびその他の特徴や利点は、下記の発明を実施するための形態やそれに付随する図面から明らかとなる。上述した一般的な記載と下記の発明を実施するための形態は例示的なものであり、特許を請求する発明を制限するものではない。
【図面の簡単な説明】
【0007】
【図1】様々な実施形態に応じて、コンピュータネットワークのシステムダウンタイムを自動的に管理するように構成されたシステムのネットワークアーキテクチャの図である。
【図2】本明細書に記載された様々な実施形態を実装するコンピュータ環境を示すブロック図である。
【図3】1実施形態によるコンピュータネットワークのシステムダウンタイムを自動的に管理するルーチンを示すフロー図である。
【図4】別の実施形態によるコンピュータネットワークのシステムダウンタイムを自動的に管理するルーチンを示すフロー図である。
【図5】別の実施形態によるコンピュータネットワークのシステムダウンタイムを自動的に管理するルーチンを示すフロー図である。
【発明を実施するための形態】
【0008】
コンピュータネットワークのシステムダウンタイムを自動的に管理する実施形態を記載する。1つの実施形態では、アプリケーションサーバにおいて、コンピュータネットワークのウェブサーバのシステムダウンタイム期間をスケジュールするイベントを作成する。スケジュールされたダウンタイムが発生すると、そのウェブサーバは、ネットワークサーバへのトラフィックを管理するネットワーク負荷分散装置から自動的に取り除かれ、ダウンタイム通知メッセージが、自動的に伝えられる。ダウンタイム通知メッセージは、ウェブサーバは停止しており、何らかの予定のメンテナンスに備えている旨をシステムアドミニストレータに伝えてもよい。別の実施形態では、コンピュータネットワークにおける、ウェブサイトなどのウェブベース・アプリケーションのダウンタイムをスケジュールするイベントを作成してもよい。スケジュールしたダウンタイムに先立って、ウェブベース・アプリケーションへのリクエストを自動的に停止し、指定したロケーションにリダイレクトしてもよい。別の実施形態では、ウェブサーバのオペレーションは、障害状態の存在を検出するために自動的にモニタされ、1つまたは複数のウェブサーバに障害状態が存在した場合、障害のあるウェブサーバを停止と決定して、停止したウェブサーバへのリクエストを、自動的に別のサーバにリダイレクトしてもよい。
【0009】
図面を参照して、様々な例示的な実施形態について記載する。なお、図面内の同じ番号は同じ要素を表すものとする。図1は、自動的に共有のリソースを対象とするように構成されたコンピュータネットワーク100のネットワークアーキテクチャの図である。1つの実施形態においては、コンピュータネットワーク100の様々なコンポーネントは、ワシントン州レドモンドにあるマイクロソフト社が開発したSHAREPOINTサービステクノロジーのオペレーティングシステムなどの、ウェブベース・アプリケーション用分散オペレーティングシステムを使って構成してもよい。当業者には周知のように、SHAREPOINTサービステクノロジーによって、ユーザは、協調環境を、作成、維持、公開して、情報を共有することができる。SHAREPOINTサービステクノロジーを用いると、ユーザまたは組織は、1つまたは複数のウェブサイトを作成して、そのウェブサイトに関連付けられた他のユーザに情報(例えば、ウェブサーバやウェブフォルダ等にある書類)を提供し、共有することができる。本明細書に記載する実施形態はSHAREPOINTサービステクノロジーに限定されるものではなく、他の開発者および/または他の製造業者の協調サービス技術を利用してもよいことを理解されたい。コンピュータネットワーク100およびそのコンポーネントは、他のコンピュータ装置、通信装置、および/または他のシステムと通信する機能を備え、本明細書に記載の実施形態と実施例に限定されない。
【0010】
図1に示すように、コンピュータネットワーク100は、バックエンドサーバ101、アプリケーションサーバ102A、102B、ウェブサーバ112A、112B、112C、ドメイン名システム(DNS)サーバ114、ネットワーク負荷分散装置116、およびクライアントコンピュータ150、152を含むが、それらに限定されない。1つの実施形態では、バックエンドサーバ101、アプリケーションサーバ102A、102B、およびウェブサーバ112A、112B、112Cは、SHAREPOINTサービステクノロジーを利用して、クライアントコンピュータ150、152と情報を共有する協調環境を作成するように構成してもよい。特に、1つの実施形態によると、アプリケーションサーバ102A、102Bは、WINDOWS SHAREPOINT SERVICESテクノロジーを組み込んだWINDOWSサーバオペレーティングシステムや、アプリケーションプログラムOFFICEスイートなどの、クライアントコンピュータの生産性アプリケーションプログラム(例えば、ワードプロセッシング・アプリケーション、個人情報管理アプリケーション、スプレッドシート・アプリケーション)と協調するOFFICE SHAREPOINT SERVERアプリケーションプログラムを実行するように構成してもよい。上述のオペレーティングシステム、テクノロジー、アプリケーションプログラムは、ワシントン州レドモンドにあるMICROSOFT社が開発したものである。しかしながら、他の製造業者のオペレーティングシステムやアプリケーションプログラムを使用して、本明細書に記載された技術的特徴の様々な態様を実現してもよいことを理解されたい。
【0011】
バックエンドサーバ101は、(ファイヤウォール110を介して)アプリケーションサーバ102A、102B、ウェブサーバ112A、112B、112Cと通信する。ある実施形態によると、バックエンドサーバ101は、コンピュータネットワーク100で利用できるデータを記憶し、アプリケーションサーバ102A、102B、ウェブサーバ112A、112B、112Cと共有する、データベース問い合わせ言語(SQL)データベースを備えてもよい。
【0012】
アプリケーションサーバ102A、102Bは、(ファイヤウォール110を介して)バックエンドサーバ101、ウェブサーバ112A、112B、112Cと通信する。一般には、アプリケーションサーバ102A、102Bは、検索用インデックス作成オペレーションの実行や、ウェブサーバ112A、112B、112Cがホストするウェブサイトに公開されているアクティブディレクトリの情報の伝達に利用してもよい。アプリケーションサーバ102A、102Bは、ダウンタイム管理アプリケーション104A、104Bやイベントデータ106A、106Bを備えてもよいが、それらに限定されない。1つの実施形態によると、ダウンタイム管理アプリケーション104A、104Bは、ウェブサーバ112A、112B、112Cのダウンタイムと、ウェブサーバ112A、112B、112Cがホストするウェブベース・アプリケーションのダウンタイムと、をスケジュールするイベントデータ106A、106B(すなわち、イベント)を作成するように構成してもよい。
【0013】
1つの実施形態においては、ダウンタイム管理アプリケーション104A、104Bは、ネットワーク管理者が、グラフィカルユーザインタフェースにイベントデータ106A、106Bを入力する選択をすることができるダウンタイム管理ハイパーリンクを備える中央管理ウェブサイトを生成するように構成してもよい。イベントデータ106A、106Bは、スケジュールされたダウンタイムの日付、停止ウインドウ、ダウンタイムメッセージ、連絡先、スケジュールされたダウンタイムに関する優先度、停止した(すなわち、オフラインの)ウェブサーバおよび/またはウェブベース・アプリケーションへサーバリクエストをリダイレクトするためのリダイレクト先ロケーション(URL)を含んでよいが、これらに限定されない。例えば、様々な実施形態によると、ダウンタイム管理アプリケーション104A、104Bのうち1つを用いて、ネットワーク管理者(または他のユーザ)が、サーバソフトウェアのアップグレード、サーバのメンテナンス、ソフトウェアパッチのインストール、ユーザアカウントのパスワードの更新などのために、所定の停止時間の間、ウェブサーバ112A、112B、112Cのうちの1つをオフラインにするようスケジュールし、スケジュールされたダウンタイムの理由、スケジュールされたダウンタイムに関して追加情報を得るための連絡先などの、ダウンタイム通知メッセージを、1つまたは複数のクライアントコンピュータにスケジュールされたダウンタイムに先立って送信し、かつ、スケジュールされたダウンタイムの間、ユーザを代わりのサーバまたはURLにリダイレクトするイベントを作成してもよい。ある実施形態によると、ダウンタイム管理アプリケーション104A、104Bは、ウェブサーバ112A、112B、112Cのオペレーションに関して、システムの健康状態をモニタするように構成してもよい。例えば、ウェブサーバ112A、112B、112Cは、障害状態(例えば、ウェブサーバが、バックエンドデータベースに接続できない、ウェブサーバのCPUの負荷が重過ぎる、ウェブサーバへのリクエストが最大閾値に達している等)の存在をモニタすることができる。そして、障害状態が存在すれば、障害のあるウェブサーバへのリクエストをコンピュータネットワーク100内の別のサーバにリダイレクトする。コンピュータネットワーク100内のシステムダウンタイムを管理する際に、ダウンタイム管理アプリケーション104A、104Bが実行し得る様々なオペレーションを、図3〜図5を参照して下記に詳述する。
【0014】
ウェブサーバ112A、112B、112Cは、ファイヤウォール110を介して、バックエンドサーバ101、アプリケーションサーバ102A、102Bと通信する。また、ウェブサーバ112A、112B、112Cは、ファイヤウォール118を介して、DNSサーバ114、ネットワーク負荷分散装置116、クライアントコンピュータ150、152とも通信する。ウェブサーバ112A、112B、112Cは、ウェブページ125A、125B、ウェブベース・アプリケーション127A、127Bを含んでもよいが、それらに限定されない。ウェブページ125A、125Bは、クライアントコンピュータ150、152がコンピュータネットワーク100の共有のリソースにアクセスするために利用するホストウェブサイトを備えてもよい。例えば、ウェブページ125A、125Bは、情報技術(IT)ウェブサイト、人材ウェブサイト、法律ウェブサイトなど、組織の種々の部門が利用する複数のウェブサイトを備えてもよい。
【0015】
DNSサーバ114は、ファイヤウォール118を介したネットワークバス120を通じてクライアントコンピュータ150、152と通信する、また、ドメイン名(例えば、www.ITweb.com)をIPアドレス(例えば、198.105.232.4)に翻訳するように構成してもよい。ネットワーク負荷分散装置116は、ファイヤウォール118を介したネットワークバス120を通じてクライアントコンピュータ150、152と通信する、また、ネットワークトラフィックの負荷が多くのサーバに均等になり、トラフィックを自動的にオペレーショナルサーバに再分配するように構成してもよい。クライアントコンピュータ150、152は、ファイヤウォール118とネットワークバス120を通じて、DNSサーバ114、ネットワーク負荷分散装置116、ウェブサーバ112A、112B、112Cと通信する。各クライアントコンピュータ150、152は、1つまたは複数のアプリケーションプログラムを実行可能な、デスクトップ型、ラップトップ型、ハンドヘルド型、タブレット型、およびその他の型の、汎用コンピュータを含んでもよく、各クライアントコンピュータ150、152を利用して、ウェブサーバ112A、112B、112Cがホストするウェブページ、ウェブサイトおよびウェブベース・アプリケーションにユーザのリクエストを送信してもよい。
【0016】
例示的なオペレーティング環境
ここで図2を参照して、本発明の実施形態を実施し得る適切なコンピュータ環境を、一般的、簡潔に下記に記載する。本発明を、パーソナルコンピュータ上のオペレーティングシステムで実行するプログラムモジュールとともに実行するプログラムモジュールという一般的な状況で記載するが、当業者は、本発明を、他の種類のコンピュータシステムやプログラムモジュールとともに実施してもよいことを理解されるであろう。
【0017】
一般に、プログラムモジュールには、特定のタスクを行う、または、抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造、他の種類の構造が含まれる。さらに、本発明は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等の、他のコンピュータシステム構成と共に実施してもよいことを、当業者は理解されるであろう。本発明は、通信ネットワークでつながれた遠隔処理装置によってタスクを行う分散コンピュータ環境で実施してもよい。分散コンピュータ環境においては、プログラムモジュールは、ローカル記憶装置においてもよく、遠隔記憶装置においてもよい。
【0018】
図2を参照して、本発明の実施形態を行うための例示的な動作環境について記載する。図2に示すように、アプリケーションサーバ102Aは、サーバコンピュータを備え、サーバコンピュータは、1つまたは複数のアプリケーションプログラムを実行可能な、デスクトップ型、ラップトップ型、ハンドヘルド型、タブレット型、他の型の汎用コンピュータを含んでもよい。アプリケーションサーバ102Aは、少なくとも1つの中央処理装置(CPU)、ランダムアクセスメモリ18(RAM)や読取専用メモリ(ROM)20などのシステムメモリ12、システムメモリをCPU8に接続するシステムバス10を含む。スタートアップ時などにコンピュータ内の要素間の情報伝達を助ける基本ルーチン、を含む基本入出力システムは、ROM20に記憶されている。
【0019】
アプリケーションサーバ102Aは、さらに、オペレーティングシステム32と、ダウンタイム管理アプリケーション104Aと、イベントデータ106Aと、サーバアプリケーション160と、を記憶する大容量記憶装置14を備える。様々な実施形態によると、オペレーティングシステム32は、WINDOWS SHAREPOINT SERVICESテクノロジーを組み込んだWINDOWS SERVERオペレーティングシステムを備えてもよく、サーバアプリケーション160は(図1に関して上述したように)OFFICE SHAREPOINT SERVERアプリケーションプログラムを備えてもよい。大容量記憶装置14は、BUS10に接続された大容量記憶装置コントローラ(図示せず)を介してCPU8に接続される。大容量記憶装置14と同装置に関連するコンピュータ可読媒体は、共有のリソースポータル110に不揮発性記憶装置を提供する。本明細書でのコンピュータ可読媒体の記載は、ハードディスクやCD−ROMドライブなどの大容量記憶装置に関するものであるが、コンピュータ可読媒体は、アプリケーションサーバ102Aがアクセスすなわち利用可能な任意の媒体であってもよいことを、当業者は理解されるであろう。
【0020】
限定ではなく1例として、コンピュータ可読媒体は、コンピュータ記憶媒体や通信媒体を備えてもよい。コンピュータ記憶媒体は、コンピュータ読取可能な、指示、データ構造、プログラムモジュールまたは他のデータ等の情報、を記憶する任意の方法または技術で実装する、揮発性、不揮発性、取り外し可能、取り外し不可能な、媒体を含む。コンピュータ記憶媒体には、RAM、ROM、EPROM、EEPROM、フラッシュメモリおよびその他の固体メモリ技術と、CD−ROM、デジタル多用途ディスク(DVD)およびその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置およびその他の磁気記憶装置、または、所望の情報の記憶に使用でき、かつ、アプリケーションサーバ102Aがアクセスできる任意の他の媒体が含まれるが、これらに限定されない。
【0021】
本発明の様々な実施形態によると、アプリケーションサーバ102Aは、例えば、ローカルネットワークや広域ネットワーク(例えば、インターネット)などのネットワーク4を通して、リモートコンピュータへの論理接続を利用し、ネットワーク環境で動作することができる。アプリケーションサーバ102Aは、バス10に接続されたネットワークインタフェースユニット16を通してネットワーク4に接続してもよい。
【0022】
ネットワークインタフェースユニット16は、他の種類のネットワークやリモートコンピューティングシステムに接続して利用してもよいことは理解されたい。アプリケーションサーバ102Aは、キーボード、マウス、ペン、スタイラス、指および/または他の手段など、多くの入力タイプからの入力を受信し、処理する入出力コントローラ22を含んでもよい。同様に、入出力コントローラ22は、ディスプレイ、プリンタ、他の種類の出力装置に出力してもよい。また、タッチスクリーンは、入力機構および出力機構の機能を果たすことができる。
【0023】
簡単に上述したように、多くのプログラムおよびデータファイルを、ワシントン州レドモンドにあるMICROSOFT社製WINDOWS SERVERオペレーティングシステムなどの、ネットワーク化されたパーソナルコンピュータのオペレーション制御に適したオペレーティングシステム32を含む、アプリケーションサーバ102Aの大容量記憶装置14およびRAM18に記憶してよい。大容量記憶装置14およびRAM18は、1つまたは複数のプログラムモジュールを記憶してもよい。詳細には、大容量記憶装置14およびRAM18は、ダウンタイム管理アプリケーション104A、イベントデータ106A、およびサーバアプリケーション160を記憶してよい。
【0024】
図3は、1実施形態による、コンピュータネットワークのシステムダウンタイムを自動的に管理するルーチン300を示すフロー図である。図3に関する記載では、図1、2のコンポーネントを指しているが、実施形態はそれらに限定されない。本明細書のルーチンに関する記載を読めば、本発明の様々な実施形態の論理オペレーションは、(1)コンピューティングシステムで実行する一連のコンピュータ実装アクトまたはプログラムモジュールとして、および/または(2)コンピューティングシステム内で相互に接続された機械論理回路または機械論理回路モジュールとして実装されることは理解されよう。実装については、本発明を実装するコンピューティングシステムの性能用件に応じて選択する事項である。したがって、本明細書に記載する本発明の実施形態を構成する、図3〜図5に示す論理オペレーションは、オペレーション、構造装置、アクト、またはモジュールなどと、様々に呼ばれる。これらのオペレーション、構造装置、アクト、およびモジュールは、本明細書に添付した特許請求の範囲に記載される本発明の精神および範囲から逸脱することなく、ソフトウェア、ファームウェア、特殊目的のデジタル論理、およびこれらのどの組合せにおいても実装してよいことが、当業者には理解されよう。
【0025】
ルーチン300は、オペレーション305から始まる。オペレーション305において、アプリケーションサーバ102Aまたは102Bで実行するダウンタイム管理アプリケーション104Aまたは104Bのいずれか(以下、アプリケーションプログラム102Aとする)を用いて、受信したイベントデータ106Aから、スケジュールされたダウンタイムイベントを作成する。図1に関する記載で述べたように、イベントデータ106Aは、スケジュールされたダウンタイムの日付と、停止ウインドウと、ダウンタイムメッセージと、連絡先と、スケジュールされたダウンタイムに関する優先度と、停止した(すなわちオフラインの)ウェブサーバおよび/またはウェブベース・アプリケーションへのサーバリクエストをリダイレクトするリダイレクト先ロケーション(URL)と、を含んでよい。例えば、ダウンタイムイベントは、サーバのメンテナンスを行うために、または、ソフトウェアパッチのインストールなどのアップグレードを行うために、ウェブサーバ112Cをオフラインにするように作成することができる。
【0026】
オペレーション305から、ルーチン300は、オペレーション310に続き、オペレーション310において、ダウンタイム管理アプリケーション104Aは、ダウンタイムがスケジュールされたウェブサーバ(例えば、ウェブサーバ112C)をネットワーク負荷分散装置116から自動的に取り除く。詳細には、ダウンタイム管理アプリケーション104Aは、アプリケーションサーバ102Aに対して、ネットワーク負荷分散装置116に自動的に通信するよう指示し、スケジュールされたダウンタイムにクライアントコンピュータ150、152からのリクエストのルーティングを停止させるように構成してもよい。
【0027】
オペレーション310から、ルーチン300は、オペレーション315に続き、オペレーション315において、ダウンタイム管理アプリケーション104Aは、オフラインになるようにスケジュールされたウェブサーバが停止しているということを示すダウンタイム通知メッセージを自動的に伝える。1つの実施形態によると、ダウンタイム通知メッセージは、スケジュールされたダウンタイムの理由(例えば、サーバのメンテナンス)と、停止ウインドウと、追加の情報を得るための連絡先(例えば、電話番号やEメールアドレス)と、に関する情報を含む。ダウンタイム通知メッセージは、スケジュールされたダウンタイムに、またはそれに先立って通信することができる電子メール(Eメール)メッセージまたはパーソナル・インフォメーション・マネージメントのカレンダのアイテムでもよい。別の実施形態によると、ダウンタイム通知メッセージは、スケジュールされたダウンタイムに先立って、停止されるウェブサーバがホストする更新したウェブページを含んでもよい。この実施形態においては、ダウンタイム管理アプリケーション104Aは、「このウェブサイトは、...から利用できません」などのダウンタイム通知メッセージを含んでウェブページを更新するよう、スケジュールされたダウンタイムの所定時間前に、停止するウェブサーバに通信するよう構成してもよい。
【0028】
オペレーション315から、ルーチン300は、オペレーション320に続き、オペレーション320において、ダウンタイム管理アプリケーション104Aは、スケジュールされたダウンタイム期間の間、オフラインのウェブサーバへのリクエストを指定のURLに自動的にリダイレクトする。詳細には、ダウンタイム管理アプリケーション104Aは、アプリケーションサーバ102Aに対して、DNSサーバ114に自動的に通信するよう指示して、スケジュールされたダウンタイムの間、クライアントコンピュータ150、152からのウェブページへのリクエストを、オンラインのウェブサーバ(ウェブサーバ112Bなど)にリダイレクトさせるように構成することができる。1つの実施形態によると、オンラインのウェブサーバは、オフラインにされたウェブサーバに対して冗長機能(すなわち、同じウェブページおよび/またはウェブベース・アプリケーションをホストする)を有し、そのためスケジュールされたダウンタイム中のユーザエクスペリエンスに影響がないことは理解されよう。スケジュールされたダウンタイムが終了する時に、オフラインのウェブサーバは、ウェブサーバをネットワーク負荷分散装置116に再度追加し、以前のURLにリクエストを再度マップするようDNSサーバ114を構成することにより、オンラインに戻してよいことは理解されよう。オペレーション320の後、ルーチン300は終了する。
【0029】
図4を参照しながら、別の実施形態によるコンピュータネットワークのシステムダウンタイムを自動的に管理するルーチン400について記載する。図4に記載のオペレーションは、ウェブベースのアプリケーションまたはプロパティがオフラインであって、かつ、ウェブサーバ自体は、ダウンタイムがスケジュールされていない影響を受けないアプリケーションまたはプロパティに対して機能している状態に、適用可能なことを理解されたい。
【0030】
ルーチン400は、オペレーション405から始まり、オペレーション405において、アプリケーションプログラム102Aを利用して、受信したイベントデータ106Aからスケジュールされたダウンタイムイベントを作成する。図1に関する記載で上述したように、イベントデータ106Aは、スケジュールされたダウンタイムの日付と、停止ウインドウと、ダウンタイムメッセージと、連絡先と、スケジュールされたダウンタイムに関する優先度と、停止中の(すなわちオフラインの)ウェブベース・アプリケーションへのサーバリクエストをリダイレクトするためのリダイレクト先ロケーション(URL)と、を含んでよい。例えば、ウェブサーバ112Cは、組織内のIT部門、人事部門、法務部門用のウェブベース・アプリケーションをホストするように構成できる。ある実施形態によると、ダウンタイムイベントは、(例えば、アプリケーションがCPUリソースを使いすぎた、または、新しいカスタマイズを行ってアプリケーションが不安定になったなどの理由で)人事部門のアプリケーションをオフラインにして、別のウェブサーバに移動できるように構成してもよい。
【0031】
オペレーション405から、ルーチン400は、オペレーション410に続き、オペレーション410において、ダウンタイム管理アプリケーション104Aは、スケジュールされたダウンタイムに先立って、ウェブベースのアプリケーションまたはプロパティへのリクエストを自動的に停止する。例えば、ダウンタイム管理アプリケーション104Aは、アプリケーションサーバ102Aに対して、DNSサーバに自動的に通信するよう指示して、スケジュールされたダウンタイムの30分前に、クライアントコンピュータ150、152から入るリクエストをウェブベースのアプリケーションまたはプロパティに伝えるのを停止させるよう構成することができる。
【0032】
オペレーション410から、ルーチン400は、オペレーション415に続く。オペレーション415において、ダウンタイム管理アプリケーション104Aは、オフラインになるようにスケジュールしたウェブベースのアプリケーションまたはプロパティが停止していることを示すダウンタイム通知メッセージを自動的に通信する。1つの実施形態によると、ダウンタイム通知メッセージは、スケジュールされたダウンタイムの理由と、停止ウインドウと、追加の情報を得るための連絡先(例えば、電話番号やEメールアドレス)と、に関する情報を含んでよい。ダウンタイム通知メッセージは、電子メール(Eメール)メッセージまたはパーソナル・インフォメーション・マネージメントのカレンダのアイテムであってもよく、それらは、スケジュールされたダウンタイム時またはそれに先立って伝えられてもよい。ダウンタイムイベント作成時に、管理者がダウンタイム通知メッセージの通信期間を指定することも可能で、ダウンタイムイベントは、優先度が高いイベントに関しては、スケジュールされたダウンタイムより所定の時間(例えば、24時間)より前に、ダウンタイム通知メッセージを自動的に通信するように、さらに優先度(例えば、低・普通・高)分類を割り当ててもよいことは、理解されたい。
【0033】
オペレーション415から、ルーチン400は、オペレーション420に続き、オペレーション420において、ダウンタイム管理アプリケーション104Aは、オフラインのウェブベースのアプリケーションまたはプロパティへのリクエストを自動的にリダイレクトする。詳細には、ダウンタイム管理アプリケーション104Aは、アプリケーションサーバ102Aに対して、DNSサーバ114に自動的に通信するよう指示して、スケジュールされたダウンタイムの間、クライアントコンピュータ150、152から入るウェブベース・アプリケーションへのリクエストをリダイレクトさせるよう構成することができる。1つの実施形態によると、ウェブベース・アプリケーションに入るリクエストを、そのウェブベース・アプリケーションが、現在、利用不可であることを表示した別のウェブページ宛のURLにリダイレクトしてよい。別の実施形態によると、ウェブベース・アプリケーションへの入来リクエストを、ウェブサーバ上の第2バージョンのウェブベース・アプリケーションにリダイレクトしてよい。詳細には、ウェブベース・アプリケーションをホストするウェブサーバを、ウェブベース・アプリケーションの読み書きバージョンおよび読取専用バージョンの両方を有するように設定してよい。ウェブベース・アプリケーションの読み書きバージョンが(例えば、アップグレードなどのために)オフラインになると、読み書きバージョンのアップグレードが行われている間、ユーザが(データを変更する可能性なしに)データにアクセス可能なように、入ってくるリクエストは、読取専用バージョンに向けてよい。1つの実施形態によると、ウェブベース・アプリケーションの読み書きバージョンおよび読取専用バージョンを、同じURLに関連付けてよく、そうすることによって、システムアドミニストレータが二重のURLを管理する必要がなくなることを理解されたい。この実施形態においては、読み書きバージョンおよび読取専用バージョンの両方のアプリケーションをホストするウェブサーバは、リクエストを行っているユーザにどちらのバージョンを示すべきか(例えば、そのバージョンがアップグレード中でなければ、新しいバージョンまたは読み書きバージョンを示す)自動的に検出するように構成してもよい。その後、ルーチン400は終了する。
【0034】
図5を参照して、別の実施形態によるコンピュータネットワークのシステムダウンタイムを自動的に管理するルーチン500を説明する。ルーチン500は、オペレーション505から始まり、オペレーション505において、ダウンタイム管理アプリケーションプログラム104Aを利用して、障害状態を検出するためにコンピュータネットワーク100内のウェブサーバ112A、112B、112Cのオペレーションを自動的にモニタする。詳細には、ダウンタイム管理アプリケーション104Aは、システムの健康状態診断機能を持つように構成することができ、システムの健康状態診断機能は、ウェブサーバがウェブサイトのコンテンツデータベースに接続可能かどうかなどのシステム障害を検出するため、定期的に(例えば、1時間毎、1日毎)にウェブサーバ112A、112B、112Cをモニタする。
【0035】
オペレーション510において、ウェブサーバ112A、112B、112Cのいずれにも障害状態が存在しないと判断されると、ルーチン500は、オペレーション505に戻り、オペレーション505において、ダウンタイム管理アプリケーション104Aは、障害状態を検出するためにウェブサーバのモニタを続ける。オペレーション510において、ダウンタイム管理アプリケーション104Aが、ウェブサーバ112A、112B、112Cのいずれかに障害状態が存在すると判断すると、ルーチン510はオペレーション515に進み、オペレーション515において、ダウンタイム管理アプリケーション104Aは、障害のあるウェブサーバを停止(すなわち、オフライン)にする判断をする。
【0036】
オペレーション515から、ルーチン500は、オペレーション520に続き、オペレーション520において、ダウンタイム管理アプリケーション104Aは、障害のあるウェブサーバへのリクエストを、コンピュータネットワーク100内の別のサーバ(ダウンタイム管理アプリケーション104Aで、管理者が前もって指定できる)に自動的にリダイレクトする。詳細には、ダウンタイム管理アプリケーション104は、アプリケーションサーバ102Aに対して、DNSサーバ114と自動的に通信するように指示して、クライアントコンピュータ150、152から入ってくるリクエスト(ウェブベース・アプリケーションやウェブページへのリクエストを含む)を別のサーバにリダイレクトさせるよう構成することができる。
【0037】
オペレーション520から、ルーチン500は、オペレーション525に続く。オペレーション525において、ダウンタイム管理アプリケーション104Aは、アプリケーションサーバ102Aに対して、別のサーバに通信して、リクエストがあったウェブページ、ウェブサイトまたはウェブベース・アプリケーションをホストするサーバが停止していることを示すダウンタイム通知メッセージのウェブページを、入ってくるリクエスト全てに対して表示するよう指示する。オペレーション525から、ルーチン500は、オペレーション530に続き、オペレーション530において、ダウンタイム管理アプリケーション104Aは、現在、予定外のダウンタイムの原因となった障害状態に対処する可能性のある関係者に、ダウンタイム通知メッセージを自動的に通信する。例えば、ダウンタイム管理アプリケーション104Aは、障害の診断に基づいてウェブサーバが停止していると判断すると直ちに、オペレーション技術者に自動的にEメールを送信するよう構成してもよい。その後、ルーチン500は、終了する。
【0038】
様々な例示的な実施形態と共に本発明を記載してきたが、請求項の範囲内で多くの変更が可能であることを当業者は理解されるであろう。従って、本発明の範囲は、上記記載にいささかも制限されることはなく、本発明の範囲は、請求項によってのみ決定される。

【特許請求の範囲】
【請求項1】
ウェブベース・アプリケーション(127A)の分散オペレーティングシステムをサポートする複数のサーバを含むコンピュータネットワーク(100)において、システムダウンタイムを自動的に管理する方法であって、
前記コンピュータネットワーク(100)内の少なくとも1つのウェブサーバ(112A)に関するダウンタイムをスケジュールするイベント(106A)を、アプリケーションサーバ(104A)において作成するステップ(305)と、
前記スケジュールされたダウンタイムに、前記複数のサーバに関連付けられたネットワーク負荷分散装置(116)から、前記少なくとも1つのウェブサーバを自動的に取り除くステップ(310)と、
前記少なくとも1つのウェブサーバが停止していることを示すダウンタイム通知メッセージ(106A)を自動的に通信するステップ(315)と、
を含むことを特徴とするシステムダウンタイムを自動的に管理する方法。
【請求項2】
ダウンタイムをスケジュールされた前記少なくとも1つのウェブサーバへのリクエストを、前記スケジュールされたダウンタイムの間、前記イベント(106A)で指定された、そのリクエストを処理するユーアールエル(URL)に、自動的にリダイレクトするステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記スケジュールされたダウンタイムに先立って、ダウンタイムをスケジュールされた前記少なくとも1つのウェブサーバへのリクエストを、少なくとも1つの冗長ウェブサーバ(112B)に、自動的にリダイレクトするステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記スケジュールされたダウンタイムに先立って、前記少なくとも1つのウェブサーバがホストするウェブページ(125A)のダウンタイム通知メッセージを自動的に更新するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記コンピュータネットワークの少なくとも1つのウェブサーバに関してダウンタイムをスケジュールするイベントを作成するステップは、ダウンタイムが始まるようスケジュールされた日付と時刻を含む第1のデータと、ダウンタイムに関連する停止ウインドウの長さを含む第2のデータと、ダウンタイムの理由を含む第3のデータと、ダウンタイムに関連する追加情報を得るための連絡先を含む第4のデータと、ダウンタイムの間、前記少なくとも1つのウェブサーバへのリクエストをリダイレクトするロケーションを含む第5のデータの、少なくとも1つを含むデータの受信ステップ(106A)を含むことを特徴とする請求項1に記載の方法。
【請求項6】
ウェブベース・アプリケーション(127A)の分散オペレーティングシステムをサポートする複数のサーバを含むコンピュータネットワーク(100)において、システムダウンタイムを自動的に管理するシステム(102A)であって、
実行可能なプログラムコード(104A)を記憶するメモリ(12)と、
前記メモリに機能的に結合されたプロセッサ(8)であって、前記プログラムコード(104A)に含まれたコンピュータ実行可能な指示に応答して、
前記コンピュータネットワーク(100)の少なくとも1つのウェブベース・アプリケーション(127A)に関してダウンタイムをスケジュールするイベント(106A)を、アプリケーションサーバ(102A)において作成する(405)ように動作し、
前記スケジュールされたダウンタイムに先立って、ウェブサーバ(112A)上の前記少なくとも1つのウェブベース・アプリケーションへのリクエストを自動的に停止する(410)ように動作し、
かつ、前記少なくとも1つのウェブベース・アプリケーション(127A)へのリクエストを自動的にリダイレクトする(420)ように動作するプロセッサ(8)と、
を備えることを特徴とするシステムダウンタイムを自動的に管理するシステム(102A)。
【請求項7】
前記プロセッサは、前記スケジュールされたダウンタイムに先立って、ウェブサーバ上の前記少なくとも1つのウェブベース・アプリケーションへのリクエストを自動的に停止する際に、前記少なくとも1つのウェブベース・アプリケーションに関連するURLへの入来リクエストを供給することを停止するように動作することを特徴とする請求項6に記載のシステム。
【請求項8】
前記プロセッサは、前記少なくとも1つのウェブベース・アプリケーションに関連付けられたURLにリクエストを自動的にリダイレクトする際に、前記URLから別のURLにリクエストをリダイレクトするよう動作し、前記別のURLは、前記スケジュールされたダウンタイムの間、前記少なくとも1つのウェブベース・アプリケーションが現在、利用できないことを示すウェブページに関連付けられていることを特徴とする請求項6に記載のシステム。
【請求項9】
前記プロセッサは、前記少なくとも1つのウェブベース・アプリケーションにリクエストを自動的にリダイレクトする際に、ウェブサーバ上で、前記少なくとも1つのウェブベース・アプリケーションの第1バージョンと、前記少なくとも1つのウェブベース・アプリケーションの第2バージョンと、を切り替えるよう動作し、前記少なくとも1つのウェブベース・アプリケーションの第1バージョンおよび第2バージョンは、単一のURLに関連付けられていることを特徴とする請求項6に記載のシステム。
【請求項10】
前記少なくとも1つのウェブベース・アプリケーションの第2バージョンは、読取専用バージョンであることを特徴とする請求項9に記載のシステム。
【請求項11】
前記プロセッサは、前記コンピュータネットワーク内の少なくとも1つのウェブベース・アプリケーションに関するダウンタイムをスケジュールするイベントを作成する際に、前記イベントの優先度レベルを特定する優先度データを受信するよう動作し、前記優先度レベルは、前記ウェブベース・アプリケーションのユーザに、前記スケジュールされたダウンタイムをどのように通知するかを決定することを特徴とする請求項6に記載のシステム。
【請求項12】
前記プロセッサは、前記スケジュールされたダウンタイムに先立って、前記少なくとも1つのウェブベース・アプリケーションのユーザに、ダウンタイム通知メッセージを自動的に通信するように、さらに動作することを特徴とする請求項6に記載のシステム。
【請求項13】
前記ダウンタイム通知メッセージは、パーソナル・インフォメーション・マネジャーのカレンダ・アイテムを含むことを特徴とする請求項12に記載のシステム。
【請求項14】
前記ダウンタイム通知メッセージは、電子メール(Eメール)メッセージを含むことを特徴とする請求項12に記載のシステム。
【請求項15】
前記プロセッサは、前記コンピュータネットワーク内の少なくとも1つのウェブベース・アプリケーションに関してダウンタイムをスケジュールするイベントの際に、ダウンタイムの開始をスケジュールされた日付と時刻を含む第1のデータを受信するステップと、前記ダウンタイムに関連した停止ウインドウの長さを含む第2のデータを受信するステップと、前記ダウンタイムの理由を含む第3のデータを受信するステップと、前記ダウンタイムに関連する追加の情報を得るための連絡先を含む第4のデータを受信するステップと、前記ダウンタイム中、前記少なくとも1つのウェブベース・アプリケーションにリクエストをリダイレクトするための別のURLを含む第5のデータを受信するステップ、のうち、少なくとも1つを行うよう動作することを特徴とする請求項6に記載のシステム。
【請求項16】
前記少なくとも1つのウェブベース・アプリケーションは、ユーザアカウントのパスワードを更新するためのアプリケーションであることを特徴とする請求項6に記載のシステム。
【請求項17】
コンピュータ実行可能な指示を含むコンピュータ可読記憶媒体であって、前記コンピュータ実行可能な指示をコンピュータで実行すると、前記コンピュータがコンピュータネットワーク100内のシステムダウンタイムを自動的に管理する方法を実行し、前記方法は、
前記コンピュータネットワーク内の複数のウェブサーバ(112A、112B、112C) のオペレーションを自動的にモニタして、前記複数のウェブサーバに少なくとも1つの障害状態の存在を検出するステップ(505)と、
障害状態が存在する場合(510)には、前記少なくとも1つのウェブサーバが停止したと判断するステップ(515)と、
前記停止したウェブサーバへのリクエストを、前記コンピュータネットワーク内の別のサーバに自動的にリダイレクトするステップ(520)と、
を備えることを特徴とする、コンピュータ実行可能な指示を含むコンピュータ可読記憶媒体。
【請求項18】
前記別のサーバがホストするウェブページにダウンタイム通知メッセージを表示するステップ(525)をさらに含むことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
【請求項19】
前記コンピュータネットワーク内の複数のウェブサーバのオペレーションを自動的にモニタして、前記複数のウェブサーバの少なくとも1つの障害状態の存在を検出するステップは、複数のウェブサーバのオペレーションを定期的にモニタするステップを含むことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
【請求項20】
前記停止したウェブサーバへリクエストを送信したユーザに、ダウンタイム通知メッセージを自動的に通信するステップ(530)をさらに含むことを特徴とする請求項19に記載のコンピュータ可読記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2010−533905(P2010−533905A)
【公表日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2010−514962(P2010−514962)
【出願日】平成20年6月14日(2008.6.14)
【国際出願番号】PCT/US2008/067045
【国際公開番号】WO2009/006005
【国際公開日】平成21年1月8日(2009.1.8)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】