JP2001051835A - アプリケーションが機能しないときにアプリケーションを自動的にアンインストールするための方法と装置 - Google Patents

アプリケーションが機能しないときにアプリケーションを自動的にアンインストールするための方法と装置

Info

Publication number
JP2001051835A
JP2001051835A JP2000182558A JP2000182558A JP2001051835A JP 2001051835 A JP2001051835 A JP 2001051835A JP 2000182558 A JP2000182558 A JP 2000182558A JP 2000182558 A JP2000182558 A JP 2000182558A JP 2001051835 A JP2001051835 A JP 2001051835A
Authority
JP
Japan
Prior art keywords
application module
target
computer
automatically
shared resource
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.)
Granted
Application number
JP2000182558A
Other languages
English (en)
Other versions
JP4842421B2 (ja
Inventor
E Jiisutaddo Glen
グレン・イー・ジイスタッド
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.)
FIINIKKUSU TECHNOLOGIES Ltd
Original Assignee
FIINIKKUSU TECHNOLOGIES Ltd
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 FIINIKKUSU TECHNOLOGIES Ltd filed Critical FIINIKKUSU TECHNOLOGIES Ltd
Publication of JP2001051835A publication Critical patent/JP2001051835A/ja
Application granted granted Critical
Publication of JP4842421B2 publication Critical patent/JP4842421B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Abstract

(57)【要約】 【課題】 不要になったアプリケーションを自動的にア
ンインストールする。 【解決手段】 ターゲット・アプリケーション・モジュ
ールを自動的にインストールし、そのターゲット・アプ
リケーション・モジュールが実行しなかったり、あるい
は正常に機能しない場合に自動的にターゲット・アプリ
ケーション・モジュールをアンインストールする。この
方法は、共有リソースがターゲット・メディア上に存在
しているかどうかを判別するステップと、もし共有リソ
ースが存在しているならば、アプリケーション・モジュ
ールがターゲット・メディア上で正常に機能していたか
どうかを判別して、アプリケーション・モジュールが正
常に機能しなかった場合にそのアプリケーション・モジ
ュールを自動的にアンインストールするステップを含
む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的には、コンピ
ュータ・システムの分野に関するものであり、具体的に
は、アプリケーション・モジュールが正常に機能しない
場合のターゲット・アプリケーション・モジュールの自
動アンインストールに関するものである。
【0002】
【従来の技術】インストール・プログラム自体がアプリ
ケーションであるインストール・プログラムを使用して
ターゲット・アプリケーションをインストールする仕組
みは数多くある。インストール・アプリケーションは、
ターゲット・アプリケーションの必要なコンポーネント
を抽出し、ターゲット・メディア上に配置し、必要なら
ばオペレーティング・システムに修正を加えてターゲッ
ト・アプリケーションが正常に実行されるようにする役
割を持つ。こうしたメカニズムでは、実行可能プログラ
ムやバッチ・ファイルを使用する。通常、アプリケーシ
ョン・プログラムのインストール作業はユーザによって
開始される。問題があれば、ユーザは、アプリケーショ
ン・プログラムが正常に動作しない場合にアプリケーシ
ョン・プログラムをアンインストールするよう求められ
る。
【0003】
【発明が解決しようとする課題】ただし、ユーザの知ら
ぬ間にユーザの同意を得ずにアプリケーション・プログ
ラムが自動的にインストールされていると、そのアプリ
ケーション・プログラムが正常に動作しなかったり、あ
るいは何らかの形で動作不能に陥った場合に、そのアプ
リケーション・プログラムのせいでシステムが動作しな
くなる可能性がある。
【0004】
【課題を解決するための手段】本発明は、ターゲット・
メディアにあるアプリケーション・モジュールを自動的
にアンインストールする方法を含む。一実施態様では、
この方法は、共有リソースがターゲット・メディアに存
在しているかどうかを判別するステップと、もし共有リ
ソースが存在しているならば、アプリケーション・モジ
ュールがターゲット・メディアで正常に機能していたか
どうかを判別して、アプリケーション・モジュールが正
常に機能しなかった場合にそのアプリケーション・モジ
ュールを自動的にアンインストールするステップを含
む。
【0005】他の実施の形態についてここで説明し請求
する。
【0006】
【発明の実施の形態】本発明は、ターゲット・アプリケ
ーション・モジュールが動作しなかったり、あるいは正
常に機能しない場合に自動的にそのターゲット・アプリ
ケーション・モジュールをアンインストールするための
方法と装置に関するものである。一実施形態では、コン
ピュータ・システムの電源を最初にオンにしたときに、
ソース・アプリケーション・モジュールは不揮発性メモ
リ上の共有リソースを検索し、もし見つからない場合は
共有リソースを生成し、共有リソース内の第1フラグと
第2のフラグを初期化する。共有リソースを生成する前
後に、ソース・アプリケーション・モジュールはターゲ
ット・メディアにターゲット・アプリケーション・モジ
ュールを自動的にインストールする。ターゲット・アプ
リケーション・モジュールは、起動すると、第1のフラ
グをリセットする。ターゲット・アプリケーション・モ
ジュールが正常に機能していれば、ターゲット・アプリ
ケーション・モジュールは第2のフラグをリセットす
る。ターゲット・アプリケーション・モジュールが正常
に機能しているかどうかを判別する基準はさまざまな要
因に左右されるため、異なることがある。
【0007】コンピュータ・システムの後発のパワー・
オン・セルフ・テスト(POST)でソース・アプリケ
ーション・モジュールが起動すると、ソース・アプリケ
ーション・モジュールは再び、共有リソースを検索し、
存在すれば、最初に第2のフラグを調べる。第2のフラ
グが第2のあらかじめ定められているカウントよりも大
きく(または等しく)、ターゲット・アプリケーション
・モジュールが第2のあらかじめ定められているカウン
トの間連続して正常に機能しなかったことを示す場合、
ソース・アプリケーション・モジュールは自動的に、タ
ーゲット・アプリケーション・モジュールをアンインス
トールまたは使用禁止にする。ソース・アプリケーショ
ン・モジュールは、オプションにより、共有リソース内
に第3のフラグを設定して、ターゲット・アプリケーシ
ョン・モジュールの再インストールを防止することもで
きる。
【0008】第2のフラグが第2のあらかじめ定められ
ているカウント以下の場合、ソース・アプリケーション
・モジュールは第1のフラグを調べる。第1のフラグが
第1のあらかじめ定められているカウントよりも大きく
(または等しく)、ターゲット・アプリケーション・モ
ジュールが第1のあらかじめ定められているカウントの
間連続して正常に起動しなかったことを示す場合、ソー
ス・アプリケーション・モジュールは自動的に、ターゲ
ット・アプリケーション・モジュールを再インストール
する。ただし、第1のフラグが第1のあらかじめ定めら
れているカウント以下の場合、ソース・アプリケーショ
ン・モジュールは第1のフラグと第2のフラグをインク
リメントして、終了し、ターゲット・アプリケーション
・モジュールが正常に機能していたことを示す。一実施
形態では、このプロセスは後発のPOST実行中にいつ
までも繰り返される。
【0009】定義 ここで説明するように、「コンピュータ・システム」と
は、データを処理することができる回路を備える製品の
ことである。コンピュータ・システムとしては、汎用コ
ンピュータ・システム(たとえば、サーバ、ラップトッ
プ・コンピュータ、デスクトップ・コンピュータ、パー
ムトップ・コンピュータ、パーソナル電子デバイスな
ど)、パーソナル・コンピュータ(PC)、ハードコピ
ー機器(たとえば、プリンタ、プロッタ、ファックス機
など)、銀行窓口機(たとえば、現金自動振込機)など
があるが、これらに限られるわけではない。インフォメ
ディアリとは、商品およびサービスの生産者の代わりに
情報を提供するウェブ・サイトのことであり、サプライ
ヤーおよびその他の企業が提供する製品/サービスに関
する関連情報を企業に提供する。コンテントとは、アプ
リケーション・プログラム、ドライバ・プログラム、ユ
ーティリティ・プログラム、ペイロードや、それらの組
み合わせ、さらに、グラフィックス情報資料(たとえ
ば、記事、株式市況)などのことであり、単一または任
意の組み合わせの形をとる。「ペイロード」とは、グラ
フィックスまたは情報資料(記事、株式市況など)を含
むメッセージのことで、ファイルやアプリケーションが
含まれる場合がある。一実施形態では、ペイロードはあ
らかじめ定められた時刻に、システムの大容量記憶メデ
ィアに転送される。さらに、「通信リンク」とは、通信
のメディアまたはチャネルのことである。通信リンクに
は、電話回線、モデム接続、インターネット接続、統合
デジタル通信網(「ISDN」)接続、非同期転送モー
ド(ATM)接続、フレーム・リレー接続、Ether
net(登録商標)接続、同軸ケーブル接続、光ファイ
バ接続、衛星回線接続(たとえば、デジタル衛星サービ
スなど)、無線接続、高周波(RF)リンク、電磁リン
ク、双方向ページング接続などと、さらにこれらの組み
合わせが含まれるが、これらに限られるわけではない。
【0010】さらに、オペレーティング・システム
(「OS」)のロードとは、オペレーティング・システ
ムのブートストラップ・ローダの初期配置のことであ
る。一実施形態では、OSのロード時に、通常、1セク
タ分の情報がハードディスクからシステム・メモリにロ
ードされる。それとは別に、ブートストラップ・ローダ
が、ネットワークからシステム・メモリにロードされ
る。OSの「ブート」とは、ブートストラップ・ローダ
が実行されることである。その結果、OSはシステムの
制御下に置かれる。OSのブート時に実行される動作に
は、システム構成設定、デバイス検出、ドライバのロー
ド、およびユーザ・ログインなどがある。OS実行時と
は、ブート段階の完了とOSによるアプリケーションの
実行の開始のことである。一実施形態では、OS実行時
に、OSはアプリケーションの実行または稼動またはそ
の両方のためユーザと対話する。パワー・オン・セルフ
・テスト(POST)とは、OSをロードする前にシス
テム・ハードウェアの構成を設定しテストするために実
行される命令群のことである。
【0011】システムの概要 本発明の実施形態が含まれているシステム例の説明をこ
こで説明する。
【0012】図1は、本発明の装置と方法を使用する情
報分配システム10の一実施形態のシステム・ブロック
図である。システム10は、インフォメディアリを提供
する機能に関するものである。主に、保証サービス登
録、インターネット・サービス登録、システム・プロフ
ァイル、およびユーザのプリファレンス(嗜好)から収
集されたインターネットのユーザ・プロファイルとシス
テム・プロファイルの安全なプライベート・リポジトリ
の構築および保守作業を伴う。最初に、この情報を使用
して、ユーザを購入ハードウェアおよびソフトウェア製
品のメーカーに登録し、次にオンラインまたはその他の
サービスのプロバイダに登録する。そのうちに、ユーザ
・データを使用して、ユーザ・プロファイルを作成し、
ユーザに関連ソフトウェアの更新およびアップグレード
を通知したり、関連製品のオンラインの購入を勧めた
り、1対1のカスタマイズされたマーケティングおよび
その他のサービスを利用できるようにする。
【0013】一実施形態では、2つのソフトウェア・モ
ジュールが本発明のさまざまな実施形態を実装するため
に用いられている。1つはユーザのシステムに常駐する
もので、あらかじめ定められたウェブ・サイトにアクセ
スする場合に使用する。たとえば、一実施形態では、オ
ペレーティング・システムおよび基本入出力システム
(BIOS)はコンピュータ・システムにプレインスト
ールされており、コンピュータ・システムの続く最初の
電源投入時に、説明のため第1のソフトウェア・モジュ
ールと呼ばれるアプリケーション(一実施形態では、第
1のソフトウェア・モジュールは初期スタートアップ・
アプリケーション(ISUA)であり、これについては
次のセクションで説明する)により、ブート前環境で1
つまたは複数の実行可能プログラムを起動することがで
きる。一実施形態では、第1のソフトウェア・モジュー
ルにより、OSのロード、ブート、実行または稼動また
はその両方を行う前に、1つまたは複数の実行可能プロ
グラムを起動できる。一実施形態では、ユーザは前記プ
ログラムの使用(つまり、第1のソフトウェア・モジュ
ールの使用)を選択するよう勧められ、また他の実施形
態では、プログラムは自動的に起動される。第1のソフ
トウェア・モジュールに含まれるプログラムにより、ツ
ールおよびユーティリティは適切な時期に動作できるよ
うになり、また適切なユーザ権限があれば、ユーザはP
Cのインターネット接続を介してドライバ、アプリケー
ション、および追加ペイロードを含む第2のソフトウェ
ア・モジュールをダウンロードすることができる。さら
にプログラムにより、OSの正常な起動に失敗した場合
にシステムのリモート管理を行うこともできる。
【0014】第2のソフトウェア・モジュールが送られ
ると、これはメモリ内に常駐し、第1のソフトウェア・
モジュールの転送されたコピーを使用禁止にすることが
できる。そのままシステムの不揮発性メモリ内に常駐し
ている第1のソフトウェア・モジュールのオリジナル・
コピーは、第2のソフトウェア・モジュールが機能しな
くなったり、破損したり、削除されるまでアイドル状態
を続け、そのような事態になったときに、上述のように
オリジナルの第1のソフトウェア・モジュールのコピー
を再び転送する。第2のソフトウェア・モジュールは、
詳細な加入資料をダウンロードする権限を求めるため、
ユーザをインターネット上の特定のサーバに接続し、あ
らかじめ定められたウェブ・サイトに導くアプリケーシ
ョンを含んでいてよい。第2のソフトウェア・モジュー
ルはさらに、第1のソフトウェア・モジュールのコンテ
ントと同じまたは類似のコンテントを含むこともでき
る。
【0015】一実施形態では、システムは読み取り専用
メモリBIOS(ROM BIOS)に格納される初期
ペイロードを含むこともできる。一実施形態では、初期
ペイロードは第1のソフトウェア・モジュール(たとえ
ば、ISUA)の一部である。他の実施形態では、初期
ペイロードはROM BIOS内に、第1のソフトウェ
ア・モジュールとは別のモジュールとして格納される。
一実施形態では、パワー・オン・セルフ・テスト(PO
ST)が実行されてからOSをブート、ロード、および
/または実行するまでの間に初期ペイロードをROM
BIOSから起動して画面に表示する。これは、システ
ムの製造、組み立て、テスト時や、エンド・ユーザが最
初にシステムをアクティブにするときなど、あらかじめ
定められた時間に実行される。他の実施形態では、この
初期ペイロードは、システムの製造、組み立て、テスト
時や、エンド・ユーザが最初にシステムをアクティブに
するときなど、あらかじめ定められた時間にあらかじめ
定められた場所(システムのハードディスクなど)にコ
ピーされる。一度コピーされたペイロードは、POST
が実行されてからOSが動作するまでの間に実行され、
グラフィック、グラフィックまたは情報資料を含むメッ
セージ、アニメーション、Joint Photogr
aphic Experts Group(JPEG)
/Moving Picture Experts G
roup(MPEG)形式の素材を画面に表示すること
ができる。追加プログラムおよび/またはペイロードが
送られると(インターネットやその他の外部接続を介し
て)、表示画面を使って、OSのブートまでの間にメッ
セージやグラフィックスの形でカスタマイズされた画面
を提供することができる。さらに、第1のソフトウェア
・モジュールで送られた実行可能プログラム、さらにウ
ェブ・サイトからダウンロードされた後発のプログラム
(第2のソフトウェア・モジュールなど)を使用して、
PCを調査し、インストールされているデバイス、ドラ
イバ、およびアプリケーションのいろいろな種類を判別
することができる。一実施形態では、引用により本発明
に取り込まれている「Method and Appa
ratus for Automatically I
nstalling And Configuring
Software on a Computer」と
いう名称の米国同時係属出願第___号において説明さ
れているように、第1のソフトウェア・モジュールを使
用して、ユーザ用のショートカットおよび/またはブッ
クマークを識別し、自動的に作成する。ウェブ・サイト
からダウンロードされたプログラムは、ユーザのプリフ
ァレンスに基づいてユーザ・プロファイルを収集し保持
するソフトウェアを含むことができる。このような情報
をインフォメディアリに送り、その後、その情報の一部
および/または情報に基づいて編集されたデータをサプ
ライヤやその他の企業に転送し、前記サプライやおよび
その他の企業が提供する情報の更新または改訂を受け取
ることができる。
【0016】図1では、情報分配システム10は1つま
たは複数の通信リンク301〜30Nを介して1つまたは
複数のユーザ・コンピュータ・システム401〜40
N(「40」)に接続するサービス・センタ20を備え
る。サービス・センタ20は1つまたは複数のサーバ2
2、1つまたは複数のデータベース24、および1つま
たは複数のコンピュータ261〜26Mを備える。1つま
たは複数のコンピュータ261〜26Mは、複数のユーザ
・コンピュータ・システム401〜40Nによる同時アク
セスが可能である。複数のコンピュータを使用する場
合、ローカル・エリア・ネットワーク(LAN)または
その他の類似の接続技術によりコンピュータ261〜2
Mを接続することができる。しかし、サービス・セン
タ20が他の構成を備えることも可能である。たとえ
ば、多数の内部プログラムまたはプロセスが稼動してい
る少数の大型コンピュータ(つまり、少数のメインフレ
ーム・コンピュータ、ミニ・コンピュータなど)で、ユ
ーザ・コンピュータとの通信リンクを確立することがで
きる。
【0017】サービス・センタ20は、さらに、リモー
ト・ネットワーク50(たとえば、インターネット)ま
たはリモート・サイト(たとえば、図1には示されてい
ないが、衛星)に接続することもできる。リモート・ネ
ットワーク50またはリモート・サイトを使用すること
で、サービス・センタ20は、サービス・センタ20に
格納することが可能なさまざまなコンピュータ・ソフト
ウェア、コンテントなどを提供することができる。サー
ビス・センタのコンピュータ(たとえば、コンピュータ
261)に接続されている1つまたは複数のデータベー
ス24に、コンピュータ26で使用できるコンピュータ
・ソフトウェアをデータベース・エントリとして記録す
る。一実施形態では、それぞれのユーザ・コンピュータ
401〜40Nは、それぞれ安全なデータベース(図に示
されていない)を持ち、そのデータベースには他のコン
ピュータからはアクセスできない。通信リンク301
30Nにより、1つまたは複数のユーザ・コンピュータ
・システム401〜40Nはコンピュータ261〜26M
同時に接続できる。接続の管理は、サーバ22が行う。
【0018】ユーザ・コンピュータ・システム40が情
報サービス・コンピュータ26との双方向通信を確立し
た後、以下に説明する方法でコンテントがユーザ・コン
ピュータ・システム40に送られる。ダウンロードされ
たコンテントには、ユーザ・プロファイルとともにユー
ザのシステムのプロファイルを作成するために、ユーザ
および/またはユーザ・コンピュータ・システムのハー
ドウェアおよび/またはソフトウェアを調査するアプリ
ケーションを調査するアプリケーションが含まれる。ユ
ーザおよび/またはユーザのコンピュータ・システムか
ら収集された情報はその後、サービス・センタ20に送
られ、さらにユーザおよびシステム・プロファイルに基
づいてコンテントがユーザ・コンピュータ40に送られ
る。サービス・コンピュータ26に接続されているデー
タベースのデータベース・エントリには、ユーザが使用
できるコンピュータのソフトウェア、ハードウェア、お
よびサードパーティのサービスおよび製品に関する情報
が収められている。ユーザ・プロファイルおよび/また
はシステム・プロファイルに基づいて、コンテントをさ
らにユーザ・コンピュータに送って表示する。コンテン
トには、既存のコンピュータ・ソフトウェアのパッチお
よび修正、既存のコンピュータ・ソフトウェアの新バー
ジョン、全く新しいコンピュータ・ソフトウェア、新し
いヘルプ・ファイルなどの入手に関する情報の要約を含
めることもできる。コンテントにはさらに、ユーザが注
目しているハードウェアおよびサードパーティの製品お
よびサービスの入手に関する情報も入れられる。そこ
で、ユーザは、入手可能な製品およびサービスの要約か
ら項目を1つまたは複数選択し、サービス・コンピュー
タ26からユーザ・コンピュータに製品を転送するよう
要求することができる。それとは別に、ユーザは入手可
能な製品およびサービスの要約に載っている望む製品ま
たはサービスを購入することもできる。
【0019】図2は、本発明の実施形態を実装するコン
ピュータ・システム100例の図である。コンピュータ
・システム100は、ユーザ・コンピュータ・システム
40 1〜40Nやコンピュータ261〜26M(図1)の一
実施形態を示しているが、他の実施形態も容易に使用で
きる。
【0020】図2では、コンピュータ・システム100
はプロセッサまたは中央処理装置(CPU)104を備
えている。図に示されているCPU104は、計算を実
行する算術論理演算装置(ALU)、データおよび命令
の一時記憶用のレジスタ群、およびシステム100の動
作を制御する制御装置を備える。一実施形態では、CP
U104は、IntelTM製のx86、Pentium
TM、PentiumIITM、およびPentium P
roTMマイクロプロセッサ、AMDTM製のK−6マイク
ロプロセッサ、またはCyrixTM Corp製の6x
86MXマイクロプロセッサのうちのいずれかを含む。
さらに例として、Digital Equipment
CorporationTM製のAlphaTMプロセッ
サ、MotorolaTM製の680X0プロセッサ、ま
たはIBMTM製のPowerPCTMプロセッサなども含
まれる。さらに、Sun Microsystems、
MIPS、IBM、Motorola、NEC、Cyr
ix、AMD、Nexgenなどの各社が製造している
プロセッサをはじめとするさまざまなプロセッサを使用
して、CPU104とすることができる。CPU104
は、マイクロプロセッサに限定されず、マイクロコント
ローラ、デジタル・シグナル・プロセッサ、縮小命令セ
ット・コンピュータ(RISC)、特定用途向け集積回
路などの形態もとりうる。1つのCPU104で示され
ているが、コンピュータ・システム100はそれとは別
に、複数の処理装置を備えることもできる。
【0021】CPU104は、CPUバス108を介し
てバス・コントローラ112に結合されている。バス・
コントローラ112には、メモリ・コントローラ116
が内蔵されているが、メモリ・コントローラ116はバ
ス・コントローラ112の外部デバイスであってもよ
い。メモリ・コントローラ116は、CPU104また
はその他のデバイスがメモリ・バス120を介してシス
テム・メモリ124にアクセスするためのインタフェー
スを備えている。一実施形態では、システム・メモリ1
24はシンクロナス・ダイナミック・ランダム・アクセ
ス・メモリ(SDRAM)を含む。システム・メモリ1
24は、オプションで、高速メモリ・デバイスまたはメ
モリ回路を増設したり、代替高速メモリ・デバイスまた
はメモリ回路を入れることができる。バス・コントロー
ラ112は、PCI(Peripheral Comp
onent Interconnect)バス、ISA
(Industry Standard Archit
ecture)バスなどのシステム・バス128に結合
されている。システム・バス128に結合されているの
は、グラフィックス・コントローラ、グラフィックス・
エンジンまたはビデオ・コントローラ132、大容量記
憶手段152、通信インタフェース・デバイス156、
1つまたは複数の入出力(I/O)デバイス1681
168N、および拡張バス・コントローラ172であ
る。ビデオ・コントローラ132は、ビデオ・メモリ1
36(たとえば、8メガバイト)とビデオBIOS14
0に結合され、これらはすべて、番号144で示されて
いるように、単一のカードまたはデバイス上に集積する
ことができる。ビデオ・メモリ136には、表示画面1
48に情報を表示するための表示データが格納され、ビ
デオBIOS140には、ビデオ・コントローラ132
を制御するためのコードおよびビデオ・サービスが格納
される。他の実施形態では、ビデオ・コントローラ13
2はAdvancedGraphics Port(A
GP)バスを介してCPU104に結合される。
【0022】大容量記憶手段152は、ハードディス
ク、フロッピ・ディスク、CD−ROM、DVD−RO
M、高密度フロッピ・ディスク、大容量取り外し可能メ
ディア、小容量取り外し可能メディア、半導体メモリ・
デバイスなどおよびそれらの組み合わせを含む(が、こ
れらに限られるわけではない)。大容量記憶手段152
は他の大容量記憶メディアを含んでいてよい。通信イン
タフェース・デバイス156は、通信リンク160を介
してネットワーク164にアクセスするため、ネットワ
ーク・カード、モデム・インタフェースなどを備える。
I/Oデバイス1681〜168Nには、キーボード、マ
ウス、オーディオ/サウンド・カード、プリンタなどが
ある。I/Oデバイス1681〜168Nは、コンパクト
・ディスク・ドライブ、デジタル・ディスク・ドライ
ブ、テープ・ドライブ、zipドライブ、Jazzドラ
イブ、デジタル・ビデオ・ディスク(DVD)ドライ
ブ、半導体メモリ・デバイス、光磁気ディスク・ドライ
ブ、高密度フロッピ・ディスク・ドライブ、大容量取り
外し可能メディア・ドライブ、小容量メディア・デバイ
ス、これらの任意の組み合わせなどのディスク・ドライ
ブであってよい。拡張バス・コントローラ172は、シ
ステム・ファームウェア176が格納された不揮発性メ
モリ175に結合されている。システム・ファームウェ
ア176は、特にコンピュータ・システム100のハー
ドウェア・デバイスを制御するために使用されるシステ
ムBIOS(番号82、図3)を含む。システム・ファ
ームウェア176はさらに、ROM180とフラッシュ
(またはEEPROM)184も含む。拡張バス・コン
トローラ172はさらに、RAM、ROM、および/ま
たはフラッシュ・メモリ(図に示されていない)を持つ
拡張メモリ188に結合されている。システム100は
さらに、バス・コントローラ112に結合されたメモリ
・モジュール190を含んでいてよい。一実施形態で
は、メモリ・モジュール190は、RAM192とフラ
ッシュ(またはEEPROM)194を含む。
【0023】当業者であれば熟知しているように、コン
ピュータ・システム100はさらに、オペレーティング
・システム(OS)と少なくとも1つのアプリケーショ
ン・プログラムを備え、一実施形態では、これらは大容
量記憶手段152からシステム・メモリ124にロード
され、POSTの実行後起動される。OSは、DOS、
WindowsTM(たとえば、Windows 9
TM、Windows 98TM、Windows NT
TM)、Unix(登録商標)、Linux、OS/2、
OS/9、Xenixなどどのような種類のOSでもよ
く、またこれらに限られる、あるいは制約されるわけで
はない。オペレーティング・システムは、コンピュータ
・システムの動作とリソースの割り当てを制御する1つ
または複数のプログラムの集まりである。アプリケーシ
ョン・プログラムは、ユーザが望む作業を実行する1つ
または複数のソフトウェア・プログラムの集まりであ
る。
【0024】コンピュータ・プログラミングの分野の当
業者の慣例にしたがって、断りのない限り、以下の段落
で本発明を説明する際に、コンピュータ・システム10
0で実行される操作を記号で表現する。前記操作のこと
を、コンピュータで実行されるともいう。記号で表され
た操作がCPU104によるデータ・ビットを表す電気
信号の操作とシステム・メモリ124内のメモリ・ロケ
ーションにデータ・ビットを保持する操作、さらに信号
のその他の処理を含むことが予想される。データ・ビッ
トが保持されているメモリ・ロケーションは、データ・
ビットに対応する特定の電気特性、磁気特性、光学特
性、または有機的特性を持つ物理的な場所である。
【0025】本発明の要素は、ソフトウェアで実装した
場合、本質的には、必要な作業を実行するコード・セグ
メントである。プログラムまたはコード・セグメント
は、プロセッサで読み取り可能なメディアに格納した
り、伝送メディアまたは通信リンクを介して搬送波に乗
せられたコンピュータ・データ信号により伝送すること
ができる。「プロセッサで読み取り可能なメディア」
は、情報を格納または転送することができる任意のメデ
ィアでかまわない。プロセッサで読み取り可能なメディ
アとしては、たとえば、電子回路、半導体メモリ・デバ
イス、ROM、フラッシュ・メモリ、消去可能ROM
(EROM)、フロッピ・ディスク、CD−ROM、光
ディスク、ハードディスク、光ファイバ・メディア、高
周波(RF)リンクなどがある。コンピュータ・データ
信号は、電子ネットワーク・チャネル、光ファイバ、空
気、電磁気、RFリンクなどの伝送メディアにより伝播
することができる信号であれば何でもよい。コード・セ
グメントは、インターネット、イントラネットなどのコ
ンピュータ・ネットワークを介してダウンロードするこ
とができる。
【0026】図3は、コンピュータ・システム100の
論理図である。図2および図3で、システム・ファーム
ウェア176は、POST実行時にシステム・メモリ1
24にロードされ、プロセッサ104によってその後実
行されるソフトウェア・モジュールおよびデータを含
む。一実施形態で、システム・ファームウェア176は
システムBIOSハンドラ、ハードウェア・ルーチンな
ど、ROMアプリケーション・プログラム・インタフェ
ース(RAPI)モジュール84、初期スタートアップ
・アプリケーション(ISUA)モジュール86、初期
ペイロード88a、暗号キー90、暗号エンジン92、
および表示エンジン94を含む。システム・ファームウ
ェア176の前記モジュールおよび部分は、ROM18
0および/またはフラッシュ184に含まれる場合があ
る。それとは別に、システム・ファームウェア176の
前記モジュールおよび部分は、ROM190および/ま
たはフラッシュ194に含まれる場合がある。RAPI
84は、ROMアプリケーション・プログラムとシス
テムBIOS82との間の安全なインタフェースとな
る。RAPI 84、ISUA86、および初期ペイロ
ード88aはそれぞれ、別々に開発され、コンピュータ
・システム100を最初に使用する前にシステム・ファ
ームウェア176に格納してもよい。一実施形態で、R
API 84、ISUA 86、および初期ペイロード
88aはそれぞれ、Phoenix Technolo
gies,Ltd.によって開発されたプロプライエタ
リ・ソフトウェアを含む。RAPI 84の一実施形態
は、Phoenix Technologies,Lt
d.に譲渡され、引用により本発明に取り込まれてい
る、1999年6月18日出願の「System an
d Method for Securely Uti
lizing Basic Input and Ou
tput System(BIOS)Service
s」という名称の米国同時係属出願第__号に記載され
ている。ISUA86の一実施形態は、Phoenix
Technologies,Ltd.に譲渡され、引
用により本発明に取り込まれている、1999年6月1
8日出願の「Method and Apparatu
s for Automatically Insta
llingand Configuring Soft
ware on a Computer」という名称の
米国同時係属出願第__号に記載されている。
【0027】一実施形態で、図3および4Aおよび4B
で示されているように、最初にコンピュータ・システム
100の電源をオンにした後、システムはPOST手順
を開始する。初期POSTの実行時に、A1に示されて
いるように、ISUA 86が大容量記憶手段152に
転送される。一実施形態では、オペレーティング・シス
テムがインストールされた後(ただし、オペレーティン
グ・システムのロードおよび動作前に)システム100
の電源が最初にオンになったときに、前記転送は製造お
よび/または組み立て工程で行われる。他の実施形態で
は、前記転送は、ユーザがシステム100を受け取り、
電源を投入した後、製造および/組み立て工程の後に行
うことができる。さらに他の実施形態では、ISUA8
6の転送時に、追加プログラム、アプリケーション、ド
ライバ、データ、グラフィックスおよびその他の情報
も、(たとえばROMから)大容量記憶手段152に転
送することができる。たとえば、転送には、大容量記憶
手段152への初期ペイロード88aの転送が含まれ、
その後、初期ペイロードは大容量記憶手段152か送ら
れる。それとは別に、初期ペイロードをROMから送る
ことができる。前記転送を行うシステムおよびプロセス
の一実施形態は、Phoenix Technolog
ies,Ltd.に譲渡され、その内容が引用により本
発明に取り込まれている、1999年6月18日出願の
「System and Methodfor Tra
nsferring an Application
Program from System Firmw
are to a Storage Device」と
いう名称の米国同時係属出願第__号に記載されてい
る。前記転送を行うシステムおよびプロセスの他の実施
形態は、PhoenixTechnologies,L
td.にそれぞれ譲渡され、それぞれの内容が引用によ
り本発明に取り込まれている、1999年3月19日出
願の「Method and Apparatus f
or Providing Memory−based
Device Emulation」という名称の米
国同時係属出願第09/272859号、1999年6
月18日出願の「Method and Appara
tus for Providing Memory−
Based Device Emulation1」と
いう名称の米国同時係属一部継続出願第__号、199
9年6月18日出願の「System and Met
hod for Inserting One or
More FilesOnto Mass Stora
ge」という名称の米国同時係属出願第__号に記載さ
れている。
【0028】一実施形態では、ISUA86は、エンド
・ユーザのシステム上に常駐するプレインストール・プ
ログラムがあるかどうかを判別するコンピュータ・ソフ
トウェア実行可能プログラムである。あれば、それらの
プレインストール・プログラムを識別し、ショートカッ
ト(Windowsオペレーティング・システムの場合
にはデスクトップに)またはブックマークを作成して、
プログラムをユーザが自動的に起動できるようにする。
この実施形態では、以下に述べるように、この実行可能
プログラムはさらにサーバ22および/またはサービス
・コンピュータ26のうちの1つ(図1)の1つまたは
複数のアプリケーションと双方向通信を開始し、確立す
ることができる。さらに、一実施形態では、POST実
行中に表示エンジン94により初期ペイロード88aの
グラフィカル・コンテントがユーザの表示画面148に
表示される。それとは別に、後発のブート・プロセスの
後に初期ペイロード88aのグラフィカル・コンテント
を表示することができる。たとえば、以下に述べるよう
にユーザのプロファイルの一部として、1つまたは複数
の製品および/またはサービスに関する補足情報を取得
するかどうかをユーザに問い合わせる。ユーザが取得す
るつもりであれば、後発のブート・プロセスで望む製品
および/またはサービスに関するコンテントが表示され
る。
【0029】POSTが完了すると、OSがロードさ
れ、実行され、初期化される。その後、標準OSドライ
バおよびサービスがロードされる。次に、ユーザは、年
齢、性別、趣味などの人口学的情報を含む登録情報の入
力が求められる。さらに、ISUA86が実行され、バ
ックグラウンドで稼動して、図2のネットワーク164
(たとえば、インターネット)上のコンピュータ・シス
テム100とリモート・サーバ(たとえば、図2のサー
バ22)の間で通信リンクが確立されるのを検出するま
でアイドル状態に入っている。一実施形態では、ISU
A86はオペレーティング・システムを検索して、シス
テムにプリロードされ、プレインストールされているア
プリケーションがあるかどうかを判別することができ
る。あれば、ISUA86は、通信リンクが確立された
後、アプリケーションがあらかじめ定められたサーバ内
に起動されるように自動的にショートカットおよび/ま
たはブックマークを用意する。この通信リンクは、ソケ
ットによるネットワーク・プロトコル・スタック、(た
とえば、TCP/IP)または従来技術で知られている
他の双方向通信手法により確立することができる。通信
リンク30が確立されると、ISUA86は要求信号を
サーバ22(図A2に示されている)に発行し、コンテ
ント・モジュール60から初期コンテント・パッケージ
をダウンロードする。サーバは、この要求に応答して、
一実施形態では大容量記憶手段152に格納されている
初期コンテント・パッケージ62(図A3に示されてい
る)をダウンロードする。一実施形態では、初期コンテ
ント62および後発コンテント64は別々に作成するこ
とができ、それぞれ、サーバ22上に初期コンテント6
2および後発コンテント64を格納する前に、暗号キー
を使って暗号化および/または電子署名される。初期コ
ンテント62および/または後発コンテント64が後で
システム100にダウンロードされると、暗号エンジン
92はキー90を使用して、初期コンテント62および
/または後発コンテント64を解読する。
【0030】前述のように、初期コンテント・パッケー
ジ62はアプリケーション62a、ドライバ62b、お
よびペイロード62cを含むことができる。一実施形態
では、アプリケーション62aはデータ・ローダ・アプ
リケーションおよびプロファイル・マネージャ・アプリ
ケーションを含む。データ・ローダ・アプリケーション
の機能は、ISUA86と同じか、または似ており、い
ったんダウンロードされると、ISUA86を使用禁止
にし、置き換える。さらに詳しく述べると、データ・ロ
ーダ・アプリケーションは、サーバ22とコンピュータ
・システム100との双方向通信の開始、確立、および
終了を行うことができるコンピュータ・ソフトウェア・
プログラムである。データ・ローダ・アプリケーション
はさらに、サーバ22とコンピュータ・システム100
の間のトラフィック制御管理を備えているだけでなく、
エンド・ユーザのシステムと指定サーバの間の通信およ
びエンド・ユーザのシステムへのコンテント・ダウンロ
ードを容易に行えるようにする他の機能も備えている。
【0031】プロファイル・マネージャは、ユーザ・プ
リファレンス、システム・ハードウェア、およびコンピ
ュータ・システム100にインストールされているソフ
トウェアに基づいてコンピュータ・システム100のユ
ーザおよびシステム・プロファイルを取得する。コンピ
ュータ・システム100のユーザおよびシステム・プロ
ファイルを取得した後、プロファイル・マネージャ・ア
プリケーションは、その結果をデータ・ローダ・アプリ
ケーションに転送し、その後、情報をサーバ22に送
り、ユーザ指定プリファレンスをデータベース24(図
1)と照合する。結果は、あらかじめ定められている間
隔で、あるいはユーザから要求があったときに、転送す
ることができる。次に、サーバ22はユーザ・プロファ
イルまたは人口統計学的データを処理し、コンテントを
類似のプロファイルを持つユーザに目標を絞る。さら
に、複数のユーザのユーザ・プロファイル・データをサ
ーバ22上で編集し、集めて、集計されたユーザ・プロ
ファイル・モデルを作成する。次に、ユーザ・プロファ
イル・データおよび/または集計ユーザ・プロファイル
・モデル(図A4に示されている)に基づいてコンテン
トをユーザ・コンピュータ・システムに送信する。後発
コンテント64をダウンロードし、番号88bで示され
ているシステム・ファームウェア176に格納する。一
実施形態では、後発コンテント64はフラッシュまたは
EEPROMなどの不揮発性メモリに格納され、当業者
であればよく知っているように、後発コンテントのロー
ドは、ROMのリフラッシュによって行われる。後発コ
ンテント64はさらに、1つまたは複数のファイルとし
て大容量記憶手段に格納したり、あるいはこれを使用し
て、WindowsTMシステム・ファイルを(Wind
owsTM環境のもとで)修正することもできる。コンピ
ュータ・システム100がアクティブ状態になっている
かぎり、プロファイル収集プロセスは継続する。一実施
形態では、ユーザのプロファイルを受け取り、サーバ2
2で分析した後、コンテントをダウンロードすることが
できる。
【0032】その後コンピュータ・システム100の電
源を投入すると(図4Bを参照)、システムは再びPO
STを実行する。すると、すでにダウンロードされ、シ
ステム・ファームウェア176に格納されており、著作
権問題が解決されたコンテントが表示され、それからオ
ペレーティング・システムのロードおよび/または実行
が始まる。WindowsTM環境では、Windows
TMのロゴがオペレーティング・システムの初期ロード中
に表示され、その後、すでにダウンロードされ、システ
ム・ファームウェア176に格納されているコンテント
を表示する1つまたは複数の画面で置き換えられる。
【0033】コンテントを1つまたは複数のファイルと
して大容量記憶手段152に格納する場合、ROMをリ
フラッシュするのとは反対に、ブートアップ時とシャッ
トダウン時に表示されるWindowsTMのロゴを変更
するか、または置き換えることができる。このアプロー
チを採用する一実施形態では、Phoenix Tec
hnologies,LTD.に譲渡され、その内容が
引用により本発明に取り込まれている、1999年6月
18日出願の「Displaying Images
during Boot−up and Shut−d
own」という名称の米国同時係属出願第__号に記載
されているように、対応するWindowsTMシステム
・ファイルをコンテント(すなわち、グラフィックス・
ファイルなど)を表示する1つまたは複数のファイルで
置き換える。ブートアップWindows表示ファイル
は名前がLOGO.SYSとなっており、通常、Win
dowsディレクトリに置かれている。最初にWind
owsTM LOGO.SYSファイルは、Window
sディレクトリから他のディレクトリに移される。次
に、コンテントのグラフィックス・ファイルの名前がL
OGO.SYSに付け替えられ、WindowsTMディ
レクトリに移される。オペレーティング・システムは、
最初に起動されたときにこのファイルを取り出し、コン
テントを表画面に表示する。WindowsTMは、LO
GO.SYSファイルが、解像度320×400、25
6色のビットマップ・ファイルであると想定するが、W
indowsTMでは、後から、表示のためこの解像度を
640×400に拡大する。したがって、コンテントの
グラフィックス・ファイルは同じグラフィックス形式と
する(通常、LOGO.SYSに名前を変更する前に拡
張子「.BMP」付きの名前になっている)。
【0034】その後、オペレーティング・システムがロ
ードされ、実行され、初期化される。標準のオペレーテ
ィング・システム・ドライバおよびアプリケーションも
ロードされる。次にプロファイル・マネージャが実行さ
れる。あらかじめ定められているウェブ・サイトとのリ
ンクが確立されると、さらにコンテントをダウンロード
し、表示することができる。前記追加コンテントは、任
意に提供されたり、ユーザまたはユーザのシステムの調
査から得られた情報をもとに提供される。他の実施形態
では、ブート・プロセスが完了すると、表示画面の一部
を使用して、グラフィックスまたは情報資料とともにす
でに表示されているメッセージに関する詳細情報のアク
セスに使用されるアイコンまたはショートカットを実現
することができる。他の実施形態では、シャットダウン
・プロセス時にグラフィックスまたは情報資料を含むメ
ッセージを再び表示し、たとえば、「Windows
is shutting down」あるいは「It
is now safeto turn off yo
ur computer」というメッセージを表示する
画面表示を他の選択されたコンテントで置き換えること
ができる。
【0035】図5は、本発明の実施形態によるBIOS
205および不揮発性記憶デバイス220の論理図であ
る。図5の論理図は、単一のデバイスまたは複数のデバ
イスとして実装することが可能なBIOS205を示し
ている。BIOS205は、他のモジュールの中でも特
に、ソース・アプリケーション・モジュール210およ
びターゲット・アプリケーション・モジュール215を
含む。一実施形態では、BIOS205の生成時にソー
スおよびターゲット・モジュール210および215が
インストールされる。少なくともBIOS205の一部
は、EEPROMやフラッシュ・メモリなどの電気的変
更可能不揮発性メモリを備える。そこで、他の実施形態
では、BIOS205を生成し、インストールした後、
ターゲット・モジュール215をBIOS205の中に
プログラムする。一実施形態において、ターゲット・ア
プリケーション・モジュール215は図3に示されてい
るISAU86である。他の実施形態では、ターゲット
・アプリケーション・モジュール215はISAU86
を置き換えた後のデータ・ローダ・アプリケーションで
もある。ソース・アプリケーション・モジュール210
は、BIOSのPOST実行時のある時点から実行され
る。一実施形態において、ソース・アプリケーション・
モジュール210はシステムBIOS82内に配置され
ている(図3)。
【0036】さらに図5には、不揮発性メモリ220が
示されており、これにはさまざまな形態のものがある。
一実施形態では、不揮発性メモリ220として、大容量
記憶装置(たとえば、ハードディスク)、光デバイスな
ど、あるいはそれらの組み合わせ(たとえば、図2の大
容量記憶装置)があるがこれらに限られたり、制約され
たりするわけではない。ソース・アプリケーション・モ
ジュール210とターゲット・アプリケーション・モジ
ュール215は、BIOS205ではなく不揮発性メモ
リ220に格納してもよいことを注意しなければならな
い。
【0037】図2および図5では、コンピュータ・シス
テム100が最初にオンになると、ソース・アプリケー
ション・モジュール210は、矢印240で示されてい
るように、オペレーティング・システムが存在している
かどうかを判別する。別の言い方をすると、ソフトウェ
ア・モジュール210が、ターゲット・アプリケーショ
ン・モジュール215をインストールするのにすべての
条件が満たされているかどうかをチェックするというこ
とである。一実施形態では、ソース・アプリケーション
・モジュールは、(i)ターゲット・メディア(たとえ
ば、ハードディスク)上のパーティション、(ii)タ
ーゲット・メディア有情の認識されているファイル・シ
ステム構造(たとえば、FATテーブル)、(iii)
ファイル・システム構造内のターゲット・オペレーティ
ング・システム、および/または(iv)ターゲット・
アプリケーションで使用される必要なファイルの存在を
検出するという方法でオペレーティング・システムが存
在しているかどうかを判別する。
【0038】オペレーティング・システムが存在してい
ることが判明したら、ソース・アプリケーション・モジ
ュール210は共有リソース230がターゲット・メデ
ィア(たとえば、大容量記憶装置220)のあらかじめ
定められた場所に存在するかどうかをチェックする。共
有リソース230が存在していなければ、ソース・アプ
リケーション・モジュール210は、矢印250で示さ
れているように、共有リソース230を生成し、(矢印
245)ターゲット・アプリケーション・モジュール2
15を番号225で示されているターゲット・メディア
(たとえば、大容量デバイス220)にインストールす
る。共有リソース230は、ソース・アプリケーション
・モジュール210およびターゲット・アプリケーショ
ン・モジュール225の両方によって共有されるフラグ
または変数が格納されているファイルまたは不揮発性メ
モリ220上のメモリ・ロケーションとすることができ
る。それとは別に、共有リソース230は、BIOS2
05(たとえば、EEPROM、フラッシュなど)の電
気的変更可能な部分に配置することもできる。共有リソ
ース230は、ターゲット・アプリケーション・モジュ
ール225をインストールする前に、インストールする
のと同時に、あるいはインストールした後に生成でき
る。
【0039】ターゲット・アプリケーション・モジュー
ル225は、ターゲット・メディアにインストールされ
た後、コンピュータ・システム100上で稼動する実行
可能プログラムとなる。一実施形態では、ターゲット・
アプリケーション・モジュール225は、コンピュータ
・システム100が起動され、オペレーティング・シス
テムがロードされるごとに毎回バックグラウンドで実行
される。この実施形態では、ターゲット・アプリケーシ
ョン・モジュール225はISAU86(図3)であ
る。それとは別に、ターゲット・アプリケーション・モ
ジュール225はさらに、ISAU86によってコンピ
ュータ・システム100にダウンロードされるデータ・
ローダ・アプリケーションでもよく、ISAU86はこ
のアプリケーションで置き換えられる。上述のように、
ISAU86は、バックグラウンドで稼動し、インター
ネット接続(または他のネットワーク接続)が検出され
るまでアイドル状態のままである。そこで、ISAU8
6は定期的に(たとえば、15秒ごとに)ポーリングし
てインターネット接続が存在しているかどうかを調べ
る。
【0040】一実施形態では、ターゲット・アプリケー
ション・モジュール225が正常に機能しているかどう
かを判別する基準として(i)インターネット接続がX
回(たとえば、5回)あるかどうかを調べるポーリング
操作、(ii)インターネット接続があるかどうかを検
出する操作、および/または(iii)データ・ローダ
・アプリケーションを正常にダウンロードできたという
事実を使用する。ターゲット・アプリケーション・モジ
ュール225がデータ・ローダ・アプリケーションであ
るか、データ・ローダ・アプリケーションになった場
合、ターゲット・アプリケーション・モジュール225
が機能しているかどうかを判別する基準は異なることが
ある。データ・ローダ・アプリケーションの機能として
は、コンテントをリモート・コンピュータ(たとえば、
ウェブ・サイト)からダウンロードする機能があるが、
これらに限られたり、制約されるわけではない。ターゲ
ット・アプリケーション・モジュール225は他の機能
を実行することができるため、ターゲット・アプリケー
ション・モジュール225が機能しているかどうかを判
別する基準が異なることがあるという点に注意しなけれ
ばならない。ただし、本発明の実施形態では、どのよう
なターゲット・アプリケーション・モジュールであろう
と、あるいはどのような条件のもとでターゲット・アプ
リケーション・モジュールが正常に機能しているとみな
されようと、ターゲット・アプリケーション・モジュー
ルを自動的にインストールする、正常に機能しない場合
にターゲット・アプリケーション・モジュールを自動的
にアンインストールする、および/またはある種の条件
のもとでターゲット・アプリケーション・モジュールを
自動的に再インストールするというメカニズムを備え
る。
【0041】ターゲット・アプリケーション・モジュー
ル225が実行できない場合、共有リソース内に生成さ
れた第1のフラグはリセットされず、ソース・アプリケ
ーション・モジュールは、次回実行されたときに、ター
ゲット・アプリケーション・モジュールが正常に実行ま
たは稼動しないことを検出する。実行できない原因とし
ては、とりわけ、ターゲット・アプリケーション・モジ
ュールの転送ができない、ターゲット・メディアに不具
合がある、ターゲット・アプリケーション・モジュール
を処理するオペレーティング・システムが機能しないな
どいろいろな要因が考えられる。ターゲット・アプリケ
ーション・モジュールが第1のあらかじめ定められた回
数だけ連続して実行できない場合に、ソース・アプリケ
ーション・モジュールはターゲット・アプリケーション
・モジュールをターゲット・メディアに自動的に再イン
ストールする。代案としては、ソース・アプリケーショ
ン・モジュールは他のメディアにターゲット・アプリケ
ーション・モジュールを自動的にインストールする。
【0042】ターゲット・アプリケーション・モジュー
ルが実行できても、正常に機能しない場合、共有リソー
ス内に生成された第2のフラグはリセットされず、ソー
ス・アプリケーション・モジュールは、次回実行された
ときに、ターゲット・アプリケーション・モジュールが
正常に機能しないことを検出できる。ターゲット・アプ
リケーション・モジュールが第2のあらかじめ定められ
た回数だけ連続して正常に機能しない場合に、ソース・
アプリケーション・モジュールはターゲット・アプリケ
ーション・モジュールをターゲット・メディアから自動
的にアンインストールする。アンインストールが正常に
行われた後、ソース・アプリケーション・モジュールは
オプションにより、他のフラグをたてて、ターゲット・
アプリケーション・モジュールがさらに自動的にインス
トールされないようにする。それとは別に、ユーザ側に
このフラグのリセットを任せるか、またはあらかじめ定
められた期間が経過した後フラグがリセットされること
で、ソース・アプリケーション・モジュールは再びター
ゲット・アプリケーション・モジュールの再インストー
ルを行おうとする。
【0043】ターゲット・アプリケーション・モジュー
ル225によって基準が満たされると、第1と第2のフ
ラグがリセットされ、次回実行したときに、ターゲット
・アプリケーション・モジュール225が正常に実行さ
れ機能したことをソース・アプリケーション・モジュー
ル210に示す。
【0044】ソース・アプリケーション・モジュール2
10はさらに、エラーの発生していない場合に再インス
トールを考慮して、共有リソースおよび/またはターゲ
ット・アプリケーション・モジュール225の状態を監
視する。たとえば、ターゲット・アプリケーション・モ
ジュール225がハードディスクにインストールされた
後、そのハードディスクが取り外されるか、消去され場
合、あるいは新しいオペレーティング・システム・ファ
イルがインストールされ、ターゲット・アプリケーショ
ン・モジュール225および/または共有リソース23
0の特性が変化した場合に、ソース・アプリケーション
・モジュール210は、ターゲット・アプリケーション
・モジュール225および/または共有リソース230
が存在していないことを検出し、再インストールする。
【0045】図6は、本発明の一実施形態によるソース
・アプリケーション・モジュール300によって実行さ
れる動作の流れ図である。ソース・アプリケーション・
モジュール300は、BIOSのPOST実行時のある
時点に起動される。図6において、ソース・アプリケー
ション・モジュール300はブロック302から開始
し、そこでソース・アプリケーション・モジュール30
0はターゲット・メディア(たとえば、大容量記憶装置
やフラッシュなどの不揮発性メモリ)上のあらかじめ定
められた場所の共有リソースを探す。ブロック304
で、共有リソース・ファイルが存在していなければ、ソ
ース・アプリケーション・モジュール300はターゲッ
ト・メディア上のあらかじめ定められている場所に共有
リソースを生成し、格納する(ブロック306)。次
に、ソース・アプリケーション・モジュール300は、
共有リソース・ファイル内に多数のフラグを作成し、初
期化する。特に、SOURCE_APP_DISABL
Eは0に設定され、START_FAILおよびEXI
T_FAILは1にそれぞれ設定される。次に、ブロッ
ク308で、ターゲット・アプリケーション・モジュー
ルがターゲット・メディアにインストールされる。一実
施形態では、ターゲット・アプリケーション・モジュー
ルをインストールおよび/または再インストールするス
テップは、(i)パーティション・テーブルの有無を判
別するステップ、(ii)アクティブ状態のパーティシ
ョンを見つけて、そのタイプがサポートされているかど
うかを判別するステップ、(iii)ファイル・アロケ
ーション・テーブルおよびディレクトリ構造を調べて、
正常にインストールされたオペレーティング・システム
が存在しているかどうかを判別するステップ、(iv)
オペレーティング・システム初期化ファイルなどを調べ
るステップを含む。オペレーティング・システムがイン
ストールされていると判断した後、ソース・アプリケー
ション・モジュールはファイル・システム構造を操作し
て、ターゲット・サブディレクトリ内に追加ファイル・
エントリを作成する。ファイル・エントリを作成した
後、ソース・アプリケーション・モジュールはターゲッ
ト・アプリケーション・モジュールおよびその関連ファ
イルを圧縮解除し、ターゲット・サブディレクトリにコ
ピーする。ターゲット・アプリケーション・モジュール
がインストールされた後、ソース・アプリケーション・
モジュール300は終了する(ブロック324)。ブロ
ック306および308は、特に、ターゲット・メディ
アが取り外されたり消去された場合、あるいは共有リソ
ース・ファイルが消去された場合に、ソース・アプリケ
ーション・モジュール300が最初に実行されるときに
実行されることに注意されたい。
【0046】一方、ブロック304で、共有リソース・
ファイルが存在し、ターゲット・アプリケーション・モ
ジュールがインストールされていることを示している場
合、ソース・アプリケーション・モジュール300は、
ブロック310で、SOURCE_APP_DISAB
LEを調べる。SOURCE_APP_DISABLE
が1であれば、ソース・アプリケーション・モジュール
300は終了する。SOURCE_APP_DISAB
LEが1でなければ、ソース・アプリケーション・モジ
ュール300は、ブロック312で、EXIL_FAI
Lを調べる。Nを正の整数(たとえば、6)としたとき
にEXIT_FAILがNよりも大きく、ターゲット・
アプリケーション・モジュールがN回連続して正常に機
能しなかったことを示している場合、ソース・アプリケ
ーション・モジュール300は自動的に、ターゲット・
アプリケーション・モジュールをアンインストールまた
は使用禁止にし(ブロック314)、SOURCE_A
PP_DISABLEを1に修正し(ブロック31
6)、終了する。ただし、一実施形態では、ターゲット
・アプリケーション・モジュールの早すぎるアンインス
トールを防止するために、Nを2またはそれ以上に設定
している。あらゆる状況のもとでターゲット・アプリケ
ーション・モジュールをアンインストールするのは、考
えられる障害原因に照らして、厳しすぎ、不自由きわま
りない場合がある。たとえば、エラー状態または障害
が、たとえターゲット・アプリケーション・プログラム
が正常に動作していたとしてもユーザがコンピュータの
電源を不適切に切ったことで発生する場合もある。
【0047】EXIT_FAILがN以下であれば、ソ
ース・アプリケーション・モジュール300は、STA
RT_FAILを調べる(ブロック318)。Mを正の
整数(たとえば、4)としたときにSTART_FAI
LがMよりも大きく、ターゲット・アプリケーション・
モジュールがM回連続して正常に起動しなかったことを
示している場合、ソース・アプリケーション・モジュー
ル300は自動的に、ターゲット・アプリケーション・
モジュールを再インストールし(ブロック320)、終
了する。ターゲット・アプリケーション・モジュール
は、消去されていたり、破損していたり、オペレーティ
ング・システム・ファイルと互換性がない場合などに、
正常に起動しないことがある。START_FAILが
N以下であれば、ソース・アプリケーション・モジュー
ル300は、共有リソース内に置かれているEXIT_
FAILとSTART_FAILを両方ともインクリメ
ントする(ブロック322)。
【0048】図7は、本発明の一実施形態例によりター
ゲット・メディア上にインストールしたときにターゲッ
ト・アプリケーション・モジュール400によって実行
される動作の流れ図である。図7で、ターゲット・アプ
リケーション・モジュール400はブロック402から
開始し、パラメータの初期化、オペレーティング・シス
テム・ファイルの有無の確認、ターゲット・アプリケー
ション・モジュール・ファイルの有無の確認などの初期
化を実行する。ブロック402が正常に実行されると、
START_FAILはブロック404で0にリセット
され、ターゲット・アプリケーション・モジュール40
0が実行可能であることを示す。ブロック406で、タ
ーゲット・アプリケーション・モジュール400が正常
に機能するかどうかを判別する。ターゲット・アプリケ
ーション・モジュール400が正常に機能しているかど
うかを判別する基準は、アプリケーションごとに異なる
が、一実施形態に従って、基準例を上に挙げてある。タ
ーゲット・アプリケーション・モジュール400が正常
に機能していれば、EXIT_FAILは0にリセット
され(ブロック408)、ターゲット・アプリケーショ
ン・モジュール400はブロック410で終了する。タ
ーゲット・アプリケーション・モジュール400が正常
に機能していなければ、EXIT_FAILを0にリセ
ットせずにブロック410で終了する。
【0049】本発明は、ターゲット・アプリケーション
・モジュールと、障害発生の場合の前記ターゲット・ア
プリケーション・モジュールの自動アンインストールを
監視するソース・アプリケーション・モジュールを実現
するものである。本発明には、多数の非決定論的シナリ
オによる障害の発生を検出する、ユーザに知らせたりユ
ーザに介入を求めることなくターゲット・アプリケーシ
ョン・モジュールを自動アンインストールする、自動イ
ンストールを妨げる非決定論的シナリオを自己検出す
る、オペレーティング・システムを通さずにターゲット
・アプリケーション・モジュールをアンインストールす
るといった利点がある。
【0050】いくつかの実施形態の例について説明し、
添付の図面で示したが、このような実施形態は広範な本
発明を単に説明しているだけであり、制約しているわけ
ではなく、本発明が図に示され説明されている特定の構
成および配列に限られないことは、当業者であれば他の
さまざまな修正が起こりうるため、理解されるであろ
う。
【図面の簡単な説明】
【図1】本発明の装置と方法を使用する情報分配システ
ムの一実施形態のシステム・ブロック図である。
【図2】本発明の実施形態を実装するプロセッサ・シス
テムまたはユーザ・コンピュータ・システム例の図であ
る。
【図3】本発明の一実施形態の論理図である。
【図4A】、
【図4B】本発明の原理に従って提供されるプロセス流
れ図の一実施形態の図である。
【図5】本発明の実施形態によるBIOSおよび不揮発
性記憶デバイスの論理図である。
【図6】本発明の一実施形態によるソース・アプリケー
ション・モジュールによって実行される動作の流れ図で
ある。
【図7】本発明の一実施形態例によりターゲット・メデ
ィア上にインストールしたときにターゲット・アプリケ
ーション・モジュールによって実行される動作の流れ図
である。
【符号の説明】
220 不揮発性記憶デバイス 210、300 ソース・アプリケーション・モジュー
ル 215、225、400 ターゲット・アプリケーショ
ン・モジュール 230 共有リソース
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成12年10月18日(2000.10.
18)
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図7】
【図3】
【図4A】
【図4B】
【図5】
【図6】

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 ターゲット・メディア上のアプリケーシ
    ョン・モジュールを自動的にアンインストールする方法
    であって、 共有リソースがターゲット・メディア上に存在するかど
    うかを判別するステップと、 共有リソースが存在する場合に、 アプリケーション・モジュールがターゲット・メディア
    上で正常に機能しているかどうかを判別するステップ
    と、 アプリケーション・モジュールが正常に機能しなかった
    場合にアプリケーション・モジュールを自動的にアンイ
    ンストールするステップを含む方法。
  2. 【請求項2】 共有リソースが存在しない場合に、共有
    リソースを作成し、 アプリケーション・モジュールをターゲット・メディア
    上に自動的にインストールすることを特徴とする請求項
    1に記載の方法。
  3. 【請求項3】 アプリケーション・モジュールがターゲ
    ット・メディア上で正常に機能していたかどうかを判別
    するステップに、共有リソース内に置かれたフラグを調
    べるステップが含まれることを特徴とする請求項1に記
    載の方法。
  4. 【請求項4】 アプリケーション・モジュールを自動的
    にアンインストールするステップが、アプリケーション
    ・モジュールがあらかじめ定められた回数だけ正常に機
    能しなかった場合にアプリケーション・モジュールを自
    動的にアンインストールするステップを含むことを特徴
    とする請求項1に記載の方法。
  5. 【請求項5】 共有リソースが存在している場合に、請
    求項1の方法がさらに、 アプリケーション・モジュールがターゲット・メディア
    上で実行されたかどうかを判別するステップと、 アプリケーション・モジュールがターゲット・メディア
    上で実行されなかった場合にアプリケーション・モジュ
    ールを自動的に再インストールするステップを含むこと
    を特徴とする請求項1に記載の方法。
  6. 【請求項6】 ターゲット・メディアに大容量記憶手段
    が含まれることを特徴とする請求項1に記載の方法。
  7. 【請求項7】 共有リソースがフラッシュおよび大容量
    記憶手段のうちの1つに生成されることを特徴とする請
    求項1に記載の方法。
  8. 【請求項8】 コンピュータ・プログラム製品であっ
    て、 共有リソースがターゲット・メディア上に存在している
    かどうかを判別するためコンピュータ・プログラム・コ
    ードが埋め込まれているコンピュータ使用可能メディア
    と、 アプリケーション・モジュールがターゲット・メディア
    上で正常に機能しているかどうかを判別し、アプリケー
    ション・モジュールが正常に機能せず、共有リソースが
    存在している場合にアプリケーション・モジュールを自
    動的にアンインストールするためのコンピュータ読み取
    り可能プログラム・コードを含むコンピュータ・プログ
    ラム製品。
  9. 【請求項9】 さらに、共有リソースが存在していない
    場合に共有リソースを生成し、アプリケーション・モジ
    ュールをターゲット・メディア上に自動的にインストー
    ルするコンピュータ読み取り可能プログラム・コードを
    含むことを特徴とする請求項7に記載のコンピュータ・
    プログラム製品。
  10. 【請求項10】 アプリケーション・モジュールが正常
    に機能したかどうかを判別するコンピュータ読み取り可
    能プログラム・コードが共有リソース内に置かれたフラ
    グを調べるコンピュータ読み取り可能プログラム・コー
    ドを含むことを特徴とする請求項8に記載のコンピュー
    タ・プログラム製品。
  11. 【請求項11】 アプリケーション・モジュールを自動
    的にアンインストールするコンピュータ読み取り可能プ
    ログラム・コードが、アプリケーション・モジュールが
    あらかじめ定められた回数だけ正常に機能しなかった場
    合にそのアプリケーション・モジュールを自動的にアン
    インストールするコンピュータ読み取り可能プログラム
    ・コードを含むことを特徴とする請求項8に記載のコン
    ピュータ・プログラム製品。
  12. 【請求項12】 アプリケーション・モジュールがター
    ゲット・メディア上で実行されたかどうかを判別し、ア
    プリケーション・モジュールがターゲット・メディア上
    で実行されなかった場合にアプリケーション・モジュー
    ルを自動的に再インストールするコンピュータ読み取り
    可能プログラム・コードを含むことを特徴とする請求項
    8に記載のコンピュータ・プログラム製品。
  13. 【請求項13】 ターゲット・メディアに大容量記憶手
    段が含まれることを特徴とする請求項8に記載のコンピ
    ュータ・プログラム製品。
  14. 【請求項14】 共有リソースがフラッシュおよび大容
    量記憶手段のうちの1つに生成されることを特徴とする
    請求項8に記載のコンピュータ・プログラム製品。
  15. 【請求項15】 コンピュータ・システムであって、 1つまたは複数の命令を格納するメモリ要素と、 メモリ要素に結合されたプロセッサを備え、プロセッサ
    は、前記1つまたは複数の命令に応答して、 共有リソースが第1のメディア上に存在するかどうかを
    判別し、 共有リソースが存在しない場合に、 ターゲット・アプリケーション・プログラムを第2のメ
    ディア上にインストールし、 第1のメディア上での最後のオペレーションでターゲッ
    ト・アプリケーションが正常に機能したかどうかを判別
    し、 ターゲット・アプリケーションが正常に機能しなかった
    場合にターゲット・アプリケーションを自動的にアンイ
    ンストールするコンピュータ・システム。
  16. 【請求項16】 メモリ要素が、読み取り専用メモリお
    よびランダム・アクセス・メモリのうちの1つであるこ
    とを特徴とする請求項15に記載のコンピュータ・シス
    テム。
  17. 【請求項17】 第1のメディアがハードディスクであ
    ることを特徴とする請求項15に記載のコンピュータ・
    システム。
  18. 【請求項18】 第2のメディアがフラッシュ・メモリ
    であることを特徴とする請求項15に記載のコンピュー
    タ・システム。
  19. 【請求項19】 プロセッサが、1つまたは複数の命令
    に応答して、Nを1よりも大きい正の整数としたときに
    ターゲット・アプリケーションがN回連続して正常に機
    能しなかった場合にさらにターゲット・アプリケーショ
    ンを自動的にアンインストールすることを特徴とする請
    求項15に記載のコンピュータ・システム。
JP2000182558A 1999-06-18 2000-06-19 アプリケーションを自動的にアンインストールまたは再インストールするための方法とシステム Expired - Fee Related JP4842421B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/336254 1999-06-18
US09/336,254 US6453469B1 (en) 1999-06-18 1999-06-18 Method and apparatus to automatically deinstall an application module when not functioning

Publications (2)

Publication Number Publication Date
JP2001051835A true JP2001051835A (ja) 2001-02-23
JP4842421B2 JP4842421B2 (ja) 2011-12-21

Family

ID=23315253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000182558A Expired - Fee Related JP4842421B2 (ja) 1999-06-18 2000-06-19 アプリケーションを自動的にアンインストールまたは再インストールするための方法とシステム

Country Status (4)

Country Link
US (1) US6453469B1 (ja)
JP (1) JP4842421B2 (ja)
CN (1) CN1157654C (ja)
TW (1) TW476911B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060081A (ja) * 1999-06-18 2001-03-06 Fiinikkusu Technologies Ltd 不揮発性メモリに格納された画像を更新するための装置および方法
JP2005353043A (ja) * 2004-05-14 2005-12-22 Matsushita Electric Ind Co Ltd アプリケーション管理装置及び管理方法
JP2012524342A (ja) * 2009-04-14 2012-10-11 クアルコム,インコーポレイテッド 互換性および/またはユーザ設定に基づいて計算装置でアプリケーションおよびウィジェットを自動的に使用可能にするおよび使用不能にするシステムおよび方法
CN109739633A (zh) * 2019-01-08 2019-05-10 深圳市网心科技有限公司 一种共享计算管理方法及相关装置
CN116383827A (zh) * 2023-03-17 2023-07-04 中广核智能科技(深圳)有限责任公司 一种安全卸载可信功能机制方法、系统和存储介质

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2341463B (en) * 1998-09-12 2003-02-19 Ibm Software file loading
US6983315B1 (en) * 2000-01-18 2006-01-03 Wrq, Inc. Applet embedded cross-platform caching
US6625754B1 (en) * 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US6789215B1 (en) * 2000-04-21 2004-09-07 Sprint Communications Company, L.P. System and method for remediating a computer
US6823508B1 (en) * 2000-04-27 2004-11-23 Microsoft Corporation Automatic computer program customization based on a user information store
CA2328644C (en) * 2000-12-15 2005-05-10 Ibm Canada Limited-Ibm Canada Limitee Methods, systems, signals and media for encouraging users of computer readable content to register
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US6948166B2 (en) * 2001-04-05 2005-09-20 International Business Machines Corporation System and method for automatically de-installing previously installed software based on user defined preferences
US20020157090A1 (en) * 2001-04-20 2002-10-24 Anton, Jr. Francis M. Automated updating of access points in a distributed network
CA2349654A1 (en) * 2001-06-04 2002-12-04 Ibm Canada Limited-Ibm Canada Limitee Server configuration versioning tool
US6944855B2 (en) * 2001-10-25 2005-09-13 Siemens Medical Solutions Health Services Corporation System, method, and article of manufacture for creating and updating an application using software application elements
US7673136B2 (en) * 2002-02-26 2010-03-02 Stewart Ian A Method for secure multicast repeating on the public Internet
US7604608B2 (en) * 2003-01-14 2009-10-20 Flowcardia, Inc. Ultrasound catheter and methods for making and using same
US7185335B2 (en) * 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
AU2003289301A1 (en) * 2002-12-11 2004-06-30 Interlex Inc. Software execution control system and software execution control program
US7822962B2 (en) * 2003-05-05 2010-10-26 Peter Ar-Fu Lam Application software configured to work with two operating systems
US8095783B2 (en) 2003-05-12 2012-01-10 Phoenix Technologies Ltd. Media boot loader
US7590837B2 (en) * 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
US7287251B1 (en) * 2003-10-16 2007-10-23 Microsoft Corporation Source engine for transferring a resource to local secure cache
US7739681B2 (en) * 2005-06-29 2010-06-15 Novell, Inc. Delayed application installation
US20070118646A1 (en) * 2005-10-04 2007-05-24 Computer Associates Think, Inc. Preventing the installation of rootkits on a standalone computer
CN100419694C (zh) * 2005-11-04 2008-09-17 鸿富锦精密工业(深圳)有限公司 检测硬盘安装位置正确性的系统及方法
US7984432B2 (en) * 2006-05-30 2011-07-19 Infineon Technologies Ag Method for patching a read-only memory and a data processing system comprising a means of patching the read-only memory based on patch contexts
US7890930B2 (en) * 2006-12-11 2011-02-15 International Business Machines Corporation Method and system for allowing an eclipse feature to create/remove/update program groups and shortcuts, via an eclipse install handler
CN100555298C (zh) * 2007-06-08 2009-10-28 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
US8584119B2 (en) * 2008-06-24 2013-11-12 International Business Machines Corporation Multi-scenerio software deployment
CN101996101B (zh) * 2009-08-13 2013-08-28 北京搜狗科技发展有限公司 输入法系统性能优化方法及装置
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US8671402B2 (en) * 2009-11-09 2014-03-11 Bank Of America Corporation Network-enhanced control of software updates received via removable computer-readable medium
US20110113420A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US9128799B2 (en) * 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US8972974B2 (en) * 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US20110238572A1 (en) * 2010-03-25 2011-09-29 Bank Of America Corporation Remote Control Of Self-Service Terminal
US8898668B1 (en) 2010-03-31 2014-11-25 Netapp, Inc. Redeploying baseline virtual machine to update a child virtual machine by creating and swapping a virtual disk comprising a clone of the baseline virtual machine
US8813083B2 (en) * 2011-07-01 2014-08-19 Intel Corporation Method and system for safe enqueuing of events
US9319406B2 (en) * 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
EP2570920A1 (en) * 2011-09-16 2013-03-20 France Télécom System and method for cross-platform application execution and display
CN102521031B (zh) 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
US8850406B1 (en) * 2012-04-05 2014-09-30 Google Inc. Detecting anomalous application access to contact information
CN104040496B (zh) * 2012-12-10 2017-06-23 东莞宇龙通信科技有限公司 终端和应用程序恢复方法
US9851965B2 (en) 2015-06-19 2017-12-26 Microsoft Technology Licensing, Llc Storing optimization for customization resources
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
CN107291517A (zh) * 2017-07-26 2017-10-24 广东小天才科技有限公司 一种应用的卸载方法、装置及终端设备
US11928451B2 (en) 2021-10-13 2024-03-12 International Business Machines Corporation Dynamic management of application uninstallation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234992A (ja) * 1995-02-27 1996-09-13 Matsushita Electric Ind Co Ltd 分割インストール方法
JPH10214208A (ja) * 1997-01-31 1998-08-11 Meidensha Corp ソフトウェアの異常監視方式

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146568A (en) 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US5121345A (en) 1988-11-03 1992-06-09 Lentz Stephen A System and method for protecting integrity of computer data and software
US5142680A (en) 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5131089A (en) 1989-06-12 1992-07-14 Grid Systems Corporation Solid state disk drive emulation
JPH03168828A (ja) 1989-11-29 1991-07-22 Canon Inc 情報処理装置
US5307497A (en) 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
US5214695A (en) 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5128995A (en) 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
EP0483865A3 (en) 1990-11-02 1992-09-02 Kabushiki Kaisha Toshiba Personal computer capable of changing boot priority
DE69130667T2 (de) 1990-12-06 1999-05-06 Tandberg Data Datenspeicherungssystem mit auswechselbaren Medien zum Laden eines Steuerprogrammes von den auswechselbaren Medien
US5594903A (en) 1991-02-26 1997-01-14 Lynx Real-Time Systems, Inc. Operating System architecture with reserved memory space resident program code identified in file system name space
SE469956B (sv) * 1991-11-27 1993-10-11 Icl Systems Ab Förfarande och arrangemang för att minska mängden information som krävs vid enhetlig revidering av programvara i ett flertal användarenheter i ett datorsystem
US5452454A (en) 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US5471674A (en) 1992-02-07 1995-11-28 Dell Usa, L.P. Computer system with plug-in override of system ROM
EP0559222A2 (en) 1992-03-06 1993-09-08 Microsoft Corporation Improved method for loading programs
US5325532A (en) 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US5469573A (en) 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
US5463766A (en) 1993-03-22 1995-10-31 Dell Usa, L.P. System and method for loading diagnostics routines from disk
US5522076A (en) 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
US5444850A (en) 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5418918A (en) 1993-09-10 1995-05-23 Compaq Computer Corp. Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive
US5379431A (en) 1993-12-21 1995-01-03 Taligent, Inc. Boot framework architecture for dynamic staged initial program load
FR2718262B1 (fr) 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
US5504905A (en) 1994-05-17 1996-04-02 International Business Machines Corporation Apparatus for communicating a change in system configuration in an information handling network
US5604890A (en) 1994-08-16 1997-02-18 Miller; Paul B. Coupling device for the switching of data lines between a data storage device controller and a plurality of bootable data storage devices
US5864698A (en) 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium
JPH0887460A (ja) * 1994-09-19 1996-04-02 Seiko Epson Corp インストールシステム
US5586327A (en) 1994-09-27 1996-12-17 International Business Machines Corporation Extended initialization for personal data processing systems
US5652868A (en) 1994-09-27 1997-07-29 International Business Machines Corporation Data processor having BIOS decryption of emulated media images
US5802363A (en) 1994-09-27 1998-09-01 International Business Machines Corporation Bios dynamic emulation of multiple diskettes from a single media
US5694583A (en) 1994-09-27 1997-12-02 International Business Machines Corporation BIOS emulation parameter preservation across computer bootstrapping
US5652886A (en) 1994-10-03 1997-07-29 United Technologies Corporation System for loading a boot program into an initially blank programmable memory of a microprocessor using state machine and serial bus
US5581740A (en) 1994-10-04 1996-12-03 Dell Usa, L.P. System for reading CD ROM data from hard disks
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
US5715456A (en) 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5781758A (en) 1995-03-23 1998-07-14 Apple Computer, Inc. Software emulation system with reduced memory requirements
US5701477A (en) 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US5832251A (en) 1995-06-02 1998-11-03 Nec Corporation Emulation device
US5748957A (en) 1995-06-27 1998-05-05 Klein; Dean A. Computer system usage determination based on hard disk drive activity
JP3088269B2 (ja) 1995-07-26 2000-09-18 日本電気通信システム株式会社 コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法
US5664194A (en) 1995-12-04 1997-09-02 Metricom, Inc. Method for autonomously transferring code to a computer without accessing local memory by the central processing unit
US5819063A (en) 1995-09-11 1998-10-06 International Business Machines Corporation Method and data processing system for emulating a program
US5745568A (en) * 1995-09-15 1998-04-28 Dell Usa, L.P. Method of securing CD-ROM data for retrieval by one machine
US5754853A (en) 1995-12-15 1998-05-19 Dell Usa, Lp System for executing utility programs while preserving the state of a native operating system
US5790849A (en) 1995-12-22 1998-08-04 Intel Corporation Method and apparatus to permit the boot of a shared memory buffer architecture employing an arbitrary operating system
US5805880A (en) 1996-01-26 1998-09-08 Dell Usa, Lp Operating system independent method for avoiding operating system security for operations performed by essential utilities
US5796984A (en) 1996-01-26 1998-08-18 Dell Usa, L.P. Operating system independent apparatus and method for eliminating peripheral device functions
US5694600A (en) 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive
US5732268A (en) 1996-02-26 1998-03-24 Award Software International Extended BIOS adapted to establish remote communication for diagnostics and repair
US5933646A (en) * 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
US5758154A (en) * 1996-06-05 1998-05-26 Microsoft Corporation Method and system for storing configuration data into a common registry
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5805882A (en) 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US5907679A (en) 1996-08-19 1999-05-25 Visiontek Hard drive upgrade system
US5854905A (en) 1996-09-03 1998-12-29 Intel Corporation Extensible bios for boot support of devices on multiple hierarchical buses
US5764593A (en) 1996-12-04 1998-06-09 Keylabs, Inc. Method and system for the interception and control of the computer boot process
GB2321981B (en) * 1997-02-06 2002-01-09 Ibm Hosted machine code installation
US6073123A (en) * 1997-02-26 2000-06-06 Staley; Clinton A. Method and apparatus for detecting unauthorized copies of software
US5887164A (en) 1997-06-06 1999-03-23 National Instruments Corporation System and method for enabling a target computer to use storage resources of a host computer
US5901310A (en) 1997-09-11 1999-05-04 Ati Technologies, Inc. Storing firmware in compressed form
US6279156B1 (en) * 1999-01-26 2001-08-21 Dell Usa, L.P. Method of installing software on and/or testing a computer system
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6253374B1 (en) * 1998-07-02 2001-06-26 Microsoft Corporation Method for validating a signed program prior to execution time or an unsigned program at execution time
US6279154B1 (en) * 1998-10-13 2001-08-21 Hewlett-Packard Company Apparatus and method for an install system for third party applications
US6189147B1 (en) * 1998-10-13 2001-02-13 Hewlett-Packard Company Apparatus and method for an installation recovery system
US6308326B1 (en) * 1999-01-08 2001-10-23 Apple Computer, Inc. Run-time modules for dynamically adjusting computer operation
US6269480B1 (en) * 1999-03-29 2001-07-31 International Business Machines Corporation Cross platform installer-with the ability to create platform independent variables of specific operating system variables from a scripting language

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234992A (ja) * 1995-02-27 1996-09-13 Matsushita Electric Ind Co Ltd 分割インストール方法
JPH10214208A (ja) * 1997-01-31 1998-08-11 Meidensha Corp ソフトウェアの異常監視方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060081A (ja) * 1999-06-18 2001-03-06 Fiinikkusu Technologies Ltd 不揮発性メモリに格納された画像を更新するための装置および方法
JP2005353043A (ja) * 2004-05-14 2005-12-22 Matsushita Electric Ind Co Ltd アプリケーション管理装置及び管理方法
JP2012524342A (ja) * 2009-04-14 2012-10-11 クアルコム,インコーポレイテッド 互換性および/またはユーザ設定に基づいて計算装置でアプリケーションおよびウィジェットを自動的に使用可能にするおよび使用不能にするシステムおよび方法
CN109739633A (zh) * 2019-01-08 2019-05-10 深圳市网心科技有限公司 一种共享计算管理方法及相关装置
CN109739633B (zh) * 2019-01-08 2023-09-15 深圳市网心科技有限公司 一种共享计算管理方法及相关装置
CN116383827A (zh) * 2023-03-17 2023-07-04 中广核智能科技(深圳)有限责任公司 一种安全卸载可信功能机制方法、系统和存储介质

Also Published As

Publication number Publication date
US6453469B1 (en) 2002-09-17
CN1282915A (zh) 2001-02-07
JP4842421B2 (ja) 2011-12-21
CN1157654C (zh) 2004-07-14
TW476911B (en) 2002-02-21

Similar Documents

Publication Publication Date Title
JP4842421B2 (ja) アプリケーションを自動的にアンインストールまたは再インストールするための方法とシステム
US6578142B1 (en) Method and apparatus for automatically installing and configuring software on a computer
US6405309B1 (en) Method and apparatus for creating and deploying smaller Microsoft Windows applications for automatic configuration of a computing device
US6373498B1 (en) Displaying images during boot-up and shutdown
US6449682B1 (en) System and method for inserting one or more files onto mass storage
US6622179B2 (en) Method and apparatus for providing content on a computer system based on usage profile
US6477642B1 (en) Method and apparatus for extending BIOS control of screen display beyond operating system boot process
US6438750B1 (en) Determining loading time of an operating system
US6401202B1 (en) Multitasking during BIOS boot-up
US8464245B2 (en) Method and system for software virtualization directly from an installation package
US6734864B2 (en) Re-generating a displayed image
US8839221B2 (en) Automatic acquisition and installation of software upgrades for collections of virtual machines
US10114630B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US6457122B1 (en) Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware
JP4932781B2 (ja) 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム
US7293169B1 (en) Methods and systems for remotely updating the firmware of multiple computers over a distributed network
US7363482B2 (en) Method and apparatus to support remote configuration code
US6715043B1 (en) Method and system for providing memory-based device emulation
US20060020845A1 (en) Unattended BIOS recovery
US6519659B1 (en) Method and system for transferring an application program from system firmware to a storage device
AU2008296957A1 (en) Bootstrapper and software download manager
US8683458B2 (en) Automatic full install upgrade of a network appliance
JP5170604B2 (ja) 不揮発性メモリに格納された画像を更新するための装置および方法
JP2001056719A (ja) Biosブートアップ中にメディア出力を生成する方法
EP1086420A2 (en) Method and system for providing memory-based device emulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110816

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110831

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: 20111004

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: 20111006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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