JP2009510563A - ソフトウェアパッケージのインストールを管理および組織するための方法およびシステム - Google Patents

ソフトウェアパッケージのインストールを管理および組織するための方法およびシステム Download PDF

Info

Publication number
JP2009510563A
JP2009510563A JP2008532414A JP2008532414A JP2009510563A JP 2009510563 A JP2009510563 A JP 2009510563A JP 2008532414 A JP2008532414 A JP 2008532414A JP 2008532414 A JP2008532414 A JP 2008532414A JP 2009510563 A JP2009510563 A JP 2009510563A
Authority
JP
Japan
Prior art keywords
software package
computer
storage module
received
package
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
Application number
JP2008532414A
Other languages
English (en)
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.)
Rovi Corp
Original Assignee
Macrovision 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 Macrovision Corp filed Critical Macrovision Corp
Publication of JP2009510563A publication Critical patent/JP2009510563A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

ソフトウェアパッケージのインストールを管理および組織するための方法およびシステムが開示される。一実施形態において、この方法は、コンピュータソースからソフトウェアパッケージを受信することを含む。受信されたソフトウェアパッケージの1つ以上の特性が識別される。受信されたソフトウェアパッケージの識別された1つ以上の特性は、第1の格納モジュールに格納される。また、受信されたソフトウェアパッケージは、第2の格納モジュールに格納される。

Description

(発明の分野)
本発明は、概して、コンピュータシステムに関し、より具体的には、ソフトウェアパッケージのインストールを管理および組織するための方法およびシステムに関する。
(発明の背景)
一般に、企業環境において、管理者は配信システムを利用し、1つ以上のコンピューティングマシンにソフトウェアパッケージを配備する。ソフトウェアパッケージは、通常、固有の特性(例えば、ソフトウェアパッケージの開発者、プログラム名、バージョン、言語、ビルドナンバー、公開日、等)を含んでおり、これらの特性は、管理者にとって、コンピュータマシン上にどのプログラムがインストールされるべきかを決定したり、あるいは企業における様々なソフトウェアパッケージの全てを管理および組織したりするために有用であり得る。しかしながら、これらの特性のうちの一部は、ソフトウェアパッケージがコンピュータマシンにインストールされる前には、ソフトウェアパッケージから容易には見出されない場合がある。一部の例において、その他の特性(例えば、ビルドナンバー)は、ソフトウェアパッケージがコンピュータマシンにインストールされた後でさえも、独立して決定することができない。このことは、管理者に対し、ソフトウェアパッケージおよびそれらに関連付けられた特性を識別、検査、管理、および組織することに対する挑戦を提示する。
加えて、管理者にとって、わずかな特性の差しか有さないソフトウェアパッケージを区別することは困難である。例えば、特定のソフトウェアパッケージは、異なるバージョンの別のソフトウェアパッケージを、これらのソフトウェアパッケージが互いにそれほど異ならない(例えば、それらの特性は、それらのビルドナンバーを除いて同じであり得る)場合でさえも、表し得る。さらに、ソフトウェアパッケージは、保護しない限り偶発的な改変に対して脆弱なファイルを含み得る。したがって、ソフトウェアパッケージを安全な位置に格納し、ソフトウェアパッケージに関連付けられたファイルに対する意図しない改変を防ぐことが望ましい。
以前は、ソフトウェアパッケージおよびそれに関連付けられた特性を管理および組織するために、ソフトウェアパッケージを格納し、それらの特性(例えば、バージョンおよびビルドナンバー)を表すように、(例えば、階層構造を有する)パブリックディレクトリが形成されていた。それにも関わらず、パッケージファイルに対する改変を防ぐために、特定のソフトウェアパッケージがそのようなパブリックディレクトリから安全な位置に移される場合に、そのソフトウェアパッケージに関連付けられた特性情報も同様に、パブリックディレクトリから移される。したがって、管理者にとって、ソフトウェアパッケージに対して安全な環境を提供し、ソフトウェアパッケージに関連付けられた特性情報を保護することは困難である。
加えて、特定のインストール技術(例えば、Windows(登録商標) Installe Transform(「MST」)ファイル)は、パッケージのインストールの間に、ソフトウェアパッケージおよびそれに関連付けられた特性(例えば、バージョンおよび/またはビルドナンバー)を著しく変化させ得る。ソフトウェアパッケージのインストールを適切に管理および組織するためには、管理者は、そのようなインストール技術が特定のソフトウェアパッケージに適用され得るかどうか、およびそのようなインストール技術がソフトウェアパッケージのインストールにどのように影響を与えるかについて、理解する必要があり得る。
(概要)
ソフトウェアパッケージのインストールを管理および組織するための方法およびシステムが開示される。一実施形態において、この方法は、コンピュータソースからソフトウェアパッケージを受信することを含む。受信されたソフトウェアパッケージの1つ以上の特性が識別される。受信されたソフトウェアパッケージの識別された1つ以上の特性は、第1の格納モジュールに格納される。また、受信されたソフトウェアパッケージは、第2の格納モジュールに格納される。
上述の特徴およびその他の好適な特徴(実装および要素の組み合わせの様々な新規な詳細を含む)は、添付の図面を参照してより具体的に記載され、特許請求の範囲において指摘される。本明細書中に記載されている特定の方法およびシステムは、単に例示を目的として示されており、限定を目的としていないことが理解されるべきである。当業者によって理解されるように、本明細書中に記載されている原理および特徴は、本発明の範囲から逸れることなしに、様々な数多くの実施形態において利用され得る。
本明細書の一部として含まれている添付の図面は、現在の好適な実施形態および上述の一般的な記載を示しており、以下に与えられる好適な実施形態の詳細な説明は、本発明の原理を説明し、教示する役目を担っている。
(詳細な説明)
ソフトウェアパッケージのインストールを管理および組織するための方法およびシステムが開示される。一実施形態において、方法は、ユーザからソフトウェアパッケージを受信することを含む。受信されたソフトウェアパッケージの1つ以上の特性が識別される。受信されたソフトウェアパッケージの識別された1つ以上の特性は、第1の格納モジュールに格納される。また、受信されたソフトウェアパッケージは、第2の格納モジュールに格納される。
以下の記載において、説明を目的として、本明細書中に開示されている様々な本発明のコンセプトの完全な理解を提供するために、特定の名称(nomenclature)が述べられる。しかしながら、これらの特定の詳細が、本明細書中に開示されている様々な本発明のコンセプトを実施するためには必須ではないことは、当業者には明らかである。
以下の詳細な説明の一部は、コンピュータメモリ内のデータビット上のオペレーションのアルゴリズムおよびシンボル表現に関連して提示されている。これらのアルゴリズムの記述および表現は、データ処理の当業者によって用いられる、自身の仕事の実体をその他の当業者に最も効率的に伝えるための手段である。本明細書中ではアルゴリズムは、所望の結果につながる一連の首尾一貫したステップであるとして考えられる。ステップは、物理的な量の物理的な処理(manipulation)を要求するステップである。通常、必須ではないが、これらの量は、格納、転送、組み合わせ、比較、および他の処理が可能な電気信号または磁気信号の形態を取る。場合によっては、主に共通の使用のために、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字、等として参照することが便利であることが分かっている。
しかしながら、これらの用語および同様の用語の全ては、適切な物理的な量に関連付けられており、これらの量に付与される単なる便利なラベルに過ぎないことが理解されるべきである。以下の議論から明らかなので、特に断りがない限り、記載全体を通して、例えば「処理」または「コンピューティング」または「計算」または「決定」または「表示」等の用語を使用する議論は、コンピュータシステムまたは同様の電子的なコンピューティングデバイスのアクションまたはプロセスを参照し、これらのアクションまたはプロセスは、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)な量として表されるデータを、コンピュータシステムのメモリまたはレジスタまたはその他のそのような情報格納装置、送信デバイスまたは表示デバイス内の物理的な量として同様に表されるその他のデータへと、処理および変換するものとする。
本発明はまた、本明細書中のオペレーションを実行する装置にも関する。この装置は、要求された目的のために特別に構成されたり、あるいはこの装置は、コンピュータに格納されたコンピュータプログラムによって選択的に作動または再構成される汎用コンピュータを含んでいたりし得る。そのようなコンピュータプログラムは、コンピュータ読み取り可能な媒体に格納され得る。コンピュータ読み取り可能な媒体は、例えば、限定するものではないが、フロッピー(登録商標)ディスク、光学ディスク、CD−ROM、および光磁気ディスクを含む任意のタイプのディスク、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EPROM、EEPROM、磁気カードまたは光学カード、あるいは電子命令を格納することに適した任意のタイプの媒体等であり、各媒体はコンピュータシステムのバスに接続される。
本明細書中に提示されるアルゴリズムおよび画面は、任意の特定のコンピュータまたはその他の装置に本質的には関連しない。様々な汎用システムが、本明細書中の教示にしたがってプログラムと共に用いられ得る。あるいは、要求された方法ステップを実行するための、より特殊な装置を構成することが便利なことが分かっている。様々なこれらのシステムに対して要求される構造は、以下の記載から明らかになる。加えて、本発明は、特定のプログラミング言語に関連して記載されてはいない。様々なプログラミング言語が、本明細書中に記載されている本発明の教示を実施するために用いられ得ることが、理解されるべきである。
本明細書中で用いられるとき、大文字および小文字の使用を問わず、以下の用語は以下の意味を有するものとする。
「コンピュータソース」は、コンピュータまたはネットワーク上の位置を意味し、この位置から、ソフトウェアパッケージが受信され得る。
「配信システム」は、ソフトウェアパッケージを1つ以上のターゲットのマシンに配備するシステムを意味する。
「インターフェースモジュール」は、ユーザとソフトウェアパッケージ格納モジュールおよびソフトウェアパッケージ特性格納モジュールとの間にインターフェースを提供するソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせを意味する。
「パッチファイル」は、既存のインストールされたソフトウェアパッケージにパッチ処理を施したり更新したりする自立型(self−contained)のファイルを意味する。
「プレ配備システム」は、1つ以上のターゲットのマシン上でソフトウェアパッケージをインストールすることなしに、ユーザが1つ以上のターゲットのマシン上でソフトウェアパッケージをテストすることを可能にするシステムを意味する。
「ソフトウェアパッケージ」は、ターゲットのマシン上にインストールされるソフトウェアプリケーションのパッケージを意味する。
「ソフトウェアパッケージ管理システム」は、1つ以上のコンピュータマシンに配信され得る(または配信された)ソフトウェアパッケージを管理するシステムを意味し、このシステムは、限定するものではないが、インターフェースモジュール、ソフトウェアパッケージ格納モジュール、ソフトウェアパッケージ特性格納モジュールを含む。
「ソフトウェアパッケージ特性格納モジュール」は、1つ以上のコンピュータマシンに配信され得る(または配信された)ソフトウェアパッケージに関連付けられた特性を格納するソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせを意味する。
「ソフトウェアパッケージ格納モジュール」は、1つ以上のコンピュータマシンに配信され得る(または配信された)ソフトウェアパッケージを格納するソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせを意味する。
「変換ファイル」は、ソフトウェアパッケージのインストールの間に、インストールの挙動を変化させるように独立して適用され得るファイルを意味する。
図1〜図3は、本発明の実施形態にしたがう、例示的なソフトウェア管理システムのブロック図を示している。ソフトウェア管理システムに加え、本明細書中の様々な教示を利用するその他のシステムもまた、本発明の様々な局面を実施するために用いられ、これらのシステムは、本発明の全体の範囲内に含まれると考えられるということは理解されるべきである。
図1において、ネットワーク図は、1人以上のユーザ100が、ソフトウェアパッケージ管理システム102を用いて、様々なソフトウェアパッケージおよびそれらに関連付けられた特性を管理および組織し得ることを示している。加えて、ソフトウェアパッケージ管理システム102は、1つ以上のマシン104に配信され得る(または配信された)ソフトウェアパッケージを格納するために安全な環境を提供する。ユーザ100は、配信システム106を用いて、ソフトウェアパッケージ管理システム102に格納されたソフトウェアをマシン104のうちの1つ以上に配信し得る。特定のソフトウェアパッケージは、企業内で内的に得られたり、あるいは例えば独立したソフトウェアベンダーまたは一部のその他のソースから外的に得られたりし得る。一実施形態において、マシン104は、単一の企業のコンピュータマシンを表し得る。
図1においては示されていないが、その他のコンピュータおよび/またはシステムもまた、実施形態に関連して使用され得る。例えば、ユーザ100、ソフトウェアパッケージ管理システム102、配信システム106、および/またはマシン104のうちの1つ以上は、ネットワークを介して互いに接続され得る。ネットワークは、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、バーチャルプライベートネットワーク(「VPN」)、あるいはユーザ100、ソフトウェアパッケージ管理システム102、配信システム106、および/またはマシン104の1つ以上の間でデータを送信するように構成されたその他のネットワークであり得る。加えて、プレ配備システム(図示されず)は、1つ以上のマシン104上にソフトウェアパッケージをインストールすることなしに、ユーザ100が1つ以上のマシン104上でソフトウェアパッケージをテストすることを可能にし得る。プレ配備システムは、(例えば、ネットワークを介して)マシン104とソフトウェアパッケージ管理システム102との間に接続され得る。
図2は、ソフトウェアパッケージ管理システム102が、インターフェースモジュール202、ソフトウェアパッケージ格納モジュール204、およびソフトウェアパッケージ特性格納モジュール206を含むことを示している。インターフェースモジュール202、ソフトウェアパッケージ格納モジュール204、およびソフトウェアパッケージ特性格納モジュール206は、ソフトウェア、ファームウェア、および/またはハードウェアであったり、またはソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせであったりし得る。当業者は、本明細書中に記載されているものとは異なるように、様々なモジュールが分配され得ることを理解し得る。様々なモジュールが、1つ以上のモジュールと組合され得、様々なコンピュータマシンに分配され得る。例えば、インターフェースモジュール202は、ソフトウェアパッケージ格納モジュール204および/またはソフトウェアパッケージ特性格納モジュール206と統合され得る。同様に、ソフトウェアパッケージ格納モジュール204は、ソフトウェアパッケージ特性格納モジュール206と統合され得る。
一実施形態にしたがうと、インターフェースモジュール202は、ユーザ100とソフトウェアパッケージ格納モジュール204およびソフトウェアパッケージ特性格納モジュール206との間のインターフェースとして機能する。ソフトウェアパッケージ格納モジュール204は、マシン104に配信され得る(または配信された)ソフトウェアパッケージを格納するように構成される。一実施形態において、ソフトウェアパッケージ格納モジュール204は安全なものであり、ユーザ100は、ソフトウェアパッケージの特定の格納位置を知ることができなかったり、インターフェースモジュール202を用いることなく、ソフトウェアパッケージ格納モジュール204に格納されたソフトウェアパッケージに直接的にアクセスすることができなかったりする。ソフトウェアパッケージ特性格納モジュール206(例えば、構造化クエリ言語(「SQL」)データベース)は、ソフトウェアパッケージ格納モジュール204に格納された所与のソフトウェアパッケージに関連付けられた様々な特性を格納するように構成され、インターフェースモジュール202を介してユーザ100にアクセス可能である。
図3において、ユーザ100は、インターフェース202を用いて、ソフトウェアパッケージをソフトウェアパッケージ管理システム102にインポートする。示されているように、ユーザマシン100を使用するユーザは、ソフトウェアパッケージ302をインターフェースモジュール202に提供する。一実施形態にしたがうと、インターフェースモジュール202は、ソフトウェアパッケージ302の格納を管理する機能およびそれに関連付けられた特性を、ソフトウェアパッケージ格納モジュール204およびソフトウェアパッケージ特性格納モジュール206のそれぞれに提供する。具体的には、ユーザマシン100からソフトウェアパッケージ302を受信することに応答して、インターフェースモジュール202は、ソフトウェアパッケージ302の様々な特性(例えば、ソフトウェアパッケージの開発者、プログラム名、バージョン、言語、ビルドナンバー、公開日、等)を識別する。インターフェースモジュール202は、ソフトウェアパッケージ302のこれらの識別された特性を、ソフトウェアパッケージ特性格納モジュール206に格納する。インターフェースモジュール202はまた、ソフトウェアパッケージ302そのものを、ソフトウェアパッケージ格納モジュール204に格納するようにも構成される。
このように、一実施形態にしたがうと、ソフトウェアパッケージ格納モジュール204に格納されたソフトウェアパッケージに対し、それらに関連付けられた特性は、ソフトウェアパッケージ特性格納モジュール206に格納される。ユーザ100は、インターフェースモジュール202を使用して、そのようなソフトウェアパッケージおよびそれらの特性を管理し得る。例えば、インターフェースモジュール202は、ソフトウェアパッケージ302の特性とソフトウェアパッケージ特性格納モジュール206における既存のソフトウェア特性とを比較することによって、例えば、ソフトウェアパッケージ302がソフトウェアパッケージ格納モジュール204に格納された既存のパッケージと実質的に類似しているかどうか(例えば、両方のパッケージが同一または類似の特性を有しているかどうか)を決定するように構成される。一実施形態において、ユーザ100は、2つのソフトウェアパッケージが互いに実質的に類似しているかどうかを、インターフェースモジュール202が決定する方法を指定し得る。例えば図4Aは、一実施形態にしたがう、インターフェースモジュール202の例示的なスクリーンショットを示している。図4Aに示されているように、ユーザ100は、2つのソフトウェアパッケージが同じパッケージコード、製造コード、製造言語、製造バージョン、および/または変換ファイルのリストを有しているかどうか、そして2つのソフトウェアパッケージが互いに重複していたり、あるいは互いに実質的に類似していたりするかどうかを指定することができる。
このように、インターフェースモジュール202は、ソフトウェアパッケージ302とソフトウェアパッケージ格納モジュール204に格納された1つ以上のその他のソフトウェアパッケージとの間の関係を識別(および表示)するように適合される。インターフェースモジュール202はまた、(例えば、ソフトウェアパッケージ302がソフトウェアパッケージ格納モジュール204における既存のパッケージに実質的に類似していることを、インターフェースモジュール202が決定した場合に)ソフトウェアパッケージ302とソフトウェアパッケージ格納モジュール204に格納された1つ以上のその他のソフトウェアパッケージとの間の関係を、ユーザ100が定義することを可能にするように適合される。例えば図4Bは、一実施形態にしたがう、インターフェースモジュール202の別の例示的なスクリーンショットを示している。図4Bに示されているように、ユーザ100は、インターフェースモジュール202を介して、ソフトウェアパッケージ302が、ソフトウェアパッケージ格納モジュール204に格納された既存のパッケージの新しいバージョンであることを指定する。この場合、ソフトウェアパッケージ302は、ソフトウェアパッケージ格納モジュール204に格納された既存のパッケージの新しい「アクティブ」なバージョンになる。ユーザ100はまた、インターフェースモジュール202を介して、ソフトウェアパッケージ302が、名前を付けられるべき新しいソフトウェアパッケージであり、ソフトウェアパッケージ格納モジュール204に格納されるべきであり、既存のパッケージとは異なっていることを指定する。ユーザ100は、ソフトウェアパッケージ302の名前と共に、ソフトウェアパッケージ格納モジュール204内のソフトウェアパッケージ302の格納位置(例えば、グループ階層)を指定し得る。あるいは、インターフェースモジュール202は、ソフトウェアパッケージ302に、名前および格納位置を自動的に割り当てるように構成される。さらに、ユーザ100は、インターフェースモジュール202を介して、ソフトウェアパッケージ302が、ソフトウェアパッケージ格納モジュール204に存在するパッケージの既存のバージョンを上書きすることを指定し得る。この場合、インターフェースモジュール202は、パッケージの既存のバージョンを削除し、それをソフトウェアパッケージ302と共に、ソフトウェアパッケージ格納モジュール204においてパッケージの既存のバージョンが見出された位置へと移す。
一実施形態において、ユーザ100は、インターフェースモジュール202を用いて、例えば、異なるパッケージの特性を比較および/または表示したり、異なるパッケージ間の関係を定義したりする等によって、ソフトウェアパッケージ格納モジュール204に既に格納されているソフトウェアパッケージを管理し得る。
インターフェースモジュール202は、ソフトウェアパッケージ特性格納モジュール206に格納された特性が、ユーザに対して表示されたり、ユーザ100によって検索されたりすることを可能にする。したがって、ユーザ100は、特定のソフトウェアパッケージを識別、管理、抽出したり、あるいはソフトウェアパッケージをマシン104のうちの1つ以上に配信したりすることができる。例えば、インターフェースモジュール202は、パッケージレポートを生成し、ユーザ100に提供することができる。パッケージレポートは、ソフトウェアパッケージ格納モジュール204に格納された所与のソフトウェアパッケージの様々な特性を識別する。
加えて、インターフェースモジュール202は、ユーザマシン100上のパッケージファイルのローカルコピーを作ることによって、ソフトウェアパッケージ格納モジュール204に格納されたソフトウェアパッケージのコピーを、ユーザ100がチェックアウト(check out)することを可能にする。一実施形態において、インターフェースモジュール202は、ソフトウェアパッケージのチェックアウト用コピーに一意的な識別子を割り当て、ユーザマシン100上での格納のための一意的な位置を提供する。インターフェースモジュール202はまた、ソフトウェアパッケージ格納モジュール204におけるエントリを形成し、ソフトウェアパッケージのチェックアウト状態を示す。上述されたものと同じインポートプロセスを用いることによって、ユーザ100は、ソフトウェアパッケージのローカルコピーをソフトウェアパッケージ格納モジュール204にチェックイン(check in)し、ソフトウェアパッケージの特性をソフトウェアパッケージ特性格納モジュール206にチェックインすることができる。インターフェースモジュール202はさらに、ユーザ100が、ユーザマシン100からローカルパッケージを移し、ソフトウェアパッケージ格納モジュール204におけるパッケージのチェックアウト状態を削除することによって、チェックアウトをキャンセルすることを可能にする。一実施形態において、「管理者」の権限を有するユーザ100は、その他のユーザ100によって以前に実行されたチェックアウトをキャンセルすることができる。
ソフトウェアパッケージ特性格納モジュール206は、ソフトウェアパッケージ格納モジュール204内のソフトウェアパッケージの位置を決定する方法に関する情報(例えば、パス情報)を含む、ソフトウェアパッケージ格納モジュール204に格納されたソフトウェアパッケージの様々な特性を格納する。しかしながら、一実施形態にしたがうと、ソフトウェアパッケージ特性格納モジュール206に格納されたパス情報は、ユーザ100にアクセス可能ではない(例えば、インターフェースモジュール202を介してユーザ100に対して表示または提供されない)ので、ユーザ100は、ソフトウェアパッケージ格納モジュール204内のソフトウェアパッケージの位置を知ることができない。別の実施形態において、ソフトウェアパッケージ特性格納モジュール206は、ディレクトリの階層構造を用いることによってパッケージの特性を維持するので、ソフトウェアパッケージがソフトウェアパッケージ格納モジュール204に格納されている場合でさえも、異なるソフトウェアパッケージ間の関係は保存される。
ソフトウェアパッケージ格納モジュール204は、企業内のソフトウェアパッケージのインストールに対し、安全かつ集中的な格納を提供する。具体的には、ソフトウェアパッケージ格納モジュール204は、インストール用のパッケージファイルを格納し、これらのファイルに対するアクセスを確実に管理する。一実施形態にしたがうと、ユーザ100は、ソフトウェアパッケージ格納モジュール204内に格納されたソフトウェアパッケージのパス情報を知らないが(そして、ソフトウェアパッケージ格納モジュール204内に格納されたファイルに対して直接的にアクセスしたり、改変したりすることができないが)、インターフェースモジュール202を介して、ソフトウェアパッケージ特性格納モジュール206に格納されたパッケージの特性にアクセスすることができる。一実施形態にしたがうと、ソフトウェアパッケージ格納モジュール204に格納されたファイルを実際に改変し得るインターフェースモジュール202のオペレーションに対し、ソフトウェアパッケージ格納モジュール204に格納されたファイルに対する意図されない改変を防ぐために、そのようなオペレーションは、ファイルのワーキングコピー(working copy)上で機能し得る。
パッチファイル(例えば、Windows(登録商標) Installer Patch(「MSP」)ファイル)は、既存のインストールされたソフトウェアパッケージにパッチ処理を施したり更新したりする自立型のファイルである。変換ファイル(例えば、Windows(登録商標) Installer Transform(「MST」)ファイル)は、ソフトウェアパッケージのインストールの間に、インストールの挙動を変化させるように独立して適用され得るファイルである。インターフェースモジュール202は、パッチファイルまたは変換ファイルとソフトウェアパッケージ格納モジュール204内の既存のソフトウェアパッケージとの間の関係を決定し、かつユーザ100がソフトウェアパッケージ格納モジュール204内の特定のソフトウェアパッケージにこれらのファイルを追加することを可能にすることによって、パッチファイルまたは変換ファイルをソフトウェアパッケージ格納モジュール204にインポートするように、構成される。例えば、インターフェースモジュール202は、パッチファイルおよび/または変換ファイルを格納するためのソフトウェアパッケージ格納モジュール204内の適切な位置を識別し、パッチファイルおよび/または変換ファイルに関連付けられた特定の外部ファイルの位置を決定し、それらをソフトウェアパッケージ格納モジュール204にインポートし、パッチファイルおよび/または変換ファイルをソフトウェアパッケージ格納モジュール204にコピーし、パッチファイルおよび/または変換ファイルに関連付けられた特性(例えば、ディレクトリ構造、開発者、名前、バージョン、言語、ビルドナンバー、公開日、等)をソフトウェアパッケージ特性格納モジュール206にコピーするように構成される。ソフトウェアパッケージ格納モジュール204にインポートされ得るその他のファイル(および、ソフトウェアパッケージ特性格納モジュール206にインポートされ得る上記ファイルに関連付けられた特性)は、実行ファイル、オペレーティングシステムのスナップショット、拡張マークアップ言語(「XML」)ファイル、Windows(登録商標) Installer file(「MSI」)ファイル、Marimba native channel packager(「NCP」)ファイル、およびマージモジュール(「MSM」)ファイルを含むが、これらには限定されない。
図5は、一実施形態にしたがう、ソフトウェアパッケージのインストールを管理および組織するための例示的なプロセスの流れ図を示している。図5において、インターフェースモジュール202は、コンピュータソースからソフトウェアパッケージ302を受信する(502)。インターフェースモジュール202は、ソフトウェアパッケージ302の1つ以上の特性を識別する(504)。インターフェースモジュール202は、ソフトウェアパッケージ302の識別された1つ以上の特性を、第1の格納モジュール(例えば、ソフトウェアパッケージ特性格納モジュール206)に格納する(506)。インターフェースモジュール202は、ソフトウェアパッケージ302を、第2の格納モジュール(例えば、ソフトウェアパッケージ格納モジュール204)に格納する(508)。ソフトウェアパッケージ302の識別された特性に基づいて、インターフェースモジュール202は、ソフトウェアパッケージ302と第2の格納モジュールに格納された別のソフトウェアパッケージとの間の関係を識別する。例えば、インターフェースモジュール202は、ソフトウェアパッケージ302の特性にしたがって、ソフトウェアパッケージ302がその他のソフトウェアパッケージと実質的に類似していることを決定し得る。インターフェースモジュール202はまた、その他のソフトウェアパッケージの新しいバージョンとしてソフトウェアパッケージ302を指定したり、あるいは第2の格納モジュールにおけるその他のソフトウェアパッケージをソフトウェアパッケージ302で置き換えたりすることができる。一実施形態において、第2の格納モジュール内でのソフトウェアパッケージ302の位置は、ユーザ100にアクセス可能ではない。
図6は、一実施形態にしたがう、本システムと共に用いるための例示的なコンピュータアーキテクチャを示している。コンピュータアーキテクチャ600は、ユーザマシン100、マシン104、配信システム106、および/またはソフトウェアパッケージ管理システム102(インターフェースモジュール202、ソフトウェアパッケージ格納モジュール204、ソフトウェアパッケージ特性格納モジュール206のいずれかを含む)を実装するために用いられ得る。アーキテクチャ600の一実施形態は、情報を通信するためのシステムバス620、および情報を処理するための、バス620に接続されたプロセッサ610を含む。アーキテクチャ600はさらに、プロセッサ610によって実行されるべき情報および命令を格納するための、バス620に接続されたランダムアクセスメモリ(RAM)またはその他の動的な格納デバイス625(本明細書中では、メインメモリと称される)を含む。メインメモリ625はまた、プロセッサ610による命令の実行の間に、一時的な変数またはその他の中間的な情報を格納するためにも用いられ得る。アーキテクチャ600はまた、プロセッサ610によって用いられる静的な情報および命令を格納するための、バス620に接続されたリードオンリーメモリ(ROM)および/またはその他の静的格納デバイス626を含み得る。
データ格納デバイス627(例えば、磁気ディスクまたは光学ディスク、およびそれらに対応するドライブ)もまた、情報および命令を格納するために、コンピュータシステム600に接続され得る。アーキテクチャ600はまた、I/Oインターフェース630を介して、第2のI/Oバス650に接続され得る。複数のI/Oデバイス(表示デバイス643、入力デバイス(例えば、英数字入力デバイス642および/またはカーソル制御デバイス641)を含む)が、I/Oバス650に接続され得る。例えば、ウェブページおよびビジネス関連情報が、ユーザに対して表示デバイス643上に提示され得る。
通信デバイス640は、ネットワークを介してその他のコンピュータ(サーバまたはクライアント)にアクセスするためのものである。通信デバイス640は、モデム、ネットワークインターフェースカード、無線ネットワークインターフェース、またはその他の周知のインターフェースデバイス(例えば、Ethernet(登録商標)、トークンリング、またはその他のタイプのネットワークに接続するために用いられるデバイス)を含み得る。
本発明の方法およびシステムは、ソフトウェア配信システムとの関連で記載されてきたが、当業者は、記載された技術は、様々なソフトウェアを効率的に管理および組織するための任意の状況において用いられ得ることを理解し得る。
ソフトウェアパッケージのインストールを管理および組織するための方法およびシステムが記載されてきた。本発明の方法およびシステムは、特定の例およびサブシステムとの関連で記載されてきたが、本発明の方法およびシステムがこれらの特定の例またはサブシステムに限定されず、同様にその他の実施形態にも及ぶことは当業者には明らかである。
図1〜図3は、一実施形態にしたがう、例示的なソフトウェアパッケージ管理システムのブロック図を示している。 図1〜図3は、一実施形態にしたがう、例示的なソフトウェアパッケージ管理システムのブロック図を示している。 図1〜図3は、一実施形態にしたがう、例示的なソフトウェアパッケージ管理システムのブロック図を示している。 図4Aおよび図4Bは、一実施形態にしたがう、インターフェースモジュールの例示的なスクリーンショットを示している。 図4Aおよび図4Bは、一実施形態にしたがう、インターフェースモジュールの例示的なスクリーンショットを示している。 図5は、一実施形態にしたがう、ソフトウェアパッケージのインストールを管理および組織するための例示的なプロセスの流れ図を示している。 図6は、一実施形態にしたがう、本システムと共に用いるための例示的なコンピュータアーキテクチャを示している。

Claims (27)

  1. コンピュータソースからソフトウェアパッケージを受信することと、
    該受信されたソフトウェアパッケージの1つ以上の特性を識別することと、
    該識別された1つ以上の特性を第1の格納モジュールに格納することと、
    該受信されたソフトウェアパッケージを第2の格納モジュールに格納することと
    を包含する、コンピュータにインプリメントされる方法。
  2. 前記受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された別のソフトウェアパッケージとの間の関係を識別すること
    をさらに含む、請求項1に記載のコンピュータにインプリメントされる方法。
  3. 前記受信されたソフトウェアパッケージをその他のソフトウェアパッケージの新しいバージョンとして指定すること
    をさらに含む、請求項2に記載のコンピュータにインプリメントされる方法。
  4. 前記第2の格納モジュールにおける前記その他のソフトウェアパッケージを、前記受信されたソフトウェアパッケージによって置き換えること
    をさらに含む、請求項2に記載のコンピュータにインプリメントされる方法。
  5. 前記関係を識別することは、
    前記受信されたソフトウェアパッケージが前記その他のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの特性の関数として決定すること
    を含む、請求項2に記載のコンピュータにインプリメントされる方法。
  6. 前記第2の格納モジュール内での前記ソフトウェアパッケージの位置は、ユーザにアクセス可能ではない、請求項1に記載のコンピュータにインプリメントされる方法。
  7. 前記コンピュータソースから前記ソフトウェアパッケージを受信したことに応答して、該受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された既存のソフトウェアパッケージとの間の関係を、ユーザが定義することを可能にすること
    をさらに含む、請求項1に記載のコンピュータにインプリメントされる方法。
  8. 前記関係を前記ユーザが定義することを可能にすることは、
    前記受信されたソフトウェアパッケージが前記既存のソフトウェアパッケージの新しいバージョンであること、該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージを上書きしていること、または該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージとは異なる新しいパッケージであることを、該ユーザが指定することを可能にすること
    を含む、請求項7に記載のコンピュータにインプリメントされる方法。
  9. 前記受信されたソフトウェアパッケージが前記第2の格納モジュールに格納された既存のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの1つ以上の特性の関数としてユーザが指定することを可能にすること
    をさらに含む、請求項1に記載のコンピュータにインプリメントされる方法。
  10. コンピュータ読み取り可能な媒体であって、該媒体上には複数の命令が格納されており、該複数の命令は、コンピュータによって実行されたときに、該コンピュータに
    コンピュータソースからソフトウェアパッケージを受信することと、
    該受信されたソフトウェアパッケージの1つ以上の特性を識別することと、
    該識別された1つ以上の特性を第1の格納モジュールに格納することと、
    該受信されたソフトウェアパッケージを第2の格納モジュールに格納することと
    を実行させる、コンピュータ読み取り可能な媒体。
  11. 前記複数の命令は、前記コンピュータに
    前記受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された別のソフトウェアパッケージとの間の関係を識別すること
    を実行させる、請求項10に記載のコンピュータ読み取り可能な媒体。
  12. 前記複数の命令は、前記コンピュータに
    前記受信されたソフトウェアパッケージをその他のソフトウェアパッケージの新しいバージョンとして指定すること
    を実行させる、請求項11に記載のコンピュータ読み取り可能な媒体。
  13. 前記複数の命令は、前記コンピュータに
    前記第2の格納モジュールにおける前記その他のソフトウェアパッケージを、前記受信されたソフトウェアパッケージによって置き換えること
    を実行させる、請求項11に記載のコンピュータ読み取り可能な媒体。
  14. 前記複数の命令は、前記コンピュータに
    前記受信されたソフトウェアパッケージが前記その他のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの特性の関数として決定すること
    により、該受信されたソフトウェアパッケージと該その他のソフトウェアパッケージとの間の関係を識別させる、請求項11に記載のコンピュータ読み取り可能な媒体。
  15. 前記第2の格納モジュール内での前記ソフトウェアパッケージの位置は、ユーザにアクセス可能ではない、請求項10に記載のコンピュータ読み取り可能な媒体。
  16. 前記複数の命令は、前記コンピュータに
    前記コンピュータソースから前記ソフトウェアパッケージを受信したことに応答して、該受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された既存のソフトウェアパッケージとの間の関係を、ユーザが定義することを可能にすること
    を実行させる、請求項10に記載のコンピュータ読み取り可能な媒体。
  17. 前記複数の命令は、前記コンピュータに
    前記受信されたソフトウェアパッケージが前記既存のソフトウェアパッケージの新しいバージョンであること、該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージを上書きしていること、または該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージとは異なる新しいパッケージであることを、ユーザが指定することを可能にすること
    により、前記関係を該ユーザが定義することを可能にさせる、請求項16に記載のコンピュータ読み取り可能な媒体。
  18. 前記複数の命令は、前記コンピュータに
    前記受信されたソフトウェアパッケージが前記第2の格納モジュールに格納された既存のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの1つ以上の特性の関数としてユーザが指定することを可能にすること
    を実行させる、請求項10に記載のコンピュータ読み取り可能な媒体。
  19. プロセッサと、
    該プロセッサに接続されたメモリと
    を備えたコンピュータシステムであって、
    該メモリは命令を格納し、
    該命令は、該プロセッサによって実行されたときに、該プロセッサに
    コンピュータソースからソフトウェアパッケージを受信することと、
    該受信されたソフトウェアパッケージの1つ以上の特性を識別することと、
    該識別された1つ以上の特性を第1の格納モジュールに格納することと、
    該受信されたソフトウェアパッケージを第2の格納モジュールに格納することと
    を行わせる、コンピュータシステム。
  20. 前記命令は、前記プロセッサに
    前記受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された別のソフトウェアパッケージとの間の関係を識別させる、請求項19に記載のコンピュータシステム。
  21. 前記命令は、前記プロセッサに
    前記受信されたソフトウェアパッケージをその他のソフトウェアパッケージの新しいバージョンとして指定させる、請求項20に記載のコンピュータシステム。
  22. 前記命令は、前記プロセッサに
    前記第2の格納モジュールにおける前記その他のソフトウェアパッケージを、前記受信されたソフトウェアパッケージによって置き換えさせる、請求項20に記載のコンピュータシステム。
  23. 前記命令は、前記プロセッサに
    前記受信されたソフトウェアパッケージが前記その他のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの特性の関数として決定すること
    により、該受信されたソフトウェアパッケージと前記その他のソフトウェアパッケージとの間の関係を識別させる、請求項20に記載のコンピュータシステム。
  24. 前記第2の格納モジュール内での前記ソフトウェアパッケージの位置は、ユーザにアクセス可能ではない、請求項19に記載のコンピュータシステム。
  25. 前記命令は、前記プロセッサに
    前記コンピュータソースから前記ソフトウェアパッケージを受信したことに応答して、該受信されたソフトウェアパッケージと前記第2の格納モジュールに格納された既存のソフトウェアパッケージとの間の関係を、ユーザが定義することを可能にさせる、請求項19に記載のコンピュータシステム。
  26. 前記命令は、前記プロセッサに
    前記受信されたソフトウェアパッケージが前記既存のソフトウェアパッケージの新しいバージョンであること、該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージを上書きしていること、または該受信されたソフトウェアパッケージが該既存のソフトウェアパッケージとは異なる新しいパッケージであることを、ユーザが指定することを可能にすること
    により、前記関係を該ユーザが定義することを可能にさせる、請求項25に記載のコンピュータシステム。
  27. 前記命令は、前記プロセッサに
    前記受信されたソフトウェアパッケージが前記第2の格納モジュールに格納された既存のソフトウェアパッケージと実質的に類似しているかどうかを、該受信されたソフトウェアパッケージの1つ以上の特性の関数としてユーザが指定することを可能にさせる、請求項19に記載のコンピュータシステム。
JP2008532414A 2005-09-26 2006-09-22 ソフトウェアパッケージのインストールを管理および組織するための方法およびシステム Withdrawn JP2009510563A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/235,970 US7774771B2 (en) 2005-09-26 2005-09-26 Method and system for managing and organizing software package installations
PCT/US2006/036961 WO2007038257A2 (en) 2005-09-26 2006-09-22 A method and system for managing and organizing software package installations

Publications (1)

Publication Number Publication Date
JP2009510563A true JP2009510563A (ja) 2009-03-12

Family

ID=37895714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008532414A Withdrawn JP2009510563A (ja) 2005-09-26 2006-09-22 ソフトウェアパッケージのインストールを管理および組織するための方法およびシステム

Country Status (7)

Country Link
US (1) US7774771B2 (ja)
EP (1) EP1934730A2 (ja)
JP (1) JP2009510563A (ja)
CN (1) CN101548267A (ja)
AU (1) AU2006294606A1 (ja)
CA (1) CA2623242A1 (ja)
WO (1) WO2007038257A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171628B1 (en) * 2002-02-06 2007-01-30 Perttunen Cary D Graphical representation of software installation
US20050204356A1 (en) * 2004-03-15 2005-09-15 Ramco Systems Limited Generic design approach for multi-layer architecture
US20070240134A1 (en) * 2006-02-28 2007-10-11 Joydeep Buragohain Software packaging model supporting multiple entity types
EP2147371A1 (en) * 2007-03-16 2010-01-27 International Business Machines Corporation Method, system and computer program for distributing customized software products
US7516367B1 (en) 2008-05-30 2009-04-07 International Business Machines Corporation Automated, distributed problem determination and upgrade planning tool
US9383985B2 (en) * 2011-06-10 2016-07-05 Unisys Corporation Automated modification of pre-generated MSI packaged applications
US9158534B2 (en) * 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture
CN107066240A (zh) * 2016-10-08 2017-08-18 阿里巴巴集团控股有限公司 组件功能的实现方法和装置
US10649753B2 (en) * 2016-12-14 2020-05-12 Verizon Patent And Licensing Inc. Enabling user device application modularity
US20180181381A1 (en) * 2016-12-23 2018-06-28 Microsoft Technology Licensing, Llc Application program package pre-installation user interface
CN111061523B (zh) * 2019-11-25 2023-12-15 北京奇艺世纪科技有限公司 一种软件包调用管理方法、系统、装置及存储介质
CN110990051B (zh) * 2019-11-27 2023-07-21 锐捷网络股份有限公司 软件包依赖关系的维护方法、装置、介质和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738970B1 (en) * 1999-06-30 2004-05-18 Marimba, Inc. Method and apparatus for identifying changes made to a computer system due to software installation
US6327698B1 (en) * 1998-12-23 2001-12-04 Unisys Corp. Method for integrating models in a modelling tool into an object oriented repository
US20030216927A1 (en) * 2002-05-17 2003-11-20 V. Sridhar System and method for automated safe reprogramming of software radios
US20040019878A1 (en) * 2002-07-23 2004-01-29 Sreekrishna Kotnur Software tool to detect and restore damaged or lost software components
JP2004178206A (ja) * 2002-11-26 2004-06-24 Nec Corp ネットワークを利用したソフトウェア資産管理漏れ検出方法、システム、サーバ、及びプログラム
US20040148370A1 (en) 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US7313792B2 (en) * 2003-09-08 2007-12-25 Microsoft Corporation Method and system for servicing software
US20050289513A1 (en) * 2004-06-17 2005-12-29 International Business Machines Corporation Matrix pattern match techniques for uninstalling multiple dependent components
US7975266B2 (en) * 2004-07-30 2011-07-05 Sap Aktiengesellschaft Remote installation of computer resources

Also Published As

Publication number Publication date
US20070074205A1 (en) 2007-03-29
AU2006294606A1 (en) 2007-04-05
EP1934730A2 (en) 2008-06-25
CA2623242A1 (en) 2007-04-05
CN101548267A (zh) 2009-09-30
WO2007038257A2 (en) 2007-04-05
WO2007038257A3 (en) 2009-05-07
US7774771B2 (en) 2010-08-10

Similar Documents

Publication Publication Date Title
JP2009510563A (ja) ソフトウェアパッケージのインストールを管理および組織するための方法およびシステム
US11652852B2 (en) Intrusion detection and mitigation in data processing
US10614233B2 (en) Managing access to documents with a file monitor
US8341691B2 (en) Policy based selection of remediation
JP5243804B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US9170806B2 (en) Software discovery by an installer controller
US11750652B2 (en) Generating false data for suspicious users
EP3876122B1 (en) System, method and computer readable medium for identifying missing organizational security detection system rules
US11533182B2 (en) Identity-based security platform and methods
US9053442B2 (en) Multiple project areas in a development environment
US20220236999A1 (en) Unified way to track user configuration on a live system
JP5385991B2 (ja) 構成情報の取得が制限された構成要素を含むシステムの構成要素の構成情報を形成するためのシステム、プログラム、および方法
US20090049022A1 (en) Swapping Multiple Object Aliases in a Database System
CN110889112B (zh) 一种基于白名单机制的软件运行统一控制系统及方法
CN116601605A (zh) 在云平台上声明式供应资源
EP2565814B1 (en) Assigning access rights in enterprise digital rights management systems
US20170154266A1 (en) Intelligent browser element classification in web browsers where multiple browser elements are open
US11886889B2 (en) Managing configurations of system services running in a cluster of hosts by managing lifecycle of virtualization software
US20140025653A1 (en) Source Control Inheritance Locking
CN116382774A (zh) 一种使用安全监控语言生成计算机安全检测与响应代码的方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091201