Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4931343B2 - ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置 - Google Patents
[go: Go Back, main page]

JP4931343B2 - ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置 - Google Patents

ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置 Download PDF

Info

Publication number
JP4931343B2
JP4931343B2 JP2004359136A JP2004359136A JP4931343B2 JP 4931343 B2 JP4931343 B2 JP 4931343B2 JP 2004359136 A JP2004359136 A JP 2004359136A JP 2004359136 A JP2004359136 A JP 2004359136A JP 4931343 B2 JP4931343 B2 JP 4931343B2
Authority
JP
Japan
Prior art keywords
software
service
network service
installation
host system
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.)
Expired - Fee Related
Application number
JP2004359136A
Other languages
English (en)
Other versions
JP2005174347A (ja
Inventor
エドワーズ ダブリュ.キース
ダブリュ.ニューマン マーク
スミス トレヴァー
ズィー. セディヴィ ヤナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JP2005174347A publication Critical patent/JP2005174347A/ja
Application granted granted Critical
Publication of JP4931343B2 publication Critical patent/JP4931343B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本出願は、一般的にソフトウェアコンポーネントインストールに関するものであり、より詳細には、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供することに関するものである。
インターネットが通信およびデータ交換媒体として幅広く受け入れられるようになり、広範囲にわたるネットワークサービスがますます多く利用できるようになってきた。ネットワークサービスは、インターネットを含むネットワークを通じてアクセス可能なホストベースのサービスクラスを参照し、例えばファイルサービス、ウェブアプリケーションなどの分散機能または遠隔機能を提供する。一般的に、個々のユーザーは、要求(リクエスト)システムからネットワークサービスにアクセスしており、この要求システムはしばしばクライアントシステムと呼ばれ、要求システムの代わりにネットワークサービスを実行するサービスホストシステムと遠隔接続している。
ネットワークサービスの使用は、そのネットワークサービスの実行とは区別される。サービスホストシステムは、要求(リクエスト)するクライアントシステムに、ネットワークサービス機能を提供する。しかし、クライアントシステムはそれぞれ、同じネットワークサービス機能をローカルで供給するために、初めにネットワークサービスをインストールしなければならない。例えば、ウェブログは、集中的にホストされ、クライアントシステムから公的にアクセス可能なオンライン日記を提供する。ローカルなウェブログをクライアントシステムで実行するためには、ユーザーはまずネットワークサービスの実行に必要なソフトウェアをインストールする必要がある。
残念ながら、ネットワーク・サービス・ソフトウェア・インストールの端末相互間(end-to-end)の処理もまた、ネットワークサービスそのものの使用とは関連しない作業である。通常のソフトウェアインストールでは、ユーザーはいくつかの独立しているものの関連した一連の作業をうまく完了させなければならない。第1に、ユーザーはインストールソフトウェアが必要ということを知る必要がある。問題は、そのようなソフトウェアの名前、タイプ、および性質が、そのネットワークサービスに基づいてすぐに分からないということである。その上、適切なインストールソフトウェアは、異なるタイプや形式で入手できることもある。
第2に、ユーザーは、インストールソフトウェアのコピーを手に入れる必要がある。一般的に、新しいアプリケーションプログラム、ハードウェアおよび周辺装置はそれぞれ、配布メディアによって、あるいはオンラインダウンロードを通じて、インストールソフトウェアを提供する。しかし、ネットワークサービス用のインストールソフトウェアのコピーを入手することは、潜在的な問題を提起している。その最終目的は、ネットークサービスをローカルで「実行」するために必要なソフトウェアをインストールすることであり、ユーザーがその必要なソフトウェアをどこで入手できるかを知っているという誤った想定がなされている。インストールソフトウェアは、アプリケーションプログラムでもよいし、サービスホストシステムから独立して、あるいはサービスホストシステムと連結して、稼動するサーバーを経由し、オンラインダウンロードを通じて利用することもできる。そのソースが何であろうと、ユーザーは必要なインストールソフトウェアのコピーを特定し、探し出して、入手しなければならない。
第3に、ユーザーはネットワークサービスの実行と、さらにインストールソフトウェアの実行に不可欠な必要条件が満たされているかどうかを判断しなければならない。コンピュータシステムにインストールされるすべてのソフトウェア一式は、どの新しいソフトウェアも最初に調和しなければならないランタイム環境を定義している。しかし、オペレーションシステムを含む既存のソフトウェアは、コンピュータシステムによって異なり、違いについていくつか例を挙げるとすれば、タイプ、バージョン、およびパッチレベルが含まれる。それぞれの違いについては、新しいソフトウェアをインストールする前に、第1に考えなければならない。その結果、ユーザーは、さらにインストールソフトウェアが必要であることを知り、コピーを入手するという前のステップの繰り返しを含めた必要条件を最初に満たした後にのみ、インストールを進めることができる。
最後に、インストールの最中、可能であればインストール後に、ユーザーはこのソフトウェアに更新の必要があるかどうかを調べる必要がある。ソフトウェアの更新は、サポートがソフトウェアのコピーの入手先のソースとは別に提供される場合、面倒な作業である。さらに更新ソフトウェアは、例えばオンラインのみで提供されるなど、インストールソフトウェアと比較して、異なる形式で入手可能なこともある。
従来、インストールソフトウェアと更新は、ネットワークサービスから分離したリソースとして利用できるようになっている。オンライン更新については、例えば、マイクロソフト社(米国ワシントン州レッドモンド)が提供するウィンドウズ(登録商標)アップデート(Windows(登録商標) Update)メカニズムを通じて提供されるなど、益々利用可能になっており、この開示を参照することにより本明細書に援用する。しかしこのメカニズムでは、ユーザーはウェブサイトに接続しなければならず、その後ランタイム環境の評価を行うことになる。ウェブサイトで生成されたリストに基づき、ユーザーはローカルインストールのためにサーバーから、サポートされているソフトウェアの更新を選択し、ダウンロードすることができる。しかしながら、この更新は、ソフトウェアの使用とは別の、関連しないプロセスとして実行される。
従って、インストールソフトウェアをネットワークサービスそのものと密接に関連付けることによって、ネットワークサービスをローカルに実行するためのソフトウェアインストールを促進する方法が必要である。このような方法では、インストールソフトウェアとネットワークサービスソフトウェアの両方を一緒に提供することが好ましい。
上記課題を解決するために、請求項1に記載の発明は、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステムであって、
ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、を記憶するサービスホストシステムであって、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含む、サービスホストシステムと、基本通信フレームワークを介して前記サービスホストシステムと通信する要求システムと、を備え、前記要求システムが、前記インストール述語オブジェクトをダウンロードして実行すると共に、前記更新オブジェクトをダウンロードして定期的及び自動的に実行する検査機構であって、前記インストール述語オブジェクトが、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成するコードを備え、前記更新オブジェクトが、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認するコードを備える、検査機構と、前記ヘルパーオブジェクトをダウンロードして実行するヘルパー機構であって、前記ヘルパーオブジェクトが、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールするコードを備える、ヘルパー機構と、を備え、前記ネットワークサービスソフトウェアが前記要求システムにインストールされることにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようになることを特徴とする
また、請求項2に記載の発明は、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供する方法であって、サービスホストシステムが、ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、を記憶し、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含み、前記サービスホストシステムと要求システムとの間に基本通信フレームワークを確立し、前記要求システムが、前記インストール述語オブジェクトを実行して、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成し、前記要求システムが、前記ヘルパーオブジェクトを実行して、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールし、前記インストールにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようになり、前記要求システムが、前記更新オブジェクトを定期的及び自動的に実行して、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認することを含むことを特徴とする。
また、請求項に記載の発明は、コンピュータプログラムであって、コンピュータを請求項1に記載のシステムとして機能させることを特徴とする。
さらに、請求項4に記載の発明は、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供する装置であって、ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、をサービスホストシステムに記憶させる記憶手段であって、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含む、記憶手段と、前記サービスホストシステムと要求システムとの間に基本通信フレームワークを確立する手段と、を備え、前記要求システムが、前記インストール述語オブジェクトを実行して、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成する、検証手段と、前記ヘルパーオブジェクトを実行して、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールする、ヘルパー手段と、前記更新オブジェクトを定期的及び自動的に実行して、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認する、更新手段と、を備え、前記ネットワークサービスソフトウェアが前記要求システムにインストールされることにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供することを特徴とする。
本発明によれば、インストールソフトウェアをネットワークサービスそのものと密接に関連付けることによって、ネットワークサービスをローカルに実行するためのソフトウェアインストールを促進することができる。
本発明の一実施形態は、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供する。基本通信フレームワークが、ネットワークサービスを提供するためにネットワーク・サービス・ソフトウェア・コンポーネントを実行するサービスホストシステムとの間に確立される。前記システムを通じて、前記コンポーネントの入手可能性が判断され、ランタイム環境に対する必要条件が検証される。システムを通じて前記コンポーネントを提供し、前記コンポーネントのインストール指示で、論理的にグループ分けされたコード群が実行される。
図1は、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するためのシステム10を表すブロック図である。システム10は、1つまたはそれ以上の個別のコンピュータシステム11、12を備えており、それぞれのハードウェア、周辺装置、および、オペレーティングシステム、ドライバー、サポートソフトウェアを含むソフトウェアコンポーネントと、ネットワークサービスとリモートサービス、アプリケーションとは異なっていてもよい。さらに、このソフトウェアコンポーネントのバージョンおよびパッチレベルが異なっていても構わない。コンピュータシステム11、12は、例えばインターネットなどのネットワーク上で、相互に接続している。ネットワーク13は、他の種々のネットワークと相互に作用できるように連結配置された、種々の接続形態・構成・配置のコンポーネントで提供されるローカルエリアネットワークおよび広域ネットワークと、従来の有線式、無線式、衛星式、光学式、およびこれらに同等なネットワーク技術を含み、これらに限定されないことは当業者に明らかであろう。
ネットワークサービスをローカルに実行するためのソフトウェアコンポーネントは、さらに図2を参照して以下に説明するように、要求システム11とサービスホストシステム12の間で偶然に行われる軽量の対話を通じてインストールされる。簡潔には、サービスホストシステム12は、ユーザーが要求システム11でローカルにインストールし、実行しようとしているネットワークサービスを、ホストするシステムである。要求システム11は、サービスホストシステム12が、ネットワークサービスをローカルにインストールし実行するために必要なソフトウェアのソースであることを特定する。要求システム11は、サービスホストシステム12がネットワークサービスソフトウェアの提供が可能であることを確認し、サービスホストシステム12の助けを借りて、ランタイム環境がネットワークサービスソフトウェアの必要条件を満たすことを検証する。検証に成功すると、要求システム11はこのネットワークサービスソフトウェアのダウンロードおよびインストールを、要求者の管理によって、あるいはインストールヘルパーを用いて実行する。インストール後、必要に応じて、ネットワークサービスソフトウェアの更新が実行される。
要求システム11とサービスホストシステム12は両方とも、例えばサン・マイクロシステムズ社(米国カリフォルニア州パロ・アルト)がライセンスを供与するJava(登録商標)動作環境などの、マシンに依存せずアーキテクチャに中立的な動作環境を提供するマネージコード(managed code)プラットフォームを実行することが好ましい。また、マネージコードプラットフォームは、さらに図5を参照して以下に説明するように、基本通信フレームワークを提供し、それによって要求システム11およびサービスホストシステム12は、ランタイム環境の検証と、ソフトウェアインストールと、必要ならばソフトウェアの更新に作用することのできる軽量な要求・応答プロトコルを実行できる。
さらなる実施形態において、要求システム11およびサービスホストシステム12の一方または両方は、特定のランタイム環境において実行するように書かれたプログラムとして、インストールソフトウェアおよびネットワークサービスを直接実行する。例えば、このインストールソフトウェアおよびネットワークサービスは、マイクロソフト社(米国ワシントン州レッドモンド)がライセンスを供与するウィンドウズ(登録商標)(Windows(登録商標))動作環境などの、特定の動作環境で実行するように設計されたプラットフォーム固有のネイティブコードとして提供することが可能である。他の形式のプラットフォーム固有のネイティブコードも、宣言的コードを含めて可能である。
図2は、図1のサービスホストシステム12を表す機能ブロック図20である。サービスホストシステム12は、ネットワークサービス22を実行して、要求システム11に分散機能または遠隔機能を提供する。1つの実施形態において、サービスホストシステム12はマネージコードプラットフォーム21を実行する。マネージコードプラットフォーム21は、基礎オペレーティングシステム(図示せず)によって実行されるプログラミング言語コンパイラとインタープリタ(図示せず)を備え、ネットワークサービス22が実行される仮想ランタイム環境を提供することができる。さらなる実施形態において、サービスホストシステム12は、ネットワークサービス22を含むプラットフォーム固有のアプリケーションを直接実行する。他のタイプのアプリケーションまたはサービスをマネージコードプラットフォーム21の環境下で、あるいはそこから独立して実行するためのソフトウェアに実装することも可能である。
サービスホストシステム12は、クライアントシステムである要求システム11に対して、ネットワークサービス22と同等の機能を要求システム11にローカルに提供するコードをダウンロードし、インストールし、更新するための標準機構(メカニズム)を提供する。この標準機構は、さらに図4を参照して以下に説明するように、サービスホストシステム12によって提供されるパブリックインターフェイス23と、要求システム11からメソッド呼び出し25を通じてこのパブリックインターフェイス23に呼び出される既知のメソッド24一式を含む。ネットワークサービス22がこの既知のメソッド24を実装することで、ネットワークサービス22のコピーを要求するどのシステムも、ネットワークサービスソフトウェアの構成コンポーネントを別のソースから識別したり、探し出す必要なく、インストールおよび更新プロセスを確実に進められるようになっている。しかし、サービスホストシステム12は、要求システム11が必要とするまた別の必須コンポーネントのソースとして機能する必要はない。サービスホストシステム12が要求システム11を支援する必要があるのは、ネットワークサービス22の必要条件が満たされているかどうかの確認だけであって、これらの必要条件を満たす手助けをすることもできるが、そうすることが必須ではない。
サービスホストシステム12は、ネットワークサービス22のためのソフトウェアとインストールソフトウェアの両方が論理的にグループ化され、要求システム11には単一の統合コード群として見えるコンポーネント一式として格納される。ストレージ27内で、実際のネットワークサービスソフトウェアは、コード群28に格納され、インストールソフトウェアは、インストール述語オブジェクト30、ヘルパーオブジェクト31、および更新オブジェクト32を備えたオブジェクト29一式に格納される。
図3は、図2の要求システム11を表す機能ブロック図40である。要求システム11は、要求(リクエスト)45をサービスホストシステム12に送信し、ブール値44と、1つまたはそれ以上のコード群28と、オブジェクト29とを含みうる応答26を受信する。要求システム11は、検査機構43と、オプションとして、ヘルパー機構43を実行する。検査機構42は、サービスホストシステム12から受信したインストール述語オブジェクト30および更新オブジェクト32を実行する。ヘルパー機構43は、これもまたサービスホストシステム12から受信した、ヘルパーオブジェクト31を実行する。1つの実施形態において、要求システム11は、検査機構42と、オプションとしてヘルパー機構43が実行される仮想ランタイム環境を提供する、マネージコードプラットフォーム41を実行する。さらなる実施形態において、要求システム11は、検査機構42と、オプションとしてヘルパー機構43を含むプラットフォーム固有のアプリケーションを、直接実行する。マネージコードプラットフォーム41の環境下で、あるいはそこから独立して実行するソフトウェアに、他のタイプのアプリケーションまたはサービスを実装することも可能である。
さらに図6以降を参照して以下に説明するように、要求システム11は、サービスホストシステムが提供するパブリックインターフェイス23を通じて既知のメソッド24を呼び出すことにより、ソフトウェアコンポーネントをインストールする。要求システム11は、ネットワークサービスソフトウェアが存在する、あるサービスホストシステム12を探し出すか、または偶然遭遇することによって、例えばネットワークサービス22などのインストール可能な望ましいソフトウェアを特定する。インストール可能なソフトウェアは、クライアントまたはサービスのどちらの環境にも依存しうる。要求システム11は、入手可能性要求45をサービスホストシステム12に送信し、ネットワークサービスソフトウェアが入手できる場合は、ランタイム環境の検証を進める。検査機構42は、インストール述語オブジェクト30を実行し、ランタイム環境にネットワークサービスのインストールおよび実行に不可欠な必要条件がすべてそろっているかどうかを検証する。
上記の実施形態において、インストール述語オブジェクト30は、マネージコードプラットフォーム41内で実行するためのモバイルコードとして実装されて、例えばハードウェア、周辺装置、および、オペレーティングシステム、ドライバー、サポートソフトウェアを含むソフトウェアコンポーネントと、ネットワークサービスとリモートサービス、アプリケーションと、さらにソフトウェアコンポーネントのバージョンとパッチレベルなどの、要求システム11の任意の形態を検証する。さらなる実施形態において、インストール述語オブジェクト30は、例えば、インストールの進行に不可欠なソフトウェアコンポーネントのリストを特定する宣言的構文などを用いて記述された、プラットフォーム固有のネイティブコードで実装することもできる。要求システム11が必要条件を満たさない場合は、インストール述語オブジェクト30は、さらに実際のインストールを進める前に、別途満たさなければならない必要なコンポーネントのリストを生成する。
いったんすべての必要条件が確認されると、要求システム11は、コード要求45をサービスホストシステム12に送信し、ストレージ46にインストールコード47として格納されている、ネットワークサービスソフトウェアを含む、コード群28を受信する。ユーザーはまず第1に、ネットワークサービスソフトウェアのインストールを手動で進める前に、不足したまま未解決の必要条件を満たさなければならない。あるいは、インストールステップをヘルパー機構43に委任して、ユーザーに代わって未解決の必要条件を満たし、インストールを実行させることができる。インストールを委任する場合、ヘルパー機構43は、ヘルパーオブジェクト31を実行することにより、必要条件を満たすために必要なソフトウェアコンポーネントのコピーを探し出し、入手する。必要に応じて、ランタイム環境が再びそれぞれの必要条件に対して検証される。次いで、それぞれの必要条件はインストールされ、その後に続いてネットワークサービスソフトウェアがインストールされる。上記の実施形態において、ヘルパーオブジェクト31は、マネージコードプラットフォーム41内で実行するためのモバイルコードとして実装される。さらなる実施形態において、ヘルパーオブジェクト31は、例えば、宣言的構文を用いて書かれたプラットフォーム固有のネイティブコードで実装することもできる。
インストールが成功すると、要求システム11は、サービスホストシステム12に更新要求45を送信し、必要に応じて、ネットワークサービスソフトウェアの更新を進める。検査機構42は、更新オブジェクト32を実行することにより、必要な更新を特定し、検索し、インストールする。上記の実施形態において、更新オブジェクト32は、マネージコードプラットフォーム41内で実行するためのモバイルコードとして実装される。さらなる実施の形態において、更新オブジェクト32は、例えば宣言的構文を用いて書かれたプラットフォーム固有のネイティブコードで実装することもできる。
要求システム11は、ストレージ46に受信済みコード群28とオブジェクト29のそれぞれを、継続的に記憶することが好ましい。ネットワークサービス22は、いったんインストールされて実行されると、今度は要求システム11で動作しながらも、パブリックインターフェイス23を提供し、これにより他の要求システムが、要求システム11からネットワークサービスソフトウェアをダウンロードし、更新するために、既知のメソッド24を呼び出すことを可能とする。このように、ネットワークサービスソフトウェアは、ネットワークサービスのための、「ウイルス性」ソフトウエアとなる。ネットワークサービス22のインストールが成功した後、それを実行している間、要求システム11は、他の要求システム11にネットワークサービスソフトウェアを提供することができる、サービスホストシステム12になることができる。さらなる実施形態では、ネットワーク・サービス・インストール・ソフトウェアがウイルス性である。また、さらなる実施形態では、更新ソフトウェアがウイルス性である。その他の形式でのネットワークサービス22の伝播も可能である。
上記の実施形態において、クライアント要求システム11は、サービスホストシステム12によって提供されるネットワークサービス22と同等の機能を持つサービスを、クライアントシステムが提供できるようになるコードを発見し、入手し、インストールし、更新することによって、実質的にサービスホストシステム12そのものになる。さらなる実施形態において、クライアント要求システム11がサービスホストシステム12から入手したコードは、サービスホストシステム12が提供する機能とは異なる機能を提供することも可能である。例えば、入手したコードは、クライアントシステムがサービスホストシステムと対話できるようにする機能を提供することができる。他のタイプの機能も可能である。
図4は、図2のサービスホストシステム12が、要求するクライアントに提供するパブリックインターフェイス23を一例として表すデータ構造図60である。それぞれのネットワークサービス22が、既知のメソッド24を定義することにより、パブリックインターフェイス23を提供する。1つの実施の形態において、既知のメソッド24は、標準化されたメソッド定義であり、サービスホストシステム12のマネージコードプラットフォーム21内で実行するために、例えばJava(登録商標)プログラミング言語などのマシンに依存しないプログラミング言語によるコードで書かれていることが好ましい。しかし、さらなる実施形態において、それぞれの既知のメソッド24を、要求システム11によって遠隔地から呼び出すことができるという条件で、既知のメソッド24は、マネージコードプラットフォームから独立して実行される宣言的構文で書くことができる。既知のメソッドの他での形式の実装も可能である。
一例として、パブリックインターフェイス23は、SpeakeasyComponentなどのパブリックインターフェイスを特定するタグ61と、それぞれの既知のメソッド24のメソッド定義62とで構成される。上記の実施形態において、4つのメソッド定義62が指定されている。それぞれのメソッドが呼び出されると、要求システム11は、それぞれの既知のメソッド24に対する入力パラメーターとして、オペレーティングシステムと、バージョンおよびパッチレベルを含めたランタイム環境と、ネットワークサービスソフトウェアの名前とを確認する。
サービスインストーラー提供(providesServiceInstaller)メソッド定義は、ネットワークサービス22が、ネットワークサービスソフトウェアを使用するために要求システム12にインストールしなければならない特別な機能を入手可能にできるかどうかを示す。特別な機能とは、構成コンポーネント、あるいは依存コンポーネントに加えて、実行可能なネットワークサービスソフトウェアも含む。サービスインストーラー提供メソッド定義は、ネットワークサービス22の入手可能性または入手不可能性を最終的に示すブール値を返すことを仕様として指定している。
クライアント環境検証(verifyClientEnvironment)メソッド定義は、述語オブジェクト30をダウンロードし、この述語オブジェクトを用いて、要求システム11が、この要求システム11のランタイム環境でネットワークサービスソフトウェアのインストールが可能かどうかについて、評価することができる。インストール述語オブジェクト30は、ランタイム環境を評価し、ネットワークサービスソフトウェアのインストールを進められるようになる前に、必要とされるコンポーネントのリストを生成する。
サービスインストーラー入手(getServiceInstaller)メソッド定義は、実際のインストール可能なコード群28と、さらにヘルパーオブジェクト31と、オプションとして更新オブジェクト32を要求システム11にダウンロードして、ネットワークサービスソフトウェアをインストールし、必要があれば更新する。ヘルパーオブジェクト31は、インストールステップをヘルパー機構43に委任するために使用される。更新オブジェクト32は、ネットワークサービスソフトウェアの更新が必要かどうかを調べるために使用される。
最後に、コード更新必要性(codeUpdateRequired)メソッド定義は、例えばインストールに成功した後、あるいは定期的に、ネットワークサービスソフトウェアが更新を必要としているかどうかを示す。更新オブジェクト32を用いて、要求システム11は、それぞれ受信したコード群28のバージョンおよびパッチレベル識別子のレジストリを保持することができ、更新が必要かどうかを判断するためにネットワークサービス22を定期的に調べることができる。コード更新必要性メソッド定義は、クライアントに関する情報を提供するバージョン記述子(versionDescriptor)文字列引数を受け取り、更新状況を最終的に示すブール値を返すことを仕様として指定している。
本明細書では特定のメソッド定義62を参照して記載しているが、他の実装および他のタイプのメソッド定義および呼び出しも可能である。例えば、既知のメソッド24は、ネットワークサービス入手可能性、環境検証、インストール可能なコード群、および更新に関する異なるパラメーターを指定することにより、単一のメソッド呼び出し25を通じて、パブリックインターフェイス23に呼び出すことが可能である。同様に、既知のメソッド24は、プロセス間通信メカニズム、またはリモートプロシージャコールを用いた非オブジェクト指向プログラムセマンティックスを通じて、呼び出すこともできる。
図5は、ソフトウェアインストールの処理および更新の工程を表す図70である。要求システム11およびサービスホストシステム12は、ランタイム環境検証と、ソフトウェアインストールと、必要ならばソフトウェア更新に作用する軽量な要求−応答プロトコルを実装する。要求システム11は、サービスホストシステム12のパブリックインターフェイス23に、メソッド呼び出し25を通じて、既知のメソッド24を呼び出すことによって、サービスホストシステム12と通信する。それに応じて、サービスホストシステム12は、ブール値44と、1つまたはそれ以上のコード群28と、オブジェクト29を含むことができる応答26を送信する。
前記要求‐応答プロトコルは、3つの論理的に定義されたフェーズで進行する。第1フェーズの環境検証フェーズ71では、要求システム11はサービスインストーラー提供メソッド74を呼び出して、サービスホストシステム12でネットワークサービスソフトウェアを入手できるかどうかと、特別な機能を要求しているかどうかを判断する。それに応じて、サービスホストシステム12は、ネットワークサービスソフトウェアが入手できるかどうかを示すブール値75を返す。ネットワークサービスソフトウェアがサービスホストシステム12で入手できる場合、要求システム11は、クライアント環境検証メソッド76を呼び出して、ネットワークサービスソフトウェアのインストールが作用するために不可欠な必要条件が満たされているかどうかを評価する際に用いる、述語オブジェクト30を受信する。必要に応じて、要求システム11は、すべての必要条件が完全に構築されるまで、それぞれの必要条件ごとに、サービスホストシステム12または他のサービスホストシステムに対して、サービスインストーラー提供メソッド74呼び出しおよびクライアント環境検証メソッド76の反復的、あるいは再帰的な繰り返しを実行することができる。
第2フェーズのインストールフェーズ72では、要求システム11は、サービスインストーラー入手メソッド77をサービスホストシステム12に呼び出して、ネットワークサービスソフトウェアのためにコード群28と、ヘルパーオブジェクト31と、必要ならば更新オブジェクト32を受信する。必要に応じて、要求システム11は、ネットワークサービスソフトウェアと、環境検証フェーズ71の最中に確認されたそれぞれの必要条件の両方をインストールするために必要なソフトウェアコンポーネントを入手するために、サービスホストシステム12または他のサービスホストシステムに対して、サービスインストーラー入手メソッド77呼び出しの反復的、あるいは再帰的に繰り返して実行することができる。
第3フェーズの更新フェーズ73では、要求システム11は、コード更新必要性メソッド78を呼び出して、ネットワークサービスソフトウェアが更新を必要としているかどうかを判断する。これに応じて、サービスホストシステム12は、ネットワークサービスソフトウェアの更新が必要とされているかどうかを示すブール値79を返す。
これら3つのフェーズ71、72、73に追加して、あるいはこれらの代りに、他のフェーズを提供することも可能である。例えば、環境検証、インストール、および更新は、要求システム11とサービスホストシステム12の間でやりとりされる単一の要求と単一の応答による1つのフェーズで実行することもできる。さらに、他のプロトコル形式および対話を使用することもできる。例えば、要求システム11は、サービスホストシステム12から、必要なネットワークサービスソフトウェアを応答処理なしで取り出すこともできる。
図6は、モバイルコードを通じて、ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するための方法90を表すフロー図である。方法90は、サービスホストシステム12との軽量な要求−応答プロトコルの対話を処理する要求システム11の観点から記載されている。方法90は、例えば、図1の要求システム11または他のコンポーネントによって実行可能な一連の処理操作、またはステップとして記載されている。
要求システム11は、インストール候補のネットワークサービス22を特定する(ブロック91)ことから開始される。次に、要求システム11は、さらに図7を参照して以下に説明するように、ネットワークサービス22の入手先候補であるサービスホストシステム12から必要なコンポーネントを入手できるかどうかを決定する(ブロック92)ことで、ターゲットネットワークサービス22の入手先のサービスホストシステム12の発見を試みる。
前記コンポーネントが発見できない場合(ブロック93)、要求システム11は別のサービスホストシステム12がネットワークサービスソフトウェアを持っているかどうかの判断を試みる(ブロック92)。反対に、入手できるコンポーネントが候補のサービスホストシステム12で発見された場合は(ブロック93)、要求システム11は、さらに図8を参照して以下に説明するように、インストールを進めることができるようになる前に必要とされるコンポーネントのリストを生成するために、述語オブジェクト30を実行することによって、ランタイム環境の検証を試みる(ブロック94)。
要求システム11のランタイム環境が、要求とされる必要条件を満たさないために妥当と検証されない場合は(ブロック95)、要求システム11は、ネットワークサービス22をインストールし実行する前に、それぞれ必要条件を満たす必要がある。1つの実施形態において、要求システム11は、必要条件であるコンポーネントの入手先となるサービスホストシステム12の発見を試みる(ブロック92)。必要条件であるコンポーネントは、ネットワークサービスソフトウェアの入手先と同じサービスホストシステム12によって提供されてもよいし、あるいは別個のソースによって提供されてもよい。ランタイム環境の検証に成功した場合には(ブロック95)、要求システム11は、さらに図9Aおよび図9Bを参照して以下に説明するように、ターゲットネットワークサービス22のためのコンポーネントをダウンロードし、インストールする(ブロック96)。上記の実施形態において、インストール処理は、コード群28で個々のインストールステップを実行するユーザーによって明示的に管理することができる。あるいは、インストールステップは、ヘルパーオブジェクト31に委任することが可能であり、このヘルパーオブジェクト31は、必要条件であるソフトウェアコンポーネントのコピーを発見し、ランタイム環境を検証し、ターゲットネットワークサービス22と必要条件であるコンポーネントを要求システム11にインストールする。
ダウンロードとインストールが失敗した場合は(ブロック97)、エラーが生成され(ブロック98)、方法は終了する。反対に、成功した場合は(ブロック97)、さらに図10を参照して以下に説明するように、ターゲットネットワークサービス22のためのソフトウェアコンポーネントが更新される(ブロック99)。上記の実施形態において、要求システム11は、更新オブジェクト32を自動タスクとして定期的に実行して、ターゲットネットワークサービス22の最新のバージョンまたはパッチが利用可能かどうかを調べることが好ましい。更新を行った後、本方法は終了する。
図7は、図6の方法90で使用される利用可能な自己インストールソフトウェアコンポーネントを判断するためのルーティン110を表すフロー図である。このルーティンの目的の1つは、ネットワークサービスのための自己インストールソフトウェアコンポーネントが、候補のサービスホストシステム12から入手可能かどうかを判断することである。
まず、サービスホストシステム12は、ターゲットネットワークサービス22のソースの候補として特定される(ブロック111)。いったん特定されると、要求システム11は、候補であるサービスホストシステム12からターゲットネットワークサービス22の入手可能性を要求し(ブロック112)、入手可能性または入手不可能性を示す応答45を受信する(ブロック113)。上記の実施の形態において、候補のサービスホストシステム12は、入手可能性状態を明示的に示すブール値を返す。その後、ルーティンは呼び出し元に戻る。
図8は、図6の方法90で使用されるランタイム環境を検証するためのルーティン120を表すフロー図である。このルーティンの目的の1つは、ターゲットネットワークサービス22のインストールおよび実行に不可欠な全ての必要条件が満たされていることを確認することである。
まず、要求システム11は、サービスホストシステム12から述語オブジェクト30を要求後、受信して、継続的に記憶する(ブロック122)。次に、要求システム11は、述語オブジェクト30を実行し、ランタイム環境を検証する(ブロック123)。要求システム11のランタイム環境の検証に成功した場合は(ブロック124)、ルーティンは呼び出し元に戻る。検証できない場合、述語オブジェクト30は、不足しているコンポーネントのリストを生成し(ブロック125)、その後ルーティンが戻る。上記の実施形態において、不足しているコンポーネントのリストが、ターゲットネットワークサービス22のインストールに必要なソフトウェアコンポーネント一式およびその他のパラメーターとして提供される。
図9Aおよび図9Bは、図6の方法90で使用される自己インストールソフトウェアコンポーネントをダウンロードし、インストールするためのルーティン130を表すフロー図である。このルーティンの目的の1つは、ターゲットネットワークサービス22をインストールするために、そしてインストールが委任される場合、ユーザーに代わってインストールステップを実行するために、必要とされる全てのコード群28をダウンロードすることである。
まず、要求システム11は、ターゲットネットワークサービス22のための1つまたはそれ以上のコード群28と、暗黙的にヘルパーオブジェクト31と、必要に応じて更新オブジェクト32を、サービスホストシステム12に要求する(ブロック131)。要求システム11は、それぞれのコード群28、ヘルパーオブジェクト31、および更新オブジェクト32を受信し、継続的に記憶する(ブロック132)。ユーザーが、ソフトウェアコンポーネントを手動でインストールすることを選択する場合、つまり、インストールヘルパーを使用しない場合には(ブロック133)、ルーティンは呼び出し元に戻り、ユーザーはインストールステップの手動実行に進む。
反対に、インストールがヘルパー機構43に委任され、ユーザーに代わって未解決の必要条件を満たし、インストールを行う場合は(ブロック133)、ヘルパーオブジェクト31が検索される(ブロック134)。それから、それぞれのコード群28は、次のとおり反復処理される(ブロック135−144)。それぞれのコード群ごとに(ブロック135)、ソフトウェアコンポーネントが不足している場合、つまり、不足しているソフトウェアコンポーネントのリストが、述語オブジェクト30によって生成された場合は(ブロック136)、要求システム11は、さらに図7を参照して上記で説明したように、不足しているソフトウェアコンポーネントがサービスホストシステム12から入手可能かどうかを判断する(ブロック137)。前記コンポーネントがサービスホストシステム12から入手できない場合(ブロック138)、要求システム11は、不足しているソフトウェアコンポーネントが入手可能な別のサービスホストシステムを見つけようと試みる(ブロック137)。不足しているソフトウェアコンポーネントがいったん発見されると(ブロック138)、要求システム11は、図8を参照して上記で説明したように、要求システム11のランタイム環境を検証して、ターゲットネットワークサービス22のインストールおよび実行に不可欠なすべての必要条件が満たされているかどうかを評価する(ブロック139)。ランタイム環境が検証されない場合、つまり、現時点で不足しているソフトウェアコンポーネントのリストを作成した述語オブジェクト30が、さらに不足しているソフトウェアコンポーネントのリストを生成した場合(ブロック140)、要求システム11は、さらに不足しているソフトウェアコンポーネントがサービスホストシステム12で発見できるかどうかの判断を再び試みる(ブロック137)。最後に、いったん不足しているすべてのソフトウェアコンポーネントが入手可能となり、ランタイム環境が検証されると(ブロック140)、述語オブジェクト30に指定されたステップでインストールを実行することによって、ソフトウェアコンポーネントがインストールされる(ブロック141)。インストールが成功しなかった場合は(ブロック142)、エラーが生成される(ブロック143)。反対にインストールが成功した場合、残りのコード群28それぞれについて処理を継続し(ブロック144)、その後ルーティンは呼び出し元に戻る。
図10は、図6の方法90で使用される自己インストールソフトウェアコンポーネントを更新するためのルーティン150を表すフロー図である。このルーティンの目的の1つは、インストールされたターゲットネットワークサービス22が、更新を必要とするかどうかをインストール成功後に判断することである。
更新オブジェクト32が検索されて(ブロック151)、要求システム11はサービスホストシステム12に更新が必要とされているかどうかを要求する(ブロック152)。サービスホストシステム12からの応答26を受信し(ブロック153)、更新が必要とされていない場合は(ブロック154)、ルーティンは呼び出し元に戻る。更新が必要とされている場合は、要求システム11は、サービスホストシステム12から必要な更新を要求する(ブロック155)。次に、要求システム11は、更新を受信し(ブロック156)、インストールを実行し(ブロック157)、その後ルーティンは呼び出し元に戻る。
上記の実施形態において、クライアント要求システム11は、サービスホストシステム12が提供するネットワークサービス22と同等の機能を持つサービスを、クライアントシステムが提供できるようにするコードを発見し、入手し、インストールし、更新することによって、実質的にサービスホストシステム12そのものになる。さらなる実施形態において、クライアント要求システム11がサービスホストシステム12から入手したコードは、サービスホストシステム12によって提供される機能と異なる機能を提供することもできる。例えば、入手されたコードは、クライアントシステムがサービスホストシステムと対話する機能を提供してもよい。他のタイプの機能を提供することも可能である。
ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するためのシステムを表すブロック図である。 図1のサービスホストシステムを表す機能ブロック図である。 図2の要求システムを表す機能ブロック図である。 図2のサービスホストシステムが、要求するクライアントに提供するパブリックインターフェイスを、一例として表すデータ構造図である。 ソフトウェアインストールの処理および更新の工程を表す図である。 ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するための方法を表すフロー図である。 図6のルーティンで使用される入手可能な自己インストールソフトウェアコンポーネントを判断するためのルーティンを表すフロー図である。 図6のルーティンで使用されるランタイム環境を検証するためのルーティンを表すフロー図である。 図6のルーティンで使用される自己インストールソフトウェアコンポーネントをダウンロードし、インストールするためのルーティンを表すフロー図である。 図6のルーティンで使用される自己インストールソフトウェアコンポーネントをダウンロードし、インストールするためのルーティンを表す、図9Aから続くフロー図である。 図6のルーティンで使用される自己インストールソフトウェアコンポーネントを更新するためのルーティンを表すフロー図である。
符号の説明
11 要求システム
12 サービスホストシステム
13 ネットワーク
14 ストレージ
15 ストレージ
21 マネージコードプラットフォーム
22 ネットワークサービス
23 パブリックインターフェイス
24 既知のメソッド
25 メソッド呼び出し
26 応答
27 ストレージ
28 コード群
29 オブジェクト
30 述語オブジェクト
31 ヘルパーオブジェクト
32 更新オブジェクト

Claims (4)

  1. ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステムであって、
    ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、を記憶するサービスホストシステムであって、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含む、サービスホストシステムと、
    基本通信フレームワークを介して前記サービスホストシステムと通信する要求システムと、
    を備え、前記要求システムが、
    前記インストール述語オブジェクトをダウンロードして実行すると共に、前記更新オブジェクトをダウンロードして定期的及び自動的に実行する検査機構であって、前記インストール述語オブジェクトが、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成するコードを備え、前記更新オブジェクトが、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認するコードを備える、検査機構と、
    前記ヘルパーオブジェクトをダウンロードして実行するヘルパー機構であって、前記ヘルパーオブジェクトが、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールするコードを備える、ヘルパー機構と、
    を備え、
    前記ネットワークサービスソフトウェアが前記要求システムにインストールされることにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようになることを特徴とする、システム。
  2. ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供する方法であって、
    サービスホストシステムが、ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、を記憶し、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含み、
    前記サービスホストシステムと要求システムとの間に基本通信フレームワークを確立し、
    前記要求システムが、前記インストール述語オブジェクトを実行して、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成し、
    前記要求システムが、前記ヘルパーオブジェクトを実行して、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールし、
    前記インストールにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようになり、
    前記要求システムが、前記更新オブジェクトを定期的及び自動的に実行して、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認する、
    ことを含む、方法。
  3. コンピュータを請求項1に記載のシステムとして機能させる、コンピュータプログラム。
  4. ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供する装置であって、
    ネットワークサービスを提供するネットワークサービスソフトウェアと、前記ネットワークサービスソフトウェアをインストールするためのインストールソフトウェアと、をサービスホストシステムに記憶させる記憶手段であって、前記ネットワークサービスソフトウェアが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供できるようにするコードを含み、前記インストールソフトウェアがインストール述語オブジェクトとヘルパーオブジェクトと更新オブジェクトとを含む、記憶手段と、
    前記サービスホストシステムと要求システムとの間に基本通信フレームワークを確立する手段と、
    を備え、前記要求システムが、
    前記インストール述語オブジェクトを実行して、前記サービスホストシステムを通じて、前記要求システムのハードウェア、周辺装置、ソフトウェアコンポーネントを検証することによりランタイム環境の必要条件を検証し、前記ネットワークサービスソフトウェアをインストールするために必要なコンポーネントが不足している場合には前記不足しているコンポーネントのリストを作成する、検証手段と、
    前記ヘルパーオブジェクトを実行して、前記不足しているコンポーネントを入手し、前記ネットワークサービスソフトウェアを前記インストールソフトウェアによりインストールする、ヘルパー手段と、
    前記更新オブジェクトを定期的及び自動的に実行して、前記サービスホストシステムと通信して前記ネットワークサービスソフトウェアの新しいバージョンが入手可能であるかどうかを確認する、更新手段と、
    を備え、
    前記ネットワークサービスソフトウェアが前記要求システムにインストールされることにより、前記要求システムが、前記サービスホストシステムが提供するサービスと同等のサービスを、他の要求システムに提供することを特徴とする、装置。
JP2004359136A 2003-12-12 2004-12-10 ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置 Expired - Fee Related JP4931343B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/736290 2003-12-12
US10/736,290 US8001542B2 (en) 2003-12-12 2003-12-12 Self-installing software components for network service execution

Publications (2)

Publication Number Publication Date
JP2005174347A JP2005174347A (ja) 2005-06-30
JP4931343B2 true JP4931343B2 (ja) 2012-05-16

Family

ID=34552778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004359136A Expired - Fee Related JP4931343B2 (ja) 2003-12-12 2004-12-10 ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置

Country Status (3)

Country Link
US (1) US8001542B2 (ja)
EP (1) EP1548585A3 (ja)
JP (1) JP4931343B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539469B2 (en) * 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US20070143446A1 (en) * 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US8060871B2 (en) * 2006-03-30 2011-11-15 Microsoft Corporation Servicing software through versioning
US7603334B2 (en) * 2006-04-06 2009-10-13 Microsoft Corporation Code coverage of declarative objects
US20070282801A1 (en) * 2006-06-05 2007-12-06 Ajay A Apte Dynamically creating and executing an application lifecycle management operation
US8429642B1 (en) * 2006-06-13 2013-04-23 Trend Micro Incorporated Viral updating of software based on neighbor software information
US20080016504A1 (en) * 2006-07-14 2008-01-17 Wesley Homer Cheng Dynamically programmable electronic data collection system combining declarative programming and native coding
US8464239B2 (en) 2007-06-11 2013-06-11 Red Hat, Inc. Real-time installation and/or configuration assistant
US8020177B2 (en) 2007-07-27 2011-09-13 Composite Ideas, Llc Contained command invocation middleware framework
US8612966B2 (en) * 2007-11-29 2013-12-17 Red Hat, Inc. Method and system for preparing software offerings having software application code and post-install configuration information
US8775577B1 (en) * 2007-12-18 2014-07-08 Amazon Technologies, Inc. System and method for configuration management service
US20100058320A1 (en) * 2008-09-04 2010-03-04 Microsoft Corporation Managing Distributed System Software On A Gaming System
US9032387B1 (en) * 2011-10-04 2015-05-12 Amazon Technologies, Inc. Software distribution framework
US8959504B2 (en) * 2011-10-18 2015-02-17 Microsoft Corporation Update scanning
EP2677719A1 (en) * 2012-06-19 2013-12-25 Alcatel Lucent A method for interfacing a communication terminal with networked objects
US9459978B2 (en) 2013-01-24 2016-10-04 Xcerra Corporation Automated test platform utilizing segmented data sequencers to provide time controlled test sequences to device under test
US9213616B2 (en) 2013-01-24 2015-12-15 Xcerra Corporation Automated test platform utilizing status register polling with temporal ID
US9336108B2 (en) * 2013-01-24 2016-05-10 Xcerra Corporation Scalable test platform
US9430348B2 (en) 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US9430349B2 (en) 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US10585654B2 (en) * 2015-12-04 2020-03-10 Vmware, Inc. Deployment of processing components of computing infrastructure using annotated command objects
US12223364B2 (en) * 2020-08-16 2025-02-11 observIQ, Inc. Remotely controllable monitoring agent with a dynamic set of subcomponents

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187456A (ja) * 1996-12-27 1998-07-21 Hitachi Ltd プログラムダウンロードシステム
US6219787B1 (en) * 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
US6289512B1 (en) * 1998-12-03 2001-09-11 International Business Machines Corporation Automatic program installation
JP3578266B2 (ja) * 2000-01-06 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
EP1292892A4 (en) * 2000-04-14 2006-11-15 Goahead Software Inc SYSTEM AND METHOD FOR UPGRADING NETWORKED EQUIPMENT
US6910128B1 (en) * 2000-11-21 2005-06-21 International Business Machines Corporation Method and computer program product for processing signed applets
US7155487B2 (en) * 2000-11-30 2006-12-26 Intel Corporation Method, system and article of manufacture for data distribution over a network
US20020165976A1 (en) 2001-05-02 2002-11-07 Jean-Charles Gonthier Software deployment in a data communications network
US20030093508A1 (en) 2001-10-18 2003-05-15 Seiko Epson Corporation System for installing and launching network applications
US7240107B2 (en) * 2002-10-15 2007-07-03 International Business Machines Corporation Self replicating installation method for operating system clusters

Also Published As

Publication number Publication date
US20050132354A1 (en) 2005-06-16
JP2005174347A (ja) 2005-06-30
EP1548585A3 (en) 2007-12-26
US8001542B2 (en) 2011-08-16
EP1548585A2 (en) 2005-06-29

Similar Documents

Publication Publication Date Title
JP4931343B2 (ja) ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置
US12450099B2 (en) Release lifecycle management system for multi-node application
US7024471B2 (en) Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment
US6202207B1 (en) Method and a mechanism for synchronized updating of interoperating software
US6209089B1 (en) Correcting for changed client machine hardware using a server-based operating system
US8775577B1 (en) System and method for configuration management service
US20040237082A1 (en) System, method, and API for progressively installing software application
EP1669858A2 (en) Method and system for providing a common operating system
US20040088397A1 (en) System and method for management of software applications
JP5248657B2 (ja) デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム
GB2333865A (en) Synchronised updating of interoperating software
JP2003521036A (ja) クライアント・コンピュータのブラウザからアプリケーションを受取り、インストールしかつランチするためのブラウザ独立及び自動装置及び方法
JP2008507775A (ja) ソフトウェアアプリケーションリポジトリ内のアプリケーションメタ情報の抽出と作成のためのシステムおよび方法
CN101336423A (zh) 将包括配置设置的应用程序从一个对等安装到另一个对等
CN112860251A (zh) 一种网站前端构建的方法与系统
CN112035122A (zh) 一种接口部署方法、系统及存储介质
CN1322421C (zh) 代理系统、计算机网络以及用于把代理系统从主计算机装载到计算机网络的客户计算机上的方法
US12026491B2 (en) System architecture for pattern-based software applications
US20060041665A1 (en) Network services applications
JP2002538516A (ja) インテリジェント・エイジェントにてダイナミックコマンドの機能を拡張する方法及び装置
US20070233717A1 (en) Generic product configuration framework for building product specific installers
JP4608964B2 (ja) モジュール更新プログラム
JP4882291B2 (ja) モジュール更新プログラム
CN100474285C (zh) 用于在装置上自动处理组件的方法和设备
EP4605824A1 (en) Software application management in heterogeneous managed networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120214

R150 Certificate of patent or registration of utility model

Ref document number: 4931343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees