JP2006520975A - 非侵入な自動オフサイト・パッチ・フィンガプリンティングおよびアップデーティングシステム、および方法 - Google Patents
非侵入な自動オフサイト・パッチ・フィンガプリンティングおよびアップデーティングシステム、および方法 Download PDFInfo
- Publication number
- JP2006520975A JP2006520975A JP2006508993A JP2006508993A JP2006520975A JP 2006520975 A JP2006520975 A JP 2006520975A JP 2006508993 A JP2006508993 A JP 2006508993A JP 2006508993 A JP2006508993 A JP 2006508993A JP 2006520975 A JP2006520975 A JP 2006520975A
- Authority
- JP
- Japan
- Prior art keywords
- patch
- software
- target computer
- update
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Abstract
ソフトウェア・アップデート(232)を発見し、所与のコンピュータ(202)が当該ソフトウェア・アップデートを使用可能であるか否かを見出し、必要に応じて当該コンピュータを当該ソフトウェア・アップデートでネットワーク(200)を介して自動的にアップデートするための方法、システム、および構成された記憶媒体が提供される。さらに、障害が検出された(316)とき、配布が停止(318)させられ、ソフトウェアがすでにアップデートされたコンピュータから自動的に除去(322)される。ネットワークの一部ではないがファイアウォールを通ってパッケージ・コンピュータ(230)へとアクセスできるアップデート・コンピュータにソフトウェア・アップデートを中間的にアップロードすることによって、ソフトウェア・アップデートの源をネットワーク・ファイアウォールによってアクセスすることができないアドレスに保存することができる。
Description
(著作権について)
この特許文書の開示の一部には、著作権の保護の対象となる材料が含まれている。著作権者は、特許商標局の特許ファイルまたは記録に現れる限りにおいて、何人も特許文献または特許の開示をファクシミリ複製することについて異論はないが、それ以外の場合については、何であれすべての著作権を留保する。著作権者は、米国特許商標著作権法施行規則(37 C.F.R)のセクション1.14によるすべての権利を含め、この特許文書を秘密に保つ権利をいささかも放棄しない。
この特許文書の開示の一部には、著作権の保護の対象となる材料が含まれている。著作権者は、特許商標局の特許ファイルまたは記録に現れる限りにおいて、何人も特許文献または特許の開示をファクシミリ複製することについて異論はないが、それ以外の場合については、何であれすべての著作権を留保する。著作権者は、米国特許商標著作権法施行規則(37 C.F.R)のセクション1.14によるすべての権利を含め、この特許文書を秘密に保つ権利をいささかも放棄しない。
本発明は、リモート・ネットワークを介して既存のソフトウェアをアップデートするシステムおよび方法に関する。さらに具体的には、本発明は、アップデートの必要性の確認、および必要とされるソフトウェアについてのクライアント‐サーバ・システムを介して介してのアップデートに関係し、人間による監視の必要がなく、かつターゲット・ネットワークの管理者装置にソフトウェア・パッチのコピーを保持する必要がない。
コンピュータ・ソフトウェア業界の「現在の技術水準」では、依然として、所望の挙動においてさまざまな異常を有するソフトウェアを配布することがしばしばである。そのような異常な挙動は、「バグ」と呼ばれている。
最初のコンピュータ・バグは、今やスミソニアン博物館(Smithsonian)に保存されているハーバード大学(Harvard University)のマーク・ツー・アイケン・リレー計算器(Mark II Aiken Relay Calculator)の動作ログに存在する。操作者が、このコンピュータのリレー・スイッチの間に挟まれた蛾を取り除き、エントリに「バグが実際に見つかった最初のケースである」と記述した。このとき以来、コンピュータのハードウェアおよびソフトウェアにおける問題は「バグ」と呼ばれるようになり、問題を取り除くためのプロセスを「デバグ」と呼ぶようになった。
ソフトウェアが「デバグ」されるたびに、ソフトウェアの該当部分についての変更が生成され、このような変更が、「パッチ」または「フィクス」と呼ばれるソフトウェアの追加の一部をもたらすこともある。この業界のソフトウェア・ベンダは、これらパッチをより格式張った「サービス・パック」や「サポート・パック」などという名称で呼ぶことが多い。
このプロセスはこの業界において広く行なわれており、ソフトウェア・ベンダは、利用可能な「サポート・パック」の履歴を保持するためにさまざまな呼称および採番の仕組みを使用している。これら「サポート・パック」の継続的な維持は、ベンダが標準的な呼称および採番の仕組みに合意しない場合に、ますます困難になる。
例えば、マイクロソフト社(Microsoft)は、彼らのオペレーティング・システム・ソフトウェア製品であるWindows NT(登録商標)一族について、彼らの顧客が遭遇しうる問題を解決すべく適用するため、利用可能な少なくとも6つの主要な「サービス・パック」を有している。より一般的に言えば、所与の任意のオペレーティング・システムについて、パッチ、フィクス、ソリューション、および/またはサービス・パックの総数が、莫大なものになりうる。
アプリケーションがインストールされるとき、標準的なコンピュータ・ファイルとともに、1つ以上のこれらオペレーティング・システム・ファイル・パッチが含まれていることがある。これらのパッチは、アプリケーションのベンダがオペレーティング・システム・ファイルの1つ以上において或る異常な挙動を発見し、それら問題のあるファイルの1つの異なるバージョンのかたちで「フィクス」を送信するため、一般的に含まれている。これは、このようなサービスをただ1つのアプリケーション・ベンダが実行しており、あるいはアプリケーション・ベンダによって修正されたファイルが当該ベンダのアプリケーションのみによって使用されるならば、引き起こされる困難は比較的少ない。しかしながら、そのようでない場合がしばしばである。
他のアプリケーションがインストールされるとき、そのアプリケーションが、共有に係るコードの一部についてより最近のバージョンを含んでいるかもしれない。これらの共有に係るオペレーティング・システム・ファイルの1つの部分集合は、別の名前でも呼ばれるが、DLL(dynamically linked libraries)と呼ばれる。これらの共有に係るオペレーティング・システム・ファイルは実行可能であることがしばしばであり、或る決まった数のパラメータ、および或る特定の種類のパラメータなどを予定している。共有に係るファイルの性質が変わってしまう(例えば、パラメータ一式が異なる、名前が異なる、関数が異なる、など)と、呼び出し元のアプリケーションが、もはや正しく振る舞うことができなくなる。「プリント」などのコンピュータの共通機能の多くは、このようなやり方で参照されている。
多くのソフトウェア・ベンダは、「最新」バージョンのオペレーティング・システム・ファイルを提供しようと試みている。しかしながら、別のアプリケーションがコンピュータにロードされるとき、元のアプリケーションが計画どおりに機能するために必要とするオペレーティング・システム・ファイルが、上書きされたり、微妙に(あるいは微妙ではなく)変更されたりするかもしれない。
或る組織の管理者が、100台ものサーバを運用状態に保ちつつ、これらのサーバに接続する3,000のユーザのサポートを担当しているとする。さらに、この管理者は、ユーザの要求によるアプリケーションや管理上必要なアプリケーションについて、それがシュリンクラップに包まれた購入品であっても、内部で開発したアプリケーションであってもよいが、インストールを担当している。さらに管理者は、時間に注意を払うべき文書について、ローカルまたはリモートでの時宜を得た配布の責任を負っている。
ここで、6つのサービス・パックをネットワークにインストールし、すべてのクライアントに配布しなければならない場面を想像されたい。6つのサービス・パックを適用するということは、100台のサーバのすべてのそれぞれを7回訪問し、合計すると700回の訪問につながる。この数字は、サービス・パックのうちの1つのアプリケーションが、フィクスをするよりもさらなる問題を生じさせかねず、元に戻さなければならないがために、各装置について1回の追加の訪問があると仮定している。
3,000のクライアントが、すべて同じワークステーション・オペレーティング・システムを動作させているならば、それは、パッチを適用するためにさらに21,000回の訪問があるということを意味する。これらすべてが、内部で開発したアプリケーションおよびシュリンクラップ製品のインストールおよびパッチ適用の際に達成されなければならない点を忘れてはいけない。ソフトウェア・パッチおよびファイルの配布、ならびにその後の適用が、いわゆる「管理者の苦悩」の最初の表われである。
すべてのインストールが生じているとき、個々のサーバは、依然として監視されなければならない。サーバが注目を必要としているとき、他の者がサーバが停止しており修理が必要であると必死に訴えて、管理者へと連絡してくることがしばしばある。管理者が、これらの装置を監視するための何らかの方法を有しているならば、より応答がしやすくなり、問題の影響をさらに軽減できるかもしれない。監視の必要性は、「管理者の苦悩」の第2の表われである。管理者の仕事は、離職率が高いことが多く、それらのシステムのユーザは、低い生産性に悩まされるであろう。
従来、管理者は、追加のスタッフを与えられることによって補佐されてきた。当然ながら、この救済策は問題なしというわけにはいかない。人員の追加は、彼らの間の通信チャネルの数を増加させる。インストールおよびアップデートに関与する人員は、同じ単位の作業を実行したり、あるいは実行を試みたりすることがないよう、追跡装置またはシステムを必要とする。チームのメンバー間でこのような協調を欠くことが、「管理者の苦悩」の第3の表われである。
いくつかのソリューションが提案され、さまざまな形態、実装、および範囲または完全性にて現在利用可能である。典型的には、これら提案されているソリューションは、管理者の環境にローカルにインストール(例えばパッチをあてる)できるシュリンクラップの製品として入手可能である。いくつかの最近の製品は有用であるが、従来からの多くのソリューションは、管理者環境の大幅な変更を必要するという点で、侵襲的である。シュリンクラップのソリューションでは、管理者のネットワークに製品全体を追加でインストールする必要があって侵襲的であり、これによって問題が増えるうえに、サポートおよび配布のプランを協調させるための中央の「指令センター」を欠いている。最近のソリューションは侵襲の度合いがいくぶん少ないかもしれないが、それでもなお管理者とソリューションとの間の特別な接続を必要とし、多くの場合、協調された作業のためのセンターを提供していない。
さらに、ソフトウェアの所与の部分がパッチを受け取ったのか、あるいはどのパッチを受け取ったのかが、常に正確に知られているわけではない。アップデートは、その存在を常に明白に告知しているわけではない。したがって、或る特定のコンピュータが或る特定のパッチをすでに受け取ったか否かが、常に明らかなわけではない。したがって、ネットワークを介してコンピュータをアップデートするための優れたツールおよび技法へのニーズが存在する。ここでは、そのようなツールおよび技法について説明し、特許請求の範囲として請求する。
(発明の要約)
本発明は、人間の管理者の必要性を減らしつつ、ソフトウェアがアップデートを必要としているか否かを判断して、必要としている場合に、ネットワークを横断して当該ソフトウェアをアップデートするための方法、物品、信号、およびシステムに関する。アップデートに失敗したとき、アップデート・ソフトウェアがインストールされたコンピュータを、未アップデートの状態に復帰させることができる。本発明は、添付の特許請求の範囲によって定められ、特許請求の範囲がここに記載する発明の概要よりも優先する。
本発明は、人間の管理者の必要性を減らしつつ、ソフトウェアがアップデートを必要としているか否かを判断して、必要としている場合に、ネットワークを横断して当該ソフトウェアをアップデートするための方法、物品、信号、およびシステムに関する。アップデートに失敗したとき、アップデート・ソフトウェアがインストールされたコンピュータを、未アップデートの状態に復帰させることができる。本発明は、添付の特許請求の範囲によって定められ、特許請求の範囲がここに記載する発明の概要よりも優先する。
種々の実施の形態において、本発明は、ネットワークを横断し、複数のオペレーティング・システムにまたがるソフトウェアおよびパッチのフィンガプリントにもとづき、ソフトウェアの配布、ソフトウェアのインストール、ソフトウェアのアップデート、およびファイルの配布を容易にする。ネットワーク接続を有し、かつアップデート・エージェントを動作させている任意のコンピュータを、アップデート・サーバに接続し、管理者が当該エージェントについて指定したあらゆるタスクを処理することができる。
図2が、そのようなシステムの1つについて概要を示している。説明を分かりやすくするために2台のターゲット・コンピュータと1台のアップデート・コンピュータしか示されていないが、ネットワーク200が、ファイアウォール214によってインターネットから保護されている。ネットワークのターゲット・コンピュータ202、208をアップデートするために必要なソフトウェアが、パッケージ・コンピュータ230、234に位置しているが、パッケージ・コンピュータ230、234は、ファイアウォールの内側または外側に位置し、ファイアウォール214によってターゲット・コンピュータ202、208との直接通信を禁じられている。しかしながら、アップデート・サーバ220が、おそらくは内部のファイアウォールを通過するネットワーク200へのアクセス216を持ち、さらにファイアウォール214を通過してアクセスすることができる。システムは、オンサイトの買い取りのソリューションおよび完全にオフサイトでホストされるソリューションの両者として動作するように設計され、イントラネット/エクストラネットのインフラストラクチャのあらゆるレベルのファイアウォールおよびプロキシ回路を通って動作することができる。
パッチ・フィンガプリント902が、集積所コンポーネントにて所与のソフトウェア・パッケージ(パッチ・フィンガプリントに関連付けられている)、パッチ、ドライバ、などをシステム内のコンピュータへとロードすべきか否かを判断できるよう、レシピを与える。これらのフィンガプリントは、ファイアウォール214の内側または外側であってよいパッチ・コンポーネント・データベース場所900に保存される。これは、別個の場所にあってもよく、あるいはアップデート・サーバ528にインストールされてもよい。さらに、集積所コンポーネントは、ネットワークのターゲット・コンピュータ202、208のそれぞれについて基本的なハードウェアおよびソフトウェア情報を含んでいる目録ライブラリ・データベース918を備えている。システムは、パッチ・フィンガプリント内の情報、目録ライブラリ、およびネットワークの各ターゲット・コンピュータから収集された特定の情報を使用し、所与のコンピュータについてどのパッチおよびドライバが必要であるかを、知的に推奨することができる。
図5に示すように、本発明の好ましい実施の形態は、発見エージェント548として知られる追加のエージェントを、ターゲット・コンピュータ500にインストールして使用し、この発見エージェント548が、当該装置上のハードウェアおよびソフトウェアを定期的に見つけ出す。次いで、この目録情報が、集積所コンポーネントのどこかに位置する目録ライブラリ918へと報告される。コンピュータの目録に加え、発見エージェントは、各パッチ・フィンガプリントに関連付けられた特定のパッチをインストールすることが適切であるか否かを示すパッチ・フィンガプリントについての走査結果を返す。
このように、目録データベースは、ネットワーク内の任意の特定のターゲット・コンピュータにインストールされたソフトウェア、ハードウェア、および現在のパッチ・フィンガプリントの完全な目録を収集する。この情報によって、アップデート・サーバ528は、ネットワーク内のすべてのコンピュータの現在のパッチ状態についての詳細レポートを、ユーザに提示することができる。これは、当該パッチを必要としているコンピュータの数、ならびに当該パッチがすでにインストールされたコンピュータを示している。
さらに、フィンガプリント定義906は、通常はシステムによる配布に適したアップデート・パッケージにも関連付けられる。特定のパッチの必要性が、ネットワーク内のすべてまたは任意のコンピュータについてその署名を走査することによって確認されると、それを、単に日時を選択することにより管理者によって素早く配布することができる。
幾つかの実施の形態においては、フィンガプリント定義906を、パッチについて議論するベンダの公報、本発明の実施の形態によって用意された管理者のためのレポート、ターゲット・コンピュータ500の署名、および配布パッケージのうちの1つ以上と組み合わせて、持ち運び可能なパッチ定義ファイルを形成できる。このパッチ定義ファイルは、他のネットワークのアップデートに使用できる情報を提供する。このパッチ定義ファイル(「パッチ・メタファイル」として知られる)は、異なるネットワークのアップデート・サーバ528の間でパッチを移動または複製するために本発明の実施の形態によって使用することができる持ち運び可能な一様なデータ表現を提供する。適切なネットワーク100には、これらに限られるわけではないが、より高いセキュリティをもたらすべく絶縁されている軍用のネットワークなど、インターネットに接続されておらず、かつ/あるいは互いに接続されていないネットワークが含まれる。移動/複製は、電子メール、テープの書き込み/読み出し、および/または他の通常のデータ伝送手段によって行なうことができる。さらに、パッチ・メタファイルは、異なるベンダによって供給される本発明の実施の形態の間でのパッチの交流および相互運用を助けることができる。
特定のターゲット・コンピュータへとロードされる必要があるパッチは、アップデート・エージェント204、210に関連付けられたアップデート・リスト222にて、アップデート・サーバ220に列挙されている。図では、リスト224がターゲット1(202)に関連付けられ、リスト226がターゲット2(208)に関連付けられている。アップデート・リストは、パッチを見つけることができる場所を(ユニバーサル・リソース・ロケータすなわちURLなどの手段によって)少なくとも1つ指定しており、随意により、当該ソフトウェアがインストール可能になる最先の日にちを含んでいる。
動作において、ターゲット1(202)のアップデート・エージェント204が、オンサイトまたはオフサイトのアップデート・サーバ220にて自身のアップデート・リスト224をチェックし、新規パッケージをインストールすべきか否かを調べる。そのようなパッケージが存在する場合、アップデート・エージェント204は、当該パッケージがすでにアップデート・サーバ220のメモリ内に存在するか否かをチェックする。存在する場合、アップデート・エージェント204は、アップデート・サーバ220から直接、ソフトウェア・パッチのインストールを試みる。存在しない場合、アップデート・エージェント204は、パッケージ・コンピュータ場所232から直接、ソフトウェア・パッチのインストールを試みる。幾つかの場合にはこれが成功し、その場合にはアップデート・リスト224が更新される。
他の場合には、ダウンロード218がファイアウォール214によって阻止される。これが生じた場合、アップデート・エージェント210がアップデート・サーバ220に通知し、アップデート・サーバ220自身が、パッケージを引き出してメモリ228に置くように試みる。このアップデート・サーバのメモリから、ソフトウェアが直接ターゲット・コンピュータへとインストールされる。
モニタが、ターゲット202、208にソフトウェアが適切にインストールされることをチェックし、アップデートされたソフトウェアが正しく動作すること、および無関係と思われる領域においてターゲット・コンピュータそのものがいかなる問題にも遭遇しないことを確認するため、チェックを続ける(あるいは通知されることができる)。パッケージが適切にインストールされず、パッチ対象のソフトウェア・プログラムに問題を引き起こし、あるいはターゲット・コンピュータに他の問題を引き起こした場合、パッケージを自動的に除去して、コンピュータをインストール前の状態、またはアップデートが除去または無効にされている他の認容可能な状態に復帰させることができ、ターゲット・コンピュータが動作可能な状態になる。パッケージが1つ以上のコンピュータにインストールされた場合には、それらをすべて取り除くことができる。多数のコンピュータへの配布の途中でエラーが生じた場合には、配布を中断して、当該ソフトウェアを除去または無効化することができる。モニタは、アップデート・サーバ220に配置でき、集積所サイト600に配置でき、少なくとも部分的にアップデート・エージェント204、210に配置でき、さらに/またはこのような位置の組み合わせに配置することができる。
インストールに問題がある場合、またはインストールに成功した場合、電子メール、ポケットベル、または他の何らかの通知手段で管理者に知らせることができる。
さらに、アップデート・エージェント204、210を、それら自身のターゲット・コンピュータを調査すべく使用することができ、この情報をオフサイトまたは他の場所のデータベースに保存することができる。次いでこの情報を、所与のターゲット・コンピュータが最も適切な構成をとるためにどのアップデートを必要とするのか判断するために、使用することができる。新規ソフトウェア・パッチが利用可能になったとき、保存されているこの情報を、特定のターゲット・コンピュータが当該パッチを必要とするかどうか判断するために、使用することができる。
ターゲット・コンピュータが、オペレーティング・システムやインストール済みのソフトウェアにかかわらず、あらゆる種類のサーバまたはワークステーションを含むことができる点に、注意すべきである。さらに、本発明の技術的範囲は、無線装置(携帯電話、携帯情報端末、ポケット・コンピュータ、など)、インテリジェント・スイッチ装置、ハブ、ルータ、および他のあらゆる種類のインターネット接続可能な装置など、他の多くの装置にも適用可能である。
本発明の他の態様および利点は、以下の説明を通じてさらに充分に明らかになるであろう。
本発明は、ネットワークを介しての既存のアプリケーションのアップデートを容易にするシステム、方法、物品、および信号を提供する。さらに具体的には、本発明は、クライアント‐サーバ・システムを介してのソフトウェアのアップデートであって、人間による監視の必要がわずかまたは不要であり、アップデート対象のクライアントを抱えるネットワーク上の管理者装置にソフトウェア・パッチのコピーを必要としないアップデートに関する。このアップデートは自動であり、特定のアップデートにおけるエラーを検出でき、ネットワークを使用可能な状態に保つため、不完全なアップデートを自動的に撃退できる。
ここで説明する別個の図面は、本発明の種々の実施の形態を示しているが、所与の図についての説明は、必ずしも特定の種類の実施の形態に限定されない。例えば、当業者であれば、本発明の方法を、本発明による構成された記憶媒体および/またはコンピュータ・システムの実装において使用できることを、理解できるであろう。無用な繰り返しを避けるため、方法についての説明が、そのようでないと示されない限りは物品およびシステムにも当てはまり、逆もまた然りである。また、請求項を適切に解釈したときに特定のステップまたはコンポーネントが必要とされておらず、かつ/または特定の実行順序が必要とされていない限りにおいて、方法の各ステップおよびシステムの各コンポーネントを、名称変更でき、再編でき、繰り返すことができ、あるいは省略できること、および方法の各ステップを異なる順序にすることができ、さらに/あるいは重なり合うように実行できることも、理解できるであろう。
読者に都合がよいよう、ネットワークおよびファイアウォールなどの関連技術についての幾らかの関連情報を、以下に提供する。本発明は、すでに公知の技術を超えるものであるが、コンピューティングおよびネットワーキングにおけるこれまでの進化を部分的に含み、あるいはコンピューティングおよびネットワーキングにおけるこれまでの進化に部分的に依拠することができ、さらに/またはそのようなこれまでの進化とともに使用することができる。
(システムの概要)
図1に示すように、セキュア・コンピュータ・ネットワーク102、104などのコンピュータ・ネットワーク100を、本発明によって構成することができる。例として、適当なコンピュータ・ネットワーク100、102、104には、ローカル・ネットワーク、広域ネットワーク、および/またはインターネットの一部分が含まれる。ここで使用されるとき、「インターネット」は、プライベート・インターネット、セキュア・インターネット、付加価値通信網、仮想プライベート・ネットワーク、またはイントラネットなどのさまざまなバリエーションを含む。セキュア・ネットワークは、ファイアウォール・ソフトウェア116、118、ルーティングの制限、暗号化、仮想プライベート・ネットワーキング、および/または他の手段によって定められるセキュリティ境界によって保護することができる。さらに、ネットワーク100、102、104は、内部でTCP/IPおよび/またはHTTPプロトコルを使用するローカル・エリア・ネットワークなどのセキュア・ネットワークであるセキュア・イントラネットを含んでもよく、セキュア・イントラネットで構成されてもよい。本発明によって動作すべくネットワークによって接続されるコンピュータ110は、ワークステーション114、ラップトップ・コンピュータ112、切り離しが可能な携帯型のコンピュータ(PDAや他の無線装置など)、サーバ、コンピューティング・クラスタ、メインフレーム、またはこれらの組み合わせであってよい。コンピュータのハードウェアは、汎用、専用、スタンドアロン、および/または組み込み式であってよい。ネットワーク100は、1つ以上のLAN、広域通信網、無線ネットワーク(赤外線ネットワークを含む)、インターネット・サーバおよびクライアント、イントラネット・サーバおよびクライアント、またはこれらの組み合わせなど、それら自身のファイアウォールによって保護されうる他のネットワークを含むことができる。
図1に示すように、セキュア・コンピュータ・ネットワーク102、104などのコンピュータ・ネットワーク100を、本発明によって構成することができる。例として、適当なコンピュータ・ネットワーク100、102、104には、ローカル・ネットワーク、広域ネットワーク、および/またはインターネットの一部分が含まれる。ここで使用されるとき、「インターネット」は、プライベート・インターネット、セキュア・インターネット、付加価値通信網、仮想プライベート・ネットワーク、またはイントラネットなどのさまざまなバリエーションを含む。セキュア・ネットワークは、ファイアウォール・ソフトウェア116、118、ルーティングの制限、暗号化、仮想プライベート・ネットワーキング、および/または他の手段によって定められるセキュリティ境界によって保護することができる。さらに、ネットワーク100、102、104は、内部でTCP/IPおよび/またはHTTPプロトコルを使用するローカル・エリア・ネットワークなどのセキュア・ネットワークであるセキュア・イントラネットを含んでもよく、セキュア・イントラネットで構成されてもよい。本発明によって動作すべくネットワークによって接続されるコンピュータ110は、ワークステーション114、ラップトップ・コンピュータ112、切り離しが可能な携帯型のコンピュータ(PDAや他の無線装置など)、サーバ、コンピューティング・クラスタ、メインフレーム、またはこれらの組み合わせであってよい。コンピュータのハードウェアは、汎用、専用、スタンドアロン、および/または組み込み式であってよい。ネットワーク100は、1つ以上のLAN、広域通信網、無線ネットワーク(赤外線ネットワークを含む)、インターネット・サーバおよびクライアント、イントラネット・サーバおよびクライアント、またはこれらの組み合わせなど、それら自身のファイアウォールによって保護されうる他のネットワークを含むことができる。
所与のネットワーク100は、例えば、Novell Netware(登録商標)ネットワーク・オペレーティング・システム・ソフトウェア(NETWAREはNovell社の登録商標である)、NetWareコネクト・サービス、VINES、Windows NT(登録商標)、Windows 95(登録商標)、Windows 98(登録商標)、Windows 2000(登録商標)、Windows ME(登録商標)、Windows XP(登録商標)、Windows 2K3(登録商標)、LANマネージャ、またはLANtasticネットワーク・オペレーティング・システム・ソフトウェア、UNIX(登録商標)、TCP/IP、AppleTalkおよびNFSベースのシステム、分散コンピューティング環境ソフトウェア、および/またはSAAソフトウェアを含みうる(VINESは、Banyanシステムズ社の商標であり、NT、Windows 95(登録商標)、Windows 98(登録商標)、Windows 2000(登録商標)、Windows ME(登録商標)、Windows XP(登録商標)およびLANマネージャは、マイクロソフト社の商標であり、LANTASTICは、Artisoft社の商標であり、SAAはIBM社の標章である)。ネットワークは、ゲートウェイまたは同種の機構を通じて他のネットワークに接続できるローカル・エリア・ネットワークを含むことができる。
本発明による1つのシステムは、ネットワーク信号線108で1つ以上のネットワーク・クライアント110に接続される1つ以上のサーバ106を備えている。サーバおよびネットワーク・クライアントは、当業者であれば、本発明に従って動作するように幅広いさまざまなやり方で構成できる。サーバは、インターネット・サーバとして、イントラネット・サーバとして、ディレクトリ・サービス・プロバイダまたはネーム・サーバとして、ソフトウェア・コンポーネント・サーバとして、ファイル・サーバとして、あるいはこれらおよび他の機能の組み合わせとして、構成することができる。サーバは、単一プロセッサ機であってもよく、マルチ・プロセッサ機であってもよい。サーバ106およびクライアント110はそれぞれ、ランダム・アクセス・メモリなどのアドレス可能な記憶媒体、および/または磁気ディスクや光ディスクなどの不揮発性の記憶媒体を備えている。信号線108は、ツイストペア、同軸、または光ファイバ・ケーブル、電話線、衛星、マイクロ波リレー、変調AC電力線、および無線接続を含む当業者にとって公知の他のデータ伝送「線」を含むことができる。本発明による信号は、そのような「線」および/またはアドレス可能な記憶媒体に具現化できる。
ネットワーク・クライアント・コンピュータに加え、プリンタ、ディスクのアレイ、および他の周辺機器を、特定のシステムに接続することができる。所与のコンピュータが、クライアント110およびサーバ106の両者として機能でき、これは、例えばマイクロソフト社のWindows NT(登録商標)ソフトウェアを実行しているコンピュータ上で生じうる。特定の個体およびネットワーク・コンピュータ・システムならびにコンポーネントについて言及したが、当業者であれば、本発明が他のさまざまなネットワークおよびコンピュータにおいても機能することを、理解できるであろう。
本発明の適切なソフトウェアおよび/またはハードウェアの実装は、本明細書に示す教示を使用し、さらにJava(登録商標)、Pascal、C++、C、Perl、シェル・スクリプト、アセンブリ、ファームウェア、マイクロコード、論理アレイ、PAL、ASIC、PROM、および/または他の言語、回路、またはツールなどのプログラミング言語およびツールを使用して、当業者によって容易にもたらされる。
(構成された媒体の概要)
サーバ106およびネットワーク・クライアント110ならびに個々のコンピュータ110、114は、記憶媒体を読み出すためにフロッピー(登録商標)・ドライブ、テープ・ドライブ、光学ドライブ、または他の手段を使用することができる。適切な記憶媒体には、磁気、光学、または他のコンピュータで読み出し可能な記憶装置が含まれる。適切な記憶装置には、フロッピー(登録商標)・ディスク、ハード・ディスク、テープ、CD−ROM、PROM、RAM、および他のコンピュータ・システム記憶装置が含まれる。基礎構成が、コンピュータ・システムを本明細書に記載するとおりの特定の予め定められたやり方で動作させるデータおよびインストラクションを提示する。このように、媒体は、本明細書に事実上記載するとおりに本発明のアップデート、監視、管理、および/または他のステップを実行するため、サーバおよび/またはネットワーク・クライアント・コンピュータおよび/または個々のコンピュータで実行できるプログラム、機能、および/またはインストラクションを、実体として具現化する。
(構成された媒体の概要)
サーバ106およびネットワーク・クライアント110ならびに個々のコンピュータ110、114は、記憶媒体を読み出すためにフロッピー(登録商標)・ドライブ、テープ・ドライブ、光学ドライブ、または他の手段を使用することができる。適切な記憶媒体には、磁気、光学、または他のコンピュータで読み出し可能な記憶装置が含まれる。適切な記憶装置には、フロッピー(登録商標)・ディスク、ハード・ディスク、テープ、CD−ROM、PROM、RAM、および他のコンピュータ・システム記憶装置が含まれる。基礎構成が、コンピュータ・システムを本明細書に記載するとおりの特定の予め定められたやり方で動作させるデータおよびインストラクションを提示する。このように、媒体は、本明細書に事実上記載するとおりに本発明のアップデート、監視、管理、および/または他のステップを実行するため、サーバおよび/またはネットワーク・クライアント・コンピュータおよび/または個々のコンピュータで実行できるプログラム、機能、および/またはインストラクションを、実体として具現化する。
(ファイアウォール)
ネットワーク管理者は、一般に、彼らのシステムに手当たり次第に情報が入ることを許さない。彼らは、むしろ、ネットワークを保護するためにファイアウォール116、118を使用する。ファイアウォールは、入ってくるメッセージを(内容、起源、または要求の性質にもとづくことがしばしばであるが)選別するハードウェア装置および/またはソフトウェア装置であり、安全であると判断されるメッセージについてのみ通過を許容する。ファイアウォールの主な3つの種類は、スクリーニング・ルータ(パケット・フィルタとも呼ばれる)、プロキシ・サーバ回路レベル・ゲートウェイ、およびプロキシ・サーバ・アプリケーション・レベル・ゲートウェイである。スクリーニング・ルータは、ドメイン名やIPアドレスなどのネットワーク・パケットについての外部情報の判定にもとづくことができ、条件に合うドメイン名およびIPアドレスからのメッセージの通過120、124を許すことができる一方で、他の場所122からのメッセージを拒絶する。プロキシ・サーバ回路レベル・ゲートウェイは、情報が外部のシステムへと渡されるとき、内部システムに関する情報を隠す。通常は、内部のコンピュータのIPアドレスが、プロキシのIPアドレスで置き換えられる。このレベルにおいて、認証を要求することができる。プロキシ・サーバ・アプリケーション・レベル・ゲートウェイは、スクリーニング・ルータおよび回路レベル・ゲートウェイの特徴のすべてを提供しつつ、さらにパケットそのものの中身の評価を可能にする。メッセージを、中身ならびにセキュリティ違反に関して拒絶することができる。
ネットワーク管理者は、一般に、彼らのシステムに手当たり次第に情報が入ることを許さない。彼らは、むしろ、ネットワークを保護するためにファイアウォール116、118を使用する。ファイアウォールは、入ってくるメッセージを(内容、起源、または要求の性質にもとづくことがしばしばであるが)選別するハードウェア装置および/またはソフトウェア装置であり、安全であると判断されるメッセージについてのみ通過を許容する。ファイアウォールの主な3つの種類は、スクリーニング・ルータ(パケット・フィルタとも呼ばれる)、プロキシ・サーバ回路レベル・ゲートウェイ、およびプロキシ・サーバ・アプリケーション・レベル・ゲートウェイである。スクリーニング・ルータは、ドメイン名やIPアドレスなどのネットワーク・パケットについての外部情報の判定にもとづくことができ、条件に合うドメイン名およびIPアドレスからのメッセージの通過120、124を許すことができる一方で、他の場所122からのメッセージを拒絶する。プロキシ・サーバ回路レベル・ゲートウェイは、情報が外部のシステムへと渡されるとき、内部システムに関する情報を隠す。通常は、内部のコンピュータのIPアドレスが、プロキシのIPアドレスで置き換えられる。このレベルにおいて、認証を要求することができる。プロキシ・サーバ・アプリケーション・レベル・ゲートウェイは、スクリーニング・ルータおよび回路レベル・ゲートウェイの特徴のすべてを提供しつつ、さらにパケットそのものの中身の評価を可能にする。メッセージを、中身ならびにセキュリティ違反に関して拒絶することができる。
(ソフトウェアのインストール)
システム管理者が、特定の装置上のソフトウェアを変更しなければならない場合がしばしばある。新しいアプリケーションを装置に追加する場合など、まず新しいソフトウェアがインストールされなければならない。特定の装置に既存のソフトウェアの新しいバージョンがインストールされるときなど、すでにインストールされているソフトウェアをアップデートでき、これはソフトウェアの「置き換え」とも称される。経理プログラムにおいて税率表がアップデートされる場合や、ウイルス対策ソフトウェア・ファイルがアップデートされる場合など、ソフトウェアの構成を変えることなく、既存のソフトウェアのデータ・ファイルをアップデートすることができる。既存のソフトウェアに問題が見つかった場合には、フィクスまたはパッチをインストールすることができる。特定の装置の状態についてのこれらの変更のいずれかまたはすべてが、この特許において「インストール」と称される。同様に、「パッケージ」、「パッチ」、および「アップデート」といった用語には、可能な限り広い意味が与えられるべきである。例えば、パッケージは、必要なすべてのファイルを含むプログラム全体、1つ以上のデータ・ファイル、既存のファイルへのソフトウェア・パッチ、構成ファイルの変更、*.dllファイル、ならびにコンピュータおよび/またはコンピュータ・ネットワークに取り付けられた特定のハードウェアのためのドライバ・ファイルなどを指すことができる。「アップデート」は、少なくともコンピュータにパッケージをインストールしようと試みることを指す。
システム管理者が、特定の装置上のソフトウェアを変更しなければならない場合がしばしばある。新しいアプリケーションを装置に追加する場合など、まず新しいソフトウェアがインストールされなければならない。特定の装置に既存のソフトウェアの新しいバージョンがインストールされるときなど、すでにインストールされているソフトウェアをアップデートでき、これはソフトウェアの「置き換え」とも称される。経理プログラムにおいて税率表がアップデートされる場合や、ウイルス対策ソフトウェア・ファイルがアップデートされる場合など、ソフトウェアの構成を変えることなく、既存のソフトウェアのデータ・ファイルをアップデートすることができる。既存のソフトウェアに問題が見つかった場合には、フィクスまたはパッチをインストールすることができる。特定の装置の状態についてのこれらの変更のいずれかまたはすべてが、この特許において「インストール」と称される。同様に、「パッケージ」、「パッチ」、および「アップデート」といった用語には、可能な限り広い意味が与えられるべきである。例えば、パッケージは、必要なすべてのファイルを含むプログラム全体、1つ以上のデータ・ファイル、既存のファイルへのソフトウェア・パッチ、構成ファイルの変更、*.dllファイル、ならびにコンピュータおよび/またはコンピュータ・ネットワークに取り付けられた特定のハードウェアのためのドライバ・ファイルなどを指すことができる。「アップデート」は、少なくともコンピュータにパッケージをインストールしようと試みることを指す。
(方法の概要)
図3、4、および5を参照すると、本発明に従って動作する方法の一実施の形態は、アップデート前状態にあるターゲット・コンピュータ500を含んでいる。ターゲット・コンピュータ500は、本発明が少なくともアップデートを試みようとするコンピュータであり、本発明のすべての実施の形態がアップデートの成功を必要とするわけではない。アップデート・サーバ528が、ネットワーク524を介してターゲット・コンピュータへと接続されている。いくつかの実装例においては、ターゲット・コンピュータが、winsock層を通じての接続などのネットワーク接続を有している。通常は、ターゲット・コンピュータは、すでに述べたようにファイアウォール526によって保護されているが、アップデート・サーバは、ファイアウォールを通過してターゲット・コンピュータにアクセスすることができる。
図3、4、および5を参照すると、本発明に従って動作する方法の一実施の形態は、アップデート前状態にあるターゲット・コンピュータ500を含んでいる。ターゲット・コンピュータ500は、本発明が少なくともアップデートを試みようとするコンピュータであり、本発明のすべての実施の形態がアップデートの成功を必要とするわけではない。アップデート・サーバ528が、ネットワーク524を介してターゲット・コンピュータへと接続されている。いくつかの実装例においては、ターゲット・コンピュータが、winsock層を通じての接続などのネットワーク接続を有している。通常は、ターゲット・コンピュータは、すでに述べたようにファイアウォール526によって保護されているが、アップデート・サーバは、ファイアウォールを通過してターゲット・コンピュータにアクセスすることができる。
既存の多くの事業用ソフトウェア管理ツールは、エージェントを使用している。例としては、マイクロソフト社のSMSソフトウェア、マイクロソフト社のActive Directoryソフトウェア、IBM社のTivoliという製品、シマンテック社(Symantec)のウイルス対策ソフトウェア、マカフィー社(McAfee)のウイルス対策ソフトウェア、およびNovell社のZENworksソフトウェアが含まれる(いずれも各社の標章である)。巨大なネットワークにおいて、エージェントは、報告すべき情報を有しているとき、目を覚まして並列にサーバへと報告することができる。対照的に、エージェントを使用しないツールは、サーバによって継続的にポーリングされるリモートAPIコールに依存し、好ましい実施の形態に見られるように、並列処理よりもむしろ、それらを性能について線形に拡大可能にしている。
本発明の実施の形態におけるエージェントは、ネットワークの帯域幅を節約するため圧縮されたファイルを受け取ることができる。圧縮は、解凍エラーがパッチが改竄されていることを知らせてくれる可能性があるため、セキュリティも向上させる。
エージェントを使用しないパッチ管理ツールと異なり、本発明のエージェントは、当該エージェントが載せられている携帯可能なターゲットがネットワークから切り離され、他の場所で再度接続されたとき、ダウンロードを再開することができ、したがって中断後にサービス・パックまたはファイルの全体をダウンロードすることができる。さらに、エージェントを使用しないツールは、パッチが展開されるときに帯域幅の利用に制御不能な急増を生み出す可能性があるが、本発明のいくつかの実施の形態によれば、アップデート・サーバを管理者によって制御し、サーバが各エージェントとの接続に所定の量の帯域幅しか使用しないようにすることができる(帯域幅の絞り)。
恒久的なLAN/ドメイン接続に依存しクライアント・エージェントを備えない従来のパッチ・ツールは、リモート・コンピュータにレジストリ情報を提供するリモート・レジストリ・サービスに依存するかもしれない。リモート・レジストリ・サービスは、Windows(登録商標)95、Windows(登録商標) 98、またはWindows(登録商標) MEといったプラットフォームでは利用することができない。このようなサービスは、リモート・コンピュータがクライアントのレジストリを読み出すことを許し、したがって侵入またはクライアントのセキュリティに対する他の攻撃を案内するために使用できる情報を提供することになるため、クライアント・コンピュータがインターネット上にある組織において、セキュリティ上のリスクとなりうる。本発明の実施の形態は、このセキュリティ上のリスクゆえ、好ましくはリモート・レジストリ・サービスの使用を回避する。
アップデート・エージェント508は、アップデートされるべきコンピュータのそれぞれに位置している。アップデート・エージェントは、従来からの手法または本発明を使用し、ワークステーションおよび/またはサーバなどのネットワーク・ターゲット装置に最初にインストールされるソフトウェア・コンポーネント(それほど大きくない)である。アップデート・エージェントは、人間の管理者の指示において人間の管理者の代わりに働き、人間の管理者が実際に当該装置に存在する場合に行われるものと同様のやり方で、作業を実行することができる。アップデート・エージェントは、4つの基本的タスクを如何に実行するのか、すなわち1)タスクのリストを取り出すべくどのようにアップデート・サーバ528に連絡するのか、2)受け取ったタスク・リスト内のタスクをどのように開始するのか、3)動作等の時間のためにポリシー情報をどのように処理するのか、および4)どのようにアップデート・サーバに登録するのかを、了解している。
アップデート・エージェントは、最初のインストールののち、手動の介在を必要とすることなく自身をアップデートし、設定し、あるいは置き換えることができる。通常は、小さなブートストラップ・エージェントが最初にインストールされるが、管理者の指示するとおり、あるいは管理者の要求を満足するために必要なとおり、能力が成長するであろう。オフサイトの管理者コンピュータ、サーバ・コンピュータ、およびクライアント装置など、異なる種類のターゲット・コンピュータ500のアップデート・エージェントは、すべて同じバージョンのただ1つのエージェントから出発することができる。所与のネットワーク内の装置が、すべて同じエージェントをインストールして有することができ、あるいは各装置が固有のエージェントをインストールして備えることができる。2つ以上のクライアントが存在する場合、管理者によって選択されるとおり、あるいは初期設定として設定されるとおり、それぞれが最初に異なるアップデート・エージェントを有することができ、あるいはエージェントの混合を異なるクライアント装置にインストールすることができる。同様に、複数のサーバおよび管理者が、異なるエージェントの混合を最初にインストールして備えてもよい。個々のターゲット・コンピュータのエージェントが変化するとき、それらはすべて一斉に変化してもよく、それらが異なってもよい。いくつかの実施の形態においては、エージェントがすべて異なって出発し、次いで機能において収束してもよい。
アップデート・サーバ528のオフサイト位置は、ターゲット・コンピュータとは異なる位置である。この位置は、完全に別のベンダにおいてオフサイトであってよく、ターゲット・コンピュータ500と物理的に異なる位置であるが同じ物理的位置の同じ団体によって管理される位置においてオフサイトであってもよい。下請け契約者の位置などターゲット・コンピュータ500から異なって表われる位置にあってもよく、あるいは他のいくつかの別個に表われる位置にあってもよい。重要なのは、個々のターゲット・コンピュータ・オペレーティング・システムに関する限り、作業がオフサイトであるように見えるという点である。一実施の形態では、アップデート・サーバがターゲット・コンピュータ500に置かれるが、オフサイトに見えるようなやり方で(例えば別のパーティションなどに)配置される。
ターゲット・コンピュータにインストールされるべき実際のアップデート材料は、アップデート・サーバおよびターゲット・コンピュータから離れて、別の場所(パッケージ・コンピュータとして知られている)に保存されることが多い。ソフトウェア・アップデートそのものは、ソフトウェア差分パッチ、ターゲット・コンピュータに未だインストールされていない新規なソフトウェア・プログラム、古いプログラムのアップデート、ソフトウェア・スクリプト、データ・ファイル、あるいはアップデート・エージェントのアップデートなど、ネットワークを横断してアップデートされうる幅広い種類の任意のソフトウェアであってよい。
公知の条件が満足されると、配置ステップ300において、タスクIDがアップデート・タスク・リスト222に置かれる。公知の条件とは、パッチがコンピュータ上に現在ないこと、管理者が同意を与えたこと、ターゲット・コンピュータ500の所有者がパッケージの所有者からの許可を有していること、配置特権を明確に否定する者が存在しないこと、あるいは他の公知または新規の条件でありうる。アップデート・サーバに位置するアップデート・タスク・リストは、特定のターゲット・コンピュータ500に関連付けられており、ソフトウェア・アップデートを見つけることができる少なくとも1つのダウンロード・アドレスを指定している。このダウンロード・アドレスは、コンピュータにとって理解できる任意の形式であってよい。本発明は、決して特定のアドレス指定の約束事には依存しない。現在一般的に使用されている2つのアドレス指定フォーマットは、「URL(Universal Resource Locator)」および「EQDN(fully qualified domain name)」フォーマットである。他のフォーマットは、PURL(Persistent Uniform Resource Locator)およびURN(Uniform Resource Names)、および将来において公知になるであろう他の呼称の仕組みである。タスク識別子に含まれるであろう他の情報は、最初にダウンロードが試みられる日付などである。それぞれがソフトウェア・アップデートを見つけることができる場所を指定している複数のダウンロード・アドレスを、すべて特定のソフト・アップデートに関連付けることができる。
タスク開始ステップ304において、パッケージ・コンピュータ567からアップデート・サーバ528へのソフトウェア・アップデートのアップロードが、少なくとも試みられる。2つ以上のダウンロード場所がタスクIDリスト226に存在するならば、随意によるパッケージ・コンピュータ選択ステップ306において、どの場所からソフトウェア・アップデートをダウンロードするかが選択される。この選択は、リスト上の最初の場所を利用する、テスト用のメッセージが最も素早く返送されてくる場所を利用する、最初に利用できる装置を使用するなど、公知または新規の任意の方法によって行なうことができる。
ひとたびアップデートのための場所が知られると、パッケージ・コンピュータ548の場所からアップデート・サーバ528のメモリ530へと、ソフトウェア・ダウンロードが試みられる。ダウンロードが成功しなかった場合、本発明の一方法においては、タスク・アップデート・リスト内の可能性のある場所のリストから他の場所が選択され、ソフトウェア・アップデートのダウンロードが再度試みられる。いくつかの実装例においては、何らかの理由でダウンロードを完了できなかった場合、アップデート・サーバ528は、或る時間待機し、再度パッケージ・コンピュータ567からのダウンロードを試みる。ダウンロードが成功した場合、次いでアップデート・サーバ528は、当該ソフトウェア・アップデートのターゲット・コンピュータ500へのダウンロード312を試みる。
ひとたびダウンロードがアップデート・コンピュータのキャッシュまたは他のメモリに入ると、当該ソフトウェア・パッケージをアップデート・サーバからターゲット・コンピュータへとダウンロードするため、第2のダウンロード312が試みられる。この方法のいくつかの実施の形態では、第2のダウンロード312が、或る所定の条件によって遅延310させられる。この遅延は、第1のダウンロードの開始からであってよく、遅延期間は、パッケージ・コンピュータからアップデート・サーバへとソフトウェア・アップデートをダウンロードするために要する時間の推定にもとづくことができる。第2のダウンロードを、その日の業務が終了した後など、一日のうちでターゲット・コンピュータ500が使用されている機会が少ない特定の時間まで、遅延させてもよい。他の公知または新規の遅延条件を使用することも可能である。
モニタ302が、通常は管理者によって行われる役割を実行してインストールを確認し、インストールの結果の判断314を行なう。ひとたび結果が知られると、管理者に通知328を行なうことができる。通知は、電子メールの送信330によることができ、誰かをポケットベルで呼び出すことによることができ、あらかじめ録音された電話メッセージの送信によることができ、あるいは他の任意の公知または新規の方法および手段によることができる。
モニタ・ステップにおいて失敗316が検出されたとき、失敗に終わったタスクは一時的に保留318される。アップデート・サーバ528への第1のダウンロード308が失敗しうるのと同様、アップデート・サーバ528からターゲット・コンピュータ500への第2のダウンロードも失敗しうる。ソフトウェア・アップデートがインストールされるターゲット・コンピュータが複数存在する場合、N番目のインストールが失敗する可能性があり、以下同様である。結果の判断は、ソフトウェア・アップデートが適切にインストールされたと見られることの単なる確認を越えると好ましく、本発明のいくつかの実施の形態においては、インストールを越える時間にわたって広がる。例えば、モニタの一実施の形態は、パッチ・アプリケーションをただ1つのターゲット・コンピュータにのみインストールし、それが適切にダウンロードされ、インストールされることを確認し、次いで時間遅延を設定する管理者が当該パッチについてその他のターゲット・コンピュータへの適用を許してもよいという充分な確証を得るまで或る時間間隔にわたって監視することによって、パッチ・アプリケーションをテストする。このパッチの適用が、ソフトウェアの変更がなされたプログラムまたはコンピュータのどこかにおける望ましくない挙動によって知らされるとおり異常な動作を生じさせる場合、その問題が解決されるまで広範な適用を自動的に差し止めることができる。
さらに、失敗が検出された幾つかの場合においては、ソフトウェア・アップデートが無効にされ、あるいはターゲット・コンピュータから除去324され、当該装置が事実上アップデート前の状態に戻され、あるいは他の認容可能な(動作する)非アップデート状態に戻される。これは、インストールされたソフトウェアをターゲット装置から除去322することを意味し、あるいはソフトウェアを取り除くだけでなく、すべての付属ファイル(.dll、.exe、など)がそれぞれアップデート前の状態に戻されることを意味しうる。他の場合には、ターゲット・コンピュータまたはその或る部分が、ソフトウェア・アップデートがインストールされる前にバックアップされ、このバックアップそのものが当該装置に戻されることを意味しうる。
複数のターゲット・コンピュータ500が存在する場合、ソフトウェアが1つ以上の装置にインストールされたのちに、モニタが失敗を検出するかもしれない。この場合、ソフトウェア・アップデートを、失敗が観測されたターゲット・コンピュータ500から除去322するだけでなく、当該ソフトウェアがすでにインストールされた他のすべてのターゲット・コンピュータ500からも除去326することができる。除去の要求は、管理者からもたらされてもよく、あるいは失敗が検出316された後に除去を自動的に実行してもよい。
モニタ302が、単にソフトウェア・パッケージのインストールが成功したか否かの報告を待つ以上のタスクを実行してもよい。例えば、幾つかの場合には、モニタがインストール後に或る時間間隔400にわたって待機し、否定の連絡を受け取らなかった場合に、インストールが成功したと判断してもよい。
管理者および管理者の補佐人は、彼らが進入してヘルプの要求に関する情報を引き出すことができる中央の集積所から、大きな利益を受け取ることができる。そのような方法の1つは、ヘルプ・デスク「発券」である。発券は、要求者、要求の種類、ヘルプが要求された時、要求への応答が完了した時、および他の有用な情報を記録する。PatchLink HelpDeskサービスが、管理者に、彼らのネットワーク要求および人的資源およびコンピュータ資源の両者のネットワーク資源を、中央の集積所を介して管理するための機能を提供する。PatchLink HelpDeskソフトウェアは、これらの機能を、管理者のネットワークに管理、バックアップ、およびアップデートしなければならないさらなる資源を導入する侵襲的なアプリケーションをインストールすることなく、インターネットを介して提供し、これはオフサイトの管理センターにおいてユーザに気づかれることなく処理される。
標準的なウェブ・ブラウザあるいは他の公知または新規なネットワーク接続によって到達できるウェブサイトが、ヘルプ・デスク・サービスを利用するための機能をもたらす。好ましい実装例は、現在PatchLink社のウェブサイトにあり、www.patchlink.comで到達できる。簡潔なウェブ形式が、登録プロセスを開始するために必要なデータ採取をサポートする。ひとたび登録プロセスが完了すると、管理者は、繰り返しの申し込みにもとづいて1つ以上のサービスをライセンスすることができる。
登録プロセスは、管理者がサインアップして所望の参加レベルを指定することによってプロセスを開始させるときに開始される。本発明の好ましい実施の形態は、ゲスト、レギュラー、およびエグゼクティブという3つの異なるユーザ・レベルを有している。ゲストは、ウェブサイトの閲覧を許され、ユーザ・フォーラムを読むことができるが、フォーラムへと投稿することはできない。レギュラー・メンバは、ゲストの機能を実行でき、さらにチャット・ルームでチャットを行なうことができ、フォーラムに投稿することができる。エグゼクティブ・メンバは、サイトへの会費を有している。エグゼクティブ・メンバは、レギュラー・メンバの機能を実行することができ、さらにオフサイトの自動パッケージ・アップデート(例えば、PatchLink Updateサービス)、オフサイト監視(例えば、PatchLink Monitorサービス)およびオフサイトのヘルプ・デスク機能(例えば、PatchLink HelpDeskサービス)など、サイトのより進んだ特徴を使用することができる。
この方法の一実施の形態は、顧客の電話加入区域コードに割り当てられた顧客ケア・エージェントへと、電子メールが送信されることを必要とする。顧客ケア・エージェントが、登録プロセスを完了するため係属中のユーザへと電話する。顧客ケア・エージェントが、必要な識別情報および支払い情報を収集し、次いで継続中のユーザのアカウントを、当該アカウントの使用を許可するように更新し、係属中のユーザを管理者/ユーザにする。管理者/ユーザの参加または利用できる範囲は、アップデート・ホストのデータベースのライセンスされた製品の表のエントリによって制御される。これらのエントリは、登録プロセスの際に顧客ケア・エージェントによって生成される。
これらのサービスのすべてが、管理者にとって、ブラウザまたはインターネットを横断する他のネットワーク接続を介して利用可能であることを、思い出すべきである。モニタがヘルプ・デスクにチケットを入力し、本発明の方法の幾つかの実証において頒布を開始したとき、次にモニタは、失敗が発生316、406したか否かを判断する。判断のため、モニタは、どのソフトウェア・アップデートが最近インストールされたのか、そのインストールがどのくらい前に行われたのか、現在のハードウェアおよびソフトウェア構成はどのようであるか、などを調べる。どのような出来事が失敗と考えられるかについては、制限はないが、管理者によって設定することができ、初期設定を使用でき、ヘルプ・デスク職員の判断を考慮に入れることができる。
アップデート・サーバからターゲット・コンピュータへのダウンロードが成功裏に完了したのち、成功検出ステップ408において、ターゲット・コンピュータ500が、アップデート・サーバにメッセージ410を送信する。モニタは、失敗に気付かない場合、または失敗を知らされることなく指定の時間期間が経過した場合に、成功404したものと推定することができる。
他のやり方316、406で失敗を検出することもできる。例えば、ターゲット・コンピュータが、失敗が生じたことをモニタに知らせることができる。ユーザが、ヘルプ・デスクまたは直接リンクを通じて、失敗が生じたことをモニタに知らせることができる。ターゲット・コンピュータがターゲット装置への第2のダウンロード312の開始から指定の時間内にモニタに連絡をしないとき、人間である管理者が失敗が生じたことを宣言できる。モニタがダウンロードの結果が成功であると宣言したのちであっても、ヘルプ・デスクからの失敗の知らせなどの後のイベントが、モニタにダウンロード失敗の宣言を行なわせることができる。
本発明の一実施の形態においては、アップデート・サーバ528が、次のターゲット・コンピュータ500がアップデート・リスト222に置かれたソフトウェア・アップデートを有する前に、インストール成功の確認(モニタ、あるいは他の公知または新規な連絡方法による)を待つ。アップデート・サーバが、当該ソフトウェア・アップデートについて適格であるが当該ソフトウェア・アップデートを未だ受け取っていないターゲット・コンピュータ500をチェック412する。それが発見414された場合、当該ターゲット装置、ソフトウェア・アップデート、および場所を指定する適切なタスク識別子が、アップデート・サーバ528のタスク・アップデート・リストに追加416される。このようにして、適格なコンピュータのすべてに一斉にソフトウェアがインストールされるマス・アップデートではなく、頒布が一度に1台のコンピュータにて進められ、初期設定またはユーザ設定数のインストールが成功したのち、頒布は成功したものと判断され、その場合にソフトウェア・アップデートが2つ以上のターゲット・コンピュータにとって同時に利用可能になる。
どのソフトウェア・パッケージまたはパッチがインストールされているのか、特定のターゲット・コンピュータ500を調べることによって常に明らかになるわけではない。本発明は、本発明によって所与のパッチのインストールを試みる前に、ターゲット・コンピュータ500を分析して、当該パッチがコンピュータ500に未だインストールされてないことを確認する方法を含んでいる。以下の説明では、図8および9を参照するとともに、引き続き図5も参照する。
特定のソフトウェア・アップデートを定めるパッチ・フィンガプリントについて、以下で詳しく説明する。パッチ・フィンガプリントは、新規パッチ・フィンガプリント902についてのパッチ・コンポーネント・データベース位置900を監視することによって所在確認800される。ここで「新規」という用語は、当該パッチが未だ集積所コンポーネント600へとダウンロードされておらず、あるいはすでにダウンロードされたにもかかわらず、何らかの理由で集積所コンポーネントへと再度ダウンロードされる必要があることを示している。1つ以上のパッチ・コンポーネント位置が存在してもよく、それらの位置は、ネットワーク・リンクによってシステムに接続された別のコンピュータ上、アップデート・サーバ528上、ターゲット・コンピュータ599上、パッケージ・コンピュータ567上、またはCD、テープ、フロッピー(登録商標)・ディスクなどのネットワークではない位置、あるいは何か他の公知または新規な位置にあってよい。
ひとたびパッチ・フィンガプリント906が所在確認800されると、それは集積所コンポーネント600へと配置802される。通常の配置方法は、パッチ・フィンガプリント906を集積所コンポーネントへとダウンロード804することであるが、幾つかの実施の形態においては、フィンガプリント906が同じファイル・システム上にあり、パッチ・フィンガプリントが、パーティション間のコピーなど、ネットワークを使用せずにコピーされる。
図示のパッチ・フィンガプリントは、装置に特定のパッチをインストールできるか否かを調べるための高レベルの調査に使用することができる1つ以上の一般備品インストール依存関係912を含んでいる。さらに、ターゲット・コンピュータ500からの特定の情報を要求するために使用できる署名ブロック910、および装置に特定のパッチがロードされているか否かを判断するために署名ブロック情報を使用できる存在テスト908も含まれている。
本発明の幾つかのバージョンにおいては、備品インストール依存関係912が、ターゲット・コンピュータ500にインストールされていなければならない必要なソフトウェアおよびハードウェアの少なくとも幾つかを記載している。これらの依存関係912は、目録ライブラリ918に前もって保存されているターゲット・コンピュータ806についての情報と比較808される。インストール情報と目録情報が一致しない場合、パッチはインストールされていない。本発明の幾つかのバージョンにおいては、少なくとも1人の管理者にインストールのために必要とされるコンポーネント(必要なハードウェアおよびソフトウェアなど)のリストを含んでいるメッセージが送信される。
必要な目録情報がターゲット・コンピュータ500上にある場合、あるいは目録情報が使用されていない場合、署名ブロックが集積所コンピュータ600からターゲット・コンピュータ500へと送信810される。署名ブロック814にて要求された情報は、より詳細なインストール情報で構成されてもよいが、発見エージェント548によって収集812され、次いで集積所コンポーネント818へと送り返される。本発明の幾つかのバージョンにおいては、発見エージェントが、利用統計、インストール済みのハードウェアおよびソフトウェア、ならびに設定など、ターゲット・コンピュータについての他の情報も収集する。次いでこの情報を、目録ライブラリ918を豊かにすべく使用することができる。
ひとたび署名情報910が集積所コンポーネント600へと送信されると、評価器914が、署名ブロックによって要求された特定のインストール情報の少なくとも一部分を、存在テスト908および幾つかの場合には備品インストール情報912を使用して評価し、ターゲット・コンピュータ500上にパッチが存在しない822かどうか判断する。
随意によるステップとして、パッチが存在しないかどうかを判断したのちに、管理者に関連付けられた少なくとも1つのアドレスにメッセージが送信824される。このメッセージは、電子メール、ポケットベル、ファクシミリ、ボイスメール、インスタント・メッセージング、SNMP通知、などを含むさまざまな方法を使用して送信することができる。
(パッチ・フィンガプリント)
引き続き図5、8、および9を参照すると、本システムの一実施の形態は、インストールを試みる前に、所与のターゲット・コンピュータ500についてソフトウェア・パッケージをインストールできること、またはインストールすべきであることを検証する。そのようにするため、例えばクライアント上のエージェントによってパッチ・フィンガプリント906が使用される。パッチ・フィンガプリントは、所与のソフトウェア・パッケージ/差分パッチがすでにインストールされているか否かをどのように判断するのかを定めている。また、パッチ・フィンガプリントが、パッチのインストールに必要な最小のハードウェア/ソフトウェア構成を定めてもよい。これらのパッチ・フィンガプリント906は、フィンガプリント・ライブラリ904に保存される。フィンガプリント・ライブラリ904は、集積所コンポーネント600に位置している。この集積所コンポーネント600は、アップデート・サーバ528に位置することができ、あるいはアップデート・サーバ528およびターゲット・コンピュータ500にとってアクセス可能な別の位置に位置することができる。さらに、本発明の幾つかのバーションは、ターゲット目録を含む目録ライブラリ918を備えている。ターゲット目録920のそれぞれは、ターゲット・コンピュータ500の所定の組についてのハードウェアおよびソフトウェア情報を含んでいる。この所定の組は、最も少なくは1台のコンピュータを含み、最も多くは所与のネットワーク内のすべてのコンピュータを含み、あるいは両者の間の或る数のコンピュータを含むことができる。
引き続き図5、8、および9を参照すると、本システムの一実施の形態は、インストールを試みる前に、所与のターゲット・コンピュータ500についてソフトウェア・パッケージをインストールできること、またはインストールすべきであることを検証する。そのようにするため、例えばクライアント上のエージェントによってパッチ・フィンガプリント906が使用される。パッチ・フィンガプリントは、所与のソフトウェア・パッケージ/差分パッチがすでにインストールされているか否かをどのように判断するのかを定めている。また、パッチ・フィンガプリントが、パッチのインストールに必要な最小のハードウェア/ソフトウェア構成を定めてもよい。これらのパッチ・フィンガプリント906は、フィンガプリント・ライブラリ904に保存される。フィンガプリント・ライブラリ904は、集積所コンポーネント600に位置している。この集積所コンポーネント600は、アップデート・サーバ528に位置することができ、あるいはアップデート・サーバ528およびターゲット・コンピュータ500にとってアクセス可能な別の位置に位置することができる。さらに、本発明の幾つかのバーションは、ターゲット目録を含む目録ライブラリ918を備えている。ターゲット目録920のそれぞれは、ターゲット・コンピュータ500の所定の組についてのハードウェアおよびソフトウェア情報を含んでいる。この所定の組は、最も少なくは1台のコンピュータを含み、最も多くは所与のネットワーク内のすべてのコンピュータを含み、あるいは両者の間の或る数のコンピュータを含むことができる。
フィンガプリント・ライブラリ904は、自動的に補充できる。幾つかの実施の形態においては、おそらくは複数であるが少なくとも1つのパッチ・コンポーネント・データベース位置900が、新規パッチ902について監視800される。本発明の幾つかの実施の形態においては、位置900からの信号が、新規パッチ902が利用可能800であることを集積所コンポーネント600に知らせる。好ましい実装例においては、フィンガプリント・ライブラリ904が、特定の時間間隔で新規パッチ・フィンガプリントについて更新される。集積所コンポーネント600が新規パッチ・フィンガプリントを知らされたのち、当該パッチ・フィンガプリントが、通常は当該パッチ・フィンガプリントをダウンロードすべくダウンロードローダ924を使用することによって、集積所コンポーネント802に配置される。しかしながら、パッチ・フィンガプリントは、他の方法にて集積所コンポーネントに入れられてもよい。例えば、1つ以上のパッチ・フィンガプリントを、管理者によって手動でフィンガプリント・ライブラリにインストールしてもよい。
(目録ライブラリ)
集積所コンポーネント600は、さらに目録ライブラリ918を含んでいる。発見エージェント548が、幾つかの実施の形態においては当初よりアップデート・サーバ528上に存在するが、アップデート・サーバ528からターゲット・コンピュータ500へと公知または新規な方法を使用してインストールされる。この発見エージェント548は、以下でさらに詳しく説明するが、少なくとも幾つかのターゲット・コンピュータ500のソフトウェア情報606、インストール済みの特定のソフトウェア・アップデートおよびパッチを含むハードウェア情報608、利用情報604、レジストリ情報612、ウェブ情報610、設定情報614、サービス618、ファイル情報、利用されているパッチ署名、などを目録にしている。
集積所コンポーネント600は、さらに目録ライブラリ918を含んでいる。発見エージェント548が、幾つかの実施の形態においては当初よりアップデート・サーバ528上に存在するが、アップデート・サーバ528からターゲット・コンピュータ500へと公知または新規な方法を使用してインストールされる。この発見エージェント548は、以下でさらに詳しく説明するが、少なくとも幾つかのターゲット・コンピュータ500のソフトウェア情報606、インストール済みの特定のソフトウェア・アップデートおよびパッチを含むハードウェア情報608、利用情報604、レジストリ情報612、ウェブ情報610、設定情報614、サービス618、ファイル情報、利用されているパッチ署名、などを目録にしている。
次いで、この情報あるいはその部分集合または上位集合が、目録ライブラリ918内のターゲット・コンピュータ目録920へと、幾つかの実施の形態においては圧縮された形式で送信される。結果情報は、かなりかさばる可能性があるため、効率的なアップロードおよび顧客ネットワークの帯域幅の使用を最小にするため、圧縮することができる。好ましい実装例では、このデータをXMLデータ転送を使用して送信するが、他の任意の公知または新規のデータ転送方法も使用可能である。さらに、目録情報の転送は、望ましくないシステム構成情報のワイヤ・レベルの詮索を防止するため、顧客のネットワーク内で暗号化することができる。
(レポート生成器)
この情報によって、レポート生成器922が、ネットワーク内のすべてのコンピュータの現在のパッチ状態についての詳細なレポートを、パッチを必要とするコンピュータの数、すでにパッチがインストールされているコンピュータ、およびハードウェアまたはソフトウェアがアップグレードされるまではパッチを受け取ることができないコンピュータ、などを示しつつ、ユーザに提示することができる。さらに、レポート生成器922は、ネットワークに接続されたコンピュータの部分的または完全な目録を提供することができる。幾つかの実施の形態においては、レポート生成器922が、ハードウェアの位置の追跡およびソフトウェア・ライセンス遵守の確保の両者のため、管理者による分析のために目録についてのグラフィック表示を提供する。一方で、集積所コンポーネント600も、関連の署名910をパッチ・フィンガプリント906から発見エージェント548へと配布して、ターゲット・コンピュータ500における不必要な走査作業を除くことによってパッチ発見プロセスを大幅に最適化するため、目録ライブラリ918の情報ならびに検出されたフィンガプリント情報を使用する。
(発見エージェント)
所与のソフトウェア・プログラムまたはパッチがインストール可能であるか否かを判断する最適な1つのステップは、該当する場合に必要なハードウェアが存在すること、および/または必要なソフトウェアが存在することの検証による。例えば、或るプログラムが特定のオペレーティング・システムを必要とするかもしれないし、或るプログラムは或るプロセッサを必要とするかもしれない。一例として、マイクロソフト社のWordソフトウェアのアップデートをインストールする場合、マイクロソフト社のWordソフトウェアが装置上に存在する必要がある。この高レベルの依存関係が、幾つかのバージョンにおいてはパッチ・フィンガプリント内の備品インストール・ブロック912に保存される。備品インストール・ブロックの情報は、一般に、目録ライブラリ918に保存された特定のターゲット・コンピュータ500のターゲット目録920から引き出されることができるよう、充分に高レベルである。
この情報によって、レポート生成器922が、ネットワーク内のすべてのコンピュータの現在のパッチ状態についての詳細なレポートを、パッチを必要とするコンピュータの数、すでにパッチがインストールされているコンピュータ、およびハードウェアまたはソフトウェアがアップグレードされるまではパッチを受け取ることができないコンピュータ、などを示しつつ、ユーザに提示することができる。さらに、レポート生成器922は、ネットワークに接続されたコンピュータの部分的または完全な目録を提供することができる。幾つかの実施の形態においては、レポート生成器922が、ハードウェアの位置の追跡およびソフトウェア・ライセンス遵守の確保の両者のため、管理者による分析のために目録についてのグラフィック表示を提供する。一方で、集積所コンポーネント600も、関連の署名910をパッチ・フィンガプリント906から発見エージェント548へと配布して、ターゲット・コンピュータ500における不必要な走査作業を除くことによってパッチ発見プロセスを大幅に最適化するため、目録ライブラリ918の情報ならびに検出されたフィンガプリント情報を使用する。
(発見エージェント)
所与のソフトウェア・プログラムまたはパッチがインストール可能であるか否かを判断する最適な1つのステップは、該当する場合に必要なハードウェアが存在すること、および/または必要なソフトウェアが存在することの検証による。例えば、或るプログラムが特定のオペレーティング・システムを必要とするかもしれないし、或るプログラムは或るプロセッサを必要とするかもしれない。一例として、マイクロソフト社のWordソフトウェアのアップデートをインストールする場合、マイクロソフト社のWordソフトウェアが装置上に存在する必要がある。この高レベルの依存関係が、幾つかのバージョンにおいてはパッチ・フィンガプリント内の備品インストール・ブロック912に保存される。備品インストール・ブロックの情報は、一般に、目録ライブラリ918に保存された特定のターゲット・コンピュータ500のターゲット目録920から引き出されることができるよう、充分に高レベルである。
本発明のいくつかの実装例においては、パッチ・フィンガプリント906が、インストール依存関係情報912をさらに含んでいる。これは、すでに説明したとおり、目録ライブラリにおいて発見が期待でき、したがってターゲット・コンピュータ500を照会することなくチェックできるターゲット・コンピュータ500についての情報である。これは、存在するであろうソフトウェア(特定のバージョンのプログラム、パッチ、データ・ファイル、またはドライバ)、存在するであろうハードウェア・コンポーネント、または存在しないであろう特定のハードウェアおよび/またはソフトウェアを含んでいる。
目録ライブラリがターゲット・コンピュータ500について最新の目録を有していない場合、発見エージェントを、目録情報を求めてターゲット・コンピュータ500を走査するために使用できるが、同時に署名情報を求めて走査を行なう必要は必ずしもない。好ましい実装例においては、発見エージェント548は、所与のターゲット・コンピュータについて最初に動作するとき、目録情報についてのみ走査を行い、次いでその情報を目録ライブラリ918へとロードし、パッチ・フィンガプリント情報は無視する。発見エージェント548が動作する他のとき、発見エージェントは、目録情報を無視することができ、むしろ特定のパッチの存在をテストするため特定の署名情報910を調べるために使用されることができる。署名ブロック情報が捜索されるとき、レジストリのエントリおよびINIファイル値などの値を存在について調べることができ、あるいは実際の値を集積所コンポーネント600へと返すことができる。
各パッチ・フィンガプリントは、署名ブロック910および存在テスト908を含んでいる。パッチ署名ブロックは情報要求の組であり、情報そのものはターゲット・コンピュータ500から集められ、必要なすべてのバグ・フィクスおよびセキュリティ・パッチがインストールされているか否かを判断するために使用される。パッチ署名ブロック情報の例としては、これらに限られるわけではないが、ファイル、ハードウェア、レジストリ、および設定情報、特定のファイル名およびディレクトリ名、ファイルが発見されると予想されるパスのすべてまたは一部、ファイルの特定のバージョン番号、ファイルの生成日、ファイルの特定のファイル・バージョン、ならびに特定のレジストリ値が含まれる。
一実装例においては、フィンガプリント・ライブラリ904はSQLデータベースである。パッチ署名910が、SQLフィンガプリント・ライブラリから取り出され、備品インストール情報912に指定されているオペレーティング・システムおよびインストール済みソフトウェアについての依存関係条件に合致するすべてのターゲット・コンピュータへと送信される。
好ましい実装例は、XMLベースの要求入力ファイルを使用する。アップデート・サーバ528へと返送される結果ファイルも、やはりXMLフォーマットを使用する。この結果ファイルは、ターゲット・コンピュータについての署名情報を含んでおり、さらにソフトウェアおよびハードウェア目録更新を含んでもよい。アップデート・サーバに送られる目録および署名情報は、かなりかさばる可能性があるため圧縮され、好ましい実施の形態においては、さらに暗号化されてもよい。下記は、マイクロソフト社のOutlookについてのレジストリ情報、ならびにEXEの日時、およびレジストリ内の情報を集めるパッチ署名の一例である。
ひとたびターゲット・コンピュータ上の発見エージェントが署名についての走査結果を返すと、特定のコンピュータが実際にパッチを有しているか否かを推測するため、存在テスト908のロジックが評価器914によって使用される。このアルゴリズムは、その唯一の職務が集積所コンポーネント600そのものによるデータ分析の実行を可能にするため情報を発見することにある評価器について、評価器によって行なわれなければならないテストの数を最小限にする。このようなやり方で作業負荷を分散することにより、莫大な数のワークステーションおよびサーバの走査および分析について、より良好な実行がもたらされる。
存在テストはそれぞれ、所与のパッチに特有である。存在テストの一例は、次のようなものであろう。すなわち、レジストリQQが値ZFILEVALを含んでいる場合、または(ファイル_Z123.batが2000年12月12日のPM11:52に変更され、ファイルZのサイズがZFILESIZEである)場合、パッチZPATCHが存在する。パッチ・フィンガプリント・ライブラリの好ましい実施の形態は、SQLデータベースであるが、他の公知または新規なデータベースも使用可能である。
パッチ・フィンガプリントが、さらに他のフィンガプリント定義への依存性を含んでもよいことに注目すべきである。例えば、仮に、「MS‐023 IIS Vulnerability Fix」というパッチが「Microsoft Windows Service Pack 2」の存在を必要とすることができる。これは、パッチ署名が実際に送信される場所をさらに最適化するために使用される。これらは、ときには状況に応じて、インストール依存関係情報912および署名ブロック910内の他の時点において、使用されてもよい。
さらに、フィンガプリント定義906は、通常はシステムによる展開に適したソフトウェア・パッケージ554に関連付けられる。ひとたびコンピュータまたはネットワーク内のすべてのコンピュータ上の署名を走査することによって特定のパッチの必要性が確認されると、それを管理者によって、単に日時を選択することによって迅速に展開することができる。
さらに、フィンガプリント定義906は、パッチ署名内の他の要素を真(パッチされた)または偽(パッチされていない)と判断すべきか否か評価するために評価されるべき論理表現を含んでもよい。表現は、(A AND B)│Cなどの簡潔な論理記述であり、ここでA、B、およびCは、パッチ署名内の他のフィンガプリント定義を指している。
幾つかの実装例においては、ダウンローダ924が、新規パッチ・フィンガプリントがについてパッチ・コンポーネント・データベースを定期的にチェックする。新規パッチ・フィンガプリントの所在が確認されたとき、それは集積所コンポーネントへとダウンロードされる。評価器が、インストール情報912に挙げられた特定のパッチ実行に必要な依存関係を、目録ライブラリに挙げられたターゲット・コンピュータ500の詳細のそれぞれと比較する。次いで、パッチを必要とするすべてのターゲット・コンピュータ500、パッチを所有していないすべてのターゲット・コンピュータ、必要な依存関係を有しておりパッチを受け取ることができるすべてのターゲット・コンピュータ、および/またはパッチをすでに受け取ったすべてのターゲット・コンピュータ500を特定できるアップデート・リストが生成される。今やこのアップデート・リストを、ターゲット・コンピュータをアップデートするために使用することができ、さらに/または通知器916によって管理者に送信することができる。
本発明のいくつかの例においては、パッチ・コンポーネント・データベースが、ターゲット・コンピュータ500の所有者以外の何者かによって所有されている。このパッチ・アップデート・ホストが、ターゲット・コンピュータ500の所有者への所与の許可を有している場合にのみ、ダウンローダが、新規パッチ・フィンガプリントの集積所コンポーネントへのダウンロードを許される。この許可は、購入契約、ライセンス契約、ダウンロード許可の申し込み、および評価契約を含むことができる。
管理者にとって興味の対象でありうるあらゆる変更が行われた場合、通知器916が、利用可能になった新規パッチ・アップデート、または管理者のネットワークの構成において生じたパッチ関連の状態変化を含んでいる通知メッセージを送信する。通知は、電子メール。ポケットベル、電話、SNMPブロードキャスト、またはインスタント・メッセージによって送ることができる。
(ターゲット・コンピュータ)
一実施の形態において、本発明のシステムは、ターゲット・コンピュータ500、アップデート・サーバ528、およびパッケージング・コンピュータ548という3つの部分からなる。ターゲット・コンピュータ500は、メモリ502、および本発明の少なくとも1つの実装例においてはwinsock層であるネットワーク接続504を有している。ソケット無しのプロトコルを実装することが可能であり、あるいは他の任意の公知または新規のネットワーク接続を使用することができる。アップデート・サーバ528は、随意によりバックアップ記憶装置534を含んでもよいメモリ530、およびネットワーク接続532を有している。パッケージ・コンピュータ567は、メモリ550、およびネットワーク接続552を有している。図5には、便宜上1台のターゲット・コンピュータ500が示されているが、所与の実施の形態においてははるかに多くのターゲット・コンピュータが存在するであろう。同様に、便宜上1台のアップデート・サーバ528および1台のパッケージ・コンピュータ567が示されているが、本発明は、ただ1台を必要とするかもしれないが、2台以上もサポートする。好ましい実施の形態においては、これらの部分がすべて別個のコンピュータであるが、これらが別個であると見ることができる同じコンピュータの仮想の部分であってもよい。例えば、「パッケージ・コンピュータ」に部分が、アップデート・サーバの別のパーティションに存在してもよく、同じパーティションに存在してもよい。
一実施の形態において、本発明のシステムは、ターゲット・コンピュータ500、アップデート・サーバ528、およびパッケージング・コンピュータ548という3つの部分からなる。ターゲット・コンピュータ500は、メモリ502、および本発明の少なくとも1つの実装例においてはwinsock層であるネットワーク接続504を有している。ソケット無しのプロトコルを実装することが可能であり、あるいは他の任意の公知または新規のネットワーク接続を使用することができる。アップデート・サーバ528は、随意によりバックアップ記憶装置534を含んでもよいメモリ530、およびネットワーク接続532を有している。パッケージ・コンピュータ567は、メモリ550、およびネットワーク接続552を有している。図5には、便宜上1台のターゲット・コンピュータ500が示されているが、所与の実施の形態においてははるかに多くのターゲット・コンピュータが存在するであろう。同様に、便宜上1台のアップデート・サーバ528および1台のパッケージ・コンピュータ567が示されているが、本発明は、ただ1台を必要とするかもしれないが、2台以上もサポートする。好ましい実施の形態においては、これらの部分がすべて別個のコンピュータであるが、これらが別個であると見ることができる同じコンピュータの仮想の部分であってもよい。例えば、「パッケージ・コンピュータ」に部分が、アップデート・サーバの別のパーティションに存在してもよく、同じパーティションに存在してもよい。
ターゲット・コンピュータは、ネットワーク接続544を含んでいるが、これは、すでに説明したとおり、ファイアウォール526によって外部から保護されることができる。例えば何台かがWindows(登録商標)機であって何台かがUnix(登録商標)機であるなど、1つのネットワーク内の別個のターゲット・コンピュータが、別のプラットフォームで動作してもよい。すべてのプラットフォームについて同じアップデート・サーバ528を使用でき、あるいはプラットフォームの種類によって異なるアップデート・サーバ528を指定することができ、あるいは別の仕組みを使用してアップデート・サーバ528をターゲット・コンピュータ500に割り当てることができる。
ターゲット・コンピュータ500は、さらにアップデート・エージェント508を含んでいる。アップデート・エージェントは、本発明の方法を使用して複数の装置に同時にインストールできるソフトウェア・コンポーネントであり、あるいは本システムの幾つかの実施の形態においては、従来からのやり方でターゲット・コンピュータ500にインストールできる。ひとたび登録されると、アップデート・エージェント508は、3つの基本的タスクを如何に実行するのか、すなわち1)自身のアップデート・リスト536から自身のタスクのリストを取り出すべくどのようにアップデート・サーバ528に連絡するのか、2)受け取ったタスク・リスト内のタスクをどのように開始するのか、および3)アップデート・サーバ528から受信されポーリング間隔および動作時間などを制御するポリシー情報をどのように取り出すのかを、了解している。
(アップデート・エージェント)
ターゲット・コンピュータ500のアップデート・エージェントが、エージェント508のすべき作業が存在するか否かを判断するため、アップデート・サーバ528に連絡する。アップデート・サーバ528は、これをエージェントのアップデート・リスト・キュー536を分析することによって判断する。このアップデート・リスト536は、少なくともソフトウェア場所参照538を含んでいるが、さらにソフトウェア・パッケージ554をインストールすることができる再選の日付を示す日付540を含むことができ、同じソフトウェア・パッケージを複数の場所から入手できる場合には、複数のソフトウェア場所参照を含むことができる。アップデートできるソフトウェア554の種類には、これらに限られるわけではないが、現在ターゲット・コンピュータにインストールされているソフトウェア・アプリケーションをアップデートするパッチ・ファイル556、データ・ファイル558、スクリプト・ファイル562、新規アプリケーション・ファイル564、実行可能ファイル560、ドライバ・アップデート、新規ソフトウェア・バージョン、およびアップデート・エージェント・ファイル566そのもののアップデートが含まれる。
ターゲット・コンピュータ500のアップデート・エージェントが、エージェント508のすべき作業が存在するか否かを判断するため、アップデート・サーバ528に連絡する。アップデート・サーバ528は、これをエージェントのアップデート・リスト・キュー536を分析することによって判断する。このアップデート・リスト536は、少なくともソフトウェア場所参照538を含んでいるが、さらにソフトウェア・パッケージ554をインストールすることができる再選の日付を示す日付540を含むことができ、同じソフトウェア・パッケージを複数の場所から入手できる場合には、複数のソフトウェア場所参照を含むことができる。アップデートできるソフトウェア554の種類には、これらに限られるわけではないが、現在ターゲット・コンピュータにインストールされているソフトウェア・アプリケーションをアップデートするパッチ・ファイル556、データ・ファイル558、スクリプト・ファイル562、新規アプリケーション・ファイル564、実行可能ファイル560、ドライバ・アップデート、新規ソフトウェア・バージョン、およびアップデート・エージェント・ファイル566そのもののアップデートが含まれる。
アップデート・エージェントが、関連のアップデート・リスト536に適切な日付540(該当する場合)を有するエントリを発見したとき、インストーラ510は、まずソフトウェア・パッケージのコピーがアップデート・サーバ528のメモリ530にすでに存在するか否かをチェックする。見つかった場合、インストーラは、当該ソフトウェア・パッケージをアップデート・サーバから直接ダウンロードする。この状況は、先のターゲット・コンピュータ500が当該ソフトウェア・パッケージ554をアップデート・サーバ528に要求していた場合に生じうる。
ソフトウェア・パッケージが見つからなかった場合、インストーラ510は、ネットワーク接続を使用し、アップデートをソフトウェア場所参照538にて与えられたパッケージ・コンピュータ場所からターゲット・コンピュータ・メモリ502へと直接ダウンロードしようと試みる。これは、ファイアウォール526が存在しない場合に可能であり、あるいはアップデート・サーバがパッケージ・コンピュータ場所548へと接続できる場合に可能である。
管理者が、パッケージ・コンピュータ567などの「非認証」の供給源からファイルを取り出すようにアップデート・エージェント508に指示するパッケージを構築したとき、インストーラ510は、そのようなリソースを直接取り出すことができないであろう。しかしながら、アップデート・エージェントは、当該パッケージを取り出すようにアップデート・サーバ528に依頼することができる。いくつかの実装例では、複数のアップデート・サーバが存在し、アップデート・エージェント508が、そのうちのどれにアクセスするかを或る所定の条件を使用して決定する。例としては、利用できる最初のアップデート・サーバ528を選択する、もっとも多忙でないアップデート・サーバを選択する、ネットワーキングの点で「最も近い」アップデート・サーバを選択する、などがある。
本発明の一実装例においては、アップデート・サーバ528がオフサイトのパッケージ・コンピュータ567に到達できるとき、自身がリソースに到達できる旨をアップデート・エージェント508に報告し、取り出しに要する時間を推定する。この推定が、要求に係るリソースが利用可能になるまでにどれだけ長く待つべきかを、エージェントに知らせる。可能性は低いが、インターネット・トラフィックの変動およびサーバ応答時間のばらつきによって計算による推定が正確でない場合、エージェントが再度リソースを要求するならば、アップデート・サーバがさらなる待ち時間長さを提供し、エージェントは再び待機する。このサイクルが、アップデート・サーバ528がメモリ内にリソースを利用可能に有し、次の要求によってエージェントに届けることができるまで、繰り返される。
異なるエージェント508によって特定のソフトウェア・パッケージが複数回要求される可能性があるため、本発明の一実装例においては、アップデート・サーバ528がこのリソースをローカル・キャッシュ530に保存し、そこから追加の取り出し要求に応えることができる。アップデート・サーバ528の利用可能なメモリがすべて古いソフトウェア・パッケージで埋められてしまうことがないよう、一実施の形態では、保存したソフトウェア・パッケージについてパッケージがアクセスされた回数および最後のアクセスの時刻を記憶し、当該リソースをキャッシュ内に置いておく時間である「有効期間」を評価する。アップデート・サーバ528において動作している別のタスクが、時間とともに有用性を「失った」リソースについて周期的にチェックし、保存されているソフトウェア・パッケージ・アップデートをキャッシュ530から削除することによって、アップデート・ホストの保存用のリソースを回復させる。
一実施の形態においては、アップデート・サーバが、エージェントのリストにとって一度に1つずつパッケージを利用可能にする。エージェント508または結果探知器512が、パッチの適用に失敗したことを報告した場合、あるいはパッチによってエージェントのターゲット・コンピュータ500がもはやアップデート・サーバと通信できない状態に置かれた場合、アップデート・サーバは、管理者の代理として頒布を自動的に中止する。このとき、管理者または他の指定された人物に、結果を通知516することができる。
結果探知器512は、ソフトウェア・パッケージのインストールが成功したか否かを判断し、その判断をアップデート・サーバ528に通信する。すでに述べたように、結果が失敗である場合、回復器514がターゲット・コンピュータを受忍可能な未アップデート状態に置く。結果探知器512は、必ずしもソフトウェアの実際のインストールのみを監視するだけでなく、むしろパッチ適用後のソフトウェアの使用、ターゲット・コンピュータの全体、および/または当該ターゲット・コンピュータへとネットワーク接続されたコンピュータを、或る指定された時間期間にわたって監視するように設定できる。さらに結果探知器が、種々のレベルの成功を有していてもよい。例えば、インストールそのもの(ファイルのコピー)を低いレベルの成功と考えることができ、その後のある時間期間にわたってターゲット・コンピュータに誤挙動がないことを、高いレベルの成功と考えることができ、成功のレベルに応じて異なる行動をとることができる。このように、すでに述べたとおり成功または失敗を監視し、必要に応じてインストールの再試行や中断などが行なわれる。
幾つかの実施の形態は、ターゲット・コンピュータ500にソフトウェア・パッケージをインストールする前に、ターゲット・コンピュータ500またはその一部のバックアップ506、534を保存する。バックアップは、ときにはアップデート・サーバに保存534され、ときにはソフトウェアがアップデートされようとするターゲット・コンピュータ506、500に保存され、ときには集積所サイト600でオフサイトに保存される。結果探知器512がソフトウェアのインストールに関して問題を報告したとき、回復器514が、バックアップ534を使用してターゲット・コンピュータをアップデートされていない状態に戻すことができる。
本発明の一実施の形態においては、アップデート・サーバ528が、次のターゲット・コンピュータ500がアップデート・サーバ528において自身のアップデート・リスト536に置かれたパッケージへのソフトウェア場所参照538を有するまで、インストールの成功の確認(結果探知器512により、あるいは他の公知または新規な連絡方法による)を待つ。好ましい実施の形態においては、インストールが終了したとき、管理者は電子メール518、ポケットベル520、ボイスメール522、SNMP通知568、インスタント・メッセージング570、ファクシミリ、または何らかの他の手段によって、結果を通知516される。インストールが失敗した場合、インストールが失敗した特定の装置を特定することができる。幾つかの実施の形態においては、初期設定またはユーザ設定数のインストールが成功したのち、当該パッケージが同時に2以上のユーザによって利用できるようにされる。
これらのアップデート・リスト536は、ここでターゲット・コンピュータ500と称しているワークステーション・クライアントまたはサーバを管理するために配達または頒布される前もって構築されたパッケージまたはカスタム・ビルドのパッケージの管理者の管理者の指定を容易にする。これらのパッケージが利用可能にされるとき、アップデートが本発明によって実行されるべく管理者によって計画され、これは、パッチまたはサービス・パックをインストールすべく管理者がクライアントを訪問しなければならない以前のタスクを自動化することができる。
アップデート・エージェント508は、動作するプラットフォームを知ることができ、管理者の代理として動作を実行すべくプログラム可能またはスクリプト可能であってよい。一実装例においては、これらの特徴がPackage Builderウィザードを通じて管理者に公開される。「ソフトウェア・パッケージ」は、ファイル、サービス・パック、ホット・フィクス(hotfix)、ソフトウェア・インストールおよびスクリプトの任意の組み合わせであることができる。これは、リモート装置で実行できるほぼすべてを管理者の代理として動作するエージェントを介して達成できるため、リモート装置の管理の機会をもたらす。
本発明の一実装例は、パッケージのインストールの前(インストール前)および後(インストール後)に、スクリプト562の実行を可能にする。インストール前スクリプトの例は、次のようなものであってよい(擬似コードによる)。
利用可能なディスク空間をチェック。
利用可能なディスク空間がValueX(ここで、ValueX=インストールに必要な余地+バッファ)よりも大きい場合、インストールを続行。
そうでない場合、外部の管理者にエラー発生を警報し、終了;
インストール後スクリプトの例は、次のようである(やはり擬似コードによる);
インストールが成功した場合、外部の供給元にインストール成功を通知;
インストールが成功しなかった場合、外部の供給元にインストール失敗を通知。
インストール後スクリプトの例は、次のようである(やはり擬似コードによる);
インストールが成功した場合、外部の供給元にインストール成功を通知;
インストールが成功しなかった場合、外部の供給元にインストール失敗を通知。
次に図6および7を参照すると、ネットワーク200が、多数の異なる種類のターゲット・コンピュータを含んでおり、そのそれぞれが、特定のターゲットのプラットフォームにあわせて特別に作ることができるエージェントを備えている。例えば、マイクロソフト(登録商標)Windows(登録商標) PC、アップル社のMacintosh(登録商標)コンピュータ、およびUNIX(登録商標)コンピュータが動作しているネットワークは、3種類のエージェントを有することができる。これは、エージェントが自身のターゲット・コンピュータを調査して、このコンピュータ情報602をアップデート・サーバ528および/または別個の集積所サイト600へと保存のために報告できるという利点をもたらす。このシステムのいくつかの例では、他で説明するとおり走査を実行する発見エージェント548が設けられる。他の例では、走査が、アップデート・エージェント508またはダウンロードされたスクリプト・ファイル562によって実行される。ハードウェア構成608、ソフトウェア構成606、さまざまなハードウェアおよびソフトウェア・コンポーネントの使用についての情報604、訪問したウェブサイト、および送受信した電子メール610を、すべてオフサイトの場所600へと送信することができる。ひとたびこの情報がアップデート・サーバで利用可能になると、管理者は、1箇所から管理対象ネットワークの全体を眺めることができる。
本発明のシステムが既存のネットワークに実装されるとき、発見エージェント548が、少なくともターゲット・コンピュータ500に存在するソフトウェアの調査を実行でき、既存のソフトウェア構成700が検出されて、集積所サイト600のメモリ内に保存される。幾つかのシステムは、ネットワーク200の全体を調査してもよい。アップデートが要求されたとき、システムは、ネットワークの装置をそれらの現在の状態をチェックすべく再調査する必要なく、どれが必要とされているかを知っている。
ターゲット・コンピュータ500についての推奨構成704が、アップデート・サーバ528または集積所サイト600に置かれている。推奨構成は、例えばハードウェア構成、ソフトウェア構成、コンピュータの種類、および最後のパッケージ・アップデートによるなど、新規またはデータベースの技術分野に精通したものにとって公知の多くのやり方で決定することができる。したがって、発見エージェント548が、現在の構成700と推奨構成704とを比較し、ターゲット・コンピュータ500について提案されるアップデートのリスト708を用意する。このアップデート・リストは、インストール済みソフトウェアのサービス・パック、先にアンインストールされたソフトウェア、および更新されたデータ・ファイルなどを含むことができる。この提案リストを用意するプロセスにおいては、現在のソフトウェア構成を考慮するだけでなく、ハードウェア構成608、特定のプログラムやデータ・ファイルなどのアクセス頻度604などの情報、ならびに当業者にとって公知の他の情報も考慮することができる。このアップデート・リストを、自動的に管理者に知らせることができる。
ターゲット・コンピュータの現在構成700が提案されるアップデート・リスト706を生み、管理者が自動通知708を受け取ることができると仮定する。この点で、新しいターゲット・コンピュータが少なくとも部分的にアップデートされるまで、または管理者が許可を与えるまで、あるいは何か他の新規または公知の条件が満足されるまで、コンピュータの使用を規制することができる。この提案されたアップデート・リスト706は、他で説明するとおり、コンピュータを実際にアップデートするために使用されるアップデート・リスト536を定めるためにも使用できる。
パッケージは、例えばソフトウェア・ファイルまたはデータ・ファイルなどのファイル表わしているモジュール、およびパッケージ内のファイルに対してとられる一連の動作であるスクリプトで構成される。代案として、1つ以上のスクリプト・ファイルをパッケージの中身に含むことができ、パッチをインストールするためエージェントによって実行できる。本発明の幾つかの実施の形態においては、人間である管理者が、新規ソフトウェア・パッチが利用可能である旨の通知を受け取る。他の実施の形態では、通知がオフサイトのアップデート・サーバ528に直接送られ、アップデート・サーバ528が、それらをいつ頒布するかを決定する。オフサイトのアップデート・サーバは、すでに各ターゲット・コンピュータに保存されたパッケージを恒久的なメモリに保存するように構成できる。新規パッケージが利用可能になるとき、または既存のパッケージのインストールの際、インストールされる必要があるソフトウェア・パッケージの存在の証拠、ならびに以前のインストールについての情報が、幾つかの実施の形態においてはオフサイトのアップデート・サーバ528にて、他の場合には集積所サイト600にて、利用可能である。
アップデートされるパッケージは、必ずしもそこへのアクセスを受け取るターゲット・コンピュータ500のユーザによって所有されている必要はない。このシステムの一実施の形態では、ソフトウェア・パッケージが、当該ソフトウェアをユーザに貸し出している第3者によって所有されている。他の実施の形態では、ソフトウェア・パッケージがアップデート・サーバのユーザによって所有されており、アップデート・サーバのユーザが、ターゲット・コンピュータ500のユーザにソフトウェア・パッケージを貸し出し、アクセスを提供する。
(セキュリティおよび重要パッチの管理、特徴)
本発明は、種々のオペレーティング・システムにおいて既知のセキュリティ脆弱性および他の安定性の問題または向上を解決する重要パッチの管理および配布のためのツールおよび技法を提供する。適当なオペレーティング・システムには、これらに限られるわけではないが、マイクロソフト社のすべてのオペレーティング・システム(例えば、95、98、ME、NT、W2K、XP、W2K3)、UNIX(登録商標)オペレーティング・システム(例えば、Linux、Solaris、AIX、HP‐UX、SCO、など)、およびNovell社のNetWareオペレーティング・システムが含まれる。オペレーティング・システム製品の名称は、それらの所有者の商標である。
本発明は、種々のオペレーティング・システムにおいて既知のセキュリティ脆弱性および他の安定性の問題または向上を解決する重要パッチの管理および配布のためのツールおよび技法を提供する。適当なオペレーティング・システムには、これらに限られるわけではないが、マイクロソフト社のすべてのオペレーティング・システム(例えば、95、98、ME、NT、W2K、XP、W2K3)、UNIX(登録商標)オペレーティング・システム(例えば、Linux、Solaris、AIX、HP‐UX、SCO、など)、およびNovell社のNetWareオペレーティング・システムが含まれる。オペレーティング・システム製品の名称は、それらの所有者の商標である。
過去において、セキュリティその他の重要なパッチを管理するために、企業および他のコンピュータ・ユーザは、ベンダのウェブサイトを頻繁にチェックし、例えばワールド・ワイド・ウェブを巡って投稿されたニュース・レポートや文書による警報を読むことによって、あるいは電子メール購読またはニュースグループによって送信される通知を送られることによって、新規パッチを見つけている。企業が使用しているソフトウェアに関し、そのベンダがアプリケーション・ソフトウェア、ドライバ・ソフトウェア、および/またはハードウェアの修正または機能向上のための新しいパッチを公開したことを知ったとき、当該企業のソフトウェア管理担当者は、通常は、該当する最新パッチを手動でダウンロードし、それらをさまざまな配置および構成にある当該企業の装置との互換性についてテストし、その後に手動または従来からのソフトウェア配布ツールを使用して当該パッチを配布しなければならない。
対照的に、本発明は、インターネット・アクセスを有しているか否かにかかわらず、重要なアップデートの通知824を事前的なやり方でコンピュータに提供できる。本発明は、管理者が各ダウンロードの指示を表明することなくパッチのダウンロードを実行することによって、事前的に動作することができる。さらに本発明は、ネットワーク上のデスクトップ、サーバ、携帯型のコンピュータ、および他のコンピュータへのソフトウェア・アップデート、ソフトウェア・パッケージ、および他のデータの配布およびインストールを容易にすることができる。
本発明の一実施の形態は、パッケージ・コンピュータ567などのマスタ書庫から最新の重要アップデートを取り出すアップデート・サーバ528を通じての中身の複製を含んでいる。取出しには、安全な伝送のため、128ビットSSLまたは類似のプロトコルを使用できる。マスタ書庫に新規アップデートが追加されたとき、当該アップデートのメタデータが、アップデート・サーバおよび/またはフィンガプリント・ライブラリ904へと自動的にダウンロードされる。メタデータが、パッチが重要なものであることを示している場合、当該パッチをアップデート・サーバへとダウンロードし、迅速な展開のためにキャッシュしておくことができる。各パッチは、関連のインストーラ912、あらかじめ必要な署名910、および他のフィンガプリント識別子906を有している。
幾つかの実施の形態においては、情報が1方向、すなわちマスタ書庫からアップデート・サーバにのみ送信され、これによってマスタ書庫のセキュリティを高めている。さらに、幾つかの実施の形態においては、伝送される情報がすべて暗号化され、CRC(巡回冗長符号)がチェックされ、圧縮され、デジタル署名され、128ビットSSL接続によってダウンロード308される。SSL接続は、パッチ供給元としてのマスタ書庫の正当性を確認するセキュア・ネットワーク・プロトコルを使用する。他のセキュア・ネットワーク・プロトコルを使用することも可能である。他の実施の形態においては、これらの要素の幾つかが省略され、例えばCRCチェックが行なわれず、さらに/またはデジタル署名が使用されない。
アップデート・サーバ528が、クライアント・ターゲット・コンピュータ500のためのパッチ供給元として機能する。複製サービスならびにアップデートおよびソフトウェア・パッケージを管理するための管理ツールを含んでいるアップデート・サーバが、クライアント500を走査し、HTTP、HTTPS、およびXMLなどのプロトコルを使用してそれらへのパッチ配布を計画できる。幾つかの実施の形態では、アップデート・サーバが、マイクロソフト社のInternet Information Servicesを使用する。アップデート・サーバは、マスタ書庫から受け取った重要なアップデートを自動的にキャッシュするように構成できる。幾つかの実施の形態においては、管理者が複製計画を設定でき、手動で複製を起動させることができ、あるいはアップデート・サーバ内の複製ソフトウェアにソフトウェアの複製および配布を、ネットワークの不活発状態を予想または測定して自動的に行なわせることができる。
幾つかの実施の形態においては、管理者がソフトウェア・パッケージ554を製作でき、次いで他のあらゆるパッチと同様に配布することができる。すなわち、広い意味での「パッチ」は、密接に関連する修正対象のソフトウェアが前もってインストールされていることを前提とする必要はなく、ターゲットにとって新規なソフトウェアであればよい。例えば、マイクロソフト社のOffice 2000を含んでいるパッケージを、すべてのデスクトップに配備することができる。特注アプリケーションの管理者も、同様に、特注アプリケーションとそのパッチを配布するためのパッケージを製作できる。幾つかの実施の形態の管理者は、あらゆるソフトウェア・パッケージをあらゆるターゲット・コンピュータへと配布するため、作り付けのソフトウェア配布の特徴を利用することもできる。
幾つかの実施の形態においては、アップデート・サーバ528が、企業レポート・マトリクスまたは企業または他の団体の装置のパッチ状態について他の概要を表示するソフトウェアおよび/またはハードウェアを備えて構成される。レポートは、ネットワーク管理者および/または企業のコンピュータ機能の維持を担当する他の職員に示される。管理者は、アップデート・サーバからのアップデートまたはパッケージのどれをクライアント500へと送るかを、ポリシーを設定し、グループを定義し、警報に応答し、さらに/または本明細書で説明され、あるいは既に知られている他のステップをとることによって、支配(或る場合には、完全に制御)する。幾つかの実施の形態においては、管理者が、再起動の制御およびクライアント・エージェントのポリシーを設定および変更する権限を含め、パッチの配布について全面的な管理を有している。
所与のパッチが異なる企業において異なる挙動を示す可能性があるため、パッチを、企業にわたって広く配布する前に、内部でテストすることができる。パッチ管理のための市販ソフトウェアおよびサービスを提供しており、本件出願およびその始祖の譲受人であるPatchLink.com Corporation(「パッチリンク社」)が、パッチをパッチリンク社による公開に先立って、継続的に研究し、テストし、承認している。例えば、マイクロソフト社のW2K(Windows 2000(登録商標))オペレーティング・システムのためのホット・フィクスがマイクロソフト社によって公開されたとき、パッチリンク社によって、例えば標準のW2K、SQLサーバを備えるW2K、Officeを備えるW2K、およびExchange(マイクロソフト社の商標)を備えるW2Kなど、200を超える異なるW2K構成について種々のサービス・パックおよび他のホット・フィクスとの組み合わせにおいてインストールおよびテストが行なわれ、その後に、パッチリンク社によってマスタ書庫567へと公開される。
幾つかの実施の形態においては、クライアント・エージェント508が、どのアップデートが当該クライアントにおいて必要であるかを判断するため、イントラネットでホストされたアップデート・サーバをチェック332する。クライアント・エージェント508が、現在の構成700など収集した情報をアップデート・サーバに報告し、アップデート・サーバが、管理者のためにレポート・マトリクスを生成する。幾つかの実施の形態においては、管理者が配布ウィザードを使用してパッチの配布を指定および承認する。管理者によって承認されたアップデートおよびパッケージがバックグラウンドでダウンロード312され、ダウンロードを受け取るコンピュータのユーザにとっての不便を少なくし、次いで管理者によって設定された計画に従って自動インストールされる。管理者によって定められるルールによって、パッチ・インストール・プロセスの振る舞いを制御することができる。
本発明の一実施の形態によれば、重要なオペレーティング・システム・フィクスおよびセキュリティ・パッチなどのソフトウェア・パッケージおよびアップデートを自動的にダウンロード308、312およびインストール510する実施の形態を管理者にもたらす事前的なサービスが提供される。
本発明の幾つかの実施の形態に作り付けのセキュリティの特徴は、デジタル・セキュリティ識別を使用する。この特徴が、ダウンロードされたアップデートをターゲット500にインストール520する前に、各ファイルまたはパッケージについてデジタル証明、CRCチェック、圧縮、および暗号化を検証する。アップデート・サーバ528において、管理関連ページおよび他の制御へのアクセスは、認証された管理者にのみ限定される。幾つかの実施の形態においては、アップデートの複製(ダウンロード)にSSLが使用され、アップデート・サーバへのダウンロードの有効性がチェックされ、SSL証明が認識された供給元(例えば、PatchLink.com)を適切に識別できない場合には、ダウンロードに失敗し、サーバが管理者に電子メールの警報を送信する。幾つかの実施の形態においては、すべてのダウンロード(マスタ書庫からアップデート・サーバへ、アップデート・サーバからターゲットへ)のすべての情報が、暗号化され、CRCチェックされ、圧縮され、デジタル署名され、128ビットSLL接続のみによって送信される。他の実施の形態においては、これらの要素が変更(例えば、40ビットの暗号化など)され、さらに/あるいは省略される。
パッチ署名910という特徴が、例えばエージェントにターゲット上の適切なソフトウェア・バージョンおよび適切なハードウェア・ドライバをチェックさせることによって、ターゲット500を走査して各パッチについての必要条件が満足されているか否かを判断する実施の形態を可能にする。パッチ署名およびパッチ・フィンガプリントという特徴は、それぞれ、企業のレポート・マトリクスにおいて閲覧することができる検出レポートの作成に使用することができる。ワークステーションの目録という特徴が、ターゲット・コンピュータに必要なソフトウェアおよびハードウェア・ドライバを特定するため、発見エージェント508を使用する。さらに、発見エージェントは、フィンガプリントに必要な署名についてターゲットを走査できる。PatchLink.comが、今や世界で最も大きい自動化されたパッチのフィンガプリントされた集積を収容しているマスタ書庫を有している。
幾つかの実施の形態において、バックグラウンドでのダウンロード312という特徴が、作り付けの帯域幅制限を備える安全なバックグラウンド転送サービスを提供し、大規模な配布においてネットワーク管理者が、如何に帯域幅を利用すべきかを決定できる。幾つかの実施の形態は、設定可能なエージェント508のポリシーを管理者に提供し、管理者がエージェントの通信間隔および動作時間を決定できるようにする。例えば、管理者は、生産用のサーバへのパッチの頒布を真夜中とAM2:00との間にのみ行なうようにポリシーを設定できる。幾つかの場合には、エージェントが、所与の時点について有効なポリシーを2つ以上有してもよい。
連鎖化されたインストールという特徴により、管理者は、マイクロソフト社のQchain.exeというツールを使用することによって、繰り返しの再起動を低減または最小化することができる。複数回の再起動を必要とする複数のアップデートがインストール510される場合に、管理者は、より少ない再起動でアップデートを配布するため、本発明の能力をQchainと組み合わせて使用することができ、幾つかの場合には、ただ1回の再起動しか必要としなくなるであろう。この再起動の低減は、重大任務のコンピュータ500がアップデートされるとき、使用可能時間を長くすることができる。Qchainは、最新のアップデートは有効になるような順序にDLLを再配置する。
ダウンロード再開という特徴を使用し、一実施の形態は、例えばサービス機能休止によってダウンロードの中断316を検出する。ターゲット500が携帯型のワークステーションである場合、ユーザは、それを単純に切り離し、サービス外でない他の場所で再度接続することができる。アップデート・サーバへとアクセス(例えばTCP/IPによって)可能である場合、この実施の形態は、全パッケージを再伝送すべく始めから再出発する代わりに、ダウンロード中で中断された点またはその付近からダウンロード312を再開する。
移動ユーザをサポートするという特徴ゆえ、管理者は、パッチおよびソフトウェアを配布開始時にネットワークに接続されていないターゲット・コンピュータ500にも配布することができる。移動中のターゲットが後にネットワークに接続したとき、この実施の形態は、当該ターゲットを自動的に走査し、当該ターゲットをアップデートするために必要な作業を実行する。
実施の形態は、安全なダウンロード312のためにアップデート・サーバ528と通信するクライアント・エージェント508を特徴としている。さらにエージェントの使用によって、性能の向上および企業全体にわたる実施の形態への拡大可能性がもたらされ、ただ1つのアップデート・サーバによって数千のクライアントをサポートできる。エージェントは、ファイアウォール116、214を横断して機能でき、企業のネットワークへのTCP/IP(あるいは他の)接続を有しているあらゆるコンピュータ500上で動作できる。
幾つかの実施の形態は、「包括的パッチ走査」とも称されるが、複数のベンダのパッチ554についてのサポートを特徴としている。アップデート・サーバ528は、ただ1つのベンダ片のパッチに限られず、複数のベンダからのパッチについての新規な管理をサポートする。例えば、アップデート・サーバがターゲット・エージェントと協働し、マイクロソフト社、IBM社、Adobe社、Corel社、Symantec社、McAfee社、Compaq社、WinZip社、Citrix社、Novell社、および他の多くのベンダ(各社の標章)からのソフトウェアにおけるパッチ関連のセキュリティ脆弱性について、ターゲット500を走査する。
幾つかの実施の形態においては、グループ化という特徴によって、管理者が、選択されたターゲット・コンピュータ500を例えば「コンテナ」または「グループ」と呼ばれる組へとグループ化できる。このようにして、個々のターゲット・コンピュータに適用される作業を、考えられるターゲット・コンピュータの適切な部分集合を保持しているコンテナ/グループ、すなわち特定のコンテナに属するすべてのターゲット・コンピュータ500(あるいは、パッチ署名およびフィンガプリントに照らして適切であるすべてのターゲット・コンピュータ)にも適用できる。この特徴は、実施の形態に応じ、配布、フィンガプリント・レポート、目録レポート、不可欠のパッチ最低線ポリシー、および/またはクライアント・エージェント・ポリシーについて、管理者の管理を容易にする。例えば、各コンテナが、当該コンテナのメンバー、当該コンテナのクライアント・エージェント508ポリシー、および当該コンテナの不可欠のパッチ最低線ポリシーを特定する属性を有することができる。管理者は、配布のために、個々のクライアント500、前もって定められたクライアント・グループ、および/またはユーザ定義のグループを選択することができる。幾つかの実施の形態においては、コンピュータをそれらが要求するパッチに従って自動的にグループ化することができる。
幾つかの実施の形態では、管理者がグループ・マネージャ(Group Manager)を指定でき、管理の制御の限られた部分を委譲できる。グループ・マネージャの観点からは、本発明の実施の形態の監視および制御は、管理者によって管理対象グループに割り当てられ、好ましくはすべてが同じアップデート・サーバ528を使用するコンピュータ500のみをカバーするように狭められている。管理者は、単に特定のグループのコンピュータではなく、依然としてネットワーク内のすべてのコンピュータを監視し、さもなければ制御できる。
幾つかの実施の形態においては、不可欠パッチ最低線ポリシーという特徴によって、管理者が、ネットワークの1つ以上のコンピュータについて最小(最低線)構成を指定できる。この実施の形態は、最低線ポリシーによって定められた組織の標準へと、オペレーティング・システムおよび/またはアプリケーションを前向きにパッチすることができる。企業においてパッチ・ポリシーをサポートすることで、本発明の実施の形態における管理者は、当該管理者の企業のためのパッチ・ポリシーを設定でき、これにより、例えば企業内のすべての装置500が最小のパッチ・レベルを下回ることがないようにできる。例えば、W2Kグループについての不可欠のパッチ最低線ポリシーが、マイクロソフト社のOffice 2000、Adobe社のAcrobat Reader 5.0、およびService Pack 2を含んでいる場合、このグループに配置された(最初にグループ定義の際に配置され、あるいは後に配置された)すべてのコンピュータに、少なくともこれらのソフトウェアがインストールされるであろう。
パッチについての最低線は、グループ(例えば、ユーザ定義のグループ、または管理者定義のグループ)によって定められたコンピュータ500の組、特定のオペレーティング・システムを使用するコンピュータ500の組(例えば、ユーザまたは管理者定義のグループと無関係にすべてのW2Kコンピュータ)、あるいは特定のアプリケーションを使用するコンピュータ500の組(例えば、マイクロソフト社のOffice XPを使用するすべてのコンピュータ)に関連付けることができる。例えば、幾つかの実施の形態においては、管理者が、マイクロソフト社のOffice XPがインストールされているならばシステムが自動的にOffice XP Service Release 1をパッチしなければならないと宣言する最低線ポリシー・ルールを設定することができる。
不可欠のパッチ最低線ポリシーが使用される場合、テープのバックアップや鏡像イメージなどからソフトウェアを復旧させることによってターゲット500から欠落する(取り除かれる)パッチ554は、エージェント508が新しい構成を割り出し、当該構成をポリシーの要求する最低線と比較822(クライアント・エージェントおよび/またはアップデート・サーバによる)したのちに、自動的に再インストールされる。このようにして、最低線の完全性がこれらの実施の形態によって維持される。
不可欠のパッチ最低線ポリシーは、本発明によって、望ましくないソフトウェアの自動検出、およびネットワーク内のターゲット・コンピュータからの当該望ましくないソフトウェアの除去の実行に使用することができる。望ましくないソフトウェアが検出されたときに適用すべき不可欠な配布パッチは、望ましくない項目を「UNINSTALL」するためのものである。例えば、そのようなパッチの1つは、KaZaAというファイル共有アプリケーションを検出して企業のネットワークから除去して、当該企業の従業員が日々の仕事の流れにおいて著作権法に違反する恐れを少なくし、あるいは娯楽目的で利用可能なネットワーク帯域幅がすべて使用されてしまう恐れを少なくする「Uninstall KaZaA」であろう。政府関係機関および他の大企業においては、ポップアップ・ソフトウェアおよびユーザの注意を担当業務からそらしてしまう他の事物を除去することは、きわめて重要でありうる。
さらに本発明は、ネットワークにおける脆弱性を治癒するため、不可欠なパッチの論理的対照物として眺めることができる特徴を提供する。この論理的対照物は、「禁制パッチ」と称することができるが、決してインストールしてはならないサービス・パック、ホット・フィクス、または他のソフトウェアを指定するために使用される。不可欠パッチという特徴が脆弱性を自動修正するために使用されるのとちょうど同じように、禁制パッチという特徴は、ネットワーク管理者が動作している構成を破壊する可能性があるソフトウェアをインストールしてしまわないようにするために使用される。一例として、企業が、Windows2000(登録商標)についての最新のマイクロソフト社のサービス・パックにおいては動作しない給与支払いシステムを有しているとする。このサービス・パック・パッチが手動または自動で給与支払いサーバに配布されてしまうと、管理者がこれを一刻も早く知る必要があり、そうでない場合、週末に誰も給与を受け取ることができない。幾つかの実施の形態は、「禁制パッチ」の存在を走査および検出でき、管理者に警告することができる。さらに、適用されるグループ・パッチ・ポリシーがそのように宣言していないか否かにかかわらず、管理者が禁制パッチを当該パッチをインストールしてはならない装置へと意図せずに配布してしまうことがないようにルールを提供することもできる。
幾つかの実施の形態においては、パッチ遵守保証という特徴が、特定のコンピュータおよびコンピュータ500のグループについてパッチ554の組をロックする選択肢を、管理者に提供する。すなわち、或る特定のパッチが、不可欠最低線という前記の特徴よりも弱いやり方で必要とされる。このパッチ要件に反するやり方でターゲット500の構成の変更が試みられた場合、管理者に電子メール警報メッセージ824が送信される。例えば、何台かのW2Kコンピュータが、パッチ遵守の対象である「IIS Servers」という管理者定義のグループに属するとする。この結果、この実施の形態は、安全のためにすべてのオペレーティング・システム・パッチおよびすべてのインターネット情報サーバ・パッチをロックする。後のどこかの点でそのようなパッチ(これらに限られるわけではないがDLLを含む)が置き換えられたとき、この実施の形態は、コンピュータ500の名称および/またはコンピュータ500に対してなされた変更を特定する電子メール警報を管理者に送信する。新たに非遵守となったコンピュータおよび非遵守となった理由、すなわちそれらの構成とロックされた構成との間の乖離の概要を、特定することができる。幾つかの場合においては、この遵守の特徴が、自身の装置において新しいソフトウェア・アプリケーションのインストールまたは既存のソフトウェアの削除を行なったユーザを特定するために、管理者によって使用される。この遵守ロックの特徴を、非遵守のターゲット500に自動でパッチを当てるため、幾つかの実施の形態において不可欠パッチ最低線の特徴と組み合わせて利用できることに、注目すべきである。ロックされたパッチまたは他のソフトウェア・コンポーネントが取り除かれたとき、それが自動的に再インストールされ、電子メールによって管理者に通知824される。
幾つかの実施の形態においては、サービス変更という特徴によって、管理者がクライアント・ワークステーション(グループに属し、あるいは独立している)において提供されるサービスをロックし、ユーザが管理者に直接連絡することなくサービス項目を開始または停止した場合に、管理者に通知されるようにできる。ユーザがロックされているクライアント500においてサービスを変更し、さらに/あるいは変更を試みた場合、コンピュータおよび(試みられた)サービスの変更を特定する電子メール警報824が管理者へと送られる。
幾つかの実施の形態においては、ハードウェア変更という特徴によって、管理者がクライアント・ワークステーション500(例えば、グループに属している)において提供されるハードウェア構成をロックし、ユーザが管理者に直接連絡することなくそのようなワークステーションにハードウェア項目をインストールし、あるいはハードウェア項目を取り去った場合に、管理者に通知されるようにできる。ユーザがロックされているクライアントについてハードウェア構成を変更した(あるいは変更を試みた)場合、コンピュータおよび(試みられた)ハードウェア変更を特定する電子メール警報が管理者へと送信824される。
インポート/エクスポートという特徴が、高度な安全が必要な軍事または政府機関のコンピュータなど、インターネットに接続されていないネットワーク上のコンピュータのアップデートを容易にする。コンテンツがマスタ書庫からターゲット・ネットワークのアップデート・サーバ528へと、マスタ書庫においてコンテンツ554がロードされたテープ、ディスク、または他の記憶媒体を、適切な物理的保安手段を講じつつ物理的に運搬するなど、インターネット以外の手段を使用して運ばれる。この媒体が安全なターゲット・ネットワークのアップデート・サーバ528にとってアクセス可能になると、そのコンテンツを運搬用の媒体から当該アップデート・サーバのローカル・ストレージへと転送する際には、すでに説明した備え付けの保安手段(暗号化やCRCなど)を使用することができる。次いで、当該アップデート・サーバは、すでに説明したとおりに安全なネットワークのターゲット・コンピュータのアップデート304を終えることができる。
幾つかの実施の形態においては、繰り返し配布という特徴が、企業の従業員のディレクトリやウイルス対策定義/データ・ファイルなど、繰り返し更新されるデータまたは文書554の配布を容易にする。1つ以上のそのようなデータまたは文書ファイルを、例えばすべてのターゲット500あるいは管理者の指定するグループまたはただ1つのターゲットへと、管理者によって指定される繰り返しスケジュールに従って配布することができる。幾つかの場合には、繰り返しのサーバ再起動など他のステップを指定することもできる。
幾つかの実施の形態においては、災害復旧という特徴が、ハード・ディスクのクラッシュやサーバのハードウェア故障など、システム故障からの回復に関して管理者を手助けする。アップデート・サーバ528が故障した場合、管理者は、同じDNS名を有する別のサーバを故障したサーバとして生成し、新しいサーバに同じアップデート・サーバ・ソフトウェアを再度(必要であれば同じシリアル番号とともに)インストールする。アーカイブされ、ミラーされ、あるいは他の方法で保存されたデータ・ファイル600が、この実施の形態によって使用されるが、必要に応じて新しいアップデート・サーバへと戻される。次いで、ターゲット・エージェント508がアップデート・サーバの新しいインスタンスに自動的に接続し、ターゲット・エージェントがサーバ故障によって失われた情報(もしあれば)をもたらしたのちに、通常の動作が回復される。
幾つかの実施の形態においては、自動キャッシュという特徴によって、アップデート・サーバ528に、重要、高優先度、および/またはセキュリティ関連と付されているパッチ554を、自動的にダウンロードしてローカル・アップデート・サーバ・ストレージにキャッシュするようにさせている。アップデート・サーバは、どのパッチが重要であって、どのパッチがキャッシュされているのかについて、管理者に通知し、当該パッチを必要とするターゲット・コンピュータ500を走査する。対照的に、重要でないパッチは、それらが最初に配布されたのちにアップデート・サーバにキャッシュされるであろう。重要なパッチおよびセキュリティ・パッチを最初の配布よりも前にキャッシュすることによって、或るベンダのソフトウェアが脆弱であって当該ベンダが殺到するパッチの要求に耐えられなくなりうる場合に、容易に利用できるパッチ供給元をターゲット・コンピュータに提供できる。例えば、Code RedやNimdaといったウイルスの攻撃の際、パッチへの需要があまりにも大きかったため、幾らかのユーザは、パッチを手に入れるべくマイクロソフト社のウェブサイトに接続するために数時間待たなければならなかった。重要なパッチおよびセキュリティ・パッチを本発明のアップデート・サーバ528に前もってキャッシュすることによって、そのようなパッチがないためにターゲット・コンピュータ500の動作が中断され、あるいは損なわれるという恐れを減らすことができる。
幾つかの実施の形態は、複数パッチの知的な配布という特徴を有しており、パッチ554をオペレーティング・システムと一致させ、各ターゲット・コンピュータで使用されているオペレーティング・システムを明示的かつ完全に特定する必要から管理者を解放する。例えば、マイクロソフト社が、彼らのオペレーティング・システムについて、種々に異なるいくつかのオペレーティング・システム・プラットフォームについて異なるパッチ554を指定する公報を出したと仮定する。本発明の実施の形態を使用する管理者は、配布のために「マイクロソフト社のオペレーティング・システム」を選択するだけでよく、指定するさまざまなターゲットのオペレーティング・システム詳細の差異にかかわらず、ターゲット・コンピュータ500を指定することができる。この実施の形態は、互換性およびパッチの必要性についてパッチとオペレーティング・システム要件とを比較820し、所与のターゲットに確実に適切なパッチがインストールされるようにする。このようにして、マイクロソフト社のWindows 98(登録商標)プラットフォームのためのパッチが、Windows 98(登録商標)オペレーティング・システムを動作させているターゲット・コンピュータにインストールされ、マイクロソフト社のNTプラットフォームのためのパッチが、NTオペレーティング・システムを動作させているターゲット・コンピュータにインストールされ、以下同様である。この特徴は、関係するオペレーティング・システム(あるいは、以前のパッチを含むオペレーティング・システムのバージョン)に応じてパッチとターゲットとを手動で適合させる必要性から管理者を解放することによって、パッチの配布をより迅速にする。
他の特徴は、適用可能なパッチ554の発見およびパッチの相互依存関係の管理を手助けして、管理者が数ダース(あるいは数百でさえありうる)のおおむね無関係なパッチを手動で仕分けしなくてもよいようにする。代わりに、この実施の形態は、適用可能なパッチを、それらのメタデータ、フィンガプリント、および/または署名データを使用し、関係するオペレーティング・システム、他のパッチの存在(または非存在)、異なるパッチの相互依存関係(どのパッチが適切に動作するために他のどのパッチを必要とするかを特定する)、および不可欠パッチ最低線ポリシー(存在する場合)などの要因にもとづいて特定する。次いで、どのパッチが当該ターゲット500に適用可能であるかが、管理者に示される。例えば、一実施の形態は、IISパッチを、IISがターゲット・コンピュータにインストールされている場合に限って管理者に示す。一貫して使用される場合、この特徴は、パッチがターゲットに向かって配布されたときにターゲットが該当のアプリケーションを有していてパッチが当該ターゲットにインストールされることを確実にする。
パッチの相互依存関係の例として、マイクロソフト社のW2Kプラットフォームについて一実施の形態がService Pack 2を管理者に推奨し、ひとたびService Pack 2がインストールされると、次にService Pack 2に依存するSecurity Rollupパッチを推奨する。この実施の形態は、パッチ554の識別を有効にすべくフィンガプリントを正確に実行するため、レジストリおよびファイル情報の両者を読み出す。
幾つかの実施によれば、管理者は、最近の動作の履歴またはログを検討することが可能であり、さらにパッチ554またはその一部をアンインストールすることが可能であり、ネットワークへのパッチ配布の影響を巻き戻すことができる。これによって管理者は、問題を引き起こしたパッチのインストールを取り消すことができる。失われたユーザ・データは必ずしも回復されないが、DLLの削除、レジストリ・エントリの除去、およびパスまたは他のシステム変数値の回復、など、通常のアンインストーラによって行なわれる通常のステップを、復旧器514を使用して行なうことができる。さらに、署名、フィンガプリント、警報、およびレポートなど本発明の実施の形態に特有の構成状態が、発生した問題および/またはパッチの除去を反映させるべく更新される。さらに、除去されたパッチがパッチ依存関係中に存在し、さらに/あるいは不可欠パッチ最低線に存在する場合、管理者に通知することができる。
幾つかの実施の形態は「ディレクトリ中立」の特徴を有しており、すなわちプラットフォームに関して中立であり、動作のためにNovell社のNDSディレクトリやマイクロソフト社のActive Directory製品などのディレクトリを必要としない。しかしながら、幾つかの実施の形態は、特定の組織のそのようなディレクトリと統合でき、協働できる。
幾つかの実施の形態は、選択的パッチという特徴に従って動作し、そこでは、パッチ554は、それらが不可欠パッチ最低線ポリシーを満足するために必要とされない限りは、自動的にはインストールされない。幾つかの実施の形態においては、重要パッチおよび/またはセキュリティ・パッチであると印されているパッチも、自動的にインストールされる。このような実施の形態においては、他のパッチは、管理者がそれらを選択して、インストールを明示的に認めない限り、インストールされない。これにより、管理者は、彼らの組織のコンピュータへとパッチをインストールする前に、それらを組織内で内部的にテストできる。ひとたびパッチが適切にテストされると、当該ターゲット500のグループについての不可欠パッチ最低線に加えることができ、必要とされるときに自動的にインストールされるであろう。
幾つかの実施の形態は、ターゲット装置500上でのアプリケーションの実行を防止するセキュリティ・ポリシー・パッチ554をサポートする。これは、ターゲット・コンピュータのファイル・システムに引っ掛かるポリシー駆動のやり方を提供し、特定のファイル(または複数のファイル)の実行を停止させる。これは、当該実行可能/DLLファイルの名称を変更し、それを何もしないコード、またはユーザにエラー・メッセージを表示するコード、および/あるいは電子メールで管理者に通知するコードで置き換えるパッチによって、実装可能である。
本発明の実施の形態の動作は、以下の例としてのシナリオを検討することによって、さらに理解されるであろう。1つのシナリオにおいては、新規パッチ554がそれぞれ対応するベンダによって公開されたとき、アップデート・サーバ528が対応するフィンガプリントをマスタ書庫567からダウンロードする。次いで本発明の実施の形態は、エージェント508による走査のために当該パッチのフィンガプリントをターゲットへと送信することによって、いずれかのターゲット・コンピュータ500がプロファイルを満足する(当該パッチを必要とする)か否かを調べるべくチェックする。管理者に、新規パッチおよびそのネットワークへの潜在的影響が通知され、レポート・マトリクスが、どのターゲットがパッチを必要とし、どれが必要としていないかを管理者に知らせる。管理者は、個々のターゲット・コンピュータおよび/またはグループを1つ以上選択し、配布を認める。配布が、本明細書に説明するとおりに進められる。管理者は、配布の時間を設定することができ、インストール後に再起動をするか否かを決定できる。
管理されたデータ・センターのシナリオにおいては、センターの管理者が、データ・サーバの各クラスタからパッチ・グループを生成する。管理者は、マスタ書庫567から受け取った重要なアップデートをテストでき、次いでテスト済みのパッチを、一斉または各グループへと段階的に、ネットワークのターゲットに配布できる。エージェント・ポリシーが、管理者による各グループについての動作時間の指定を助けることができる。
実施の形態のアップデートのシナリオでは、当該実施の形態によって使用されるソフトウェアが、当該実施の形態を使用することによってアップデートされる。すなわち、ベンダ(PatchLink.comなど)がターゲット・エージェント508および/またはアップデート・サーバ528のためのソフトウェア、ならびに/あるいは実施の形態の他のソフトウェアへとパッチ554を提供し、それらのパッチを本明細書の説明のとおり、オペレーティング・システムまたはユーザ・アプリケーションへのパッチの配布により頻繁に使用されるであろう本発明のツールおよび技法を使用して、配布することができる。たとえば、管理者がPatchLink HotFixクライアント・パッチを選択し、クライアント・エージェント・ソフトウェアをアップデートすべく配布することができる。クライアント・エージェントは、それらをすべてのターゲット・コンピュータへと送ることによって最初に配布できる。
(実装に関する覚書)
特定の実施の形態に関するさらなる詳細を、以下に提供する。これらの実装の詳細は、含まれる情報が少なすぎるよりは、たとえ誤りが含まれる可能性があったとしてもより多くの情報を含むように提供される。このように積極的であることによって、出願人が不利益を被ることがあってはならない。とくに、詳細が含まれているからといって、それら詳細、または同様の詳細、あるいは同様のレベルの詳細が、最終的に付与される特許請求の範囲をサポートするために実際に必要であると想定したわけでも、認めたわけでもない。特定の実装の詳細を含むことを、他者によって着想された新規なアイデアを単に実装した者を発明者として扱うことによって誤って解釈してはならない。
エージェント
・マイクロソフトWindows(登録商標)エージェント
・NetWareエージェント
・Linux(登録商標)エージェント
・Java(登録商標)エージェント
パッケージの構成/パッケージの保守
管理者は、指定のアップデート・エージェントによる配布のためにパッケージを生成するためにこのモジュールを使用する。このパッケージは、ディストリビューション・ファイルまたはソフトウェア・パッケージであってよく、指定の管理対象装置の全体にわたる既存のインストール済みソフトウェアのアップデート、新規ソフトウェアのインストール、およびファイルの複製などの際に、さらなる柔軟性を可能にする。
特定の実施の形態に関するさらなる詳細を、以下に提供する。これらの実装の詳細は、含まれる情報が少なすぎるよりは、たとえ誤りが含まれる可能性があったとしてもより多くの情報を含むように提供される。このように積極的であることによって、出願人が不利益を被ることがあってはならない。とくに、詳細が含まれているからといって、それら詳細、または同様の詳細、あるいは同様のレベルの詳細が、最終的に付与される特許請求の範囲をサポートするために実際に必要であると想定したわけでも、認めたわけでもない。特定の実装の詳細を含むことを、他者によって着想された新規なアイデアを単に実装した者を発明者として扱うことによって誤って解釈してはならない。
エージェント
・マイクロソフトWindows(登録商標)エージェント
・NetWareエージェント
・Linux(登録商標)エージェント
・Java(登録商標)エージェント
パッケージの構成/パッケージの保守
管理者は、指定のアップデート・エージェントによる配布のためにパッケージを生成するためにこのモジュールを使用する。このパッケージは、ディストリビューション・ファイルまたはソフトウェア・パッケージであってよく、指定の管理対象装置の全体にわたる既存のインストール済みソフトウェアのアップデート、新規ソフトウェアのインストール、およびファイルの複製などの際に、さらなる柔軟性を可能にする。
以下は、適切なパッケージ生成のためのステップである。
1.パッケージ仕様の入力
・パッケージ名‐アップデート・プロセス全体を通じてパッケージにラベルを付す。
1.パッケージ仕様の入力
・パッケージ名‐アップデート・プロセス全体を通じてパッケージにラベルを付す。
・パッケージの種類‐ソフトウェア・パッケージ・ルーチンにおいてソフトウェア・パッケージが選択されたとき、パッケージのための供給元ファイルがそれらの適切な目的シーケンスに置かれたのち、管理者はすみやかにパッケージ生成を終了することができる(残りの選択肢についてはあらかじめ指定された初期値を使用する)。ディストリビューション・ファイルは、パッケージ生成ルーチンのすべてのすべてのステップを完了するよう管理者に要求する。
・オペレーティング・システム‐パッケージを配布できるオペレーティング・システムを選択する。現在のところ、パッケージについて1つのオペレーティング・システムを選択できる。それらには、Linux、NetWare、Windows 2000(登録商標)/Windows NT(登録商標)、Windows NT(登録商標)、Windows 95(登録商標)/Windows 98(登録商標)/Windows ME(登録商標)が含まれる。
・(随意による)インポート‐先にエクスポートされたパッケージをインポートする。この選択肢は、複数のオペレーティング・システムのために同じパッケージを生成するために有用である。
2.供給元の追加
・ファイルの追加‐ローカル・ワークステーションまたは到達可能なネットワーク位置からファイルを追加。
2.供給元の追加
・ファイルの追加‐ローカル・ワークステーションまたは到達可能なネットワーク位置からファイルを追加。
・ディレクトリの追加‐ローカル・ワークステーションまたは到達可能なネットワーク位置からディレクトリを追加。
・URLを追加‐広く知られたプロトコルによってパッケージにリモート・ファイルを追加。追加することができるさまざまな種類のURLは、ローカル・ファイル‐File://、FTP‐ftp://、HTTP‐http://、およびセキュアHTTP‐https://であり、エージェントが理解できる限りにおいてあらゆるプロトコルを選択できる(このフィールドは編集可能である)。
・除去‐ファイルをパッケージから除去。
・属性‐各ファイルがどのようにアップデート・サーバ内に保存されているかについての詳細を示す。さらに、1つの供給元が(例えばネット・ラグによって)ビジーまたは低速である場合に複数の供給元を可能にする。エージェントは、自動的に他の供給元を試みる。
・ファイルのインポート‐先にエクスポートされたパッケージからファイルの特定のリストをインポートする。
3.目的地の追加
・ターゲット・コンピュータ‐パッケージ・ファイル目的地の階層ツリー表示。示されている種々の初期ディレクトリは、このパッケージがターゲットとしているオペレーティング・システムに依存している。パッケージは、供給元ファイルが最初にインポート(ステップ2を参照)された同じディレクトリ・パスに常に表示される。ファイルを移動させるためには、単にディレクトリまたはファイルを強調表示させ、新しい位置へとドラッグするだけでよい。
3.目的地の追加
・ターゲット・コンピュータ‐パッケージ・ファイル目的地の階層ツリー表示。示されている種々の初期ディレクトリは、このパッケージがターゲットとしているオペレーティング・システムに依存している。パッケージは、供給元ファイルが最初にインポート(ステップ2を参照)された同じディレクトリ・パスに常に表示される。ファイルを移動させるためには、単にディレクトリまたはファイルを強調表示させ、新しい位置へとドラッグするだけでよい。
・属性‐ファイルをインストールすべきディレクトリが表示されていない場合、ファイルを強調表示させて属性ボタンをクリックする。これにより、供給元ファイルがどこから来ているのかについての基本情報、および目的地の入力フィールドが表示される。新しい位置を打ち込んで「OK」をクリックすると、なされた変更が表示される(パッケージ・ファイル数が大きい場合、パスが再接続されるために時間がかかるかもしれない)。
・ファイルのエクスポート‐インポート機能における後の使用のため、基本パッケージをファイル(供給元および目的地情報)へとエクスポートする。
4.依存関係
・左欄‐配布の準備ができた既存のパッケージのリスト(オペレーティング・システムに依存)。例えば、多数のコンピュータへと配布しなければならないJava(登録商標)ベースのパッケージを有している場合、依存関係として特定のJDKパッケージを選択し、現在のパッケージに先立ってJDKをインストールする。
4.依存関係
・左欄‐配布の準備ができた既存のパッケージのリスト(オペレーティング・システムに依存)。例えば、多数のコンピュータへと配布しなければならないJava(登録商標)ベースのパッケージを有している場合、依存関係として特定のJDKパッケージを選択し、現在のパッケージに先立ってJDKをインストールする。
・右欄‐(矢印ボタンを使用することによって)ここに置かれたパッケージが、貴方のパッケージに依存する。「+」および「−」ボタンを使用し、依存関係を重要性の順序(最も重要なものが最初の依存関係に位置する)に配置する。依存関係は、貴方のパッケージの前に処理される。
・アセット‐依存関係が発見されない場合、パッケージのインストールは失敗する。例えば、マイクロソフトOffice 2000 SR1パッケージが生成された場合、そのアセット依存関係はマイクロソフトOffice 2000であり、すでにインストールされていなければならない。
・インストール‐依存関係が発見されない場合、現在のパッケージのインストールに先立ってそれらをインストールする。上記の例を使用すると、MS Office 2000が発見されない場合、SR1パッケージのインストールに先立ってインストールされる。
5.パッケージ設定
・バックアップ‐目的地装置上で見つかる既存のあらゆるパッケージ・ファイルをバックアップする。編集可能なプルダウン・リストが、当該オペレーティング・システムについて最も一般的なディレクトリを含んでいる。貴方のディレクトリが見つからない場合、単にリストに打ち込むだけでよい。
5.パッケージ設定
・バックアップ‐目的地装置上で見つかる既存のあらゆるパッケージ・ファイルをバックアップする。編集可能なプルダウン・リストが、当該オペレーティング・システムについて最も一般的なディレクトリを含んでいる。貴方のディレクトリが見つからない場合、単にリストに打ち込むだけでよい。
・信用レベル‐すべての新規パッケージについての初期値は、「新規」である。信用レベルは、このパッケージがテストされたことを示しており、その性能がその信用レベルを決定している。
・利用可能性‐初期値は「利用可能」であり、当該パッケージが配布のために利用可能であることを示している。「利用不可」は、生成されたこのパッケージが配布用として利用できないことを示している。
6.スクリプト
・使用可能な3種類のパッケージ・スクリプトが存在する。コマンド・ライン‐このスクリプトのコンテンツは、標準のコマンド・ラインとして実行される。このスクリプトは、ファイルがそれらの目的地へとコピーされたのちに送信される。前スクリプト‐このスクリプトのコンテンツは、ファイルが装置へとコピーされる前に実行される。後スクリプト‐このスクリプトのコンテンツは、ファイルが装置へとコピーされたのちに実行される。
7.システム設定
・言語‐パッケージを利用できる言語を選択する。次いで、エージェントが当該言語が装置上にあるか確認し、インストール前にパッケージが一致するか確認する。
6.スクリプト
・使用可能な3種類のパッケージ・スクリプトが存在する。コマンド・ライン‐このスクリプトのコンテンツは、標準のコマンド・ラインとして実行される。このスクリプトは、ファイルがそれらの目的地へとコピーされたのちに送信される。前スクリプト‐このスクリプトのコンテンツは、ファイルが装置へとコピーされる前に実行される。後スクリプト‐このスクリプトのコンテンツは、ファイルが装置へとコピーされたのちに実行される。
7.システム設定
・言語‐パッケージを利用できる言語を選択する。次いで、エージェントが当該言語が装置上にあるか確認し、インストール前にパッケージが一致するか確認する。
・プロセッサの種類‐パッケージを利用できるプロセッサを選択する。次いで、エージェントが当該プロセッサが装置上にあるか確認し、インストール前にパッケージが一致するか確認する。
8.終了‐ファイルをアップロードしてパッケージを組み立てるため、「終了」をクリックする。組み立てのプロセスが終了すると、ボタンが「終了」から「完了」に変化する。パッケージ生成機能を完了するため、「完了」をクリックする。
8.終了‐ファイルをアップロードしてパッケージを組み立てるため、「終了」をクリックする。組み立てのプロセスが終了すると、ボタンが「終了」から「完了」に変化する。パッケージ生成機能を完了するため、「完了」をクリックする。
(グループの定義/グループの変更)
このモジュールは、管理者に装置をグループへとまとめさせ、配布の手順をより容易にし、500の装置への配布を1つの装置への配布のように容易にする。さらに、管理者は、かれらのネットワークについて帯域幅の利用をより効率的にするため、それらの機能または位置に従って装置をグループ化できる。
1.グループ名‐グループのラベル指定。
2.装置リスト‐このグループが含むすべての装置を選択。装置は、アップデート・エージェントがインストールされ登録された後にのみ表示される。
3.終了‐装置がグループに配置されたのち、「終了」ボタンが「完了」に変化する。グループ機能を完了するため「完了」をクリックする。
このモジュールは、管理者に装置をグループへとまとめさせ、配布の手順をより容易にし、500の装置への配布を1つの装置への配布のように容易にする。さらに、管理者は、かれらのネットワークについて帯域幅の利用をより効率的にするため、それらの機能または位置に従って装置をグループ化できる。
1.グループ名‐グループのラベル指定。
2.装置リスト‐このグループが含むすべての装置を選択。装置は、アップデート・エージェントがインストールされ登録された後にのみ表示される。
3.終了‐装置がグループに配置されたのち、「終了」ボタンが「完了」に変化する。グループ機能を完了するため「完了」をクリックする。
(配布の計画/既存の配布の閲覧)
配布計画は、パッケージが指定の装置にとって利用可能になる日時を定めている。
1.パッケージの選択
・パッケージ選択リスト‐インストールするパッケージ(この時点では1つだけ)を選択。
2.装置の選択
・グループを追加‐このボタンは、利用可能なグループのリストを示すダイアログ・ボックスを表示する。配布対象とするグループを強調表示させ、「OK」ボタンをクリックする。
配布計画は、パッケージが指定の装置にとって利用可能になる日時を定めている。
1.パッケージの選択
・パッケージ選択リスト‐インストールするパッケージ(この時点では1つだけ)を選択。
2.装置の選択
・グループを追加‐このボタンは、利用可能なグループのリストを示すダイアログ・ボックスを表示する。配布対象とするグループを強調表示させ、「OK」ボタンをクリックする。
・グループを削除‐パッケージの配布を望まないグループを強調表示させ、「グループを削除」ボタンをクリック。
・装置を追加‐このボタンは、利用可能な装置(登録済みのアップデート・エージェントを備えている)のリストを示すダイアログ・ボックスを表示する。追加する装置を強調表示させ、「OK」ボタンをクリックする。
・装置を削除‐パッケージの配布を望まない装置を強調表示させ、「装置を削除」ボタンをクリック。
・巻き戻し‐インストール直後のパッケージを除去してバックアップ(指定された場合)へと復帰する。この選択肢は、「既存の配布の閲覧」を介してのみ利用可能である。
・再適用‐パッケージを再インストールする。
3.配布日時の選択
・カレンダー‐配布インストールを行なう日を選択。
3.配布日時の選択
・カレンダー‐配布インストールを行なう日を選択。
・時刻‐パッケージが配布されるサーバ上の時刻。
4.帯域幅および順序の選択
・帯域幅‐このレベルは、パッケージのダウンロードにサーバの帯域幅をどれだけ使用するかを定める。最小値は30%であり、最大は100%である。
4.帯域幅および順序の選択
・帯域幅‐このレベルは、パッケージのダウンロードにサーバの帯域幅をどれだけ使用するかを定める。最小値は30%であり、最大は100%である。
・順序‐「YES」(初期値)を選択すると、配布プロセスの全体を通じて装置ごとに配布が行なわれ、最後の装置に配布が行なわれたのちに終了する。配布プロセスのどこかでエラーが生じた場合には、配布が停止する。「NO」を選択すると、すべての装置にパッケージをインストールするよう配布が行なわれる。1つの装置でエラーが生じても、他の装置へのパッケージ配布には影響がない。
5.終了‐配布が生成または更新され、「完了」ボタンをクリックしたのちに保存される。
5.終了‐配布が生成または更新され、「完了」ボタンをクリックしたのちに保存される。
エージェントの要求は、POST法を使用するHTMLフォームの形式であろう。ホストの応答は、適格なXML 1.0文書であろう。返される文書の大部分はそのような簡潔な構造であり、DTD、名前空間、またはスキーマは含まれていないが、構文的および構造的にはXMLの仕様に従っているであろう。すべての日付および時刻は、協定世界時(GMT)に標準化される。
これは、エージェントすなわち要求者と、ホストすなわちアップデート・サービスとの間のトランザクションまたはデータの流れを記述している。すべてのアップデート・トランザクションは、要求計画にかかわらずホストからの作業のリストを要求すべきであるとエージェントに効果的に「Ping」または通知するためにホストがエージェントのIPアドレスで同意したポートおよびプロトコルを開き、エージェントIDを送信し、次いで閉じる場合を除き、エージェントによって開始される。
最初のコンタクト:
アップデート・サーバ528のサービスとの対話を必要とするあらゆるエージェントは、常に「/update」サブディレクトリの指定のマスタ・サイトへと要求を行なう。このサブディレクトリは、「302オブジェクト移動」およびその「新規」の場所を返すように構成されている。
アップデート・サーバ528のサービスとの対話を必要とするあらゆるエージェントは、常に「/update」サブディレクトリの指定のマスタ・サイトへと要求を行なう。このサブディレクトリは、「302オブジェクト移動」およびその「新規」の場所を返すように構成されている。
以下の例に示されるように、エージェントが、www.patchlink.comサイトの「/update」サブディレクトリ上の「HEAD」要求を実行する。
HEAD要求:
HEAD/update http/1.1
ホストが、オブジェクトが移動したことを返答し、新規場所は、Location:headerによって提供されたアドレスで見つけることができる。
HEAD/update http/1.1
ホストが、オブジェクトが移動したことを返答し、新規場所は、Location:headerによって提供されたアドレスで見つけることができる。
InstallShieldエージェント登録:
「アップデート・エージェント」の物理的なインストールの際、管理者は、エージェントがインストールされる前に幾らかの情報を入力するように求められる。管理者は、ホスト名またはIPアドレス、アカウント識別子、GUID(グローバル一意識別子)、ならびにユーザ名および登録時に指定されたパスワードを入力するように求められるであろう。このデータが、エージェント・ソフトウェアをインストールする能力を有効にし、エージェントのIDを生成するため、ホストへと送信される。
「アップデート・エージェント」の物理的なインストールの際、管理者は、エージェントがインストールされる前に幾らかの情報を入力するように求められる。管理者は、ホスト名またはIPアドレス、アカウント識別子、GUID(グローバル一意識別子)、ならびにユーザ名および登録時に指定されたパスワードを入力するように求められるであろう。このデータが、エージェント・ソフトウェアをインストールする能力を有効にし、エージェントのIDを生成するため、ホストへと送信される。
(エージェント・タスクリスト)
ひとたびInstallShieldがコンピュータへのBootStrapエージェント・ソフトウェアのインストールに成功すると、エージェントが動作を開始する番である。エージェントは、アップデート・サーバ528ホスト・サイト・アドレスを解明したのち、「タスク・リスト」要求を投稿する。「タスク・リスト」は、管理者が当該エージェントが実行するように計画した「タスク」項目の単純なリストである。
ひとたびInstallShieldがコンピュータへのBootStrapエージェント・ソフトウェアのインストールに成功すると、エージェントが動作を開始する番である。エージェントは、アップデート・サーバ528ホスト・サイト・アドレスを解明したのち、「タスク・リスト」要求を投稿する。「タスク・リスト」は、管理者が当該エージェントが実行するように計画した「タスク」項目の単純なリストである。
BootStrapエージェントは、
1.初期タスク・リストを要求し、
2.初期タスク・リストを受信し、
3.初期タスク・リストを理解し、
4.完全なエージェントのインストール・ファイルをダウンロードし、
5.エージェント・インストールを実行し、
6.インストールに問題があれば報告し、指示されたとおりに継続し、
7.完全なエージェントを動作開始させ、
8.新規タスク・リストをポーリングし、
9.ソフトウェア・パッケージのIDおよび依存関係を理解して、それらソフトウェア・パッケージをダウンロードし、
10.外部スクリプト・エンジンの呼び出し、またはエージェント内からのスクリプト・エンジンの呼び出しによって、「アクション・スクリプト」を記すこと
ができなければならない。
1.初期タスク・リストを要求し、
2.初期タスク・リストを受信し、
3.初期タスク・リストを理解し、
4.完全なエージェントのインストール・ファイルをダウンロードし、
5.エージェント・インストールを実行し、
6.インストールに問題があれば報告し、指示されたとおりに継続し、
7.完全なエージェントを動作開始させ、
8.新規タスク・リストをポーリングし、
9.ソフトウェア・パッケージのIDおよび依存関係を理解して、それらソフトウェア・パッケージをダウンロードし、
10.外部スクリプト・エンジンの呼び出し、またはエージェント内からのスクリプト・エンジンの呼び出しによって、「アクション・スクリプト」を記すこと
ができなければならない。
初期タスク・リスト要求を実行し、返された応答を処理するエージェントが、これを達成する。例えば:
(タスク・リスト要求)
(タスク・リスト要求)
この要求において、エージェントのバージョンは0.0である。これは、これがエージェントの新規インストールであって、ホストがこのエージェントについて適切なエージェント・ソフトウェアの最新バージョンをダウンロードする「タスク」を用意しなければならないことを、ホストに知らせている。続く応答において、これは最初の「タスク」‐タスクID=「C1D50120‐FF13‐11d3‐95B5‐000629526438」として示されている。
エージェントのポリシーに変更があったときは常に、ホストが当該ポリシー・データを「タスク・リスト」に含める。これが当該エージェントからの最初の要求であるため、当該ポリシー・データがこの応答に含められる。
「LocalTime」は、局所的な時間にすぎない(GMTではない)。これにより、サーバはエージェント装置上の正確な時間を知ることができる、書式はYYYYMMDDHHMMSSである。
「Status」は、実行すべきタスクが存在する場合に、タスク・リスト・プロセッサに単純なyesまたはnoの状態のみを返すように告げる。Status=0は、通常のタスク・リストを返すことを意味する。Status=1は、エージェントに実行すべきタスクを有するか否かを告げることを意味する。これにより、エージェントは非SSLで参加することができ、素早くチェックを行なうことができる。
(エージェント・ソフト・パッケージ要求)
最初のタスクは、インストールすべきモジュールが存在することを示している。以下に示すとおり、エージェントは、ホストからの詳細なインストール情報を要求する。
最初のタスクは、インストールすべきモジュールが存在することを示している。以下に示すとおり、エージェントは、ホストからの詳細なインストール情報を要求する。
(ソフト・パッケージ要求)
この場合に、エージェントのバージョンが0.0であることに注目すべきである。これは、エージェント・ソフトウェアをアップデートするためのパッケージがタスク・リスト応答に含まれなければならないことを、ホストに知らせている。これにより、利用できるエージェント・ソフトウェアの新規バージョンが存在するときホストが動的に判断し、エージェントを自身をアップデートするように導くことができる。
ホストは、エージェントがタスクを完了できるために必要とする情報の詳細を定めた「オープン・ソフトウェア・ディストリビューション」文書を一緒に置く。
「LocalTime」は、局所的な時間にすぎない(GMTではない)。これにより、サーバはエージェント装置上の正確な時間を知ることができる、書式はYYYYMMDDHHMMSSである。
「ソフト・パッケージ(全要素)」
ソフト・パッケージは、考えられるすべてのXMLコンポーネントを示している(バックアップを示す)。
ソフト・パッケージは、考えられるすべてのXMLコンポーネントを示している(バックアップを示す)。
「ソフト・パッケージ状態‐成功」
返却コードRCおよびSoftPkgRCは、10進形式である。SoftPkgRCは、パッケージの全体の完了を意味している。いくつかのモジュールが成功(RC=0)したが、他のモジュールがエラーを生じたかもしれない。すでに一度インストールされたパッケージについて配布が試みられた場合、エージェントは、それがインストールしたすべてのモジュールについて(RC=0)を返し、(SoftPkgRC=725003)またはすでにインストールされた0x000b100bソフト・パッケージを返す。
返却コードRCおよびSoftPkgRCは、10進形式である。SoftPkgRCは、パッケージの全体の完了を意味している。いくつかのモジュールが成功(RC=0)したが、他のモジュールがエラーを生じたかもしれない。すでに一度インストールされたパッケージについて配布が試みられた場合、エージェントは、それがインストールしたすべてのモジュールについて(RC=0)を返し、(SoftPkgRC=725003)またはすでにインストールされた0x000b100bソフト・パッケージを返す。
タスクが完了すると、エージェントは結果でホストを更新する。
要求
要求
「ファイル属性およびACL」
この部分では、GX:目的地(GX:URI)要素に見られるGX:ACL要素を説明する。アップデートにおける属性は、以下で定めるスーパーセット形式でエージェントに供給される。
この部分では、GX:目的地(GX:URI)要素に見られるGX:ACL要素を説明する。アップデートにおける属性は、以下で定めるスーパーセット形式でエージェントに供給される。
基本的なファイル属性の実行における問題は、いくつかのファイル・システムが属性とACLとの間の境界を不明確にする点にある。属性は、ファイルの基本的なACLであり、ここで定義されるものは、小さなクロス・プラットフォームなスーパーセットである。例えば、Windows(登録商標) NTFSはリード・オンリー属性フラグを有しているが、さらにリードACLを有している。したがって、包括的な属性フラグを作ろうとする場合、ACLとして使用されるときに意味がいくぶん変化させられることを予想しなければならない。Unix(登録商標)プラットフォームのそれらは、他のプラットフォームと同様に貴方が理解しないフラグを貴方が無視し、あるいは定義された振る舞いがここに挙げられない点を除き、違いを見せないであろう。
$OTHER、$GROUP、$USERという3つの初期設定のACLが定められ、基本的なファイル属性のように機能する。
Unix(登録商標)では、ファイル・システムが、これら3つの属性ACLがすべて使用する。
しかしながら、NT、FATおよびNetWareは、基本的なファイル属性に$OTHERのみを使用する。ACLの要素データ内の他の名前はすべて、名前として解釈される。
XML構文
これは、UserについてのACLを示す。
これは、UserについてのACLを示す。
GroupについてのACL。$GROUPが常にGroup=を使用することに注意すべきである。
「ソフト・パッケージ‐巻き戻し」
この例は、単純なファイル・コピーをすでに示したバックアップで巻き戻す。エージェントは、SOFTPKG要素タグの属性GX:Rollback=「Y」から巻き戻しを示す。GX:Source要素タグは供給されない。
目的地は、バックアップを戻すためのファイル名を含んでいなければならない。(注:巻き戻しに先立ってバックアップ・ファイルが存在しない場合、エラーではない(パッケージが配布されたとき、目的地は存在していなかった)。しかしながら、目的地ファイルが存在し、巻き戻しに先立って削除できない場合、エラーである。)
「プロキシ取得」
時には、エージェントがファイアウォールの背後に、ホスト・サイトへのアクセスのみが許されるような構成でインストールされることがある。エージェントは、ベンダのサイトにあるパッケージのためのモジュールを取り出そうと試みたとき、この場合を検出するであろう。エージェントは、通常のHTTP取得では接続を確立できないことを理解したとき、以下に示すとおり「プロキシ取得」要求を使用することによって、エージェントの代理としてファイルを取り出すようホストに依頼することができる。
「プロキシ取得」
時には、エージェントがファイアウォールの背後に、ホスト・サイトへのアクセスのみが許されるような構成でインストールされることがある。エージェントは、ベンダのサイトにあるパッケージのためのモジュールを取り出そうと試みたとき、この場合を検出するであろう。エージェントは、通常のHTTP取得では接続を確立できないことを理解したとき、以下に示すとおり「プロキシ取得」要求を使用することによって、エージェントの代理としてファイルを取り出すようホストに依頼することができる。
「要求」
「プロキシ取得の状態」
「要求」
「要求」
「取得要求」
「HTTP取得」
要求:
要求:
「帯域幅の利用」
「範囲指定取得要求」
HTTP/1.1によれば、クライアントは、応答エンティティの一部(或る範囲)のみを応答に含めるように要求できる。HTTP/1.1は、Rangeヘッダ・フィールドおよびContent‐Rangeヘッダ・フィールドにレンジ単位を使用する。エンティティは、種々の構造ユニットに従ってサブレンジに分解できる。
「範囲指定取得要求」
HTTP/1.1によれば、クライアントは、応答エンティティの一部(或る範囲)のみを応答に含めるように要求できる。HTTP/1.1は、Rangeヘッダ・フィールドおよびContent‐Rangeヘッダ・フィールドにレンジ単位を使用する。エンティティは、種々の構造ユニットに従ってサブレンジに分解できる。
レンジ単位=バイト単位│他のレンジ単位
バイト単位=「バイト」
他のレンジ単位=トークン
HTTP/1.1によって定義されている唯一のレンジ単位は「バイト」である。HTTP/1.1の実装例は、他の単位を使用して指定されたレンジを無視するであろう。HTTP/1.1は、レンジの知識に依存しないアプリケーションの実装を可能にすべく設計されている。
バイト単位=「バイト」
他のレンジ単位=トークン
HTTP/1.1によって定義されている唯一のレンジ単位は「バイト」である。HTTP/1.1の実装例は、他の単位を使用して指定されたレンジを無視するであろう。HTTP/1.1は、レンジの知識に依存しないアプリケーションの実装を可能にすべく設計されている。
すべてのHTTPエンティティは、HTTPメッセージにおいてバイトのシークエンスとして表わされるため、バイト・レンジの考え方は、あらゆるHTTPエンティティによって意味がある・
HTTPにおけるバイト・レンジの使用は、エンティティ本体(必ずしもメッセージ本体と同じではない)のバイトのシークエンスに当てはまる。バイト・レンジ操作は、ただ1つのバイトのレンジを指定でき、あるいはただ1つのエンティティ内のレンジの組を指定できる。
HTTPにおけるバイト・レンジの使用は、エンティティ本体(必ずしもメッセージ本体と同じではない)のバイトのシークエンスに当てはまる。バイト・レンジ操作は、ただ1つのバイトのレンジを指定でき、あるいはただ1つのエンティティ内のレンジの組を指定できる。
管理者が帯域幅利用の特徴を、それらをエージェントのポリシー・データにおいて指定することによって選択したとき、エージェントは、単純な取得要求ではなく「レンジ」指定された取得要求を行なう。
以下のエージェント・プロファイルを検討する。
以下に、Q12345.Exeファイルの最初の1024バイトの要求、およびホストの応答を示す。
要求:
プロキシ取得要求:
「発見エージェントXMLタグ」
<name>タグ‐これは、捜索しようとするファイルの名称である。
<name>タグ‐これは、捜索しようとするファイルの名称である。
<path>タグ‐きわめて汎用的である。これは、ファイルを求めて捜索しようとするパスである。
<Version>タグ‐これは、捜索しているファイルのバージョンである。
<created>タグ‐これは、ファイルが生成された日付である。
例<version>>5/30/2001 12:01:04PM</version>
注:この正確な日付形式が好ましい。
例<version>>5/30/2001 12:01:04PM</version>
注:この正確な日付形式が好ましい。
<Size>タグ‐これは、捜索しているファイルのサイズである。注:<or>することはできない。
<root>タグ‐これは、レジストリ・エントリを捜索するためのルート・キーである。
<Key>タグ‐これは、捜索しているレジストリ内のキーである。
<value>タグ‐これは、捜索しているキー内の値である。
<Data>タグ‐これは、当該キーに見つけることが予想されているデータである。
<class>タグ‐意味を成す任意の有効なWMIクラスを指定することができる。例win32_services。
<searchfield>タグ‐これは、どのwmiエントリを調べるべきか最もよく決定するフィールドである。
<searchvalue>タグ‐これは、どのwmiエントリを調べるべきか最もよく決定する値である。
<checkfield>タグ‐取得を予想している値を取得すべく調べるためのフィールドである。
<checkvalue>タグ‐発見を予想している値である。
入力ファイルの<registry>セクションの例である。
(パッチ・フィンガプリント署名の例)
上記の例は、レジストリからの見通しパスを発見し、次いでそのサイズを検証するであろう。
(まとめ)
本発明は、ソフトウェア・アップデートが必要とされ、コンピュータが必要なソフトウェアおよびハードウェア・コンポーネントを有しているとき、人間の監視をほとんどあるいはまったく必要とせず、かつクライアントをアップデート対象として有するネットワーク上の管理者装置にソフトウェア・パッチのコピーを必要とせずに、ネットワークを横断してソフトウェアを確実にアップデートし、インストールしたパッチによる問題がインストール時またはインストール後に発見された場合に、関係する装置からそれらを使用可能な状態に維持しつつアップデートを確実に取り除くためのシステム、方法、および構成された記憶媒体を提供する。
本発明は、ソフトウェア・アップデートが必要とされ、コンピュータが必要なソフトウェアおよびハードウェア・コンポーネントを有しているとき、人間の監視をほとんどあるいはまったく必要とせず、かつクライアントをアップデート対象として有するネットワーク上の管理者装置にソフトウェア・パッチのコピーを必要とせずに、ネットワークを横断してソフトウェアを確実にアップデートし、インストールしたパッチによる問題がインストール時またはインストール後に発見された場合に、関係する装置からそれらを使用可能な状態に維持しつつアップデートを確実に取り除くためのシステム、方法、および構成された記憶媒体を提供する。
本明細書で使用されるとき、「1つの」および「当該」などの用語、ならびに「アップデート・サーバ」などの物品の指定は、示された物品を1つ以上含むことを意味する。とくに請求項において、或る物品への言及は、そのような物品が少なくとも1つ必要であることを意味している。この文書では、物品が正にただ1つであることを意図する場合には、そのようでなければならないと明示する。本発明は、本発明の本質的特徴から離れることなく他の特定の形態に具現化できる。ここに説明した実施の形態は、あらゆる点において、あくまで例示であって本発明を限定するものではないと考えられなければならない。見出しは、あくまで便宜上のものである。特許請求の範囲が、本発明を記載している明細書の一部である。したがって、本発明の技術的範囲は、以上の説明ではなく、添付の特許請求の範囲によって示される。各請求項の意味および均等の範囲内にあらわれるすべての変更は、各請求項の技術的範囲に包含される。ここに請求して特許による保護を望むものは、以下のとおりである。
本発明の利点および特徴を得るためのやり方を示すため、添付の図面を参照しつつ本発明についてさらに詳しく説明する。これらの図は、本発明について選ばれたいくつかの態様のみを示しており、本発明の技術的範囲を限定するものではない。
図1は、本発明による使用に適した多くの分散コンピューティング・システムのうちの1つを示した図である。
図2は、本発明によるシステムを示した図である。
図3は、本発明による方法を示した図である。
図4は、本発明による方法をさらに示した図である。
図5は、本発明によるシステムをさらに示した図である。
図6は、本発明によるシステムをさらに示した図である。
図7は、本発明によるシステムをさらに示した図である。
図8は、本発明による方法をさらに示した図である。
図9は、本発明によるシステムをさらに示した図である。
Claims (62)
- 未アップデート状態の第1のターゲット・コンピュータをアップデート前状態のアップデート・サーバへとネットワークを介して接続して有し、かつ前記第1のターゲット・コンピュータにはアクセス不能であるかもしれないが前記アップデート・サーバにはアクセス可能であるパッケージ・コンピュータと、前記第1のターゲット・コンピュータおよび前記アップデート・サーバの両者にアクセス可能である集積所コンポーネントとを有しているシステムにおいて、ソフトウェアを自動的にアップデートするための方法であって、
特定のソフトウェア・アップデートを規定する少なくとも1つのパッチ・フィンガプリントを前記集積所コンポーネントに配置するステップ、
前記第1のターゲット・コンピュータについての情報を収集するステップ、
前記収集した情報の少なくとも一部を前記パッチ・フィンガプリントと比較し、前記特定のソフトウェア・アップデートが前記ターゲット・コンピュータに存在しないか否かを判断するステップと、
前記第1のターゲット・コンピュータを指定しており、かつ前記第1のターゲット・コンピュータのためのソフトウェア・アップデートを収容している前記パッケージ・コンピュータ上の場所を指し示す少なくとも1つのダウンロード・アドレスを指定している少なくとも1つのタスク識別子を、アップデート・タスク・リストに配置するステップ、
・前記タスク識別子に応答し、前記ソフトウェア・アップデートを前記パッケージ・コンピュータから前記アップデート・サーバへとダウンロードするステップ、および
前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートの第2のダウンロードを実行するステップ
を包含する、方法。 - 持ち運び可能であり、複数のネットワークのアップデート・サーバ上にパッチを複製するために使用できるパッチ定義ファイルを提供するステップ
をさらに包含する、請求項1に記載の方法。 - 管理者の明示的な指令を必要とせずに前記ダウンロード・ステップを実行することによって事前的に動作する、請求項1に記載の方法。
- 重要、高優先度、およびセキュリティ関連のうちの少なくとも1つの印が付された印付きのパッチをターゲット・コンピュータへと配布する前に、前記アップデート・サーバにキャッシュすることによって事前的に動作する、請求項1に記載の方法。
- パッチのダウンロードを安全にするため暗号化を使用するステップ、
パッチのダウンロードを安全にするため巡回冗長符号を使用するステップ、
パッチのダウンロードを安全にするためデジタル署名を使用するステップ、および
パッチのダウンロードを安全にするためSSLなどのセキュア・ネットワーク・プロトコルを使用するステップ
からなるセキュリティ・ステップのグループから少なくとも2つのステップをさらに含んでおり、前記セキュリティ・ステップの少なくとも1つが特定の方法の実施の形態において利用可能である、請求項1に記載の方法。 - 前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが、バックグラウンドのダウンロード・プロセスを使用して実行され、これにより前記第1のターゲット・コンピュータのユーザに対する不便が軽減されている、請求項1に記載の方法。
- 前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが、帯域幅を絞ったダウンロードを使用して実行され、これによりネットワーク管理者が大規模な配布時にどの程度の帯域幅を使用すべきか決定できる、請求項1に記載の方法。
- ダウンロードが、作業の時間を制限するポリシーのもとで実行され、当該ポリシーは、管理者によって設定され、これにより管理者がいつパッチ配布が許されるかを決定できる、請求項1に記載の方法。
- 前記アップデート・サーバから前記パッケージ・コンピュータへのソフトウェア・アップデートのダウンロードを防止すること
をさらに含んでおり、これによりパッケージ・コンピュータのセキュリティを高めている、請求項1に記載の方法。 - 連鎖化されたインストールという特徴の使用をさらに含んでおり、管理者が、そのような特徴を含んでいない場合に必要とされるよりも少ない再起動で、ダウンロードされたパッチをターゲット・コンピュータ上にインストールできる、請求項1に記載の方法。
- ダウンロード・ステップの中断を検出し、次いで再接続後に当該ダウンロード・ステップを、当該ダウンロード・ステップにおいて前記中断が生じた点またはその近傍から再開するダウンロード再開という特徴の使用をさらに含んでおり、
これによりダウンロードを達成するためにダウンロード・ステップの全体を反復しなくてもよい、請求項1に記載の方法。 - たとえ前記タスク識別子を配置するステップが生じるときに前記第1のターゲット・コンピュータがネットワークに接続されていなくても、管理者による前記第1のターゲット・コンピュータへのパッチの配布を可能にする移動ユーザ・サポートという特徴の使用をさらに包含する、請求項1に記載の方法。
- 複数のベンダから由来する複数のパッチをダウンロードすることを包含する、請求項1に記載の方法。
- グループを形成すべくターゲット・コンピュータからなる適切な部分集合をグループ化するステップをさらに包含し、個々のターゲット・コンピュータへと適用できる操作が、前記グループにも適用可能である、請求項1に記載の方法。
- 前記グループ化するステップが、管理者によって指定されたターゲット・コンピュータを含むグループを形成する、請求項14に記載の方法。
- 前記グループ化するステップが、管理者でないユーザによって指定されたターゲット・コンピュータを含むグループを形成する、請求項14に記載の方法。
- 前記グループ化するステップが、オペレーティング・システムを特定することによって指定されるターゲット・コンピュータを含むグループを形成し、当該グループに配されるすべてのターゲット・コンピュータが前記オペレーティング・システムを使用している、請求項14に記載の方法。
- 前記グループ化するステップが、アプリケーション・プログラムを特定することによって指定されるターゲット・コンピュータを含むグループを形成し、当該グループに配されるすべてのターゲット・コンピュータが前記アプリケーション・プログラムを使用している、請求項14に記載の方法。
- 管理の制御の限られた部分をグループ・マネージャに委譲するステップをさらに含んでおり、当該グループ・マネージャが、前記グループ化ステップによってグループに配されたターゲット・コンピュータのみについての制御を引き受ける請求項14に記載の方法。
- 前記第1のターゲット・コンピュータにインストールされるべきソフトウェアを少なくとも部分的に指定する不可欠パッチ最低線ポリシーの使用をさらに包含し、当該不可欠パッチ最低線ポリシーに指定されたパッチを、前記第1のターゲット・コンピュータに事前的にダウンロードおよびインストールする、請求項1に記載の方法。
- 前記不可欠パッチ最低線ポリシーが、特定のアプリケーションを使用するターゲット・コンピュータについて最低線を設定する、請求項20に記載の方法。
- 前記不可欠パッチ最低線ポリシーが、ターゲット・コンピュータからの望ましくないソフトウェアの除去を指令する、請求項20に記載の方法。
- 前記第1のターゲット・コンピュータにインストールされてはならないソフトウェアを指定する禁制パッチという特徴の使用をさらに包含し、そのようなインストールの発生を防止すべく試みる、請求項1に記載の方法。
- 前記不可欠パッチ最低線ポリシーに指定されているパッチのソフトウェアが、前記不可欠パッチ最低線ポリシーの対象であるターゲット・コンピュータから欠落した後、当該パッチを自動的に再インストールすることをさらに包含する、請求項20に記載の方法。
- グループを形成すべくターゲット・コンピュータからなる適切な部分集合をグループ化するステップ、および不可欠パッチ最低線ポリシーを使用して当該グループ内のターゲット・コンピュータにインストールされるべきソフトウェアを少なくとも部分的に指定するステップ、をさらに包含する、請求項1に記載の方法。
- 前記第1のターゲット・コンピュータ上においてロックされるソフトウェアを指定するパッチ遵守保証という特徴の使用をさらに包含し、ロックされたソフトウェアが前記第1のターゲット・コンピュータから取り除かれる場合、管理者に事前的に通知する、請求項1に記載の方法。
- 前記ターゲット・コンピュータ上においてロックされる少なくとも1つのアイテムを指定する変更管理という特徴の使用をさらに包含し、ロックされたアイテムが前記第ターゲット・コンピュータにおいて変更される場合、管理者に事前的に通知され、ここで前記アイテムがハードウェア・アイテム、サービス・アイテム、およびソフトウェア・アイテムのうちの少なくとも1つである、請求項1に記載の方法。
- 少なくとも前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが繰り返され、これにより少なくとも前記第1のターゲット・コンピュータ上の特定のファイルを繰り返しアップデートする、請求項1に記載の方法。
- 災害復旧ステップからなるグループからの少なくとも1つのステップであって、システム故障後の復旧および継続動作について管理者を手助けするステップをさらに包含し、
前記災害復旧ステップからなるグループが、故障したサーバと同じドメイン名を有する他のサーバを作り出すステップ、サーバにアップデート・サーバ・ソフトウェアを再インストールするステップ、アーカイブされたデータを復帰させるステップ、およびミラーリングされたデータを復帰させるステップ、からなり、
前記災害復旧ステップの少なくとも1つが特定の方法の実施の形態において利用可能である、請求項1に記載の方法。 - 最近の操作の記録を保持するステップ、およびパッチの配布を巻き戻すステップ、をさらに包含し、これにより問題を引き起こしたターゲット・コンピュータへのパッチ・インストールを管理者が取り消すことができる、請求項1に記載の方法。
- パッチをターゲット・コンピュータのオペレーティング・システムと照らし合わせる複数パッチの知的な配布という特徴の使用をさらに包含し、これによりターゲット・コンピュータにおいて使用されているオペレーティング・システムを明示的かつ完全に特定する必要性から管理者を解放する、請求項1に記載の方法。
- 前記第1のターゲット・コンピュータにセキュリティ・パッチをインストールし、これによりターゲット・コンピュータのファイル・システムに引っ掛かり、少なくとも1つの特定のファイルのターゲット・コンピュータ上での実行を停止させるポリシー駆動のやり方を管理者に提供する、請求項1に記載の方法。
- 未アップデート状態の第1のターゲット・コンピュータをアップデート前状態のアップデート・サーバへとネットワークを介して接続して有し、かつ前記第1のターゲット・コンピュータにはアクセス不能であるかもしれないが前記アップデート・サーバにはアクセス可能であるパッケージ・コンピュータと、前記第1のターゲット・コンピュータおよび前記アップデート・サーバの両者にアクセス可能である集積所コンポーネントとを有しているシステムについて、ソフトウェアを自動的にアップデートするための方法の各方法ステップをコンピュータ・システムの少なくとも一部分に実行させるデータおよび命令を表わす構成を有している構成されたプログラム記憶媒体であって、
該方法が、
特定のソフトウェア・アップデートを規定する少なくとも1つのパッチ・フィンガプリントを前記集積所コンポーネントに配置するステップ、
前記第1のターゲット・コンピュータについての情報を収集するステップ、
前記収集した情報の少なくとも一部を前記パッチ・フィンガプリントと比較し、前記特定のソフトウェア・アップデートが前記ターゲット・コンピュータに存在しないか否かを判断するステップ、
前記第1のターゲット・コンピュータを指定しており、かつ前記第1のターゲット・コンピュータのためのソフトウェア・アップデートを収容している前記パッケージ・コンピュータ上の場所を指し示す少なくとも1つのダウンロード・アドレスを指定している少なくとも1つのタスク識別子を、アップデート・タスク・リストに配置するステップ、
前記タスク識別子に応答し、前記ソフトウェア・アップデートを前記パッケージ・コンピュータから前記アップデート・サーバへとダウンロードするステップ、および
前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートの第2のダウンロードを実行するステップ
を包含する、構成されたプログラム記憶媒体。 - 前記方法が、持ち運び可能であって、複数のネットワークのアップデート・サーバ上にパッチを複製するために使用できるパッチ定義ファイルを提供するステップ、をさらに包含する、請求項33に記載の構成された記憶媒体。
- 前記方法が、管理者の明示的な指令を必要とせずに前記ダウンロード・ステップを実行することによって事前的に動作する、請求項33に記載の構成された記憶媒体。
- 前記方法が、重要、高優先度、およびセキュリティ関連のうちの少なくとも1つの印が付された印付きのパッチをターゲット・コンピュータへと配布する前に前記アップデート・サーバにキャッシュすることによって事前的に動作する、請求項33に記載の構成された記憶媒体。
- 前記方法が、
パッチのダウンロードを安全にするため暗号化を使用するステップ、
パッチのダウンロードを安全にするため巡回冗長符号を使用するステップ、
パッチのダウンロードを安全にするためデジタル署名を使用するステップ、および
パッチのダウンロードを安全にするためSSLなどのセキュア・ネットワーク・プロトコルを使用するステップ
からなるセキュリティ・ステップのグループから少なくとも2つのステップをさらに包含し、前記セキュリティ・ステップの少なくとも1つが特定の方法の実施の形態において利用可能である、請求項33に記載の構成された記憶媒体。 - 前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが、バックグラウンドのダウンロード・プロセスを使用して実行され、これにより前記第1のターゲット・コンピュータのユーザに対する不便が軽減されている、請求項33に記載の構成された記憶媒体。
- 前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが、帯域幅を絞ったダウンロードを使用して実行され、これによりネットワーク管理者が大規模な配布の際にどの程度の帯域幅を使用すべきか決定できる、請求項33に記載の構成された記憶媒体。
- ダウンロードが、作業の時間を制限するポリシーのもとで実行され、当該ポリシーは管理者によって設定され、これにより管理者がいつパッチ配布が許されるかを決定できる、請求項33に記載の構成された記憶媒体。
- 前記方法が、前記アップデート・サーバから前記パッケージ・コンピュータへのソフトウェア・アップデートのダウンロードを防止することをさらに包含し、これによりパッケージ・コンピュータのセキュリティを高めている、請求項33に記載の構成された記憶媒体。
- 前記方法が、連鎖化されたインストールという特徴の使用をさらに包含し、管理者が、そのような特徴を含んでいない場合に必要とされるよりも少ない再起動で、ダウンロードされたパッチをターゲット・コンピュータ上にインストールできる、請求項33に記載の構成された記憶媒体。
- 前記方法が、ダウンロード・ステップの中断を検出するとともに、次いで再接続後に当該ダウンロード・ステップを当該ダウンロード・ステップにおいて前記中断が生じた点またはその近傍から再開するダウンロード再開という特徴の使用をさらに包含し、これによりダウンロードを達成するためにダウンロード・ステップの全体を反復しなくてもよい、請求項33に記載の構成された記憶媒体。
- 前記方法が、たとえ前記タスク識別子を配置するステップが生じるときに前記第1のターゲット・コンピュータがネットワークに接続されていなくても、管理者による前記第1のターゲット・コンピュータへのパッチの配布を可能にする移動ユーザ・サポートという特徴の使用をさらに包含する、請求項33に記載の構成された記憶媒体。
- 前記方法が、複数のベンダから由来する複数のパッチをダウンロードすることを包含する、請求項33に記載の構成された記憶媒体。
- 前記方法が、グループを形成すべくターゲット・コンピュータからなる適切な部分集合をグループ化するステップをさらに包含し、個々のターゲット・コンピュータへと適用できる操作が、前記グループにも適用可能である請求項33に記載の構成された記憶媒体。
- 前記グループ化するステップが、管理者によって指定されたターゲット・コンピュータを含むグループを形成する、請求項46に記載の構成された記憶媒体。
- 前記グループ化するステップが、管理者でないユーザによって指定されたターゲット・コンピュータを含むグループを形成する請求項46に記載の構成された記憶媒体。
- 前記グループ化するステップが、オペレーティング・システムを特定することによって指定されるターゲット・コンピュータを含むグループを形成し、当該グループに配されるすべてのターゲット・コンピュータが前記オペレーティング・システムを使用している、請求項46に記載の構成された記憶媒体。
- 前記グループ化するステップが、アプリケーション・プログラムを特定することによって指定されるターゲット・コンピュータを含むグループを形成し、当該グループに配されるすべてのターゲット・コンピュータが前記アプリケーション・プログラムを使用している、請求項46に記載の構成された記憶媒体。
- 前記方法が、管理の制御の限られた部分をグループ・マネージャに委譲するステップをさらに包含し、当該グループ・マネージャが、前記グループ化ステップによってグループに配されたターゲット・コンピュータのみについての制御を引き受ける、請求項46に記載の構成された記憶媒体。
- 前記方法が、前記第1のターゲット・コンピュータにインストールされるべきソフトウェアを少なくとも部分的に指定する不可欠パッチ最低線ポリシーの使用をさらに包含し、当該不可欠パッチ最低線ポリシーに指定されたパッチを、前記第1のターゲット・コンピュータに事前的にダウンロードおよびインストールする、請求項33に記載の構成された記憶媒体。
- 前記不可欠パッチ最低線ポリシーが、特定のアプリケーションを使用するターゲット・コンピュータについて最低線を設定する、請求項52に記載の構成された記憶媒体。
- 前記方法が、前記不可欠パッチ最低線ポリシーに指定されているパッチのソフトウェアが、前記不可欠パッチ最低線ポリシーの対象であるターゲット・コンピュータから欠落した後、当該パッチを自動的に再インストールすることをさらに包含する、請求項52に記載の構成された記憶媒体。
- 前記方法が、グループを形成すべくターゲット・コンピュータからなる適切な部分集合をグループ化するステップ、および不可欠パッチ最低線ポリシーを使用して当該グループ内のターゲット・コンピュータにインストールされるべきソフトウェアを少なくとも部分的に指定するステップ、をさらに包含する、請求項33に記載の構成された記憶媒体。
- 前記方法が、前記第1のターゲット・コンピュータ上においてロックされるソフトウェアを指定するパッチ遵守保証という特徴の使用をさらに包含し、ロックされたソフトウェアが前記第1のターゲット・コンピュータから取り除かれる場合に管理者に事前的に通知する、請求項33に記載の構成された記憶媒体。
- 前記方法が、前記ターゲット・コンピュータ上においてロックされる少なくとも1つのアイテムを指定する変更管理という特徴の使用をさらに包含し、ロックされたアイテムが前記第ターゲット・コンピュータにおいて変更される場合に管理者に事前的に通知し、ここで前記アイテムがハードウェア・アイテム、サービス・アイテム、およびソフトウェア・アイテムのうちの少なくとも1つである請求項33に記載の構成された記憶媒体。
- 少なくとも前記アップデート・サーバから前記第1のターゲット・コンピュータへと前記ソフトウェア・アップデートをダウンロードするステップが繰り返され、これにより少なくとも前記第1のターゲット・コンピュータ上の特定のファイルを繰り返しアップデートする、請求項33に記載の構成された記憶媒体。
- 前記方法が、災害復旧ステップからなるグループからの少なくとも1つのステップであって、システム故障後の復旧および継続動作について管理者を手助けするステップをさらに包含し、
前記災害復旧ステップからなるグループが、故障したサーバと同じドメイン名を有する他のサーバを作り出すステップ、サーバにアップデート・サーバ・ソフトウェアを再インストールするステップ、アーカイブされたデータを復帰させるステップ、およびミラーリングされたデータを復帰させるステップ、からなり、
前記災害復旧ステップの少なくとも1つが特定の方法の実施の形態において利用可能である、請求項33に記載の構成された記憶媒体。 - 前記方法が、最近の操作の記録を保持するステップ、およびパッチの配布を巻き戻すステップをさらに包含し、これにより問題を引き起こしたターゲット・コンピュータへのパッチ・インストールを管理者が取り消すことができる、請求項33に記載の構成された記憶媒体。
- 前記方法が、パッチをターゲット・コンピュータのオペレーティング・システムと照らし合わせる複数パッチの知的な配布という特徴の使用をさらに包含し、これによりターゲット・コンピュータにおいて使用されているオペレーティング・システムを明示的かつ完全に特定する必要性から管理者を解放する、請求項33に記載の構成された記憶媒体。
- 前記方法が、前記第1のターゲット・コンピュータにセキュリティ・パッチをインストールし、これによりターゲット・コンピュータのファイル・システムに引っ掛かり少なくとも1つの特定のファイルのターゲット・コンピュータ上での実行を停止させるポリシー駆動のやり方を管理者に提供する、請求項33に記載の構成された記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/394,447 | 2003-03-20 | ||
US10/394,447 US20040003266A1 (en) | 2000-09-22 | 2003-03-20 | Non-invasive automatic offsite patch fingerprinting and updating system and method |
PCT/US2004/006328 WO2004086168A2 (en) | 2003-03-20 | 2004-03-02 | Non-invasive automatic offsite patch fingerprinting and updating system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006520975A true JP2006520975A (ja) | 2006-09-14 |
Family
ID=33096760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006508993A Withdrawn JP2006520975A (ja) | 2003-03-20 | 2004-03-02 | 非侵入な自動オフサイト・パッチ・フィンガプリンティングおよびアップデーティングシステム、および方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20040003266A1 (ja) |
EP (1) | EP1611509A4 (ja) |
JP (1) | JP2006520975A (ja) |
KR (1) | KR20050120643A (ja) |
CN (1) | CN1894661A (ja) |
AU (1) | AU2004222883A1 (ja) |
BR (1) | BRPI0408425A (ja) |
CA (1) | CA2517223A1 (ja) |
EA (1) | EA200501486A1 (ja) |
MX (1) | MXPA05009990A (ja) |
WO (1) | WO2004086168A2 (ja) |
ZA (1) | ZA200506830B (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293258A (ja) * | 2007-05-24 | 2008-12-04 | Hitachi Omron Terminal Solutions Corp | リモートメンテナンスシステム |
JP2010026835A (ja) * | 2008-07-22 | 2010-02-04 | Hitachi Information Systems Ltd | ブログラム配布処理システムと方法およびプログラム |
JP2010152749A (ja) * | 2008-12-25 | 2010-07-08 | Fujitsu Ltd | 資源配付システム |
JP2012212380A (ja) * | 2011-03-31 | 2012-11-01 | Internatl Business Mach Corp <Ibm> | ソフトウエア更新を適用した情報処理装置を検査するシステム |
US8544099B2 (en) | 2004-10-04 | 2013-09-24 | Promisec Ltd. | Method and device for questioning a plurality of computerized devices |
JP2014021667A (ja) * | 2012-07-17 | 2014-02-03 | Disco Abrasive Syst Ltd | 加工装置の管理方法 |
JP2020140476A (ja) * | 2019-02-28 | 2020-09-03 | 富士通クライアントコンピューティング株式会社 | 情報処理装置及び情報処理システム |
WO2023026607A1 (ja) * | 2021-08-26 | 2023-03-02 | 株式会社日立製作所 | 情報配信処理の制御方法、計算機システム、および計算機 |
Families Citing this family (336)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998024021A1 (fr) * | 1996-11-29 | 1998-06-04 | Hitachi, Ltd. | Systeme de commande de micro-ordinateur |
US6724720B1 (en) | 2000-05-01 | 2004-04-20 | Palmone, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
US7391718B2 (en) * | 2004-03-09 | 2008-06-24 | Palm, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
NO312269B1 (no) * | 2000-06-28 | 2002-04-15 | Ericsson Telefon Ab L M | Fremgangsmåte for automatisering av programvareoppgradering |
US6804699B1 (en) | 2000-07-18 | 2004-10-12 | Palmone, Inc. | Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20020078222A1 (en) | 2000-12-14 | 2002-06-20 | Compas Jeffrey C. | Updating information in network devices |
US7512673B2 (en) * | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
JP2005502096A (ja) | 2001-01-11 | 2005-01-20 | ゼット−フォース コミュニケイションズ インコーポレイテッド | ファイルスイッチ及び交換ファイルシステム |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US8239354B2 (en) * | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US8195760B2 (en) * | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
WO2002057904A1 (fr) * | 2001-01-19 | 2002-07-25 | Fujitsu Limited | Controleur dote d'un fonction de telechargement |
US20020156692A1 (en) * | 2001-04-20 | 2002-10-24 | Squeglia Mark R. | Method and system for managing supply of replacement parts of a piece of equipment |
US6859923B2 (en) * | 2001-05-09 | 2005-02-22 | Sun Microsystems, Inc. | Method, system, program, and data structures for using a database to apply patches to a computer system |
US6993760B2 (en) * | 2001-12-05 | 2006-01-31 | Microsoft Corporation | Installing software on a mobile computing device using the rollback and security features of a configuration manager |
AU2002360844A1 (en) * | 2001-12-31 | 2003-07-24 | Citadel Security Software Inc. | Automated computer vulnerability resolution system |
US7243148B2 (en) * | 2002-01-15 | 2007-07-10 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7257630B2 (en) * | 2002-01-15 | 2007-08-14 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7543056B2 (en) | 2002-01-15 | 2009-06-02 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7591020B2 (en) * | 2002-01-18 | 2009-09-15 | Palm, Inc. | Location based security modification system and method |
US9134989B2 (en) | 2002-01-31 | 2015-09-15 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
US20070169073A1 (en) * | 2002-04-12 | 2007-07-19 | O'neill Patrick | Update package generation and distribution network |
US20030212716A1 (en) * | 2002-05-09 | 2003-11-13 | Doug Steele | System and method for analyzing data center enerprise information via backup images |
US7228540B2 (en) * | 2002-05-14 | 2007-06-05 | Microsoft Corporation | Preparation for software on demand system |
US8667104B2 (en) * | 2002-05-14 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Firmware/software upgrade alert method and apparatus |
US9813514B2 (en) | 2002-06-12 | 2017-11-07 | Good Technology Holdings Limited | Information repository system including a wireless device and related method |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US20040040023A1 (en) * | 2002-08-22 | 2004-02-26 | Ellis David G. | Remote identification loader |
US7096464B1 (en) * | 2002-12-02 | 2006-08-22 | Sap Aktiengesellschaft | Software update method and apparatus |
US7784044B2 (en) * | 2002-12-02 | 2010-08-24 | Microsoft Corporation | Patching of in-use functions on a running computer system |
US9092286B2 (en) * | 2002-12-20 | 2015-07-28 | Qualcomm Incorporated | System to automatically process components on a device |
US7877511B1 (en) * | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
US7624422B2 (en) * | 2003-02-14 | 2009-11-24 | Preventsys, Inc. | System and method for security information normalization |
US7627891B2 (en) * | 2003-02-14 | 2009-12-01 | Preventsys, Inc. | Network audit and policy assurance system |
US7555749B2 (en) * | 2003-03-10 | 2009-06-30 | Microsoft Corporation | Software updating system and method |
US7584467B2 (en) | 2003-03-17 | 2009-09-01 | Microsoft Corporation | Software updating system and method |
US7926113B1 (en) | 2003-06-09 | 2011-04-12 | Tenable Network Security, Inc. | System and method for managing network vulnerability analysis systems |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US20050005152A1 (en) * | 2003-07-01 | 2005-01-06 | Navjot Singh | Security vulnerability monitor |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9100431B2 (en) * | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US20050027714A1 (en) * | 2003-07-31 | 2005-02-03 | International Business Machines Corporation | Scheduling and execution of program jobs in computer system |
WO2005031570A1 (en) * | 2003-09-26 | 2005-04-07 | Bitfone Corporation | Update package catalog for update package transfer between generator and content server in a network |
US7721104B2 (en) * | 2003-10-20 | 2010-05-18 | Nokia Corporation | System, method and computer program product for downloading pushed content |
US8370825B2 (en) * | 2003-10-22 | 2013-02-05 | Hewlett-Packard Development Company, L.P. | Program-update prioritization according to program-usage tracking |
JP2007510987A (ja) * | 2003-10-27 | 2007-04-26 | アメリカン パワー コンバージョン コーポレイション | ソフトウェアプログラムを更新するためのシステムおよび方法 |
US8626146B2 (en) | 2003-10-29 | 2014-01-07 | Qualcomm Incorporated | Method, software and apparatus for performing actions on a wireless device using action lists and versioning |
US7334226B2 (en) * | 2003-10-30 | 2008-02-19 | International Business Machines Corporation | Autonomic auto-configuration using prior installation configuration relationships |
DE10356348A1 (de) * | 2003-11-28 | 2005-06-23 | Abb Patent Gmbh | System und Verfahren zum automatischen Erstellen, Installieren und Konfigurieren von Funktionalitäten in einem verteilten Netzwerk |
US7506335B1 (en) | 2003-11-29 | 2009-03-17 | Cisco Technology, Inc. | Method and apparatus for software loading and initialization in a distributed network |
US7461374B1 (en) * | 2003-12-01 | 2008-12-02 | Cisco Technology, Inc. | Dynamic installation and activation of software packages in a distributed networking device |
US7376945B1 (en) | 2003-12-02 | 2008-05-20 | Cisco Technology, Inc. | Software change modeling for network devices |
US7661123B2 (en) * | 2003-12-05 | 2010-02-09 | Microsoft Corporation | Security policy update supporting at least one security service provider |
US7430760B2 (en) * | 2003-12-05 | 2008-09-30 | Microsoft Corporation | Security-related programming interface |
US7533413B2 (en) | 2003-12-05 | 2009-05-12 | Microsoft Corporation | Method and system for processing events |
US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US7614051B2 (en) * | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
US20050132357A1 (en) * | 2003-12-16 | 2005-06-16 | Microsoft Corporation | Ensuring that a software update may be installed or run only on a specific device or class of devices |
US8499078B2 (en) | 2003-12-24 | 2013-07-30 | Sap Aktiengesellschaft | Address generation in distributed systems using tree method |
US8103772B2 (en) | 2003-12-24 | 2012-01-24 | Sap Aktiengesellschaft | Cluster extension in distributed systems using tree method |
US8005937B2 (en) * | 2004-03-02 | 2011-08-23 | Fatpot Technologies, Llc | Dynamically integrating disparate computer-aided dispatch systems |
BRPI0400265A (pt) * | 2004-03-10 | 2006-02-07 | Legitimi Ltd | Sistema de controle de acesso a serviços de informação baseado em assinatura de hardware e software do dispositivo solicitante |
US20070113090A1 (en) * | 2004-03-10 | 2007-05-17 | Villela Agostinho De Arruda | Access control system based on a hardware and software signature of a requesting device |
US8051483B2 (en) | 2004-03-12 | 2011-11-01 | Fortinet, Inc. | Systems and methods for updating content detection devices and systems |
EP1574949A1 (en) * | 2004-03-12 | 2005-09-14 | Sap Ag | Method for modifying the software configuration of a computer system |
US8359349B2 (en) * | 2004-03-18 | 2013-01-22 | Nokia Corporation | System and associated terminal, method and computer program product for uploading content |
US7478383B2 (en) * | 2004-03-23 | 2009-01-13 | Toshiba Corporation | System and method for remotely securing software updates of computer systems |
US20060041931A1 (en) * | 2004-03-23 | 2006-02-23 | Pctel, Inc. | Service level assurance system and method for wired and wireless broadband networks |
US8225304B2 (en) * | 2004-03-23 | 2012-07-17 | Kabushiki Kaisha Toshiba | System and method for remotely securing software updates of computer systems |
US8201257B1 (en) | 2004-03-31 | 2012-06-12 | Mcafee, Inc. | System and method of managing network security risks |
US7519954B1 (en) | 2004-04-08 | 2009-04-14 | Mcafee, Inc. | System and method of operating system identification |
US7761918B2 (en) * | 2004-04-13 | 2010-07-20 | Tenable Network Security, Inc. | System and method for scanning a network |
US7904895B1 (en) * | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
EP1763766A4 (en) * | 2004-05-04 | 2009-04-01 | Robert M Price | SYSTEM AND METHOD FOR COMMUNICATING ELECTRONIC EQUIPMENT |
US8539469B2 (en) * | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
US7890946B2 (en) * | 2004-05-11 | 2011-02-15 | Microsoft Corporation | Efficient patching |
US7559058B2 (en) * | 2004-05-11 | 2009-07-07 | Microsoft Corporation | Efficient patching |
US20050262501A1 (en) * | 2004-05-21 | 2005-11-24 | Claudio Marinelli | Software distribution method and system supporting configuration management |
US7657923B2 (en) * | 2004-07-23 | 2010-02-02 | Microsoft Corporation | Framework for a security system |
US7530065B1 (en) * | 2004-08-13 | 2009-05-05 | Apple Inc. | Mechanism for determining applicability of software packages for installation |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7703090B2 (en) * | 2004-08-31 | 2010-04-20 | Microsoft Corporation | Patch un-installation |
US7747998B2 (en) * | 2004-08-31 | 2010-06-29 | Microsoft Corporation | Elevated patching |
US20060048226A1 (en) * | 2004-08-31 | 2006-03-02 | Rits Maarten E | Dynamic security policy enforcement |
US20060080656A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US20060080659A1 (en) * | 2004-10-13 | 2006-04-13 | Jp Mobile Operating, L.P. | System and method of provisioning software to mobile devices |
JP4696125B2 (ja) * | 2004-11-10 | 2011-06-08 | バークレイズ・キャピタル・インコーポレーテッド | ソフトウェアを計測するための方法及びシステム |
US20060106821A1 (en) * | 2004-11-12 | 2006-05-18 | International Business Machines Corporation | Ownership management of containers in an application server environment |
US20060130045A1 (en) * | 2004-11-19 | 2006-06-15 | Jonathan Wesley | Systems and methods for dynamically updating computer systems |
US9043781B2 (en) * | 2004-12-03 | 2015-05-26 | International Business Machines Corporation | Algorithm for automated enterprise deployments |
US8219807B1 (en) | 2004-12-17 | 2012-07-10 | Novell, Inc. | Fine grained access control for linux services |
US8271785B1 (en) | 2004-12-20 | 2012-09-18 | Novell, Inc. | Synthesized root privileges |
US7996814B1 (en) * | 2004-12-21 | 2011-08-09 | Zenprise, Inc. | Application model for automated management of software application deployments |
US7885970B2 (en) * | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7490072B1 (en) | 2005-02-16 | 2009-02-10 | Novell, Inc. | Providing access controls |
US7734574B2 (en) * | 2005-02-17 | 2010-06-08 | International Business Machines Corporation | Intelligent system health indicator |
JP4639908B2 (ja) * | 2005-03-31 | 2011-02-23 | パナソニック株式会社 | デジタル放送受信装置及びデジタル放送送信装置 |
US7631297B2 (en) * | 2005-04-05 | 2009-12-08 | International Business Machines Corporation | Autonomic computing: management agent utilizing action policy for operation |
US7937476B2 (en) * | 2005-04-08 | 2011-05-03 | Microsoft Corporation | Methods and systems for auto-sensing internet accelerators and proxies for download content |
US9178940B2 (en) * | 2005-04-12 | 2015-11-03 | Tiversa Ip, Inc. | System and method for detecting peer-to-peer network software |
USRE47628E1 (en) | 2005-04-12 | 2019-10-01 | Kroll Information Assurance, Llc | System for identifying the presence of peer-to-peer network software applications |
US20090124372A1 (en) * | 2005-04-29 | 2009-05-14 | Gagner Mark B | Asset management of downloadable gaming components in a gaming system |
US20060253848A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Method and apparatus for solutions deployment in a heterogeneous systems management environment |
US8140816B2 (en) * | 2005-05-12 | 2012-03-20 | International Business Machines Corporation | Utilizing partition resource requirements from workload estimation to automate partition software configuration and validation |
US8352935B2 (en) * | 2005-05-19 | 2013-01-08 | Novell, Inc. | System for creating a customized software distribution based on user requirements |
US8074214B2 (en) * | 2005-05-19 | 2011-12-06 | Oracle International Corporation | System for creating a customized software installation on demand |
US7937697B2 (en) * | 2005-05-19 | 2011-05-03 | International Business Machines Corporation | Method, system and computer program for distributing software patches |
US8271387B2 (en) | 2005-06-20 | 2012-09-18 | Intraware, Inc. | Method and apparatus for providing limited access to data objects or files within an electronic software delivery and management system |
US20060288009A1 (en) * | 2005-06-20 | 2006-12-21 | Tobid Pieper | Method and apparatus for restricting access to an electronic product release within an electronic software delivery system |
US8122035B2 (en) * | 2005-06-28 | 2012-02-21 | International Business Machines Corporation | Method and system for transactional fingerprinting in a database system |
US7558857B2 (en) * | 2005-06-30 | 2009-07-07 | Microsoft Corporation | Solution deployment in a server farm |
US7542992B1 (en) * | 2005-08-01 | 2009-06-02 | Google Inc. | Assimilator using image check data |
KR100735372B1 (ko) * | 2005-08-17 | 2007-07-04 | 삼성전자주식회사 | 지상파 dmb 수신 단말기에서 소프트웨어 다운로드를통한 업그레이드 방법 |
US20070050678A1 (en) * | 2005-08-25 | 2007-03-01 | Motorola, Inc. | Apparatus for self-diagnosis and treatment of critical software flaws |
US8271973B2 (en) * | 2005-09-09 | 2012-09-18 | Emulex Design & Manufacturing Corporation | Automated notification of software installation failures |
US8176408B2 (en) * | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
JP2007141102A (ja) | 2005-11-21 | 2007-06-07 | Internatl Business Mach Corp <Ibm> | ソフトウェアをインストールするためのプログラム、記録媒体、及び装置 |
US8032424B1 (en) | 2005-12-27 | 2011-10-04 | United Services Automobile Association | Method, system, and storage medium for viewing commodity information |
US8176483B2 (en) * | 2005-12-30 | 2012-05-08 | Sap Ag | Software maintenance management |
US7823163B2 (en) * | 2005-12-30 | 2010-10-26 | Edda Technology, Inc. | Methods and system for process sharing among independent systems/applications via data encapsulation in medical imaging |
US20070207800A1 (en) * | 2006-02-17 | 2007-09-06 | Daley Robert C | Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device |
US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
US8676973B2 (en) | 2006-03-07 | 2014-03-18 | Novell Intellectual Property Holdings, Inc. | Light-weight multi-user browser |
US8443354B1 (en) * | 2006-03-29 | 2013-05-14 | Symantec Corporation | Detecting new or modified portions of code |
US20070257354A1 (en) * | 2006-03-31 | 2007-11-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Code installation decisions for improving aggregate functionality |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
US8578363B2 (en) * | 2006-05-03 | 2013-11-05 | Microsoft Corporation | Differentiated installable packages |
EP2025095A2 (en) | 2006-06-08 | 2009-02-18 | Hewlett-Packard Development Company, L.P. | Device management in a network |
US20070294332A1 (en) * | 2006-06-19 | 2007-12-20 | Microsoft Corporation | Processing device for end customer operation |
US20080005721A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing Sensor-Enabled Software Applications |
US8095923B2 (en) * | 2006-06-29 | 2012-01-10 | Augusta Systems, Inc. | System and method for deploying and managing intelligent nodes in a distributed network |
US7680907B2 (en) * | 2006-07-21 | 2010-03-16 | Barclays Capital Inc. | Method and system for identifying and conducting inventory of computer assets on a network |
US8122111B2 (en) * | 2006-07-25 | 2012-02-21 | Network Appliance, Inc. | System and method for server configuration control and management |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US7748000B2 (en) * | 2006-07-27 | 2010-06-29 | International Business Machines Corporation | Filtering a list of available install items for an install program based on a consumer's install policy |
US9098706B1 (en) * | 2006-07-31 | 2015-08-04 | Symantec Corporation | Installer trust chain validation |
US8322155B2 (en) | 2006-08-15 | 2012-12-04 | American Power Conversion Corporation | Method and apparatus for cooling |
US9568206B2 (en) | 2006-08-15 | 2017-02-14 | Schneider Electric It Corporation | Method and apparatus for cooling |
US8327656B2 (en) | 2006-08-15 | 2012-12-11 | American Power Conversion Corporation | Method and apparatus for cooling |
US7876902B2 (en) * | 2006-08-31 | 2011-01-25 | Microsoft Corporation | Distribution of encrypted software update to reduce attack window |
US7567984B1 (en) * | 2006-08-31 | 2009-07-28 | Symantec Operating Corporation | Operating system and application deployment based on stored user state and organizational policy |
JP4842742B2 (ja) * | 2006-09-05 | 2011-12-21 | 富士通株式会社 | ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置 |
JP2008067311A (ja) * | 2006-09-11 | 2008-03-21 | Ntt Docomo Inc | 移動通信端末及びダウンロード再開制御方法 |
US8601467B2 (en) | 2006-10-03 | 2013-12-03 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US8584115B2 (en) * | 2006-10-05 | 2013-11-12 | International Business Machines Corporation | Automated operating system device driver updating system |
US8024299B2 (en) | 2006-10-20 | 2011-09-20 | Oracle International Corporation | Client-driven functionally equivalent database replay |
US8438560B2 (en) * | 2006-11-07 | 2013-05-07 | Hewlett-Packard Development Company, L.P. | Resource assessment method and system |
US7937765B2 (en) * | 2006-11-09 | 2011-05-03 | Electronics And Telecommunications Research Institute | System and method for checking security of PC |
US7603435B2 (en) | 2006-11-15 | 2009-10-13 | Palm, Inc. | Over-the-air device kill pill and lock |
US8135798B2 (en) * | 2006-11-15 | 2012-03-13 | Hewlett-Packard Development Company, L.P. | Over-the-air device services and management |
US20080115152A1 (en) * | 2006-11-15 | 2008-05-15 | Bharat Welingkar | Server-controlled heartbeats |
US8112747B2 (en) * | 2006-11-27 | 2012-02-07 | Sap Ag | Integrated software support for a distributed business application with seamless backend communications |
US7681404B2 (en) | 2006-12-18 | 2010-03-23 | American Power Conversion Corporation | Modular ice storage for uninterruptible chilled water |
US10019501B2 (en) * | 2006-12-18 | 2018-07-10 | International Business Machines Corporation | Data store synchronization utilizing synchronization logs |
US8578335B2 (en) * | 2006-12-20 | 2013-11-05 | International Business Machines Corporation | Apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code |
US9563417B2 (en) | 2006-12-29 | 2017-02-07 | International Business Machines Corporation | Patch management automation tool for UNIX, APARXML |
US8239688B2 (en) * | 2007-01-07 | 2012-08-07 | Apple Inc. | Securely recovering a computing device |
US8266614B2 (en) * | 2007-01-23 | 2012-09-11 | International Business Machines Corporation | Methods and apparatus for pre-configuring software |
US8425287B2 (en) | 2007-01-23 | 2013-04-23 | Schneider Electric It Corporation | In-row air containment and cooling system and method |
US8060874B2 (en) * | 2007-01-29 | 2011-11-15 | Symbol Technologies, Inc. | Efficient provisioning of software packages to mobile handheld devices |
US8055761B2 (en) * | 2007-01-31 | 2011-11-08 | International Business Machines Corporation | Method and apparatus for providing transparent network connectivity |
US20080201705A1 (en) | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
US20080220779A1 (en) * | 2007-03-08 | 2008-09-11 | Vanu Bose | Configuration of a Home Base Station |
US20080244558A1 (en) * | 2007-03-28 | 2008-10-02 | Motorola, Inc. | Content downloading in a radio communication network |
US20090077097A1 (en) * | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US8782219B2 (en) | 2012-05-18 | 2014-07-15 | Oracle International Corporation | Automated discovery of template patterns based on received server requests |
WO2008144375A2 (en) | 2007-05-15 | 2008-11-27 | American Power Conversion Corporation | Methods and systems for managing facility power and cooling |
US8682916B2 (en) * | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
JP5065482B2 (ja) | 2007-06-19 | 2012-10-31 | クゥアルコム・インコーポレイテッド | 無線環境においてデータセットを同期するための方法および機器 |
JP4591486B2 (ja) * | 2007-08-23 | 2010-12-01 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US20090070756A1 (en) * | 2007-09-06 | 2009-03-12 | Hongfeng Wei | System and method for resource utilization-based throttling of software updates |
US8839221B2 (en) * | 2007-09-10 | 2014-09-16 | Moka5, Inc. | Automatic acquisition and installation of software upgrades for collections of virtual machines |
US8819655B1 (en) * | 2007-09-17 | 2014-08-26 | Symantec Corporation | Systems and methods for computer program update protection |
US8117244B2 (en) | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US8180747B2 (en) | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8548953B2 (en) * | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8683458B2 (en) * | 2007-11-30 | 2014-03-25 | Red Hat, Inc. | Automatic full install upgrade of a network appliance |
US8352785B1 (en) | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
US8091082B2 (en) * | 2008-03-12 | 2012-01-03 | DGN Technologies, Inc. | Systems and methods for risk analysis and updating of software |
US8239827B2 (en) * | 2008-03-31 | 2012-08-07 | Symantec Operating Corporation | System and method for prioritizing the compilation of bytecode modules during installation of a software application |
US9720674B1 (en) * | 2008-05-05 | 2017-08-01 | Open Invention Network, Llc | Automating application of software patches to a server having a virtualization layer |
US20090288071A1 (en) * | 2008-05-13 | 2009-11-19 | Microsoft Corporation | Techniques for delivering third party updates |
US8418164B2 (en) * | 2008-05-29 | 2013-04-09 | Red Hat, Inc. | Image install of a network appliance |
US20090328023A1 (en) * | 2008-06-27 | 2009-12-31 | Gregory Roger Bestland | Implementing optimized installs around pre-install and post-install actions |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
US20100042518A1 (en) * | 2008-08-14 | 2010-02-18 | Oracle International Corporation | Payroll rules engine for populating payroll costing accounts |
US8677342B1 (en) * | 2008-10-17 | 2014-03-18 | Honeywell International Inc. | System, method and apparatus for replacing wireless devices in a system |
US20100153942A1 (en) * | 2008-12-12 | 2010-06-17 | Lazar Borissov | Method and a system for delivering latest hotfixes with a support package stack |
US8707439B2 (en) * | 2008-12-19 | 2014-04-22 | Microsoft Corporation | Selecting security offerings |
US8769523B2 (en) * | 2009-01-12 | 2014-07-01 | Thomson Licensing | Systems and methods for interrupting upgrades of content distribution systems |
US20100180104A1 (en) * | 2009-01-15 | 2010-07-15 | Via Technologies, Inc. | Apparatus and method for patching microcode in a microprocessor using private ram of the microprocessor |
US9519517B2 (en) * | 2009-02-13 | 2016-12-13 | Schneider Electtic It Corporation | Data center control |
US9778718B2 (en) | 2009-02-13 | 2017-10-03 | Schneider Electric It Corporation | Power supply and data center control |
US8560677B2 (en) * | 2009-02-13 | 2013-10-15 | Schneider Electric It Corporation | Data center control |
US8418150B2 (en) * | 2009-04-03 | 2013-04-09 | Oracle International Corporation | Estimating impact of configuration changes |
US8214290B1 (en) | 2009-04-30 | 2012-07-03 | Bank Of America Corporation | Self-service terminal reporting |
US8528037B2 (en) * | 2009-08-28 | 2013-09-03 | CSC Holdings, LLC | Dynamic application loader for set top box |
JP2011055248A (ja) * | 2009-09-02 | 2011-03-17 | Fuji Xerox Co Ltd | ソフトウエアの更新・追加管理装置、ソフトウエアの更新・追加管理プログラム及び複合機 |
CN102014530A (zh) * | 2009-09-04 | 2011-04-13 | 中兴通讯股份有限公司 | 一种配置更新失败后的处理方法和网元设备 |
US8997077B1 (en) * | 2009-09-11 | 2015-03-31 | Symantec Corporation | Systems and methods for remediating a defective uninstaller during an upgrade procedure of a product |
US8347048B2 (en) | 2009-10-30 | 2013-01-01 | Ca, Inc. | Self learning backup and recovery management system |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8296756B1 (en) * | 2009-11-06 | 2012-10-23 | Southern Company Services, Inc. | Patch cycle master records management and server maintenance system |
US10263827B2 (en) * | 2009-12-31 | 2019-04-16 | Schneider Electric USA, Inc. | Information bridge between manufacturer server and monitoring device on a customer network |
US8438270B2 (en) | 2010-01-26 | 2013-05-07 | Tenable Network Security, Inc. | System and method for correlating network identities and addresses |
US8302198B2 (en) | 2010-01-28 | 2012-10-30 | Tenable Network Security, Inc. | System and method for enabling remote registry service security audits |
US8316120B2 (en) * | 2010-02-02 | 2012-11-20 | Microsoft Corporation | Applicability detection using third party target state |
US8204860B1 (en) | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US9098365B2 (en) * | 2010-03-16 | 2015-08-04 | Salesforce.Com, Inc. | System, method and computer program product for conditionally enabling an installation aspect |
US8707440B2 (en) * | 2010-03-22 | 2014-04-22 | Tenable Network Security, Inc. | System and method for passively identifying encrypted and interactive network sessions |
US8549650B2 (en) | 2010-05-06 | 2013-10-01 | Tenable Network Security, Inc. | System and method for three-dimensional visualization of vulnerability and asset data |
US8407795B2 (en) | 2010-05-18 | 2013-03-26 | Ca, Inc. | Systems and methods to secure backup images from viruses |
US8843444B2 (en) * | 2010-05-18 | 2014-09-23 | Ca, Inc. | Systems and methods to determine security holes of a backup image |
CN101882094A (zh) * | 2010-06-10 | 2010-11-10 | 中兴通讯股份有限公司 | 嵌入式系统制作补丁的方法和系统 |
US8898658B2 (en) * | 2010-06-29 | 2014-11-25 | Cisco Technology, Inc. | Dynamic web resource provisioning |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
FR2964812B1 (fr) * | 2010-09-09 | 2013-04-12 | Mobilegov France | Procede d'authentification pour l'acces a un site web |
JP5791426B2 (ja) * | 2010-09-21 | 2015-10-07 | キヤノン株式会社 | 情報提供装置および情報処理装置および制御方法およびプログラム |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US9753713B2 (en) * | 2010-10-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Coordinated upgrades in distributed systems |
CN106407044B (zh) * | 2010-12-14 | 2019-09-24 | 株式会社日立制作所 | 信息处理系统中的故障恢复方法和信息处理系统 |
US8825451B2 (en) | 2010-12-16 | 2014-09-02 | Schneider Electric It Corporation | System and methods for rack cooling analysis |
US9063819B2 (en) * | 2011-01-02 | 2015-06-23 | Cisco Technology, Inc. | Extensible patch management |
KR101760778B1 (ko) * | 2011-01-17 | 2017-07-26 | 에스프린팅솔루션 주식회사 | 컴퓨터시스템 및 그 프로그램 업데이트 방법 |
US8593971B1 (en) | 2011-01-25 | 2013-11-26 | Bank Of America Corporation | ATM network response diagnostic snapshot |
US9058233B1 (en) * | 2011-03-30 | 2015-06-16 | Amazon Technologies, Inc. | Multi-phase software delivery |
US8776234B2 (en) * | 2011-04-20 | 2014-07-08 | Kaspersky Lab, Zao | System and method for dynamic generation of anti-virus databases |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US8667293B2 (en) * | 2011-08-11 | 2014-03-04 | Roche Diagnostics Operations, Inc. | Cryptographic data distribution and revocation for handheld medical devices |
US20130067448A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Application deployment |
KR20130028478A (ko) * | 2011-09-09 | 2013-03-19 | 삼성전자주식회사 | 관리 서버, 호스트 장치, 및 어플리케이션 관리 방법 |
US8490054B2 (en) | 2011-09-23 | 2013-07-16 | The United States Of America As Represented By The Secretary Of The Army | Software and related software tracking during software modification |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
US9137651B2 (en) * | 2011-11-22 | 2015-09-15 | International Business Machines Corporation | Systems and methods for determining relationships between mobile applications and electronic device users |
US8606892B2 (en) * | 2011-11-28 | 2013-12-10 | Wyse Technology Inc. | Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file |
AU2011383606A1 (en) | 2011-12-22 | 2014-07-17 | Schneider Electric It Corporation | System and method for prediction of temperature values in an electronics system |
AU2011384046A1 (en) | 2011-12-22 | 2014-07-17 | Schneider Electric It Corporation | Analysis of effect of transient events on temperature in a data center |
US8893116B2 (en) | 2012-01-15 | 2014-11-18 | Microsoft Corporation | Installation engine and package format for parallelizable, reliable installations |
US8746551B2 (en) | 2012-02-14 | 2014-06-10 | Bank Of America Corporation | Predictive fault resolution |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US8887149B2 (en) | 2012-02-21 | 2014-11-11 | Microsoft Corporation | Time shift configuration management for software product installation |
EP2817725B1 (en) * | 2012-02-21 | 2020-02-19 | Hewlett-Packard Enterprise Development LP | Maintaining system firmware images remotely using a distribute file system protocol |
US9367707B2 (en) | 2012-02-23 | 2016-06-14 | Tenable Network Security, Inc. | System and method for using file hashes to track data leakage and document propagation in a network |
TWI462017B (zh) * | 2012-02-24 | 2014-11-21 | Wistron Corp | 伺服器部署系統及資料更新的方法 |
US9661002B2 (en) * | 2012-03-14 | 2017-05-23 | Daniel Kaminsky | Method for user authentication using DNSSEC |
JP5921292B2 (ja) * | 2012-04-03 | 2016-05-24 | キヤノン株式会社 | 情報処理装置、制御方法、およびプログラム |
US9262149B2 (en) * | 2012-04-12 | 2016-02-16 | International Business Machines Corporation | Managing incrementally applied system updates |
US8972792B2 (en) | 2012-04-19 | 2015-03-03 | Blackberry Limited | Methods, apparatus, and systems for electronic device recovery |
US20130298229A1 (en) * | 2012-05-03 | 2013-11-07 | Bank Of America Corporation | Enterprise security manager remediator |
JP6140937B2 (ja) * | 2012-05-23 | 2017-06-07 | キヤノン株式会社 | ネットワークデバイス、プログラム、システムおよび方法 |
US9110754B2 (en) * | 2012-05-31 | 2015-08-18 | Microsoft Technology Licensing, Llc | Computing device update control |
US8769526B2 (en) * | 2012-06-19 | 2014-07-01 | Google Inc. | Automatic application updates |
US9043920B2 (en) | 2012-06-27 | 2015-05-26 | Tenable Network Security, Inc. | System and method for identifying exploitable weak points in a network |
JP2014013457A (ja) * | 2012-07-03 | 2014-01-23 | Fujitsu Ltd | パッチ判定プログラム、パッチ判定方法および情報処理装置 |
US9088606B2 (en) | 2012-07-05 | 2015-07-21 | Tenable Network Security, Inc. | System and method for strategic anti-malware monitoring |
US9313040B2 (en) | 2012-08-04 | 2016-04-12 | Steelcloud, Llc | Verification of computer system prior to and subsequent to computer program installation |
RU2495487C1 (ru) * | 2012-08-10 | 2013-10-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ для определения доверия при обновлении разрешенного программного обеспечения |
US20140059534A1 (en) * | 2012-08-22 | 2014-02-27 | General Electric Company | Method and system for software management |
US11150885B2 (en) | 2012-08-22 | 2021-10-19 | Transportation Ip Holdings, Llc | Method and system for vehicle software management |
GB2505644A (en) * | 2012-09-05 | 2014-03-12 | Ibm | Managing network configurations |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US9235409B1 (en) * | 2012-10-30 | 2016-01-12 | Amazon Technologies, Inc. | Deployment version management |
US9513895B2 (en) * | 2012-10-31 | 2016-12-06 | Oracle International Corporation | Method and system for patch automation for management servers |
US9081964B2 (en) | 2012-12-27 | 2015-07-14 | General Electric Company | Firmware upgrade error detection and automatic rollback |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US9467464B2 (en) | 2013-03-15 | 2016-10-11 | Tenable Network Security, Inc. | System and method for correlating log data to discover network vulnerabilities and assets |
US9672023B2 (en) * | 2013-03-15 | 2017-06-06 | Apple Inc. | Providing a unified update center for security software updates and application software updates |
US9727326B2 (en) | 2013-03-15 | 2017-08-08 | Apple Inc. | Providing customized notifications for security software updates |
US9639342B2 (en) * | 2013-05-01 | 2017-05-02 | Starkey Laboratories, Inc. | Unobtrusive firmware updates for hearing assistance devices |
US9058504B1 (en) * | 2013-05-21 | 2015-06-16 | Malwarebytes Corporation | Anti-malware digital-signature verification |
FR3006480B1 (fr) * | 2013-06-03 | 2015-06-05 | Bull Sas | Procede de controle de versions de logiciels installes sur des machines interconnectees |
US20140364970A1 (en) * | 2013-06-07 | 2014-12-11 | General Electric Company | System and method for application development and deployment |
US9052978B2 (en) * | 2013-07-24 | 2015-06-09 | Oracle International Corporation | Applying hot fixes for metadata customizing user interactions based on a software program deployed in multiple versions |
US9298923B2 (en) * | 2013-09-04 | 2016-03-29 | Cisco Technology, Inc. | Software revocation infrastructure |
CN104679534B (zh) * | 2013-11-28 | 2019-11-19 | 南京中兴软件有限责任公司 | 系统应用安装包加载处理方法、装置及终端 |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
WO2016058133A1 (zh) * | 2014-10-14 | 2016-04-21 | 华为技术有限公司 | 软件升级方法及设备 |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US9417866B2 (en) * | 2014-12-03 | 2016-08-16 | Verizon Patent And Licensing Inc. | Identification and isolation of incompatible applications during a platform update |
KR101630372B1 (ko) * | 2015-01-15 | 2016-06-14 | 주식회사 아이디스 | 영상보안장비의 펌웨어 업데이트 시스템 |
US9529580B2 (en) * | 2015-01-21 | 2016-12-27 | Ford Global Technologies, Llc | Vehicle control update methods and systems |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10719608B2 (en) * | 2015-02-06 | 2020-07-21 | Honeywell International Inc. | Patch monitoring and analysis |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
DE102015112511A1 (de) * | 2015-07-30 | 2017-02-02 | Rheinmetall Defence Electronics Gmbh | Verfahren und Vorrichtung zur Softwareverteilung von Software auf eine Mehrzahl von Systemen |
US9965261B2 (en) * | 2015-08-18 | 2018-05-08 | International Business Machines Corporation | Dependency-based container deployment |
US9767318B1 (en) * | 2015-08-28 | 2017-09-19 | Frank Dropps | Secure controller systems and associated methods thereof |
US9626177B1 (en) * | 2015-09-11 | 2017-04-18 | Cohesity, Inc. | Peer to peer upgrade management |
US9946533B2 (en) | 2015-09-30 | 2018-04-17 | Apple Inc. | Software updating |
US20170168797A1 (en) * | 2015-12-09 | 2017-06-15 | Microsoft Technology Licensing, Llc | Model-driven updates distributed to changing topologies |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
JP2017151523A (ja) * | 2016-02-22 | 2017-08-31 | 富士通株式会社 | ソフトウェア自動収集プログラム、装置、及び方法 |
US20170300317A1 (en) * | 2016-03-24 | 2017-10-19 | Knight Point Systems, Inc. | System and method for patching software in a target computer system device |
US10360021B2 (en) * | 2016-08-19 | 2019-07-23 | Veniam, Inc. | Systems and methods for reliable software update in a network of moving things including, for example, autonomous vehicles |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
CN106775841B (zh) * | 2016-11-29 | 2021-02-19 | 深圳广电银通金融电子科技有限公司 | 插件升级的方法、系统及装置 |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US20190121631A1 (en) * | 2017-10-19 | 2019-04-25 | Vmware, Inc. | Deployment of applications to managed devices |
WO2019087858A1 (ja) * | 2017-10-30 | 2019-05-09 | 日本電信電話株式会社 | 攻撃通信検出装置、攻撃通信検出方法、プログラム |
US11824895B2 (en) | 2017-12-27 | 2023-11-21 | Steelcloud, LLC. | System for processing content in scan and remediation processing |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US11169815B2 (en) * | 2018-01-16 | 2021-11-09 | Bby Solutions, Inc. | Method and system for automation tool set for server maintenance actions |
TWI699645B (zh) * | 2018-02-13 | 2020-07-21 | 致伸科技股份有限公司 | 檢測作業網路架構與應用於其上的資訊管控方法 |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US11055087B2 (en) | 2018-03-16 | 2021-07-06 | Google Llc | Leveraging previously installed application elements to install an application |
WO2019183806A1 (zh) * | 2018-03-27 | 2019-10-03 | 华为技术有限公司 | 资源权限处理方法、装置、存储介质及芯片 |
US10698677B2 (en) * | 2018-05-04 | 2020-06-30 | EMC IP Holding Company LLC | Method and system for lifecycle management optimization |
US11860758B2 (en) | 2018-05-07 | 2024-01-02 | Google Llc | System for adjusting application performance based on platform level benchmarking |
US10656930B2 (en) * | 2018-09-12 | 2020-05-19 | Microsoft Technology Licensing, Llc | Dynamic deployment target control |
US10990385B1 (en) * | 2018-12-12 | 2021-04-27 | Amazon Technologies, Inc. | Streaming configuration management |
CN109739519A (zh) * | 2018-12-26 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 移动终端及其预置应用程序的卸载方法、存储器 |
US11544050B1 (en) * | 2019-07-18 | 2023-01-03 | Amazon Technologies, Inc. | Software patch automation |
EP4028917A4 (en) | 2019-09-09 | 2023-09-27 | Reliaquest Holdings, LLC | THREAT MITIGATION SYSTEM AND METHOD |
US10911304B1 (en) * | 2019-09-18 | 2021-02-02 | Cisco Technology, Inc. | Client-server transaction protocol for compatibility verification |
CN110659052B (zh) * | 2019-09-30 | 2023-03-10 | 深圳市九洲电器有限公司 | 网络设备中系统软件的更新方法、系统及可读存储介质 |
CN113678102A (zh) * | 2019-10-31 | 2021-11-19 | 谷歌有限责任公司 | 用于更新计算设备上的应用的存储器高效软件打补丁 |
US11249743B2 (en) * | 2019-11-15 | 2022-02-15 | International Business Machines Corporation | Data analytics to determine software maintenance advisory using input data |
US11296928B2 (en) * | 2020-03-03 | 2022-04-05 | Level 3 Communications, Llc | Containing a faulty stimulus in a content delivery network |
US11307842B2 (en) * | 2020-04-07 | 2022-04-19 | Vmware, Inc. | Method and system for virtual agent upgrade using upgrade proxy service |
RU204738U9 (ru) * | 2020-09-16 | 2021-07-28 | Федеральное государственное унитарное предприятие "Ростовский-на-Дону научно-исследовательский институт радиосвязи" (ФГУП "РНИИРС") | Автоматизированное рабочее место оператора мобильных информационных комплексов |
KR102288444B1 (ko) * | 2020-09-18 | 2021-08-11 | 스티븐 상근 오 | 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램 |
EP4033423A1 (en) * | 2021-01-22 | 2022-07-27 | Atos IT Services UK Limited | Tracker for classifying information and a planning system |
US11886860B2 (en) | 2021-09-27 | 2024-01-30 | Red Hat, Inc. | Distribution of digital content to vehicles |
US20230106414A1 (en) * | 2021-10-06 | 2023-04-06 | Vmware, Inc. | Managing updates to hosts in a computing environment based on fault domain host groups |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
US4954941A (en) * | 1988-08-31 | 1990-09-04 | Bell Communications Research, Inc. | Method and apparatus for program updating |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
CA2053261A1 (en) * | 1989-04-28 | 1990-10-29 | Gary D. Hornbuckle | Method and apparatus for remotely controlling and monitoring the use of computer software |
US5805897A (en) * | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
GB2272085A (en) * | 1992-10-30 | 1994-05-04 | Tao Systems Ltd | Data processing system and operating system. |
WO1994025913A2 (en) * | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
US5860012A (en) * | 1993-09-30 | 1999-01-12 | Intel Corporation | Installation of application software through a network from a source computer system on to a target computer system |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US5564038A (en) * | 1994-05-20 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
US6282712B1 (en) * | 1995-03-10 | 2001-08-28 | Microsoft Corporation | Automatic software installation on heterogeneous networked computer systems |
US5742829A (en) * | 1995-03-10 | 1998-04-21 | Microsoft Corporation | Automatic software installation on heterogeneous networked client computer systems |
US5699275A (en) * | 1995-04-12 | 1997-12-16 | Highwaymaster Communications, Inc. | System and method for remote patching of operating code located in a mobile unit |
US6078945A (en) * | 1995-06-21 | 2000-06-20 | Tao Group Limited | Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques |
AUPN479695A0 (en) * | 1995-08-16 | 1995-09-07 | Telstra Corporation Limited | A network analysis system |
US5852812A (en) * | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
KR100286008B1 (ko) * | 1995-12-30 | 2001-04-16 | 윤종용 | 소프트웨어 프로그램 자동 갱신방법 |
US6161218A (en) * | 1996-01-16 | 2000-12-12 | Sun Microsystems Inc. | Software patch architecture |
US5764913A (en) * | 1996-04-05 | 1998-06-09 | Microsoft Corporation | Computer network status monitoring system |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5933646A (en) * | 1996-05-10 | 1999-08-03 | Apple Computer, Inc. | Software manager for administration of a computer operating system |
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US6052710A (en) * | 1996-06-28 | 2000-04-18 | Microsoft Corporation | System and method for making function calls over a distributed network |
US5799002A (en) * | 1996-07-02 | 1998-08-25 | Microsoft Corporation | Adaptive bandwidth throttling for network services |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5991802A (en) * | 1996-11-27 | 1999-11-23 | Microsoft Corporation | Method and system for invoking methods of objects over the internet |
US5794254A (en) * | 1996-12-03 | 1998-08-11 | Fairbanks Systems Group | Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets |
US6061740A (en) * | 1996-12-09 | 2000-05-09 | Novell, Inc. | Method and apparatus for heterogeneous network management |
US6029247A (en) * | 1996-12-09 | 2000-02-22 | Novell, Inc. | Method and apparatus for transmitting secured data |
US5854794A (en) * | 1996-12-16 | 1998-12-29 | Ag Communication Systems Corporation | Digital transmission framing system |
US5933647A (en) * | 1997-01-24 | 1999-08-03 | Cognet Corporation | System and method for software distribution and desktop management in a computer network environment |
US5933826A (en) * | 1997-03-21 | 1999-08-03 | Novell, Inc. | Method and apparatus for securing and storing executable content |
US6219675B1 (en) * | 1997-06-05 | 2001-04-17 | Microsoft Corporation | Distribution of a centralized database |
US6016499A (en) * | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
US6006329A (en) * | 1997-08-11 | 1999-12-21 | Symantec Corporation | Detection of computer viruses spanning multiple data streams |
US6282709B1 (en) * | 1997-11-12 | 2001-08-28 | Philips Electronics North America Corporation | Software update manager |
US5974454A (en) * | 1997-11-14 | 1999-10-26 | Microsoft Corporation | Method and system for installing and updating program module components |
US6151708A (en) * | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6094679A (en) * | 1998-01-16 | 2000-07-25 | Microsoft Corporation | Distribution of software in a computer network environment |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
GB2333864B (en) * | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US6108649A (en) * | 1998-03-03 | 2000-08-22 | Novell, Inc. | Method and system for supplanting a first name base with a second name base |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US6279156B1 (en) * | 1999-01-26 | 2001-08-21 | Dell Usa, L.P. | Method of installing software on and/or testing a computer system |
US6282175B1 (en) * | 1998-04-23 | 2001-08-28 | Hewlett-Packard Company | Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network. |
US6216175B1 (en) * | 1998-06-08 | 2001-04-10 | Microsoft Corporation | Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations |
US6272677B1 (en) * | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and system for automatic detection and distribution of code version updates |
US6263362B1 (en) * | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6138157A (en) * | 1998-10-12 | 2000-10-24 | Freshwater Software, Inc. | Method and apparatus for testing web sites |
US6289378B1 (en) * | 1998-10-20 | 2001-09-11 | Triactive Technologies, L.L.C. | Web browser remote computer management system |
EP1008754B1 (en) * | 1998-12-11 | 2004-03-10 | Dana Automotive Limited | Positive displacement pump systems |
US6157618A (en) * | 1999-01-26 | 2000-12-05 | Microsoft Corporation | Distributed internet user experience monitoring system |
US6721713B1 (en) * | 1999-05-27 | 2004-04-13 | Andersen Consulting Llp | Business alliance identification in a web architecture framework |
US6281790B1 (en) * | 1999-09-01 | 2001-08-28 | Net Talon Security Systems, Inc. | Method and apparatus for remotely monitoring a site |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
US20020032768A1 (en) * | 2000-04-10 | 2002-03-14 | Voskuil Erik K. | Method and system for configuring remotely located applications |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20020174422A1 (en) * | 2000-09-28 | 2002-11-21 | The Regents Of The University Of California | Software distribution system |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US6763517B2 (en) * | 2001-02-12 | 2004-07-13 | Sun Microsystems, Inc. | Automated analysis of kernel and user core files including searching, ranking, and recommending patch files |
US20020116665A1 (en) * | 2001-02-16 | 2002-08-22 | Pickover Clifford A. | Method and apparatus for supporting software |
US20040205709A1 (en) * | 2001-05-09 | 2004-10-14 | Sun Microsystems, Inc. | Method,system, and program for providing patch expressions used in determining whether to install a patch |
US6950847B2 (en) * | 2001-07-12 | 2005-09-27 | Sun Microsystems, Inc. | Service provider system for delivering services in a distributed computing environment |
US6879979B2 (en) * | 2001-08-24 | 2005-04-12 | Bigfix, Inc. | Method to remotely query, safely measure, and securely communicate configuration information of a networked computational device |
US20040064722A1 (en) * | 2002-10-01 | 2004-04-01 | Dinesh Neelay | System and method for propagating patches to address vulnerabilities in computers |
CA2465151A1 (en) * | 2003-04-16 | 2004-10-16 | Novadigm, Inc. | Method and system for patch management |
US7506149B2 (en) * | 2004-08-27 | 2009-03-17 | Intel Corporation | Method, program and system to update files in a computer system |
-
2003
- 2003-03-20 US US10/394,447 patent/US20040003266A1/en not_active Abandoned
-
2004
- 2004-03-02 CA CA002517223A patent/CA2517223A1/en not_active Abandoned
- 2004-03-02 AU AU2004222883A patent/AU2004222883A1/en not_active Abandoned
- 2004-03-02 MX MXPA05009990A patent/MXPA05009990A/es unknown
- 2004-03-02 EP EP04716490A patent/EP1611509A4/en not_active Withdrawn
- 2004-03-02 KR KR1020057017302A patent/KR20050120643A/ko not_active Application Discontinuation
- 2004-03-02 JP JP2006508993A patent/JP2006520975A/ja not_active Withdrawn
- 2004-03-02 BR BRPI0408425-0A patent/BRPI0408425A/pt not_active Application Discontinuation
- 2004-03-02 EA EA200501486A patent/EA200501486A1/ru unknown
- 2004-03-02 CN CNA2004800074851A patent/CN1894661A/zh active Pending
- 2004-03-02 WO PCT/US2004/006328 patent/WO2004086168A2/en active Search and Examination
-
2005
- 2005-08-25 ZA ZA200506830A patent/ZA200506830B/xx unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8544099B2 (en) | 2004-10-04 | 2013-09-24 | Promisec Ltd. | Method and device for questioning a plurality of computerized devices |
US8566939B2 (en) | 2004-10-04 | 2013-10-22 | Promisec Ltd. | Method and device for scanning a plurality of computerized devices connected to a network |
JP2008293258A (ja) * | 2007-05-24 | 2008-12-04 | Hitachi Omron Terminal Solutions Corp | リモートメンテナンスシステム |
JP2010026835A (ja) * | 2008-07-22 | 2010-02-04 | Hitachi Information Systems Ltd | ブログラム配布処理システムと方法およびプログラム |
JP2010152749A (ja) * | 2008-12-25 | 2010-07-08 | Fujitsu Ltd | 資源配付システム |
JP2012212380A (ja) * | 2011-03-31 | 2012-11-01 | Internatl Business Mach Corp <Ibm> | ソフトウエア更新を適用した情報処理装置を検査するシステム |
JP2014021667A (ja) * | 2012-07-17 | 2014-02-03 | Disco Abrasive Syst Ltd | 加工装置の管理方法 |
JP2020140476A (ja) * | 2019-02-28 | 2020-09-03 | 富士通クライアントコンピューティング株式会社 | 情報処理装置及び情報処理システム |
WO2023026607A1 (ja) * | 2021-08-26 | 2023-03-02 | 株式会社日立製作所 | 情報配信処理の制御方法、計算機システム、および計算機 |
Also Published As
Publication number | Publication date |
---|---|
ZA200506830B (en) | 2007-04-25 |
BRPI0408425A (pt) | 2006-04-04 |
WO2004086168A3 (en) | 2005-06-02 |
US20040003266A1 (en) | 2004-01-01 |
EP1611509A4 (en) | 2008-07-02 |
CA2517223A1 (en) | 2004-10-07 |
CN1894661A (zh) | 2007-01-10 |
AU2004222883A1 (en) | 2004-10-07 |
KR20050120643A (ko) | 2005-12-22 |
EA200501486A1 (ru) | 2006-04-28 |
WO2004086168A2 (en) | 2004-10-07 |
MXPA05009990A (es) | 2006-02-17 |
EP1611509A2 (en) | 2006-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006520975A (ja) | 非侵入な自動オフサイト・パッチ・フィンガプリンティングおよびアップデーティングシステム、および方法 | |
US7823147B2 (en) | Non-invasive automatic offsite patch fingerprinting and updating system and method | |
JP6130460B2 (ja) | ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法 | |
JP5833725B2 (ja) | 関係データ管理のための制御サービス | |
KR101278743B1 (ko) | 서버 팜에서의 솔루션 배치 | |
US9037642B2 (en) | Platform for deployment and distribution of modules to endpoints | |
US9727352B2 (en) | Utilizing history of changes associated with software packages to manage computing systems | |
US9684561B1 (en) | Smart assistant for backing up data | |
US8607339B2 (en) | Systems and methods for improved identification and analysis of threats to a computing system | |
US20020174422A1 (en) | Software distribution system | |
US20070028303A1 (en) | Content tracking in a network security system | |
US20070234331A1 (en) | Targeted automatic patch retrieval | |
US7454791B1 (en) | Method and system for checking the security on a distributed computing environment | |
US20230281087A1 (en) | Systems and methods for directory service backup and recovery | |
Cisco | Release Notes for Cisco Element Management Framework v3.1 | |
Bartoletti et al. | Secure software distribution system | |
Ravi Kumar et al. | Troubleshooting and Conducting Health Checks for High Availability | |
Barhorst et al. | Centralised patch management | |
Hosmer et al. | Feasibility of Software Patch Verification | |
Guide | Unicenter® Desktop and Server Management | |
Taylor | Windows Server Update Services 3.0 SP2 Operations Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060607 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |