(57)【要約】  マシン上でソフトウェアプログラムが指定された期間の間だけ実行されることを保証するための技術が提供される。サービスウィンドウは、マシン上で実行されることを対象とするソフトウェアプログラムがそのマシン上で実行されることを許される期間を定義する。マシン上で、サービスウィンドウは、使用可能なサービスウィンドウの間だけソフトウェアプログラムがクライアントプロセスによって実行されることを保証するために、マシン上で実行されているクライアントプロセスと連携して働く。
2009521746.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム内でコンテンツイメージの実行を保証するための方法であって、
前記コンピュータシステム上で実行される更新クライアント（５０４）の制御下で、
前記コンピュータシステム上で実行する前記コンテンツイメージ、および前記コンテンツイメージに関連した、前記コンテンツイメージの概算実行時間を指定するコンテンツイメージポリシーを取得するステップ（７０４）と、
現在の時間と、前記サービスウィンドウの開始時間および終了時間と、前記コンテンツイメージの概算実行時間とを比較することによって、前記コンテンツイメージを実行するのにサービスウィンドウが使用可能かどうか判断するステップ（７１０）と、
前記サービスウィンドウが使用可能であると判断すると、前記コンピュータシステム上で前記コンテンツイメージを実行するステップ（７０８）と
を備えることを特徴とする方法。
【請求項２】
前記サービスウィンドウが使用可能でないと判断すると、前記サービスウィンドウが使用可能になるときが通知されることを要求するステップ（７１２）をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記現在時間が前記サービスウィンドウの開始時間と終了時間の間にあるときに前記サービスウィンドウが使用可能になることを特徴とする請求項２に記載の方法。
【請求項４】
前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能であるかどうか判断する際に影響レベルが使用されることを特徴とする請求項１に記載の方法。
【請求項５】
前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能であるかどうか判断する際に優先度レベルが使用されることを特徴とする請求項１に記載の方法。
【請求項６】
前記コンテンツイメージポリシーがさらに、前記サービスウィンドウポリシーを遵守すべきかどうかに関する指示を指定し、さらに、前記サービスウィンドウポリシーを遵守すべきかどうかに関する前記指示は、前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能かどうか判断する際に使用されることを特徴とする請求項１に記載の方法。
【請求項７】
前記コンテンツイメージが使用可能な前記サービスウィンドウの終了時間を超えて実行されていると判断すると、前記コンテンツイメージが前記コンピュータシステムをリブートすることを妨げるステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記コンテンツイメージが使用可能な前記サービスウィンドウの終了時間を超えて実行されていると判断すると、所定の最大実行時間に達するまで前記コンテンツイメージの実行を可能にするステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
少なくとも１つのサービスウィンドウ（４０４）を含むサービスウィンドウポリシー（４０２）を集約的に伝える１つまたは複数のデータ信号であって、マシン上でプログラムを実行するのに前記サービスウィンドウ（４０４）が使用可能であるかどうか判断するために、前記マシン上で実行される更新クライアント（５０４）によって、前記サービスウィンドウポリシー（４０２）が前記マシンにダウンロードされ、開始時間、終了時間および曜日の指示子が使用されるように、それぞれの前記サービスウィンドウが前記開始時間、終了時間および曜日の前記指示子を指定することを特徴とするデータ信号。
【請求項１０】
少なくとも１つの前記サービスウィンドウは、指定された影響レベル以下のプログラムだけが少なくとも１つの前記サービスウィンドウ内で実行されることを許されるように、前記影響レベルをさらに指定することを特徴とする請求項９に記載のデータ信号。
【請求項１１】
少なくとも１つの前記サービスウィンドウは、指定された優先度レベル以上のプログラムだけが少なくとも１つの前記サービスウィンドウ内で実行されることを許されるように、前記優先度レベルをさらに指定することを特徴とする請求項９に記載のデータ信号。
【請求項１２】
少なくとも１つの前記サービスウィンドウは、少なくとも１つの前記サービスウィンドウが有効にされるかどうかの指示をさらに指定することを特徴とする請求項９に記載のデータ信号。
【請求項１３】
前記サービスウィンドウポリシーは、リモートサーバからダウンロードされることを特徴とする請求項９に記載のデータ信号。
【請求項１４】
コンピュータシステム上で実行するコンテンツイメージ、および前記コンテンツイメージに関連した、前記コンテンツイメージの概算実行時間を指定するコンテンツイメージポリシーを取得させること（７０４）と、
現在の時間と、前記サービスウィンドウの開始時間および終了時間と、前記コンテンツイメージの概算実行時間とを比較することによって、前記コンテンツイメージを実行するのにサービスウィンドウが使用可能かどうかの判断させること（７１０）と、
前記サービスウィンドウの間、前記コンピュータシステム上で前記コンテンツイメージを実行させることと
をコンピュータシステムに行わせる内容を格納したことを特徴とするコンピュータ読取り可能媒体。
【請求項１５】
前記サービスウィンドウが使用可能でないと判断すると、前記コンピュータシステムに、前記サービスウィンドウが使用可能になるときが通知されることを要求させる内容をさらに含むことを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１６】
前記サービスウィンドウ内に影響レベルが指定され、さらに、前記影響レベルは、前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能であることを判断するために使用されることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記サービスウィンドウ内にイネーブル／ディセーブルフラグが指定され、さらに、前記イネーブル／ディセーブルフラグは、前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能であることを判断するために使用されることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１８】
前記サービスウィンドウ内に優先度レベルが指定され、さらに、前記優先度レベルは、前記コンテンツイメージを実行するのに前記サービスウィンドウが使用可能であることを判断するために使用されることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記コンテンツイメージが使用可能な前記サービスウィンドウの終了時間を超えて実行されていると判断すると、前記コンテンツイメージが前記コンピュータシステムをリブートすることを前記コンピュータシステムに阻止させる内容をさらに含むことを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記コンテンツイメージが使用可能な前記サービスウィンドウの終了時間を超えて実行されていると判断すると、前記コンピュータシステムに所定の最大実行時間に達するまで前記コンテンツイメージを実行することを可能にさせる内容をさらに含むことを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
マシン上でソフトウェアプログラムが指定期間の間だけ実行されること保証するための技術に関する。
【背景技術】
【０００２】
企業が、何千とはいかないまでも、何百ものコンピュータシステムを有することは珍しくない。これらのコンピュータシステムは一般に、システムソフトウェア（すなわちオペレーティングシステム、ドライバなど）およびアプリケーションソフトウェアを含めて、ソフトウェアの制御下で動作する。
【０００３】
これらの企業にとって、コンピュータシステム上のソフトウェア配布およびソフトウェア更新を適切に管理することは、複雑で高価であり、厄介な、時間のかかる仕事であり得る。たとえば、企業は、ソフトウェアのバージョンおよびリリース、ならびにコンピュータシステム上にある他のリソースを含めて、それぞれのコンピュータシステムにインストールされたソフトウェアを追跡する必要があり得る。それぞれのコンピュータシステムにインストールされたソフトウェアを追跡することによって、企業は、必要に応じて追加のソフトウェア、ソフトウェア更新および他のリソースをどこに配置するか決定し、また適用可能なソフトウェアライセンスにそれが準拠しているかどうか判断することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
多くの企業は、コンピュータシステム上のソフトウェア配布を管理するために、市販のソフトウェア管理製品を使用する。これらのソフトウェア管理製品は、プログラム（たとえばソフトウェアプログラム）実行を特定の日時にスケジューリングすることを可能にする適切なソフトウェア配布およびソフトウェア更新管理の特徴を提供するが、ソフトウェア管理製品は、コンピュータシステム上でプログラムが実際に実行される時間を保証することができない。これは、時間依存型のアプリケーションを利用しており、したがって、指定された期間以外にコンピュータシステムに変更を加えることを許さずまたは許容しない企業にとって問題となる。
【課題を解決するための手段】
【０００５】
マシン上でソフトウェアプログラムが指定期間の間だけ実行されること保証するための技術が提供される。サービスウィンドウは、マシン上で実行されることを対象とするソフトウェアプログラムがそのマシン上で実行されることが許される期間を定義する。マシン上で、サービスウィンドウは、使用可能なサービスウィンドウの間だけクライアントプロセスによってソフトウェアプログラムが実行されることを保証するために、マシン上で実行されているクライアントプロセスと連携して働く。
【０００６】
この要約は、以下の詳細な説明でさらに述べられる選択された概念を簡略化された形で述べるために提供されている。この要約は、特許請求の範囲中に記載された主題の主な特徴または本質的な特徴を識別するためのものではなく、また特許請求の範囲中に記載された主題の範囲を定める助けとして使用するためのものでもない。
【発明を実施するための最良の形態】
【０００７】
ソフトウェアプログラムがコンピュータシステム（本明細書では「マシン」とも呼ばれる）上で指定された期間の間だけ実行されることを保証するための様々な技術が提供される。サービスウィンドウは、１つまたは複数のマシンの特定のグループ（本明細書では「集合」とも呼ばれる）を対象とするソフトウェアプログラム（たとえばオペレーティングシステム、ウイルス対策プログラム、管理プログラム、ソフトウェアプログラムの更新および他のタイプのコンテンツ）が実行されることを許される期間を定義する。それぞれのマシン上で、サービスウィンドウは、更新クライアントによるソフトウェアプログラムの実行が、使用可能なサービスウィンドウの間だけ行われることを保証するために、マシン上で実行されている更新クライアントなどのクライアントプロセスと連携して働く。このように、サービスウィンドウは、プログラムがマシン（すなわちクライアントおよび／またはサーバマシン）上でその環境内で実行されることを許されるときを制御する能力を管理者に提供する。たとえば、管理者は、彼または彼女の環境内でマシン集合内の各マシンに展開する１つのサービスウィンドウまたは複数のサービスウィンドウを定義することができる。サービスウィンドウは、展開されるとき、これらのマシンのそれぞれを対象とするソフトウェアプログラムおよび更新が、指定されたサービスウィンドウのうちの１つのサービスウィンドウ内だけで実行されることを可能にする。
【０００８】
一の実施形態では、サービスウィンドウは、日をまたがってもよい開始および終了時を有する時間窓を指定する。指定された時間窓は、プログラムの実行が許される期間を示す。たとえば、管理者は、マシン上の更新クライアントが、対象とされたソフトウェアプログラムおよびソフトウェア更新を実行することができる週の特定の時間を指定するために、サービスウィンドウを使用することができる。ソフトウェアプログラムは、サービスウィンドウが使用可能になるときに、サービスウィンドウの間、実行されてもよい。ソフトウェアプログラムの文脈では、サービスウィンドウは、（１）現在の時間がサービスウィンドウに指定された時間窓内にあり、（２）ソフトウェアプログラムを実行するのに十分な時間（すなわち、現在の時間から時間窓の最後までの時間の長さ）がサービスウィンドウ内に残っているときに、使用可能であると見なされる。管理者は、ソフトウェアプログラムに概算実行時間を割り当てることができる。これは、更新クライアントが、ソフトウェアプログラムを実行するのに十分な時間があるかどうか判断することを可能にする。ソフトウェアプログラムについて概算実行時間が提供されない場合、更新クライアントは、概算実行時間にデフォルト値を割り当ててもよい。たとえば、デフォルト値は、例を挙げると、時刻、ソフトウェアプログラムのサイズ、マシン上の現在の負荷などの要因に基づいてもよい。
【０００９】
一の実施形態では、サービスウィンドウが使用可能である間に実行されており（すなわち、ソフトウェアプログラムがサービスウィンドウの間に実行されており）、サービスウィンドウが終了する時間を超えて実行され続けるソフトウェアプログラムは、ソフトウェアプログラムの実行が終了するまで、または所定の最大実行時間に到達するまで実行されることが許される。ソフトウェアプログラムが完了せずに所定の実行時間に達する場合には、ソフトウェアプログラムを「孤立させる」（ｏｒｐｈａｎ）ことができる。あるいは、他の実施形態では、サービスウィンドウを超えて実行し続けるソフトウェアプログラムは、たとえば更新クライアントによって終了させることができる。一の実施形態では、使用可能サービスウィンドウが終了する時間を超えて実行され続けるソフトウェアプログラムは、マシンをリブートすることを許されない。たとえば、ソフトウェアプログラムは、マシンのリブートを実施する命令を含んでもよい。サービスウィンドウが使用可能な間にこのソフトウェアプログラムが実行を開始し、サービスウィンドウの終了後、この命令の実行（すなわちリブートの実施）を試みる場合、このソフトウェアプログラムは、リブート命令の実行を妨げられる（たとえば、リブート動作は阻止され、実施されない）。一の実施形態では、ソフトウェアプログラムは、リブート制限無効の関連の指示（indication）を有してもよい。たとえば、管理者は、サービスウィンドウ終了後にソフトウェアプログラムがリブートを試みる場合でもソフトウェアプログラムがマシンをリブートすることが許されることを示すための「リブート無効フラグ」を設定することが可能であり得る。ソフトウェアプログラムにリブート無効フラグが設定される場合、ソフトウェアプログラムは、サービスウィンドウ終了後にリブート命令を実行することを妨げられない。
【００１０】
一の実施形態では、サービスウィンドウは、影響レベルを指定してもよい。たとえば、影響レベルは、「１」（低い）と「１０」（高い）の間の範囲として指定され得る。管理者は、サービスウィンドウの影響レベルを指定することができる。同様に、管理者は、ソフトウェアプログラムに影響レベルを割り当てることができ、その場合、影響レベルは、ソフトウェアプログラムがマシンに及ぼす影響を示すものである。サービスウィンドウについて影響レベルが指定される場合は、サービスウィンドウの影響レベルが等しくまたは小さいソフトウェアプログラムだけをサービスウィンドウ内で実行してもよい。ソフトウェアプログラムについて影響レベルが提供されない場合は、更新クライアントは、ソフトウェアプログラムにデフォルトの影響レベルを割り当ててもよい。たとえば、更新クライアントは、ソフトウェアプログラムに最も高い影響レベルを割り当ててもよい。
【００１１】
一部の実施形態では、サービスウィンドウは、優先度レベルを指定してもよい。たとえば、優先度レベルは、「１」（低い）と「１０」（高い）の間の範囲として指定され得る。管理者は、サービスウィンドウの優先度レベルを指定することができる。同様に、管理者は、ソフトウェアプログラムに優先度を割り当てることができ、その場合、優先度は、ソフトウェアプログラムの重要性を示すものである。たとえば、ウイルス攻撃修正プログラムは、単純なプログラム機能拡張より重要であり、ウイルス攻撃修正には、機能拡張よりも高い優先度が割り当てられる可能性が高い。サービスウィンドウについて優先度が指定される場合は、サービスウィンドウの優先度レベル以上の優先度であるソフトウェアプログラムだけが、サービスウィンドウ内で実行されることができる。ソフトウェアプログラムについて影響レベルが提供されない場合は、更新クライアントは、ソフトウェアプログラムにデフォルトの優先度を割り当ててもよい。たとえば、更新クライアントは、ソフトウェアプログラムに最も低い優先度を割り当ててもよい。一の実施形態では、ソフトウェアプログラムは、使用可能なサービスウィンドウの間、その優先順位に基づいて実行される。たとえば、サービスウィンドウ内で複数のソフトウェアプログラムを実行することができる場合、ソフトウェアプログラムは、それぞれのプログラムに割り当てられた優先度に基づいて、より高い優先度のプログラムからより低い優先度のプログラムへと実行される。
【００１２】
一の実施形態では、サービスウィンドウは、サービスウィンドウが可能とされるかどうか（すなわち、サービスウィンドウがアクティブかどうか）指定してもよい。たとえば、サービスウィンドウは、サービスウィンドウが有効にされるかどうか示すために使用し得るイネーブル／ディセーブルフラグを含んでもよい。管理者は、サービスウィンドウが有効とされ又は無効とされることを示すためにイネーブル／ディセーブルフラグを使用することができる。サービスウィンドウが有効にされる場合は、ソフトウェアプログラムの実行時、サービスウィンドウは、更新クライアントによって考慮される。その反対に、サービスウィンドウが無効にされる場合は、ソフトウェアプログラムの実行時、サービスウィンドウは、更新クライアントによって考慮されない。
【００１３】
一の実施形態では、マシン上の１つまたは複数のサービスウィンドウは、無効にされてもよい。ソフトウェアプログラムは、サービスウィンドウの適用を無効にするために使用されるサービスウィンドウ無効指示子（indicator）をこのソフトウェアプログラムに関連付けているかもしれない。サービスウィンドウ無効指示子が設定されまたは存在する場合は、更新クライアントは、サービスウィンドウを適用せずにソフトウェアプログラムを実行する。別の言い方をすると、サービスウィンドウ無効指示子が設定される場合は、ソフトウェアプログラムは、使用可能なサービスウィンドウをチェックせずに実行される。この特徴は、たとえば、重要な業務ニーズに基づいて、セキュリティソフトウェアプログラムや更新など、重要なソフトウェアプログラムを実行するために、サービスウィンドウを無効にするオプションを管理者に提供する。
【００１４】
一の実施形態では、サービスウィンドウおよびソフトウェアプログラムは、ＭＩＣＲＯＳＯＦＴ社のシステム管理サーバ（ＳＭＳ：Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）によって提供されるものなど、ソフトウェア配布基盤を使用してマシンに展開されてもよい。ＳＭＳアーキテクチャは、ＷＩＮＤＯＷＳ（登録商標）ベースマシンの大きいグループの変更および構成管理の包括的な解決策を提供する。ＳＭＳは、ネットワーク上でマシンを管理し、中央位置からマシンにソフトウェアを配布し、ネットワーク上のマシンを検出し、ソフトウェアおよびハードウェア構成を追跡し、遠隔位置からマシン上の他のタスクを実施する能力を管理者に提供する。
【００１５】
ＳＭＳ基盤は、サービスウィンドウおよびソフトウェアプログラムをマシンに展開するための１つの適切なパラダイムを構成するにすぎない。サービスウィンドウおよびソフトウェアプログラムをマシンに展開するために、よく知られている様々なソフトウェア構成およびリリース管理システムのいずれかによって提供される他のパラダイムが使用されてもよいことが当業者には理解されよう。サービスウィンドウおよびソフトウェアプログラムは、ソフトウェア構成およびリリース管理システムによって提供されるサービスを使用せずにマシンに展開されてもよいことも当業者には理解されよう。
【００１６】
図１は、サービスウィンドウ展開システムが動作し得る環境の例を示すハイレベルブロック図である。この動作環境は、好適な動作環境の一例にすぎず、サービスウィンドウ展開システムの使用または機能性の範囲に関する限定を示唆することを意図するものではない。示されるように、この環境は、管理サーバ１０２、配布サーバ１０４及びそれぞれがネットワーク１０８に結合されたマシン１０６ａ〜ｎの集合１０６を備える。単純にするために図１には１つの管理サーバ、配布サーバおよび集合だけが示されているが、管理サーバおよび配布サーバはそれぞれ、複数のサーバで構成されてもよく、また他のマシン集合が存在してもよいことが当業者には理解されよう。本明細書では、用語「接続された」、「連結された」またはその変形物は、２つ以上の要素間の直接的または間接的ないずれかの接続または連結を意味し、要素間の連結または接続は、物理的であっても、論理的であっても、その組合せであってもよい。
【００１７】
一般的に述べると、管理サーバは、マシン集合の構成管理およびリリース管理を容易にする。管理サーバは、サービスウィンドウおよびコンテンツイメージ（すなわちソフトウェアプログラムイメージ）をマシン集合に展開するためのポリシーを管理者が作成することができる管理コンソールを提供する。一の実施形態では、管理コンソールは、ウィザード、グラフィカルユーザインターフェース、及び／またはコンテンツ配布ポリシー、コンテンツイメージポリシーおよびサービスウィンドウポリシーなどのポリシーを作成する能力を管理者に提供する他の適切なエディタを提供してもよい。たとえば、ウィザードは、管理者に複数の単純な質問をしてもよく、また尋ねた質問に対する応答を使用して、ウィザードは、管理者に適したポリシーを構築してもよい。コンテンツ配布ポリシーは、対象とされたマシン集合へのコンテンツイメージ配布のプロパティを含む。コンテンツイメージポリシーは、コンテンツイメージに関連付けられ、関連するコンテンツイメージのプロパティを含む。サービスウィンドウポリシーは、マシン集合を対象としており、含まれたサービスウィンドウの各プロパティを含む、１つまたは複数のサービスウィンドウを含んでいる。管理サーバは、データベースなどの永続的データストア内で、ポリシーおよびコンテンツイメージを維持してもよい。
【００１８】
一般的に述べると、配布サーバは、マシンがコンテンツイメージを取得することができる配布点として働く。たとえば、管理サーバは、その１つの配布サーバまたは複数の配布サーバにコンテンツイメージを配布することができ、個々のマシンは、配布サーバからコンテンツイメージを取得することができる。
【００１９】
一般的に述べると、集合は、１つまたは複数のマシンのグループを定義する。たとえば、「データセンタ」であるすべてのマシンを、１つの集合内にあると定義してもよい。同様に、特定の場所にあるすべてのマシン（たとえば建物４のフロア１〜３のすべてのマシン）を、１つの集合内にあると定義してもよい。
【００２０】
一般的なシナリオでは、管理者は、ポリシー（たとえばコンテンツ配布ポリシー、コンテンツイメージポリシーおよびサービスウィンドウポリシー）を作成し、ポリシーが適用される、対象とされるマシン集合を指定するために、管理サーバの管理者コンソールを使用する。たとえば、管理者は、マシン集合に展開される各コンテンツイメージのコンテンツ配布ポリシーを作成することができる。それぞれのコンテンツイメージについて、管理者は、コンテンツイメージのプロパティを指定するためのコンテンツイメージポリシーを作成し／更新し／修正することができる。管理者は、マシン集合に展開されるポリシーにおいて指定されたサービスウィンドウを含めて、サービスウィンドウポリシーを作成し／更新し／修正することもできる。ポリシーが作成されると、管理者は、適切な配布サーバにコンテンツイメージを配布するための管理サーバを使用することができる。それぞれのマシン上で、更新クライアントなどのクライアントプロセスは、マシンを対象とする新しいポリシーについて管理サーバに定期的に問い合わせる。これに応答して、マシンは、管理サーバからいずれかの新しいコンテンツ配布ポリシーおよびサービスウィンドウポリシーを受け取る。次いで、各マシン上のクライアントプロセスは、新しく受け取られたポリシーを処理する。たとえば、クライアントプロセスは、管理サーバから受け取られた新しいコンテンツ配布ポリシーに基づいて適切な配布サーバからコンテンツイメージおよびその関連するコンテンツイメージポリシーを取得する。次いで、各マシン上のクライアントプロセスは、その関連するコンテンツイメージポリシーおよびサービスウィンドウポリシーに基づいて、取得されたコンテンツイメージを実行する。
【００２１】
一般的に述べると、ネットワークは、たとえば接続されたマシン集合、管理サーバおよび配布サーバの間の電子コンテンツの送信を容易にする通信リンクである。一の実施形態では、ネットワークは、インターネットを含む。ネットワークは、ローカルエリアネットワーク、広域ネットワーク、２地点間のダイアルアップ接続など、１つまたは複数の他のタイプのネットワークで構成されてもよいことが理解されよう。
【００２２】
ターゲットマシン、管理サーバおよび配布サーバを含めて、サービスウィンドウ展開システムが実施されるコンピューティング装置は、中央演算処理装置、メモリ、入力装置（たとえばキーボードおよびポインティング装置）、出力装置（たとえば表示装置）および記憶装置（たとえばディスクドライブ）を含んでもよい。メモリおよび記憶装置は、サービスウィンドウ展開システムを実施する命令を含み得るコンピュータ読取り可能媒体である。さらに、データ構造およびメッセージ構造は、通信リンク上の信号など、データ伝送媒体を介して格納または送信されてもよい。インターネット、ローカルエリアネットワーク、広域ネットワーク、２地点間のダイアルアップ接続、携帯電話網など、様々な通信リンクが使用されてもよい。
【００２３】
このシステムの実施形態は、パーソナルコンピュータ、サーバコンピュータ、手持ち式またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル家電、デジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などを含む様々な動作環境内で実施されてもよい。コンピュータシステムは、携帯電話、携帯情報端末、スマートフォン、パーソナルコンピュータ、プログラマブル家電、デジタルカメラなどであってもよい。
【００２４】
このシステムは、１つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で述べることができる。一般に、プログラムモジュールは、特定のタスクを実施し、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。一般に、プログラムモジュールの機能性は、様々な実施形態中で望まれるように組み合わされることも、分散されることもある。
【００２５】
図２は、一の実施形態による、コンテンツ配布ポリシーの例を示すブロック図である。コンテンツ配布ポリシーは、対象とされたマシン集合上でダウンロードされ実行される各コンテンツイメージについて、管理者によって作成されてもよく、各マシンによるコンテンツイメージのダウンロードを左右する（ｇｏｖｅｒｎ）１つまたは複数のプロパティを含む。示されるように、コンテンツ配布ポリシー２０２は、コンテンツイメージがマシンへのダウンロードに使用可能であるときを示す表示、それ以降はコンテンツイメージがマシンへのダウンロードにもはや使用不可能であるときを示す表示、コンテンツイメージをダウンロードすることができる場所の表示（たとえばコンテンツイメージを取得することができる配布サーバなど）を含む。
【００２６】
図３は、一の実施形態による、コンテンツイメージポリシーの例を示すブロック図である。コンテンツイメージポリシーは、管理者によって作成されてもよく、対応するコンテンツイメージの１つまたは複数のプロパティを含む。示されるように、コンテンツイメージポリシー３０２は、優先度レベルと、影響レベルと、リブート無効フラグと、サービスウィンドウポリシー遵守フラグと、実行ステートメントと、概算実行時間とを含む。優先度レベルは、提供される場合、対応するコンテンツイメージの優先度を指定する。影響レベルは、提供される場合、対応するコンテンツイメージがマシンに及ぼす、影響のレベルの推定である。リブート無効フラグは、提供される場合、サービスウィンドウの外で実行される間、対応するコンテンツイメージがマシンをリブートすることを許されるべきかどうか示す。サービスウィンドウポリシー遵守フラグは、提供される場合、サービスウィンドウポリシーが、対応するコンテンツイメージに適用されるかどうか示す。実行ステートメントは、対応するコンテンツイメージが実行されるやり方を指定する。概算実行時間は、対応するコンテンツイメージを実行するのに必要とされる、時間量の概算である。
【００２７】
図４は、一の実施形態による、サービスウィンドウポリシーの例を示すブロック図である。サービスウィンドウポリシーは、管理者によって、その環境内のマシン上のコンテンツイメージ実行を制御するために作成されてもよい。サービスウィンドウポリシーは、１つまたは複数のサービスウィンドウ、たとえば、サービスウィンドウ４０４ａ〜ｇを含む。したがって、サービスウィンドウポリシーは、マシン集合上で複数のサービスウィンドウが対象とされる（またはもはや対象とされない）ことを可能にする。サービスウィンドウポリシー内の各サービスウィンドウは、サービスウィンドウを定義し、定義されたサービスウィンドウのプロパティを含む。図４に示されたように、サービスウィンドウは、開始時間と、終了時間と、曜日と、イネーブル／ディセーブルフラグと、影響レベル及び優先度レベルとを備える。開始時間および終了時間は、定義されたサービスウィンドウのそれぞれ開始時間および終了時間を指定する。曜日は、定義されたサービスウィンドウが使用可能である（すなわちアクティブである）曜日を示す。イネーブル／ディセーブルフラグは、提供される場合、サービスウィンドウが有効にされるか、それとも無効にされるか示す。たとえば、サービスウィンドウを無効にすることは、サービスウィンドウポリシーからサービスウィンドウを削除することに類似する。影響レベルは、提供される場合、定義されたサービスウィンドウの間に実行することが許されるコンテンツイメージの最大影響レベルを指定する。優先度レベルは、提供される場合、定義されたサービスウィンドウの間に実行することが許されるコンテンツイメージの最小優先度を指定する。１つまたは複数のプロパティはオプションであり、サービスウィンドウについて提供されなくてもよいことが当業者には理解されよう。さらに、サービスウィンドウポリシーに含まれたサービスウィンドウは、異なるプロパティを含んでもよい。別の言い方をすると、サービスウィンドウポリシーに含まれたサービスウィンドウは、同じプロパティを含む必要はない。
【００２８】
図５は、一の実施形態による、クライアントマシンの選択されたコンポーネントを示すブロック図である。示されるように、クライアントマシン１０６ａは、コンテンツイメージ５０２、対応するコンテンツイメージポリシー３０２、サービスウィンドウポリシー４０２及び更新クライアント５０４を備える。コンテンツイメージは、マシン上で実行されるソフトウェアプログラムイメージである。コンテンツイメージポリシーは、対応するコンテンツイメージのプロパティを含む。更新クライアントは、クライアントマシン上で実行されるクライアントプロセスであり、新しいポリシーについて管理サーバに問い合わせ、管理サーバから受け取られたポリシーを処理するように機能して、たとえばコンテンツイメージおよびその対応するコンテンツイメージポリシーをダウンロードし、コンテンツイメージポリシーおよびサービスウィンドウポリシーに基づいてコンテンツイメージを実行する。
【００２９】
図６は、一の実施形態による、適用可能なポリシーを取り出すためにクライアントマシン上で更新クライアントを処理することを示すフローチャートである。ブロック６０２で、更新クライアントは、クライアントマシンを対象とする新しいポリシーについて管理サーバに問い合わせる。ブロック６０４で、更新クライアントは、管理サーバから新しいポリシーを受け取る。ブロック６０６で、更新クライアントは、管理サーバから受け取られる新しいポリシーを処理する。たとえば、更新クライアントは、コンテンツ配布ポリシーの内容に基づいて対応するコンテンツイメージおよびそのコンテンツイメージポリシーをダウンロードすることによってコンテンツ配布ポリシーを処理し、クライアントマシン上にダウンロードすると、コンテンツイメージポリシーおよびサービスウィンドウポリシーに基づいてコンテンツイメージを実行してもよい。
【００３０】
本明細書で開示されたこのおよび他の処理および方法について、その処理および方法で実施される諸機能は、異なる順序で実施されてもよいことが当業者には理解されよう。さらに、略述された諸ステップは、例示的なものにすぎず、諸ステップの一部は、任意選択であり、より少ないステップと組合せされることも、追加のステップへと拡大されることもある。
【００３１】
図７は、一の実施形態による、コンテンツイメージを実行するためのクライアントマシン上の更新クライアントの処理を示すフローチャートである。管理サーバから受け取られ、クライアントマシン上で処理される必要がある各コンテンツ配布ポリシーについて（ブロック７０２）、更新クライアントは、すべてのコンテンツ配布ポリシーが処理される（ブロック７１４）まで、ブロック７０４から７１２を実施する。ブロック７０４で、更新クライアントは、コンテンツ配布ポリシーに基づいてコンテンツイメージおよび関連するコンテンツイメージポリシーを取得する。ブロック７０６で、更新クライアントは、コンテンツイメージポリシーをチェックして、サービスウィンドウポリシーが適用されるかどうか判断する。コンテンツイメージポリシーが、コンテンツイメージの実行にサービスウィンドウポリシーが適用されないと指定する場合は、ブロック７０８で、更新クライアントは、クライアントマシン上のコンテンツイメージを実行し、次のコンテンツ配布ポリシーの処理へと進む。そうではなく、更新クライアントがコンテンツイメージポリシーから、コンテンツイメージの実行にサービスウィンドウポリシーが適用されると判断する場合は、ブロック７１０で、更新クライアントは、サービスウィンドウが使用可能かどうか判断するために、サービスウィンドウポリシーをチェックする。サービスウィンドウが使用可能である場合は、更新クライアントは、サービスウィンドウが使用可能な間、コンテンツイメージを実行し（ブロック７０８）、次のコンテンツ配布ポリシーの処理へと進む。そうではなく、更新クライアントが、サービスウィンドウポリシー内に使用可能なサービスウィンドウがないと判断する場合は、ブロック７１２で、更新クライアントは、サービスウィンドウが使用可能になるときに通知される要求を出し、次のコンテンツ配布ポリシーの処理へと進む。たとえば、更新クライアントは、サービスウィンドウが使用可能になるときに呼び出されるようにクライアントマシン上で実行されるオペレーティングシステムへの割込みを設定してもよく、または使用可能なサービスウィンドウについて定期的にポーリングしてもよい。
【００３２】
図８は、一の実施形態による、使用可能なサービスウィンドウを識別するためのクライアントマシン上の更新クライアントの処理を示すフローチャートである。ブロック８０２で、更新クライアントは、コンテンツイメージの影響レベルを決定する。一の実施形態では、コンテンツイメージについて影響レベルが提供されない場合、更新クライアントは、コンテンツイメージにデフォルト影響レベルを割り当てる。ブロック８０４で、更新クライアントは、コンテンツイメージの影響レベルを満たすサービスウィンドウポリシーに定義されたすべてのサービスウィンドウを識別する。たとえば、更新クライアントは、コンテンツイメージの影響レベルと少なくとも同じ高さの影響レベルが割り当てられたすべてのサービスウィンドウを識別する。ブロック８０６で、更新クライアントは、コンテンツイメージに割り当てられた優先度を判断する。一の実施形態では、コンテンツイメージに優先度が割り当てられない場合に、更新クライアントは、コンテンツイメージにデフォルト優先度を割り当てる。ブロック８０８で、更新クライアントは、コンテンツイメージに割り当てられた優先度をも満たす、影響レベルを満たすサービスウィンドウを識別する。たとえば、影響レベルを満たすサービスウィンドウから、更新クライアントは、コンテンツイメージに割り当てられた優先度以下の優先度レベルが割り当てられたすべてのサービスウィンドウを識別する。次いで、識別された各サービスウィンドウについて（ブロック８１０）、更新クライアントは、識別されたすべてのサービスウィンドウが処理される（ブロック８１６）まで、ブロック８１２および８１４を実施する。ブロック８１２では、更新クライアントは、コンテンツイメージを実行するのにサービスウィンドウが使用可能かどうか判断するために、サービスウィンドウをチェックする。たとえば、更新クライアントは、コンテンツイメージを実行するのに十分な時間がサービスウィンドウ内に残っていることを判断するために、サービスウィンドウをチェックできる。コンテンツイメージを実行するのにサービスウィンドウが使用可能な場合、ブロック８１４で、更新クライアントは、サービスウィンドウが使用可能であることを示し、次に識別されたサービスウィンドウの処理へと進む。そうではなく、コンテンツイメージを実行するのにサービスウィンドウが使用可能でない場合は、更新クライアントは、識別された次のサービスウィンドウの処理へと進む。
【００３３】
本主題は、構造的特徴および／または方法論的行為に特有の言語で述べたが、添付の特許請求の範囲に定義された主題は、上述された特定の特徴または行為に必ずしも限定されないことを理解されたい。より正確に述べると、上述された特定の特徴および行為は、特許請求範囲の実施の例示的な形として開示されている。
【図面の簡単な説明】
【００３４】
【図１】サービスウィンドウ展開システムが動作し得る環境の例を示すハイレベルブロック図である。
【図２】一の実施形態による、コンテンツ配布ポリシーの例を示すブロック図である。
【図３】一の実施形態による、コンテンツイメージポリシーの例を示すブロック図である。
【図４】一の実施形態による、サービスウィンドウポリシーの例を示すブロック図である。
【図５】一の実施形態による、クライアントマシンの選択されたコンポーネントを示すブロック図である。
【図６】一の実施形態による、適用可能なポリシーを取り出すためのクライアントマシン上の更新クライアントの処理を示すフローチャートである。
【図７】一の実施形態による、コンテンツイメージを実行するためのクライアントマシン上の更新クライアントの処理を示すフローチャートである。
【図８】一の実施形態による、使用可能なサービスウィンドウを識別するためのクライアントマシン上の更新クライアントの処理を示すフローチャートである。
【図１】
2009521746.tif 000003
【図２】
2009521746.tif 000004
【図３】
2009521746.tif 000005
【図４】
2009521746.tif 000006
【図５】
2009521746.tif 000007
【図６】
2009521746.tif 000008
【図７】
2009521746.tif 000009
【図８】
2009521746.tif 000010
【国際調査報告】
2009521746.tif 000011
2009521746.tif 000012