(57)【要約】【課題】管理装置からクライアントに対して信頼性高くコンテンツを配布し得る情報処理システム、管理装置、プログラム、情報処理方法及び管理方法を提案する。【解決手段】１又は複数のクライアントと、クライアントを管理する管理装置とから構成され、管理装置がクライアントにコンテンツを配布する情報処理システムにおいて、管理装置が、コンテンツの配布対象のクライアントに対して、クライアントごとにそれぞれ割り当てた配布時刻にコンテンツを配布し、クライアントが、配布時刻が規定されたスクリプトに基づいて、当該配布時刻にポートを開き、コンテンツを受領後にポートを閉じるようにした。【選択図】図９
2010049537.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のクライアントと、前記クライアントを管理する管理装置とから構成され、前記管理装置が前記クライアントにコンテンツを配布する情報処理システムにおいて、
前記管理装置は、
前記コンテンツの配布対象の前記クライアントに対して、前記クライアントごとにそれぞれ割り当てた配布時刻に前記コンテンツを配布し、
前記クライアントは、
前記配布時刻が規定されたスクリプトに基づいて、当該配布時刻にポートを開き、前記コンテンツを受領後に前記ポートを閉じる
ことを特徴とする情報処理システム。
【請求項２】
前記クライアントは、
前記コンテンツを受領後に前記スクリプトを削除する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記管理装置は、
外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当て、
割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成し、生成した各前記スクリプトのファイルを、それぞれ当該スクリプトにおいて規定された前記コンテンツの配布時刻以前に、対応する前記クライアントに配布する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記スクリプトには、臨時アカウントの生成ルールが規定され、
前記クライアントは、
前記スクリプトに規定された前記配布時刻になると、当該生成ルールに従って前記臨時アカウントを生成し、
前記管理装置は、
前記クライアントに対する前記コンテンツの配布時刻になると、当該クライアントに配布した前記スクリプトにおいて規定された前記生成ルールと同じ生成ルールに従って前記臨時アカウントを生成し、生成した前記臨時アカウントを用いて前記クライアントに前記コンテンツを配布する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記クライアントは、
前記コンテンツを受領後に前記臨時アカウントを削除する
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記クライアントは、
前記ポートを開いた後、所定のタイムアウト時間内に前記管理装置から前記コンテンツが配布されなかったときには、当該ポートを閉じる
ことを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記クライアントは、
前記管理装置から配布された前記スクリプトを受領すると、当該スクリプトにおいて規定された前記コンテンツの配布時刻を再設定するための再設定画面を表示し、
前記スクリプトにおいて規定されている前記コンテンツの配布時刻を、前記再設定画面を用いて再設定された前記コンテンツの配布時刻に更新すると共に、再設定された前記コンテンツの配布時刻を前記管理装置に通知し、
前記管理装置は、
再設定された前記配布時刻に前記コンテンツを配布する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項８】
１又は複数のクライアントに対してコンテンツを配布する管理装置において、
外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当てるマネージャ制御部と、
割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成するコンテンツスクリプトファイル生成部と、
生成した各前記スクリプトのファイルを、それぞれ当該スクリプトにおいて規定された前記コンテンツの配布時刻以前に、対応する前記クライアントに電子メールにて配布するメール処理部と
を備えることを特徴とする管理装置。
【請求項９】
予め規定された配布時刻に外部装置と接続されたポートを開く第１のステップと、
前記配布時刻に前記外部装置から送信されるコンテンツを受領後に前記ポートを閉じる第２のステップと
を備える処理を情報処理装置に実行させることを特徴とするプログラム。
【請求項１０】
１又は複数のクライアントと、前記クライアントを管理する管理装置とから構成され、前記管理装置が前記クライアントにコンテンツを配布する情報処理システムにおける情報処理方法において、
前記管理装置が、前記コンテンツの配布対象の前記クライアントに対して、前記クライアントごとにそれぞれ割り当てた配布時刻に前記コンテンツを配布し、前記クライアントが、前記配布時刻が規定されたスクリプトに基づいて、当該配布時刻にポートを開く第１のステップと、
前記クライアントが、前記コンテンツを受領後に前記ポートを閉じる第２のステップと
を備えることを特徴とする情報処理方法。
【請求項１１】
前記第２のステップでは、
前記クライアントが、前記コンテンツを受領後に前記スクリプトを削除する
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記管理装置は、
外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当て、
割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成し、生成した各前記スクリプトのファイルを、前記第１のステップの前に、対応する前記クライアントに配布する
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１３】
前記スクリプトには、臨時アカウントの生成ルールが規定され、
前記第１のステップでは、
前記クライアントが、前記スクリプトに規定された前記配布時刻になると、当該生成ルールに従って前記臨時アカウントを生成し、
前記管理装置が、
前記クライアントに対する前記コンテンツの配布時刻になると、当該クライアントに配布した前記スクリプトにおいて規定された前記生成ルールと同じ生成ルールに従って前記臨時アカウントを生成し、生成した前記臨時アカウントを用いて前記クライアントに前記コンテンツを配布する
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１４】
前記第２のステップでは、
前記クライアントが、前記コンテンツを受領後に前記臨時アカウントを削除する
ことを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記第２のステップでは、
前記クライアントが、前記ポートを開いた後、所定のタイムアウト時間内に前記管理装置から前記コンテンツが配布されなかったときには、当該ポートを閉じる
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１６】
前記クライアントは、
前記管理装置から配布された前記スクリプトを受領すると、当該スクリプトにおいて規定された前記コンテンツの配布時刻を再設定するための再設定画面を表示し、
前記スクリプトにおいて規定されている前記コンテンツの配布時刻を、前記再設定画面を用いて再設定された前記コンテンツの配布時刻に更新すると共に、再設定された前記コンテンツの配布時刻を前記管理装置に通知し、
前記管理装置は、
再設定された前記配布時刻に前記コンテンツを配布する
ことを特徴とする請求項１２に記載の情報処理方法。
【請求項１７】
１又は複数のクライアントに対してコンテンツを配布する管理方法において、
外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当てる第１のステップと、
割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成する第２のステップと、
生成した各前記スクリプトのファイルを、それぞれ当該スクリプトにおいて規定された前記コンテンツの配布時刻以前に、対応する前記クライアントに電子メールにて配布する第３のステップと
を備えることを特徴とする管理方法。
【請求項１８】
予め規定された配布時刻に外部装置と接続されたポートを開く第１のステップと、
前記配布時刻に前記外部装置から送信されるコンテンツを受領後に前記ポートを閉じる第２のステップと
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、管理装置、プログラム、情報処理方法及び管理方法に関し、例えば管理サーバ及び複数のクライアントから構成される情報処理システムに適用して好適なものである。
【背景技術】
【０００２】
従来、管理サーバからクライアントに対してエージェントレスでソフトウェアをプッシュ配布する方法として、ＷＭＩ（Windows（登録商標） Management Instrumentation）などのリモート管理用インタフェースを利用する方法がある。この方法は、特にエージェント（クライアントの各種管理を行うためにクライアントにインストールされる管理用プログラム）自体をクライアントにプッシュ配布する方法として広く用いられている。
【０００３】
なお、特許文献１の〔００３６〕段落及び〔０１２６〕段落〜〔０１４１〕段落には、ＷＭＩにより各端末のインベントリ情報をエージェントレスで収集し、そのインベントリ情報に基づいて個人情報探索プログラムを配布する方法が開示されている。また特許文献２には、自己増殖の機能を利用して新規のクライアントにクライアント用エージェントをインストールする方法が開示されている。
【特許文献１】特開２００６−１５５５３５号公報
【特許文献２】特開２００５−１５７５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＷＭＩなどのリモート管理用インタフェースを利用してクライアントにソフトウェアをプッシュ配布する場合、クライアント側においてセキュリティに問題のあるポート（ＷＭＩではＤＣＯＭ（Distributed Component Object Model）ポート）を開きっ放しにする必要があり、その間、悪意のあるアクセスに対する防御を行えないという問題があった。
【０００５】
本発明は以上の点を考慮してなされたもので、管理装置からクライアントに対して信頼性高くコンテンツを配布し得る情報処理システム、管理装置、プログラム、情報処理方法及び管理方法を提案しようとするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため本発明においては、１又は複数のクライアントと、前記クライアントを管理する管理装置とから構成され、前記管理装置が前記クライアントにコンテンツを配布する情報処理システムにおいて、前記管理装置は、前記コンテンツの配布対象の前記クライアントに対して、前記クライアントごとにそれぞれ割り当てた配布時刻に前記コンテンツを配布し、前記クライアントは、前記配布時刻が規定されたスクリプトに基づいて、当該配布時刻にポートを開き、前記コンテンツを受領後に前記ポートを閉じることを特徴とする。
【０００７】
また本発明においては、１又は複数のクライアントに対してコンテンツを配布する管理装置において、外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当てるマネージャ制御部と、割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成するコンテンツスクリプトファイル生成部と、生成した各前記スクリプトのファイルを、それぞれ当該スクリプトにおいて規定された前記コンテンツの配布時刻以前に、対応する前記クライアントに電子メールにて配布するメール処理部とを備えることを特徴とする。
【０００８】
さらに本発明においては、プログラムにおいて、予め規定された配布時刻に外部装置と接続されたポートを開く第１のステップと、前記配布時刻に前記外部装置から送信されるコンテンツを受領後に前記ポートを閉じる第２のステップとを備える処理を情報処理装置に実行させることを特徴とする。
【０００９】
さらに本発明においては、１又は複数のクライアントと、前記クライアントを管理する管理装置とから構成され、前記管理装置が前記クライアントにコンテンツを配布する情報処理システムにおける情報処理方法において、前記管理装置が、前記コンテンツの配布対象の前記クライアントに対して、前記クライアントごとにそれぞれ割り当てた配布時刻に前記コンテンツを配布し、前記クライアントが、前記配布時刻が規定されたスクリプトに基づいて、当該配布時刻にポートを開く第１のステップと、前記クライアントが、前記コンテンツを受領後に前記ポートを閉じる第２のステップとを備えることを特徴とする。
【００１０】
さらに本発明においては、１又は複数のクライアントに対してコンテンツを配布する管理方法において、外部操作により指定された前記コンテンツの配布開始時刻に従って、前記コンテンツの前記配布時刻を前記クライアントごとにそれぞれ割り当てる第１のステップと、割り当てた前記配布時刻を規定した前記クライアントごとの前記スクリプトのファイルをそれぞれ生成する第２のステップと、生成した各前記スクリプトのファイルを、それぞれ当該スクリプトにおいて規定された前記コンテンツの配布時刻以前に、対応する前記クライアントに電子メールにて配布する第３のステップとを備えることを特徴とする。
【００１１】
さらに本発明においては、予め規定された配布時刻に外部装置と接続されたポートを開く第１のステップと、前記配布時刻に前記外部装置から送信されるコンテンツを受領後に前記ポートを閉じる第２のステップとを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、クライアントごとにそれぞれ割り当てられた配布時間にのみ各クライアントのポートが開閉されるため、セキュリティ性高くコンテンツを配布することができ、かくして管理装置からクライアントに対して信頼性高くコンテンツを配布し得る情報処理システム、管理装置、プログラム、情報処理方法及び管理方法を実現できる。
【発明を実施するための最良の形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）第１の実施の形態
（１−１）本実施の形態による情報処理システムの構成
図１において、１は全体として本実施の形態による情報処理システムを示す。この情報処理システム１は、管理サーバ２及び複数のクライアント３がネットワーク４を介して接続されることにより構成されている。
【００１５】
管理サーバ２は、ＣＰＵ（Central Processing Unit）１０、メモリ１１、ハードディスク装置１２及び通信インタフェース１３を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。
【００１６】
ＣＰＵ１０は、管理サーバ２全体の動作制御を司るプロセッサである。メモリ１１は、ＣＰＵ１０のワークメモリとして用いられるほか、各種プログラムを記憶するために用いられる。例えばメモリ１１には、管理サーバ２の起動時にハードディスク装置１２から読み出されたマネージャプログラム１４及びＯＳ（Operating System）１５などが格納される。
【００１７】
ハードディスク装置１２には、各種プログラム及び各種データが保存される。後述するスクリプトファイル雛形４０、メールメッセージファイル雛形４１、インストール媒体群４２、クライアント管理テーブル４３、配布物管理テーブル４４及びインストール媒体管理テーブル４５もこのハードディスク装置１２に保存される。またハードディスク装置１２が提供する記憶領域には、後述する臨時アカウント認証情報バッファ４６も設けられる。
【００１８】
通信インタフェース１３は、管理サーバ２がネットワーク４を介してクライアント３と通信する際のプロトコル変換などの処理を行う。通信インタフェース１３は、１又は複数のポートを備えており、これらポートを介してネットワーク４と接続される。通信インタフェース１３が備える各ポートには、それぞれそのポートをネットワーク４上において一意に識別するためのＷＷＮ（World Wide Name）やＩＰ（Internet protocol）アドレスなどのネットワークアドレスが付与される。
【００１９】
ネットワーク４は、ＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク４を介した管理サーバ２及びクライアント３間の通信は、例えばネットワーク４がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク４がＬＡＮやインターネットである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２０】
クライアント３は、管理サーバ２と同様に、ＣＰＵ２０、メモリ２１、ハードディスク装置２２及び通信インタフェース２３を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。これらＣＰＵ２０、メモリ２１及びハードディスク装置２２は、管理サーバ２の対応部位と同様の機能を有するものである。
【００２１】
ただしクライアント３のメモリ２１には、当該クライアント３の起動時にハードディスク装置２２から読み出されたＯＳ２４及びメールプログラム２５のほか、後述のスクリプト２６や管理サーバ２から送信された後述のインストールプログラム２７なども格納される。またクライアント３のハードディスク装置２２には、各種アプリケーションプログラムのほか、後述のように管理サーバ２から送信されたインストール媒体２８、スクリプトファイル２９及びメールメッセージファイル３０などが格納される。
【００２２】
通信インタフェース２３は、管理サーバ２の通信インタフェースと同様に、クライアント３がネットワーク４を介して管理サーバ２と通信する際のプロトコル変換などの処理を行う機能を備える。通信インタフェース１３は、１又は複数のポートを備えており、これらポートを介してネットワーク４と接続される。通信インタフェース１３が備える各ポートには、それぞれそのポートをネットワーク４上において一意に識別するためのＷＷＮやＩＰアドレスなどのネットワークアドレスが付与される。
【００２３】
（１−２）本実施の形態によるソフトウェア配布方式
（１−２−１）本実施の形態によるソフトウェア配布方式の概要
次に、本情報処理システム１において管理サーバ２から各クライアント３にソフトウェアを配布する場合のソフトウェア配布方式について説明する。本実施の形態による情報処理システム１においては、以下の手順で管理サーバ２から各クライアント３に対してソフトウェアを配布することを特徴とする。なお、以下においては、配布物がエージェントプログラムであるものとする。
【００２４】
（ａ）事前処理
（ａ−１）まず、管理者が管理サーバ２に対して、配布対象のエージェントプログラム及びその配布先と、配布の開始日時（以下、これを配布開始日時と呼ぶ）とを指定したエージェント配布指示を与える。
【００２５】
（ａ−２）管理サーバ２は、管理者により指定された配布開始日時に応じて配布先のクライアント３ごとに配布時刻を割り当てる。また管理サーバ２は、割り当てた配布時刻にポートの開閉、並びに、臨時アカウントの生成及び削除を行う機能を有するスクリプトファイル２９をクライアント３ごとにそれぞれ生成し、生成したスクリプトファイル２９をそれぞれ所定のメールメッセージファイル３０に添付して対応するクライアント３に送付する。
【００２６】
なお、スクリプトとは、機械語への変換作業を省略して簡易に実行できるようにした簡易プログラムをいう。例えばWindows（登録商標）ではVBScript、Unix（登録商標）ではシェルスクリプトがこれに相当する。以下においては、ファイルとしてのスクリプトについては「スクリプトファイル」と呼び、メモリにロードされて実行状態になっているプログラムとしてのスクリプトについては「スクリプト」と呼ぶものとする。
【００２７】
（ａ−３）かかるメールメッセージファイル３０を受信したクライアント３側では、ユーザ操作により、そのメールメッセージファイル３０に添付されたスクリプトファイル２９を実行する。このとき実行されたスクリプト２６は、ユーザに対し、エージェントプログラムの配布時刻をメッセージダイアログで通知し、その配布時刻にクライアント３を起動しておくように促す。
【００２８】
（ａ−４）この後、管理サーバ２及びクライアント３は、エージェントプログラムの配布時刻になるまで待機する。
【００２９】
（ｂ）配布実行処理
（ｂ−１）エージェントプログラムの配布時刻になると、クライアント３は、スクリプトファイル２９に記述されている所定の生成ルールに従って臨時アカウントを作成し、さらに管理サーバ２から送付されるエージェントプログラムの受信に使用するポートを開く。
【００３０】
（ｂ−２）このとき管理サーバ２は、クライアント３側と同じ生成ルールに従ってクライアント３側と同じ臨時アカウントを生成し、生成した臨時アカウントを用いてクライアント３にリモート接続する。そして管理サーバ２は、リモート接続先のクライアント３からＯＳ情報（当該クライアント３に搭載されたＯＳ２４の種別情報）を収集し、そのクライアント３のＯＳ２４に適合するエージェントプログラムの種別を判定し、その種別のエージェントプログラムをクライアント３にプッシュ配布する。
【００３１】
（ｂ−３）エージェントプログラムがプッシュ配布されたクライアント３のスクリプト２６は、そのエージェントプログラムをインストールする。インストール完了後、スクリプト２６（図１）が臨時アカウントを削除し、開けていたポートを閉じ、その後自分自身を削除する。
【００３２】
（１−２−２）本ソフトウェア配布方式に関する管理サーバ及びクライアントの構成
以上のような本実施の形態によるソフトウェア配信方式を実現するための手段として、管理サーバ２のマネージャプログラム１４は、図１に示すように、マネージャ制御部３１、スクリプトファイル生成部３２、メール処理部３３及びプッシュ配布処理部３４を備えて構成され、管理サーバ２のＯＳ１５は、リモート管理用インタフェース３５を備えて構成されている。
【００３３】
スクリプトファイル生成部３２は、上述した事前処理の（ａ−２）においてクライアント３ごとのスクリプトファイル２９を生成するためのプログラムであり、メール処理部３３は、かかる事前処理の（ａ−２）において対応するメールメッセージファイル３０を生成し、生成したメールメッセージファイル３０をクライアント３に電子メール（以下、単にメールと呼ぶ）にて配布するためのプログラムである。
【００３４】
またプッシュ配布処理部３４は、上述した配布実行処理の（ｂ−２）においてエージェントプログラムをクライアント３にプッシュ配布するためのプログラムであり、マネージャ制御部３１は、本ソフトウェア配信方式に関する各種処理のうちのスクリプトファイル生成部３２、メール処理部３３及びプッシュ配布処理部３４に基づく上述の処理以外の処理を実行するためのプログラムである。
【００３５】
ＯＳ１５のリモート管理用インタフェース３５は、管理サーバ２がクライアント３にリモート接続する際のインタフェースである。
【００３６】
なお、以下においては、「プログラム」が各種処理を実行するものと説明するが、実際にはそのプログラムに基づいてＣＰＵ１０が対応する処理を実行することは言うまでもない。
【００３７】
一方、管理サーバ２のハードディスク装置１２には、図１に示すように、スクリプトファイル雛形４０、メールメッセージファイル雛形４１、インストール媒体群４２、クライアント管理テーブル４３、配布物管理テーブル４４及びインストール媒体管理テーブル４５が格納されると共に、臨時アカウント認証情報バッファ４６が設けられている。
【００３８】
このうちスクリプトファイル雛形４０は、上述した事前処理の（ａ−２）において管理サーバ２からクライアント３に送付するスクリプトファイル２９の雛形であり、例えば図２Ａ及び図２Ｂに示すような構成を有する。図中、実線１本の下線部分は、スクリプトファイル２９の生成時に当該スクリプトファイル２９の配布先となるクライアント３に対応させて対応する情報を格納する部分であり、また波線の下線部分は、各処理による取得結果を格納する部分である。さらに二重線の下線部分は、対応部位の説明のために記述している情報であり、実際のプログラムでは記述されない。
【００３９】
またメールメッセージファイル雛形４１は、上述した事前処理の（ａ−２）において管理サーバ２からクライアント３に送付されるメールメッセージファイル３０の雛形である。このメールメッセージファイル雛形４１に基づいて、例えば図３に示すような文面のメールが作成される。図中、下線部分は、管理サーバ２からクライアント３に送付する際に対応する情報を格納する部分である。
【００４０】
インストール媒体群４２は、クライアント３にインストールされた又はインストールされる可能性のあるＯＳの各種別（例えばWindows XP（登録商標）、Windows Vista（登録商標）及びWindows Server 2008（登録商標））にそれぞれ対応する複数種類のインストール媒体２８から構成される。ここでインストール媒体２８は、配布するエージェントプログラムをクライアント３にインストールするために必要なファイルの集合体（インストールプログラム及び配布物自体を含む）であり、具体的には、ＺＩＰ形式のファイル等のアーカイブデータから構成される。
【００４１】
なお、インストールプログラムとは、配布物（ここではエージェントプログラム）をインストールするために使用するプログラムのことをいう。本実施の形態においては、ＧＵＩ（Graphical User Interface）からの入力を必要とせずにインストールを行うサイレントインストール可能なものを想定している。具体的にはWindows（登録商標） Installer形式のデータ等である。
【００４２】
クライアント管理テーブル４３は、各クライアント３に対する配布物（エージェントプログラム）の配布状況を管理するためのテーブルであり、ノードＩＤ欄４３Ａ、ＩＰアドレス欄４３Ｂ、メールアドレス欄４３Ｃ、ＯＳ欄４３Ｄ、割当て済み配布物ＩＤ欄４３Ｅ、配布時刻欄４３Ｆ、時刻差分欄４３Ｇ、スクリプト格納パス欄４３Ｈ、スクリプトファイル実行パス欄４３Ｉ、ステータス欄４３Ｊ及び結果コード欄４３Ｋから構成される。
【００４３】
そしてノードＩＤ欄４３Ａには、配布物を配布した又は配布すべきクライアント３に付与されたＩＤ（以下、これをノードＩＤと呼ぶ）が格納され、ＩＰアドレス欄４３Ｂには、そのクライアント３にアクセスする際のＩＰアドレスが格納される。
【００４４】
またメールアドレス欄４３Ｃには、そのクライアント３のメールアドレスが格納され、ＯＳ欄４３Ｄには、そのクライアント３に実装されたＯＳの種類が格納される。さらに割当て済み配布物ＩＤ欄４３Ｅには、そのクライアント３に配布済みの配布物に付与されたＩＤ（以下、これを配布物ＩＤと呼ぶ）が格納され、配布時刻欄４３Ｆには、その配布済みの配布物をそのクライアント３に配布した配布時刻が格納される。
【００４５】
また時刻差分欄４３Ｇには、そのクライアント３の内部時刻と、管理サーバ２の内部時刻との差分（以下、これを時刻差分と呼ぶ）が秒単位で格納される。この時刻差分は、管理サーバ２の内部時刻の方がクライアント３の内部時刻よりも遅い場合にはマイナスの値となる。この時刻差分の初期値は「０」である。
【００４６】
さらにスクリプト格納パス欄４３Ｈには、管理サーバ２におけるそのクライアント３用に作成したスクリプトファイル２９（図１）の格納位置までのパス名が格納され、スクリプトファイル実行パス欄４３Ｉには、対応するクライアント３における対応するスクリプトファイル２９の格納位置が格納される。さらにステータス欄４３Ｊには、そのクライアント３に対する対応する配布物の配布状況を表すステータスが格納される。
【００４７】
本実施の形態の場合、かかるステータスとしては、「準備中」、「実行待ち」、「実行中」、「正常終了」及び「エラー終了」の５種類がある。このうち「準備中」は、そのクライアント３に対する配布物の配布状況が上述の事前処理ステップ中であることを表し、「実行待ち」は、事前処理ステップの終了後から配布物の配布を開始するまでの間であることを表す。また「実行中」は、配布物の配布処理を実行中であることを表し、「正常終了」は、配布物の配布が正常に完了したことを表す。さらに「エラー終了」は、配布物の配布処理中にエラーが発生したことを表す。なお、ステータスの初期値は「準備中」である。
【００４８】
さらに結果コード欄４３Ｋには、そのクライアント３に対する配布物の配布処理の結果を表すコード（以下、これを結果コードと呼ぶ）が格納される。本実施の形態の場合、結果コードとしては、「−１」〜「２」の４種類がある。このうち「−１」は、配布処理が未完了であることを表し、「０」は、配布物の配布処理が正常終了したことを表す。また「１」は、そのクライアント３へのリモート接続時の認証処理に失敗したことを表し、「２」は、スクリプト２６や配布物（エージェントプログラム）のインストール処理に失敗したことを表す。結果コードの初期値は、「−１」である。
【００４９】
かかるクライアント管理テーブル４３では、配布物ごとにエントリが存在する。例えば１つのクライアント３に対して複数の配布物を配布する際には、同じノードＩＤのエントリが配布物数分だけ存在することになる。またＡＤ（Active Directory）環境等の特殊な環境でない限り、初期状態では、各エントリのノードＩＤ欄４３Ａ及びメールアドレス欄４３Ｃのみに情報が格納されている。
【００５０】
配布物管理テーブル４４は、クライアント３に配布する配布物及びその配布状況を管理するためのテーブルであり、図５に示すように、配布物ＩＤ欄４４Ａ、配布物名欄４４Ｂ、配布開始日時欄４４Ｃ、残ノード数欄４４Ｄ及びステータス欄４４Ｅから構成される。
【００５１】
そして配布物ＩＤ欄４４Ａには、管理サーバ２のハードディスク装置１２に保持しているクライアント３に配布予定、配布中又は配布した配布物のＩＤが格納され、配布物名欄４４Ｂには、その配布物の名称が格納される。
【００５２】
また配布開始日時欄４４Ｃには、その配布物の配布を開始する予定日時又は開始した日時が格納され、残ノード数欄４４Ｄには、その配布物を配布すべきクライアント３のうちの配布処理が完了していないクライアント３の数が格納される。
【００５３】
さらにステータス欄４４Ｅには、その配布物の配布状況を表すステータスが格納される。本実施の形態の場合、かかるステータスとしては、「実行待ち」、「実行中」、「正常終了」及び「エラー終了」の４種類がある。このうち「実行待ち」は、管理者による配布指示を待っている状態を表し、「実行中」は、その配布物を配布処理中であることを表す。また「正常終了」は、配布処理が正常に終了したことを表し、「エラー終了」は、配布処理中にエラーが発生したことを表す。
【００５４】
インストール媒体管理テーブル４５は、管理サーバ２のハードディスク装置１２に格納された各種インストール媒体２８のうち、配布物ごと及びクライアント３に実装されたＯＳの種別ごとにそれぞれ適合するインストール媒体２８（図１）へのパスを管理するためのテーブルであり、図６に示すように、配布物ＩＤ欄４５Ａ及びＯＳ別パス欄４５Ｂから構成される。そして配布物ＩＤ欄４５Ａには、管理サーバ２のハードディスク装置１２に格納された配布物の配布物ＩＤが格納される。
【００５５】
またＯＳ別パス欄４５Ｂには、クライアント３に搭載された又は搭載される可能性のある各種ＯＳの種別にそれぞれ対応させてパス欄４５Ｃが設けられており、ハードディスク装置１２に格納された各種インストール媒体２８のうち、対応する種別のＯＳに対応したインストール媒体２８へのアクセスパスがこれらのパス欄４５Ｂにそれぞれ格納される。
【００５６】
例えば図６の例の場合、配布物ＩＤが「10001」のエージェントプログラムについては、WindowsXP（登録商標）用、WindowsVista（登録商標）用及びWindowsServer2008（登録商標）用のインストール媒体２８が予め用意（ハードディスク装置に予め格納）されており、例えばWindowsXP（登録商標）用のインストール媒体２８へのアクセスパスは「C:DeployFile\10001\Install#xp.zip」であることが示されている。
【００５７】
さらに臨時アカウント認証情報バッファ４６は、管理サーバ２のマネージャプログラム１４が生成した臨時アカウントの認証情報（ＩＤ及びパスワード）を一時的に保存しておくための記憶領域であり、図７に示すように、ノードＩＤ欄４６Ａ、臨時アカウントＩＤ欄４６Ｂ及び臨時アカウントパスワード欄４６Ｃから構成される。
【００５８】
そしてノードＩＤ欄には４６Ａには、そのとき生成した臨時アカウントの対象となるクライアント３のノードＩＤが格納される。また臨時アカウントＩＤ欄４６Ｂには、生成された臨時アカウントのＩＤが格納され、臨時アカウントパスワード欄４６Ｃには、生成された臨時アカウントのパスワードが格納される。
【００５９】
なお、クライアント３のＯＳ２４にも、管理サーバ２がそのクライアント３にリモート接続する際のインタフェースとして機能するリモート管理用インタフェース３６が設けられている。
【００６０】
（１−２−３）事前処理及び配布実行処理の詳細
図８は、上述した本ソフトウェア配布方式における事前処理の具体的な処理の流れを示す。管理者は、エージェントプログラムをクライアント３に配布する場合、配布対象のエージェントプログラム、当該エージェントプログラムの配布先（配布先のクライアント３）及び配布開始日時等を指定した配布指示（以下、これをエージェントプログラム配布指示と呼ぶ）を管理サーバ２に入力する（ＳＰ１）。
【００６１】
管理サーバ２は、かかるエージェントプログラム配布指示が入力されると、管理者により指定された配布開始時刻に従ってエージェントプログラムを配布すべき各クライアント３に対して、エージェントプログラムを配布する配布時刻をそれぞれ割り当てる。そして管理サーバ２は、割り当てたクライアント３ごとの配布時刻をそれぞれクライアント管理テーブル４３（図４）の対応するエントリの配布時刻欄４３Ｆに格納する（ＳＰ２）。
【００６２】
続いて管理サーバ２は、それぞれクライアント３のノードＩＤ及び配布時刻と、臨時アカウントのＩＤ及びパスワードの生成ルールとを記述したクライアント３ごとのスクリプトファイル２９（図１）を生成し、生成した各スクリプトファイル２９をハードディスク装置１２に保存する。また管理サーバ２は、このときハードディスク装置１２に保存した各スクリプトファイル２９へのパスをそれぞれクライアント管理テーブル４３における対応するエントリのスクリプト格納パス欄４３Ｈ（図１）に格納する（ＳＰ３）。
【００６３】
そして管理サーバ２は、この後、エージェントプログラムの配布先として指定された各クライアント３に対して、対応するスクリプトファイル２９（図１）が添付されたメールメッセージファイル３０を送付する（ＳＰ４）。
【００６４】
一方、かかるメールメッセージファイル３０を受信したクライアント３のユーザは、そのクライアント３を操作して、当該メールメッセージファイル３０の開封指示と、メールメッセージファイル３０に添付されたスクリプトファイル２９の実行指示とをクライアント３に与える（ＳＰ５）。
【００６５】
クライアント３は、かかるユーザからのメールメッセージファイル３０の開封指示に応じてメールメッセージファイル３０を開封する。これにより図３について上述したメールメッセージがクライアント３に表示される。またクライアント３は、ユーザからのスクリプトファイル２９の実行指示に応じてスクリプトファイル２９を実行する（ＳＰ６）。
【００６６】
そしてクライアント３は、かかるスクリプトファイル２９に基づくスクリプト２６に従った処理を実行し終えると、当該クライアント３のノードＩＤ、ＩＰアドレス及びクライアント３における現在時刻等の情報を含むスクリプト２６の実行完了通知（以下、これをスクリプト実行完了通知と呼ぶ）を管理サーバ２に送信し（ＳＰ７）、この後、エージェントプログラムの配布時刻まで待機する（ＳＰ８）。
【００６７】
また管理サーバ２は、かかるスクリプト実行完了通知を受信すると、このスクリプト実行完了通知に含まれるそのクライアント３のＩＰアドレス等を保存する。また管理サーバ２は、かかるスクリプト実行完了通知に含まれるそのクライアント３の現在時刻に基づいて、管理サーバ２の現在時刻とそのクライアント３の現在時刻との間にずれがあった場合には、そのずれの分だけ配布時刻を調整し、これに応じてクライアント管理テーブル４３を更新する（ＳＰ９）。そして管理サーバ２は、この後、エージェントプログラムの配布時刻になるまで待機する（ＳＰ１０）。
【００６８】
一方、図９は、管理サーバ２からクライアント３に対して当該クライアント３に配布対象のエージェントプログラムを配布する配布実行処理の流れを示す。
【００６９】
クライアント３側では、上述の事前処理により管理サーバ２から通知されたエージェントプログラムの配布時刻となると、事前処理においてインストールしたスクリプト２６（図１）が、スクリプトファイル２９において規定されていた所定の生成ルールに従って臨時アカウントの認証情報（ＩＤ及びパスワード）を生成するし、さらに管理サーバ２から送信されるエージェントプログラムを受信するためのポートを開く。そしてクライアント３は、この後、管理サーバ２からリモート接続要求が与えられるのを待ち受ける（ＳＰ２０）。
【００７０】
なおスクリプト２６は、この後所定のタイムアウト時間が経過する前に管理サーバ２からのリモート接続要求を受信できなかったときには、セキュリティホールを塞ぐため、臨時アカウントを削除し、開けていたポートを閉じ、管理サーバ２にエラー通知を送信した後、自分自身を削除する（ＳＰ２１）。
【００７１】
一方、管理サーバ２は、エージェントプログラムの配布時刻となると、上述の生成ルールに従って臨時アカウントの認証情報を生成し、生成した認証情報を使用して、クライアント３に対してリモート接続要求を送信する（ＳＰ２２）。
【００７２】
このリモート接続要求を受信したクライアント３のスクリプト２６は、認証処理を行い（ＳＰ２３）、管理サーバ２が自クライアント３にアクセスが許可された機器であることを確認すると、管理サーバ２及び自クライアント３間におけるリモート接続が確立したことを管理サーバ２に通知する（ＳＰ２４）。なお、以下においては、この通知をリモート接続確立通知と呼ぶ。
【００７３】
このリモート接続確立通知を受信した管理サーバ２は、そのクライアント３にアクセスして、当該クライアント３のＯＳ情報の送信を要求する（ＳＰ２５）。かくしてクライアント３のスクリプト２６は、この要求に応じて、管理サーバ２に対して自己のＯＳ情報を送信する（ＳＰ２６）。
【００７４】
そして管理サーバ２は、このようにして取得したそのクライアント３のＯＳ情報に基づいて、そのクライアント３のＯＳ２４の種別に適合するエージェントプログラムを選択し（ＳＰ２７）、選択したエージェントプログラムのインストール媒体２８（図１）をそのクライアント３に送信する（ＳＰ２８）。そして管理サーバ２は、この後、そのエージェントプログラムのインストールをクライアント３に指示（以下、このときの指示をインストール指示と呼ぶ）する（ＳＰ２９）。
【００７５】
かかるインストール指示が与えられたクライアント３は、インストール媒体２８に含まれるインストールプログラム２７（図１）に基づいてエージェントプログラムのサイレントインストールを実行する（ＳＰ３０）。またクライアント３は、かかるエージェントプログラムのサイレントインストールが完了すると、臨時アカウントを削除し、開けていたポートを閉じ、スクリプト２６を削除する（ＳＰ３１）。
【００７６】
この後、クライアント３は、ステップＳＰ３０においてインストールしたエージェントプログラムに基づいてインストール完了通知を管理サーバ２に送信し（ＳＰ３２）、この後、エージェントプログラムの配布実行処理を終了する。また、インストール完了通知を受信した管理サーバ２も、この後、エージェントプログラムの配布実行処理を終了する。
【００７７】
（１−２−４）マネージャプログラムの処理
（１−２−４−１）マネージャ制御部の処理
ここで図１０は、本実施の形態によるソフトウェア配布方式の事前処理に関するマネージャプログラム１４のマネージャ制御部３１の具体的な処理内容を示す。
【００７８】
この場合、マネージャ制御部３１は、まず、所定のイベントが発生するのを待ち受ける（ＳＰ４０）。ここでのイベントとは、図８のステップＳＰ１について上述したエージェントプログラム配布指示が管理者から与えられ、又は、図８のステップＳＰ７について上述したスクリプト実行完了通知がクライアント３から与えられることを指す。
【００７９】
そしてマネージャ制御部３１は、やがてステップＳＰ４０において肯定結果を得ると、そのとき受信したのがエージェントプログラム配布指示であるか否かを判断する（ＳＰ４１）。
【００８０】
マネージャ制御部３１は、この判断において肯定結果を得ると、このとき管理者から与えられたエージェント配布指示に基づいて、かかるエージェントプログラム配布指示において指定された配布開始日時を配布物管理テーブル４４（図５）における配布対象のエージェントプログラムに対応するエントリの配布開始日時欄４４Ｃ（図５）に格納すると共に、配布先として指定されたクライアント３の数をそのエントリの残ノード数欄４４Ｄ（図５）に格納する（ＳＰ４２）。
【００８１】
続いてマネージャ制御部３１は、配布物管理テーブル４４のそのエントリのステータス欄４４Ｅ（図５）に格納されているステータスを「実行中」に更新し（ＳＰ４３）、この後、クライアント管理テーブル４３（図４）に配布先として指定されたクライアント３ごとのエントリを作成する（ＳＰ４４）。具体的にマネージャ制御部３１は、配布先として指定されたクライアント３ごとのエントリをクライアント管理テーブル４３に確保し、これらエントリの割当て済み配布物ＩＤ欄４３Ｅ（図４）にそれぞれ配布対象のエージェントプログラムの配布物ＩＤを格納する。またマネージャ制御部３１は、これらエントリの配布時刻欄４３Ｆ、時刻差分欄４３Ｇ、スクリプト格納パス欄４３Ｈ、スクリプトファイル実行パス欄４３Ｉ、ステータス欄４３Ｊ及び結果コード欄４３Ｋにそれぞれ初期値を入力する。
【００８２】
次いでマネージャ制御部３１は、管理者により指定されたエージェントプログラムの配布開始時刻に従って、配布先として指定された各クライアント３に対して配布時刻をそれぞれ割り当てる。例えば、管理者により指定された配布開始時刻が「2008/05/19 12:00:00」であった場合、配布対象のエージェントプログラムの１台当たりの配布所要時間が３分であるものとすると、図１１に示すように、マネージャ制御部３１は、１台目のクライアント３については「2008/05/19 12:00:00」、２台目のクライアント３については「2008/05/19 12:03:00」……のように配布時刻を割り当てる。なお、ここでは仮に配布対象のエージェントプログラムの１台当たりの配布所要時間を３分としたが、当該配布所要時間は、ネットワーク帯域と、配布対象のエージェントプログラムの容量とに基づいて算出するようにする。そしてマネージャ制御部３１は、この後、配布先として指定された各クライアント３にそれぞれ割り当てた配布時刻をそれぞれクライアント管理テーブル４３の対応するエントリの配布時刻欄４３Ｆにそれぞれ格納する（ＳＰ４５）。
【００８３】
続いてマネージャ制御部３１は、配布先として指定された各クライアント３のノードＩＤのリストをスクリプトファイル生成部３２（図１）に渡し、かかるクライアント３ごとのスクリプトファイル２９を生成するようスクリプトファイル生成部３２に指示（以下、これをスクリプトファイル生成指示と呼ぶ）与える（ＳＰ４６）。
【００８４】
さらにマネージャ制御部３１は、配布先として指定された各クライアント３のノードＩＤのリストをメール処理部３３に渡し、スクリプトファイル生成部３２により作成されたスクリプトファイル２９を添付したメールメッセージファイル３０（図１）をかかるクライアント３のそれぞれに送付するようメール処理部３３に指示（以下、これをメールメッセージファイル送付指示と呼ぶ）を与える（ＳＰ４７）。そしてマネージャ制御部３１は、この後ステップＳＰ４０に戻る。
【００８５】
これに対してマネージャ制御部３１は、ステップＳＰ４１の判断において否定結果を得ると、そのとき受信したのがスクリプト実行完了通知であるか否かを判断する（ＳＰ４８）。そしてマネージャ制御部３１は、この判断において否定結果を得るとステップＳＰ４０に戻る。
【００８６】
これに対してマネージャ制御部３１は、かかる判断において肯定結果を得ると、管理サーバ２内の図示しない内部時計から管理サーバ２における現在時刻を取得する（ＳＰ４９）。
【００８７】
次いでマネージャ制御部３１は、スクリプト実行完了通知に含まれる当該スクリプト実行完了通知を送信してきたクライアント３における現在時刻と、ステップＳＰ４９において取得した管理サーバ２における現在時刻とを比較し、これら２つの現在時刻の間にずれがあるか否かを判断する（ＳＰ５０）。
【００８８】
マネージャ制御部３１は、この判断において否定結果を得るとステップＳＰ５２に進む。これに対してマネージャ制御部３１は、この判断において肯定結果を得ると、かかるクライアント３における現在時刻と、管理サーバ２における現在時刻との差分を計算し、計算結果を、クライアント管理テーブル４３（図４）内のそのクライアントと対応するエントリの時刻差分欄４３Ｇに格納する。またマネージャ制御部３１は、かかる計算結果に基づいてクライアント管理テーブル４３のそのエントリの配布時刻欄４３Ｆに格納された配布時刻を更新する（ＳＰ５１）。
【００８９】
例えば、クライアント３に対するエージェントプログラムの配布時刻が「2008/05/19/13:00:00」であるものとする。このとき、そのクライアント３の現在時刻が「2008/05/19/12:13:45」であり、管理サーバ２の現在時刻が「2008/05/19/12:14:55」であった場合、管理サーバ２の方がクライアント３よりも１分10秒進んでいることになる。そこで、この場合、マネージャ制御部３１は、クライアント管理テーブル４３の配布時刻欄４３Ｆに格納されているそのクライアント３に対するエージェントプログラムの配布時刻を「2008/05/19/13:01:10」に更新すると共に、時刻差分欄４３Ｇに格納されているそのクライアント３及び管理サーバ２間の時刻差分を「70」に更新する。
【００９０】
次いでマネージャ制御部３１は、スクリプト実行完了通知に含まれるそのクライアント３のＩＰアドレスをクライアント管理テーブル４３の対応するエントリのＩＰアドレス欄４３Ｂに保存する（ＳＰ５２）。さらにマネージャ制御部３１は、そのエントリのステータス欄４３Ｊに格納されているステータスを「実行待ち」に更新し（ＳＰ５３）、この後ステップＳＰ４０に戻る。
【００９１】
一方、図１２は、本実施の形態によるソフトウェア配布方式の配布実行処理に関するマネージャ制御部３１の具体的な処理内容を示す。
【００９２】
マネージャ制御部３１は、図１０について上述した事前処理を終了すると、この配布実行処理を開始し、まず、所定のイベントが発生するのを待ち受ける（ＳＰ６０）。ここでのイベントとは、配布先として指定されたいずれかのクライアント３に対するエージェントプログラムの配布時刻となり、又は、図１５のステップＳＰ１０６又はステップＳＰ１１５について後述するエージェントプログラムの配布処理完了通知がプッシュ配布処理部３４から与えられることを指す。
【００９３】
そしてマネージャ制御部３１は、やがてステップＳＰ６０において肯定結果を得ると、そのときのイベントが、配布先として指定されたいずれかのクライアント３に対するエージェントプログラムの配布時刻となったことであるか否かを判断する（ＳＰ６１）。
【００９４】
マネージャ制御部３１は、この判断において肯定結果を得ると、スクリプトファイル２９（図１）において規定されている所定の生成ルールに従って、クライアント管理テーブル４３におけるそのクライアント３に対応するエントリのＩＰアドレス欄４３Ｂ（図４）及び配布時刻欄４３Ｆ（図４）にそれぞれ格納されているＩＰアドレス及び配布時刻を用いて臨時アカウントのＩＤ及びパスワードを生成し、生成した臨時アカウント認証情報をハードディスク装置１２内の臨時アカウント認証情報バッファ４６に保存する（ＳＰ６２）。
【００９５】
続いてマネージャ制御部３１は、プッシュ配布処理部３４に対して配布対象のエージェントプログラムのプッシュ配布の実行を指示し（ＳＰ６３）、さらにクライアント管理テーブル４３の対応するエントリにおけるステータス欄４３Ｊに格納されたステータスを「実行中」に更新した後（ＳＰ６４）、ステップＳＰ６０に戻る。
【００９６】
これに対してマネージャ制御部３１は、ステップＳＰ６１の判断において否定結果を得ると、ステップＳＰ６０において発生したイベントがプッシュ配布処理部３４からの配布処理完了通知の受信であったか否かを判断する（ＳＰ６５）。そしてマネージャ制御部３１は、この判断において否定結果を得るとステップＳＰ６０に戻る。
【００９７】
これに対してマネージャ制御部３１は、ステップＳＰ６５の判断において肯定結果を得ると、そのとき受信した配布処理完了通知に含まれる結果コードが、正常終了を意味する「０」であるか否かを判断する（ＳＰ６６）。
【００９８】
マネージャ制御部３１は、この判断において肯定結果を得ると、クライアント管理テーブル４３の対応するエントリのステータス欄４３Ｊ（図４）に格納されているステータスを「正常終了」に更新すると共に、当該エントリの結果コード欄４３Ｋ（図４）に格納されている結果コードを「０」に更新する。
【００９９】
またマネージャ制御部３１は、ステップＳＰ６８の判断において否定結果を得ると、クライアント管理テーブル４３の対応するエントリのステータス欄４３Ｊに格納されているステータスを「エラー終了」に更新すると共に、当該エントリの結果コード欄４３Ｋに格納されている結果コードを、そのとき受信した配布処理完了通知に含まれる結果コード（「１」又は「２」）に更新する。
【０１００】
続いてマネージャ制御部３１は、配布物管理テーブル４４（図５）の対応するエントリの残ノード数欄４４Ｄ（図５）に格納された残ノード数を「１」減らし、その後、当該残ノード数をチェックする（ＳＰ６９）。そしてマネージャ制御部３１は、残ノード数が「０」となったか否かを判断する（ＳＰ７０）。
【０１０１】
マネージャ制御部３１は、この判断において否定結果を得るとステップＳＰ６０に戻り、この後、そのとき配布しているエージェントプログラムを配布先として指定されたすべてのクライアント３に配布し終えるまで同様の処理を繰り返す。
【０１０２】
そしてマネージャ制御部３１は、やがてかかるエージェントプログラムを指定されたすべてのクライアント３に配布し終えることによりステップＳＰ７０の判断において肯定結果を得ると、そのときエージェントプログラムを配布した各クライアント３とそれぞれ対応するクライアント管理テーブル４３（図４）の各エントリのステータス欄４３Ｊ（図４）にそれぞれ格納されたステータスを検索し（ＳＰ７１）、いずれかのエントリのステータス欄４３Ｊに「エラー終了」のステータスが格納されているか否かを判断する（ＳＰ７２）。
【０１０３】
マネージャ制御部３１は、この判断において否定結果を得ると、配布物管理テーブル４４のエントリのうちのそのとき配布したエージェントプログラムと対応するエントリのステータス欄４４Ｅに格納されているステータスを「正常終了」に更新し（ＳＰ７３）、この後ステップＳＰ６０に戻る。
【０１０４】
これに対してマネージャ制御部３１は、かかる判断において肯定結果を得ると、配布物管理テーブル４４のエントリのうちのそのとき配布したエージェントプログラムと対応するエントリのステータス欄４４Ｅに格納されているステータスを「エラー終了」に更新し（ＳＰ７４）、この後ステップＳＰ６０に戻る。
【０１０５】
（１−２−４−２）スクリプトファイル生成部の処理
一方、図１３は、図１０について上述した事前処理のステップＳＰ４６においてマネージャ制御部３１からスクリプトファイル生成指示が与えられたスクリプトファイル生成部３２（図１）が実行するスクリプトファイル生成処理の処理内容を示す。
【０１０６】
この場合、スクリプトファイル生成部３２は、マネージャ制御部３１からスクリプトファイル生成指示が与えられると、このスクリプトファイル生成処理を開始し、まず、スクリプトファイル生成指示と共にマネージャ制御部３１から与えられる、エージェントプログラムの配布先として指定されたクライアント３のリストを参照して、これらすべてのクライアント３に対するスクリプトファイル２９（図１）を生成済みであるか否かを判断する（ＳＰ８０）。
【０１０７】
スクリプトファイル生成部３２は、この判断において否定結果を得ると、管理者により配布先として指定されたクライアント３のうちの対応するスクリプトファイル２９を未だ生成していないクライアント３を１つ選択し（ＳＰ８１）、選択したクライアント３の配布時刻をクライアント管理テーブル４３（図４）上で検索して取得する（ＳＰ８２）。
【０１０８】
続いてスクリプトファイル生成部３２は、ハードディスク装置１２に格納されている図２Ａ及び図２Ｂについて上述したスクリプトファイル雛形４０（図１）の必要箇所にそのクライアント３のノードＩＤ、配布時刻、配布するコンテンツ（エージェントプログラム）のコンテンツ名などの必要な事項を追記するようにして、そのクライアント３用のスクリプトファイル２９を生成し、生成したスクリプトファイル２９をハードディスク装置１２に保存する（ＳＰ８３）。
【０１０９】
次いでスクリプトファイル生成部３２は、このようにしてハードディスク装置１２に保存したスクリプトファイル２９までのパスをクライアント管理テーブル４３（図４）の対応するエントリのスクリプト格納パス欄４３Ｈ（図４）に格納する（ＳＰ８４）。
【０１１０】
続いてスクリプトファイル生成部３２は、ステップＳＰ８０に戻り、この後ステップＳＰ８１において選択するクライアント３を順次他のクライアント３に切り替えながら、同様の処理を繰り返す（ＳＰ８０〜ＳＰ８４−ＳＰ８０）。
【０１１１】
そしてスクリプトファイル生成部３２は、やがて管理者により配布先として指定されたすべてのクライアント３に対するスクリプトファイル２９を生成し終えると、このスクリプトファイル生成処理を終了する。
【０１１２】
（１−２−４−３）メール処理部の処理
他方、図１４は、図１０について上述した事前処理のステップＳＰ４６においてマネージャ制御部３１から与えられるメールメッセージファイル送付指示を受信したメール処理部３３（図１）が実行するメールメッセージファイル送付処理の処理内容を示す。
【０１１３】
この場合、メール処理部３３は、かかるメールメッセージファイル送付指示を受信するとこのメールメッセージファイル送付処理を開始し、まず、メールメッセージファイル送付指示と共にマネージャ制御部３１から与えられる、エージェントプログラムの配布先として指定されたクライアント３のリストを参照して、これらすべてのクライアント３に対してメールメッセージファイル３０（図１）を送付済みであるか否かを判断する（ＳＰ９０）。
【０１１４】
メール処理部３３は、この判断において否定結果を得ると、エージェントプログラムの配布先として指定されたクライアント３の中からメールメッセージファイル３０を未送付のクライアント３を１つ選択し（ＳＰ９１）、選択したクライアント３のメールアドレス及び対応するスクリプトファイル２９（図１）へのパスをクライアント管理テーブル４３（図４）から取得する（ＳＰ９２）。
【０１１５】
続いてメール処理部３３は、ハードディスク装置１２に格納されている図３について上述したメールメッセージファイル雛形４１（図１）の必要箇所に、配布するコンテンツ（エージェントプログラム）のコンテンツ名及び配布開始時刻をそれぞれ追記することにより、対応するクライアント３に対するメールメッセージファイル３０を生成する。
【０１１６】
またメール処理部３３は、生成したメールメッセージファイル３０にスクリプトファイル２９を添付し（ＳＰ９３）、このメールメッセージファイル３０を、ステップＳＰ９２において取得したメールアドレス先（ステップＳＰ９１において選択したクライアント３）に送付する（ＳＰ９４）。
【０１１７】
続いてメール処理部３３は、ステップＳＰ９０に戻り、この後ステップＳＰ９１において選択するクライアント３を順次他のクライアント３に切り替えながら、同様の処理を繰り返す（ＳＰ９０〜ＳＰ９４−ＳＰ９０）。
【０１１８】
そしてメール処理部３３は、やがて管理者によりエージェントプログラムの配布先として指定されたすべてのクライアント３に対してメールメッセージファイル３０を送付し終えると、このメールメッセージファイル送付処理を終了する。
【０１１９】
（１−２−４−４）プッシュ配布処理部の処理
図１５は、図９について上述した配布実施処理に関するプッシュ配布処理部３４（図１）の処理内容を示している。
【０１２０】
この場合、プッシュ配布処理部３４は、所定のイベントが発生するのを待ち受ける（ＳＰ１００）。ここでのイベントとは、図１２について上述した配布実行処理のステップＳＰ６３においてマネージャ制御部３１からプッシュ配布実行指令が与えられ、若しくは、図９のステップＳＰ２４について上述したリモート接続要求に対する応答がクライアント３から与えられ、又は、図９のステップＳＰ３２について上述したインストールプログラムからのインストール完了通知が与えられることが該当する。
【０１２１】
そしてプッシュ配布処理部３４は、やがてイベントが発生することによりステップＳＰ１００において肯定結果を得ると、そのとき発生したイベントが、マネージャ制御部３１からプッシュ配布実行指令が与えられたことであるか否かを判断する（ＳＰ１０１）。
【０１２２】
プッシュ配布処理部３４は、この判断において肯定結果を得ると、ハードディスク装置１２内の臨時アカウント認証情報バッファ４６（図１）からマネージャ制御部３１により作成されて格納された臨時アカウント認証情報（ＩＤ及びパスワード）を読み出す（ＳＰ１０２）。またプッシュ配布処理部３４は、読み出した臨時アカウント認証情報を用いて、対応するクライアント３に対してＯＳ１５（図１）のリモート管理用インタフェース３５（図１）を介してリモート接続要求を送信し（ＳＰ１０３）、この後ステップＳＰ１００に戻る。
【０１２３】
これに対してプッシュ配布処理部３４は、ステップＳＰ１０１の判断において否定結果を得ると、ステップＳＰ１００において発生したイベントが、リモート接続要求に対する応答がクライアント３から与えられたことであるか否かを判断する（ＳＰ１０４）。
【０１２４】
そしてプッシュ配布処理部３４は、この判断において肯定結果を得ると、かかるリモート接続要求に対するクライアント３からの応答に基づいて、クライアント３へのリモート接続が成功したか否かを判断する（ＳＰ１０５）。
【０１２５】
プッシュ配布処理部３４は、この判断において否定結果を得ると、マネージャ制御部３１に対して「１」の結果コード（リモート接続時に認証処理に失敗したことを意味する結果コード）が格納された配布処理完了通知を送信する（ＳＰ１０６）。そしてプッシュ配布処理部３４は、この後ステップＳＰ１００に戻る。
【０１２６】
一方、プッシュ配布処理部３４は、ステップＳＰ１０４の判断において肯定結果を得ると、そのときリモート接続したクライアント３から、そのクライアント３に実装されたＯＳ２４（図１）の種別情報を表すＯＳ情報を取得し（ＳＰ１０７）、取得したＯＳ情報をクライアント管理テーブル４３（図４）における対応するエントリのＯＳ欄４３Ｄに格納する（ＳＰ１０８）。
【０１２７】
次いでプッシュ配布処理部３４は、そのクライアント３のＯＳに適合するインストール媒体２８（図１）までのパスをインストール媒体管理テーブル４５（図６）から取得する（ＳＰ１０９）。そしてプッシュ配布処理部３４は、このとき取得したインストール媒体２８のパスを介して対応するインストール媒体２８をハードディスク装置１２から読み出し、読み出したインストール媒体２８をクライアント３に送信する（ＳＰ１１０）。
【０１２８】
さらにプッシュ配布処理部３４は、そのクライアント３をリモート制御して、かかるインストール媒体２８に含まれるインストールプログラム２７（図１）を起動し、当該インストールプログラム２７にそのインストール媒体２８に含まれるエージェントプログラムのインストールを指示する（ＳＰ１１２）。そしてプッシュ配布処理部３４は、この後、ステップＳＰ１００に戻る。
【０１２９】
他方、プッシュ配布処理部３４は、ステップＳＰ１０４の判断において否定結果を得ると、ステップＳＰ１００において発生したイベントが、インストールプログラム２７からのインストール完了通知が与えられたことであるか否かを判断する（ＳＰ１１３）。
【０１３０】
そしてプッシュ配布処理部３４は、この判断において否定結果を得ると、ステップＳＰ１００に戻り、これに対して肯定結果を得ると、かかるインストール完了通知に基づいて、そのクライアント３に対する配布対象のエージェントプログラムのインストールが成功したか否かを判断する（ＳＰ１１４）。
【０１３１】
プッシュ配布処理部３４は、この判断において肯定結果を得ると、マネージャ制御部３１に対して「２」の結果コード（インストールに失敗したことを意味する結果コード）を格納した配布処理完了通知を送信する（ＳＰ１１５）。そしてプッシュ配布処理部３４は、この後ステップＳＰ１００に戻る。
【０１３２】
これに対してプッシュ配布処理部３４は、ステップＳＰ１１４の判断において肯定結果を得ると、マネージャ制御部３１に対して「１」の結果コード（リモート接続時に認証処理に失敗したことを意味する結果コード）が格納された配布処理完了通知を送信し（ＳＰ１０６）、この後ステップＳＰ１００に戻る。
【０１３３】
（１−２−５）クライアント側の処理
（１−２−５−１）メールプログラムの処理
図１６は、上述した本実施の形態によるソフトウェア配布方式に関するクライアント３に実装されたメールプログラム２５（図１）の具体的な処理内容を示している。
【０１３４】
メールプログラム２５は、通常時、所定のイベントが発生するのを待ち受ける。ここでのイベントとは、図１４のステップＳＰ９４において管理サーバ２から送信されたメールメッセージファイル３０（図１）を受信し、又は図８のステップＳＰ５においてユーザからメールメッセージファイル３０（図１）の保存又は開封指示が与えられたことが該当する。
【０１３５】
そしてメールプログラム２５は、やがてかかるイベントが発生することによりステップＳＰ１２０において肯定結果を得ると、そのとき発生したイベントが、管理サーバ２からのメールメッセージファイル３０を受信したことであるか否かを判断する（ＳＰ１２１）。
【０１３６】
メールプログラム２５は、この判断において肯定結果を得ると、受信したメールメッセージファイル３０及び当該メールメッセージファイル３０に添付されているスクリプトファイル２９をクライアント３のハードディスク装置２２内の既定のパスにより特定される記憶領域に格納し（ＳＰ１２２）、この後ステップＳＰ１２０に戻る。
【０１３７】
これに対してメールプログラム２５は、ステップＳＰ１２１の判断において否定結果を得ると、そのとき発生したイベントが、メールの表示指示をユーザから与えられたことであるか否かを判断する（ＳＰ１２３）。
【０１３８】
そしてメールプログラム２５は、この判断において肯定結果を得ると、ステップＳＰ１２２においてハードディスク装置１２内の既定のパスにより特定される記憶領域に保存したメールメッセージファイル３０を開封し、当該メールメッセージファイル３０に基づく図３について上述したメッセージをクライアント３のディスプレイに表示させる（Ｓ１２０）。そしてメールプログラム２５は、この後ステップＳＰ１２０に戻る。
【０１３９】
これに対してメールプログラム２５は、ステップＳＰ１２３の判断において否定結果を得ると、そのとき発生したイベントが、かかるメールメッセージファイル３０に添付されたスクリプトファイル２９の保存又は開封指示をユーザから与えられたことである否かを判断する（ＳＰ１２５）。
【０１４０】
そしてメールプログラム２５は、この判断において否定結果を得るとステップＳＰ１２０に戻る。これに対してメールプログラム２５は、ステップＳＰ１２５の判断において肯定結果を得ると、そのスクリプトファイル２９を、ハードディスク装置２２内の指定されたパスにより特定される記憶領域に保存し、又はそのスクリプトファイル２９を開封し、この後ステップＳＰ１２０に戻る。
【０１４１】
（１−２−５−２）スクリプトの処理
一方、図１７は、本実施の形態によるソフトウェア配布方式の事前処理に関するクライアント３にインストールされたスクリプト２６（図１）の具体的な処理内容を示す。
【０１４２】
クライアント３のユーザがスクリプトファイル２９を実行すると、当該スクリプトファイル２９に基づくスクリプト２６は、既定の配布時間にクライアント３を起動しておくように促すメッセージが記述された図示しないメッセージダイアログをそのクライアント３のディスプレイに表示させる（ＳＰ１３０）。
【０１４３】
続いてスクリプト２６は、そのクライアント３のＩＰアドレス、スクリプトファイル２９の実行パス及びそのクライアント３における現在時刻を取得し（ＳＰ１３１）、この後、そのクライアント３のノードＩＤと、ステップＳＰ１３１において取得したそのクライアントのＩＰアドレス、スクリプトファイル２９の実行パス及びそのクライアント３における現在時刻とをスクリプト実行完了通知として管理サーバ２のマネージャ制御部３１に通知する（ＳＰ１３２）。そしてスクリプト２６は、この後、この一連の処理を終了する。
【０１４４】
他方、図１８は、本実施の形態によるソフトウェア配布方式の配布実行処理に関するかかるスクリプト２６の具体的な処理内容を示す。
【０１４５】
この場合、スクリプト２６は、所定のイベントが発生するのを待ち受ける。ここでのイベントとは、現在時刻がそのクライアント３について設定されたエージェントプログラムの配布時刻となり、若しくは、図９のステップＳＰ２１について上述したタイムアウトが発生し、又は、インストールプログラム２７（図１）から後述する後処理の実行指示が与えられた（図１９のステップＳＰ１５２及びステップＳＰ１５４参照）ことが該当する。
【０１４６】
そしてスクリプト２６は、やがてかかるイベントが発生することによりステップＳＰ１４０において肯定結果を得ると、そのとき発生したイベントが、エージェントプログラムの配布時刻となったことであるか否かを判断する（ＳＰ１４１）。
【０１４７】
スクリプト２６は、この判断において肯定結果を得ると、図１６のステップＳＰ１２１において受信したスクリプトファイル２９に基づき認識される臨時アカウントの生成ルールに基づいて、臨時アカウントを生成する（ＳＰ１４２）。またスクリプト２６は、管理サーバ２から送信されるエージェントプログラムを受信する際に使用するポートを開く処理を実行し（ＳＰ１４３）、この後ステップＳＰ１４０に戻る。
【０１４８】
これに対してスクリプト２６は、ステップＳＰ１４１の判断において否定結果を得ると、エージェントプログラムの受信に使用するポートを開いてから所定のタイムアウト時間が経過し、又は、インストールプログラムから後述する後処理の実行指示が与えられたか否かを判断する（ＳＰ１４４）。
【０１４９】
そしてスクリプト２６は、この判断において否定結果を得るとステップＳＰ１４０に戻る。これに対してスクリプト２６は、ステップＳＰ１４４の判断において肯定結果を得ると、事前に作成していた臨時アカウントを削除する（ＳＰ１４５）。またスクリプト２６は、開いていたポートを閉じる処理を実行し（ＳＰ１４６）、さらに自分自身を削除する処理を実行し（ＳＰ１４７）、この後ステップＳＰ１４０に戻る。
【０１５０】
（１−２−５−３）インストールプログラムの処理
図１９は、図９のステップＳＰ３０におけるインストールプログラム２７（図１）の具体的な処理内容を示す。
【０１５１】
インストールプログラム２７は、管理サーバ２のプッシュ配布処理部３４（図１）からエージェントプログラムのインストールを指示されると（図９のステップＳＰ２９参照）、エージェントプログラムのサイレントインストール処理を実行し（ＳＰ１５０）、この後、かかるサイレントインストール処理が正常に終了したか否かを判断する（ＳＰ１５１）。
【０１５２】
インストールプログラム２７は、このステップＳＰ１５１において肯定結果を得ると、スクリプトファイル２９の実行パスを使用して、スクリプト２６に対して後処理（図１８のステップＳＰ１４５〜ステップＳＰ１４７）の実行を指示し（ＳＰ１５２）、さらに正常終了コードを含むインストール完了通知を管理サーバ２のプッシュ配布処理部３４に送信した後（ＳＰ１５３）、ステップＳＰ１５０に戻る。
【０１５３】
これに対してインストールプログラム２７は、ステップＳＰ１５１の判断において否定結果を得ると、スクリプトファイル２９の実行パスを使用して、スクリプト２６に対して後処理の実行を指示し（ＳＰ１５４）、さらにエラーコードを含むインストール完了通知を管理サーバ２のプッシュ配布処理部３４に送信した後（ＳＰ１５５）、ステップＳＰ１５０に戻る。
【０１５４】
（１−２−５−４）ＯＳの処理
図２０は、管理サーバ２から送信される図９のステップＳＰ２２におけるリモート接続要求を受信し、又は管理サーバ２から送信される図９のステップＳＰ２５におけるリモート管理用インタフェース３６（図１）のプロパティ参照要求を受信したクライアント３のＯＳ２４（図１）の処理内容を示している。
【０１５５】
この場合、ＯＳ２４は、所定のイベントが発生するのを待ち受ける（ＳＰ１６０）。ここでのイベントとは、管理サーバ２からのリモート接続要求又はリモート管理用インタフェース３６のプロパティ参照要求を受信することが該当する。
【０１５６】
そしてＯＳ２４は、やがてかかるイベントが発生することによりステップＳＰ１６０において肯定結果を得ると、そのとき発生したイベントが、管理サーバ２からのリモート接続要求を受信したことであるか否かを判断する（ＳＰ１６１）。
【０１５７】
ＯＳ２４は、この判断において肯定結果を得ると、受信したＩＤ及びパスワードと、スクリプト２６が生成した臨時アカウントのＩＤ及びパスワード（図１８のステップＳＰ１４２参照）とを比較する認証処理を実行し（ＳＰ１６２）、この後、かかる受信したＩＤ及びパスワードと、スクリプトが生成した臨時アカウントのＩＤ及びパスワードとが一致したか否かを判断する（ＳＰ１６３）。
【０１５８】
ＯＳ２４は、この判断において肯定結果を得ると、リモート接続要求の送信元（管理サーバ２）にリモート接続確立通知を送信し（ＳＰ１６４）、この後ステップＳＰ１６０に戻る。
【０１５９】
これに対してＯＳ２４は、ステップＳＰ１６３の判断において否定結果を得ると、リモート接続要求の送信元にリモート接続が失敗した旨の応答を返信し（ＳＰ１６５）、この後ステップＳＰ１６０に戻る。またＯＳ２４は、ステップＳＰ１６１の判断において否定結果を得ると、そのとき発生したイベントが、リモート管理用インタフェース３６のプロパティ参照要求を受信したことであるか否かを判断する（ＳＰ１６６）。
【０１６０】
ＯＳ２４は、この判断において否定結果を得るとステップＳＰ１６０に戻り、これに対して肯定結果を得ると、リモート管理用インタフェース３６のプロパティ値（クライアント３のＯＳ情報等を含む）をかかるプロパティ参照要求の送信元（管理サーバ）に送信し（ＳＰ１６７）、この後ステップＳＰ１６０に戻る。
【０１６１】
（１−３）本実施の形態の効果
以上のように本実施の形態による情報処理システム１では、クライアント３において、そのクライアント３に割り当てられた配布時刻にのみポートが開閉されるため、それ以外の時間帯については、悪意のあるアクセスからクライアント３を保護することができる。かくするにつき、管理サーバ２からクライアント３に対して信頼性高くソフトウェア（ここではエージェントプログラム）を配布することができる。
【０１６２】
（２）第２の実施の形態
（２−１）第２の実施の形態によるソフトウェア配布方式
図１において、５０は全体として第２の実施の形態による情報処理システムを示す。この情報処理システム５０は、エージェントプログラムの配布時間をクライアント３側において変更することができる点が第１の実施の形態による情報処理システム１と異なる。
【０１６３】
実際上、第２の実施の形態による情報処理システム５０では、例えば図８について上述した事前処理のステップＳＰ５において、クライアント３側においてユーザの指示によりスクリプトファイルを実行したときに、図２１に示すような配布時刻再設定画面６０がクライアント３に表示される。
【０１６４】
この配布時刻再設定画面６０では、そのとき管理サーバ５１（図１）から通知されたエージェントプログラムの配布時刻が画面上段に設けられた配布スケジュール表示部６１に表示される。また配布時刻再設定画面６０では、画面下段に配布スケジュール再設定部６２が設けられ、この配布スケジュール再設定部６２内にカレンダ６３、時設定欄６４Ａ、分設定欄６５Ａ及び秒設定欄６６Ａがそれぞれ表示される。
【０１６５】
この場合、配布スケジュール再設定部６２に表示されたカレンダ６３は、その右側に表示された送りボタン６７Ａをクリックすることによって来月のものに変更することができ、またカレンダ６３の左側に表示された戻しボタン６７Ｂをクリックすることによって先月のものに変更することができる。
【０１６６】
かくしてユーザは、必要に応じて送りボタン６７Ａ又は戻しボタン６７Ｂをクリックすることによって配布スケジュール再設定部６２内に所望する月のカレンダ６３を表示させ、その後、そのカレンダ６３内の所望する日をクリックすることによって、その月のその日をエージェントプログラムの配布日として設定することができる。
【０１６７】
また時設定欄６４Ａの右横にはプルダウンボタン６４Ｂが設けられており、このプルダウンボタン６４Ｂをクリックすることによって「０」から「23」までの数値が列記されたプルダウンメニュー（図示せず）を表示させることができる。かくしてユーザは、このプルダウンメニューの中からエージェントプログラムの配布時刻として希望する時刻のうちの「時」を指定することができ、このとき指定された「時」が時設定欄６４Ａに表示される。
【０１６８】
同様に、分設定欄６５Ａの右横にはプルダウンボタン６５Ｂが設けられており、このプルダウンボタン６５Ｂをクリックすることによって「０」から「59」までの数値が列記されたプルダウンメニュー（図示せず）を表示させることができる。かくしてユーザは、このプルダウンメニューの中からエージェントプログラムの配布時刻として希望する時刻のうちの「分」を指定することができ、このとき指定された「分」が分設定欄６５Ａに表示される。
【０１６９】
さらに秒設定欄６６Ａの右横にはプルダウンボタン６６Ｂが設けられており、このプルダウンボタン６６Ｂをクリックすることによって「０」から「59」までの数値が列記されたプルダウンメニュー（図示せず）を表示させることができる。かくしてユーザは、このプルダウンメニューの中からエージェントプログラムの配布時刻として希望する時刻のうちの「秒」を指定することができ、このとき指定された「秒」が秒設定欄６６Ａに表示される。
【０１７０】
そして配布時刻再設定画面６０では、以上のようにしてエージェントプログラムの配布時刻としてユーザが所望する日にち及び時刻を指定した後、画面下段に表示された更新ボタン５８をクリックすることによって、その日にち及び時刻をエージェントプログラムの配布時刻として再設定することができる。なお、キャンセルボタン５９をクリックした場合には、以上の操作がすべてキャンセルされる。
【０１７１】
以上のようにしてユーザがエージェントプログラムの配布時刻を再設定すると、図８のステップＳＰ６において、クライアント３は、再設定された時刻に当該クライアント３を起動しておくように促すメッセージを表示する。そしてクライアント３は、図８のステップＳＰ７において、管理サーバ５１にスクリプト実行完了通知を送信する際、ユーザにより再設定されたエージェントプログラムの配布時刻を管理サーバ５１に通知する。そしてクライアント３は、この後、再設定されたエージェントプログラムの配布時刻になるまで待機状態となる（図８のステップＳＰ８）。
【０１７２】
一方、かかるスクリプト実行完了通知を受信した管理サーバ５１は、図８のステップＳＰ９において、クライアント管理テーブル４３（図４）の対応するエントリの配布時刻欄４３Ｆに格納された配布時刻を、そのときスクリプト実行完了通知と共に通知された、クライアント３のユーザにより再設定された配布時刻に変更する。そして管理サーバ５１は、この後、待機状態となる（図８のステップＳＰ１０）。
【０１７３】
なお、このようなソフトウェア配布処理方式を実現するに際しては、第２の実施の形態によるスクリプトファイル雛形５４（図１）及びこれに基づき生成されるスクリプトファイル５５（図１）の形式が図２Ａ及び図２Ｂについて上述した第１の実施の形態によるスクリプトファイル雛形４０及びこれに基づき生成されるスクリプトファイル５５とは若干異なる形式となる。
【０１７４】
具体的には、エージェントプログラムの配布時刻（DTIME）が定数でなく、グローバル変数となる。また「Display Message()」（配布時刻にクライアントを起動しておくように促すメッセージを表示する処理）の前にかかる配布時刻再設定画面６０を表示し、この配布時刻再設定画面６０を用いてエージェントプログラムの配布時刻の再設定がなされたときには、エージェントプログラムの配布時刻（DTIME）の値を書き換える処理を追加することになる。
【０１７５】
図２２は、以上のような第２の実施の形態によるソフトウェア配布方式において、管理サーバ５１から送信されたスクリプトファイル５５（図１）を実行したクライアント３のスクリプト５６（図１）の具体的な処理内容を示している。
【０１７６】
クライアント３のユーザがスクリプトファイル５５を実行すると、スクリプト５６は、この図２２に示すクライアント側事前処理を開始し、まず、図２１について上述した配布時刻再設定画面６０をクライアント３に表示させる（ＳＰ１７０）。
【０１７７】
続いてスクリプト５６は、この配布時刻再設定画面６０を用いてユーザがエージェントプログラムの配布時刻を再設定するのを待ち受け、再設定が行われなかったとき（配布時刻再設定画面６０のキャンセルボタン５９がクリックされたとき）には、ステップＳＰ１７３に進む。
【０１７８】
これに対してスクリプト５６は、配布時刻再設定画面６０を用いてエージェントプログラムの配布時刻が再設定されると（配布時刻再設定画面６０において配布時刻が指定されて更新ボタン５８がクリックされたとき）には、スクリプトファイル５５におけるエージェントプログラムの配布時刻をユーザが再設定した時刻に更新する（ＳＰ１７２）。
【０１７９】
そしてスクリプト５６は、この後ステップＳＰ１７３〜ステップＳＰ１７５を、図１７について上述した第１の実施の形態におけるクライアント側事前処理のステップＳＰ１３０〜ステップＳＰ１３２と同様に処理し、この後、このクライアント側事前処理を終了する。
【０１８０】
一方、図２３は、以上のような本実施の形態によるソフトウェア配布方式に関して管理サーバ５１のマネージャプログラム５２のマネージャ制御部５３が実行する事前処理の具体的な処理内容を示す。
【０１８１】
この場合、マネージャ制御部５３は、まず、所定のイベントが発生するのを待ち受ける（ＳＰ１８０）。ここでのイベントとは、図８のステップＳＰ１について上述したエージェントプログラム配布指示が管理者から与えられ、又は、図８のステップＳＰ７について上述したスクリプト実行完了通知がクライアント３から与えられることを指す。
【０１８２】
そしてマネージャ制御部５３は、やがてステップＳＰ１８０において肯定結果を得ると、そのとき受信したのがエージェントプログラム配布指示であるか否かを判断する（ＳＰ１８１）。
【０１８３】
そしてマネージャ制御部５３は、この判断において肯定結果を得ると、図１０について上述した第１の実施の形態における事前処理のステップＳＰ４２〜ステップＳＰ４７と同様にステップＳＰ１８２〜ステップＳＰ１８７を処理する。
【０１８４】
これに対してマネージャ制御部５３は、ステップＳＰ１８１の判断において否定結果を得ると、図１０の事前処理のステップＳＰ４８〜ステップＳＰ５１と同様にステップＳＰ１８８〜ステップＳＰ１９１を処理する。
【０１８５】
この後、マネージャ制御部５３は、そのときクライアント３から送付されたスクリプト実行完了通知に含まれる、クライアント３に設定されたエージェントプログラムの配布時刻と、管理サーバ５１が保持するクライアント管理テーブル４３（図４）の対応するエントリの配布時刻欄４３Ｆ（図４）に格納されている配布時刻との間にずれがあるか否か（つまりエージェントプログラムの配布時刻が再設定されたか否か）を判断する（ＳＰ１９２）。
【０１８６】
そしてマネージャ制御部５３は、この判断において否定結果を得るとステップＳＰ１９４に進み、これに対して肯定結果を得ると、クライアント管理テーブル４３の対応するエントリの配布時刻欄４３Ｆに格納されている配布時刻を、そのとき受信したスクリプト実行完了通知により通知された配布時刻（クライアント３のユーザが再設定した配布時刻）に更新する（ＳＰ１９３）。
【０１８７】
続いてマネージャ制御部５３は、ステップＳＰ１９３において更新した配布時刻を、クライアント管理テーブル４３（図４）におけるそのクライアント３と対応するエントリの時刻差分欄４３Ｇ（図４）に格納されている時刻差分だけずらした時刻に更新する（ＳＰ１９４）。
【０１８８】
そしてマネージャ制御部５３は、この後図１０の事前処理のステップＳＰ５２及びステップＳＰ５３と同様にステップＳＰ１９５及びステップＳＰ１９６を処理し、この後ステップＳＰ１８０に戻る。
【０１８９】
（２−２）本実施の形態の効果
以上のように本実施の形態による情報処理システム５０では、クライアント３側において配布時刻を再設定することができるため、第１の実施の形態により得られる効果に加えて、プル型の配布方式のようにクライアント３のユーザの都合も考慮したエージェントプログラムの配布を行うことができるという効果をも得ることができる。
【０１９０】
（３）他の実施の形態
なお上述の第１及び第２の実施の形態においては、配布物がソフトウェア（特にエージェントプログラム）である場合について述べたが、本発明はこれに限らず、この他種々のコンテンツを配布する際に広く適用することができる。例えばクライアント３をストレージ管理サーバ、配布物をストレージ管理ソフトウェアとすれば、ストレージ管理サーバに対してストレージ管理ソフトウェアを配布することも可能である。
【０１９１】
また上述の第２の実施の形態においては、配布時刻再設定画面６０を図２１のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【産業上の利用可能性】
【０１９２】
本発明は、管理サーバ及び複数のクライアントから構成される種々の形態の情報処理システムに広く適用することができる。
【図面の簡単な説明】
【０１９３】
【図１】第１及び第２の実施の形態による情報処理システムの構成を示すブロック図である。
【図２Ａ】スクリプトファイルの説明に供する概念図である。
【図２Ｂ】スクリプトファイルの説明に供する概念図である。
【図３】メールメッセージファイルの説明に供する図である。
【図４】クライアント管理テーブルの構成を概念的に示す概念図である。
【図５】配布物管理テーブルの構成を概念的に示す概念図である。
【図６】インストール媒体管理テーブルの構成を概念的に示す概念図である。
【図７】臨時アカウント認証情報バッファの構成を概念的に示す概念図である。
【図８】第１の実施の形態によるソフトウェア配布方式における事前処理の流れの説明に供するラダーチャートである。
【図９】第１の実施の形態によるソフトウェア配布方式における配布実行処理の流れの説明に供するラダーチャートである。
【図１０】事前処理に関する管理サーバのマネージャ制御部の具体的な処理内容を示すフローチャートである。
【図１１】事前処理に関する管理サーバのマネージャ制御部の具体的な処理内容の説明に供する図である。
【図１２】配布実行処理に関する管理サーバのマネージャ制御部の具体的な処理内容を示すフローチャートである。
【図１３】事前処理に関する管理サーバのスクリプトファイル生成部の具体的な処理内容を示すフローチャートである。
【図１４】事前処理に関する管理サーバのメール処理部の具体的な処理内容を示すフローチャートである。
【図１５】配布実行処理に関する管理サーバのプッシュ配布処理部の具体的な処理内容を示すフローチャートである。
【図１６】事前処理に関するクライアントのメールプログラムの具体的な処理内容を示すフローチャートである。
【図１７】事前処理に関するスクリプトの具体的な処理内容を示すフローチャートである。
【図１８】配布実行処理に関するスクリプトの具体的な処理内容を示すフローチャートである。
【図１９】配布実行処理に関するインストールプログラムの具体的な処理内容を示すフローチャートである。
【図２０】配布実行処理に関するクライアントのＯＳの具体的な処理内容を示すフローチャートである。
【図２１】配布時刻再設定画面を略線的に示す略線図である。
【図２２】第２の実施の形態によるソフトウェア配布方式の事前処理に関するスクリプトの具体的な処理内容を示すフローチャートである。
【図２３】第２の実施の形態によるソフトウェア配布方式の事前処理に関する管理サーバのマネージャ制御部の具体的な処理内容を示すフローチャートである。
【符号の説明】
【０１９４】
１，５０……情報処理システム、２，５１……管理サーバ、３……クライアント、１０，２０……ＣＰＵ、１１，２１……メモリ、１２，２２……ハードディスク装置、１４，５２……マネージャプログラム、１５，２４……ＯＳ、２５……メールプログラム、２６……スクリプト、２７……インストールプログラム、２８……インストール媒体２８……スクリプトファイル、３０……メールメッセージファイル、３１，５３……マネージャ制御部、３２……スクリプトファイル生成部、３３……メール処理部、３４……プッシュ配布処理部、３５，３６……リモート管理用インタフェース、４０……スクリプトファイル雛形、４１……メールメッセージファイル雛形、４２……インストール媒体、４３……クライアント管理テーブル、４４……配布物管理テーブル、４５……インストール媒体管理テーブル、４６……臨時アカウント認証情報バッファ、６０……配布時刻再設定画面。
【図１】
2010049537.tif 000003
【図２Ａ】
2010049537.tif 000004
【図２Ｂ】
2010049537.tif 000005
【図３】
2010049537.tif 000006
【図４】
2010049537.tif 000007
【図５】
2010049537.tif 000008
【図６】
2010049537.tif 000009
【図７】
2010049537.tif 000010
【図８】
2010049537.tif 000011
【図９】
2010049537.tif 000012
【図１０】
2010049537.tif 000013
【図１１】
2010049537.tif 000014
【図１２】
2010049537.tif 000015
【図１３】
2010049537.tif 000016
【図１４】
2010049537.tif 000017
【図１５】
2010049537.tif 000018
【図１６】
2010049537.tif 000019
【図１７】
2010049537.tif 000020
【図１８】
2010049537.tif 000021
【図１９】
2010049537.tif 000022
【図２０】
2010049537.tif 000023
【図２１】
2010049537.tif 000024
【図２２】
2010049537.tif 000025
【図２３】
2010049537.tif 000026