JP2010134941A - 目標の媒体上にオペレーティングシステムイメージを作成する方法、システム及びリカバリ媒体 - Google Patents

目標の媒体上にオペレーティングシステムイメージを作成する方法、システム及びリカバリ媒体 Download PDF

Info

Publication number
JP2010134941A
JP2010134941A JP2009292565A JP2009292565A JP2010134941A JP 2010134941 A JP2010134941 A JP 2010134941A JP 2009292565 A JP2009292565 A JP 2009292565A JP 2009292565 A JP2009292565 A JP 2009292565A JP 2010134941 A JP2010134941 A JP 2010134941A
Authority
JP
Japan
Prior art keywords
computer
operating system
image
reduced
system components
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
JP2009292565A
Other languages
English (en)
Other versions
JP5095717B2 (ja
Inventor
Ryan Burkhardt
ライアン・バークハート
Seetharaman Harikrishnan
シータラマン・ハリクリシュナン
Tom Yaryan
トム・ヤーヤン
Richard Bond
リチャード・ボンド
Vijesh Shetty
ビジェシュ・シェティー
Vijayachandran Jayaseelan
ビジャヤチャンドラン・ジャヤシーラン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010134941A publication Critical patent/JP2010134941A/ja
Application granted granted Critical
Publication of JP5095717B2 publication Critical patent/JP5095717B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Abstract

【課題】選択された機能を有するオペレーティングシステム(OS)を作成し使用する方法及びシステムを提供する。
【解決手段】パーソナルコンピュータ(PC)のOEM製造者又は情報技術専門家のようなユーザは、インストールOSイメージ内で利用可能な複数のOSコンポーネントからOSコンポーネントのセットを選択する。選択されたOSコンポーネントのセットは、CD−ROMのようなコンピュータ読み取り可能媒体上にOSイメージとしてインストールされる。OSイメージは、目標のコンピュータを起動し参照OSイメージをインストールしたり、参照OSイメージの障害発生のインストールから目標のコンピュータを回復したりするような、ユーザが所望する機能を実施するためOSイメージと相互作用するスクリプトを含む。
【選択図】図1

Description

発明の属する技術分野
本発明は、コンピュータオペレーティングシステムの分野に関する。特に、本発明は、ユーザが所望する機能を実施するためにユーザが選択するコンポーネントを有する、スクリプティングサポートを伴うオペレーティングシステムに関する。
発明の背景
オペレーティングシステム(OS)イメージは、1台のコンピュータの中のハードウエアと相互作用し、多数の機能を実施する。通常のOSイメージでは、ハードディスクドライブのような大容量記憶装置上に相当量の空間が求められる。相当量のディスク空間が要求されるため、OSイメージのうち限定された機能のみが求められる状況では、通常のOSイメージは効率的ではない。更に、相当量のディスク空間が要求されることと、大容量記憶装置へ読み取りと書き込みのアクセスを行う必要があることから、通常のOSイメージは、単一の読出し専用のコンピュータ読み取り可能媒体に常駐することができない。
コンピュータ上にOSイメージをインストールするためには、MS−DOSのような、読出し専用媒体からコンピュータを起動しうる、最小限の機能を備える別のOSが、歴史的に利用されてきた。しかしながら、MS−DOSには、640キロバイトの揮発性メモリの制限や64ビットコンピュータとの非互換性を含む、いくつかの限界がある。更に、MS−DOSを利用してOSイメージをブートしインストールする間、コンピュータを多数回リブートすることがしばしば必要である。加えて、(ハードウエア製造者により供給されるハードウエアドライバとして知られる)ハードウエアを操作するソフトウエアルーチンは、MS−DOSを利用するハードウエアを有効にするために、MS−DOSの制約の範囲内で稼動するように修正されなければならない。
同様に、WINDOWS NTオペレーティングシステム(NT)のあるバージョンは、例えば、コンピュータにNTへの初期起動を用意するテキストモードを介してインストールされる。グラフィカルユーザインターフェースモードセットアップは、ユーザからの入力を基にしたインストールを構成する。オンラインインストールとして参照すると、このインストールの方法は、コンピュータ上にNTそれ自体をブートストラップすることを含む。しかしながら、オンラインインストールは、望ましくないほどコンピュータの多数のリブートを必要とする。
大抵のOSイメージは、OSの基本的に要求される機能を実施するソフトウエアルーチンを包摂するカーネルを含む。追加機能は、カーネル以外のソフトウエアによりインプリメントされる。OSイメージには、最小限の機能とサイズを有するマイクロカーネルを含む。そのようなマイクロカーネルのOSイメージでは、カーネル以外のソフトウエアが、OSイメージのうちの必要とされる相当量の機能を実施する。しかしながら、これらのマイクロカーネルOSイメージは、通常、ハードウエアへの依存性が強く、ユーザ所望の特定機能を実施するための、ユーザがカスタマイズし得るテキストベースのスクリプトを、含んでいない。
以下に説明する本発明は、これら及び他の不都合に取り組むものである。
本発明は、インストールOSイメージから縮小されたオペレーティングシステム(OS)イメージを生成する。本発明は結果として縮小OSイメージも含む。パーソナルコンピュータ(PC)のOEM製造者のようなユーザは、インストールOSイメージ内で利用可能な複数のOSコンポーネントから、OSコンポーネントのセットを選択する。選択されたOSコンポーネントのセットは、CD−ROMのようなコンピュータ読み取り可能媒体(CRM)上に縮小OSイメージとしてインストールされる。縮小OSイメージは、コマンドプロンプトの表示、参照OSイメージもインストール、又は参照OSイメージのインストールの失敗からのリカバリなどのような、ユーザの所望する機能を実施するための縮小OSイメージと相互作用するスクリプトを含む。縮小OSイメージは、小さい揮発性の及び不揮発性の記憶装置を必要とする。本発明は、32ビットより大きいアーキテクチャを伴うコンピュータ上に、参照OSイメージをインストールするのに利用されてもよい。本発明は、32ビット以下のアーキテクチャを伴うコンピュータ上でも、動作可能である。縮小OSイメージは、(通常、保護モードのために書かれているが)ハードウエアを制御するのに利用されるハードウエアドライバを用い、ハードウエアの適切な操作を検証する。縮小OSイメージはユーザ仕様のハードウエアドライバを含むので、本発明に係る縮小OSイメージは、ハードウエアに依存しない。本発明は、コンピュータ上に、ユーザが1回のリブートで参照OSイメージをインストールできるフレームワークを提示する。スクリプトは、ネットワーク接続を可能にすること、大容量記憶装置をパーティションに分けること、及び大容量記憶装置をファイルシステムでフォーマットすることを含み且つそれらに限定されることなく、どんな機能をも実施する。例えば、スクリプトは、WINDOWSオペレーティングシステムで利用可能なフォーマットに係るファイルシステムにより、大容量記憶装置をフォーマットする機能を実施する。
本発明の一つの実施形態によると、コンピュータ処理における方法が、ユーザカスタマイズされたテキストベースのスクリプトを与え、コンピュータ読み取り可能媒体上のオペレーティングシステムイメージから、コンピュータを起動し、上記スクリプトに従って、コンピュータの一つ又はそれ以上の機能を実施する。コンピュータは、32ビット又は64ビットのアーキテクチャを有する。
本発明の別の実施形態によると、システムが、ユーザカスタマイズされたテキストベースのスクリプトを与える手段と、コンピュータ読み取り可能媒体上のオペレーティングシステムイメージから、32ビット又は64ビットのアーキテクチャを有するコンピュータを起動する手段と、上記のユーザカスタマイズされテキストベースのスクリプトに従って、コンピュータの一つ又はそれ以上の機能を実施する手段とを含む。
本発明の別の実施形態によると、コンピュータ処理における方法が、ユーザカスタマイズされテキストベースのスクリプトを与え、コンピュータ読み取り可能媒体上の第1のオペレーティングシステムイメージからコンピュータを起動し、上記のユーザカスタマイズされテキストベースのスクリプトに従って、コンピュータ上に第2のオペレーティングシステムイメージをインストールする。
起動することとインストールすることは、コンピュータの一度だけの再起動と
ともに生じる。
本発明の別の実施形態によると、システムが、ユーザにより選択されたオペレーティングシステムコンポーネントを備える、第1のオペレーティングシステムイメージと、第2のオペレーティングシステムイメージと、ユーザによりカスタマイズされるテキストベースのスクリプトファイルとを含む。スクリプトファイルは、第1のオペレーティングシステムイメージと相互作用して、コンピュータ上に第2のオペレーティングシステムイメージをインストールする。コンピュータは、32ビット又は64ビットのアーキテクチャを有する。
本発明の別の実施形態によると、コンピュータと共に利用するコンピュータ読み取り可能リカバリ媒体が、オペレーティングシステムイメージと、テキストベースのスクリプトファイルとを含む。スクリプトファイルは、オペレーティングシステムイメージと相互に作用し、コンピュータ上のソフトウエアの障害からの回復を指図する。
本発明の別の実施形態によると、コンピュータ処理における方法は、目標の媒体上にオペレーティングシステムイメージを作成する。該方法は、複数のオペレーティングシステムコンポーネントからオペレーティングシステムコンポーネントのサブセットを選択し、選択されたオペレーティングシステムコンポーネントのサブセットに係るファイルのリストを生成し、選択されたオペレーティングシステムコンポーネントのサブセットを、目標の媒体上にオペレーティングシステムイメージとしてインストールする。インストールする工程は、インストールの媒体から目標の媒体へファイルを複写する工程を含む。
本発明の別の実施形態によると、目標の媒体上にオペレーティングシステムイメージを作成するシステムが、複数のオペレーティングシステムコンポーネントからオペレーティングシステムコンポーネントのサブセットを選択する手段と、選択されたオペレーティングシステムコンポーネントのサブセットに係るファイルのリストを生成する手段と、選択されたオペレーティングシステムコンポーネントのサブセットを、目標の媒体上にオペレーティングシステムイメージとしてインストールする手段とを含む。インストールする手段が、インストールの媒体から目標の媒体へファイルを複写することを含む。
本発明の別の実施形態によると、システムが、複数のオペレーティングシステムコンポーネントから目標の媒体上にオペレーティングシステムイメージを作成する。そのシステムは、少なくとも一つのアプリケーションプログラムと、オペレーティングシステムコンポーネント修正版とを含む。アプリケーションプログラムは、1台のコンピュータ上の一つ又はそれ以上のプロセッサよって実行されるとき、ユーザに複数のオペレーティングシステムコンポーネントからオペレーティングシステムコンポーネントのセットを選択させることを含む動作を、一つ又はそれ以上のプロセッサに実施させる。オペレーティングシステムコンポーネント修正版は、選択されたオペレーティングシステムコンポーネントのセットが、オペレーティングシステムイメージとして動作することを許す。
発明の実施の形態
概して言うと、本発明は、インストールOSイメージから起動可能な縮小OSイメージを形成する、少なくとも一つのアプリケーションプログラムとオペレーティングシステム(OS)コンポーネントに対する必須の修正とを含む、方法及びシステムに関し、縮小OSイメージは、OEM製造者のようなユーザが条件指定する一つ又は複数の機能を実施するスクリプトサポートを有する。縮小OSイメージでは、全体がインストールされた場合のインストールOSイメージのうちで、機能、及び/又は、サイズに関して、縮小される。
ユーザは、縮小OSイメージの中に含めるためのOSコンポーネントを選択し、所望の機能を可能にする追加のOSコンポーネントを選択的に含める。アプリケーションプログラムは、起動可能な縮小OSイメージを形成するために、OSイメージのインストールに対する選択と追加を利用する。縮小OSイメージは、CD−ROMのようなコンピュータ読み取り可能媒体(CRM)に書かれるか、リモートサーバに格納されるか、又は、ローカルの大容量記憶装置にインストールされる。縮小OSイメージは、ユーザに指定された機能を実施するためのスクリプトを含む。例えば、ユーザは、縮小OSイメージと相互作用してソフトウエアをインストールするスクリプト、OSインストールの失敗から回復するためのスクリプト、ハードウエアドライバを更新するスクリプト、コンピュータを再封(リシール:reseal)し検査するスクリプト、他のスクリプトを含むアプリケーションプログラムを実行するスクリプト、若しくは他のどんなタスクも実施するスクリプトを、編集できる。
本発明の例示のOSは、WINDOWSオペレーティングシステムであるが、本発明は縮小OSイメージを形成し利用する他のオペレーティングシステムにも、利用可能である。例示のWINDOWSオペレーティングシステムの実施形態では、縮小OSイメージでは、最小限のWIN32アプリケーションプログラミングインタフェース(API)サブシステムを伴うWINDOWS NTに関連するコードベースを含む。縮小OSイメージは、WIN32サブシステムの中へと起動(ブート:boot)するのに要求されるOSコンポーネントを、最小限の数だけ有する。最小限のOSコンポーネントには、カーネル、ハードウエアドライバ、及びシステムファイルを含む。縮小OSイメージは、WINDOWSオペレーティングシステムの中の登録に関連するハイブ(hive)のようなデータベースに、それ自身に係る最小限の状態情報も格納する。
起動プロセスとWINDOWSオペレーティングシステムにて利用可能なOSコンポーネントとに関する、一般的な情報については、ソロモンとルシノビッチ(Solomon and Russinovich)による「Inside Microsoft Windows 2000」2000年第3版46−87、177−206、及び215−236頁を参照されたい。それらの内容は参照の上本明細書に組み込まれる。
一つの実施形態では、縮小OSイメージは、マイクロプロセッサに関する保護されたオペレーティングモードのためのサポートを、含む。マイクロプロセッサ操作の保護されたモードは、マイクロプロセッサのリアルモードと、対照をなす。ユーザは、ハードウエア製造者により供給されハードウエアの制御での利用が意図されるハードウエアドライバを用いて、ハードウエアを確認するスクリプトを編集する。保護されたモードのために書かれた、供給されるハードウエアドライバに対しては、ユーザが別途のハードウエアドライバを書く必要や、リアルモードで操作するため保護されたモードのハードウエアドライバを修正する必要もない。ユーザは、縮小OSイメージ内で修正の無いハードウエアドライバを使用し、縮小OSイメージの保護されたモード内でハードウエアを確認する。縮小O
Sイメージが別のOSをインストールするのに利用されるときは、ハードウエア確認の結果は、インストールされるOSにも利用可能である。
スクリプトを編集することにより、ユーザは、参照OSイメージにつき、自動化された、ハンドフリーのインストールを構成する。縮小OSイメージは、どんなOSイメージをインストールするのにも利用され得る。更に、縮小OSイメージは、OSインストールを確定するため、又は、エンドツーエンドのグラフィカルユーザインタフェース(GUI)アプリケーションを実行するために、利用され得る。
一つの実施形態では、OEM製造者は、64ビットアーキテクチャ又は32ビットアーキテクチャのいずれかを有するパーソナルコンピュータ(PC)上に参照OSイメージをインストールするために、縮小OSイメージを利用する。OEM製造者は、アプリケーションプログラムと、縮小OSイメージを形成するために必要なOSコンポーネントの修正版とを含む、ソフトウエア開発キット(SDK)を受け取る。OEM製造者は、特定のPCハードウエア及びOEMに係る他の場所的考慮の観点から、OEMファクトリの目標のコンピュータ上への参照OSイメージのインストールを実施するのに必要なOSコンポーネントを選択する。とりわけ、OEM供給者は、ハードウエアドライバのようなOSコンポーネントを追加若しくは除去し、テキストファイルによる大容量記憶装置の構成の条件
指定をする。アプリケーションプログラムは、選択されたOSコンポーネントのセットを伴い、縮小OSイメージを形成する。よって、OEM製造者は、フォーマットされていないハードディスクドライブを備えるPCのような目標のコンピュータを確認し、目標のコンピュータのハードディスクをフォーマットし、目標のコンピュータ上へ参照OSイメージをインストールするために、縮小OSイメージを利用する。
目標のコンピュータは、32ビット及び64ビットを含むがそれらに限定されない種々のアーキテクチャに従って、設計される。各々のコンピュータは、通常、そのアーキテクチャにより分類される。64ビットアーキテクチャは、通常、64ビットのグループでデータを内部的に操作するコンピュータ能力を示す。64ビットコンピュータアーキテクチャは、プロセッシングユニット(図1、符号120参照)、プロセッシングユニットに対して内在又は外在する少なくとも一つのメモリレジスタ、及びデータバスを含む、64ビット幅の基本的な周辺要素である。同様に、32ビットより大きいアーキテクチャを備えるコンピュータの分類につき、一般的に言及するならば、コンピュータは、64ビットアーキテクチャ、128ビットアーキテクチャ、又は少なくとも32ビットのグループで内部的にデータを操作するアーキテクチャであればどんなものでもよい。本発明のシステム及び方法は現下利用可能なコンピュータアーキテクチャに限定されないことを、当業者は銘記すべきである。本発明は、128ビット及び256ビットアーキテクチャを含みそれらに限定されない将来的なコンピュータアーキテクチャに、利用可能であることが意図されている。もし、コンピュータ及び周辺機器を制御するソフトウエアベースのOSというコンセプトを有するならば、本発明は、全く異なるタイプのコンピュータ、非デジタルコンピュータでさえも、利用可能である。更に、本発明は、32ビットアークテクチャ、16ビットアーキテクチャ、8ビットアーキテクチャ、若しくは単一ビットアーキテクチャを、含むがそれらに限定されない、32ビット以下のコンピュータアーキテクチャに適用
可能であることが、意図されている。縮小OSイメージによりサポートされるのならどんなコンピュータアーキテクチャも、本発明は操作し得るという点において、通常、本発明のシステム及び方法は、アーキテクチャに依存しない。例えば、縮小OSイメージが、32ビットアーキテクチャを備えるコンピュータと64ビットアーキテクチャを備えるコンピュータをサポートするのであれば、本発明は、32ビットアーキテクチャ、64ビットアーキテクチャのいずれかを備えたコンピュータであれば適用される。一つの実施形態では、起動と実施のステップは、32ビット以下のアーキテクチャを有するコンピュータ上にて動作し得る。更に、スクリプトファイルは、32ビット以下のアーキテクチャを有するコンピュータ上にて動作し得る。
MICROSOFTディスクオペレーティングシステム(MS−DOS)のようなOSは、16ビットアーキテクチャを有するコンピュータ上にて、スクリプト機能を歴史的にサポートしている。MS−DOSは、コンピュータ上の機能を実施するため、基本入出力システム(BIOS)と連絡する割り込みを利用する。BIOSは、MS−DOS及びBIOSが動作する特定のコンピュータに関連するMS−DOSコマンドを実行する。BIOSは、修正され、32ビットコンピュータ上で16ビットMS−DOSコマンドを実行し得る。しかしながら、BIOSは、32ビットより大きいアーキテクチャを備えるコンピュータ上では、BIOSを完全に書き換えてそのようなアーキテクチャのためのサポートを与えない限り、16ビットMS−DOSコマンドを実行するように修正することはできない。更に、MS−DOSは、32ビットより大きいアーキテクチャを備えるコンピュータ上では、MS−DOSを完全に書き換えそのようなアーキテクチャのためのサポートを与えない限り、動作可能なコマンドを生成するようには修正できない。MS−DOSは、MS−DOS及びBIOSの固有の設計のために、32ビット以下のアーキテクチャに原則的に限定される。MS−DOS及び/又はBIOSを完全に書き換えると、以下に説明するOSのような、新しいOSとなる。
例えば、他の限定のうちでも、MS−DOSは原則的に、8ビット及び初期の16ビットアーキテクチャプロセッサのために設計されたので、通常MS−DOSは大容量のメモリにアクセスできない。8ビット及び初期の16ビットアーキテクチャプロセッサは、アドレスバスが20ビット幅しかなかったので、1メガバイトのメモリしかアクセスできないというアドレス制限が通常存在した。(特別のMS−DOS拡張を含む)MS−DOSは完全に書き換え無ければ、MS−DOSの下で動作するアプリケーションは、20ビットより幅広いアドレスバスを有するプロセッサ上では1メガバイト制限を越えるメモリにアクセスできない。MS−DOSは、完全な書き換えを行わない限り、そのようなメモリアクセスをサポートするようには修正され得ない。通常、MS−DOSの下で稼動するアプリケーションの多くは、640キロバイトに過ぎないメモリが最大限となってしまう。
図1を先ず参照すると、本発明がインプリメントされ得る適切な計算機システム環境100の一例を、ブロック図が示す。計算機システム環境100は、適切な計算若しくは操作環境の一例に過ぎず、本発明の利用又は機能の範囲の限界を示唆することを意図しない。計算機システム環境100は、例示の計算機システム環境100内で示される要素の内の、どれか一つ若しくは組み合わせに、依存するものであるとは解釈されるべきではなく、関連を要求するものであると解釈されるべきでもない。
本発明は、数多くの他の通常目的の又は特定目的の、計算機システム環境又は構成と共に、動作する。本発明と共に用いられるのが適切である周知の計算機システム、環境、及び/又は構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド若しくはラップトップ装置、多重プロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能消費者エレクトロニクス、ネットワークPCs、ミニコンピュータ、メインフレームコンピュータ、上記システム若しくは装置のいずれかを含む分散計算機環境、及びその他を含み。それらに限定されるものではない。
本発明は、一つ又は複数のコンピュータ又は他の装置により実行される、プログラムモジュールのような、コンピュータ実行可能命令の通常の文脈において、説明され得る。通常、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、及び、特定のタスクを実施し若しくは特定の抽出データタイプをインプリメントするデータ構造を含むが、それらに限定されるものではない。本発明は、通信ネットワークを介してリンクされるリモートプロセッシング装置によりタスクが実施される分散計算機環境でも実施され得る。分散計算機環境では、プログラムモジュールは、記憶格納装置を含む、ローカルコンピュータ格納媒体及びリモートコンピュータ格納媒体のいずれに配置されてもよい。
図1を参照すると、本発明をインプリメントする例示システムは、コンピュータ110形状の一般目的計算機装置を含む。プロセッシングユニット120、システムメモリ130、及びプロセッシングユニット120に対するシステムメモリを含む種々のシステム要素を統合するシステムバス121を、コンピュータ110の要素が含むが、それらに限定されるものではない。本発明の有る実施形態では、プロセッシングユニット120は、32ビット又は64ビットアークテクチャを有する。システムバス121は、メモリバス即ちメモリコントローラ、周辺バス、及び種々のバスアーキテクチャのいずれかを利用するローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。内容を限定するものではないが、例として挙げると、そのようなバスアーキテクチャには、インダストリス
タンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダードアソシエーション(VESA)ローカルバス、及びメザニンバスとしても知られるペリフェラルコンポーネントインタコネクト(PCI)バスを、含む。
通常、コンピュータ110は、少なくともある形態のCRMを含む。CRMはコンピュータ110でアクセス可能であれば、どんな利用可能媒体であってもよく、揮発性及び不揮発性媒体、除去可能及び除去不可能媒体を、含む。内容を限定するものではないが例として挙げると、CRMは、コンピュータ格納媒体及び通信媒体を含みうる。コンピュータ読み取り可能命令、データ構造、及びプログラムモジュール、若しくは他のデータのような、情報の格納のための方法若しくは技術の中でインプリメントされる、揮発性及び不揮発性媒体、除去可能及び除去不可能媒体を、コンピュータ格納媒体は含む。RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタルヴァーサタイルディスク(DVD)若しくは他の光学ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶若しくは他の磁気記憶装置、又は、所望の情報を格納するのに利用され得、コンピュータ110によりアクセスされ得る他のどんな媒体をもコンピュータ格納媒体は含むが、それらに限定されない。通常、通信媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、又は、キャリアウエーブ若しくは他の輸送メカニズムのようなモジュール化されたデータ信号の中の他のデータを、包含し、あらゆる情報配布媒体を含む。当業者はモジュール化されたデータ信号を周知しており、モジュール化されたデータ信号は一つ若しくは複数の特性を有し、若しくは信号の中の情報を符号化すべく変更されている。内容を限定するものではないが例として挙げると、通信媒体は、有線ネットワーク若しくは直接有線接続のような有線媒体と、可聴音、無線周波数
、赤外線及び他のワイヤレス媒体のようなワイヤレス媒体とを、含む。上記のどの組み合わせも、CRMの範囲内に含まれる。
システムメモリ130は、読出し専用メモリ(ROM)131及びランダムアクセスメモリ(RAM)132のような、揮発性及び不揮発性メモリの形態のコンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、スタートアップの間などにコンピュータ110の内部で要素間にて情報の輸送を促進する基本ルーチンを含むのであるが、通常、ROM131の中に格納される。RAM132は、通常、プロセッシングユニット120により、即座にアクセス可能で且つ/又は現下操作される、データ及び/又はプログラムモジュールを含む。内容を限定するものではないが例として挙げると、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137を、示す。
コンピュータ110は、他の除去可能/除去不可能媒体、揮発性/不揮発性コンピュータ記憶媒体も含み得る。例示に過ぎないが、図1は、除去不可能で不揮発性磁気媒体から読み取り又は書き込むハードディスクドライブ141、除去可能で不揮発性磁気ディスク152から読み取り又は書き込む磁気ディスクドライブ151、及び、CD ROMや他の光学媒体のような、除去可能で不揮発性光学ディスク156から読み取り又は書き込む光学ディスクドライブ155を示す。例示のオペレーティング環境で利用され得る、他の除去可能/除去不可能、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等を含み、然もそれらに限定される
ものではない。ハードディスクドライブ141は、通常、インタフェース140のような除去不可能メモリインタフェースを介してシステムバス121に接続し、磁気ディスクドライブ151及び光学ディスクドライブ155は、通常、インタフェース150のような除去可能メモリインタフェースによってシステムバス121に接続する。
ドライブ、若しくは他の大容量記憶装置とそれらに関連する前述のコンピュータ記憶媒体は、図1に示されており、コンピュータ110に対して、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、及び他のデータを、格納する。図1では、例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147を格納するように、示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137と同じでも、異なっていてもよい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147は、ここでは、最小限、異なるコピーを示すものとして、異なる数字が与えられている。オペレーティングシステム144のような、本発明に係るOSは、コンピュータ110に対する基本的なソフトウエア制御プログラムであり、ユーザインタフェースの提示を含む種々の機能を実施し、アプリケーションプログラム145の実行を処理し、種々の入力/出力(I/O)装置からのデータ入力及び装置へのデータ出力を制御する。アプリケーションプログラム145は、コンピュータ110上で実行可能な幅広く様々な一つ又は複数のソフトウエアルーチンを表す。アプリケーションプログラムの例では、教育プログラム、参照プログラム、(例えば、ワードプロセッサ、スプレッドシート、データベースなどの)生産関連プログラム、レクリエーションプログラム、及び(例えば、通信プログラムなどの)ユーティリティプログラムが含まれるが、それらに限定されるものではない。アプリケーションプログラム145は、ユーザによりコンピュータ110上にインストールされたり、若しくは、コンピュータ110OEM製造者及び/又は配布者により予めインストールされたりする。
ユーザは、キーボード162や、通常マウス、トラックボール、又はタッチパッドと称されるポインティング装置161などのような、入力装置を経由してコンピュータ110の中に、コマンド及び情報を入力する。他の入力装置(図示せず。)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれ得る。これら及び他の入力装置は、システムバスに連結するユーザインプットインタフェース160を経由してプロセッシングユニット120に接続するのがしばしばであが、パラレルポート、ゲームポート、又は、ユニバーサルシリアルバス(USB)のような、他のインタフェース及びバス構造によっても接続し得る。モニタ191又は他のタイプの表示装置も、ビデオインタフェース190のようなインタフェースを経て、システムバス121に接続する。モニタに加えて、コンピュータは、スピーカ197及びプリンタ196のような他の周辺出力機器も含み得、それらはアウトプット周辺インタフェース195を介して接続し得る。
コンピュータ110は、リモートコンピュータ180のような一つ又は複数のコンピュータへの論理接続を利用するネットワーク環境にて動作し得る。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアーデバイス、又は他の一般的なネットワークノードであり、通常、コンピュータ110に関連して上記にて説明した要素の多く又は全てを含む。但し図1では、メモリストレージ装置181のみが示されている。図1に示される論理接続は、ローカルエリアネットワーク(LAN)171及びワイドエリアネットワーク(WAN)を含むが、他のネットワークを含んでもよい。そのようなネットワーク環境は、オフィス、企業体全域コンピュータネットワーク、イントラネット、及びグローバルコンピュータネットワーク(例えば、インターネット)において、一般的である。
LANネットワーク環境にて利用される際は、コンピュータ110は、ネットワークインタフェース又はアダプタ170を介してLAN171に接続する。WANネットワーク環境にて利用される際は、コンピュータ110は通常、モデム172、又はインターネットのようなWAN173への通信を確立する他の手段を含む。モデム172は、内部にあっても外部にあってもよく、ユーザインプットインタフェース160又は他の適切な機構を介して、システムバス121に接続し得る。ネットワーク環境では、コンピュータ110に関連して示されるプログラムモジュール、若しくはその一部は、リモートメモリストレージ装置に格納され得る。図1は、メモリ装置181上に常駐するリモートアプリケーションプログラム185を、例として示すが、その例に限定されるものではない。図示されるネットワーク接続は例示であり、コンピュータ間にて通信リンクを確立する他の手段も利用され得る。
次に図2を参照すると、ブロック図が、OSコンポーネント202を示す。或るコンピュータシステムでは、OSイメージは、OSコンポーネントに組織化され、各々のOSコンポーネント202はその機能の一つ又は組み合わせを実施する。各々のOSコンポーネント202は、コンピュータによりアクセス可能なNファイル204まで含む。
次に図3を参照すると、フローチャートが、目的の媒体上への縮小OSイメージのインストールを示す。目的の媒体はCRMであればよく、コンピュータからローカルにもリモートにもアクセス可能である。ユーザは、302において、複数のOSコンポーネント(図2符号202参照)から少なくとも一つのOSコンポーネントを選択する。一つの実施形態では、ユーザはOSコンポーネントのセットを選択する。複数のOSコンポーネントには、コンピュータの中のハードウエアを使用可能にするドライバが含まれ、そのハードウエアには大容量記憶装置、ネットワークカード、及び/又は、図1に明示又は黙示されるどの装置もが含まれる。上記のように、複数のOSコンポーネントの各々は、少なくとも一つのファイル(図2符号204参照)を含む。縮小OSイメージのインストールには、選択されたOSコンポーネントのセット及び関係するOSコンポーネントの修正版に関連するファイルを、目標の媒体上へ複写し統合することが含まれる。選択されたOSコンポーネントに関連するファイルは、304にて目標の媒体に複写され、306にて縮小OSイメージとして統合される。
一つの実施形態では、縮小OSイメージの中の選択されたOSコンポーネントのセットには、インストールOSイメージの中の複数のオペレーティングシステムコンポーネントのサブセットが含まれる。ユーザは、選択されたOSコンポーネントのセットに対して、追加のOSコンポーネントを選択の上含ませる。追加のOSコンポーネントは、複数のOSコンポーネントに無いが、ユーザに供給されるコンポーネントのどんなものも含む。追加のOSコンポーネントは、特定のハードウエアドライバ、スクリプトファイル、及びアプリケーションプログラムを含むが、それらに限定されるものではない。例えば、特定のハードウエアドライバは、大容量記憶装置、ビデオ装置ドライバ、入力装置ドライバ、及びネットワーク装置ドライバを含む。縮小OSイメージの中に含まれるハードウエアドライバは、インストールOSイメージ内で利用可能なハードウエアドライバ、又はサードパーティからのハードウエアドライバのありとあらゆるものを含むように、ユーザによりカスタマイズされることが可能である。同様に、ユーザは、ネットワーククライアント、テストハーネス、及びレポートユーティリティのようなツール若しくはユーティリティを選択的に含ませる。追加のOSコンポーネントに関連するファイルはユーザにより与えられ、目標の媒体に複写され縮小OSイメージに統合される。例えば、特定の大容量記憶装置のためのサポートを追加するには、ユーザは、特定の大容量記憶装置のためのエントリをハードウエアドライバのリストに追加し、全てのドライバを含むファイルディレクトリの中に、特定の大容量記憶装置と関連するハードウエアドライバを含める。ユーザは、縮小OSイメージを目標の媒体上にインストールする前、若しくはインストールした後に、特定のハードウエア装置のためのサポートを追加、若しくは削除する。
一つの実施形態では、縮小OSイメージは、全インストールOSイメージのための不揮発性メモリ記憶の通常必要な950メガバイトから1.2ギガバイトと比較して、不揮発性メモリ記憶の約100メガバイトしか必要としない。オペレーティングシステムが展開すると、縮小OSイメージが要求する不揮発性メモリ記憶は、本発明の機能に影響を与えることなく有意に100メガバイト以下となりうる、ということが当業者であれば銘記される。
縮小OSイメージは、最小限のファイルリストと最小限の状態情報を含む。例えば、WINDOWSオペレーティングシステムでは、状態情報は、ハイブと呼ばれる分離ファイルのセットを含むレジストリとして知られるデータベースに格納される。インストールOSイメージを含む媒体の中のOSコンポーネントと関連する、各々のあらゆるファイルネームを含むマスタファイルレイアウトリストがある。マスタファイルレイアウトリストの中のエントリは、縮小OSイメージにとって必要であるか否かを示す。例えば、WINDOWSオペレーティングシステムでは、マスタファイルレイアウトリストは、「file layout.inf」である。本発明は、マスタファイルレイアウトリストを解析(parse)し、縮小OSイメージに必要なファイルを識別するイメージ生成ソフトウエアを、含ませる。イメージ生成ソフトウエアは、識別されたファイルを目標の媒体上のファイルディレクトリに複写することにより、目標の媒体上に縮小OSイメージをインストールする。ファイルディレクトリは、不揮発性媒体上にイメージが取られ得る。更に、イメージ生成ソフトウエアは、必要に応じて、目標の媒体上に確認されたファイルを伸張する。イメージ生成ソフトウエアにより、ユーザは、ディレクトリ構造を形成する間に、追加として要求されるファイルを縮小OSイメージに追加することもできる。このように、インストールOSイメージの一部として現存していない、より新しいドライバファイルや他のユーティリティファイルを追加する。
GUI及びテキストインタフェースは、複数のOSコンポーネントからOSコンポーネントのサブセットを選択する手段を構成する。ユーザは、SDKのようなアプリケーションプログラムを介して各々のインタフェースと相互に作用し、縮小OSイメージの中に含めるためOSコンポーネントのサブセットを選択する。上記図3に示されるSDKは、選択されたOSコンポーネントのサブセットと関連するファイルのリストを生成する手段と、選択されたOSコンポーネントのサブセットを目標の媒体上に縮小OSイメージとしてインストールする手段とを構成する。インストール媒体から目標の媒体へファイルを複写することは、インストールのための手段を構成する。更に、上記の例及び本明細書の別箇所に記される例は、OSコンポーネントのサブセットを選択する手段、ファイルのリストを生成する手段、選択されたOSコンポーネントのサブセットをインストールする手段を、構成する。
次に図4を参照すると、ブロック図が、目標の媒体410への縮小OSイメージ412のインストールを示す。ソフトウエア展開ツールキット(SDK)405、又は少なくとも一つの他のアプリケーションプログラムは、ハードウエアドライバのリストのような、OSコンポーネントのリスト402をユーザに表示する。ユーザは、リスト402からOSコンポーネントのセット404を選択する。コンピュータ上の一つまたは複数のプロセッサは、SDK405が、ユーザにOSコンポーネントリスト402からOSコンポーネントのセット404を選択させるように、仕向ける。インストールOSイメージ406は、SDK405でアクセス可能であり、リスト402に対応する複数のOSコンポーネント407を与える。例えば、インストールOSイメージ406は、WINDOWSオペレーティングシステムプロダクト配布物(ディストリビューション:distribution)を含む媒体上に配置される。SDK405は、インストールOSイメージ406に対して選択されたOSコンポーネントのセット404を利用し、選択されたOSコンポーネントのセット404に関連するファイルを確認する。SDK405は、選択されたOSコンポーネントのセット404と関連する、複数のOSコンポーネント修正版408及び対応ファイルのうちのどれであっても、アクセスし確認する。確認されたOSコンポーネント修正版416は、選択されたOSコンポーネント414に対して、目標の媒体410上での縮小OSイメージ412として、動作させる。OSコンポーネント修正版408は、複数のOSコンポーネント407を、置換し、補足し、若しくは加減する。
特に、複数のOSコンポーネント407の修正408は、OSコンポーネント407を修正し不揮発性メモリへデータを書き込まないことを、含む。例えば、WINDOWSオペレーティングシステム環境では、本発明のOSコンポーネントは、レジストリ情報を、不揮発性メモリの代わりに揮発性メモリに書き込む。レジストリ情報は、ハイブとして知られる分離ファイルの中のデータベースに格納されるOS構成データを含む。ブートアップの間、セットアップローダは、縮小OSイメージに関連するカーネルに対しフラッグを渡し、カーネルに対して縮小OSイメージ412が起動されつつあることを示す。カーネルの初期化の間、読み取り専用CRMからの起動のときであっても、レジストリマネジャがフラグを確認し、レジストリを揮発メモリに書く。レジストリの中のエントリに対して為される変更は、揮発メモリ内で為される。縮小OSイメージ412がリブートするならば、揮発性メモリの本質に従い、全ての変更は放棄される。揮発性メモリの中にレジストリ情報を格納すると、縮小OSイメージ412に、個々のブートにおけるきれいなレジストリが与えられる。別の実施形態では、目標のコンピュータが不揮発性メモリへの書き込みアクセスを有するならば、ユーザは、リブートがあっても情報を維持できる不揮発性メモリに、レジストリ情報か、若しくは他の構成情報かをセーブするオプションを提供される。
ハイブの中のエントリも、修正され得る。ハイブエントリは、テキストファイルの中で格納される。ハイブ形成ソフトウエアは、縮小OSイメージ412を形成する間に、テキストファイルのバイナリバージョンを形成する。ハイブ形成ソフトウエアは、テキストファイルの中のハイブエントリを解析し、目標の媒体のためのバイナリハイブを形成する。ハイブ形成ソフトウエアは、ハイブをメモリの中にロードし、要求される変更をあてはめ、バイナリフォーマットの修正後ハイブをセーブすることによって、現存のバイナリハイブの修正もする。
例えば、WINDOWSオペレーティングシステムを起動するのには、4つのハイブが要求される。必要なハイブは、SYSTEM、SOFTWARE、SECURITY、及び、セキュリティアカウントマネジャ(SAM)ハイブを含む。デフォルトのSYSTEMハイブは、何のサブシステムかに関する情報、ハードウエアドライブ、及びWINDOWSオペレーティングシステムをブートストラップしている際に走らせるサービスを、含む。本発明のSYSTEMハイブは、現行のWINDOWSオペレーティングシステムセットアップのSYSTEMハイブの修正バージョンである。ハイブ形成ソフトウエアは、「minint.inf」のようなテキストファイルの中の修正を、デフォルトSYSTEMハイブに対して加える。SOFTWAREハイブは、「hivesft.inf」のようなテキストファイルから、ハイブ形成ソフトウエアによって、形成される。SECURITY及びSAMハイブは、ゼロ長ファイルであり、縮小OSイメージ412には関連するセキュリティ情報がないことを示す。
縮小OSイメージ412が起動しつつあることを示す、カーネルへ渡されるローダフラグを基にして、レジストリマネジャは、特別の配置でレジストリキーを形成する。例えば、レジストリマネジャは、揮発性キーHKLM/System/CurrentControlSet/Control/MiniNTを形成した後、“Option”と呼ばれるDWORD値を形成する。“Option”は1にセットされ、ユーザが縮小OSイメージ412環境にいることを示す。ユーザモードで実行するアプリケーションプログラムは、その値に従って構成を実施する必要があるので、レジストリキーに問い合わせる。
本発明に係る例示のWINDOWSオペレーティングシステムの形態では、縮小OSイメージは、“システム”アカウントのセキュリティ特権を有する。縮小OSイメージに対して利用可能なメモリは、利用可能な揮発性メモリの量に限定される。なぜならページングファイルは追加のメモリへのアクセスを与えるようには存在していないからである。更に、本発明に係る例示のWINDOWSオペレーティングシステムの形態にてデフォルトで開始される幾つかの他の所望されないサービス(例えば、システムファイル保護)は、縮小OSイメージに対しては、無力である。
SDK405は、選択されたOSコンポーネントのセット404と確認されたOSコンポーネントの修正版416とに関連するファイルを、複写且つ統合することによって、選択されたOSコンポーネント414及び確認されたOSコンポーネントの修正版416を目標の媒体410上に縮小OSイメージ412としてインストールする。ユーザは、複数のOSコンポーネント407の中に現存しない追加のOSコンポーネントを、選択して含める。追加のOSコンポーネントは、SDK405を介し、選択されたOSコンポーネント414に追加される。SDK405は、目標の媒体410上にスクリプトファイルを含み、ユーザにより条件指定される機能を実施する。目標の媒体410が読出し専用CRMならば、ユーザは、縮小OSイメージ412がCRM上にインストールされる前に、スクリプトファイルをカスタマイズする。目標の媒体410が読み取り書き込み可能CRMならば、ユーザは、縮小OSイメージ412がCRM上にインストールされる前でも、された後でも、スクリプトをカスタマイズできる。
インストールOSイメージ406、複数のOSコンポーネント修正版408、及び、図4の目標の媒体410は、SDK405によりローカルにもリモートからでもアクセス可能であり、更にはSDK405の中に含まれ得る、ということが当業者には銘記されるべきである。リモートアクセスの例は、図1のネットワーク環境により記される。
次に図5を参照すると、フローチャートが、別のOSイメージをインストールするための縮小OSイメージの利用を示す。コンピュータは、502にて、CRM上の縮小OSイメージから起動する。一つの実施形態では、縮小OSイメージは、テキストによるユーザインタフェースとGUIとをサポートする。特に、GUIは、少なくとも256色と少なくとも640×480画素の解像度とを備えるビデオグラフィックアレイ(VGA)ビデオモードをサポートする。ユーザによりカスタマイズされテキストベースであるスクリプトは、縮小OSイメージと相互に作用し、コンピュータ上の一つ又は複数の機能の実施を管理する。スクリプトは、機能が実施されるステップを確認する。スクリプトは、ステップが実行されるシーケンスも確認する。スクリプトは、ステップの逐次の実行に加えて、多重タスクをサポートする。即ち、先行するステップが完全に実行された後でのみ、スクリプトの中の各々のステップが実行されるべきか否かを、ステップ毎を基にして、ユーザは条件指定する。このように、スクリプトは、一時での1ステップの実行と、多重ステップの同時の実行とを許容する。一つの実施形態では、スクリプトはコンピュータにより読み出され、CRM上に配置されるファイルである。コンピュータで実行可能な命令は、単一のCRM上に常駐し、スクリプトに係る機能の起動と実施を調整する。別の実施形態では、スクリプトは、コンピュータ近くに配置されるか、若しくはコンピュータから離れて位置する。CRMは、コンピュータから離れて位置するか、若しくは近くに位置する(図6及び図7の夫々参照)。例えば、コンピュータは、図1のネットワーク環境で説明したように、遠くのCRM即ちスクリプトにアクセスする。
一つの実施形態では、OEM製造者のようなユーザは、スクリプトが、参照OSイメージをコンピュータ上にインストールするのに必要な機能を実施するように、スクリプトを編集する。一つの実施形態では、コンピュータは、パーティションの無いフォーマットされていない大容量記憶装置を備えた空の、即ち未処理のPCである。別の実施形態では、コンピュータは、更新される必要があるOSを有するCRMを備えるPCである。ユーザは、504にて、コンピュータ上のハードウエアを確認するスクリプトも、編集する。コンピュータ上のハードウエアには、ネットワークカード、大容量記憶装置、ビデオカード、及び/又は、図1に明示若しくは黙示される他のどんな装置も、含まれる。スクリプトは、条件指定されたハードウエア装置を使用可能にし、適切な操作を検証し欠陥のあるハードウエアを確認するテストを選択的に稼動することによって、ハードウエアを確認する。各々のハードウエア装置を確認するには、ハードウエアドライバが縮小OSイメージに対しハードウエア装置と通信せしめることが、要求される。ハードウエアドライバは、ハードウエア装置の製造者により供給される特別のソフトウエアであり、コンピュータ内にインストールされたOSと共に動作しハードウエア装置と通信する。一つの実施形態では、縮小OSイメージは、コンピュータ内のハードウエアを検出し適切なハードウエアドライバであることを確認するための、プラグアンドプレイ(PNP)プロトコルをサポートする。縮小OSイメージと共に、PNPマネジャサービスも稼動する。カーネルの初期化の間、PNPマネジャのカーネルモード部位は、コンピュータ上の種々のハードウエア装置を検出し、検出されたハードウエア装置に関する情報をレジストリの中の特定の位置に書き込む。本発明の縮小OSイメージでは、ユーザモードPNPマネジャは、それ自身上の検出されたハードウエア装置のためのハードウエアドライバをインストールしないように本質的に無力化されている。これはPNPマネジャのユーザモード部が、検出されたハードウエア装置のためのハードウエアドライバをインストールするか否かを決定する他のOSイメージと対照的である。もしハードウエアドライバがインストールされないならば、PNPマネジャのユーザモード部が、これらのハードウエア装置のためのハードウエアドライバをインストールする。
本発明では、適切なハードウエアドライバがロードし適切に始動すれば、縮小OSイメージは、特定のハードウエアが適切に機能していると想定する。ハードウエアの製造者により供給されるテストの組により、追加のテストがハードウエア上で選択的に実施される。例えば、ユーザは、ハードウエアドライバに対し、ハードウエアと通信するための入力/出力制御コマンド(IOCTL)を送信し得る。IOCTLコマンドにより戻ってくる値を分析することによって、ユーザは、ハードウエアが想定通り稼動していることを立証できる。別の例としては、ACMEネットワークインタフェースカード(NIC)が適切に稼動しているかどうか立証するため、ユーザはハードウエアドライバACMENIC.SYSをロードする。ACMENIC.SYSが首尾よくロードすると、ユーザは、ACMENIC.SYSを利用して、NICが適切に構成され稼動していることを立証するループバックテストを選択的に実施する。
OEM製造者に与えられた、即ち縮小OSイメージの内部で利用可能なハードウエアドライバは、ハードウエアを制御するのに利用され、保護モードをサポートするOSにより利用されるために書き込まれる。一つの実施形態では、本発明に係る縮小OSイメージは、WINDOWSオペレーティングシステム環境のような保護モードをサポートするOSである。縮小OSイメージには、コンピュータ上に存在し得る幾つかの若しくは全ての可能なハードウエアに対して利用可能な幾つかの若しくは全てのハードウエアドライバが、含まれる。このように、縮小OSイメージはハードウエアに依存しない。一つの実施形態では、「txtsetup.sif」又は「txtsetup.oem」のような少なくとも一つのテキストファイルが、コンピュータ上に存在し得る全ての可能なハードウエアに対して利用可能な全てのハードウエアドライバを、列挙する。ユーザは、リストにてハードウエア装置を追加したり削除したりすることにより、コンピュータ上に存在し得る可能なハードウエアのスペクトルを表すテキストファイルを、編集する。ハードウエアドライバのリストを最小限にすることにより、ハードウエア検出及び確認に要求される時間は、最小限化される。
例示のWINDOWSオペレーティングシステムの実施形態では、ハードウエアドライバはブートハードウエアドライバか非ブートハードウエアドライバかのいずれかである。縮小OSイメージは、ブートハードウエアドライバを自動的にロードする。ブートハードウエアドライバは、インプット、ストレージ(ハードディスクドライブ及びファイルシステム)、及びディスプレイドライバを含むハードウエアドライバであるが、それらに限定されるものではない。縮小OSイメージは種々のコンピュータ上で起動するので、異なるコンピュータは、異なるディスプレイ、インプット、及びストレージ装置を有し得る。縮小OSイメージは、たいていのコンピュータ上で稼動するドライバの、共通の動的なスーパーセットリストを含む。通常のセットアップの間に利用されるセットアップローダは、デフォルトVGAドライバ、種々の頻繁に利用されるハードディスクドライバのための一般的な大容量記憶装置ドライバ、通常のファイルシステムドライバ、及びキーボードやマウスのための入力ドライバを含むドライバをロードするが、それらに限定されるものではない。VGA互換可能なディスプレイ装置は、大抵のWINDOWSオペレーティングシステムに必要であるので、デフォルトVGAドライバはWINDOWSオペレーティングシステム環境の殆ど全てのコンピュータに対し稼動する。セットアップローダは、ブートドライバとしてこれらのドライバをロードし、リストを作成し、該リストをカーネルに渡しドライバを初期化する。ドライバが初期化する前に、SYSTEMハイブのサービスキーの下の有効なエントリが形成される。これらのドライバが動的にロードされるので、縮小OSイメージの生成の間には、要求されるレジストリエントリは形成され得ない。「setupdd.sys」のような本発明の別のドライバは、ブートドライバ初期化の間に実行され、他のドライバが初期化される前にレジストリの中に要求されるエントリを形成する。このことは、ドライバを適切に初期化する際に助けとなる。ユーザは、スクリプトの中で条件指定された非ブートハードウエアドライバをロードする。
スクリプトは、506にて、大容量記憶装置を分割することを指図する。大容量記憶装置を分割することには、508において、大容量記憶装置上にて特定領域を形成し、消去し、又はフォーマットすることが含まれる。一つの実施形態では、縮小OSイメージは、「partinfo.txt」のようなテキストファイルを参照し、特定の分割情報を得る。ユーザは、「partinfo.txt」を編集し、ユーザが所望する特定の分割情報を含ましめる。スクリプトは、縮小OSイメージによりサポートされるファイルシステムを伴うフォーマットで大容量記憶装置をフォーマットする。例えば、WINDOWSオペレーティングシステムでは、サポートされるファイルシステムは、CDFS、UDF、FAT12、FAT32、及びNTFSを含む。
参照OSイメージを伴うCRMが、コンピュータから離れて位置しても、スクリプトはネットワークを接続できる。スクリプトは、「factory.exe」のようなユーティリティを実行し、コンピュータの中の特定のネットワークインタフェースを検出しその特定のネットワークインタフェースのための適切なハードウエアドライバをインストールする。「factory.exe」ユーティリティは、PNPマネジャAPIを利用する。ネットワークドライバがインストールされた後、スクリプトは、TCP/IPスタックと、「netfg.exe」のようなユーティリティを経由する関連サービスを開始する。TCP/IPスタック及び関連サービスにより、コンピュータは、例えば“net use”コマンドにより、リモートコンピュータへアクセスできる。ユーザがネットワーク接続を欲しないのならば、ユーザはスクリプトを修正し「factory.exe」及び「netcfg.exe」の実行を不能にする。ネットワーク接続を可能とした後、スクリプトは、リモートCRMからコンピュータ上に参照OSイメージを、510において得て、512においてインストールする。一つの実施形態では、縮小OSイメージは、サーバメッセージブロック(SMB)のような、コンピュータ間のファイルアクセスを可能にするネットワーク接続プロトコルをサポートする。
参照OSイメージをコンピュータ上にインストールすることには、参照OSイメージに係る一つ又は複数のファイルをコンピュータに複写し、ファイルを統合することが、含まれる。例示のWINDOWSオペレーティングシステム環境では、ファイルを統合することには、レジストリを作成若しくは更新し、デスクトップアイコンを作成若しくは更新することが、含まれる。スクリプトは、ファイルが複写され統合されるステップを識別する。スクリプトは、ステップが実行される順序も識別する。参照OSイメージがコンピュータ上にインストールされた後、コンピュータは、カスタマへの配送のためシャットダウンされるか、514にて再起動される。再起動は、コンピュータをシャットダウンし、それからインストールされた参照OSイメージをロードし開始することを含む。一つの実施形態では、本発明は、単一の再起動のみでのコンピュータ上の参照OSイメージの起動とインストールを目指すフレームワークを与える。即ち、スクリプトにより、ユーザは、単一の再起動により、参照OSイメージをコンピュータ上にイメージ形成できる。本発明により、ユーザは、コンピュータに関連するCRM上に参照OSイメージをイメージ形成できる。イメージ形成する方法は、ファイルの複写と完全なOSインストールを含むファイル転送の方法であれば何でもよく、それらに限定されるものではない。再起動後、インストールされた参照OSイメージは、エンドユーザに対してOSイメージのインストール後の個人化を調整する。
ローカルにて又はリモートからアクセス可能な揮発性の及び不揮発性のCRMは、ユーザによりカスタマイズされるテキストベースのスクリプトを与える手段を、構成する。ローカルCRMからの起動、PXEを経由する起動、又は他のどんなリモートブートプロトコルであっても、32ビット又は64ビットアーキテクチャを有するコンピュータをCRMから起動する手段を、構成する。例示のWINDOWSオペレーティングシステム環境の「cmd.exe」及び「csh.exe」のようなアプリケーションプログラムは、ユーザによりカスタマイズされるテキストベースのスクリプトに係るコンピュータ上の一つ又は複数の機能を実施する手段を構成する。更に、上記の例、及び本明細書の別箇所に記される例は、スクリプトを与える手段、及びコンピュータを起動する手段を構成する。
次に図6を参照すると、リモートの起動コンピュータ602から目標のコンピュータ616を起動し目標のコンピュータ616上に参照OSイメージ612をインストールする様子を、ブロック図が示す。例えば、WINDOWSオペレーティングシステムの実施形態では、リモートの起動コンピュータ602はリモートインストールサーバである。リモートの起動コンピュータ602には、縮小OSイメージ606とリモート起動CRMスクリプト608とを含むリモート起動CRM604が含まれる。一つの実施形態では、目標のコンピュータ616は、図1の例示のネットワーク環境の中で記されるようなリモート起動コンピュータ602に接続する。目標のコンピュータ616は、プレブート実行環境(PXE)を含む(が、それに限定されない)多数の方法及びプロトコルによってリモート起動CRM604から起動する。PXEブートは、動的ホスト構成プロトコル(DHCP)に適合する。目標のコンピュータ616は、ネットワークに渡って、DHCPブートリクエストをブロードキャストするか、さもなくば通信する。リモート起動コンピュータ602は、DHCPブートリクエストを受信し、リモート起動CRM604から目標のコンピュータ616の起動を開始する。目標のコンピュータ616を起動することには、リモート起動コンピュータ602から目標のコンピュータ616の揮発性メモリに縮小OSイメージ606をロードし、目標のコンピュータ616で縮小OSイメージ606を開始することが含まれる。
ローカルでの起動及びリモートからの起動の両方に適用可能な起動プロセスの一つの例は、WINDOWSオペレーティングシステムにて生じる。本発明に係るWINDOWSオペレーティングシステムの実施形態では、縮小OSイメージ606には、最小限のWIN32アプリケーションプログラミングインタフェース(API)サブシステムを伴うWINDOWS NTオペレーティングシステムに関連するコードベースが含まれる。最小限のWIN32APIサブシステムは、インプット/アウトプットAPI及びコアWIN32APIを含むが、それらに限定されるものではない。縮小OSイメージ606は、縮小OSイメージをロードするために、ブートローダの代わりにセットアップローダを利用する。ユーザは、構成ファイルのローダフラグを利用のためセットアップローダにより条件指定し、リモート起動CRM604上のOSイメージを縮小OSイメージとして識別する。ブートアップの間、セットアップローダはフラグをセットする。セットされたフラグに応じて、縮小OSイメージの内部の機能が実効的となる。例えば、フラグ“/minint”が「boot.ini」の中で条件指定される。“/minint”フラグは、“/debug”や “/vga.”のような他のローダフラグと同様である。このように、セットアップローダは、縮小OSイメージ606の存在を、縮小OSイメージの中のOSコンポーネントに伝達する。OSコンポーネントは、本明細書に記されるようにそのふるまいを変更し、縮小OSイメージとして機能する。例えば、上述のように、機能には、構成情報を揮発性メモリの中にロードすることが含まれる。更に、ユーザモードアプリケーションプログラムは、セットされたフラグに応じて構成を実施する。この実施形態では、インストールOSイメージ(図4符号406参照)のOSコンポーネントに対する修正がOSコンポーネントの内部に存在するが、特定のローダフラグの存在によりアクティブとなるまではパッシブである。
セットアップローダは、「txtsetup.sif」のようなテキストファイルで条件指定される種々のハードウエアドライバを開始する。セットアップローダにより、ユーザは、縮小OSイメージ606と目標のコンピュータ616のハードウエアとの間の通信を促進するために、追加の起動ハードウエアドライバをロードし、及び/又はハードウエア抽象化層(アブストラクションレイヤー:abstraction layer)を更新することができる。
セットアップローダは、セットアップローダに係るセッションマネジャの代わりに、通常のセッションマネジャを利用する。ブートアップの間、縮小OSイメージ606に係るカーネルは「smss.exe」のようなユーティリティを実行する。「smss.exe」が実行されると、OSが縮小OSイメージ606であることを示すために、カーネル初期化の間に形成されるレジストリキーを探す。レジストリキーが現存するならば、「smss.exe」は、ページファイルを作成することを含む(が、それに限定されるものではない)、WINDOWSオペレーティングシステム環境の中に起動するときには通常実施される他の動作を、割愛する。ユーティリティ「smss.exe」は、「winlogon.exe」のような、レジストリキーを調べるための別のユーティリティも実行する。レジストリキーが現存するならば、「winlogon.exe」は、認証ダイアログ及び「explorer.exe」を実行する代わりに、「cmd.exe」のようなレジストリ内で条件指定された別のプロセスを実行する。「cmd.exe」又は「csh.exe」のようなシェルは、WINDOWSオペレーティングシステムの内部のスクリプト機能をサポートする。「cmd.exe」か別のシェルかの選択は、縮小OSイメージ606を生成する前に、又は後に、ユーザにより構成可能である。ユーザは、カスタムシェル環境を選択的に条件指定して、縮小OSイメージ606のためのデフルトシェルとする。シェルは、「winBOM.ini」ファイル、又は「floppy.cmd」ファイルのような一つ又は複数のファイルを伴うスクリプトをサポートし、ユーザにより条件指定される機能を実施する。この実施形態では、縮小OSイメージ606は、縮小OSイメージ606の中にて、又は、ユーザにより条件指定される、取り外し可能不揮発性メモリのような他の位置の中にて、スクリプトファイルを検索する。スクリプトが配置されているならば、縮小OSイメージ606は、スクリプトの内部のコマンドを実行する。スクリプトが配置されていないのならば、縮小OSイメージ606はユーザが入力するコマンドを受け入れるためのコマンドプロンプトを表示する。例えば、図6を参照すると、ユーザは、リモート起動CRM608と関連CRMスクリプト614の、いずれかを含み、両方を含み、又は、いずれも含まず、実行内容を条件指定する。
それから、「winlogon.exe」は、「cmd.exe」又は他のシェルプロセスが完了するのを待つ。例えば、「winlogon.exe」は、24時間待つこともある。シェルプロセスが24時間後に完了していないならば、「winlogon.exe」は、目標のコンピュータ616の再起動を強制する。タイムリミットは、ユーザが、縮小OSイメージ606を完全インストールOSイメージとして誤用し得ないように、課されている。
縮小OSイメージ606は、ユーザにより示されたスクリプトを利用して、目標のコンピュータ616上に参照OSイメージ612をインストールするように指図する。本発明により、ユーザは、多重レベルのスクリプト環境を与えることによって、手を使う必要のない自動化されたインストールのためのインストールプロセスを構成できる。縮小OSイメージ606は、リモート起動CRM604、目標のコンピュータ616に近いCRM、又はネットワーク経由で目標のコンピュータ616がアクセスしうるCRMの、どれでも一つ若しくは組み合わせにおける、「winBOM.ini」のようなスクリプトを表すファイルを利用する。スクリプトで示される環境により、ユーザは、どんな数のコンピュータであってもそれらに配置するスクリプトのどれでも一つまたは複数分の、実行を調整できる。ユーザが、特定のスクリプトの内部で別のスクリプトの実行を選択的に条件指定することも、想定される。例えば、リモート起動CRMスクリプト608の最終ステップでは、関連CRMスクリプト614を実行できる。
目標のコンピュータ616が起動したあと、ユーザにより指定されたスクリプトは、参照OSイメージ612と関連CRMスクリプト614を含む関連CRM610を、配置する。関連CRM610は、例えば、図1のネットワーク環境の中に記されるように、目標のコンピュータ616に近いか、若しくは、目標のコンピュータ616に接続する。参照OSイメージ612に係るファイルを、目標のコンピュータ616に近い大容量記憶装置にて複写し統合することによって、スクリプトは目標のコンピュータ616上に参照OSイメージ612をインストールする。別の実施形態では、スクリプトは、ファイルシステムを備える大容量記憶装置を先ず分割しそしてフォーマットする。参照OSイメージ612を目標のコンピュータ616上にインストールした後には、スクリプトは、目標のコンピュータ616をシャットダウンするか、若しくは再起動する。
図9は、縮小OSイメージ606と共に利用され、大容量記憶装置をフォーマットし目標のコンピュータ616上に参照OSイメージ612をインストールする、「winBOM.ini」スクリプトファイルの例である。
次に図7を参照すると、ブロック図が、目標のコンピュータ702上に参照OSイメージ712をインストールするためにローカルCRM704から目標のコンピュータ702を起動する様子を、示す。ローカルCRM704には、縮小OSイメージ706とローカルCRMスクリプト708が含まれる。目標のコンピュータ702は、ローカルCRM704上の縮小OSイメージ706から、起動する。
起動後、縮小OSイメージ706は、目標のコンピュータ702上に参照OSイメージ712をインストールすることを指図する、ユーザにより指定されるスクリプトを利用する。縮小OSイメージ706は、ユーザにより指定されたスクリプトの位置を探し出し、参照OSイメージ712及び関連CRMスクリプト714を含む関連CRM710を確認する。関連CRM710は、図6の例と同様に、目標のコンピュータ702の近く若しくは遠くに位置する。例えば、図7を参照すると、ユーザは、ローカルCRMスクリプト708と関連CRMスクリプト714の、いずれかを含み、両方を含み、又は、いずれも含まず、実行内容を条件指定する。参照OSイメージ712に係るファイルを、目標のコンピュータ702に係る大容量記憶装置にて複写し統合することによって、スクリプトは目標のコンピュータ702上に参照OSイメージ712をインストールする。別の実施形態では、スクリプトは、ファイルシステムを備える大容量記憶装置を先ず分割しそしてフォーマットする。参照OSイメージ712を目標のコンピュータ702上にインストールした後には、スクリプトは、目標のコンピュータ702をシャットダウンするか、若しくは再起動する。
次に図8を参照すると、ブロック図が、障害発生のソフトウエア810を備えるコンピュータ808と、スクリプト806を有する縮小OSイメージ804を備えるリカバリ媒体802との間の相互作用を示す。ユーザは、障害発生のソフトウエア810からコンピュータ808の回復を実施すべくスクリプト806をカスタマイズする。例えば、スクリプト806は、図5、図6、又は図7のスクリプトでよい。リカバリ媒体802は、縮小OSイメージ804とスクリプト806を含む。コンピュータ808は、障害発生のOS又はアプリケーションプログラムのようなソフトウエアを有する。障害発生のソフトウエア810には、崩壊したソフトウエア、動作上の瑕疵があるソフトウエア、さもなくば機能不全のソフトウエアが含まれるが、それらに限定されるものではない。コンピュータ808を起動し、ソフトウエアを再インストールし、ソフトウエアへの矯正コードを追加し、さもなくば機能不全を除去するユーザの条件指定の命令に従って、スクリプト806は障害発生のソフトウエア810の回復を指図する。別の実施形態では、リカバリ媒体802は、ネットワークを経由してコンピュータ808にアクセスされ得る。
一つの実施形態では、ユーザは関連コンピュータ上のリカバリ媒体802を利用し、関連コンピュータ及び他のコンピュータ上のソフトウエアの失敗から回復する。他のコンピュータは、関連コンピュータにより、ローカルにてアクセスされてもリモートからアクセスされてもよい。このように、リカバリ媒体802は、どんな数のコンピュータにおいても、特定の類似の問題点の矯正を自動化するのに利用できる。例えば、障害発生のソフトウエアから1台のコンピュータを回復した後、スクリプト806は、スクリプト806に識別される他の全てのコンピュータに対して、パッチを適用し得る。
別の実施形態では、スクリプト806を伴う縮小OSイメージ804は、一つ又は複数のコンピュータと相互作用し種々のタスクを実施する。例えば、タスクには、コンピュータ上にデータをバックアップし且つ/又は復元すること、縮小OSイメージ804を実行する中央配置サーバから遠隔状態でコンピュータをトラブルシューティングすること、及び、コンピュータのためのリモートサーバにおけるシンクライアント(thin client)として縮小OSイメージを利用すること等が、含まれる。別の例には、読出し専用メモリからアンチウイルスソフトウエアを実行し別のOSイメージ上の感染ファイルのウイルスを除き、他のOSイメージ上の感染ファイルを、縮小OSイメージ又は読出し専用媒体上のインストールOSイメージからの感染ファイルの矯正バージョンと置換することが、含まれる。
以上の記述により、本発明につき複数の利益ある結果が得られることは明白である。本発明の範囲から乖離することなく生産物及び方法において種々の変更をなすことが可能であるから、上記記述に含まれ、添付の図面に示される全ての事項は、例示としてのみ解釈され、限定された意味にて解釈されないことが、意図されるものである。
本発明がインプリメントされ得る適切なコンピュータシステム環境の一つの例を示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 オペレーティングシステムコンポーネントを示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 縮小オペレーティングシステムイメージの目標の媒体上へのインストールを示す、本発明に係る一つの実施形態の方法及びシステムのフローチャートである。 縮小オペレーティングシステムイメージの目標の媒体上へのインストールを示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 縮小オペレーティングシステムイメージを利用して別のオペレーティングシステムイメージをインストールすることを示す、本発明に係る一つの実施形態の方法及びシステムのフローチャートである。 リモートの起動コンピュータから目標のコンピュータを起動し関連するオペレーティングシステムイメージを目標のコンピュータ上へインストールすることを示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 ローカルのコンピュータ読み取り可能媒体から目標のコンピュータを起動し関連するオペレーティングシステムイメージを目標のコンピュータ上へインストールすることを示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 ソフトウエアのインストールに障害発生のコンピュータと、リカバリ媒体との間の相互作用を示す、本発明に係る一つの実施形態の方法及びシステムのブロック図である。 縮小OSイメージと共に利用され、大容量記憶装置をフォーマットし目標のコンピュータ上に参照OSイメージをインストールする、「winBOM.ini」スクリプトファイルの例である。
110・・・コンピュータ、120・・・プロセッシングユニット、121・・・システムバス、130・・・システムメモリ、160・・・ユーザインプットインタフェース、170・・・ネットワークインタフェース、171・・・ローカルエリアネットワーク(LAN)、180・・・リモートコンピュータ、202・・・オペレーティングシステムコンポーネント、412、606、706、804・・・縮小OSイメージ、612、712・・・参照OSイメージ。

Claims (10)

  1. 第1のコンピュータに接続された目標の媒体上に、前記第1のコンピュータと独立のハードウエアを有する第2のコンピュータをブートするための縮小オペレーティングシステムイメージをインストールするために、前記第1のコンピュータによって実行される方法であって、
    ユーザの選択に応答して複数のオペレーティングシステムコンポーネントから、前記第2のコンピュータをブートするために必要な機能を有するオペレーティングシステムコンポーネントのサブセットを選択するステップと、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを解析して、当該サブセットを構成するファイルのテキストベースのリストを生成するステップと、
    前記第2のコンピュータを前記縮小オペレーティングシステムを用いてブートするために必要な状態情報を作成するステップと、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを、前記目標の媒体上に縮小オペレーティングシステムイメージとしてインストールするステップとを含み、
    前記インストールするステップが、前記リストを解析して前記目標の媒体へ前記ファイルを複写するステップと、前記作成された状態情報を前記目標の媒体に複写するステップとを含む、コンピュータ処理における方法。
  2. 前記オペレーティングシステムコンポーネントが、ハードウエアドライバを含む、
    請求項1に記載のコンピュータ処理における方法。
  3. 前記インストールするステップが、前記ファイルを前記目標の媒体上で統合するステップであって、レジストリの生成又は更新と、デスクトップアイコンの生成又は更新から成るものを、更に含む、
    請求項1に記載のコンピュータ処理における方法。
  4. 前記複数のオペレーティングシステムコンポーネントに含まれない追加のオペレーティングシステムコンポーネントを選択するステップを更に含み、
    前記インストールするステップが、前記追加のオペレーティングシステムコンポーネントを前記目標の媒体に複写するステップを含む、
    請求項1に記載のコンピュータ処理における方法。
  5. 第1のコンピュータに接続された目標の媒体上に、前記第1のコンピュータと独立のハードウエアを有する第2のコンピュータをブートするための縮小オペレーティングシステムイメージをインストールするために、前記第1のコンピュータによって実行される方法であって、
    ユーザの選択に応答して複数のオペレーティングシステムコンポーネントから、前記第2のコンピュータをブートするために必要な機能を有するオペレーティングシステムコンポーネントのサブセットを選択するステップと、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを解析して、当該サブセットを構成するファイルのテキストベースのリストを生成するステップと、
    前記第2のコンピュータを前記縮小オペレーティングシステムを用いてブートするために必要な状態情報を作成するステップと、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを、前記目標の媒体上に縮小オペレーティングシステムイメージとしてインストールするステップとを含み、
    前記インストールするステップが、前記リストを解析して前記目標の媒体へ前記ファイルを複写するステップと、前記作成された状態情報を前記目標の媒体に複写するステップとを含む、コンピュータ処理における方法をコンピュータに実施させる、
    コンピュータ実行可能命令を有する、コンピュータ読み取り可能媒体。
  6. 第1のコンピュータに接続された目標の媒体上に、前記第1のコンピュータと独立のハードウエアを有する第2のコンピュータをブートするための縮小オペレーティングシステムイメージをインストールするためのシステムであって、
    ユーザの選択に応答して複数のオペレーティングシステムコンポーネントから、前記第2のコンピュータをブートするために必要な機能を有するオペレーティングシステムコンポーネントのサブセットを選択する手段と、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを解析して、当該サブセットを構成するファイルのテキストベースのリストを生成する手段と、
    前記第2のコンピュータを前記縮小オペレーティングシステムイメージを用いてブートするために必要な状態情報を作成する手段と、
    前記選択されたオペレーティングシステムコンポーネントのサブセットを、前記目標の媒体上に縮小オペレーティングシステムイメージとしてインストールする手段とを含み、
    前記インストールが、前記リストを解析して前記目標の媒体へ前記ファイルを複写することと、前記作成された状態情報を前記目標の媒体に複写することを含む、
    システム。
  7. 第1のコンピュータのプロセッサによって実行されるとき、当該プロセッサをして、ユーザの選択に応答して複数のオペレーティングシステムコンポーネントから、第2のコンピュータをブートするために必要な機能を有するオペレーティングシステムコンポーネントのサブセットを選択し、当該選択されたオペレーティングシステムコンポーネントのサブセットを解析して、当該サブセットを構成するファイルのテキストベースのリストを生成し、
    前記第2のコンピュータを前記縮小オペレーティングシステムを用いてブートするために必要な状態情報を作成し、
    前記生成されたテキストベースのリストに応答して、前記選択されたオペレーティングシステムコンポーネントのサブセットを、縮小オペレーティングシステムイメージとして前記第1のコンピュータに接続された目標の媒体上にインストールさせるプログラムであって、
    前記サブセットが更に、前記第1のコンピュータと独立のハードウエアを有する第2のコンピュータ上で実行させる、オペレーティングシステムコンポーネント修正版を含む、
    プログラム。
  8. 前記縮小オペレーティングシステムイメージによる一つ以上の機能の実行を命令するテキストベースのスクリプトを更に含む、
    請求項7に記載のプログラム。
  9. 前記複数のオペレーティングシステムコンポーネントの中に現存しない追加のオペレーティングシステムコンポーネントをさらに含み、
    前記第1のコンピュータのプロセッサによる実行時に、前記プロセッサをして、前記追加のオペレーティングシステムコンポーネントのうちの少なくとも一つを、選択された前記オペレーティングシステムコンポーネントのサブセットに加える動作を、更に実施させる、
    請求項7に記載のプログラム。
  10. 前記オペレーティングシステムコンポーネント修正版が、前記第2のコンピュータの揮発性メモリに前記縮小オペレーティングシステムイメージを用いて第2のコンピュータをブートするために必要な状態情報を書き込むことを特徴とする、
    請求項7に記載のプログラム。
JP2009292565A 2001-07-24 2009-12-24 目標の媒体上に縮小オペレーティングシステムイメージをインストールする方法、システム、プログラム及び前記方法を実施する命令を有するコンピュータ読み取り可能媒体 Expired - Fee Related JP5095717B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/912864 2001-07-24
US09/912,864 US6993642B2 (en) 2001-07-24 2001-07-24 Method and system for creating and employing an operating system having selected functionality

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008122046A Division JP4932781B2 (ja) 2001-07-24 2008-05-08 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2010134941A true JP2010134941A (ja) 2010-06-17
JP5095717B2 JP5095717B2 (ja) 2012-12-12

Family

ID=25432579

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2002212713A Pending JP2003099268A (ja) 2001-07-24 2002-07-22 選択された機能を有するオペレーティングシステムを作成し使用する方法及びシステム
JP2008122046A Expired - Fee Related JP4932781B2 (ja) 2001-07-24 2008-05-08 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム
JP2009292565A Expired - Fee Related JP5095717B2 (ja) 2001-07-24 2009-12-24 目標の媒体上に縮小オペレーティングシステムイメージをインストールする方法、システム、プログラム及び前記方法を実施する命令を有するコンピュータ読み取り可能媒体

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2002212713A Pending JP2003099268A (ja) 2001-07-24 2002-07-22 選択された機能を有するオペレーティングシステムを作成し使用する方法及びシステム
JP2008122046A Expired - Fee Related JP4932781B2 (ja) 2001-07-24 2008-05-08 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム

Country Status (6)

Country Link
US (1) US6993642B2 (ja)
EP (1) EP1280058A3 (ja)
JP (3) JP2003099268A (ja)
KR (1) KR100860447B1 (ja)
CN (1) CN1315042C (ja)
TW (1) TWI250451B (ja)

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827611B2 (en) * 2001-08-01 2010-11-02 Mcafee, Inc. Malware scanning user interface for wireless devices
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
TWI242160B (en) * 2002-04-01 2005-10-21 Shun-Tang Hsu Method and tools to downsize existing operating systems for embedded applications
US20030221094A1 (en) * 2002-04-17 2003-11-27 Avery Pennarun Method and system for configuring a computer
US7024581B1 (en) * 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7664984B2 (en) * 2002-10-09 2010-02-16 Xpoint Technologies, Inc. Method and system for updating a software image
US8225306B2 (en) * 2002-12-12 2012-07-17 Dell Products L.P. Platform independent imaging method and system
US7401332B2 (en) * 2003-01-09 2008-07-15 International Business Machines Corporation System and apparatus for eliminating user interaction during hardware configuration at system boot
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US20050044548A1 (en) * 2003-08-20 2005-02-24 John Page Efficient replication of embedded operating system with a write filter and overlay partition
US7802084B2 (en) * 2003-11-26 2010-09-21 Hewlett-Packard Development Company, L.P. System and method for management and installation of operating system images for computers
US7614051B2 (en) * 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
TWI308721B (en) * 2004-01-16 2009-04-11 Wistron Corp Remote boot method and device thereof and server device using remote boot method
US7877747B2 (en) * 2004-02-20 2011-01-25 Hewlett-Packard Development Company, L.P. Flexible operating system operable as either native or as virtualized
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US11159484B2 (en) * 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11368429B2 (en) * 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10339791B2 (en) * 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US8473619B2 (en) * 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
AU2005223267B2 (en) 2004-03-16 2010-12-09 Icontrol Networks, Inc. Premises management system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
JP4900760B2 (ja) * 2004-03-31 2012-03-21 株式会社日立製作所 Osイメージのデプロイメントマシン及び方法
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
US8230095B2 (en) * 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US7765541B1 (en) 2004-05-26 2010-07-27 Oracle America, Inc. Minimization methodology
US20060031425A1 (en) * 2004-06-07 2006-02-09 Northrop Grumman Corporation Method for imaging computer systems
US20050283479A1 (en) * 2004-06-16 2005-12-22 Advanced Micro Devices, Inc. System for controlling a multipurpose media access data processing system
US8346886B2 (en) * 2004-09-08 2013-01-01 Red Hat, Inc. System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
US7607003B2 (en) * 2004-09-21 2009-10-20 Cyberlink Corp. System and method for loading an operating system on a personal computer
US20060195839A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Computer system for deploying software on multiple computers
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US9450776B2 (en) 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11615697B2 (en) * 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US7734945B1 (en) * 2005-04-29 2010-06-08 Microsoft Corporation Automated recovery of unbootable systems
US7512833B1 (en) * 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US8413134B2 (en) * 2005-05-10 2013-04-02 International Business Machines Corporation Method, system and computer program for installing software products based on package introspection
KR20060119373A (ko) * 2005-05-20 2006-11-24 엘지전자 주식회사 컴퓨터 시스템과 시스템 소프트웨어 설치방법 및 휴대용컴퓨터의 소프트웨어 설치방법
KR100725394B1 (ko) * 2005-07-08 2007-06-07 삼성전자주식회사 복수의 운영체계에서 특정 운영체계를 선택적으로 설치하는컴퓨터 시스템 및 방법
KR100792786B1 (ko) * 2005-08-26 2008-01-14 이철호 백업 이미지 파일을 이용한 컴퓨터의 최적화 운영체제 복구방법
US8918530B2 (en) * 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
US7634689B2 (en) * 2005-09-22 2009-12-15 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator
EP1941360A2 (en) * 2005-09-27 2008-07-09 Morgan Stanley Host build and rebuild system and method
US20070169112A1 (en) * 2005-10-31 2007-07-19 Inventec Corporation Operating program installation method appended with driver program and related structure
CN100345112C (zh) * 2005-11-25 2007-10-24 中国科学院软件研究所 操作系统的构件化扩充方法
EP1808763A1 (en) * 2005-12-13 2007-07-18 Neoware, Inc. A procedure for booting a first computer using the operating system of a second computer
US8255901B2 (en) * 2005-12-16 2012-08-28 Sap Ag Methods and systems for configuring software applications
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
US9286308B2 (en) 2005-12-22 2016-03-15 Alan Joshua Shapiro System and method for metadata modification
US8286159B2 (en) 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
KR100710845B1 (ko) * 2006-01-23 2007-04-23 염찬섭 중복 패치 방지 방법
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
JP4715623B2 (ja) 2006-05-08 2011-07-06 ソニー株式会社 データ記録装置及びデータ記録方法、並びにコンピュータ・プログラム
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US8423831B2 (en) * 2006-07-11 2013-04-16 Oracle America, Inc. System and method for performing auditing and correction
US7743242B2 (en) * 2006-10-16 2010-06-22 Scalent Systems Inc. Method and system for automatic generation of operating system boot images
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US8522234B2 (en) * 2007-02-05 2013-08-27 Microsoft Corporation Tailoring an operating system to a computer system
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
CN101193452B (zh) * 2007-03-15 2011-03-16 中兴通讯股份有限公司 自动交换光网络中控制模块注册的方法及其应用方法
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
US7734959B2 (en) * 2007-07-30 2010-06-08 Hewlett-Packard Development Company, L.P. Operating system recovery across a network
US20090049174A1 (en) * 2007-08-14 2009-02-19 Nicholas Rudnik System and method for managing access to resources and functionality of client computers in a client/server environment
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8103863B2 (en) * 2007-09-17 2012-01-24 International Business Machines Corporation Workflow management to automatically load a blank hardware system with an operating system, products, and service
US20090089779A1 (en) * 2007-09-28 2009-04-02 Evelyn Thompson Brengle Apparatus system and method for customizing a computing environment
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US9092243B2 (en) 2008-05-28 2015-07-28 Red Hat, Inc. Managing a software appliance
US10657466B2 (en) * 2008-05-29 2020-05-19 Red Hat, Inc. Building custom appliances in a cloud-based network
US8868721B2 (en) 2008-05-29 2014-10-21 Red Hat, Inc. Software appliance management using broadcast data
JP5413366B2 (ja) * 2008-06-23 2014-02-12 富士通株式会社 情報処理装置及び制御方法
US8312448B2 (en) * 2008-06-24 2012-11-13 Sony Corporation Configuration to order software deployment and management
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
JP2010033437A (ja) * 2008-07-30 2010-02-12 Autonetworks Technologies Ltd 制御装置、制御方法及びコンピュータプログラム
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
TW201007469A (en) * 2008-08-15 2010-02-16 Asustek Comp Inc Computer with remote mangement system
US8762701B2 (en) 2008-10-27 2014-06-24 Hewlett-Packard Development Company, L.P. Process for installing a computer image and joining a computer to a directory based on a unique identifier associated with an end-user
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
JP2010176534A (ja) * 2009-01-30 2010-08-12 Toshiba Corp 情報処理装置およびプログラム
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8769529B2 (en) * 2009-07-24 2014-07-01 Novell, Inc. Generating and automatically loading reduced operating system based on usage pattern of applications
US8516236B2 (en) 2009-09-30 2013-08-20 Imation Corp. Portable desktop device and method of host computer system hardware recognition and configuration
WO2011057409A1 (en) 2009-11-13 2011-05-19 Memory Experts International Inc. Device and method for verifying connectivity
US8977724B2 (en) * 2010-03-31 2015-03-10 International Business Machines Corporation Method and system for automated operating system image loading
AU2011250886A1 (en) 2010-05-10 2013-01-10 Icontrol Networks, Inc Control system user interface
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
CN102467392A (zh) * 2010-11-12 2012-05-23 鸿富锦精密工业(深圳)有限公司 操作系统使用的预安装环境
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
DE112011104995T5 (de) 2011-04-01 2013-12-19 Hewlett-Packard Development Company, L.P. Booten einer Rechenvorrichtung zum Aufweisen einer vordefinierten Funktionalität
US8621496B2 (en) * 2011-04-05 2013-12-31 Netapp, Inc. Decoupled application program-operating system computing architecture
US8856506B2 (en) 2011-04-27 2014-10-07 Hewlett-Packard Development Company, L.P. Process for joining a computer to a directory based on either a newly created computer account or renewed computer account depending on a unique identifier associated with an end-user
US9122551B2 (en) 2011-06-17 2015-09-01 The Boeing Comapny Methods and systems for generating read-only operating systems
US9378045B2 (en) * 2013-02-28 2016-06-28 Oracle International Corporation System and method for supporting cooperative concurrency in a middleware machine environment
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
CN102571491B (zh) * 2011-12-28 2015-02-11 Tcl集团股份有限公司 一种检测网络是否可用的方法及装置
JP5414814B2 (ja) * 2012-01-19 2014-02-12 インテル・コーポレーション ネットワーク環境におけるスペースのカスタマイズ
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US9141385B2 (en) * 2012-10-09 2015-09-22 Red Hat, Inc. Managing operating system components
US20140196117A1 (en) * 2013-01-07 2014-07-10 Curtis John Schwebke Recovery or upgrade of a cloud client device
US10205750B2 (en) * 2013-03-13 2019-02-12 Intel Corporation Policy-based secure web boot
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
KR102047769B1 (ko) * 2013-03-28 2019-11-25 한국전자통신연구원 메모리 가상화 기반 스냅샷 부트 장치 및 방법
WO2014180769A1 (en) * 2013-05-06 2014-11-13 Core-Software Gmbh Automated generation of an appliance for a computing machine
US9235383B2 (en) * 2013-06-18 2016-01-12 Caimbella Ltd. Method and apparatus for code virtualization and remote process call generation
JP6494609B2 (ja) * 2013-06-18 2019-04-03 チャンベッラ・リミテッド カスタマイズされたソフトウェア開発キット(sdk)生成のための方法および装置
EP3031206B1 (en) 2013-08-09 2020-01-22 ICN Acquisition, LLC System, method and apparatus for remote monitoring
US10110594B2 (en) * 2013-09-04 2018-10-23 Hewlett-Packard Development Company, L.P. Header section download of package
US9537949B2 (en) * 2013-09-24 2017-01-03 Clearcube Technology, Inc. Computer system image clustering architecture and use
US20150160990A1 (en) * 2013-12-05 2015-06-11 Karim Massoud Virtual Computer Technical Support Agent
CN103632074A (zh) * 2013-12-12 2014-03-12 用友软件股份有限公司 基于基本功能模型的特性化功能部署装置和部署方法
US9619122B2 (en) 2014-01-10 2017-04-11 Ciambella Ltd. Method and apparatus for automatic device program generation
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
FR3019336B1 (fr) * 2014-03-25 2016-03-25 Bull Sas Procede et dispositif de controle du changement de systeme d'exploitation dans des nœuds de service d'un calculateur haute performance
CN105264868A (zh) * 2014-04-24 2016-01-20 华为技术有限公司 操作系统建立方法和装置
CN104484241B (zh) * 2014-12-10 2018-12-11 广东欧珀移动通信有限公司 一种对终端系统文件进行备份与恢复的方法及装置
US10067490B2 (en) 2015-05-08 2018-09-04 Ciambella Ltd. Method and apparatus for modifying behavior of code for a controller-based device
US10095495B2 (en) 2015-05-08 2018-10-09 Ciambella Ltd. Method and apparatus for automatic software development for a group of controller-based devices
US10601661B2 (en) 2015-06-22 2020-03-24 Arista Networks, Inc. Tracking state of components within a network element
US10110624B2 (en) * 2016-04-19 2018-10-23 Red Hat Israel, Ltd. Discovering and provisioning computing devices in a security enhanced environment
JP7000013B2 (ja) * 2016-08-09 2022-01-19 キヤノン株式会社 情報処理装置、該装置の制御方法、該方法を実行する制御プログラム
CN106293747A (zh) * 2016-08-12 2017-01-04 京东方科技集团股份有限公司 电子设备以及电子设备的驱动方法
US10409562B2 (en) 2017-03-14 2019-09-10 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
US10565162B2 (en) * 2017-08-02 2020-02-18 Mastercard International Incorporated Systems and methods for customized operating system conversion
US10705825B2 (en) * 2018-09-20 2020-07-07 Hewlett Packard Enterprise Development Lp Creation of images
US10776132B1 (en) * 2019-06-26 2020-09-15 Dell Products, L.P. System and method for preboot device driver provisioning for remotely-staged operating system
KR102370301B1 (ko) * 2020-05-12 2022-03-04 주식회사 다산네트웍스 초기화 파일 생성 장치
US11709760B1 (en) * 2020-07-27 2023-07-25 T-Mobile Innovations Llc Automation failure diagnostic tool
CN112835596B (zh) * 2021-02-03 2023-11-14 广东中兴新支点技术有限公司 通用操作系统的安装方法、系统、装置及存储介质
CN114860336B (zh) * 2022-05-06 2023-09-26 麒麟软件有限公司 基于pxe的系统审核模式实现方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS633336A (ja) * 1986-06-23 1988-01-08 Hitachi Ltd システム生成方式
JPS636627A (ja) * 1986-06-27 1988-01-12 Hitachi Ltd スタ−タosリストア方法
JPH103382A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd オペレーティングシステム生成装置および生成方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555416A (en) * 1896-02-25 Nap of fustians
DE3147736A1 (de) * 1981-12-02 1983-06-09 Bayer Ag, 5090 Leverkusen Verfahren zur herstellung von elastischen formkoerpern
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5469573A (en) * 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
JPH07219747A (ja) * 1994-02-01 1995-08-18 Fuji Xerox Co Ltd ソフトウェアのインストール方式
US5713024A (en) * 1994-06-10 1998-01-27 Exabyte Corporation Cold boot data backup system
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
JPH09185494A (ja) * 1995-12-28 1997-07-15 Nec Corp インストール方式
GB2309104B (en) * 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
JPH1021084A (ja) 1996-07-04 1998-01-23 P I Ii:Kk ソフトウェア流通媒体およびソフトウェア流通媒体の作成方法
US6247128B1 (en) 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
JPH11143724A (ja) 1997-11-13 1999-05-28 Sharp Corp 情報処理装置および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
GB2334354B (en) 1998-02-13 2003-04-16 Ibm Booting a computer system from a network
DE69908121T2 (de) 1998-03-23 2004-04-01 Microsoft Corp., Redmond Anwendungsprogrammierungsschnittstelle in einem betriebssystem
JP2002514809A (ja) 1998-05-13 2002-05-21 グラクソ グループ リミテッド コンピュータオペレーティングシステムのリモートインストレーション及びリモートインストレーションシステム及びプログラム記憶デバイス
US6098097A (en) * 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer
US6080207A (en) 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6377958B1 (en) 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6262726B1 (en) 1998-10-09 2001-07-17 Dell U.S.A., L.P. Factory installing desktop components for an active desktop
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
TW408286B (en) 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6188779B1 (en) 1998-12-30 2001-02-13 L&H Applications Usa, Inc. Dual page mode detection
US6711624B1 (en) 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6385766B1 (en) 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6282711B1 (en) 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6598223B1 (en) 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6681323B1 (en) 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
JP4792686B2 (ja) 2000-02-07 2011-10-12 ソニー株式会社 画像処理装置及び画像処理方法並びに記録媒体
US6632474B1 (en) * 2000-10-13 2003-10-14 Headway Technologies, Inc. Robust hard bias/conductor lead structures for future GMR heads
US20020188941A1 (en) 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US6907610B2 (en) 2001-06-15 2005-06-14 Microsoft Corporation System and method for building a target operating system from a source operating system
US7068309B2 (en) 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US7260738B2 (en) 2002-06-17 2007-08-21 Microsoft Corporation System and method for splitting an image across multiple computer readable media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS633336A (ja) * 1986-06-23 1988-01-08 Hitachi Ltd システム生成方式
JPS636627A (ja) * 1986-06-27 1988-01-12 Hitachi Ltd スタ−タosリストア方法
JPH103382A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd オペレーティングシステム生成装置および生成方法

Also Published As

Publication number Publication date
KR100860447B1 (ko) 2008-09-25
JP2003099268A (ja) 2003-04-04
JP5095717B2 (ja) 2012-12-12
JP4932781B2 (ja) 2012-05-16
CN1399194A (zh) 2003-02-26
US20030023839A1 (en) 2003-01-30
JP2008269621A (ja) 2008-11-06
EP1280058A3 (en) 2004-06-30
CN1315042C (zh) 2007-05-09
KR20030011552A (ko) 2003-02-11
EP1280058A2 (en) 2003-01-29
US6993642B2 (en) 2006-01-31
TWI250451B (en) 2006-03-01

Similar Documents

Publication Publication Date Title
JP4932781B2 (ja) 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム
US7631173B2 (en) Method and system for performing pre-boot operations from an external memory including memory address and geometry
US8347137B1 (en) System and method for bare metal restore of a computer over a network
JP4842421B2 (ja) アプリケーションを自動的にアンインストールまたは再インストールするための方法とシステム
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
US6564318B1 (en) Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
US7017039B2 (en) Method of booting a computer operating system to run from a normally unsupported system device
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
US7873960B2 (en) Generic packaging tool for packaging application and component therefor to be installed on computing device
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
US20210240488A1 (en) Bios boot and update failover process
US6275930B1 (en) Method, computer, and article of manufacturing for fault tolerant booting
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
US9619340B1 (en) Disaster recovery on dissimilar hardware
JPWO2004081791A1 (ja) 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
TWI518594B (zh) 計算機系統與計算機系統啓動方法
US20060095583A1 (en) Uniform disk image for performing computer diagnostics
US6915418B2 (en) Interrupt 21h ROM client loader and payload delivery method
JP2001142714A (ja) 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US11928214B2 (en) Enabling SPI firmware updates at runtime
Guide Red Hat Enterprise Linux 3
KR20040051123A (ko) 부트 플래시의 실시간 업데이트 방법 및 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110331

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110520

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120131

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120229

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

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

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees