JP2002508561A - 自動コンフィギュレーション発生 - Google Patents

自動コンフィギュレーション発生

Info

Publication number
JP2002508561A
JP2002508561A JP2000539408A JP2000539408A JP2002508561A JP 2002508561 A JP2002508561 A JP 2002508561A JP 2000539408 A JP2000539408 A JP 2000539408A JP 2000539408 A JP2000539408 A JP 2000539408A JP 2002508561 A JP2002508561 A JP 2002508561A
Authority
JP
Japan
Prior art keywords
entities
entity
code
determining
item
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.)
Pending
Application number
JP2000539408A
Other languages
English (en)
Inventor
カディール ビー. リー,
スコット ダブリュ. デイル,
Original Assignee
サポートドットコム, インコーポレイテッド
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 サポートドットコム, インコーポレイテッド filed Critical サポートドットコム, インコーポレイテッド
Publication of JP2002508561A publication Critical patent/JP2002508561A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 コンピュータによって実現されるシステムが、ユーザに対して所定の機能を提供するエンティティを決定し、その決定したエンティティに依存するアイテムを決定し、オーバーラップするエンティティを枝刈りし且つ同様のエンティティを結合することによってエンティティをグループ化し、且つエンティティのグループを所定のフォーマットを使用してパッケージングすることによってアプリケーションの状態を解析する。本システムは、決定論的な態様で基本的なデータ、メタデータ及び正しいアプリケーション機能に必要な依存性を列挙するために現在のマシン状態に基づいて自動的な関係解決を提供する。更に、状態情報はインストール、同期、バックアップ、リカバリィ、解析及び修復を包含する多様なアプリケーションにおいて使用すべく永続的なフォーマットで格納される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
歴史的に、ソフトウエアアプリケーションは、典型的に、集中させた計算セン
ターにおけるメインフレーム上でバッチ処理されていた。より最近に、廉価であ
るが強力なパソコンが使用可能となり過去のバッチ処理モードにとって代わって
いる。広範囲のユーザフレンドリィで生産性を向上させたソフトウエアを入手可
能であることはパソコンを普遍的なものとさせている。ユーザの特定の条件に対
してより容易にカスタム化させることが可能であるが、パソコンの急増は大規模
な計算処理を管理する作業をより困難なものとしている。過去においては、計算
センターにおけるメインフレームが集中されたシステム管理作業、就中、ライブ
ラリィ及びコンフィギュレーション管理及びソフトウエアバージョン制御等の作
業を実施していた。然しながら、多様なプロセッサ、周辺機器、及びソフトウエ
アアプリケーションを有する最近のネットワークにおいては、可能なコンフィギ
ュレーション(構成)の範囲は驚異的である。
【0002】 コンフィギュレーション情報の幾つかはディスク制御器ポートアドレス、通信
ポートアドレス及びビデオポートアドレス等のハードウエアに特定的なものであ
る。更に、ソフトウエアに特定的なコンフィギュレーションパラメータは、各ア
プリケーションに対するコンフィギュレーションファイル内において設定するこ
とが可能である。例えば、autoexec.batファイルとして知られてい
るIBM互換パソコン内に格納されているコンフィギュレーションファイルはパ
スステートメントを有することが可能である。更に、特定のアプリケーションソ
フトウエアは効果的にランさせるためには特定の初期化情報を必要とする場合が
ある。典型的に、この情報は初期化(.ini)ファイルにおいて設定すること
が可能である。
【0003】 然しながら、インストールされると、コンピュータコンフィギュレーションは
静的状態に止まるものではない。ユーザはファイルを開く/保存パスをアップデ
ートする等のソフトウエアを動作しながらコンフィギュレーションの好みをアッ
プデートすることが可能である。更に、ユーザは、例えば、ワールドワイドウエ
ブブラウザーソフトウエアの場合にブックマークデータ等の新たな情報を付加す
ることによってそのソフトウエアを「パーソナル化」することが可能である。更
に、より良い製品を構築する普段の競争圧力のために、ソフトウエアのレリーズ
がユーザへ配送される時までに、ソフトウエアの開発者達は既に次のレリーズに
ついて作業している。より親しみ易く且つより機能的なアプリケーションについ
て益々増加する要求に応えるために、ソフトウエアの開発者等は益々コンポーネ
ントモデルを採用しており、その場合には、アプリケーションは複数個のモジュ
ールまたはコンポーネントに還元される。その性能を向上するため又は以前には
使用可能でなかった新たな特徴を実現するために残りのコンポーネントのステー
タスに妥協することなしに単一のコンポーネントに対して修正を行うことが可能
である。この典型例においては、ソフトウエアアプリケーションは多数の別々の
ファイルの集まりであり、各ファイルは組立てたパッケージの完全性よりも各コ
ンポーネントの完全性のことにより気が付く関連のないソフトウエア開発者によ
って発生されている場合がある。ソフトウエアの再使用が促進されるが、該変形
例はより高いレベルのコンポーネント間の完全性を必要とする。驚くべきことで
はないが、より頻繁なアップデートはユーザに対してより機能的なソフトウエア
をもたらすものであるが、レリーズのインストールを管理することの複雑性は変
更の回数と共に不釣合いに増加する。
【0004】 歴史的に、コンポーネント間の関係は、手作業によって検知され且つコンポー
ネント状態はログに記録されていた。この情報はコンポーネント自身から外部的
なものであり且つコンポーネントが変化する度にアップデートされねばならない
。状態情報が開発時においてのみ記録されるので、開発時の後になされた変更は
失われる場合がある。変更の速度が増加し且つソフトウエアアッセンブリプロセ
スの複雑性が増加するに従い、コンポーネント間の正しい状態関係の外部的表示
はエラーを発生し易くなる。
【0005】 更に、使用期間中に、ユーザはソフトウエアを個人用のものとし、従って、状
態情報を変更する場合がある。ソフトウエアのインストールとソフトウエアの動
作との間の状態情報における差は予測不可能な動作を引き起こし且つ情報システ
ム(IS)スタッフからより多くのサポートを必要とする場合がある。
【0006】 商用動作におけるソフトウエアアプリケーションの現在の状態のメインテナン
スは、ソフトウエアのインストール、同期、バックアップ、リカバリィ、解析及
び修復を含む多様なアプリケーションにおいて必要とされる。コンピュータの動
的環境及びそのシステムコンフィギュレーションの詳細な知識が1つの問題を直
すために1つのコンポーネントに対しての修正が不適切にインストールされる場
合には別のエラーを導入する可能性がある状態を防止するために必要とされる。
更に、複数個の動作環境にわたり及び多様なプロセッサにわたっての互換性を検
証し且つ完全性を確保するためにはシステムコンフィギュレーションの正確な知
識が必要とされる。
【0007】
【発明が解決しようとする課題】
本発明は、ユーザに対して所定の機能を提供するエンティティを決定し、該決
定したエンティティに依存するアイテムを決定し、オーバーラップするエンティ
ティを枝刈りし且つ同様のエンティティを結合させることによってエンティティ
をグループ化し、且つ所定のフォーマットを使用して該グループのエンティティ
をパッケージングすることによってアプケーション状態を決定する。本システム
は、基本的なデータ、メタデータ及び正しいアリケーションの機能のために必要
な依存性を決定論的な態様で列挙するために現在のマシン状態に基づいて自動的
な関係の解決を提供する。アプケーションに関する完全で永続的なランタイム状
態情報が発生され、それはコンピュータシステムのインストール、同期、バック
アップ、リカバリィ、解析及び修復において使用することが可能である。
【0008】
【課題を解決するための手段】
1つの側面においては、該エンティティはユーザのアクセス可能性の階層を決
定することによって解析される。更に、各階層に対して、所定の基準に基づいて
ルートエンティティが列挙される。各列挙されたエンティティに対して、該エン
ティティの1つ又はそれ以上の依存性が決定される。
【0009】 別の側面においては、1つ又はそれ以上の候補を発生し、該候補を解析し、該
候補を確認し、且つ該候補と関連するアイテムをパッケージングすることによっ
てアイテム依存性を決定する。
【0010】 更に別の側面においては、エンティティのグループ化及びパッケージングは、
エンティティ間の関係を決定し、該エンティティ間の関係に基づいて該エンティ
ティを処理し、且つ該エンティティを所定のフォーマットとさせることによって
達成される。
【0011】 別の側面においては、該フォーマットは各アイテム及び各エンティティに関す
る詳細な情報を包含している。該フォーマットはゼロ又は1つの情報ブロック及
び1つ又はそれ以上のエンティティブロックを有している。複数個の情報ブロッ
クは、それらの関連するエンティティブロックと共に一体的にグループ化させる
ことが可能である。
【0012】 本発明の利点としては以下のものを包含している。本発明は、コンポーネント
自身から正しい状態の外部的表示を動的に再構築する。更に、状態構成処理はダ
イナミックなものであるから、本発明はその寿命サイクル全体にわたりソフトウ
エアに追従することが可能であり且つ実行期間中にアプリケーションに関しての
詳細な情報を必要とする多くの管理作業に対して情報を提供することが可能であ
る。
【0013】
【発明の実施の形態】
ここにおいて使用するように、候補とは1つ又はそれ以上のアイテムを発生す
るために使用される情報を包含するデータパケットである。アイテムは他のアイ
テムからの依存性と共に又はなしで処理することが可能なデータ又はメタデータ
の基本的な単位に関係している。エンティティとは複数個のアイテムからなるグ
ループである。エンティティはユーザに対して又はコンピュータシステムに対し
ての1組の所定の機能を表す。その最も簡単な形態においては、エンティティは
例えばコーレル(Corel)のワードパーフェクト、マイクロソフトのエクセ
ル等の単一のアプリケーションを表すことが可能である。エンティティは、又、
プリンタ設定、フォント設定、ネットワーク装置設定等の1つ又はそれ以上のオ
ペレーティングシステム設定に関する情報を有することが可能である。更に、エ
ンティティは、又、データファイル、初期化ファイル、ソースファイル、テンプ
レート等のファイルに関する情報を有することが可能である。各エンティティは
コンピュータシステムにおいて使用可能な論理的サブセットの全体的な機能であ
る状態を有している。システム状態は.exeファイル、.dllファイル、.
ocxファイル等の実行可能なファイルに関する情報を有することが可能である
。マシン状態は、レジストリィ設定、環境変数、サポートファイル、特定の時点
におけるデータファイルを包含することが可能である。
【0014】 次に、図1を参照すると、ソフトウエアアプリケーションのランタイム状態を
決定するプロセスを示したフローチャートである。図1において、本プロセスは
、初期的に、ユーザに対しての所定の組の機能に関連する1つ又はそれ以上のエ
ンティティが存在することを決定する(ステップ22)。そのエンティティがユ
ーザに対しての全ての有用な機能を記述する場合には、ルートエンティティが別
の装置又は別の場所又は別の時間においてユーザによって完全に自己満足する態
様で実施することが可能な目的を表す。
【0015】 次に、本プロセスは時間に関して変化する場合のあるアイテムの依存性を決定
する、ステップ24。アイテム依存性の決定も全ての依存性を見つけ出し且つ有
限な組の依存性を発生するための完全で且つ決定論的な処理である。本プロセス
はオーバーラップするエンティティを削除し且つ同様のエンティティを結合する
ことによってエンティティを1つの組にグループ化する。更に、そのアイテムの
依存性に対して何等変更がなされていない限り、変更されなかったアイテムに対
する状態発生は全ての前の状態発生と一貫性があり且つ同一のものである。最後
に、本プロセスはイグジット即ち抜け出る(ステップ28)前に該プロセスを後
で使用するために適切なフォーマットへパッケージする(ステップ26)。ステ
ップ26におけるエンティティのグループ化において、複数個のエンティティか
らなる1つのパッケージを明確に提示することが可能であるように、且つそのた
めに必要な全ての情報は実際のエンティティのあるなしに拘わらず1つのファイ
ルにおいて表現することが可能であるようにエンティティの交差(共通部分)が
決定される。正確性の解析を実施することが可能であるように各エンティティに
関して充分な情報が包含される。
【0016】 図2を参照すると、ステップ22(図1)がより詳細に示されている。図2に
おいて、ユーザアクセス可能性の1つ又はそれ以上の階層が決定される(ステッ
プ30)。階層の決定は、部分的には、アプリケーションに対するユーザのアク
セス可能性の容易性に基づいている。処理用のキューにおいてその優先度に基づ
いて階層が選択される(ステップ32)。典型的に、そのキュー内に残存する最
も高い優先度の階層が選択される。選択された階層に対して、所定の基準に基づ
いて1つ又はそれ以上のルートエンティティが列挙される(ステップ34)。該
所定の基準は、例えば、そのエンティティのステータス及びユーザにとって知覚
される有用性に関連する場合がある。オペレーティングシステムに依存する階層
情報はその階層内に存在する可能性のあるエンティティを示す。更に、エンティ
ティの列挙がそのエンティティが既に処理されているか又は排除されているかに
基づくので、状態を追従するために処理したエンティティの記録を維持し、その
場合にエンティティを複数個の階層又は交差階層内に包含させることが可能であ
る。
【0017】 ステップ34において列挙したエンティティの各々に対して、アイテム依存性
が決定される(ステップ36)。このステップは実行可能なファイルであるか又
はデータファイルであるかに拘わらず、1つの階層において見つかったデータを
実際のアイテムへ変換する。このステップは、又、エンティティのルートアイテ
ムへの変換でもある。1つの例は、リンクファイルから実行可能なファイルへの
変換、又はデータファイルからそのデータへアクセスする実行可能なファイルへ
の変換等がある。次いで、そのエンティティを構成している全ての依存性の決定
が発生される。例えばデータファイル等の幾つかのアイテムは、更なる依存性を
有するものではないので、終了点である場合がある。例えば実行可能なファイル
等のその他のアイテムは、そのアイテムから発生することが可能な多数の依存性
を有している場合がある。次の階層の選択の場合には、エンティティの所定のス
レッシュホールドが既に見つけられており、且つ、このスレッシュホールドに到
達した場合には、現在の階層の処理を停止することが可能であるという条件付き
決定が存在する場合がある。
【0018】 現在の階層の全ての列挙したエンティティが解析されると、本プロセスは処理
のために次の階層を選択する(ステップ37)。次いで、本プロセスは全ての階
層の処理を完了したか否かを決定する。そうでない場合には、本プロセスはステ
ップ38からステップ34へループバックして処理を継続して行う。そうでない
場合には、本プロセスは終了する(ステップ39)。
【0019】 次に、図3を参照すると、ステップ24(図1)がより詳細に示されている。
アイテム依存性を決定する場合に、本プロセスは、最初に、1つ又はそれ以上の
候補を発生する(ステップ40)。候補発生プロセスは現在検査中のルートアイ
テムの二進解析に大きく依存する。実行可能なファイル内に見つけられたストリ
ングを解析することによって候補を発生することが可能である。各ストリングは
1つの候補を表すことが可能である。然しながら発生された候補は無効なもので
ある場合がある。例えば、それらはファイルの名前である場合があり、それらは
メタデータに対するポインタ又は参照である場合があり、又はそれらは現在のエ
ンティティとシステム上のその他のアイテムとの間の依存性の観点からは役に立
たない情報である場合がある。従って、発生された候補は、システム上の他の有
効なアイテムを参照するものではない候補又は既に確立されているアイテムの間
の冗長な関係を有する候補を削除することによって枝刈りを行う(ステップ42
)。次いで、該候補を確認する(ステップ44)。ステップ44において、重要
であると考えられる候補解析をパスするアイテムが確認され、従って該候補とそ
の親のアイテムとの間にリンクが実際に構成される。該リンクはメタデータに対
する参照、ファイルに対する参照である場合があり、又はアプリケーションによ
って必要とされる外部情報に対する参照である場合がある。該リンクが確認され
且つその確認が成功した場合には、それらは、次いで、依存性発生の処理が行わ
れるアイテムとなるべくパスされる。候補の解析及び確認において、本プロセス
は格納されている一群のその他の候補及びアイテムへアクセスし且つ参照し、そ
れらに対して現在の候補が比較される。
【0020】 ステップ46において、該解析及び確認から結果的に得られるアイテムがパッ
ケージされる(ステップ46)。このパッケージングプロセスは1つのエンティ
ティに属する特定のアイテムを識別するために必要な情報を記録する。その情報
は、別のアプリケーションが、実際にそのアイテムを調査する必要性なしにその
アイテムに関する顕著な特性を決定するのに充分なものである。ファイルの名前
に加えて、ファイル寸法情報、そのファイルを識別するクロスチェック情報及び
ファイルバージョンがそのアイテムがアイテムパッケージングにおいて確認され
た後に付加される。パッケージされた各アイテムに対して、ステップ46が繰返
し行われて依存性のツリーにおいて現在のアイテムより下のアイテムが見つけ出
される。現在のアイテムより下の各アイテムに対して、更なる候補の発生を行う
ことのない原子的レベルのアイテムが見つかるまで本プロセスは反復的に継続処
理する。その点において、本プロセスは終了する(ステップ48)。
【0021】 図4はエンティティをグループ化し且つエンティティをパッケージする本処理
26(図1)をより詳細に示している。ステップ26は、初期的には、エンティ
ティの間又はエンティティの集合の間の交差即ち共通部分を決定することによっ
てエンティティ間の関係を決定する(ステップ50)。この処理は、エンティテ
ィを現在の処理レベルにおいて他のエンティティとの関係に配置させる。その関
係が見つかると、関連するエンティティを一体的にグループ化することが可能で
あり、可能な場合には1つのエンティティに形成することが可能であり、一方、
それらのエンティティが冗長なものである場合には削除するためにエンティティ
にマーク付けすることが可能である。次いで、これらのエンティティは決定した
エンティティ間の関係に基づいて処理する(ステップ52)。1つの側面におい
ては、これらのエンティティはそれらの依存性及びオペレーティングシステムに
関する関係又はより高いレベルの条件に従って処理される。例えば、特定のバー
ジョンのオペレーティングシステムの要求、該エンティティが使用する特定のハ
ードウエア、ディスク空間に関する特定のファイル寸法の要求、又はその点にお
けるその他のこのような依存性が処理される。最後に、該エンティティは後で使
用するために適切にフォーマットされたファイルとされる(ステップ54)。更
に、該エンティティと共にパッケージされることが必要なファイルに関する情報
又は更に列挙されるべき情報が集められ且つ該フォーマットされるファイル内に
配置される。従って、そのフォーマットされたファイルは個別的に処理すること
が可能な原子的データ又はメタデータを表す基本的なアイテムの集合である。好
適には、そのフォーマットは有用なサブセットのアプリケーション機能を表すた
めの拡張可能なフォーマットである。アイテムはタイプ付けされ且つ更なるサー
チを必要とすることなしに比較決定を行うためのタイプに関する充分な情報を有
している。アイテム情報を取得することに加えて、該フォーマットはアイテムに
論理的にグループ化し且つ依存性、記述及び管理オーバーヘッド等の付加的な情
報を提供するために増加する階層の情報を提供する。ステップ54から、図4の
プロセスは終了する(ステップ56)。
【0022】 階層的フォーマット70のグラフィックな1例を図5に示してある。フォーマ
ット70はエンティティグループ80及び90に対する永続的状態を格納してい
る。エンティティグループ80はゼロ又は1つの情報ブロック82を有している
。エンティティグループ80は情報ブロック82に記載されるように同様なエン
ティティレベル記述依存性を全てが共用する関連するエンティティの集合である
。エンティティ80は、又、1つ又はそれ以上のエンティティブロック84−8
6を有している。エンティティブロック84−86はアイテム発生ステップ24
(図3)期間中に作成された複数個のアイテムの集合である。エンティティブロ
ック84−86は所定の態様で関連している。例えば、それらは、関連した実行
可能なもの又は1組の異なるタイプの関連した文書ファイルを有することが可能
である。同様に、エンティティ90はゼロ又は1つの情報ブロック92と1つ又
はそれ以上のエンティティブロック94−96を有している。該フォーマットは
、テキストをベースとしたもの、二進をベースとしたもの、圧縮したもの及び/
又は暗号化したものとすることが可能である。該フォーマットの1つの実施例は
以下のとおりである。
【0023】 {INFO“エンティティセットラベル”} key=value key2=value2 ・・・ {INT“エントリブロックラベル”} itemtype=value1,value2,value3,valu
e4,... itemtype2=v2,v3,v4... ・・・ この実施例においては、ブロックは括弧及びブロックタイプ及びブロックラベ
ルで表されている。任意の数のラインで分離されたキー(key)値対が各ブロ
ックに続いている。そのキーがアイテムのタイプであると認識される場合には、
そのアイテムのタイプに依存する同一のライン上に予測された数の値が必要とさ
れる。3つのブロックタイプ、即ちINFO,ENT,DEPが使用される。I
NFOブロックタイプはエンティティの組に関する一般的な情報とエンティティ
のファイルに関する記述的情報とを包含している。ENTブロックタイプはその
他のエンティティ及び/又はアイテムの集合を包含しており、且つDETブロッ
クタイプはkey=value対として表される依存性(従属性)を包含してい
る。更に、5個又はそれ以上のアイテムのタイプ、即ちfile,pefile
,reg,ini,lnkは使用することが可能な基本的なタイプである。fi
leタイプはシステム上の任意のファイルに関係する。pefileタイプはポ
ータブル実行可能フォーマットにおける実行可能なファイルに関係する。reg
タイプはウインドウズのレジストリィにおけるエントリを表すメタデータに関係
する。iniタイプはiniスタイルサポートファイルにおけるエントリを表す
メタデータに関連し、且つlnkタイプは別のファイルに対するショートカット
を表す二進メタデータファイルに関係する。その他のタイプが付加的なデータ又
はメタデータを記述することが可能である。
【0024】 次に、図6にいくと、例示的なデスクトップのコンフィギュレーション即ち形
態が示されている。図6において、デスクトップ500はスペルチェックアプリ
ケーション502と、文書処理アプリケーション504と、スプレッドシートア
プリケーション506とを包含している。更に、トラッシュカン(ごみ箱)51
0がデスクトップ500上に示されている。デスクトップ500はステップ22
におけるようにルートエンティティを決定する場合の階層のうちの1つとして表
れる。その階層において、本プロセスはスペルチェックアプリケーション502
、文書処理アプリケーション504、スプレッドシートアプリケーション506
、トラッシュカン510を介して列挙を行う。本プロセスはトラッシュカン51
0を捨てるが、残りのものはエンティティとして取扱われ且つアイテム依存性が
決定される。アイテム依存性リストがアプリケーション502−506の各々に
対して発生される。次いで、該デスクトップはユーザに対してのソフトウエアの
インストール又はメインテナンスにおいて後に使用するための所定のフォーマッ
トにおいてエンティティとしてコード化される。
【0025】 図1のプロセスを実施する場合に、本システムは、スペクチェッカ及び文書処
理アプリケーション502及び504がタイプが同様であるか及び同様の依存性
を有しているかを決定する。従って、それらはアプリケーションが共通の辞書又
は類語辞典に依存することが可能であることを表す情報ブロック内にエンターさ
れる。更に、アプリケーション502及び504は1つ又はそれ以上のオペレー
ティングシステム条件を共有することが可能である。従って、情報ブロック82
はエンティティ502−504に対して発生される。従って、1つの情報ブロッ
ク(82)と各々が2つのアプリケーション(502−504)のうちの1つを
表す2つのエンティティブロック(84−86)からなるエンティティグループ
が作成される。更に、全体的なエンティティグループ(80)は、それらが同様
の位置に存在するか又はそれらが1組の又は1つのグループの関連するエンティ
ティを構成するように同一のパスを介してアクセス可能であるという点において
スプレッドシートアプリケーション506と類似性を有する場合がある。そうで
ある場合には、アプリケーション502−506はより大きなエンティティグル
ープを作成するために一緒にパッケージ化することが可能である。従って、最終
的なパッケージはアプリケーション(502−504)を包含するエンティティ
グループ(80)及びアプリケーション(506)を包含する別のエンティティ
グループ(90)から構成される。該パッケージは、コンピュータのインストー
ル、同期、バックアップ、リカバリィ、解析、修復を包含する多様なアプリケー
ションに対して適した状態情報を包含している。
【0026】 次に、図7−10を参照すると、マイクロソフトウインドウズのオペレーティ
ングシステム上で稼動する本発明の1実施例が示されている。図7はコンピュー
タに関する論理的エンティティを解析し、記述し、且つ複製するプロセス99を
示している。初期的には、プロセス99は1つ又はそれ以上のエンティティを探
し出す(ステップ100)。コンピュータシステム上でエンティティを見つけ出
した後に、プロセス99は、それが全てのエンティティの処理を完了したか否か
をチェックする(ステップ102)。1つ又はそれ以上のエンティティが未処理
である場合には、プロセス99はアイテムを発生する(ステップ104)。次に
、プロセス99は、そのアイテムが分解されるべきか否かをチェックする(ステ
ップ106)。そうである場合には、プロセス99は1つ又はそれ以上の候補を
発生する(ステップ108)。次いで、本プロセス99は、付加的な候補を処理
すべきか否かをチェックする(ステップ110)。そうである場合には、プロセ
ス99は、更に、該候補が確認されるべきであるか否かをチェックする(ステッ
プ113)。確認を行うべきでない場合には、プロセス99はステップ108へ
ループバックして候補を発生する動作を継続して行う。一方、ステップ113に
おいて、確認が行われるべき場合には、プロセス99はステップ104へループ
バックしてアイテム発生処理を継続して行う。
【0027】 ステップ106又はステップ110から、そのアイテムが分解されるべきでは
ないか又は候補が発生されるべきでない場合には、プロセス99はステップ11
2へ進行し、そこでそれがルートアイテムであるか否かをチェックする。そうで
ない場合には、プロセス99はステップ112からステップ108へ進行し、候
補発生処理を継続して行う。一方、プロセス99がルートアイテムにある場合に
は、本ルーチンはエンティティ創作処理99における次の階層に関して動作を行
う。
【0028】 ステップ102から、全てのエンティティが解析された場合には、プロセス9
9はステップ120へ進行しステップ104−113において前に決定したエン
ティティの相互参照を行う。プロセス99は、該エンティティに関して付加的な
オーバーヘッド処理を実施すべきか否かを決定する(ステップ122)。そうで
ない場合には、該エンティティはステップ124において先に説明した適切なフ
ォーマットを使用してパッケージ化される。一方、該エンティティの付加的な処
理をステップ126において行うことが可能である。
【0029】 次に、図8を参照すると、例示的なエンティティ、この場合にはデスクトップ
エンティティを解析するプロセス200が示されている。ステップ200におい
て、本プロセスは処理することが必要なリンクをチェックする。1つ又はそれ以
上のリンクが処理されることが必要である場合には、本プロセスはマイクロソフ
トウインドウズオペレーティングシステムの「スタートメニュー」に関連するフ
ァイルを初期的に解析する(ステップ204)。スタートメニューと関連するデ
ータはユーザによって一般的に使用されるソフトウエア又はデータファイルに関
する情報を供給し、且つ、従って、状態決定処理にとって高度に重要である。ス
テップ204から、本プロセスは、付加的なリンクが処理されるべく残っている
か否かをチェックする(ステップ206)。そうでない場合には、本プロセスは
既知の位置において全ての実行可能なファイルを探し出す(ステップ208)。
更に、本プロセスは、付加的なファイルが処理されるべく残っているか否かをチ
ェックする(ステップ210)。そうでない場合には、本プロセスは、探し出し
たファイルと関連するファイル拡張関連性を決定する(ステップ212)。ステ
ップ212から、本プロセスは、付加的な拡張が処理されるべく残っているか否
かを決定する(ステップ214)。そうでない場合には、本プロセスはそのパス
における実行可能なファイルを決定する(ステップ216)。その後に、本プロ
セスは、その他のファイルが処理されるべく残っているか否かを決定する(ステ
ップ218)。そうでない場合には、ステップ218から、処理すべき更なるフ
ァイルが存在しない場合には、本プロセスが更なるファイルが処理されるべく残
っているか否かをチェック(ステップ222)する前にグローバルな実行可能な
ものを決定する(ステップ220)。ステップ222から、全てのファイルが処
理されている場合には、本プロセスはエンティティ相互参照リストを作成すべく
進行する(ステップ224)。一方、ステップ202,206,210,214
,218又は222から、エンティティが見つかった場合には、本プロセスはス
テップ226へ進行し、そこでそのエンティティが処理されたか否かをチェック
する。そうである場合には、本プロセスは前の状態へ復帰する(ステップ228
)。一方、本プロセスはステップ226からステップ230においてアイテム発
生を実施するために進行する。
【0030】 次に、図9を参照すると、アイテム発生プロセス(処理)230がより詳細に
示されている。最初に、本プロセスは、そのアイテムが既知のタイプのものであ
るか否かをチェックする(ステップ232)。そうでない場合には、そのアイテ
ムはパッケージ化される(ステップ234)。一方、そのアイテムが既知のタイ
プのものである場合には、本プロセスは、そのファイルが実行可能なファイルで
あるか否かを決定する(ステップ236)。そうである場合には、本プロセスは
、更に、そのファイルがポータブル実行可能(PE)フォーマットのものである
か否かを決定する(ステップ238)。PEファイルフォーマットはデータの直
線的なストリームとして組織化される。それはMS−DOSヘッダ、実モードプ
ログラムスタブ、及びPEファイルシグナチャで始まる。その後に続くものはP
Eファイルヘッダ及びオプションのヘッダである。それを超えて、全てのセクシ
ョンヘッダが表れ、セクションボディの全てがそれに続く。セクションはファイ
ルの内容を包含しており、コード、データ、リソース、及びその他の実行可能な
情報を包含している。各セクションは、ヘッダとボディ(生のデータ)とを有し
ている。セクションは、ヘッダがデータを解読することが可能である充分な情報
で充填される限り、リンカーがそれらを組織することを所望する殆ど任意の態様
で組織化することが可能である。ファイルを閉じることは2,3のその他の雑多
情報の領域であり、再配置情報、記号テーブル情報、ライン番号情報、及びスト
リングテーブルデータを包含している。PEファイル内の情報は、基本的に、ど
のようにしてそのファイルを取扱うかを決定するためにシステム又はアプリケー
ションによって使用されるハイレベルの情報である。第一フィールドは、実行可
能なものがどのタイプのマシン、例えばDEC(商標)Alpha、MIPS
R4000、Intel(商標)x86、又はその他の何等かのプロセサのどの
タイプに対して構築されたものかを表すために使用される。システムはこの情報
を使用してファイルデータの残部に踏み込む前にそのファイルをどのようにして
取扱うかを迅速に決定する。
【0031】 ステップ238から、そのファイルがPEファイルである場合には、そのファ
イルは分解され且つ候補が発生される(ステップ240)。そのファイルがPE
ファイルでない場合には、本プロセスは、そのファイルのフォーマットが実行可
能な(即ちexe)二進ファイルであるか否かをチェックする(ステップ242
)。そうである場合には、本プロセスはその二進実行可能なものの分解を実施し
、且つ候補を発生する(ステップ244)。
【0032】 一方、ステップ242において、ファイルフォーマットがexe二進ファイル
フォーマットでない場合には、本プロセスは、ファイルフォーマットがexeス
クリプトフォーマットであるか否かをチェックするために進行する(ステップ2
46)。そうである場合には、該スクリプトexeファイルの分解及び候補の発
生が実施される(ステップ248)。一方、本プロセスはステップ246からア
イテムをパッケージ化するために進行する(ステップ250)。
【0033】 ステップ236において、フォーマットが実行可能なファイルフォーマットで
ない場合には、本プロセスは、そのファイルフォーマットが情報フォーマットで
あるか否かをチェックする(ステップ252)。そうである場合には情報ファイ
ルがその候補に対して発生される(ステップ254)。
【0034】 ステップ252において、そのファイルフォーマットが情報ファイルフォーマ
ットでない場合には、本プロセスはステップ256へ進行し、そこでそのファイ
ルが既知データフォーマットに属するものであるか否かをチェックする(ステッ
プ256)。そうである場合には、本プロセスはデータファイル候補発生を実施
する(ステップ258)。一方、本プロセスはステップ256からそのアイテム
をパッケージ化するために進行する(ステップ234)。ステップ234は、そ
のアイテムがステップ232において既知のタイプのものでない場合にも実施さ
れる。次に、図10を参照すると、アイテムを解析するためのプロセスが示され
ている。図10のプロセスにエントリすると、現在のモジュールが例えばモジュ
ールのタイプ等の情報に対してスキャニングされる(ステップ260)。モジュ
ールのスキャニングを完了すると、本プロセスは、付加的なモジュールがスキャ
ニングするために残っているか否かを決定する(ステップ262)。ステップ2
64において、そのタイプが未知のものである場合には、本プロセスはモジュー
ルスキャンプロセス260を繰返し呼び出す。そのタイプが既知のものである場
合には、本プロセスはステップ266へ進行し、そこでそのモジュールがタイプ
ODBCのものであるか否かをチェックする。そうである場合には、本プロセス
は適宜のモジュールフラグをターンオンさせるべく進行する(ステップ268)
。一方、そのモジュールがODBCモジュールでない場合には、本プロセスはそ
のモジュールがレジストリィモジュールであるか否かをチェックすべく進行する
(ステップ270)。そうである場合には、適宜のモジュールフラグがターンオ
ンされる(ステップ268)。ステップ270から、そのレジストリィモジュー
ルがレジストリィモジュールでない場合には、本プロセスは、そのモジュールが
COMモジュールであるか否かをチェックすべく進行する(ステップ272)。
そうである場合には、本プロセスはステップ268へ進行する。ステップ268
から、本プロセスはステップ276においてそのアイテムを確認すべく進行する
【0035】 全てのモジュールがステップ262においてスキャニングされた場合には、本
プロセスはストリングスキャン操作を実施する(ステップ280)。次いで、本
プロセスは、付加的なストリングが処理すべく残っているか否かを決定する(ス
テップ282)。そうである場合には、ストリングマッチング操作が実施される
(ステップ284)。ストリングマッチング操作から、本プロセスは、そのスト
リングがレジストリィタイプのものであるか否かを決定する(ステップ286)
。そうである場合には、レジストリィマッチング操作が実施される(ステップ2
88)。ステップ286又は288から、本プロセスは、そのストリングがOD
BCタイプのものであるか否かをチェックすべく進行する(ステップ290)。
そうである場合には、ODBCマッチング操作が実施される(ステップ292)
。ステップ290又は292から、本プロセスは、そのストリングがCOMタイ
プであるか否かを決定すべく進行する(ステップ294)。そうである場合には
、COMマッチング操作がステップ296において実施される。ステップ294
又はステップ296から、本プロセスは、そのファイルの名前が一致するか否か
を検知する(ステップ298)。そうである場合には、そのアイテムを確認する
ためにステップ276へ進行する前に、そのアイテムは同胞リストへ付加される
(300)。
【0036】 該ストリングのスキャンがステップ282において全てのストリングを介して
実施されると、本プロセスは関連アイテムを探し出すために同胞スキャンを実施
すべく進行する(ステップ302)。次いで、付加的なファイルがスキャニング
されるべく残存しているか否かを決定する(ステップ304)。そうでない場合
には、該アイテムがステップ306において確認される。一方、該アイテムが確
認される前に(ステップ276)、同胞一致操作が実施される(ステップ308
)。
【0037】 上述したように、ユーザに対して所定の機能を提供するエンティティを決定し
、決定したエンティティに依存するアイテムを決定し、オーバーラップするエン
ティティを枝刈りし且つ同様の即ち類似のエンティティを結合することによって
エンティティをグループ化し、且つ所定のフォーマットを使用するエンティティ
のグループをパッケージング即ちパッケージ化することによってアプリケーショ
ン状態に到達する。本システムは、決定論的な態様で、基本的なデータ、メタデ
ータ及びコンピュータシステムのインストール、同期、バックアップ、リカバリ
ィ、解析及び修復に必要な依存性を列挙するための現在のマシン状態に基づいて
自動的な関係解決を与える。
【0038】 ここに記載した技術は、ハードウエア又はソフトウエア、又はこれら2つの組
合せで実現することが可能である。好適には、本技術は、各々がプロセサと該プ
ロセサによって読取可能な格納媒体(揮発性及び非揮発性メモリ及び/又は格納
(記憶)要素を含む)と、適宜の入力及び出力装置とを有するプログラム可能な
コンピュータ上で実行可能なコンピュータプログラムとして実現される。プログ
ラムコードが入力装置を使用してエンターされたデータに対して適用され、上述
した機能を実施し且つ出力情報を発生する。該出力情報は1つ又はそれ以上の出
力装置へ付与される。
【0039】 図11はこのような1つのコンピュータシステム600を例示しており、それ
はCPU610と、RAM620と、I/O制御器630とを有しており、それ
らはCPUバス640によって結合されている。I/O制御器630は、又、I
/Oバス650によってキーボード660及びマウス670等の入力装置、及び
モニタ680等の出力装置へ結合されている。変形例は以下の特許請求の範囲内
のものである。例えば、入力装置としてマウスを使用する代わりに、感圧ペン又
はタブレットを使用してカーソル位置情報を発生することが可能である。
【0040】 更に、各プログラムは、好適には、コンピュータシステムと通信するためにハ
イレベルの手順又はオブジェクト指向プログラミング言語で実現される。然しな
がら、該プログラムは、所望により、アッセンブリ又はマシン言語で実現するこ
とが可能である。いずれの場合においても、その言語はコンパイル型又はインタ
プリタ型の言語とすることが可能である。
【0041】 このような各コンピュータプログラムは、好適には、格納(記憶)媒体又は装
置が記述された手順を実行するためにコンピュータによって読取られる場合に、
コンピュータをコンフィギュア即ち形態特定し且つ動作させるために、汎用又は
特別目的プログラム可能コンピュータによって読取可能な格納(記憶)媒体又は
装置(例えば、CD−ROM、ハードディスク又は磁気ディスケット)上に格納
される。本システムは、又、コンピュータプログラムで形態特定されたコンピュ
ータによって読取可能な格納(記憶)媒体として実現することが可能であり、そ
の場合には、そのように形態特定された格納即ち記憶媒体は、コンピュータをし
て特定の且つ予め定めた態様で動作させる。
【0042】 本発明をその実施例を参照して示し且つ説明したが、当業者は、形態及び詳細
において上述した及びその他の変更を特許請求の範囲及び精神から逸脱すること
なしに行うことが可能であることを理解する。
【図面の簡単な説明】
【図1】 アプケーションソフトウエアのランタイム状態を解析するための
プロセスのフローチャート。
【図2】 ルートエンティティを決定するためのプロセスのフローチャート
【図3】 アイテム依存性を決定するためのプロセスのフローチャート。
【図4】 グループを決定し且つエンティティをパッケージ化するプロセス
のフローチャート。
【図5】 アプリケーションソフトウエアを特性付ける場合のフォーマット
のブロック図。
【図6】 デスクトップコンフィギュレーションの例示的な概略図。
【図7】 マイクロソフトウインドウズオペレーティングシステム等のオペ
レーティングシステムを実行しているコンピュータ上の論理的エンティティを解
析し、記述し、且つ複製するプロセスのフローチャート。
【図8】 図7のコンピュータのデスクトップ上のエンティティを解析する
プロセスのフローチャート。
【図9】 アイテムを発生するプロセスのフローチャート。
【図10】 図7のプロセスと関連するモジュールをスキャニングするプロ
セスのフローチャート。
【図11】 その状態を本発明に基づいて決定すべきソフトウエアを包含す
るコンピュータの概略図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイル, スコット ダブリュ. アメリカ合衆国, カリフォルニア 94306, パロ アルト, ルーズベルト 30 Fターム(参考) 5B076 AA01 AB17 DC02

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーション状態を決定する方法において、 ユーザに対して所定の機能を提供するエンティティを決定し、 前記決定したエンティティに依存するアイテムを決定し、 オーバーラップするエンティティを枝刈りし且つ同様のエンティティを結合さ
    せることによってエンティティをグループ化し、 所定のフォーマットを使用して前記グループのエンティティをパッケージング
    する、 ことを包含している方法。
  2. 【請求項2】 請求項1において、前記エンティティを決定する場合に、更
    に、 ユーザアクセス可能性の階層を決定し、 各階層に対して、所定の基準に基づいてルートエンティティを列挙し、 各列挙したエンティティに対して、前記エンティティの1つ又はそれ以上の依
    存性を決定する、 ことを包含している方法。
  3. 【請求項3】 請求項1において、前記アイテム依存性を決定する場合に、
    更に、 1つ又はそれ以上の候補を発生し、 前記候補を解析し、 前記候補を確認し、 前記候補と関連するアイテムをパッケージングする、 ことを包含している方法。
  4. 【請求項4】 請求項1において、前記エンティティのグループ化及びパッ
    ケージングをする場合に、更に、 エンティティ間の関係を決定し、 前記エンティティ間関係に基づいて前記エンティティを処理する、 ことを包含している方法。
  5. 【請求項5】 請求項1において、更に、1つ又はそれ以上の永続的状態表
    現の発生を包含している方法。
  6. 【請求項6】 請求項5において、前記永続的状態情報があるフォーマット
    にあり、更に、 ゼロ又はそれ以上の情報ブロックを発生し、 1つ又はそれ以上のエンティティブロックを発生する、 ことを包含している方法。
  7. 【請求項7】 請求項1において、前記アプリケーション状態が完全で永続
    的なランタイム情報を提供する方法。
  8. 【請求項8】 請求項1において、更に、前記アプリケーション状態をコン
    ピュータシステムのインストール、同期、バックアップ、リカバリィ、解析及び
    修復において適用することを包含している方法。
  9. 【請求項9】 請求項8において、前記コンピュータシステムがウインドウ
    ズオペレーティングシステムを実行する方法。
  10. 【請求項10】 ウインドウズオペレーティングシステムを有するコンピュ
    ータシステムのインストール、同期、バックアップ、リカバリィ、解析及び修復
    に対してアプリケーション状態を決定する方法において、 ユーザに対して所定の機能を提供するエンティティを決定し、その場合に、 ユーザのアクセス可能性の階層を決定し、 各階層に対して、所定の基準に基づいてルートエンティティを列挙し、 各列挙したエンティティに対して、前記エンティティの1つ又はそれ以上の
    依存性を決定し、 依存性アイテムを決定し、その場合に、 1つ又はそれ以上の候補を発生し、 前記候補を解析し、 前記候補を確認し、 前記候補と関連するアイテムをパッケージングし、 所定のフォーマットを使用して前記決定したルートエンティティをグループ化
    し且つ前記エンティティをパッケージングし、その場合に、 エンティティ間の関係を決定し、 前記エンティティ間の関係に基づいて前記エンティティを処理し、 前記エンティティを所定のフォーマットに配置させる、 ことを包含している方法。
  11. 【請求項11】 アプリケーション状態を決定する命令を有するコンピュー
    タによって読取可能な媒体において、 ユーザに対して所定の機能を提供するエンティティを決定するためのコード、 前記決定したエンティティに依存するアイテムを決定するコード、 オーバーラップするエンティティを枝刈りし且つ同様のエンティティを結合さ
    せることによってエンティティをグループ化するコード、 所定のフォーマットを使用して前記グループのエンティティをパッケージング
    するコード、 を有しているコンピュータによって読取可能な媒体。
  12. 【請求項12】 請求項11において、前記エンティティを決定するコード
    が、更に、 ユーザアクセス可能性の階層を決定するコード、 所定の基準に基づいてルートエンティティを列挙するために各階層に関して動
    作するコード、 前記エンティティの1つ又はそれ以上の依存性を決定するために各列挙したエ
    ンティティに関して動作するコード、 を有しているコンピュータによって読取可能な媒体。
  13. 【請求項13】 請求項11において、前記アイテムの依存性を決定するコ
    ードが、更に、 1つ又はそれ以上の候補を発生するコード、 前記候補を解析するコード、 前記候補を確認するコード、 前記候補と関連するアイテムをパッケージングするコード、 を有しているコンピュータによって読取可能な媒体。
  14. 【請求項14】 請求項11において、前記エンティティをグループ化する
    コードが、更に、 エンティティ間の関係を決定するコード、 前記エンティティ間の関係に基づいて前記エンティティを処理するコード、 を有しているコンピュータによって読取可能な媒体。
  15. 【請求項15】 請求項11において、更に、永続的状態情報の1つ又はそ
    れ以上の表現を発生するコードを有しているコンピュータによって読取可能な媒
    体。
  16. 【請求項16】 請求項15において、前記永続的状態情報があるフォーマ
    ットで表現されており、更に、 ゼロ又は1つの情報ブロックを発生するコード、 1つ又はそれ以上のエンティティブロックを発生するコード、 を有しているコンピュータによって読取可能な媒体。
  17. 【請求項17】 請求項11において、前記アプリケーション状態が完全な
    永続的なランタイム情報を提供するコンピュータによって読取可能な媒体。
  18. 【請求項18】 請求項11において、前記アプリケーション状態がコンピ
    ュータシステムのインストール、同期、バックアップ、リカバリィ、解析及び修
    復において使用されるコンピュータによって読取可能な媒体。
  19. 【請求項19】 請求項18において、前記コンピュータシステムがウイン
    ドウズオペレーティングシステムを実行するコンピュータによって読取可能な媒
    体。
  20. 【請求項20】 コンピュータシステムにおいて、 プロセッサ、 前記プロセッサに結合しているメモリアレイ、 前記プロセッサへ結合しているディスプレイ、 前記プロセッサへ結合しているデータ格納装置であって、アプリケーション状
    態を決定するコードを具備するコンピュータによって読取可能な媒体を有してお
    り、前記媒体が、 ユーザに所定の機能を提供するエンティティを決定するコード、 前記決定したエンティティに依存するアイテムを決定するコード、 オーバーラップするエンティティを枝刈りし且つ同様のエンティティを1つ
    のグループへ結合するコード、 所定のフォーマットを使用して前記グループのエンティティをパッケージン
    グするコード、 を有しているデータ格納装置、 を有しているコンピュータシステム。
JP2000539408A 1997-12-18 1998-12-16 自動コンフィギュレーション発生 Pending JP2002508561A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/993,103 US5996073A (en) 1997-12-18 1997-12-18 System and method for determining computer application state
US08/993,103 1997-12-18
PCT/US1998/026863 WO1999031577A2 (en) 1997-12-18 1998-12-16 Automatic configuration generation

Publications (1)

Publication Number Publication Date
JP2002508561A true JP2002508561A (ja) 2002-03-19

Family

ID=25539093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000539408A Pending JP2002508561A (ja) 1997-12-18 1998-12-16 自動コンフィギュレーション発生

Country Status (8)

Country Link
US (3) US5996073A (ja)
EP (1) EP1040411A2 (ja)
JP (1) JP2002508561A (ja)
KR (1) KR100623245B1 (ja)
CN (1) CN1113291C (ja)
BR (1) BR9814309A (ja)
IL (1) IL136836A (ja)
WO (1) WO1999031577A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011359A (ja) * 2003-06-20 2005-01-13 Microsoft Corp コンポーネントを展開する方法

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996073A (en) * 1997-12-18 1999-11-30 Tioga Systems, Inc. System and method for determining computer application state
US7076765B1 (en) * 1998-06-24 2006-07-11 Kabushiki Kaisha Toshiba System for hiding runtime environment dependent part
US7246150B1 (en) 1998-09-01 2007-07-17 Bigfix, Inc. Advice provided for offering highly targeted advice without compromising individual privacy
US6256664B1 (en) 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US7197534B2 (en) 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US8914507B2 (en) 1998-09-01 2014-12-16 International Business Machines Corporation Advice provided for offering highly targeted advice without compromising individual privacy
US6263362B1 (en) 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US6714935B1 (en) * 1998-09-21 2004-03-30 Microsoft Corporation Management of non-persistent data in a persistent database
US6163859A (en) * 1998-12-02 2000-12-19 Support.Com, Inc. Software vault
US7277919B1 (en) 1999-03-19 2007-10-02 Bigfix, Inc. Relevance clause for computed relevance messaging
US6823376B1 (en) * 1999-04-26 2004-11-23 International Business Machines Corporation Method and system for capturing and storing system changes for application to multiple users and systems in a heterogeneous server environment
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6370646B1 (en) 2000-02-16 2002-04-09 Miramar Systems Method and apparatus for multiplatform migration
US20020026605A1 (en) * 2000-04-06 2002-02-28 Terry Robert F. System and method for real time monitoring and control of a computer machine environment and configuration profile
US6961765B2 (en) 2000-04-06 2005-11-01 Bbx Technologies, Inc. System and method for real time monitoring and control of networked computers
US6640317B1 (en) * 2000-04-20 2003-10-28 International Business Machines Corporation Mechanism for automated generic application damage detection and repair in strongly encapsulated application
US6681391B1 (en) * 2000-06-21 2004-01-20 Microsoft Corporation Method and system for installing software on a computer system
US6880147B1 (en) * 2000-09-07 2005-04-12 Rockwell Collins System and method for developing software utilizing determinative representations
US7305465B2 (en) * 2000-11-15 2007-12-04 Robert Wing Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US6918112B2 (en) 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US7356816B2 (en) * 2001-02-13 2008-04-08 Computer Associates Think, Inc. Method and apparatus for multiplatform migration
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
US6968551B2 (en) * 2001-06-11 2005-11-22 John Hediger System and user interface for generation and processing of software application installation instructions
US7533380B2 (en) * 2002-06-05 2009-05-12 Sap Ag Installation tool for enterprise management systems based on building blocks
US7133872B2 (en) * 2002-11-07 2006-11-07 Palo Alto Research Center Inc. Method and system for unifying component metadata
US7925246B2 (en) * 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US7353509B2 (en) * 2003-05-27 2008-04-01 Akamai Technologies, Inc. Method and system for managing software installs in a distributed computer network
US7203745B2 (en) * 2003-05-29 2007-04-10 Akamai Technologies, Inc. Method of scheduling hosts for software updates in a distributed computer network
US7281239B2 (en) * 2003-08-22 2007-10-09 Gateway Inc. Method for determining software load process
DE102004015834B3 (de) * 2004-03-31 2005-03-03 Fujitsu Siemens Computers Gmbh Verfahren zur benutzerspezifischen Konfiguration eines Computers aus einer Gruppe von vorbereiteten Computern
US7587706B2 (en) * 2004-05-14 2009-09-08 International Business Machines Corporation Method to provide secure multi-vendor system sizings
US20060026587A1 (en) * 2004-07-28 2006-02-02 Lemarroy Luis A Systems and methods for operating system migration
US7669200B2 (en) * 2004-09-02 2010-02-23 International Business Machines Corporation Resizing an install image
US20060101374A1 (en) * 2004-10-14 2006-05-11 Beng Giap Lim Enterprise management system installer
US20060129601A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation System, computer program product and method of collecting metadata of application programs installed on a computer system
US20070028231A1 (en) * 2005-08-01 2007-02-01 International Business Machines Corporation System and method for start menu and application uninstall synchronization
US9864628B2 (en) * 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
JP4791910B2 (ja) 2005-08-26 2011-10-12 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
KR100737521B1 (ko) * 2005-11-24 2007-07-10 한국전자통신연구원 어플리케이션 상태 정보 수집 및 복원 방법 및 시스템
WO2007076850A2 (de) * 2005-12-31 2007-07-12 Rwth Aachen Verfahren und vorrichtung zum schutz einer sich ständig ändernden datenkonfiguration
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7574591B2 (en) * 2006-01-12 2009-08-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7966346B1 (en) * 2006-01-23 2011-06-21 Coverity, Inc. Updating groups of items
US8065675B2 (en) * 2007-03-21 2011-11-22 Yahoo! Inc. In-page installer
US20080281838A1 (en) * 2007-05-03 2008-11-13 Resolute Solutions Corporation Method of determining dependencies between items in a graph in an extensible system
US20090044195A1 (en) * 2007-05-03 2009-02-12 Kivati Software, Llc method for performing tasks based on differences in machine state
US8549494B2 (en) * 2007-06-28 2013-10-01 Symantec Corporation Techniques for parsing electronic files
US8457044B2 (en) * 2007-09-24 2013-06-04 Qualcomm Incorporated Selective review of bundled messages from a wireless communication device
CN103678349B (zh) * 2012-09-10 2017-09-26 腾讯科技(深圳)有限公司 一种垃圾数据过滤方法和装置
US11190357B2 (en) * 2018-05-18 2021-11-30 Avive Solutions, Inc. Framework for ensuring software components are not corrupted
CN111428889A (zh) * 2019-01-08 2020-07-17 北京航空航天大学 一种划分外场可更换单元lru的装置和方法
CN110533062B (zh) * 2019-07-12 2024-04-09 平安科技(深圳)有限公司 多型号门控器切换控制方法、装置、电子设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2293741A1 (fr) * 1974-12-04 1976-07-02 Anvar Procede et systeme de rapprochement iteratif et simultane de donnees avec un ensemble de donnees de reference
US4023729A (en) * 1975-10-15 1977-05-17 Eaton Roger W Group communications system
WO1981002961A1 (en) * 1980-03-31 1981-10-15 Tocom Addressable cable television control system with video format data transmission
US5164941A (en) * 1990-01-24 1992-11-17 Canai Computer And Network Architecture Inc. System for implementing improved attempt-and-defer access contention protocol
JPH0658624B2 (ja) * 1990-03-30 1994-08-03 インターナショナル・ビシネス・マシーンズ・コーポレーション グラフィカル・ユーザ・インターフェース管理装置
US5101436A (en) * 1990-05-11 1992-03-31 Optigraphics Corporation Hybrid image editor
EP0458495A3 (en) * 1990-05-21 1993-04-14 Texas Instruments Incorporated Apparatus and method for managing versions and configurations of persistent and transient objects
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
US5283864A (en) * 1990-10-30 1994-02-01 Wang Laboratories, Inc. Computer apparatus and method for graphical flip book
US5291490A (en) * 1992-02-18 1994-03-01 At&T Bell Laboratories Node for a communication network
US5504879A (en) * 1992-07-16 1996-04-02 International Business Machines Corporation Resolution of relationship source and target in a versioned database management system
WO1994025913A2 (en) * 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
BR9402027A (pt) * 1993-05-28 1994-12-13 Xerox Corp Processo para gerenciar uma configuração e assegurar compatibilidade entre componentes num sistema de computação, e, processo para eliminar incompatibilidades entre software residente e software de migração num sistema de computador automatizado
US5617533A (en) * 1994-10-13 1997-04-01 Sun Microsystems, Inc. System and method for determining whether a software package conforms to packaging rules and requirements
US6052483A (en) * 1994-11-04 2000-04-18 Lucent Technologies Inc. Methods and apparatus for classification of images using distribution maps
CA2150967C (en) * 1994-12-22 2001-04-03 Jon C. R. Bennett Method and a scheduler for controlling when a server provides service with rate control to an entity
US5600565A (en) * 1994-12-22 1997-02-04 International Business Machines Corporation Method and apparatus for error reduction in item packaging
US5666501A (en) * 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US5835777A (en) * 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
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
US5996073A (en) * 1997-12-18 1999-11-30 Tioga Systems, Inc. System and method for determining computer application state
US6256505B1 (en) * 1998-05-28 2001-07-03 Ericsson Lnc. GSM transceiver unit equipped for time of arrival measurements
US6163859A (en) * 1998-12-02 2000-12-19 Support.Com, Inc. Software vault

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011359A (ja) * 2003-06-20 2005-01-13 Microsoft Corp コンポーネントを展開する方法

Also Published As

Publication number Publication date
US6442684B1 (en) 2002-08-27
KR100623245B1 (ko) 2006-09-11
EP1040411A2 (en) 2000-10-04
IL136836A0 (en) 2001-06-14
US5996073A (en) 1999-11-30
BR9814309A (pt) 2000-10-10
WO1999031577A2 (en) 1999-06-24
CN1284181A (zh) 2001-02-14
KR20010033354A (ko) 2001-04-25
US6158001A (en) 2000-12-05
IL136836A (en) 2004-02-19
WO1999031577A3 (en) 1999-08-19
CN1113291C (zh) 2003-07-02

Similar Documents

Publication Publication Date Title
US5996073A (en) System and method for determining computer application state
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
US8566810B2 (en) Using database knowledge to optimize a computer program
KR100513551B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법및 시스템
US6237144B1 (en) Use of relational databases for software installation
Carlsson et al. SICStus Prolog—the first 25 years
US7992141B2 (en) Method and apparatus for building executable computer programs using compiled program libraries
US6978401B2 (en) Software application test coverage analyzer
US5999942A (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US8010949B2 (en) Database breakpoint apparatus and method
US6766511B1 (en) Apparatus and method for performing symbolic resolution of modules using static representations of a trace
KR19990023212A (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법 및 시스템
JPH0926873A (ja) オブジェクト指向システムのクラス関係を識別する方法およびシステム
JPH08512152A (ja) インクリメンタル生成システム
US20050125776A1 (en) Determining the possibility of adverse effects arising from a code change
US6240546B1 (en) Identifying date fields for runtime year 2000 system solution process, method and article of manufacture
EP3563231A1 (en) Systems and/or methods for type inference from machine code
Greber Test Wizard: Automatic test generation based on Design by Contract
Both Command-Line Programming
II User's Manual
JP5190241B2 (ja) 情報処理装置、情報処理方法及びプログラム
Guillen Least Privilege Separation Kernel storage hierarchy prototype for the trusted computing exemplar project
Jenkin et al. A user-oriented computer interface for health professionals
KR20010002573A (ko) 컴퓨터 시스템으로의 소프트웨어 설치 및/또는 테스팅 방법
Jowers New Java: Java 1.4, Java 5, and Java 6

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080701