(57)【要約】      （修正有）【課題】コンピュータ・システムのソフトウェア・コンポーネントの更新を単純化して、管理者の作業負荷及びコンピュータ・システム自身のシステム負荷の両方を軽減する方法、システム及び装置を提供する。【解決手段】コンピュータ・システムのメイン・プロセッサ及びオペレーティング・システムとは独立に動作するサービス・プロセッサによって少なくとも一つの所定のネットワーク源から複数の更新パッケージをダウンロードし、ダウンロードされた更新パッケージをコンパイルしてデータ・ボリューム３４、３５を形成する。オペレーティング・システムの制御のもとで実行されるエージェント・サービス２８とコンパイルされたデータ・ボリューム３４、３５との間のデータ接続を確立し、エージェント・サービスによって、コンパイルされたデータ・ボリューム内の複数の更新パッケージに基づいてソフトウェア・コンポーネントを更新する。【選択図】図３
2016194891.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システム（１）のソフトウェア・コンポーネントを更新する方法であって：
・前記コンピュータ・システム（１）のサービス・プロセッサ（４）によって少なくとも一つの所定のネットワーク源から複数の更新パッケージ（４０）をダウンロードする段階であって、前記サービス・プロセッサは前記コンピュータ・システム（１）のメイン・プロセッサ（３）およびオペレーティング・システム（１５）とは独立に動作させられることができる、段階と；
・ダウンロードされた更新パッケージ（４０）をコンパイルしてデータ・ボリューム（３５）を形成する段階と；
・オペレーティング・システム（１５）の制御のもとで実行されるエージェント・サービス（２８）とコンパイルされたデータ・ボリューム（３５）との間のデータ接続を確立する段階と；
・前記エージェント・サービス（２８）によって、前記コンパイルされたデータ・ボリューム（３５）内の前記複数の更新パッケージ（４０）に基づいてソフトウェア・コンポーネントを更新する段階とを含む、
方法。
【請求項２】
前記複数の更新パッケージ（４０）をダウンロードする段階が：
・前記サービス・プロセッサ（４）によって、更新サーバー（４１）から、利用可能な更新パッケージ（４０）を含む第一のリストをダウンロードする段階であって、前記第一のリストは、前記利用可能な更新パッケージ（４０）に関係するメタデータを含む、段階と；
・前記第一のリストに含まれる前記メタデータを、前記コンピュータ・システム（１）にインストールされているソフトウェア・コンポーネントに関係する対応するメタデータと比較する段階と；
・前記コンピュータ・システム（１）に含まれており、更新される必要のあるソフトウェア・コンポーネントを含む第二のリストを、前記比較に基づいて生成する段階と；
・前記サービス・プロセッサ（４）によって、前記第二のリストに従って前記更新パッケージ（４０）をダウンロードする段階とを含む、
請求項１記載の方法。
【請求項３】
前記複数の更新パッケージ（４０）をダウンロードする段階が：
・前記コンピュータ・システム（１）にインストールされているソフトウェア・コンポーネントを判別する段階と；
・判別されたソフトウェア・コンポーネントのリストを生成する段階であって、前記第一のリストは、判別されたソフトウェア・コンポーネントに関係するメタデータを含む、段階と；
・前記メタデータを含む生成されたリストに基づいて更新サーバー（４１）から更新パッケージ（４０）をダウンロードする段階とを含む、
請求項１記載の方法。
【請求項４】
前記メタデータはたとえば、前記ソフトウェア・コンポーネントの少なくとも一つの一意的な名前、前記ソフトウェア・コンポーネントに関係するバージョン情報項目および／または前記ソフトウェア・コンポーネントの最終更新日を含み、
前記ダウンロードする段階において、更新パッケージ（４０）のうち、インストールされているソフトウェア・コンポーネントの一つに一致する名前をもつものおよび／またはバージョン情報または最終更新日が、該更新パッケージが対応するインストールされている更新パッケージより最近のものであることを示す更新パッケージ（４０）のみがダウンロードされる、
請求項２または３記載の方法。
【請求項５】
前記データ・ボリューム（３５）をコンパイルすることが：
・前記サービス・プロセッサに接続されたメモリ内に仮想記憶媒体のイメージを生成する段階と；
・生成されたイメージを前記オペレーティング・システム（１５）における仮想メモリ・ドライブとして組み込む段階とを含む、
請求項１記載の方法。
【請求項６】
前記ダウンロードする段階、コンパイルする段階、確立する段階および更新する段階のうちの少なくとも一つは、前記サービス・プロセッサ（４）のスケジューリング・コンポーネントによって開始される、請求項１記載の方法。
【請求項７】
前記更新する段階において、前記コンピュータ・システム（１）のアプリケーション・ソフトウェア・コンポーネント、オペレーティング・システム・ソフトウェア・コンポーネント、ドライバ・ソフトウェア・コンポーネントおよび／またはファームウェア・コンポーネントが更新される、請求項１記載の方法。
【請求項８】
コンピュータ・システム（１）であって：
・オペレーティング・システム（１５）と、該オペレーティング・システムにおいて走るエージェント・サービス（２８）とを実行するためのメイン・プロセッサ（３）と；
・前記メイン・プロセッサ（３）および前記オペレーティング・システム（１５）とは独立に動作させられることができるサービス・プロセッサ（４）とを有しており、
・前記サービス・プロセッサ（４）は、当該コンピュータ・システム（１）のために複数の更新パッケージ（４０）をロードし、それらをコンパイルしてデータ・ボリューム（３５）を形成するよう構成されており、
・前記エージェント・サービス（２８）は、コンパイルされたデータ・ボリューム（３５）へのデータ接続を確立し、前記コンパイルされたデータ・ボリューム（３５）内の前記複数の更新パッケージ（４０）に基づいて、当該コンピュータ・システム（１）のソフトウェア・コンポーネントを更新するよう構成されている、
コンピュータ・システム。
【請求項９】
前記オペレーティング・システム（１５）を記憶するための少なくとも一つの第一のメモリ装置と、前記第一のメモリ装置とは独立に動作させられることができ、前記サービス・プロセッサ（４）に結合され、前記データ・ボリューム（３５）を記憶することが意図されている少なくとも一つの第二のメモリ装置とをさらに有しており、
前記第二のメモリ装置は不揮発性大容量メモリ、特に、当該コンピュータ・システム（１）に恒久的に接続されたフラッシュ・メモリ・モジュールの形または交換可能なフラッシュ・メモリ・カードの形であり、
前記サービス・プロセッサ（４）は、前記第二のメモリ装置に記憶媒体のイメージを記憶し、記憶されたイメージを、前記オペレーティング・システム（１５）のための、仮想メモリ・ドライブ中に挿入されている記憶媒体として提供するよう構成されている、
請求項８記載のコンピュータ・システム。
【請求項１０】
前記サービス・プロセッサ（４）は、前記記憶されたイメージを、読み出し専用動作モードをもつ仮想メモリ・ドライブ、特にCDもしくはDVDドライブのデータ記憶媒体として提供するよう構成されており、
前記サービス・プロセッサ（４）は、前記データ・ボリューム（３５）にアクセスするための標準的なインターフェースをエミュレートするよう構成されており、その結果、前記オペレーティング・システム（１５）は、製造業者固有のドライバ・ソフトウェアなしに前記データ・ボリューム（３５）にアクセスできる、
請求項９記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムにおけるソフトウェア・コンポーネントを更新するための方法であって、複数の更新パッケージが少なくとも一つの所定のネットワーク源からダウンロードされ、該コンピュータ・システムのソフトウェア・コンポーネントを更新するために使われるものに関する。本発明は、そのような方法を実行するための実行可能なプログラム・コードが記憶されているコンピュータ・システムおよびメモリ装置にも関する。
【背景技術】
【０００２】
コンピュータ・システムのソフトウェア・コンポーネントを更新する方法は広く知られている。コンピュータ・システムおよびその上で走るソフトウェア・コンポーネントの複雑さが絶えず増し続ける結果として、ソフトウェア・コンポーネントの更新に対する強い需要がある。ソフトウェア・コンポーネントの更新はたとえば、新たに発見されたセキュリティ・ギャップを埋めたり、あるいはソフトウェア・コンポーネントの機能を拡張したりする。
【０００３】
前記ソフトウェア・コンポーネントは、アプリケーション・ソフトウェアまたはオペレーティング・システムの一部、特にドライバ・ソフトウェアのようなハードウェアに近いソフトウェア・コンポーネントあるいはハードウェア・コンポーネント自身の不揮発性メモリに記憶されているいわゆるファームウェア・コンポーネントであってもよい。
【０００４】
事実上、ソフトウェア・コンポーネントのあらゆる製造業者は、該製造業者が提供するソフトウェア・コンポーネントを更新する手段を提供する。たとえば、ハードウェア・コンポーネントの製造業者は通例、更新されたファームウェア・バージョンをもってプログラム可能フラッシュ・メモリを更新するためのいわゆるフラッシュ・プログラムを提供する。ドライバ、オペレーティング・システムおよび／またはアプリケーション・プログラムの製造業者は一般に、該製造業者が生産したプログラムの、個々のソフトウェア・コンポーネントまたは複数のソフトウェア・コンポーネントを更新するためのユーティリティーを提供する。
【０００５】
コンピュータ・システムに含まれるソフトウェア・コンポーネントの多さと、前記ソフトウェア・コンポーネントが更新される頻度の増大との結果として、コンピュータ・システムを維持する、特にコンピュータ・システムにインストールされているソフトウェア・コンポーネントを更新するために必要とされる努力は、絶えず増しつつある。これは特に、一般に中断なしに動作し、よって限られた範囲でしか維持作業のために利用可能でないサーバー・コンピュータにおいて妨害的である。さらに、コンピュータ・システムの管理者またはユーザーによる更新パッケージの手動アップロードは長い時間がかかる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、コンピュータ・システムのソフトウェア・コンポーネントの更新を単純化する方法および装置を記述することである。記述される解決策は、好ましくは、管理者の作業負荷およびコンピュータ・システム自身のシステム負荷の両方を軽減することが意図される。
【課題を解決するための手段】
【０００７】
本発明の第一の側面は、コンピュータ・システムのソフトウェア・コンポーネントを更新する方法を記述する。本方法は、以下の段階、すなわち：
・前記コンピュータ・システムのサービス・プロセッサによって少なくとも一つの所定のネットワーク源から複数の更新パッケージをダウンロードする段階であって、該サービス・プロセッサは前記コンピュータ・システムのメイン・プロセッサおよびオペレーティング・システムとは独立に動作させられることができる、段階と；
・ダウンロードされた更新パッケージをコンパイルしてデータ・ボリュームを形成する段階と；
・オペレーティング・システムの制御のもとで実行されるエージェント・サービスとコンパイルされたデータ・ボリュームとの間のデータ接続を確立する段階と；
・前記エージェント・サービスによって、前記コンパイルされたデータ・ボリューム内の前記複数の更新パッケージに基づいてソフトウェア・コンポーネントを更新する段階とを含む。
【０００８】
上記の方法によれば、前記コンピュータ・システムを更新するために必要とされる努力は、サービス・プロセッサと、前記コンピュータ・システムのオペレーティング・システムのもとで走るエージェント・サービスとの間で分割される。特に、前記サービス・プロセッサは、少なくとも一つのネットワーク源からの前記更新パッケージのしばしば時間がかかるダウンロードを実行し、それをエージェント・サービスのためにコンパイルする。その間、前記コンピュータ・システムのオペレーティング・システムは妨害なしに、かつそのメイン・プロセッサに追加的な負荷をかけることなしに、走り続けることができる。前記複数の更新パッケージがコンパイルされてデータ・ボリュームを形成したのち、前記エージェント・サービスは、オペレーティング・システムの制御のもとで、問題となっている前記ソフトウェア・コンポーネントを更新する。これにより、多数の更新を一緒に、かつ必要であれば自動的に、行なうことが可能になる。この場合、前記エージェント・サービスを提供することによって、オペレーティング・システムのソフトウェア・コンポーネントは、前記サービス・プロセッサによって間接的に更新されることができる。
【０００９】
少なくとも一つの洗練では、本方法はさらに、前記サービス・プロセッサによって、更新サーバーから、利用可能な更新パッケージを含む第一のリストをダウンロードする段階を含み、前記第一のリストは、前記利用可能な更新パッケージに関係するメタデータを含む。前記第一のリストに含まれる前記メタデータは、前記コンピュータ・システムにインストールされているソフトウェア・コンポーネントに関係する対応するメタデータと比較される。次いで、前記コンピュータ・システムに含まれており、更新される必要のあるソフトウェア・コンポーネントを含む第二のリストが、前記比較に基づいて生成される。前記サービス・プロセッサは、前記第二のリストに従って前記更新パッケージをダウンロードする。
【００１０】
ある代替的な洗練では、まず第一に、前記コンピュータ・システムにインストールされているソフトウェア・コンポーネントが判別される。次いで、判別されたソフトウェア・コンポーネントのリストが生成され、前記第一のリストは、判別されたソフトウェア・コンポーネントに関係するメタデータを含み、生成されたリストに基づいて更新サーバーから更新パッケージがダウンロードされる。
【００１１】
これらの洗練の一つに基づく手順の結果として、更新に先立って、対応するメタデータに基づいて更新が利用可能である前記コンピュータ・システムのソフトウェア・コンポーネントを判別することが可能である。次いで、そのような更新パッケージのみが前記サービス・プロセッサによってダウンロードされ、コンパイルされて前記データ・ボリュームを形成する。前記メタデータはたとえば、前記ソフトウェア・コンポーネントの一意的な名前、バージョン情報または最終更新日であってもよい。
【００１２】
少なくとも一つの洗練では、前記データ・ボリュームのコンパイルは、前記サービス・プロセッサに接続されたメモリ内の仮想記憶媒体のイメージを生成し、生成されたイメージを前記オペレーティング・システムにおける仮想メモリ・ドライブとして組み込むことを含む。前記データ・ボリュームを仮想メモリ・ドライブの記憶媒体として組み込むことで、あたかも更新パッケージが前記コンピュータ・システムのローカル・ドライブに記憶されているかのように、オペレーティング・システムが更新パッケージにアクセスすることが可能になる。したがって、更新パッケージにアクセスするためにオペレーティング・システムの側にさらなるソフトウェア・コンポーネントを提供する必要はない。
【００１３】
少なくとも一つの洗練では、上記のダウンロードする段階、コンパイルする段階、確立する段階および更新する段階のうちの少なくとも一つは、前記サービス・プロセッサのスケジューリング・コンポーネントによって開始される。そのような手順により、前記コンピュータ・システムの規則的な、自動的な更新を保証することが可能になる。
【００１４】
記載される方法は、前記コンピュータ・システムのアプリケーション・ソフトウェア・コンポーネント、オペレーティング・システム・コンポーネント、ドライバ・ソフトウェア・コンポーネントおよび／またはファームウェア・コンポーネントを更新するために使用されることができる。
【００１５】
本発明の第二の側面は、コンピュータ・システムを記述する。本コンピュータ・システムは、オペレーティング・システムと、該オペレーティング・システムにおいて走るエージェント・サービスとを実行するためのメイン・プロセッサを有する。本コンピュータ・システムは、前記メイン・プロセッサおよび前記オペレーティング・システムとは独立に動作させられることができるサービス・プロセッサをも有する。この場合、前記サービス・プロセッサは、前記コンピュータ・システムのために複数の更新パッケージをロードし、それらをコンパイルしてデータ・ボリュームを形成するようセットアップされ、前記エージェント・サービスは、コンパイルされたデータ・ボリュームへのデータ接続を確立し、前記コンパイルされたデータ・ボリューム内の前記複数の更新パッケージに基づいて、前記コンピュータ・システムのソフトウェア・コンポーネントを更新するようセットアップされる。
【００１６】
前記第二の側面に基づくコンピュータ・システムは、実質的に、前記第一の側面に基づく方法を実行することを可能にする。
【００１７】
少なくとも一つの洗練では、本コンピュータ・システムは、前記オペレーティング・システムを記憶するための少なくとも一つの第一のメモリ装置と、前記第一のメモリ装置とは独立に動作させられることができ、前記サービス・プロセッサに結合され、前記データ・ボリュームを記憶することが意図されている少なくとも一つの第二のメモリ装置とを有する。前記サービス・プロセッサに結合された第二のメモリ装置を提供することにより、ダウンロード中に、第一のメモリ装置、特に前記コンピュータ・システムのオペレーティング・システムを記憶するためのメモリ装置による負の影響を回避することが可能になる。さらに、ダウンロードは、前記サービス・プロセッサが前記第一のメモリ装置へのアクセスをもたないときまたは前記第一のメモリ装置が切断されているときにも可能となる。
【００１８】
少なくとも一つの洗練では、前記サービス・プロセッサは、前記第二のメモリ装置内に記憶媒体のイメージを記憶し、記憶されたイメージを前記オペレーティング・システムのための記憶媒体として提供するようセットアップされ、該記憶媒体は仮想メモリ・ドライブとして挿入される。
【００１９】
たとえば、記憶されたイメージは、読み出し専用動作モードをもつ仮想メモリ・ドライブ、特にCDもしくはDVDドライブのデータ記憶媒体として提供される。前記データ・ボリュームを仮想CDもしくはDVDドライブの記憶媒体として提供することは、前記データ・ボリュームの、前記オペレーティング・システムへの、簡単で、標準に準拠する統合を可能にする。さらに、前記データ・ボリュームの完全性（integrity）が、関連する読み出し専用動作モードによって、保証される。
【００２０】
少なくとも一つの洗練では、前記第二のメモリ装置は不揮発性大容量メモリである。たとえば、フラッシュ・メモリ・モジュールが恒久的に前記コンピュータ・システムに接続される、あるいは交換可能なフラッシュ・メモリ・カードが前記第二のメモリ装置として使用されることができる。そのようなメモリ装置は、比較的コスト効率がよく、単純な仕方で前記コンピュータ・システムのシステム・ボード上に配置されることができる。
【００２１】
本発明の第三の側面は、実行可能なプログラム・コードが記憶されているメモリ装置を記述する。前記プログラム・コードがサービス・プロセッサによって実行されるときに、前記コンピュータ・システムの前記サービス・プロセッサによって以下の段階が実行される：
・前記コンピュータ・システムのメイン・プロセッサおよびオペレーティング・システムとは独立に、複数の更新パッケージをダウンロードする段階と；
・ダウンロードされた更新パッケージをコンパイルしてデータ・ボリュームを形成する段階と；
・オペレーティング・システムの制御のもとで走るエージェント・サービスによって前記データ・ボリュームにアクセスするための、標準的なインターフェースをエミュレートする段階。
【００２２】
前記第三の側面に基づく前記メモリ装置の前記実行可能なプログラム・コードは、特に、前記第一の側面に基づく方法を実行するようサービス・プロセッサをプログラムするためおよび前記第二の側面に基づくコンピュータ・システムをセットアップするために使われる。
【００２３】
本発明のさらなる有利な洗練は、付属の特許請求項および以下の例示的な実施形態の記述において開示される。
【００２４】
本発明は、以下で、例示的な実施形態を使って、付属の図面を参照して詳細に記述される。
【図面の簡単な説明】
【００２５】
【図１】本発明のある洗練に基づくコンピュータ・システムの概略図である。
【図２】サービス・プロセッサのコンポーネントの概略図である。
【図３】前記サービス・プロセッサとエージェント・サービスとの間の対話の概略図である。
【図４】ソフトウェア・コンポーネントを更新するための方法のフローチャートである。
【発明を実施するための形態】
【００２６】
図１は、本発明のある洗練に基づく、コンピュータ・システム１を示している。特に、図１に基づくコンピュータ・システム１は、たとえばコンピューティング・センターにおいて使われているような、いわゆるサーバー・コンピュータである。コンピュータ・システム１は、複数のコンポーネントがインストールされているシステム・コンポーネント２を有する。たとえば、システム・コンポーネント２は、コンピュータ・システム１のマザーボードである。
【００２７】
例示的な実施形態では、メイン・プロセッサ３およびサービス・プロセッサ４がシステム・コンポーネント２上に配置される。メイン・プロセッサ３はたとえば、インテル（登録商標）Xeon（登録商標）プロセッサなどの、インテルからの強力なマイクロプロセッサである。サービス・プロセッサ４はたとえば、いわゆるインテリジェント・リモート管理コントローラ（iRMC）である。そのようなサービス・プロセッサは、時に、ベースボード管理コントローラ（BMC:  baseboard  management  controller）としても知られている。サービス・プロセッサ４は、中でも、コンピュータ・システム１の正しい動作を監視し、メイン・プロセッサ３とは独立にリモート維持タスクを実行するために使用される。たとえば、コンピュータ・システム１は、サービス・プロセッサ４を使って、管理ネットワークを介してスイッチ・オンまたはオフされることができる。
【００２８】
メイン・プロセッサ３およびサービス・プロセッサ４は、一つまたは複数のバス・システムまたは結合要素を介してコンピュータ・システム１のさらなるコンポーネントに接続される。本例示的実施形態では、メイン・プロセッサ３およびサービス・プロセッサ４を基本入出力システムBIOS  ６のためのメモリ・モジュールに、入出力コントローラ７に、およびネットワーク・コントローラ８に接続するために、チップセット５が使われる。
【００２９】
本例示的実施形態では、サービス・プロセッサ４は、専用の接続９を介してメモリ・カード１０にも接続される。本例示的実施形態では、このメモリ・カードは、SDカード連合（http://www.sdcard.org）からのSDHC業界標準に基づく、いわゆるマイクロSDフラッシュ・メモリ・カードである。あるいはまた、いわゆるeMMCカードまたは他の不揮発性記憶媒体、たとえばシステム・コンポーネントに恒久的に接続されるフラッシュ・メモリを使うことも可能である。メモリ・カード１０は、たとえば16GBの量の、サービス・プロセッサ４に関係する幅広いデータの不揮発性記憶のために使用される。
【００３０】
コンピュータ・システム１のネットワーク・コントローラ８は、データ・ネットワーク１１、たとえばローカルなイーサネット〔登録商標〕会社ネットワークに接続される。さらに、サービス・プロセッサ４は同じデータ・ネットワーク１１に、あるいは別個の管理ネットワーク１３に、さらなる任意的なネットワーク・コントローラ１２を介してまたはチップセット５およびネットワーク・コントローラ８を介して、接続される。管理ネットワーク１３は、たとえば、データ・ネットワーク１１と同じ物理的ネットワークに基づく仮想ネットワークであってもよい。
【００３１】
コンピュータ・システム１は、入出力コントローラ７に接続される大容量メモリ・ドライブ１４をも有する。本例示的実施形態では、大容量メモリ・ドライブ１４は、特に、コンピュータ・システム１のためのオペレーティング・システム１５を記憶する。オペレーティング・システム１５は、いわゆるホスト・オペレーティング・システム、たとえばマイクロソフト・ウィンドウズ・サーバー２０１２であり、そのもとでコンピュータ・システム１の有用なアプリケーションが走る。
【００３２】
さらに、コンピュータ・システム１は、プログラム・コードおよび関連するデータが、メイン・プロセッサ３による処理のためにロードされるメイン・メモリ１６を有する。コンピュータ・システム１のさらなるコンポーネント、たとえば電源は、明確のため、図１には示していない。
【００３３】
本発明のよりよい理解のために、サービス・プロセッサ４のハードウェアおよびソフトウェア・アーキテクチャの重要なコンポーネントが図２を使って以下で記述される。
【００３４】
サービス・プロセッサ４は、種々のフェーズの間に、たとえばコンピュータ・システムが初めてセットアップされているおよび更新されているときに、コンピュータ・システム１を維持するために使われる。そのファームウェアの中心的なコンポーネントは、サービス・オペレーティング・システム（図２には示さず）を介してサービス・プロセッサ４上で走るソフトウェア・コンポーネントのためのさまざまなランタイム・サービスを提供する、いわゆるアプリケーション・フレームワーク・ライブラリ２０である。本例示的実施形態では、メイン・プロセッサ３のオペレーティング・システム１５とは独立に走る、無料のオペレーティング・システム、リナックス（登録商標）のディストリビューションが、サービス・プロセッサ４上で走る。該ディストリビューションは、埋め込み用システムに適応されている。個々のソフトウェア・モジュールは、アプリケーション・フレームワーク・ライブラリ２０を使って中央的に（centrally）サービス・プロセッサ４の種々の資源にアクセスすることができる。複数のライブラリ２１ないし２４がこの目的のために利用可能である。アプリケーション・フレームワーク・ライブラリ２０は、中でも、XMLライブラリ２１、データベース・ライブラリ２２，仮想記憶媒体ライブラリ２３およびシステム管理のためのIPMIライブラリ２４へのアクセスを許容する。BIOS  ６の設定は、たとえばIPMIライブラリ２４を介して読まれるまたは変更されることができる。
【００３５】
アプリケーション・フレームワーク・ライブラリ２０は、ネットワーク・インターフェース２５を介した管理ネットワーク１３へのアクセスをも許容する。ネットワーク・インターフェース２５を介したアクセスはたとえば、既知のHTTPまたはFTPプロトコルを使って行なわれることができる。ネットワーク・インターフェース２５はたとえば、後述するように、更新サーバーから幅広いデータをダウンロードするために使われる。さらに、アプリケーション・フレームワーク・ライブラリ２０は、PCIeインターフェース２７を介して、当該サービス・プロセッサ４とエージェント・サービス２８との間の通信インターフェース２６を提供する。通信インターフェース２６はたとえば、プラットフォーム管理のための製造業者固有コマンドを交換するために使われる、いわゆるサーバービュー共通コマンド・インターフェース（SCCI:  ServerView  Common  Command  Interface）であってもよい。通信インターフェース２６または物理的なPCIeインターフェース２７は、のちに詳述するように、特に、当該サービス・プロセッサ４およびそれに接続されたメモリ・カード１０と、メイン・プロセッサ３上で走るエージェント・サービス２８との間で幅広いデータを交換するために使われることができる。さらに、BIOS  ６について、PCIeインターフェース２７は、代替的にコンピュータ・システム１を開始させるために使用されることができるUSBブート装置をエミュレートするために使用されることができる。通信インターフェース２６およびUSB接続の両方は、論理的な、いわゆるメモリ・マップされたIOインターフェースの形で実装される。この場合、それらのために要求されるデータは、PCIeインターフェース２７を介して物理的に交換される。
【００３６】
エージェント・サービス２８は、たとえばローカル・サービスまたはデーモン・プロセスとしてオペレーティング・システム１５の制御のもとで走る比較的小さなソフトウェア・コンポーネントである。エージェント・サービス２８自身がさらなるハードウェア固有またはサービス固有のソフトウェア・コンポーネント、たとえば個々のファームウェア・コンポーネントをプログラムするためのドライバ・コンポーネントの提供の代わりとなるので、エージェント・サービスは時折「エージェントなしサービス」とも称される。
【００３７】
図２に示される例示的実施形態では、サービス・プロセッサ４の三つの異なるソフトウェア・コンポーネントがアプリケーション・フレームワーク・ライブラリ２０にアクセスする。第一のコンポーネント２９は、特に、システム監視を実行するために使われる。これは中でも、記憶媒体を管理し、監視するためのRAIDマネージャ３０を有する。更新マネージャ３１の形の第二のコンポーネントは、更新パッケージ（「更新」）を提供することを受け持つ。インストール・マネージャ３２の形のさらなるコンポーネントは、更新マネージャ３１によって提供される更新パッケージをインストールするために使われる。
【００３８】
コンポーネント２９ないし３２およびサービス・プロセッサ４の他のソフトウェア・コンポーネントは、アプリケーション・フレームワーク・ライブラリ２０を使ってメモリ・カード１０のファイル・システム３３にアクセスできる。本例示的実施形態では、メモリ・カード１０は種々のデータ・ボリューム３４、３５および３６を記憶している。このコンテキストにおいては、データ・ボリュームとは、論理的に連続的な仕方で記憶されているデータまたはファイルを意味するものと理解される。これはたとえば、メモリ・カード１０のデータ記憶媒体ボリューム、仮想データ記憶媒体のイメージを含むファイルまたは関係した諸ファイルを含むアーカイブである。データ・ボリューム３４および３５は、更新カタログをもつ第一の仮想データ記憶媒体または更新パッケージが記憶されている第二の仮想データ記憶媒体のイメージである。諸データ・ボリューム３６は、種々のブート可能な、仮想データ記憶媒体のイメージ、たとえばブート可能なCDもしくはDVDのイメージである。メモリ・カード１０は、目録リスト３７またはコンピュータ・システム１に関係する目録情報を含んでいるデータベースをも記憶する。目録リスト３７は、コンピュータ・システム１にインストールされている各コンポーネントに関係する情報と、さらに、これらのコンポーネントのインストールされているソフトウェアまたはファームウェアに関係する情報とを含む。
【００３９】
ソフトウェア・コンポーネント２９、３１および３２は、ウェブ・ベースのグラフィカル・ユーザー・インターフェース３８を介してシステム管理者によって管理される。この目的のために、システム管理者は、ユーザー・インターフェース３８に、たとえば管理ネットワーク１３を介してアクセスできる。
【００４０】
コンピュータ・システム１のソフトウェア・コンポーネントを更新するための方法は、図３および図４を参照して下記で詳述される。下記の方法段階S1ないしS4およびS8ないしS12は、オペレーティング・システム１５の動作とは独立に、すなわち、コンピュータ・システム１がスイッチ・オンまたはオフされているときに、実行されることができる。これは、中でも、これらの段階に関連する努力がメイン・プロセッサ３のパフォーマンスに影響しないという利点がある。残りの方法段階S5ないしS7およびS13ないしS14は、サービス・プロセッサ４と、オペレーティング・システム１５のもとで走るエージェント・サービス２８との間の協働を必要とする。したがって、本方法は、下記では「オンライン更新」とも称される。この場合、用語「オンライン」は、ここでのホスト・オペレーティング・システム１５のアクティブな状態に関係している。
【００４１】
第一段階S1では、更新を実行する要求が検出される。要求は、手動で、たとえば管理者によって、グラフィカル・ユーザー・インターフェース３８を介して開始されることができる。あるいはまた、いわゆるスケジューラによって、ソフトウェア・コンポーネントの時間制御された更新を開始することも可能である。本例示的実施形態では、サービス・プロセッサ４は、規則的な時間間隔で、たとえば一日に一回、ソフトウェア・コンポーネントを更新する本方法を開始するようセットアップされる。
【００４２】
段階S2では、記載されるオンライン更新の間に、利用可能な更新パッケージ４０のカタログの形の第一のリストが、まず第一に、ロードされる。本例示的実施形態では、サービス・プロセッサ４は、この目的のために管理ネットワーク１３を介してコンピュータ・システム１の製造業者に属する所定のいわゆる貯蔵所または更新サーバー４１に接触する。あるいはまた、構成設定インターフェース４２を介してあらかじめ定義されている別の更新サーバー、たとえば閉じた会社ネットワーク内部のローカル・サーバーが、選択されてもよい。記載される洗練によれば、更新サーバー４１上で利用可能なすべての更新パッケージ４０を含んでいるカタログ・ファイルがこの段階でロードされる。
【００４３】
ある代替的な洗練では、所与のコンピュータ・モデルまたは所与のモデル・シリーズのための更新パッケージ４０のみがロードされる。たとえば、コンピュータ・システム１の製造業者によって割り当てられ、サービス・プロセッサ４に恒久的に記憶されている製品識別子が、段階S2の前に、利用可能な更新パッケージ４０のカタログをダウンロードする要求と一緒に、更新サーバー４１に、伝送されることができる。
【００４４】
そこに含まれている、利用可能な更新パッケージ４０を有するカタログまたはリストは、メモリ・カード１０上で、第一のデータ・ボリューム３４に記憶される。次いで、データ・ボリューム３４は、SCCIインターフェースを介して、ある仮想メモリ・ドライブのある記憶媒体として、オファーされる。この目的のために、データ・ボリューム３４に含まれているイメージが、仮想記憶媒体ライブラリ２３を介して、エージェント・サービス２８が通信インターフェース２６を介してアクセスをもつファイル・システム３３の一部に、組み込まれる（「マウントされる」）。したがって、データ・ボリューム３４の内容は、オペレーティング・システム１５のもとで、内部CDもしくはDVDドライブに挿入されたデータ記憶媒体のように見え、適切な内容をもつ。この目的のためには、マイクロソフト・ウィンドウズまたはリナックスのようなたいていの現行のオペレーティング・システムにおいて標準として含まれている通常のUSBドライバが、オペレーティング・システム１５の前記一部に対して十分である。したがって、オペレーティング・システム１５の前記一部にさらなるドライバがインストールされる必要はない。
【００４５】
記述される実施形態に基づく方法は、コンピュータ・システム１のハードウェア・コンポーネントに関係する第一のグループの更新パッケージ４０と、コンピュータ・システム１の他のソフトウェア・コンポーネントに関係する第二のグループの更新パッケージ４０との間の区別をする。第一のグループの例は、特に、BIOS  ６およびサービス・プロセッサ４自身のファームウェアを含むいわゆるファームウェア更新である。第二のグループの例は、典型的には大容量メモリ・ドライブ１４に記憶されているおよび／またはオペレーティング・システム１５の制御のもとで実行されるアプリケーション、オペレーティング・システムおよびドライバ・コンポーネントに関係する更新パッケージ４０である。
【００４６】
BIOS  ６のファームウェア・コンポーネントまたは別のファームウェア・コンポーネントは、本例示的実施形態では、サービス・プロセッサ４によって直接更新される。この目的のために、段階S3において、サービス・プロセッサは、まず第一に、既存のファームウェア・コンポーネントのバージョン番号を、利用可能な更新パッケージ４０についてのカタログの一部として伝送されたバージョン番号と比較する。更新マネージャ３１が、この場合において、ある既存のファームウェア・コンポーネントについて更新が利用可能であると判別する場合、それは、段階S4において、取得されるべき更新パッケージ４０の第二のリストに追加される。段階S3およびS4は、コンピュータ・システム１のすべてのファームウェア・コンポーネントおよび／または前記カタログに含まれており利用可能な更新パッケージ４０に関係するすべてのメタデータについて実行される。
【００４７】
段階S3およびS4の前、後またはそれに並行して、エージェント・サービス２８の更新サービス４３は、利用可能な更新パッケージ４０の第二のグループにおけるメタデータをチェックする。この目的のために、段階S5において、サービス・プロセッサ４によってエミュレートされる前記仮想メモリ・ドライブを、オペレーティング・システム１５の環境に組み込む。よって、前記カタログおよび前記第一のリストを含む、データ・ボリューム３４に記憶されているイメージと、コンピュータ・システム１の通常のローカル・データ記憶媒体とに、通常のファイル・システム動作を使ってアクセスすることができる。
【００４８】
その後の段階S6では、バージョン比較コンポーネント４４がオペレーティング・システム１５のローカル構成設定データベース４５または他のメタデータを使って、コンピュータ・システム１にインストールされている諸ソフトウェア・コンポーネントの諸バージョンを、前記カタログに基づいて利用可能な諸更新パッケージ４０の諸バージョンと比較する。更新されるべきソフトウェア・コンポーネントがこの場合において同定される場合、更新サービス４３はこのことを、関数コールによって、サービス・プロセッサ４の、もとの更新マネージャ３１に信号伝達する。次いで、段階S7では、更新マネージャ３１はまた、バージョン比較コンポーネント４４によって同定された更新パッケージ４０を、取得されるべき更新パッケージ４０の第二のリストに追加する。
【００４９】
段階S8では、段階S4もしくはS7の直後の、あるいは段階S1に関して上記で説明したように管理者によって手動でまたはスケジューリング・コンポーネント（「スケジューラ」）によって決定される時点において、ソフトウェア・コンポーネントの実際の更新が開始される。
【００５０】
この目的のために、段階S4およびS7において決定される更新パッケージ４０は、段階S9において更新リストに記憶される。その後の段階S10では、更新コントローラ４６がまず第一に、更新サーバー４１から第一のグループ内の関連付けられた更新パッケージ４０を取得する。この目的のためには、ロード・コンポーネント４７が段階S9において生成されたリストを処理する。これは、本例示的実施形態では既知のユーティリティーwgetである。
【００５１】
次いで、コンピュータ・システム１の影響されるファームウェア・コンポーネントが段階S11において更新される。本例示的実施形態では、更新は、それ自身としては既知の仕方で、更新マネージャ３１の制御のもとで、関連するメモリ・モジュールを、更新されるファームウェアもしくはその一部をもってプログラムすることによって、直接行なわれる。あるいはまた、第二のグループ内の他のソフトウェア・コンポーネントについて後述するように、オペレーティング・システム１５の制御のもとでエージェント・サービス２８によってファームウェア・コンポーネントを更新することも可能である。
【００５２】
段階S12では、少なくともオペレーティング・システム依存のソフトウェア・コンポーネントに関係する第二のグループ内の更新パッケージ４０が、サービス・プロセッサ４によってダウンロードされ、メモリ・カード１０上に記憶される。この場合、更新パッケージ４０は、第二のデータ・ボリューム３５のイメージ内に記憶される。更新パッケージ４０は好ましくは、更新サービス４３またはオペレーティング・システム１５によって処理または実行されることができる更新パッケージの形である。データ・ボリューム３５のイメージが成功裏にコンパイルされた場合、それは上記のように組み込まれ、コンピュータ・システム１のための前記仮想メモリ・ドライブの現在の記憶媒体として提供される。したがって、エージェント・サービス２８への対応する信号伝達ののち、該エージェント・サービス２８は、段階S13において、第二のデータ・ボリュームを、オペレーティング・システム環境に組み込む。
【００５３】
次いで、データ・ボリューム３５のイメージに含まれる更新パッケージ４０は、段階S14において、エージェント・サービス２８によって実行される。この場合、ハードディスク１４上に記憶されているオペレーティング・システム１５のソフトウェア・コンポーネント、たとえば関連するドライバまたはアプリケーション・プログラムは、更新パッケージ４０に従って、更新サービス４３の更新コンポーネント４８によって更新される。記載される例示的実施形態では、更新は、バックグラウンドで行なわれる。つまり、コンピュータ・システム１のアプリケーションおよびサービスは走り続ける。オペレーティング・システム１５のカーネル・コンポーネントが該更新によって影響される場合には、オペレーティング・システム１５は可能性としては、更新完結後に、エージェント・サービス２８またはサービス・プロセッサ４によってリスタートされる。
【００５４】
修正実施形態では、段階S2ないしS7は完全にまたは部分的になしにされる。たとえば、サービス・プロセッサ４は、エージェント・サービス２８との協働なしにすべての潜在的に有意な更新パッケージ４０を判別するために、型指定を使うことができる。さらに、インストールされているコンポーネントの検出が一度だけ実行されることもでき、結果は好適な位置に、たとえば目録リスト３７に記憶されることができる。既存のコンポーネントが管理者によって手動で、あるいは更新サーバー４１によって自動的にあらかじめ定義されることも可能であることは言うまでもない。これらの場合のすべてにおいて、更新サービス２８は、段階S13およびS14において更新パッケージ４０をインストールするときにのみアクティブになる。これらの場合において、更新コンポーネント４８は、正しくない更新のインストールを防ぐために、可能性としてはインストールの時点において、バージョン比較を実行する。
【符号の説明】
【００５５】
１  コンピュータ・システム
２  システム・コンポーネント
３  メイン・プロセッサ
４  サービス・プロセッサ
５  チップセット
６  基本入出力システム（BIOS）
７  入出力コントローラ
８  （第一の）ネットワーク・コントローラ
９  接続
１０  メモリ・カード
１１  データ・ネットワーク
１２  （第二の）ネットワーク・コントローラ
１３  管理ネットワーク
１４  大容量メモリ・ドライブ
１５  オペレーティング・システム
１６  メイン・メモリ
２０  アプリケーション・フレームワーク・ライブラリ
２１  XMLライブラリ
２２  データベース・ライブラリ
２３  仮想記憶媒体ライブラリ
２４  IPMIライブラリ
２５  ネットワーク・インターフェース
２６  通信インターフェース
２７  PCIeインターフェース
２８  エージェント・サービス
２９  システム監視コンポーネント
３０  RAIDマネージャ
３１  更新マネージャ
３２  インストール・マネージャ
３３  ファイル・システム
３４  データ・ボリューム（第一のデータ記憶媒体のイメージ）
３５  データ・ボリューム（第二のデータ記憶媒体のイメージ）
３６  データ・ボリューム（ブート可能なデータ記憶媒体のイメージ）
３７  目録リスト
３８  グラフィカル・ユーザー・インターフェース
４０  更新パッケージ
４１  更新サーバー
４２  構成設定インターフェース
４３  更新サービス
４４  バージョン比較コンポーネント
４５  （オペレーティング・システムの）構成設定データベース
４６  更新コントローラ
４７  ロード・コンポーネント
４８  更新コンポーネント
S1〜S14  方法段階
【図１】
2016194891.tif 000003
【図２】
2016194891.tif 000004
【図３】
2016194891.tif 000005
【図４】
2016194891.tif 000006