説明

クライアント−サーバ間データ実行フロー

システムは、最近の安全性のアップグレード、最新の処置、及びサービスパックに関して、様々な報告サービス、及びアプリケーション製造業者のウェブサイトを詳しく調べることができる。システムは、その場合に、これらのパッチを検索すると共に、企業のネットワーク内の全てのコンピュータに、これらのパッチを自動的に適用することができる。サーバ、及び/またはクライアントは、ウェブモジュール、メインモジュール、及びパッチモジュールをそれぞれ動かすことができる。それらのモジュールは、相互に対話すると共に、傾聴−処理−応答(listen-process-respond)手続きにより、ユーザインタフェース、及び/またはデータベースと対話することができる。これは、パッチ最新情報を要求する利用者と、それ自身でパッチを供給するサーバとの間の効果的な通信を保証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア更新の分野に関するものである。更に明確には、本発明は、分散アプリケーション内のモジュールに使用されるクライアント−サーバ間データ実行フローに関するものである。
【背景技術】
【0002】
本出願は、“Anthony F. Gigliotti”及び“Ryan Riley”によって、2004年1月22日に出願された“Distributed Policy Driven Software Delivery”と名づけられた、同時係属の米国特許出願シリアル番号10/763,814号と関係がある。
【0003】
コンピュータウイルス、及び他の技術を経由したインターネット攻撃の増加は、多くの会社に対する深刻な財政上の損害を引き起こした。現在のウイルス対策ソフトは、“攻撃的な”コード(例えば、既知のウイルス)のリストと対照して、入って来るファイルを比較することによって動作する。もしファイルがこれらの攻撃的なコードの内の1つのようであるならば、それは削除されると共に、システムは保護される。しかしながら、現代のウイルス攻撃に関して、このアプローチに関するいくつかの重大な問題がある。
【0004】
第1に、もしそのウイルスが新しいと共に、既知のウイルスのリストに存在しない場合、アンチ−ウイルス解決策は、それがウイルスであると識別しないと共に、従ってアンチ−ウイルス解決策は、ウイルスが広がることを防止できないことになる。第2に、“code red”、及び“SQL slammer”のような現代のワーム(worm)は、大部分のウイルス保護システムによって保護された伝送方法の内のいずれにも依存しない。これらの新しいらせん構造のウイルスは、コンピュータによりその動作を実行するために使用されるソフトウェアの欠陥を利用することによって、直接コンピュータシステムを攻撃するように設計されている。それらのウイルスは、従って、ウイルス対策ソフトに介入されずに、企業のネットワーク、及びレプリカント(replicant)を破壊して中に侵入することができる。
【0005】
ウイルス対策ソフトが現代のネットワークを保護することを阻止する別の重要な原因は、現代のウイルスの複製、及び伝播の速度である。何年も前には、ウイルスが米国を横断して広まるのに数年を必要としていたのに対して、現代のウイルスは、ほんの数分の間に全世界を横断して広がることができる。
【0006】
現代のウイルス問題の本質は、システム管理、及び保守に存在する。全てのネットワークアプリケーションは、あるレベルの攻撃に弱いが、しかし、ソフトウェア製造業者は、それらがウイルス製作者によって利用され得る前に、これらのエラーを解決すると共に、問題に対する処置を公開するために、勤勉に働く。実際、大抵の場合、アプリケーション製造業者は、ウイルスが公開される前でさえ、ウイルスがこれらのセキュリティホールを利用することを阻止したであろうアプリケーションに対する処置を公開した。不幸にも、現代のネットワークの複雑さのために、大部分のシステムアドミニストレータは、ネットワークにおける全てのコンピュータに関するソフトウェア製造業者から公開された安全性のパッチ、及び最新の処置の増加数にペースをあわせることができない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
必要とされるのは、ネットワークアプリケーションのセキュリティホールを確認して、管理する処理を自動化する解決策である。同様に、必要とされるのは、解決策の分散された部分が効果的な方法で相互に通信することを可能にするメカニズムである。
【課題を解決するための手段】
【0008】
システムは、最近の安全性のアップグレード、最新の処置、及びサービスパックに関して、様々な報告サービス、及びアプリケーション製造業者のウェブサイトを詳しく調べることができる。システムは、その場合に、これらのパッチを検索すると共に、企業のネットワーク内の全てのコンピュータに、これらのパッチを自動的に適用することができる。サーバ、及び/またはクライアントは、ウェブモジュール、メインモジュール、及びパッチモジュールをそれぞれ動かすことができる。それらのモジュールは、相互に対話すると共に、傾聴−処理−応答(listen-process-respond)手続きにより、ユーザインタフェース、及び/またはデータベースと対話することができる。これは、パッチ最新情報を要求する利用者と、それ自身でパッチを供給するサーバとの間の効果的な通信を保証する。
【発明を実施するための最良の形態】
【0009】
この明細書に組み込まれると共に、この明細書の一部分を構成する添付図面は、詳細な説明と一緒に本発明の1つ以上の実施例を例証すると共に、本発明の原理、及び実施を説明するのに役立つ。
【0010】
本発明の実施例は、コンピュータ、サーバ、及びソフトウェアのシステムとの関連において、ここに示される。当業者は、本発明の以下の詳細な説明が実例となるだけで、何らかの方法で制限することを意図していない、ということを認識することになる。本発明の他の実施例は、この開示の利益を得るそのような当業者に容易に連想されるであろう。ここで、添付図面で例証された本発明の実施が詳細に参照されることになる。同一、もしくは同等の部分のことを指すために、同一の参照符号が、図面、及び以下の詳細な説明の至る所で使用される。
【0011】
明瞭にするために、ここに示された実施における慣例となっている特徴の全てが、示されると共に説明されるとは限らない。もちろん、あらゆるそのような現実の実施の発展において、アプリケーション関連の制限及びビジネス関連の制限の順守のような開発者の特定の目標を達成するために、多数の実施に特有の判定(implementation-specific decisions)が実行されなければならないと共に、これらの特定の目標は、1つの実施から別の実施まで、そして、1人の開発者から別の開発者までで異なるであろうということが認識されることになる。更に、そのような開発努力が複雑で、時間がかかりすぎる(time-consuming)かもしれないけれども、しかし、それでもなおこの開示の利益を得る当業者にとっては工業技術の規定通りの仕事(routine undertaking of engineering)であろうということが認識されることになる。
【0012】
本発明に基づいて、構成要素、処理段階、及び/またはデータ構造は、様々な種類のオペレーティングシステム、計算プラットフォーム、コンピュータプログラム、及び/または汎用機械を用いて実行されることができる。更に、当業者は、例えばハードウェアで構成された装置、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等のような、あまり多目的でない性質の装置が、ここに開示された発明概念の範囲、及び精神からはずれずに、同様に使用されることができるということを、認識することになる。
【0013】
本発明の実施例において、システムは、最近の安全性のアップグレード、最新の処置、及びサービスパックに関して、様々な報告サービス、及びアプリケーション製造業者のウェブサイトを詳しく調べることができる。システムは、その場合に、これらのパッチを検索すると共に、企業のネットワーク内の全てのコンピュータに、これらのパッチを自動的に適用することができる。ウイルスがそれらの弱さを利用することができる前にシステムを予防接種することによって、会社は、多数の現代のウイルスがそれらのネットワークに侵入することを阻止すると共に、それらの企業損失を減少させ得る。更に、十分な量のネットワーク、及びシステムアドミニストレータ時間が、現在は、安全性の処置を記録し、これらのパッチをダウンロードし、そして企業のネットワークを横断してそれらを適用するために利用されるので、この解決策の実施は、金及び資源を節約する。
【0014】
予防接種サーバ(Inoculation Server:IS)は、様々な安全性のウェブサイトに交信し、どのような脆弱性が解決される必要があるかを判定し、安全性のパッチをダウンロードし、そしてそれらを組織における全てのコンピュータに適用するために利用される。ISプラットフォームは、非常に拡張可能で、分散された解決策であり得る。システムにおけるクライアントは、ISが安全性、及び他のアプリケーション最新情報を遠く離れて分配することを可能にする、クライアント側アプリケーションをインストールされたあらゆるシステムと定義されることができる。安全性のウェブサイトは、インターネットセキュリティ同盟(Internet Security Alliance:ISA)、販売者ウェブサイト、及び“ZDNET”のようなメディア技術ウェブサイト等のように非営利団体を含むことができる。
【0015】
図1は、本発明の実施例による予防接種(Inoculation)サーバプラットフォームを例証する図である。ユーザインタフェース100は、ISプラットフォームの全ての他の特徴を設定して管理するだけでなく、安全性の最新情報、クライアントアプリケーション、分配特性、クライアント配置及び状態の報告を管理するために提供されることができる。在庫管理エンジン102は、全体最新情報リポジトリ(Global Update Repository:GUR)と関係してアプリケーション最新情報を詳しく調べると共に、クライアント状態報告を通じてそれらをクライアントと比較するために使用されることができる。
【0016】
GURは、全てのインストールされた予防接種サーバに供給されるべき全てのオペレーティングシステム、及びソフトウェアパッケージに関する全ての最新情報を管理する中央集権化されたリポジトリである。外部の更新情報を利用して、検索して、保存するために、標準のインターネットサーバ、及び基本的なウェブスパイダー(web spider)を利用することができる。本発明の実施例において、GURは、“.NET及びSQLデータベース”と共に、1つ以上のウィンドウズ(登録商標)2000サーバを含むことができる。GURの構成要素は、GURの中で利用可能な外部パッケージ最新情報について管理及び報告するために、ユーザインタフェースを備えることができる。このインタフェースは、ユーザがアカウントを作成することを可能にすると共に、手作業で、最新情報パッケージを見て、ダウンロードすることを可能にする。最新情報が利用可能であるとき、それらのユーザは、同様に、電子メールを経由する通知を要求することができる。GURの構成要素は、同様に、サポートされたソフトウェアに対する新しい最新情報に関する利用可能なオンライン資源を詳しく調べることができるGURスパイダ(GUR spider)と、新しいソフトウェア及びOS最新情報パッケージの有効性をISに登録するために、拡張マークアップ言語(XML)によって通信できるIS接続エンジンを備えることができる。GURとISとの間の通信は、“HTTP GET”命令、もしくは“POST”命令を通じて実行されることができる。新しい外部更新情報は、XML文書によって実行されることができる。図2は、本発明の実施例による新しい外部更新情報を含むXML文書の例を例証する図である。
【0017】
GURデータベースは、分配に利用可能なユーザアカウント、及び外部最新情報パッケージを管理するために使用されるいくつかのデータベーステーブルを含むことができる。アカウントの種類及び状態だけでなく、ユーザテーブルは、基本的なログイン及び交信情報、アカウントの追跡情報、及び履歴情報を含むことができる。図3は、本発明の実施例による外部最新情報パッケージテーブルの概要を例証する図である。“vendor type”フィールド300は、これがどんな種類の販売者であるかをシステムに通知するために使用されるフラグであり得る。販売者の種類は、自動ダウンロードと自動発行、自動ダウンロードと手動確認発行、及び手動ダウンロードと手動確認であり得る。
【0018】
在庫管理エンジン102は、分配及びクライアントアプリケーションバージョン情報に関する外部最新情報パッケージの有効性を管理するために使用されるいくつかのデータベーステーブルから成るそれ自身のSQLデータベースを備えることができる。図4A及び図4Bは、本発明の実施例による在庫管理テーブルの概要を例証する図である。“ICSoftwareUpdateType”フィールド400は、どんな種類のアプリケーションを実行するかをシステムに通知するために使用されるフラグであり得る。選択範囲は、自動即時更新、自動初期設定更新時間、通知による手動更新、及び通知なしの手動更新を含むことができる。
【0019】
在庫管理エンジン102によって通知される分配エンジン104は、外部のパッケージインストールの予定を決定すると共に、全てのクライアント更新の状態を記録することができる。クライアント制御モジュール106は、内部及び外部の両方の構成要素を備えることができる。外部の構成要素は、予防接種クライアント(Inoculation Client:IC)と呼ばれ得る。ICは、クライアント制御モジュール106に通知する、組織の至る所のサーバまたはワークステーションにインストールされたクライアント側アプリケーションである。ICは、ネットワーク上のクライアントの有効性をISに渡すと共に、状態報告を在庫管理モジュールに送信する。ICは、同様に、データベースを照会すると共に、利用可能であろうあらゆるジョブを開始する。一度ジョブが確認されると、ICは、最新情報パッケージをダウンロードすると共に、コマンドラインインタフェース(command line interface)の使用を通じて、インストールを開始することができる。一度最新情報が適用されると、ICは、XMLによってISに返信することができる。
【0020】
分配エンジンデータベースは、分配のために外部最新情報パッケージジョブを管理すると共に、状態情報を更新するために使用されるいくつかのデータベーステーブルを含むことができる。図5は、本発明の実施例による分配制御テーブルの概要を例証する図である。“DcOSJobType”フィールド500は、このアプリケーションがどんな種類の最新情報を利用するかをシステムに通知するために使用されるフラグであり得る。選択範囲は、自動即時更新、自動初期設定更新時間、通知による手動更新、及び通知なしの手動更新を含むことができる。
【0021】
構造化照会言語(Structured Query Language:SQL)データベースであり得るデータベース108は、ISプラットフォーム内の各モジュールに関する全ての情報の記憶装置を提供することができる。これは、前述の全てのデータベースを含むことができる。データベース108は、同様に、どのクライアントが最新情報を適用される準備が整っているかを確認する際に、在庫管理モジュール102を支援するために、保存された手続きの使用を通じて、データの比較を管理することができる。
【0022】
ISプラットフォームは、迅速かつ効果的に、組織のネットワークを横断して安全性の最新情報を適用すると共に、実行するように具体的に設計されている。それは、コンピュータがソフトウェア最新情報を紛失しているとき、検出するための重要な能力を提供すると共に、これらの最新情報の分配を容易にし、そして、全ての引き渡しが成功したことを保証するのを助けるために、完全な状態報告を提供する。
【0023】
そのプロセスは、以下のとおりに機能することができる。第1に、システムアドミニストレータは、1回限りのイベントで、ISを設定する(もしくはデフォルト設定を進める)と共に、GURに対する最初の接続を実行することができる。システムアドミニストレータは、次に、ローカルマシンにICをインストールすることができると共に、それからISに対する最初の接続を実行する。ICは、その場合に、規則正しく予定された処理を通じて、アプリケーション及びシステム情報を、(例えば、XMLによって)ISに渡すことができる。この情報は、オペレーティングシステム情報とバージョン、インストールされたソフトウェアアプリケーションとバージョン、及びネットワーク情報を含むことができる。
【0024】
在庫管理エンジンは、その場合に、規則正しく予定される処理を通じて(例えば1日に1度)、全てのクライアント情報を、現存する外部の最新情報と比較する。もしクライアントに関する最新情報が存在する場合、在庫管理エンジンは、その場合に、最新情報パッケージ及びクライアントに、予定される最新情報に関するフラグを立てることができる。在庫管理エンジンによって始動される更新スケジューラは、その場合に、分配に関するジョブを待ち行列に入れることができる。それから、ICは、利用可能な分配ジョブを調査するために規則正しく予定される処理を通じて、ISに接続することができる。もしジョブが発見される場合、ICは、パッケージ情報を始めるようにISを従事させることができる。
【0025】
一度インストールが完了すると、ICは、更新状態モジュールを通じて、インストールは完了したとISに通知することができる。もし最新情報パッケージをインストールすることを失敗した場合、ICは、同様に、ISに通知する。停電または他のネットワーク妨害の場合には、ICは、もし必要ならばインストール手順を再開することができる。インストールが完了すると、ICは、同様に、新しいソフトウェア最新情報、または新しいオペレーティングシステムバージョン情報を、クライアント状態モジュールを通じて在庫管理エンジンに通知することができる。その場合に、ISは、処理を有効とし、そしてユーザ定義の要求のセットに基づいて、実行報告書及び技術報告書を提供することができる。
【0026】
図6は、本発明の実施例による、組織によって制御された装置のネットワークにソフトウェア最新情報を自動的に分配する方法を例証するフローチャートである。ステップ600において、1つ以上の装置を横断して分散された予防接種サーバが構成され得る。ステップ602において、予防接種サーバと全体最新情報リポジトリとの間の最初の接続が実行され得る。全体最新情報リポジトリは、予防接種サーバに供給されるべきオペレーティングシステム及びソフトウェアを管理する中央集権化されたリポジトリである。それは、ウェブスパイダー(web spider)を利用して、外部の安全性のウェブサイトが提供する外部の最新情報を、利用して、検索して、保存することができる。外部の最新情報は、販売者の種類を含むことができると共に、ここで販売者の種類とは、自動ダウンロードと自動発行、自動ダウンロードと手動確認発行、または手動ダウンロードと手動確認のことである。ステップ604において、アプリケーション及びシステム情報は、装置にインストールされた1つ以上の予防接種クライアントから受信されることができ、ここで受信は、ピアツーピア通信によって実行される。アプリケーション及びシステム情報は、オペレーティングシステム情報とバージョン、ソフトウェアアプリケーションとバージョン、及びネットワーク情報を含むことができる。それは、XMLフォーマットで受信されることができる。ステップ606において、アプリケーション及びシステム情報は、最新情報が予防接種クライアントによって制御された対応アプリケーションに関して存在するかどうかを判定するために、全体最新情報リポジトリ内のアプリケーション及びバージョン情報と比較されることができる。これは、“HTTP GET”命令、もしくは“POST”命令の利用を含むことができると共に、在庫管理エンジンによって実行されることができる。もし最新情報が予防接種クライアントによって制御されたアプリケーションに関して存在する場合、ステップ608において、最新情報は待ち行列に入れられることができる。これは、分配エンジンによって実行されることができる。ステップ610において、通信が、利用可能な分配ジョブについて調査する対応予防接種クライアントから受信されることができる。もし最新情報が対応予防接種クライアントによって制御されたアプリケーションに関して存在する場合、ステップ612において、最新情報が、通信の受信に応答する対応予防接種クライアントに送信されることができる。
【0027】
図7は、本発明の実施例による、組織によって制御された装置のネットワークにソフトウェア最新情報を自動的に分配するための予防接種サーバを例証する構成図である。予防接種サーバは、1つ以上の装置を横断して分散されることができると共に、最初に構成され得る。それから、予防接種サーバと全体最新情報リポジトリとの間の最初の接続が実行され得る。全体最新情報リポジトリは、予防接種サーバに提供されるべきオペレーティングシステム及びソフトウェアを管理する中央集権化されたリポジトリである。それは、ウェブスパイダー(web spider)を利用して、外部の安全性のウェブサイトが提供する外部の最新情報を、利用して、検索して、保存することができる。外部の最新情報は、販売者の種類を含むことができると共に、ここで販売者の種類とは、自動ダウンロードと自動発行、自動ダウンロードと手動確認発行、または手動ダウンロードと手動確認のことである。予防接種クライアントアプリケーション及びシステム情報ピアツーピア受信機700は、装置にインストールされた1つ以上の予防接種クライアントから、アプリケーション及びシステム情報を受信することができ、ここで受信は、ピアツーピア通信によって実行される。アプリケーション及びシステム情報は、オペレーティングシステム情報とバージョン、ソフトウェアアプリケーションとバージョン、及びネットワーク情報を含むことができる。それは、XMLフォーマットで受信されることができる。予防接種クライアントアプリケーションに接続されたアプリケーション及びシステム情報全体最新情報リポジトリ情報比較器702と、システム情報ピアツーピア受信機700は、アプリケーション及びシステム情報を、最新情報が予防接種クライアントによって制御された対応アプリケーションに関して存在するかどうかを判定するために、全体最新情報リポジトリ内のアプリケーション及びバージョン情報と比較することができる。これは、“HTTP GET”命令、もしくは“POST”命令の利用を含むことができると共に、在庫管理エンジンによって実行されることができる。アプリケーション及びシステム情報全体最新情報リポジトリ情報比較器702に接続された最新情報待ち行列704は、もし最新情報が予防接種クライアントによって制御されたアプリケーションに関して存在する場合、最新情報を待ち行列に入れることができる。これは、分配エンジンによって実行されることができる。予防接種クライアント利用可能分配ジョブ通信受信機706は、利用可能な分配ジョブについて調査する対応予防接種クライアントから、通信を受信することができる。最新情報待ち行列704に接続されると共に、予防接種クライアント利用可能分配ジョブ通信受信機706に接続された最新情報送信器708は、もし最新情報が対応予防接種クライアントによって制御されたアプリケーションに関して存在する場合、通信の受信に応答して、最新情報を対応予防接種クライアントに送信することができる。
【0028】
構造における様々な構成要素間の通信は、パッチモジュール、及びウェブモジュールを用いて達成されることができる。パッチモジュールは、在庫管理、分配制御、及びクライアント制御間の通信を取り扱うことができる。ウェブモジュールは、ユーザインタフェースと、在庫管理、分配制御、及びクライアント制御との間の通信を取り扱うことができる。
【0029】
クライアント、及びサーバは、内蔵モジュールを用いて構成されることができる。各モジュールは、プログラムの動作の明白な特徴に関与する。全てのモジュールは、要求及び命令をモジュール間で適切に送信する中央モジュールと通信することができる。モジュールは、相互に独立して実行すると共に、相互に処理状態を把握せず、これは、各モジュールの中で、要求または命令のあらゆる順序が正しく扱われることを意味する。これは、アプリケーションを、モノリシックの設計より更に効率的にする。
【0030】
モジュールの間の通信は、XMLに基づくことができる。各データ要求、または命令は、特定のXML形式の事例であり得る。モジュールは、それぞれ、形式の段落を理解して、あらゆる不適当な通信を廃棄する。XMLフォーマットのデータを読むために自由に利用可能な手段があると共に、カスタムのXML形式のためにこれらの手段を利用することが容易であるので、これは、データの処理を単純化する。
【0031】
各モジュールの実行は、傾聴、処理、応答の経路の後に続くことができる。傾聴段階において、モジュールは、他のモジュール(すなわち、アプリケーション内の別のモジュール、またはGUIのような外部の構成要素、またはもしそのモジュールがクライアント側にあるならばサーバ)からの通信を待機することができる。メッセージが受信されるとき、その場合に、それは、構文の正当性を確認されると共に、その後で処理段階に渡されることができる。処理段階は、最初に、要求(の一部または全体)の文法的な正当性を判定すると共に、次に、データを収集し、要求を転送するか、または第3のモジュールに要求を行うような動作を実行することが必要となる可能性がある要求を送信する。応答段階は、最初の段階において受信されたメッセージから応答が生成され得る任意の段階である。応答は、最初のメッセージを送信したモジュールへ返信されるメッセージである。モジュールは応答を待たず、従って、応答はもう一方のモジュールにおける新しい実行サイクルを生成する。
【0032】
例えば、クライアントが提供する利用可能なパッチを、ユーザインターフェースが要求すると仮定する。ユーザインタフェースは、最初に要求を送信することになる。そして、クライアント側にあるウェブモジュールは、メッセージを受信し、構文と文法を確認すると共に、要求をメインモジュールに送信することができる。ここで、ウェブモジュールは、傾聴状態にある。クライアントのメインモジュールは、その場合に、ウェブモジュールからメッセージを受信することができ、構文及び文法を確認すると共に、パッチモジュールにリストを求める要求を行う。ここで、メインモジュールは、傾聴状態にある。パッチモジュールは、その場合に、メインモジュールから要求を受信し、情報を収集すると共に、メインモジュールに応答することができる。これの後で、メインスレッドは、パッチモジュールからウェブモジュールに応答を渡すことができる。最終的に、ウェブモジュールは、応答をユーザインタフェースに送信することができると共に、その処理は完了する。
【0033】
図8、本発明の実施例による、クライアント−サーバ間データ実行フローを例証する図である。ここで、クライアント800とサーバ802は、独立したスレッドを実行する。同様に傾聴段階816、処理段階818、及び応答段階820を有するメインスレッド814と同様に、ユーザインタフェース812と連係することができるウェブモジュールスレッド804は、傾聴段階806、処理段階808、及び応答段階810を有することができる。同様に、サーバ802上のメインスレッド814及びパッチスレッド830と連係するパッチモジュールスレッド822は、傾聴段階824、処理段階826、及び応答段階828を有することができる。
【0034】
本発明の実施例及びアプリケーションが示されると共に説明される一方、上述の言及より更に多くの修正が、ここに示される発明概念からはずれずに可能であることが、この開示の利益を得る当業者にとって明白である。従って、本発明は、付加された特許請求の範囲の精神を除いて制限されるべきではない。
【図面の簡単な説明】
【0035】
【図1】本発明の実施例による予防接種(Inoculation)サーバプラットフォームを例証する図である。
【図2】本発明の実施例による新しい外部更新情報を含むXML文書の例を例証する図である。
【図3】本発明の実施例による外部最新情報パッケージテーブルの概要を例証する図である。
【図4A】本発明の実施例による在庫管理テーブルの概要を例証する図である。
【図4B】本発明の実施例による在庫管理テーブルの概要を例証する図である。
【図5】本発明の実施例による分配制御テーブルの概要を例証する図である。
【図6】本発明の実施例による、組織によって制御された装置のネットワークにソフトウェア最新情報を自動的に分配する方法を例証するフローチャートである。
【図7】本発明の実施例による、組織によって制御された装置のネットワークにソフトウェア最新情報を自動的に分配するための予防接種サーバを例証する構成図である。
【図8】本発明の実施例によるクライアント−サーバ間データ実行フローを例証する図である。
【符号の説明】
【0036】
100 ユーザインタフェース
102 在庫管理エンジン
104 分配エンジン
106 クライアント制御モジュール
108 データベース
300 “vendor type”フィールド
400 “ICSoftwareUpdateType”フィールド
500 “DcOSJobType”フィールド
700 予防接種クライアントアプリケーション及びシステム情報ピアツーピア受信機
702 アプリケーション及びシステム情報全体最新情報リポジトリ情報比較器
704 最新情報待ち行列
706 予防接種クライアント利用可能分配ジョブ通信受信機
708 最新情報送信器
800 クライアント
802 サーバ
804 ウェブモジュールスレッド
806 傾聴段階
808 処理段階
810 応答段階
812 ユーザインタフェース
814 メインスレッド
816 傾聴段階
818 処理段階
820 応答段階
822 パッチモジュールスレッド
824 傾聴段階
826 処理段階
828 応答段階
830 パッチスレッド

【特許請求の範囲】
【請求項1】
組織によって制御された装置のネットワークに対してソフトウェア最新情報を自動的に分配するためのシステムにおける通信を制御する方法であって、
ユーザインタフェースから、利用可能な最新情報を求める第1の要求を、ウェブモジュールによって受信する段階と、
前記ウェブモジュール上で前記第1の要求を処理する段階と、
利用可能な最新情報を求める第2の要求を、前記ウェブモジュールからメインモジュールに対して送信する段階と、
前記ウェブモジュールを傾聴状態に置く段階と、
前記メインモジュール上で前記第2の要求を処理する段階と、
利用可能な最新情報を求める第3の要求を、前記メインモジュールからパッチモジュールに対して送信する段階と、
前記メインモジュールを傾聴状態に置く段階と、
前記パッチモジュール上で前記第3の要求を処理する段階と、
利用可能な最新情報のリストを有する第1の応答を、前記パッチモジュールから前記メインモジュールに対して送信する段階と、
利用可能な最新情報のリストを有する第2の応答を、前記メインモジュールから前記ウェブモジュールに対して送信する段階と、
利用可能な最新情報のリストを有する第3の応答を、前記ウェブモジュールから前記ユーザインタフェースに対して送信する段階と
を含むことを特徴とする方法。
【請求項2】
前記ウェブモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記メインモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記パッチモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記ウェブモジュール、前記メインモジュール、及び前記パッチモジュールが、クライアント側に配置される
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記ウェブモジュール、前記メインモジュール、及び前記パッチモジュールが、サーバ側に配置される
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記パッチモジュールが、サーバ側のパッチモジュールと通信する
ことを特徴とする請求項5に記載の方法。
【請求項8】
前記パッチモジュールが、クライアント側のパッチモジュールと通信する
ことを特徴とする請求項6に記載の方法。
【請求項9】
前記要求の各々は、拡張マークアップ言語(XML)形式である
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記応答の各々は、拡張マークアップ言語(XML)形式である
ことを特徴とする請求項1に記載の方法。
【請求項11】
前記傾聴状態において、モジュールが、別のモジュールとの通信を待機する
ことを特徴とする請求項2に記載の方法。
【請求項12】
前記処理状態において、モジュールが、要求の文法的な正当性を判定すると共に、要求を生成する
ことを特徴とする請求項2に記載の方法。
【請求項13】
前記応答状態において、モジュールが、更に応答メッセージを生成する
ことを特徴とする請求項2に記載の方法。
【請求項14】
前記傾聴状態において、モジュールが、別のモジュールとの通信を待機する
ことを特徴とする請求項3に記載の方法。
【請求項15】
前記処理状態において、モジュールが、要求の文法的な正当性を判定すると共に、要求を生成する
ことを特徴とする請求項3に記載の方法。
【請求項16】
前記応答状態において、モジュールが、更に応答メッセージを生成する
ことを特徴とする請求項3に記載の方法。
【請求項17】
モジュールによる受領の際に構文の正当性に関して前記要求を確認する段階を更に含む
ことを特徴とする請求項1に記載の方法。
【請求項18】
組織によって制御された装置のネットワークに対してソフトウェア最新情報を自動的に分配するためのシステムにおける通信を制御する装置であって、
ウェブモジュールユーザインタフェース要求受信機と、
前記ウェブモジュールユーザインタフェース要求受信機に接続されたウェブモジュールユーザインタフェース要求プロセッサと、
前記ウェブモジュールユーザインタフェース要求プロセッサに接続されたウェブモジュール要求送信機と、
前記ウェブモジュール要求送信機に接続されたウェブモジュール傾聴状態配置機と、
前記ウェブモジュール要求送信機に接続された前記メインモジュールウェブモジュール要求プロセッサと、
前記メインモジュールウェブモジュール要求プロセッサに接続されたメインモジュール要求送信機と、
前記メインモジュールウェブモジュール要求プロセッサに接続されたメインモジュール傾聴状態配置機と、
前記メインモジュール要求送信機に接続されたパッチモジュールメインモジュール要求プロセッサと、
前記パッチモジュールメインモジュール要求プロセッサに接続されたパッチモジュール応答送信機と、
前記パッチモジュール応答送信機に接続されたメインモジュール応答送信機と、
前記メインモジュール応答送信機に接続されたウェブモジュール応答送信機と
を備えることを特徴とする装置。
【請求項19】
前記装置がサーバ側に配置される
ことを特徴とする請求項18に記載の装置。
【請求項20】
前記装置がクライアント側に配置される
ことを特徴とする請求項18に記載の装置。
【請求項21】
組織によって制御された装置のネットワークに対してソフトウェア最新情報を自動的に分配するためのシステムにおける通信を制御する装置であって、
ユーザインタフェースから、利用可能な最新情報を求める第1の要求を、ウェブモジュールによって受信するための手段と、
前記ウェブモジュール上で前記第1の要求を処理するための手段と、
利用可能な最新情報を求める第2の要求を、前記ウェブモジュールからメインモジュールに対して送信するための手段と、
前記ウェブモジュールを傾聴状態に置くための手段と、
前記メインモジュール上で前記第2の要求を処理するための手段と、
利用可能な最新情報を求める第3の要求を、前記メインモジュールからパッチモジュールに対して送信するための手段と、
前記メインモジュールを傾聴状態に置くための手段と、
前記パッチモジュール上で前記第3の要求を処理するための手段と、
利用可能な最新情報のリストを有する第1の応答を、前記パッチモジュールから前記メインモジュールに対して送信するための手段と、
利用可能な最新情報のリストを有する第2の応答を、前記メインモジュールから前記ウェブモジュールに対して送信するための手段と、
利用可能な最新情報のリストを有する第3の応答を、前記ウェブモジュールから前記ユーザインタフェースに対して送信するための手段と
を備えることを特徴とする装置。
【請求項22】
前記ウェブモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項21に記載の装置。
【請求項23】
前記メインモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項21に記載の装置。
【請求項24】
前記パッチモジュールが、傾聴状態、処理状態、または応答状態にある
ことを特徴とする請求項21に記載の装置。
【請求項25】
前記ウェブモジュール、前記メインモジュール、及び前記パッチモジュールが、クライアント側に配置される
ことを特徴とする請求項21に記載の装置。
【請求項26】
前記ウェブモジュール、前記メインモジュール、及び前記パッチモジュールが、サーバ側に配置される
ことを特徴とする請求項21に記載の装置。
【請求項27】
前記パッチモジュールが、サーバ側のパッチモジュールと通信する
ことを特徴とする請求項25に記載の装置。
【請求項28】
前記パッチモジュールが、クライアント側のパッチモジュールと通信する
ことを特徴とする請求項26に記載の装置。
【請求項29】
前記要求の各々は、拡張マークアップ言語(XML)形式である
ことを特徴とする請求項21に記載の装置。
【請求項30】
前記応答の各々は、拡張マークアップ言語(XML)形式である
ことを特徴とする請求項21に記載の装置。
【請求項31】
前記傾聴状態において、モジュールが、別のモジュールとの通信を待機する
ことを特徴とする請求項22に記載の装置。
【請求項32】
前記処理状態において、モジュールが、要求の文法的な正当性を判定すると共に、要求を生成する
ことを特徴とする請求項22に記載の装置。
【請求項33】
前記応答状態において、モジュールが、更に応答メッセージを生成する
ことを特徴とする請求項22に記載の装置。
【請求項34】
前記傾聴状態において、モジュールが、別のモジュールとの通信を待機する
ことを特徴とする請求項23に記載の装置。
【請求項35】
前記処理状態において、モジュールが、要求の文法的な正当性を判定すると共に、要求を生成する
ことを特徴とする請求項23に記載の装置。
【請求項36】
前記応答状態において、モジュールが、更に応答メッセージを生成する
ことを特徴とする請求項23に記載の装置。
【請求項37】
モジュールによる受領の際に構文の正当性に関して前記要求を確認するための手段を更に備える
ことを特徴とする請求項21に記載の装置。
【請求項38】
組織によって制御された装置のネットワークに対してソフトウェア最新情報を自動的に分配するためのシステムにおける通信を制御する方法を実行するために、コンピュータによって実行可能な命令のプログラムを明白に具体化するコンピュータ読み取り可能なプログラム記録装置であって、
前記方法が、
ユーザインタフェースから、利用可能な最新情報を求める第1の要求を、ウェブモジュールによって受信する段階と、
前記ウェブモジュール上で前記第1の要求を処理する段階と、
利用可能な最新情報を求める第2の要求を、前記ウェブモジュールからメインモジュールに対して送信する段階と、
前記ウェブモジュールを傾聴状態に置く段階と、
前記メインモジュール上で前記第2の要求を処理する段階と、
利用可能な最新情報を求める第3の要求を、前記メインモジュールからパッチモジュールに対して送信する段階と、
前記メインモジュールを傾聴状態に置く段階と、
前記パッチモジュール上で前記第3の要求を処理する段階と、
利用可能な最新情報のリストを有する第1の応答を、前記パッチモジュールから前記メインモジュールに対して送信する段階と、
利用可能な最新情報のリストを有する第2の応答を、前記メインモジュールから前記ウェブモジュールに対して送信する段階と、
利用可能な最新情報のリストを有する第3の応答を、前記ウェブモジュールから前記ユーザインタフェースに対して送信する段階と
を含むことを特徴とするコンピュータ読み取り可能なプログラム記録装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2007−538302(P2007−538302A)
【公表日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−551195(P2006−551195)
【出願日】平成17年1月18日(2005.1.18)
【国際出願番号】PCT/US2005/001546
【国際公開番号】WO2005/069911
【国際公開日】平成17年8月4日(2005.8.4)
【出願人】(506250882)オートノミック・ソフトウェア・インコーポレーテッド (3)
【Fターム(参考)】