JP4647192B2 - 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法 - Google Patents

遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法 Download PDF

Info

Publication number
JP4647192B2
JP4647192B2 JP2003110879A JP2003110879A JP4647192B2 JP 4647192 B2 JP4647192 B2 JP 4647192B2 JP 2003110879 A JP2003110879 A JP 2003110879A JP 2003110879 A JP2003110879 A JP 2003110879A JP 4647192 B2 JP4647192 B2 JP 4647192B2
Authority
JP
Japan
Prior art keywords
operating system
system image
hardware profile
store
profile data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003110879A
Other languages
English (en)
Other versions
JP2003330728A (ja
Inventor
タバラ バッサム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003330728A publication Critical patent/JP2003330728A/ja
Application granted granted Critical
Publication of JP4647192B2 publication Critical patent/JP4647192B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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/4406Loading of operating system
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

【0001】
【発明の属する技術分野】
本発明は、コンピューティングの分野に関し、より詳細には、ディスクレスコンピュータまたは他のコンピュータなどにカスタマイズされたオペレーティングシステムをインストールするために遠隔のクライアントデバイスに問い合わせる技術に関する。
【0002】
【従来の技術】
コンピュータネットワークの規模と複雑さが増大してくると、これに付随したネットワークインストールおよびネットワークメンテナンスの問題が生じてきた。例えば企業は、データベース、電子メールまたは他のサービスをサポートするために、数十から数千以上ものパーソナルコンピュータまたは他のクライアントマシンの大規模な集合体を配置することができる。これらのマシンの一部は、ハードドライブまたは他の大容量記憶媒体のないシンネットワーククライアントである場合がある。また別の一部は、ハードドライブまたは他の記憶機構は含んでいるものの、不規則なハードウェアの故障が頻発するマシンである場合がある。これらの場合および他の場合では、システム管理者などがマシンにMicrosoft Windows(商標)NT(商標)、Windows(商標)2000、Windows(商標)XP(商標)または他のオペレーティングシステムなどのオペレーティングシステムをブートさせることが困難になる場合がある。
【0003】
【発明が解決しようとする課題】
ディスクレスマシンまたは故障しているマシンにオペレーティングシステムをインストールするよう設計された遠隔インストーラが市販されている。通常、これらのプラットフォームは、ファイルアクセスおよび他の動作を開始させるためにMicrosoftDOS(商標)などの比較的基本的な操作コードの小さなカーネルをターゲットマシンに送信する。しかしこのようなプラットフォームは、送信されたオペレーティングシステムを相応にカスタマイズするために、上記の各種Microsoft WindowsTMなどの比較的統合されたオペレーティングシステムをインストールすることも、ターゲットマシン上で様々なタイプのインストールされたハードウェアを検出することもできない。問題はこれ以外にもある。
【0004】
【課題を解決するための手段】
当技術分野のこれらの問題および他の問題を克服する本発明は、ある点ではネットワークを介するなどしてオペレーティングシステムの実行可能イメージを送信するために遠隔クライアントマシンへの問い合わせおよび応答を実行するためにビルダーエンジンを装備したサポートサーバを伴って、ある点では遠隔デバイス上でオペレーティングシステムをカスタムインストールするためのシステムおよび方法に関する。実施形態では、ビルダーエンジンは、ハードドライブまたは他の記憶機構の有無または誤作動、使用可能な電子メモリおよび他の資源などを示すマシン状態イメージを遠隔クライアントから受信することができる。次いでビルダーエンジンは、ネットワークを介してクライアントに送信するためにオペレーティングシステムの適切なイメージを組み立てることができる。したがって、この点で本発明はクライアントデバイスのハードウェアに依存しないブートを起こすことができるが、これは実施形態ではオペレーティングシステムに対して別個のセットアップ段階を必要とせずに遂行することができる。実施形態では、遠隔クライアントは、オペレーティングシステムイメージの制御下で、電子メモリなどにローカルファイルシステムを引き続き生成することができる。この必須の要素および他の必須の要素がインストールされて動作すると、クライアントはアプリケーションソフトウェアの実行または他のタスクの実施などの動作を行うことができる。実施形態では、遠隔クライアントでオペレーティングシステムイメージが起動されると、クライアントは、初期イメージと交換するようにオペレーティングシステムの完全なイメージをインストールするため、または他のタスクを実行するなどのために他のネットワーク資源にリンクすることなどができる。
【0005】
【発明の実施の形態】
図1は、遠隔装置にオペレーティングシステムをインストールするためのシステムおよび方法の一実施形態が動作することのできるアーキテクチャを示す図である。図示するようにこの実施形態では、クライアント102は、クライアント102を初期設定または操作するようカスタマイズされたオペレーティングシステムカーネル136の生成および送信を準備するためにマシン固有情報を交換するように、通信リンク110を介してサポートサーバ112と通信することができる。オペレーティングシステムカーネル136の送達および初期設定は、実施形態では別個のセットアップ段階を必要とせずに実行することができる。
【0006】
実施形態では、クライアント102は、Microsoft Windows(商標)95、98、Millenium(商標)、NT(商標)、2000またはXP(商標)、Windows(商標)CE(商標)、MacOS(商標)、PalmOS(商標)、Unix(登録商標)、Linux、Solaris(商標)、OS/2(商標)、BeOS(商標)、MacOS(商標)、VAXVMSまたは他のオペレーティングシステムまたはプラットフォームを実行するパーソナルコンピュータなどであるか、またはこれを含むことができる。クライアント102は、Intel x86ベースのデバイスまたはAdvanced Micro Devices x86互換機、Motorola 68KまたはPowerPC(商標)デバイス、MIPS、Hewlett−Packard Precision(商標)、またはDigital Equipment社製のAlpha(商標)RISCプロセッサなどのマイクロプロセッサ、マイクロコントローラ、またはプログラム制御下で動作するこの他の汎用または専用デバイスなどを含むことができる。クライアント102はさらに、例えばフラッシュ可能EPROM(電子的にプログラム可能な読み取り専用メモリ)またはこれ以外の電子デバイスまたは他の媒体上に例えば記憶することのできる基本入出力システム(BIOS)104を含むことができる。当業者には理解されるだろうが、クライアント102は、ランダムアクセスメモリ(RAM)またはEPROM(電子的にプログラム可能な読み取り専用メモリ)などの電子メモリ106および電子バスを介して接続された他の関連付けられた構成要素も同様に含むことができる。クライアント102には、内蔵型または接続可能な陰極線管(CRT)、液晶ディスプレイ(LCD)、電界発光ディスプレイ、発光ダイオード(LED)、または例えばグラフィカルユーザインターフェース(GUI)またはコマンドラインインターフェース(CLI)を使用してファイル、データまたは他の資源を表示し、操作するための他の表示画面、パネルまたはデバイスを装備することができる。クライアント102はまた、WebTV(商標)ユニットなどのネットワーク使用可能機器、無線使用可能なPalm(商標)Pilotまたは類似のユニット、セットトップボックス、Microsft Xbox(商標)、Sony Playstation(商標)、Sega Dreamcast(商標)などのネットワーク接続可能なゲームプレイングコンソール、あるいはブラウザを装備しているかまたは他のネットワーク使用可能な携帯電話、または他のTCP/IPクライアントまたは他のデバイスであるか、またはこれらを含むことができる。
【0007】
実施形態では、クライアント102は、例えばディスクレスマシン、すなわちハードドライブまたは他の比較的持続的な記憶媒体を装備していないコンピュータまたは他のクライアントであってよい。この構成では、クライアント102には、機能オペレーティングシステムの記憶されたコピーまたはオペレーティングシステム用インストーラの記憶されたコピーがない場合があるので、クライアント102は、生産的使用の前に機能オペレーティングシステムまたはカーネルで初期設定しておく必要がある。別の実施形態では、クライアント102は、ハードドライブ、CDROMまたは書き換え可能CDROM、または他の磁気媒体、光媒体またはその他の媒体などの記憶機構を含むことができるが、この媒体は、クライアント102にオペレーティングシステムをブートさせない、または機能オペレーティングシステムの制御下で動作を続行させないほどまでに動作不能であるかまたは誤作動している可能性がある。すべての場合において、クライアント102は、そのマシンを初期設定して動作させるために、選択されたアプリケーションプログラミングインターフェース(API)、ドライバ、情報(INF)ファイルおよびクライアント102のインストールしたハードウェアに合わせた他の資源を含んでいるオペレーティングシステムカーネル136を受信するためにサポートサーバ112と通信することができる。
【0008】
クライアント102は、例えば電源が投入され、BIOS104を検出し、ロードすることができる。実施形態では、BIOS104は、オペレーティングシステムをブートする前に、またはブートされたオペレーティングシステムを必要とせずに、通信リンク110に対してクライアント102を自動的に識別することのできるIntel社製のPre−Boot Execution Environment(PXETM)プロトコルなどのネットワーク使用可能なコードを含むことができる。これによってクライアント102は、ロードされたオペレーティングシステムを必要とせずに通信リンク110を介してサポートサーバ112と通信することができる。クライアント102は、例えば実施形態では、サポートサーバ112に動的ホスト構成プロトコル(DHCP)でデータを送信することができる。BIOS104は、媒体アクセス制御(MAC)または他のアドレスまたはデータなどのネットワークアドレスを通信リンク110に自動的に伝達することなどによって通信リンク110に対してクライアント102を識別することができる。
【0009】
BIOS104または関連付けられたコードは同様に、通信リンク110を介してオペレーティングシステムカーネル136を生成しダウンロードするための処理を開始するように要求を送信することができる。実施形態では、クライアント102は、既にBIOS104によってブートされているがハードドライブまたは他の媒体からオペレーティングシステムまたは他の資源をロードすることはできない場合、あるいは他のハードウェアまたはソフトウェアの故障に遭遇している場合がある。このような場合、クライアント102は、修理、保守または他の目的でオペレーティングシステムカーネル136の生成を要求するために、故障、ネットワークユーティリティまたは他のモジュールをトラップするオペレーティングシステムまたはインターフェースによってネットワークアドレスまたは他のデータを通信リンク110に伝達することができる。
【0010】
BIOS104から生成されているといないとに関わらず、クライアント102は、必要に応じてオペレーティングシステムカーネル136の生成およびダウンロードを開始するために要求パケット132を送信することができる。要求パケット132の典型的なデータ構造を図3に示す。図に示すように、要求パケット132は、クライアント102のハードウェア状態とソフトウェア状態を表すか、またはこれに関連するデータ要素および他の情報を含むことができる。例えば要求パケット132は、例えばプロセッサ108がIntel社製のx86TMベースのデバイスであることを示すクライアント102のハードウェアアーキテクチャまたは他の部分に関する情報を含むことができる。要求パケット132は、ネットワークカード、ビデオまたはサウンドカードなどのアドインデバイス、または周辺機器相互接続(PCI)バスまたはプラグアンドプレイ(PnP)列挙法などによって検出される他の周辺装置の有無に関する情報を含むことができる。
【0011】
要求パケット132は、オペレーティングシステムカーネル136の構成を変更するための1つまたは複数のフラグならびにMACまたは他のアドレス指定情報用の専用値をさらに含むことができる。他のデータフィールドおよび構造も可能である。
【0012】
要求パケット132は、通信リンク110を介してサポートサーバ112に送信することができる。通信リンク110は、例えばインターネット、ワールドワイドウェブ、イントラネット、PAN(パーソナルエリアネットワーク)、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、またはMAN(都市圏ネットワーク)、ストレージエリアネットワーク(SAN)、フレームリレー接続、高度インテリジェントネットワーク(AIN)接続、同期式光ネットワーク(SONET)接続、デジタルT1、T3、ElまたはE3回線、デジタルデータサービス(DDS)接続、DSL(デジタル加入者回線)接続、Ethernet(登録商標)接続、ISDN(統合デジタル通信サービス)回線、V.92、V90、V.34またはV.34bisアナログモデム接続などのダイヤルアップポート、ケーブルモデム、ATM(非同期転送モード)接続、またはFDDI(ファイバ分散データインターフェース)またはCDDI(銅分散データインターフェース)接続のいずれか1つまたは複数であってよく、またはこれらのいずれか1つまたは複数を含んでよく、またはこれらのいずれか1つまたは複数にインターフェースしてよい。通信リンク110はさらに、WAP(ワイヤレスアプリケーションプロトコル)リンク、GPRS(汎用パケット無線サービス)リンク、GSM(移動体通信用グローバルシステム)リンク、セルラー式電話の通信路などのCDMA(符号分割多元接続)またはTDMA(時分割多元接続)リンク、GPS(全地球測位システム)リンク、CDPD(セルラーデジタルパケットデータ)、RIM(リサーチインモーション社)製の双方向ページングタイプのデバイス、BluetoothまたはBlueTeethまたはWhiteTooth無線リンク、または802.11a、802.11b、802.11gなどのIEEE802.11(Wi−Fi)ベースの無線周波数リンクまたは他のプロトコルのいずれか1つまたは複数であってよく、またはこれらのいずれか1つまたは複数を含んでよく、またはこれらのいずれか1つまたは複数にインターフェースしてよい。通信リンク110はさらにまた、RS−232シリアル接続、IEEE−1394(Firewire)接続、ファイバチャネル接続、IRDA(赤外線)ポート、SCSI(小型コンピュータシステムインターフェース)接続、USB(ユニバーサルシリアルバス)接続または他の有線あるいは無線の、デジタルあるいはアナログのインターフェースまたは接続のいずれか1つまたは複数であってもよく、またはこれらのいずれか1つまたは複数を含んでもよく、またはこれらのいずれか1つまたは複数にインターフェースしてもよい。
【0013】
サポートサーバ112は、クライアント102に送信するためにオペレーティングシステムカーネル136を処理するための要求パケット132を受信するかまたは他の動作をとることができる。実施形態では、サポートサーバ112は、データベース、ネットワークインターフェースおよび要求パケット132を評価して適切なオペレーティングシステムカーネル136によって応答するための他の資源を含むことができる。サポートサーバ112は、Microsoft Windows(商標)NT(商標)、Windows(商標)2000、MacOS(商標)、Unix(登録商標)、Linux、Xenix、IBM AIX(商標)、Hewlett−Packard UX(商標)、Novell Netware(商標)、Sun Microsystems Solaris(商標)、OS/2(商標)、BeOS(商標)、Mach、Apache、OpenStep(商標)または他のオペレーティングシステムあるいはプラットフォームなどを実行するワークステーションであってよく、またはこれを含んでもよい。図に示すように、サポートサーバ112は、クライアント102または他のノードに対してTCP/IPまたは他のデータパケットを送受信するために通信リンク110と通信するディスパッチャモジュール114を含むことができる。ディスパッチャモジュール114は同様に、オペレーティングシステムカーネル136の構造を管理することのできるビルダーエンジン116と通信して、他のタスクを実行することができる。ビルダーエンジン116は、オペレーティングシステムカーネル136用の適切な構成要素を抽出するために1つまたは複数のソフトウェアモジュールあるいは他のルーチンまたは資源から構成され、他のタスクを実行することができる。
【0014】
図に示すように、ビルダーエンジン116は、イメージストア128およびプロダクトストア118を含めて1つまたは複数のストレージリソースと通信することができる。プロダクトストア118は、プロダクト識別子、ソフトウェア構成要素および所与の要求されたプロダクトのインスタンスを構築するために必要となる他の資源を含むことができる。例えば、実施形態では、要求パケット132は、クライアント102の電子メモリ106にインストールするためにMicrosoft 2000TMオペレーティングシステムのインスタンスを構築するための要求を含むことができる。この場合、ビルダーエンジン116は、レジストリファイルおよび構造、API、ドライバ、INF(情報)ファイル、他のファイルまたはディレクトリ構造、ユーティリティ、プログラムシェル、ユーザインターフェース、グラフィカルエンジンまたはレンダリングエンジン、あるいは他のシステム資源またはサービスなどの、そのプロダクトに基づいてオペレーティングシステムカーネル136用の構成要素を選択することができる。
【0015】
プロダクトプロセッサ120は同様に、要求パケット132への応答のための適切な構成要素をプロダクトストア118に格納するためにプロダクトストア118と連係することができる。プロダクトプロセッサ120は、クライアント102のマシン構成または他の要因によって、ドライバまたは他の資源を適合または同調させるためにデータまたはルーチンを含むことができるINFセット126およびプロダクト設定124と通信することによって適切なINFファイルを生成するためにINFパーサー122を含むことなどができる。
【0016】
プロダクト設定124は、図3に示す例のようにデータ構造および他の情報を含むことができる。図3に示すように、プロダクト設定124は、オペレーティングシステムレジストリまたは他の資源の各種キーまたは他のセクションに挿入されるべき設定を含むことができる。実施形態では、クライアント、ワークステーション、クラスタ、エンタープライズ、あるいはMicrosoft Windows 2000TMまたは他のオペレーティングシステムなどのオペレーティングシステムの他のバージョンまたはクラスなどの個々のプロダクトは、GUIDフィールドまたは他のデータによって識別することができる。実施形態では、このフィールドは「HKLM\System\CurrentControlSet\Services\Binlbig\Products」などのレジストリキーまたは他のキーの下に記憶することができる。図3に示すように、GUIDまたは他のフィールドによって識別される所与のプロダクト用の設定は、レジストリまたは他のシステムストアのフィールドの下に列挙される設定を含むことができる。プロダクト設定124は、例えばx86または他のプロセッサまたはチップセットなどのアーキテクチャ指定子を含むことができる。プロダクト設定124は同様に、x86マシン用の「startbm.com」あるいは他のモジュールまたはルーチンなどを実行するディフォルトスタートアップモジュール用のインディケータを含むことができる。
【0017】
プロダクト設定124は、ディレクトリパスまたは他のデータによって識別される、オペレーティングシステムカーネル136をロードするためのローダーモジュール用のインディケータも含むことができる。プロダクト設定124はさらに、カレンシーを維持するために例えばサポートサーバ112のディスク上に記憶されているような、ローダーまたは他のモジュールのキャッシュされたイメージの寿命を示すためにキャッシュ期間値を含むことができる。使用時にはディフォルトである30分または他の値を適用することができるが、0という値はキャッシュされるべきイメージがないことを示す場合がある。
【0018】
プロダクト設定124はさらに、使用されるべき基本システムレジストリキー用のインディケータを含むことができる。プロダクト設定は同様に、ディフォルトを「/FASTDETECT」または他の値にセットすることができる「boot.ini」または他のファイルにセットされるべきカーネルブートプログラムなどの、適用するブートパラメータ用のインディケータも含むことができる。プロダクト設定124はさらにまた、オペレーティングシステムカーネル136またはそのモジュール、あるいは他のモジュールまたは資源のバイナリイメージを含むことになる1つまたは複数のバイナリディレクトリ用のインディケータも含むことができる。実施形態では、ディレクトリをこのキーで指定された順番で使用することができる。複製ファイルが異なるディレクトリにある場合、そのファイルを第1のディレクトリからこのフィールドにコピーすることができる。
【0019】
プロダクト設定124は同様に、オペレーティングシステムカーネル136をインストールするために、INFディレクトリ用の、すなわちINFファイルを含めるための1つまたは複数のディレクトリ用のインディケータを含むことができる。「.inf」拡張子を有するすべてのファイルは、指定されたディレクトリのそれぞれで構文解析することができる。実施形態では、複数のディレクトリに含まれ、かつ異なる内容を有する同一のINFファイルを有することが有効である場合がある。例えば、1つのINFディレクトリを、合法的に購入されたオペレーティングシステムパッケージを反映する商用在庫管理ユニット(SKU)に向け、もう1つのINFディレクトリを、その同じパッケージのエンタープライズクラスSKUに向けて、各位置に異なる値を有するINFファイルを含めることができる。実施形態では、オペレーティングシステムカーネル136の送達は、オペレーティングシステムまたは他のサポートのための有料または無料の加入などの加入サービスを基礎にすることができる。
【0020】
プロダクト設定124はさらにまた、例えばディレクトリで構文解析されるべきINFファイルをフィルタリングするために使用することのできる1つまたは複数のINFクラスストリングを識別するINFクラス用のインディケータを含むことができる。INFクラスが指定されていない場合、オペレーティングシステムインストールプロセスですべてのINFファイルを構文解析することができる。このフィールドに関する例示の設定によれば、BMonitor(ブートモニター)、システム、ネットワークおよびディスク関連INFファイルを構文解析することができ、他のINFクラスは省略することができる。この他の組み合わせも可能である。
【0021】
INFセット126自体は同様に、構築する目的で1つまたは複数のINFファイルを含むことができる。INFファイルは、一般に、ある点ではドライバファイル、またはクライアントマシンにインストールされたデバイスおよび資源に関係する他のデータを記述することのできるテキストファイルとして構成することができる。ビルダーエンジン116は、インストールされた周辺機器および他のパーツまたは資源がオペレーティングシステムカーネル136または他のソフトウェアのインスタンスによって適切に認識されることができるように、INFセット126から適切なドライバおよび他のデータを選択することができる。
【0022】
ビルダーエンジン116は同様に、オペレーティングシステムカーネル136の既に構築または修正されたインスタンスのイメージを記憶している場合のあるイメージストア128と通信することができる。実施形態では、ビルダーエンジン116は、オペレーティングシステムカーネル136のイメージがクライアント102と一致するかまたはほぼ一致するマシンに対して既に構築され、記憶されているかどうかを判定するために、要求パケット132の受信後にイメージストア128を照会することができる。イメージストア128は、ハードウェア構成要素データのハッシュまたは他の技術によるなどして、クライアント102を識別するデータの照合の対象となるハードウェアイメージテーブル130を含むことができる。
【0023】
ビルダーエンジン116は、クライアント102に応答して構築を送信するために、一致が発見されるとオペレーティングシステムカーネル136のイメージを取り出すことができる。同様にして、イメージストア128でほぼ一致しているものが発見されると、ビルダーエンジン116はその構築を取り出して、クライアント102の規格に合うようにプロダクトストア118または他の資源を使用してそのイメージを修正する。クライアント102のハードウェアプロファイルとイメージストア128に記憶されているバージョンの間にオーバーラップがほとんどまたはまったくない場合、ビルダーエンジン116は、プロダクトストア118および他によってオペレーティングシステムカーネル136の総合的な構築を実行することができる。
【0024】
オペレーティングシステムカーネル136の構築が完了する前、最中または後で、ビルダーエンジン116は通信リンク110を介してクライアント102に応答パケット134を伝達することができる。応答パケット134用の典型的なデータ構造を図4に示す。図に示すように、応答パケット134は、要求パケット132への応答の状態を表すかまたは関連するデータ要素または他の情報を含むことができる。例えば、図に示すように、応答パケット134は、要求の成功または失敗に関する情報をフラグ形式または他のインディケータの形式で含むことができる。応答パケット134はさらに、他の試みられた要求パケット132を送信することができるようになるまでの期間を示すためなどに、待ち状態にある要求の待ち時間に関する情報を含むことができる。
【0025】
応答パケット134はさらに、オペレーティングシステムカーネル136がサポートサーバ112から直接的に送信されない場合、クライアント102がオペレーティングシステムカーネル136をダウンロードしに行くことができるソースアドレスを示すことができる。例えば、実施形態では、遠隔サーバには、TFTPアドレスでトリビアルファイル転送プロトコル(TFTP)サーバを使用してアクセスすることができる。他のプロトコルまたはファイルのソースを使用することもできる。オペレーティングシステムカーネル136のイメージファイル名も応答パケット134に含めることができ、その結果サポートサーバ112、TFTPサーバまたは他のサーバまたは資源からオペレーティングシステムカーネル136を取り出すことができる。他の送達機構も実施可能である。
【0026】
オペレーティングシステムカーネル136を受信すると、クライアント102は、ファイル、ネットワークおよび他のシステム機能を実行するためにそのカーネルを電子メモリ106に記憶することができる。例えば、データおよび他のファイルを分離し、記憶して作業することができるように、オペレーティングシステムカーネル136の制御下でディレクトリ構造を電子メモリ106に構築することができる。実施形態では、例えばクライアント102が機能的なハードドライブまたは他の記憶機構を含んでいる場合、オペレーティングシステムカーネル136は、オペレーティングシステムの完全なセットアップおよびインストールを実行し、さらにリブートまたは他の動作を続けるためにネットワークサイトまたは他の資源にリンクすることができる。
【0027】
本発明の一実施形態によるカスタマイズされたオペレーティングシステムを生成するためのプロセスを図5に示す。ステップ502で、クライアント102は、DHCPまたは他のプロトコルを使用して通信し、PXEまたはBIOS 104の他の資源を使用してサポートサーバ112に要求パケット132を送信することができる。ステップ504で、サポートサーバ112は、要求パケットに応答し、ターゲットクライアント102に関する詳細または他の情報を確認する他のデータを含めて、TCP/IPまたは他のパケットなどの初期データパケットで応答することができる。
【0028】
ステップ506で、クライアント102は、オペレーティングシステムカーネル136を生成するためにデータのさらなる交換を容易にするようネットワークブートプログラム(NBP)または他の「sniffer」あるいは初期設定モジュールを要求することができる。ステップ508で、サポートサーバ112は、通信リンク110を介してクライアント102にNBPあるいは他のコンパクトな、または一時的な初期設定モジュールを伝達することができる。ステップ510で、クライアント102は、サポートサーバ112にローダーモジュールを要求するためにNBPまたは他のモジュールを実行することができる。ステップ512で、サポートサーバ112は、オペレーティングシステムカーネル136の受信を容易にするためにクライアント102にローダーモジュールを送信することができる。ステップ514で、クライアント102は、プロセッサ、メモリ、PnP、PCI列挙法およびクライアント102のハードウェアイメージに関する他のデータなどのハードウェアプロファイル情報をサポートサーバ112に伝達することができる。
【0029】
ステップ516で、サポートサーバ112は、ハードウェア抽象層(HAL)、レジストリ、または受信および検証に関する他の情報などのハードウェアイメージをクライアント102に送信するために、クライアント102のハードウェアプロファイルを解釈することができる。ステップ518で、クライアント102は、要求パケット132または他の構造によるなどして、オペレーティングシステムのイメージまたは構築を要求することができる。ステップ518中に、サポートサーバはビルダーエンジン116にアクセスしてオペレーティングシステムカーネル136を生成することができる。ステップ520で、サポートサーバ112は、オペレーティングシステムカーネル136をクライアント102に伝達することができる。ステップ522で、クライアント102は、電子メモリ106からなどの、オペレーティングシステムカーネル136に基づくオペレーティングシステムブートを実行することができる。ステップ522のブート操作の後に、クライアント102は、オペレーティングシステムカーネル136でサポートすることができるファイル、プロセッシング、ネットワークおよび他の機能を開始することができる。したがってこの実施形態および他の実施形態では、本発明は、クライアント102の特定のハードウェアを事前に知らずに、カスタマイズされたオペレーティングシステムカーネル136のインストールを完了することができる。
【0030】
本発明の上記記述は説明を目的としたものであり、当業者には構成および実施態様の修正形態が想起されよう。例えば、本発明は全般的にオペレーティングシステムカーネル136の送達の点に関して記述したが、実施形態では、オペレーティングシステムの完全な、またはより総合的な構築を実行し、送達することができる。同様に、ビルダーエンジン116は、実施形態では、オペレーティングシステムカーネル136または他の資源と共に、選択されたアプリケーションなどの追加のソフトウェアまたは構成要素を取り出し、構築することができる。
【0031】
同様に、本発明は全般的に、カスタマイズされたオペレーティングシステムカーネル136が目標にする個々のクライアント102の分析という点で記述したが、実施形態では、オペレーティングシステムカーネル136を受信するハードウェアは1つまたは複数のマシンから構成することができる。例えばLANまたは他の機能は同一またはほぼ同一のマシンを複数含むことができるが、複数のマシンへのオペレーティングシステムカーネルの送達をトリガするためにハードウェアプロファイルまたは他の要求データを交換する必要があるのはこれらのマシンの内の1つだけである。
【0032】
同様に、本発明は全般的に単一のサポートサーバ112の点で説明したが、実施形態では、1つまたは複数のサーバが、構築された要求の様々な部分をホストし、それに応答し、他の動作を実行することができる。イメージストア128、プロダクトストア118、プロダクト設定124、INFファイル126および他の資源を格納するために使用されるデータベースまたは他の記憶機構も、同様に分散させることができる。したがって本発明の範囲は、頭記の特許請求の範囲によってのみ限定されるものとする。
【図面の簡単な説明】
【図1】本発明が動作することのできる一実施形態のアーキテクチャを示す図である。
【図2】本発明の一実施形態によるオペレーティングシステム要求パケットのためのデータ構造を示す図である。
【図3】本発明の一実施形態によるプロダクト設定記録のためのデータ構造を示す図である。
【図4】本発明の一実施形態によるクライアントに送達される要求パケットのためのデータ構造を示す図である。
【図5】本発明の一実施形態によるオペレーティングシステムカーネルの初期設定およびローディングの流れ図である。
【符号の説明】
102 クライアント
104 BIOS
106 電子メモリ
108 プロセッサ
110 通信リンク
112 サポートサーバ
114 ディスパッチャモジュール
116 ビルダーエンジン
118 プロダクトストア
120 プロダクトプロセッサ
122 INFパーサー
124 プロダクト設定
126 INFファイル
128 イメージストア
130 ハードウェアイメージテーブル
132 要求パケット
134 応答パケット
136 オペレーティングシステムカーネル

Claims (14)

  1. 遠隔クライアントにカスタマイズされたオペレーティングシステムイメージをサポートサーバが送信する方法を実施するコンピュータであるサポートサーバにより実行可能なインストラクションを記録した一つまたは複数のコンピュータ読み取り可能な記録媒体において、
    ペレーティングシステムのコンピュータコードのコピーであるオペレーティングシステムのイメージを生成する要求を前記遠隔クライアントからサポートサーバが受信するステップであって、前記遠隔クライアントからの要求は、前記遠隔クライアントのハードウェアプロファイルデータであって、コンピュータシステムに含まれる物理コンポーネントの特性を示すハードウェアプロファイルデータを含む、要求を受信するステップと、
    前記サポートサーバのビルダーエンジンが、オペレーティングシステムイメージストアに、前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージがあるか否かを判定するステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記既に構築されたオペレーティングシステムイメージを前記オペレーティングシステムイメージストアから取り出すステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージが既に構築されているかを前記ビルダーエンジンが判定するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、オペレーティングシステムに含まれるソフトウェアコンポーネントであるオペレーティングシステム要素を格納するデータストアであるプロダクトストアから、カスタマイズされたオペレーティングシステムイメージを前記ビルダーエンジンが構築するステップであって、カスタマイズされたオペレーティングシステムイメージは、前記ハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築される、ステップと、
    前記サポートサーバが前記遠隔クライアントに前記カスタマイズされたオペレーティングシステムイメージを送信するステップと
    を実行するためのインストラクションを記録したコンピュータ読み取り可能な記録媒体であり、前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築することは、オペレーティングシステムイメージに部分的に一致していないハードウェアプロファイルに対応するオペレーティングシステム要素を、前記プロダクトストアから当該部分的に一致していないハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築することを含む、コンピュータ読み取り可能な記録媒体
  2. 前記遠隔クライアントが、ローカルネットワークおよびインターネットの少なくとも1のネットワークに接続されていることを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  3. 前記少なくとも1つのプロダクトストアが、格納された前記要素のバージョンデータを格納することを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  4. 前記カスタマイズされたオペレーティングシステムイメージがオペレーティングシステムカーネルを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  5. 前記カスタマイズされたオペレーティングシステムイメージが完全なオペレーティングシステムを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  6. 遠隔クライアントに送信するためのカスタマイズされたオペレーティングシテムイメージをサポートサーバが生成する方法において、
    ペレーティングシステムのコンピュータコードのコピーであるオペレーティングシステムイメージを生成する要求を前記サポートサーバが遠隔クライアントから受信するステップであって、前記遠隔クライアントからの要求は、前記遠隔クライアントのハードウェアプロファイルデータであって、コンピュータシステムに含まれる物理コンポーネントの特性を示すハードウェアプロファイルデータを含む、要求を受信するステップと、
    前記ハードウェアプロファイルデータに一致するオペレーティングシステムイメージがオペレーティングシステムイメージストアに既に構築されているか否かを前記サポートサーバのビルダーエンジンが判定するステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記既に構築されたオペレーティングシステムイメージを前記オペレーティングシステムイメージストアから取り出すステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージが既に構築されているかを前記ビルダーエンジンが判定するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、オペレーティングシステムに含まれるソフトウェアコンポーネントであるオペレーティングシステム要素を格納するコンピュータ読み取り可能な記憶媒体を含むデータストアであるプロダクトストアから、カスタマイズされたオペレーティングシステムイメージを前記ビルダーエンジンが構築するステップであって、カスタマイズされたオペレーティングシステムイメージは、前記ハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築される、ステップと
    前記カスタマイズされたオペレーティングシステムイメージを格納するステップと
    を含み、
    前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築するステップは、オペレーティングシステムイメージに部分的に一致していないハードウェアプロファイルに対応するオペレーティングシステム要素を、前記プロダクトストアから当該部分的に一致していないハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築することを含む、
    ことを特徴とする方法。
  7. 前記オペレーティングシステムの前記カスタマイズされたイメージを前記ビルダーエンジンが前記遠隔クライアントに伝達するステップをさらに含むことを特徴とする請求項6に記載の方法。
  8. 前記ハードウェアプロファイルデータに基づいて、様々なオペレーティングシステムのコピーを格納するオペレーティングシステムイメージストアから既に構築されたオペレーティングシステムイメージを前記ビルダーエンジンが選択的に取り出すステップをさらに含むことを特徴とする請求項7に記載の方法。
  9. 遠隔クライアントに送信するためのオペレーティングシステムイメージを生成するためのシステムにおいて、
    前記遠隔クライアントと通信し、ペレーティングシステムのコンピュータコードのコピーであるオペレーティングシステムのイメージを生成する要求を前記遠隔クライアントから受信する第1のインターフェース手段であって、前記遠隔クライアントからの要求は、前記遠隔クライアントのハードウェアプロファイルデータであって、コンピュータシステムに含まれる物理コンポーネントの特性を示すハードウェアプロファイルデータを含む、第1のインターフェース手段と、
    オペレーティングシステムに含まれるソフトウェアコンポーネントであるオペレーティングシステム要素を格納する少なくとも1つのデータストアであるプロダクトストア手段と
    前記ハードウェアプロファイルデータに一致するオペレーティングシステムイメージがオペレーティングイメージストアに構築されていないかを判定し、及び、前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージが前記オペレーティングイメージストアに既に構築されているかを判定する判定手段と、
    前記第1のインターフェース手段を介して前記遠隔クライアントと通信し、かつ前記少なくとも1つのプロダクトストア手段と通信するビルダーエンジン手段であって、
    前記判定の結果、前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにあると判定された場合、前記既に構築されたオペレーティングシステムイメージを前記オペレーティングイメージストアから取り出し、
    前記判定の結果、前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージがまだ構築されていないと判定された場合、前記遠隔クライアントからの要求に基づいてオペレーティングシステム要素を格納するオペレーティングシステムストアからオペレーティングシステムのカスタマイズされたイメージを構築し、ここで、カスタマイズされたオペレーティングシステムイメージは、前記ハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築され、
    前記判定手段が前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージがすでに構築されていると判定された場合、前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築し、ここで、前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築することは、オペレーティングシステムイメージに部分的に一致していないハードウェアプロファイルに対応するオペレーティングシステム要素を、前記プロダクトストア手段から当該部分的に一致していないハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築することを含む、ビルダーエンジン手段と、
    前記遠隔クライアントにオペレーティングシステムの前記カスタマイズされたイメージを送信する送信手段と
    を含むことを特徴とするシステム。
  10. オペレーティングシステムイメージストア手段をさらに含み、前記ビルダーエンジン手段が、前記ハードウェアプロファイルデータに基づいて前記オペレーティングシステムイメージストア手段から既に構築されたオペレーティングシステムイメージを選択的に取り出すことを特徴とする請求項9に記載のシステム。
  11. 前記遠隔クライアントがディスクレスクライアントを含むことを特徴とする請求項9に記載のシステム。
  12. 前記遠隔クライアントが故障状態のクライアントを含むことを特徴とする請求項9に記載のシステム。
  13. 前記遠隔クライアントが、パーソナルコンピュータと無線ネットワーク使用可能デバイスの少なくとも1つを含むことを特徴とする請求項9に記載のシステム。
  14. 遠隔クライアントに送信するためのカスタマイズされたオペレーティングシステムイメージをコンピュータであるサポートサーバが生成する方法をサポートサーバにより実行させるためのインストラクションを記録した一又は複数のコンピュータ読み取り可能な記録媒体であって、前記方法が、
    ペレーティングシステムのコンピュータコードのコピーであるオペレーティングシステムイメージを生成する要求を前記サポートサーバが前記遠隔クライアントから受信するステップであって、前記遠隔クライアントからの要求は、前記遠隔クライアントのハードウェアプロファイルデータであって、コンピュータシステムに含まれる物理コンポーネントの特性を示すハードウェアプロファイルデータを含む、要求を受信するステップと、
    前記ハードウェアプロファイルデータに一致するオペレーティングシステムイメージがオペレーティングシステムストアに構築されているか否かを前記サポートサーバのビルダーエンジンが判定するステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記既に構築されたオペレーティングシステムイメージを前記オペレーティングシステムイメージストアから取り出すステップと、
    前記ハードウェアプロファイルデータに一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、前記ハードウェアプロファイルデータに部分的に一致するオペレーティングシステムイメージが既に構築されているかを前記ビルダーエンジンが判定するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにある場合、前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築するステップと、
    前記ハードウェアプロファイルデータに部分的に一致する既に構築されたオペレーティングシステムイメージが前記オペレーティングシステムイメージストアにない場合、オペレーティングシステムに含まれるソフトウェアコンポーネントであるオペレーティングシステム要素を格納するデータストアであるプロダクトストアから、カスタマイズされたオペレーティングシステムイメージを前記ビルダーエンジンが構築するステップであって、カスタマイズされたオペレーティングシステムイメージは、前記ハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築される、ステップと、
    前記カスタマイズされたオペレーティングシステムイメージを前記ハードウェアプロファイルデータと関連付けて格納するステップと
    を含み、
    前記ビルダーエンジンが前記部分的に一致するオペレーティングシステムイメージを修正して前記ハードウェアプロファイルデータに一致するカスタマイズされたオペレーティングシステムイメージを構築することは、オペレーティングシステムイメージに部分的に一致していないハードウェアプロファイルに対応するオペレーティングシステム要素を、前記プロダクトストアから当該部分的に一致していないハードウェアプロファイルに基づいてINFセット及びプロダクト設定から生成されるINFファイルを用いて構築することを含むことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2003110879A 2002-04-15 2003-04-15 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法 Expired - Fee Related JP4647192B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37286402P 2002-04-15 2002-04-15
US60/372,864 2002-04-15
US10/401.978 2003-03-28
US10/401,978 US7379982B2 (en) 2002-04-15 2003-03-28 System and method for custom installation of an operating system on a remote client

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008213199A Division JP2009070375A (ja) 2002-04-15 2008-08-21 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2003330728A JP2003330728A (ja) 2003-11-21
JP4647192B2 true JP4647192B2 (ja) 2011-03-09

Family

ID=28794501

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003110879A Expired - Fee Related JP4647192B2 (ja) 2002-04-15 2003-04-15 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法
JP2008213199A Pending JP2009070375A (ja) 2002-04-15 2008-08-21 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008213199A Pending JP2009070375A (ja) 2002-04-15 2008-08-21 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法

Country Status (3)

Country Link
US (1) US7379982B2 (ja)
EP (1) EP1369779A3 (ja)
JP (2) JP4647192B2 (ja)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7823149B2 (en) * 2002-05-08 2010-10-26 Oracle International Corporation Method and system for restoring an operating environment on a computer system
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7233999B2 (en) * 2003-01-28 2007-06-19 Altaf Hadi System and method for delivering last mile computing over light from a plurality of network edge locations
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7680957B1 (en) 2003-05-09 2010-03-16 Symantec Operating Corporation Computer system configuration representation and transfer
US7167974B2 (en) * 2003-05-19 2007-01-23 Hewlett-Packard Development Company, L.P. Multiple saved kernel configurations
US8086659B2 (en) * 2003-06-25 2011-12-27 Microsoft Corporation Task sequence interface
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
US20050038879A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for discovery of remote device driver functionality and interface
US7225440B2 (en) * 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US7783785B2 (en) * 2003-10-02 2010-08-24 Gateway, Inc. Method and apparatus for BIOS determination of network information and diagnostics
US7457819B2 (en) * 2003-10-17 2008-11-25 International Business Machines Corporation Configurable flat file data mapping to a database
US20050138619A1 (en) * 2003-12-23 2005-06-23 Jen-Fu Tsai Method for remotely acquiring customized embedded operating system through computer network
DE602004013269T2 (de) * 2004-01-27 2009-05-28 Research In Motion Ltd., Waterloo Verfahren und Gerät zur Aktualisierung nichtflüchtiger Speicherinhalte auf einem schnurlosen Gerät durch Überprüfen und Vergleich eines spezifischen, in besagtem Speicher abgelegten Identifikations-Elements mit einer Software-Identifikation
US8418162B2 (en) * 2004-01-27 2013-04-09 Research In Motion Limited Network delivered dynamic persistent data
US7322010B1 (en) 2004-02-06 2008-01-22 Symantec Operating Corporation Graphical user interface for mapping computer resources
US7313719B1 (en) 2004-02-06 2007-12-25 Symantec Operating Corporation Restore of backup to computer system with filesystem/volume attribute modification
KR100586309B1 (ko) * 2004-02-23 2006-06-07 엔컴퓨팅 주식회사 다운로드 방식의 운영체제로 구동되는 네트워크 단말장치및 그 동작 방법
US7334157B1 (en) 2004-02-26 2008-02-19 Symantec Operating Corporation Restore of data to a computer system having different hardware
US7293272B1 (en) 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US8230095B2 (en) 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US20050283778A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation System and method for identifying installation modes for device drivers
JP4759941B2 (ja) * 2004-06-22 2011-08-31 日本電気株式会社 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
US7797525B2 (en) * 2004-07-01 2010-09-14 Hewlett-Packard Development Company, L.P. Operating system installation
US7496743B1 (en) * 2004-11-08 2009-02-24 Sun Microsystems, Inc. Modeling operating system instances
US8677118B1 (en) * 2005-02-01 2014-03-18 Trend Micro, Inc. Automated kernel hook module building
EP1866754A1 (fr) * 2005-03-01 2007-12-19 France Telecom Systeme et procede de migration d'un systeme d'exploitation, des donnees d'utilisateurs, et des applications depuis au moins un serveur vers au moins un ordinateur
JP4863154B2 (ja) * 2005-03-29 2012-01-25 日本電気株式会社 起動イメージ提供システム及びその動作方法、ブートノード装置、ブートサーバ装置並びにその動作プログラム
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US7502846B2 (en) * 2005-06-07 2009-03-10 Azaleos Corporation Monitoring service with inter-enterprise contextual analysis
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US20070050471A1 (en) * 2005-08-31 2007-03-01 Microsoft Corporation Portable Remoting Component With A Scaleable Feature Set
US20070083653A1 (en) * 2005-09-16 2007-04-12 Balasubramanian Chandrasekaran System and method for deploying information handling system images through fibre channel
US7447806B2 (en) * 2005-09-22 2008-11-04 International Business Machines Corporation Method and apparatus for centralization configuration of data processing systems
EP1941360A2 (en) * 2005-09-27 2008-07-09 Morgan Stanley Host build and rebuild system and method
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
JP2007141180A (ja) * 2005-11-22 2007-06-07 Hitachi Software Eng Co Ltd 情報処理システム
US8787350B2 (en) * 2005-12-07 2014-07-22 Meshnetworks, Inc. System and method to facilitate the use of multiple radios to increase the capacity of a wireless communication network
US20070253437A1 (en) * 2006-04-28 2007-11-01 Ramesh Radhakrishnan System and method for intelligent information handling system cluster switches
FR2901441B1 (fr) * 2006-05-19 2008-08-01 Neuf Telecom Sa Systeme de communication internet et procede de mise en communication d'une unite de communication avec un reseau internet
WO2007135325A2 (fr) * 2006-05-22 2007-11-29 Thomson Licensing Representation d'un chemin de retard dans des reseaux mobiles
US9003000B2 (en) 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US8909746B2 (en) 2006-07-25 2014-12-09 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US8255904B2 (en) * 2006-12-08 2012-08-28 Hewlett-Packard Development Company, L.P. System and method for generating a distributable software package
EP2126716A4 (en) * 2007-01-16 2011-03-16 Gizmox Ltd METHOD AND SYSTEM FOR PRODUCING IT-ORIENTED SERVER-BASED WEB APPLICATIONS
US8522234B2 (en) * 2007-02-05 2013-08-27 Microsoft Corporation Tailoring an operating system to a computer system
US7886185B1 (en) 2007-03-23 2011-02-08 Symantec Corporation Creation of a device database and synthesis of device driver information during dissimilar system restore
US7769990B1 (en) 2007-03-23 2010-08-03 Symantec Corporation Using a monitoring process to update system configuration settings during restore operations
US8132186B1 (en) 2007-03-23 2012-03-06 Symantec Corporation Automatic detection of hardware and device drivers during restore operations
US7987348B2 (en) * 2007-03-30 2011-07-26 Intel Corporation Instant on video
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
TW200907813A (en) * 2007-08-10 2009-02-16 Asustek Comp Inc Method for operating computer and operating system thereof
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
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8332841B2 (en) * 2007-12-12 2012-12-11 Novell Intellectual Property Holdings, Inc. System and method for creating platform-specific self-extracting client packages using a production server
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US7631306B1 (en) * 2008-07-30 2009-12-08 International Business Machines Corporation System and method for network image propagation without a predefined network
US9189221B2 (en) 2009-01-27 2015-11-17 Microsoft Technology Licensing, Llc Consistent operating system servicing for distributed nodes
US8776088B2 (en) * 2009-03-30 2014-07-08 Microsoft Corporation Operating system distributed over heterogeneous platforms
US8819707B2 (en) * 2009-06-18 2014-08-26 Citrix Systems, Inc. Methods and systems for importing a device driver into a guest computing environment
US20100332331A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Systems and Methods for Providing an Interface for Purchasing Ad Slots in an Executable Program
US20100332320A1 (en) * 2009-06-24 2010-12-30 Joseph Martin Mordetsky Systems and Methods for Providing Conditional Authorization to Operate Licensed Software
US8239852B2 (en) * 2009-06-24 2012-08-07 Uniloc Luxembourg S.A. Remote update of computers based on physical device recognition
US7984166B2 (en) * 2009-09-02 2011-07-19 Honeywell International Inc. Trivial file transfer protocol (TFTP) file segment and file address options
JP2011070481A (ja) * 2009-09-28 2011-04-07 Fujifilm Corp ウェブ・ブラウザ送信サーバおよびその動作制御方法
US20110126193A1 (en) * 2009-11-20 2011-05-26 Dell Products, Lp System and Method for Imaging and Provisioning of Information Handling System
JP2011123697A (ja) * 2009-12-11 2011-06-23 Fujifilm Corp ウェブ・ページ変換システム
JP2011160298A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ネットワークシステム、処理を提供するサーバの切替方法、処理を提供するサーバの切替プログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
JP2011160300A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ルータ、ルーティング方法、ルーティングプログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US8549272B2 (en) 2010-02-10 2013-10-01 Dell Products L.P. Information handling system image management deployment of virtual machine images to physical information handling systems
US9037843B2 (en) * 2010-03-10 2015-05-19 Hewlett-Packard Development, L.P. Managing a target computing device
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US8505003B2 (en) 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
JP2011253511A (ja) * 2010-06-02 2011-12-15 Minoru Yoshida 情報生成システム及びその方法
US8572699B2 (en) * 2010-11-18 2013-10-29 Microsoft Corporation Hardware-based credential distribution
JP5907983B2 (ja) 2010-11-23 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation マイグレーション方法、コンピュータ・プログラム、およびシステム
DE112011104325B4 (de) 2010-12-09 2020-08-06 International Business Machines Corporation Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE112011104356B4 (de) 2010-12-13 2014-05-15 International Business Machines Corporation Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
US8918782B2 (en) 2011-05-27 2014-12-23 Microsoft Corporation Software image distribution
US9395972B2 (en) * 2011-05-31 2016-07-19 Red Hat, Inc. Customizing an operating system installer via a web-based interface
US8762769B2 (en) 2011-08-25 2014-06-24 Hewlett-Packard Development Company, L.P. Downloading a disk image from a server with a reduced corruption window
US9122711B1 (en) 2012-05-24 2015-09-01 Symantec Corporation Simplified system backup protection and recovery
US9052917B2 (en) 2013-01-14 2015-06-09 Lenovo (Singapore) Pte. Ltd. Data storage for remote environment
US9143553B2 (en) 2013-02-26 2015-09-22 Honeywell International Inc. Trivial file transfer protocol (TFTP) accelerated file retry option
US8954953B2 (en) * 2013-03-06 2015-02-10 Dell Products L.P. Systems and methods for deploying a customized operating system
US10506026B1 (en) * 2013-03-13 2019-12-10 Amazon Technologies, Inc. Resource prestaging
US9703937B2 (en) * 2013-04-10 2017-07-11 Dell Products, L.P. Method to prevent operating system digital product key activation failures
US20160019117A1 (en) * 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
WO2016144354A1 (en) 2015-03-11 2016-09-15 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (os) images
CN106549789B (zh) * 2015-09-21 2020-08-07 南京中兴新软件有限责任公司 一种实现服务器安装的方法及系统
US11265362B1 (en) * 2015-12-28 2022-03-01 Ted Tabacco Mobile application streaming platform
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US10754829B2 (en) 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
US11237924B2 (en) 2019-12-11 2022-02-01 Commvault Systems, Inc. Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
CN111068335B (zh) * 2019-12-25 2023-12-15 成都吉胜科技有限责任公司 一种用于电竞赛事的反外挂方法及系统
CN112256237B (zh) * 2020-09-27 2024-04-12 深圳市优金支付科技有限公司 操作系统定制方法、定制系统、电子设备及定制资源文件
US11809850B2 (en) 2021-08-25 2023-11-07 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
GB2311390B (en) 1996-03-18 2000-03-22 Ibm Initial program load in data processing network
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6209089B1 (en) * 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6466972B1 (en) * 1999-03-31 2002-10-15 International Business Machines Corporation Server based configuration of network computers via machine classes
US6854009B1 (en) * 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7363374B2 (en) * 2001-04-27 2008-04-22 International Business Machines Corporation Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers
US6928579B2 (en) * 2001-06-27 2005-08-09 Nokia Corporation Crash recovery system
US20030055919A1 (en) * 2001-08-30 2003-03-20 Fong Ryan Patrick One-click deployment of data processing systems

Also Published As

Publication number Publication date
US20030195995A1 (en) 2003-10-16
EP1369779A3 (en) 2006-02-08
JP2003330728A (ja) 2003-11-21
US7379982B2 (en) 2008-05-27
JP2009070375A (ja) 2009-04-02
EP1369779A2 (en) 2003-12-10

Similar Documents

Publication Publication Date Title
JP4647192B2 (ja) 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法
US8782098B2 (en) Using task sequences to manage devices
US7290258B2 (en) Managing multiple devices on which operating systems can be automatically deployed
US7395324B1 (en) Method and apparatus for maintaining a computer system
US9081747B1 (en) Computer program deployment to one or more target devices
US7600005B2 (en) Method and apparatus for provisioning heterogeneous operating systems onto heterogeneous hardware systems
CN101989212B (zh) 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
US7266818B2 (en) Automated system setup
US20060253565A1 (en) System and methods for software distribution and management
US6684327B1 (en) Extensible, flexible, memory efficient technique for network boot without special DHCP/PXE hardware
US8332490B2 (en) Method, apparatus and program product for provisioning a computer system
EP2385464A1 (en) Method and system for automatic generation of operating system boot images
KR100625060B1 (ko) San 상에서 부트, 유지보수 또는 인스톨 동작을실행하는 방법, 장치 및 프로그램
US20090019436A1 (en) Augmenting a Virtual Machine Hosting Environment from within a Virtual Machine
US20050193261A1 (en) Configuration proxy service for the extended firmware interface environment
US20090254641A1 (en) Network card capable of remote boot and method thereof
JP5081827B2 (ja) 遠隔データ処理システムを構築するための方法、並びにそのコンピュータ・プログラム及びデータ処理システム
TWI310155B (en) Automated method for installing and configuring a test suite on a unit under test
US8086659B2 (en) Task sequence interface
CN111078305A (zh) 信息采集方法、装置、服务器和信息管理系统
KR100791293B1 (ko) 네트워크 내 컴퓨터 시스템의 데이터 관리 장치 및 방법
KR100831128B1 (ko) 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법
Anuzelli et al. Dynamips/dynagen tutorial
Cisco Operating the Cisco ICS 7750
CN111614488B (zh) 一种部署异构超算平台的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080425

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080821

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081009

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081031

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

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

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4647192

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees