(57)【特許請求の範囲】
【請求項１】
クライアントコンピュータにネットワークを介して接続されたサーバコンピュータにおいて、
前記クライアントコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアの名称、ソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報が登録されたソフトウェアデータベースと、
パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とが登録されたパッチデータベースと、
前記パッチデータベースの内容が更新された場合に、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングするマッチング手段と、
マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信するパッチ処理手段とを備え、
前記パッチ処理手段は、
前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求する手段と、
前記要求に対して返信されてきた前記クライアントコンピュータの現在のソフトウェアの情報と前記ソフトウェアデータベースの情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信する手段と
を具備したことを特徴とするサーバコンピュータ。
【請求項２】
クライアントコンピュータにネットワークを介して接続されたサーバコンピュータによるソフトウェア更新方法において、
前記クライアントコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報をソフトウェアデータベースに登録する段階と、
パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とをパッチデータベースに登録あるいは更新する段階と、
前記パッチデータベースの内容が更新された場合、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングする段階と、
前記マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信する段階と、
前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求する段階と、
前記要求に対して返信されてきたソフトウェアの情報と前記パッチデータベースの情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信する段階と
を有することを特徴とするソフトウェア更新方法。
【請求項３】
クライアントコンピュータにネットワークを介して接続されたサーバコンピュータを動作させるプログラムを記憶した記憶媒体において、
前記サーバコンピュータに、
前記サーバコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報をソフトウェアデータベースに登録させ、
パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とをパッチデータベースに登録あるいは更新させ、
前記パッチデータベースの内容が更新された場合、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングさせ、
前記マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信させ、
前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求させ、
前記要求に対して返信されてきたソフトウェア情報と前記パッチ情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信させる
プログラムを前記サーバコンピュータが読み取り可能に記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばクライアント・サーバシステムなどに用いられるサーバコンピュータ、ソフトウェア更新方法、記憶媒体に関する。
【０００２】
【従来の技術】
近年、インターネット等のネットワーク上にコンピュータシステムを利用したサイトが公開されつつあるが、これに対してインターネットからサイトへの不正アクセスが多発しており、コンピュータシステムにおけるセキュリティホールの存在が非常に問題になってきている。
【０００３】
このセキュリティホールは、ハードウェアおよびソフトウェアの両面から埋めることができる。特にソフトウェアによってセキュリティホールを埋めることをパッチを当てる（ソフトウェアの更新）という。ソフトウェアのパッチは、製品のバグ対策等で製品プロバイダより提供される。バグの内容は、多岐にわたっており、セキュリティに関するものも多い。
【０００４】
一方、善意のセキュリティ研究者達は、システム上のセキュリティホールを絶えず探しており、その結果、発見したセキュリティホールを埋める対策として、該当システムに対してパッチが配布されるケースが増えている。
【０００５】
また、善意のセキュリティ研究者以外の人、例えば悪意のハッカーなどもセキュリティホールを探しているため、パッチの配布からパッチを当てるまでの作業は極めて迅速に行わなければならない。また、セキュリティを高いレベルで維持するためには、該当システムに対して常に最新のパッチを正しく当てる必要がある。
【０００６】
しかしながら、稼働中のシステムに最新のパッチを正しく当てることは容易なことではない。
【０００７】
例えばあるコンピュータに、各ハードウェアおよびソフトウェアを管理するオペレーティングシステム（以下ＯＳと称す）に対して最新のパッチを当てるような場合、ＯＳの環境下でそれまで動作していたアプリケーションソフトウェア  （以下ソフトウェアと称す）が動作しなくなるといった事例は少なくない。従って、ソフトウェアのパッチは、他のソフトウェアへの影響が無いことを検証した上で当てなければならない。
【０００８】
【発明が解決しようとする課題】
このように、従来から、既に稼働中のコンピュータシステムあるいはソフトウェアにパッチを当てる作業は難しく、このため、パッチが正しく当らないことでのトラブルも多い。
【０００９】
例えばインターネット上のサイトを構築するソフトウェアにパッチが正しく当ら無い場合、セキュリティホールが埋められず、上記ハッカーによる攻撃にサイトあるいはコンピュータシステムがさらされ続けることもある。
【００１０】
本発明はこのような課題を解決するためになされたもので、コンピュータシステムにパッチを自動的かつ安全に適用することができ、この結果、例えばシステムセキュリティの向上に寄与することのできるサーバコンピュータ、ソフトウェア更新方法、記憶媒体を提供することを目的としている。
【００１１】
【課題を解決するための手段】
上記した目的を達成するために、請求項１記載の発明のサーバコンピュータは、クライアントコンピュータにネットワークを介して接続されたサーバコンピュータにおいて、前記クライアントコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアの名称、ソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報が登録されたソフトウェアデータベースと、パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とが登録されたパッチデータベースと、前記パッチデータベースの内容が更新された場合に、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングするマッチング手段と、マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信するパッチ処理手段とを備え、前記パッチ処理手段は、前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求する手段と、前記要求に対して返信されてきた前記クライアントコンピュータの現在のソフトウェアの情報と前記ソフトウェアデータベースの情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信する手段とを具備したことを特徴としている。
【００１３】
請求項２記載の発明のソフトウェア更新方法は、クライアントコンピュータにネットワークを介して接続されたサーバコンピュータによるソフトウェア更新方法において、前記クライアントコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報をソフトウェアデータベースに登録する段階と、パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とをパッチデータベースに登録あるいは更新する段階と、前記パッチデータベースの内容が更新された場合、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングする段階と、前記マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信する段階と、前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求する段階と、前記要求に対して返信されてきたソフトウェアの情報と前記パッチデータベースの情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信する段階とを有することを特徴としている。
【００１５】
請求項３記載の発明の記憶媒体は、クライアントコンピュータにネットワークを介して接続されたサーバコンピュータを動作させるプログラムを記憶した記憶媒体において、前記サーバコンピュータに、前記サーバコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報をソフトウェアデータベースに登録させ、パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とをパッチデータベースに登録あるいは更新させ、前記パッチデータベースの内容が更新された場合、前記ソフトウェアデータベースと前記パッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングさせ、前記マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信させ、前記マッチングの結果、情報がマッチしないソフトウェアがあった場合に、前記クライアントコンピュータに対して現在のソフトウェアの情報を要求させ、前記要求に対して返信されてきたソフトウェア情報と前記パッチ情報とで差異がある場合、前記ソフトウェアデータベースの情報を更新し、更新した前記ソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとし前記クライアントコンピュータに対して前記パッチを配信させるプログラムを前記サーバコンピュータが読み取り可能に記憶したことを特徴としている。
【００１７】
本発明では、クライアントコンピュータにインストールされたソフトウェアの中でパッチ適用対象として予め定めたソフトウェアのバージョン、パッチのバージョンを含む設定情報、及び前記ソフトウェアに依存するソフトウェアの参照情報をサーバコンピュータのソフトウェアデータベースに登録しておき、また、パッチの適用対象となるソフトウェアと、前記ソフトウェアにパッチを適用した場合に影響を受けないことが検証された他のソフトウェアとの組み合わせと、組み合わせられるソフトウェアのバージョン、パッチのバージョンを含めた設定情報とをサーバコンピュータのパッチデータベースに登録しておく。そして、サーバコンピュータのパッチデータベースの内容が更新されると、ソフトウェアデータベースとパッチデータベースの、ソフトウェアのバージョン、パッチのバージョンを含む設定情報をマッチングし、マッチングの結果、互いの情報がマッチした場合に、当該ソフトウェアに対してパッチを当てるべきものとし、該当ソフトウェアに当てるパッチを前記クライアントコンピュータに配信する。
マッチングの結果、情報がマッチしないソフトウェアがあった場合に、クライアントコンピュータに対して現在のソフトウェアの情報を要求し、この要求に対して返信されてきたソフトウェアの情報とパッチデータベースの情報とで差異がある場合、ソフトウェアデータベースの情報を更新し、更新したソフトウェアデータベースの情報とパッチデータベースの内容を照合して、互いのデータベースの現在の情報が一致している場合にパッチを当てるべきものとしクライアントコンピュータに対してパッチを配信するので、ソフトウェア更新対象のクライアントコンピュータでは、サーバコンピュータからパッチを受信することで、ソフトウェアを自動的にかつ安全に更新することができる。この結果、システムセキュリティの向上に寄与することができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は本発明に係る一つの実施形態のクライアント・サーバシステムの構成を示す図、図２はこの実施形態のクライアント・サーバシステムのサーバにおけるＳＷデータベースの内容の一例を示す図、図３はこの実施形態のクライアント・サーバシステムのサーバにおけるパッチデータベースの内容の一例を示す図である。
【００２０】
図１に示すように、このクライアント・サーバシステムは、保守センタなどに設置されたサーバコンピュータ１（以下サーバ１と称す）と、保守センタと保守契約した複数の企業等にそれぞれ設置された各コンピュータシステム２，３の各クライアントコンピュータ２１，２２，３１，３２（以下クライアント２１，２２，３１，３２と称す）とをネットワーク５を介して接続して構成されている。
【００２１】
サーバ１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスクドライブ、キーボード、マウス、モニタ、通信インターフェースなどのハードウェアを備えている。ハードディスクドライブには、オペレーティングシステム（以下ＯＳと称す）と、ソフトウェアデータベース１１（以下ＳＷデータベース１１と称す）、パッチデータベース１２、データベース管理部１３（以下ＤＢ管理部１３と称す）、パターンマッチング部１４（照合手段）、セキュリティ検出部１５、通信部１６、パッチ処理部１７等のソフトウェアとがインストールされている。なお、これら各部はハードウェアで構成しても良い。ＳＷデータベース１１を第１のデータベース、パッチデータベース１２を第２のデータベースという。
【００２２】
ＤＢ管理部１３は、ＳＷデータベース１１およびパッチデータベース１２を監視および管理し、パッチデータベース１２に情報が登録あるいは更新されるなどしてパッチデータベース１２の内容が変化すると、パッチ処理部１４にメッセージを送出しパッチ処理部１４を起動する。パッチ処理部１４は、起動すると、メッセージに含まれるパッチデータベース１２の参照情報を基に新たに登録されたパッチ情報が適用されるべきソフトウェアをＳＷデータベース１１から検索するる。そして新たに登録されたパッチ情報に該当するシステムのソフトウェア、つまり該当ソフトウェアが搭載されているクライアント（ハードウェア）上のパッチ適用処理部（ソフトウェア）に対してパッチとこのパッチを適用する際に必要となる命令（コマンド、手順など）および付随する設定情報（例えばコマンドを設定する際のパラメータなど）等のパッチ情報（ソフトウェア更新情報）とを送信（配信）する。
【００２３】
ここで、参照情報とは、図３にあるパッチ対象ソフトウェア、依存ソフトウェアに関する情報であって、少なくともそれぞれのソフトウェアの名称を含んでいるものをいう。但し、依存ソフトウェアの設定情報を含んでいることが望ましい。
【００２４】
ネットワーク５に接続された各コンピュータシステム２，３のクライアント２１，２２，３１，３２には、通信部４１、暗号処理部４２、検証部４３、パッチ適用処理部４４などが設けられている。これらは、例えばソフトウェアの場合、ハードディスクドライブなどにインストールされている。通信部４１はサーバ１とネットワーク５を通じて情報の送受信を行う。暗号処理部４２はサーバ１からネットワーク５を通じて受信された情報を復号化したり、サーバ１へ送信するＳＷ情報を暗号化する。検証部４３はサーバ１から送信されてきたパッチ情報に付加されている電子署名の正当性を検証する。パッチ適用処理部４４はサーバ１からネットワーク５を通じて受信された情報が送信予告情報であった場合、検証部４３による電子署名の検証結果が正しければ、クライアント自身（ハードウェア）にインストールされている図示せずソフトウェアの設定情報（例えばクライアント自身にインストールされているソフトウェア名、そのバージョン等をいう）を収集し、電子署名を付与してサーバ１へ返信する。また、このパッチ適用処理部４４は、サーバ１からネットワーク５を通じてパッチ、パッチ適用のための命令および設定情報等のパッチ情報が受信された場合、検証部４３による電子署名の検証結果が正しければ、受信されたパッチ情報を基にクライアント自身にインストールされているソフトウェアにパッチを適用する。
【００２５】
図２に示すように、ＳＷデータベース１１には、システム情報として、ハードウェア情報（以下ＨＷ情報と称す）とソフトウェア情報（以下ＳＷ情報と称す）が設定および管理されている。ＨＷ情報としては、保守対象のコンピュータシステム毎のＨＷ情報（ＨＷ１，ＨＷ２，…，ＨＷｎ）などが設定および管理されている。
【００２６】
ＳＷ情報としては、各ＨＷ毎のソフトウェアの情報、つまりＨＷ１に対して、例えばオペレーティングシステム（ＯＳ）、パッチバージョン、ＯＳの設定情報（ＯＳ config ）、ミドルウェア１（ＭＷ１）、ＭＷ１ config 、ＭＷ２…、アプリケーション１（Appli １）（ＭＷ１１，ＭＷ１２…ＭＷ１ｒ１）、Appli １config、…、Appli ２）（ＭＷ２１，ＭＷ２２…ＭＷ２ｒ１（他のＨＷ上のＭＷ、アプリケーションで依存関係にあるもの（こちらに依存するもの、こちらが依存するもの両方を含む）））、Appli ２config、…などが設定および管理されている。また、ＨＷ２に対してもＨＷ１と同様にソフトウェアの情報が設定および管理されている。
【００２７】
このＳＷデータベース１１は、パッチを当てる必要が生じると考えられるシステムのソフトウェアの構成情報を記述するデータベースである。既にソフトウェア間でパッチを当てた場合の依存関係（影響）があることが把握されている場合は、その情報もこのＳＷデータベース１１に蓄積される。各ソフトウェアの構成情報としては、ソフトウェアのバージョン情報の他、設定情報（config）、当てられるパッチの情報なども含まれる。
【００２８】
すなわち、このＳＷデータベース１１は、パッチの適用対象となるソフトウェアが利用されるシステムを構成するハードウェアと該当ハードウェアにインストールされているソフトウェアと、該当ソフトウェアの設定情報とからなるデータベースである。
【００２９】
図３に示すように、パッチデータベース１２には、ＯＳ名（ソラリスなど）、パッチバージョン（Ver.１．０など）、config、ＭＷ名（oracleなど）、oracle config などが格納されている。
【００３０】
このパッチデータベース１２は、あるソフトウェアにパッチを当てても影響を受けないことが検証された他のソフトウェアの情報を蓄積するデータベースである。蓄積されている情報としては、それぞれのパッチに対してどのソフトウェアのどのバージョンに対するパッチであるのか、そのパッチを当てることにより、動作に影響を受けないソフトウェアは何でどのバージョンなのか、その場合に設定情報（config）などの条件はあるかなどの情報である。
【００３１】
すなわち、このパッチデータベース１２は、パッチの適用対象となるソフトウェアと、該当パッチを適用した場合に動作異常が起こらないソフトウェアの組み合わせと、その条件とを記述したデータベースといえる。
【００３２】
ここで、当該パッチと動作異常が起こらないソフトウェアの組み合わせとしては、例えば図２のパッチ対象ソフトウェア（ＡＡＡ）と依存ソフトウェア（ＢＢＢ）との組み合わせ、パッチ対象ソフトウェア（ＡＡＡ）と依存ソフトウェア（ＣＣＣ）との組み合わせ等のようなパッチ対象ソフトウェアと依存ソフトウェアとの組み合わせの他、パッチ対象ソフトウェア（ＡＡＡ）と依存ソフトウェア（ＢＢＢ）と依存ソフトウェア（ＣＣＣ）の組み合わせ等、パッチ対象ソフトウェアと複数の依存ソフトウェアとが同時にインストールされていても動作異常が起こらない組み合わせも含まれる。ソフトウェアＡＡＡとＢＢＢとＣＣＣとの関係についても必要とされるのは、例えばＷｅｂ上のＤＢシステムで、ＯＳにパッチを当てるとＷｅｂサーバは正常に動くが、ＤＢは正常に動かない場合があるからである。
【００３３】
また、パッチ対象ソフトウェアと依存ソフトウェアとの組合せは、同じハードウェア内にインストールされる場合に限られず、同じシステム内にインストールされる場合（それぞれのソフトウェアが複数のハードウェアに別れてインストールされる場合）も含まれる。
【００３４】
以下、このクライアント・サーバシステムの動作を説明する。
保守センタに、ソフトウェアベンダからパッチが提供されると、保守センタのシステム管理エンジニアは、該当ソフトウェアのパッチを当てた場合に他のソフトウェアへの影響の有無を検証する。この検証で他のソフトウェアへの影響が無いことが検証されると、システム管理エンジニアは、サーバ１のパッチデータベース１２にパッチを当てる手順と、影響を受けないソフトウェアの情報とを与える。
【００３５】
これにより、サーバ１において、パッチデータベース１２が更新されると、ＤＢ管理部１３がパッチ処理部１７にメッセージを与え、パッチ処理部１７が起動される。
【００３６】
パッチ処理部１７は、メッセージに含まれるパッチデータベース１２の参照情報をパターンマッチング部１４に渡す。
【００３７】
パターンマッチング部１４は、参照情報を基にパッチデータベース１２とＳＷデータベース１１とのパターンマッチングを行い、新たにパッチデータベース１２に登録されたパッチ情報が適用されるべきソフトウェアをＳＷデータベース１１から検索する。
【００３８】
パターンマッチングの結果、パッチを当てるべきではあるものの影響が検証されていないソフトウェアがある場合、パターンマッチング部１４は、パッチ処理部１７に対してパッチを当てる処理を中止させる。
【００３９】
一方、パターンマッチングの結果、対象コンピュータシステムの全てのソフトウェアについて影響が無いことが検証されている場合、パターンマッチング部１４は、パッチ処理部１７に対してパッチを当てる処理を継続するよう通知する。は、パターンマッチング部１４からパッチ処理部１７にパッチを当てる処理の継続が通知されると、パッチ処理部１７は、該当コンピュータシステムの該当クライアントに対してパッチプログラムを送信する前に、送信予告情報を通信部１６から該当クライアントへ送信させる。
【００４０】
コンピュータシステム２，３のクライアント２１，２２，３１，３２の該当クライアント、例えばクライアント２１では、パッチ処理部１７から送信予告情報を受信した場合、自身の現在のシステム情報を収集してサーバ１のパッチ処理部１７へ返信する。なお、サーバ１からの送信予告情報は暗号化しなくても良いが、電子署名は必要であり、クライアント２１から返信するシステム情報は、暗号化する必要があるので、暗号処理部４２で暗号化し、電子署名を付与する。
【００４１】
クライアント２１からの返信（システム情報）をサーバ１の通信部１６を通じてパッチ処理部１７が受け取ると、パッチ処理部１７は、セキュリテイ検出部１５を通じてセキュリティチェックをした後、その返信（システム情報）に含まれているＳＷ情報を抽出する。
【００４２】
そして、パッチ処理部１７は、抽出したＳＷ情報をパターンマッチング部１４に渡し、ＳＷデータベースのＳＷ情報と比較させる。
【００４３】
この比較結果、ＳＷデータベース１１のＳＷ情報と該当クライアント２１から受信した現在のクライアントのＳＷ情報と差異がある場合、バッチ処理部１７は、ＳＷデータベース１１を更新する。
【００４４】
続いて、バッチ処理部１７は、更新したＳＷデータベース１１の内容とパッチデータベース１２の内容とを照合して一致している場合のみ、パッチを当てるべき手順（命令）とパラメータ（例えばコマンド引数などの設定情報）等を生成し、パッチ（プログラム）とこのパッチを適用する際に必要となる命令および付随する設定情報などのバッチ情報をセキュリティ処理部１５へ渡し、セキュリティ処理部１５は、バッチ情報を暗号化すると共に、暗号化した情報に電子署名を付加して通信部１６へ渡し、通信部１６は、電子署名の付加された情報をネットワーク５を通じてクライアント２１へ送信する。この場合、クライアント２１にはパッチ対象のソフトウェアが搭載されているので、クライアント２１では、通信部４１で情報を受信すると、通信部４１は情報に付加されている電子署名を検証部４３に渡し、電子署名の検証を依頼する。
【００４５】
検証部４３は、渡された電子署名を基に、受信された情報が本当にサーバ１からのものであるか否かを検証する。
【００４６】
検証部４３で電子署名が認証されると、続いて、暗号処理部４２が、暗号化されている情報を復号化し、パッチ情報が得られる。このパッチ情報はパッチ適応処理部４４に渡される。
【００４７】
パッチ情報が渡されたパッチ適応処理部４４は、そのパッチ情報を基にこのクライアント上の該当ソフトウェアを一時停止するなどして該当ソフトウェアにパッチを適用する。
【００４８】
なお、直ちに一時停止できないようなコンピュータシステムの場合、パッチ適応処理部４４は、パッチ適用の時間帯をサーバ１あるいはこのクライアント２１のシステム管理者に問い合わせ、その問い合わせ結果をパッチ適応処理時間として自身に登録する。
【００４９】
また、クライアント２１（ハードウェア）を停止させるには、起動中のソフトウェア群を問題無く停止させるための一定の順序があるので、これらの順序も予めＳＷデータベース１１に登録しておき、一定のフォーマットに従って停止手順の情報（停止情報）もパッチ情報の一部としてサーバ１からクライアント２１へ配信する。この停止情報についても暗号化を施す。
【００５０】
なお、上記実施形態では、情報の暗号化と電子署名による認証とを共に行った例について説明したが、いずれか一方のみでも良く、また、サーバ／クライアント間が完全に閉鎖されたネットワークでは暗号化や電子認証を行わなくても良い。
【００５１】
このようにこの実施形態のクライアント・サーバシステムによれば、サーバ１に、ＳＷデータベース１１とパッチデータベース１２とを設け、パッチデータベース１２が更新されると、パッチ処理部１７が起動して、更新されたパッチデータベース１２とＳＷデータベース１１の内容を照合して一致した場合にのみ該当コンピュータシステムの該当クライアントに対してパッチを配信するので、該当クライアント側では、パッチを安全に適用することができる。
【００５２】
また、サーバ１では、パッチ情報をパッチ適用対象のクライアントへ配信する前に、送信予告情報を送り、クライアントの現在のシステム情報をサーバ１に収集した上でパッチ適用可否を判定し、パッチ適用可能な場合にパッチ情報を送信するので、パッチをより安全に適用することができる。
【００５３】
さらに、パッチ情報はサーバ１で暗号化し電子署名を付加して対象クライアントへ送るので、データの改ざん、不正ななりすまし、第三者によるデータの傍受などの危険を回避し、パッチを安全にかつ確実に対象クライアントに当てることができる。また、クライアントもパッチ情報の発信元を確かめた上でパッチを適用することができる。
【００５４】
すなわち、この実施形態のクライアント・サーバによれば、保守管理対象のコンピュータシステム２のクライアント２１にパッチを自動的かつ安全に適用することができ、この結果、システムセキュリティの向上に寄与することができる。
【００５５】
なお、本発明は上記実施形態のみに限定されるものでは無い。
上記実施形態では、サーバ１とクライアント２１，２２、３１，３２に各構成を配置した例を説明したが、アプレットとブラウザで実現することもできる。
【００５６】
例えば図４に示すように、サーバ５１にパッチデータベース５２とアプレット５３を設ける一方、クライアント６１にＳＷデータベース６２とブラウザ６３を備える構成としても良い。アプレット５３はネットワークを通じてブラウザ６３にダウンロードされてブラウザ６３のウィンドウ（画面）に埋め込まれて実行されるプログラムである。アプレット５３として、例えばjava applet などを用いる。
【００５７】
この場合、クライアント６１において、ブラウザ６３からサーバ５１へアクセスすることで、アプレット５３がクライアント６１にダウンロードされて（Ｓ１０１）、ブラウザ６３に埋め込まれ、以下の処理を開始する。
【００５８】
アプレット５３は、まず、クライアント６１のＳＷデータベース６２からＳＷ情報をサーバ５１に吸い上げる（Ｓ１０２）。
【００５９】
そして、サーバ５１において、吸い上げたＳＷ情報とパッチデータベース５２の内容とをマッチングし（Ｓ１０３）、このマッチング結果、最新のパッチが適用可能な場合に、サーバ５１のパッチ情報をクライアント６１にダウンロードして（Ｓ１０４）、パッチをクライアント６１に適用する（Ｓ１０５）。
【００６０】
すなわち、上記実施形態のクライアント・サーバシステムは、サーバ側からの働きかけでクライアントにパッチを適用させる、いわゆるプッシュ型の運用形態であったが、この場合は、クライアント６１からサーバ５１へ働きかける、いわゆるＯＳ，ＭＷなどの製品保守型の運用形態といえる。
【００６１】
さらに、図５に示すように、サーバ７１にパッチデータベース７２とＳＷデータベース７３とアプレット７４を設け、クライアント８１にブラウザ８２を備えた構成としても良い。
【００６２】
この場合、クライアント８１において、ブラウザ８２からサーバ７１にアクセスし、アプレット７４をダウンロードすることで（Ｓ２０１）、アプレット７４が処理を開始する。
【００６３】
この場合、アプレット７４は、まず、クライアント８１上で実際に動作している現在のシステム（ＳＷ）の情報（ＳＷ情報）をサーバ７１に吸い上げ（Ｓ２０２）、サーバ７１のＳＷデータベース７３を更新する。
【００６４】
そして、サーバ７１において、更新されたＳＷデータベース７３の内容とパッチデータベース７２の内容とをマッチングし（Ｓ２０３）、このマッチング結果、最新のパッチが適用可能な場合に、サーバ７１のパッチ情報をクライアント８１にダウンロードし（Ｓ２０４）、パッチをクライアント８１に適用する（Ｓ２０５）。
【００６５】
すなわち、この図５の例のクライアント・サーバシステムは、図４の例に対してアプレット７４の機能を強化したものであり、コンピュータシステムの保守員がクライアント８１を操作することでパッチを当てる、いわゆるシステム保守型の運用形態といえる。
【００６６】
また、上記実施形態におけるソフトウェアは、フロッピーディスクなどのコンピュータが読み出し可能な記憶媒体に記憶されていても良く、この場合、記憶媒体に記憶されたソフトウェア（プログラム）をコンピュータが読み出すことにより、各実施形態における処理が可能になる。
【００６７】
なお、記憶媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤなど）、光磁気ディスク（ＭＯなど）、半導体メモリなど、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式はいずれの形態であっても良い。
【００６８】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフトなどのＭＷ（ミドルウェア）などが本実施形態を実現するための各処理の一部を実行しても良い。
【００６９】
さらに、記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００７０】
また、記憶媒体は一つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記録媒体に含まれ、媒体構成はいずれの構成であっても良い。
【００７１】
なお、コンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコンなどの一つからなる装置、複数の装置がネットワーク接続されたシステムなどのいずれの構成であっても良い。
【００７２】
また、コンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコンなども含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００７３】
【発明の効果】
以上説明したように本発明によれば、サーバコンピュータに、クライアントコンピュータ上で処理を実行するソフトウェアの情報を登録しておき、更新対象ソフトウェアおよび更新対象ソフトウェアに依存するソフトウェアに関する情報である参照情報が登録あるいは更新されると、その更新内容とソフトウェア情報とを照合することでソフトウェア更新の可否を判定し、ソフトウェアの更新が可能な場合にソフトウェア更新情報をクライアントコンピュータに配信するので、クライアントコンピュータでは、受信したソフトウェア更新情報を基にソフトウェアを自動的にかつ安全に更新することができる。
【００７４】
この結果、システムセキュリティの向上に寄与することができる。
【図面の簡単な説明】
【図１】本発明の一つの実施形態のクライアント・サーバシステムの構成を示す図。
【図２】このクライアント・サーバシステムにおいて、サーバのＳＷデータベースを示す図。
【図３】このクライアント・サーバシステムにおいて、サーバのパッチデータベースを示す図。
【図４】アプレットを用いた応用例を示す図である。
【図５】アプレットを用いた応用例を示す図である。
【符号の説明】
１…サーバ、２，３…コンピュータシステム、５…ネットワーク、１１…ＳＷデータベース、１２…パッチデータベース、１３…ＤＢ管理部、１４…パターンマッチング部、１５…セキュリティ検出部、１６…通信部、１７…パッチ処理部、２１，２２，３１，３２…クライアント、４１…通信部、４２…暗号処理部、４３…検証部、４４…パッチ適用処理部。
【図１】
0004987180.tif 000002
【図２】
0004987180.tif 000003
【図３】
0004987180.tif 000004
【図４】
0004987180.tif 000005
【図５】
0004987180.tif 000006