JP2006127169A - ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム - Google Patents

ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム Download PDF

Info

Publication number
JP2006127169A
JP2006127169A JP2004314981A JP2004314981A JP2006127169A JP 2006127169 A JP2006127169 A JP 2006127169A JP 2004314981 A JP2004314981 A JP 2004314981A JP 2004314981 A JP2004314981 A JP 2004314981A JP 2006127169 A JP2006127169 A JP 2006127169A
Authority
JP
Japan
Prior art keywords
module
network
boot
computer
client
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
JP2004314981A
Other languages
English (en)
Other versions
JP4950418B2 (ja
Inventor
Takayuki Watanabe
孝行 渡辺
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004314981A priority Critical patent/JP4950418B2/ja
Publication of JP2006127169A publication Critical patent/JP2006127169A/ja
Application granted granted Critical
Publication of JP4950418B2 publication Critical patent/JP4950418B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 ハードウェア構成の異なる複数のコンピュータがブートするためのOSのデータ量を少なくして、OSを格納する記憶領域を節約し、簡易にOSを管理する。
【解決手段】 ネットワークブートシステム10と、ネットワーク20と、クライアント30と、OS格納ディスク40とで構成され、OSをモジュール単位で管理し、クライアント30ごとに対応するOSを作成するネットワークブートシステム10が、クライアント30からのブートリクエストに従ってネットワーク20を経由してOS格納ディスク40に作成したOSを格納し、クライアント30にOS格納ディスク40からOSをブートさせるクライアントサーバシステムとした。
【選択図】 図1

Description

本発明は、ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラムに係り、特に、クライアントがネットワークを経由してブートするためのオペレーティングシステム(OS(Operating System))を管理するものに関する。
従来のネットワークブートシステムとしては、ネットワークに接続されるコンピュータごとに、ブートさせるためのプラットフォームを提供する技術が知られている(例えば、特許文献1参照)。
特開2003−330728号公報(段落0013〜0029、図1〜5)
前記特許文献1に記載の技術では、コンピュータの種類が増えるに従って管理するOSも増えてしまうため、管理するデータ量が増えて記憶領域を圧迫し、管理が煩雑になるという不具合があった。
そのため、本発明は、複数のコンピュータがブートするためのOSを少なくして、OSを格納する記憶領域を節約し、簡易にOSを管理することを課題とする。
そこで、本発明は、前記課題を解決するための手段として、ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムのネットワークブート方法であって、複数のオペレーティングシステムをそれぞれ複数の単体のモジュールに分けて記憶するモジュール記憶手段からブート先の前記コンピュータのハードウェア構成に対応する前記各モジュールを読み出すステップと、読み出した前記各モジュールを組み合わせて前記コンピュータごとの前記オペレーティングシステムを作成するステップと、作成した前記オペレーティングシステムを前記コンピュータに前記ネットワークを経由して送ってブートさせるステップとを実行することにした。
本発明によれば、ハードウェア構成の異なる複数のコンピュータがブートするためのOSを少なくして、OSを格納する記憶領域を節約し、簡易にOSを管理できる。
以下、本発明の実施形態のネットワークブートシステムについて図面を参照して説明する。
まず、図1に示す全体構成図に従って、ネットワークブートシステム10をサーバとして構成する一例のクライアントサーバシステムを説明する。なお、以下の説明では、構成要素に対応する図番について特に断りがなければ図1を参照することとする。
このクライアントサーバシステムは、ネットワークブートシステム10と、ネットワーク20と、クライアント30と、OS格納ディスク40とで構成されている。そして、OSの構成要素となるモジュール単位で管理し、クライアント30ごとに対応するOSを作成するネットワークブートシステム10が、クライアント30からのブートリクエストに従ってネットワーク20を経由してOS格納ディスク40に作成したOSを格納し、クライアント30にOS格納ディスク40からOSをブートさせるようになっている。
次に、このクライアントサーバシステムの各構成について詳細に説明する。
なお、ここでは、ネットワークブートシステム10は、1台の装置(サーバ)を想定して説明するが、各機能を実現する複数のコンピュータによって構成し、LANやインターネットで互いを接続して分散処理可能な構成としてもよい。クライアント30は、1台として説明するが、その台数に制限はない。OS格納ディスク40は、例えば、ファイルサーバを用いることとするが、OSを格納することが可能であれば、他のものを用いてもよい。また、OS格納ディスク40は、ネットワークブートシステム10にネットワーク20を経由して接続する外部に備える構成として説明するが、ネットワークブートシステム10の内部に備える構成としてもよい。
まず、ネットワークブートシステム10の構成を説明する。
ネットワークブートシステム10は、一般的なコンピュータであって、図示しないCPU(Central Processing Unit)、HDD(Hard Disk Drive)、インターフェース等のハードウェアから構成され、OSをモジュールとして管理してブート先のコンピュータのハードウェア構成に従ってモジュールを組み合わせてOSを作成するためのネットワークブートプログラムを実行することで、後記するネットワークブート処理を実現するものである。
そのため、このネットワークブートシステム10は、クライアント30とのやりとりを行うクライアント連絡部(通信手段)100と、クライアント30からのブートリクエストに従って、クライアント30のハードウェア構成を調査結果(デバイスIDやOS種類等の構成情報)として抽出するためのエージェントプログラムを作成するOS構成情報作成手段200と、ブートリクエストと構成情報とに従ってOSを作成してOS格納ディスク40上に格納するOS作成手段300と、クライアント30がブートするOS種類を特定するための一覧を格納したクライアントOSテーブル400とを機能として備えている。
以下、このネットワークブートシステム10の各機能について説明する。
クライアント連絡部100は、ネットワーク20を経由してクライアント30からブートリクエストを受け取り、クライアント30へブート指示を送信する。また、クライアント連絡部100は、クライアント30にどのOSをブートさせるかという判断をクライアントOSテーブル400を用いて行う。例えば、ブートリクエストに含まれる後記マシンタイプをキーとしてクライアントOSテーブル400を検索しOS種類を抽出する。そして、クライアント連絡部100は、抽出したOS種類のOSをクライアント30にブートさせると判断し、抽出したOS種類とブートリクエストとを、OS構成情報作成手段200とOS作成手段300とに渡す。
OS構成情報作成手段200は、クライアント30からのブートリクエストに従って、クライアント30のハードウェア構成を示すハードウェア構成情報を調査結果として取得するためのエージェントプログラムを抽出するものであり、OS構成情報作成部210と、構成調査エージェントテーブル220とから構成されている。
OS構成情報作成部210は、クライアント30のハードウェア構成を構成情報(調査結果)として得るために適切なエージェントプログラムを構成調査エージェントテーブル220から抽出して、クライアント30に送るものである。
構成調査エージェントテーブル220には、図2に示すように、「CpuType1」等のCPU種類221と、「マシン1」等のマシンタイプ222とに、ファイル名「Type1Check.exe」等のエージェントプログラム223が関係付けられている。
OS作成手段300は、クライアント30にブートさせるOSを作成して、作成したOSをOS格納ディスク40に格納するものであり、OS作成部310と、コンパイル部320と、共通モジュールテーブル330と、ハードウェア依存モジュールテーブル340とから構成されている。
以下、OS作成手段300の各構成について説明する。
OS作成部310は、クライアント30から送られてくるブートリクエストおよびハードウェア構成情報に基づいて、共通モジュールテーブル330から共通モジュールを抽出すると共にハードウェア依存モジュールテーブル340から依存モジュールを抽出し、抽出した共通モジュールと依存モジュールとを組み合わせる。なお、共通モジュールは、ハードウェアに依存しないOSの上位層のモジュールであり、中間コード形式としている。また、ここでは、同様に、依存モジュールも中間コード形式として説明する。
また、このOS作成部310は、双方のモジュールを組み合わせたOS中間コードをコンパイル部320にコンパイルさせて、クライアント30向けのOSを作成する。さらに、このOS作成部310は、作成したOSをOS格納ディスク40に格納すると共にクライアント30にブート指示を出す。このブート指示には、OS格納ディスク40内のOSの格納先(アドレス)が含まれる。
なお、ここでは、共通モジュールと依存モジュールとの双方のモジュールを組み合わせてコンパイルすることとしたが、実行可能な形式となるのであれば、各テーブルに格納されているモジュールの形式は問わない。例えば、依存モジュールは、中間コード形式ではなく、ハードウェアに依存した実行形式としてもよい。特に、ドライバは、ハードウェアを仮想化するために使用されるOSのコンポーネントであり、ハードウェアに非常に密着しているため、実行形式とするのが好ましい。
ここで、前記したコンパイル部320、共通モジュールテーブル330、ハードウェア依存モジュールテーブル340について順を追って詳述する。
コンパイル部320は、OS作成部310から渡される中間コードをクライアント30のハードウェア上で実行可能な形式にコンパイルするものである。なお、ここでは、コンパイルして作成されたOSは、OS作成部310を経由してOS格納ディスク40に格納するものとして説明するが、OS作成部310を介さずにコンパイル部320がOS格納ディスク40に格納させるようにしてもよい。
共通モジュールテーブル330は、共通モジュール抽出のために必要な一覧であり、クライアント30がブートするためのOSを構成するモジュールの中で、ハードウェア依存のないOSの上位層のモジュールを中間コードの形で格納するものである。
この共通モジュールテーブル330には、具体的には、図3に示すように、「OS1」等のOS種類331と、「OS1Kernel.exe」等のモジュール名332と、「5.0.0.1025」等のモジュールのバージョン333と、前記したバージョン333のモジュール名332のモジュールの格納先を示す位置334と、クライアント30の図示しないCPUの種類に依存しない中間コード形式のOSのモジュールの実体である「982e77fb・・・・・」等で表されるOSバイナリ335とが関係付けられている。なお、「\OS1System」等で表される位置334は、OS格納ディスク40の格納先を示している。
ハードウェア依存モジュールテーブル340は、ハードウェア依存のドライバ等のモジュールを特定するための一覧であって、OSの上位層に対してクライアント30を構成するハードウェアを仮想化するためのドライバやHAL(Hardware Abstraction Layer)等のモジュールを格納するものである。
このハードウェア依存モジュールテーブル340には、具体的には、図4に示すように、デバイスを特定するための「PNP0001」等のデバイスID341と、ドライバ等のモジュールの実行可能な「CpuType1」等のCPU種類342と、そのモジュールを使用可能な「OS1」等のOS種類343と、「OS1driver1.sys」等のドライバ名344と、「5.0.0.1025」等のドライバのバージョン345と、ドライバのOS格納ディスク40の格納先を示す位置346と、「982e77fd・・・・」等のドライバの実体であるドライババイナリ347とが関係付けられている。なお、「\OS1System\drivers」等で表される位置334は、OS格納ディスク40の格納先を示している。
また、クライアントOSテーブル400には、クライアント30がブートするOS種類を特定するための一覧を格納するものであって、クライアント30がブートするものとしてクライアント30のネットワークブートシステム10の登録時に設定される。
このクライアントOSテーブル400は、図5に示すように、クライアント30を一意に識別するために使用するクライアント識別ID401と、OS種類402とが関係付けられている。例えば、「ID-XYZ」のクライアント識別IDと「OS2」等のCPU種類とが関係付けられている。
ネットワーク20は、ネットワークブートシステム10と、クライアント30と、OS格納ディスク40とを互いに通信可能にするものであり、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等で構成されている。なお、ネットワーク20は、SAN(Storage Area Network)等のストレージネットワークとしてもよい。
クライアント30は、パーソナルコンピュータ等のコンピュータであって、図示しないCPU、HD、インターフェース等のハードウェアから構成され、ネットワーク20経由でOSをブートするための基本的なデバイスを備えている。このクライアント30は、電源ONにより、BIOS(Basic Input Output System)が立ち上がり、このBIOS上で動く通信プロトコルに従ってネットワーク20を経由し、図6に示すようなブートリクエスト500をネットワークブートシステム10に送信する。このブートリクエスト500には、例えば、クライアント30を識別するための「ID-XYZ」501a等のクライアント識別ID501と、「CpuType3」502a等のクライアント30のCPU種類502と、クライアントマシンの総称(PC−AT(登録商標)互換等)を示すためのマシンタイプ503(例えば「マシン3」503a)とが含まれている。
また、クライアント30は、ネットワークブートシステム10からのブート指示に従って指定されるOS格納ディスク40からネットワーク20を経由してOSをブートするようになっている。さらに、クライアント30は、ネットワークブートシステム10から転送されるエージェントプログラムをBIOS上で動かし、エージェントプログラムにより自己のハードウェア構成を調査するようになっている。
OS格納ディスク40には、ネットワークブートシステム10からネットワーク20を経由して送られてくるOSが格納される。
ここで、図2,4,7を参照して、クライアント30がエージェントプログラム223によりハードウェア構成を調査した結果を説明する。
図7に示すように、このハードウェア構成の調査結果600では、デバイス固有のIDであるデバイスID601の羅列(「XP001」601a,「XP002」601b・・・)となっている。このデバイスID601は、図4に示したハードウェア依存モジュールテーブル340のデバイスID341を特定するものである。
次に、図5,6を参照して、クライアント連絡部100のクライアントOSテーブル400からOS種類402を抽出する処理を説明する。
クライアント連絡部100は、図6に示したブートリクエスト500のクライアント識別ID501をキーとして、図5に示したOS種類402をクライアントOSテーブル400から抽出する。例えば、図6に示した「ID-XYZ」501aをキーとして、図5に示した「OS2」402aを抽出する。
次に、図2,6を参照して、OS構成情報作成部210がエージェントプログラムを抽出する処理を説明する。
OS構成情報作成部210は、図6に示したブートリクエスト500に含まれるCPU種類502とマシンタイプ503とをキーとして、図2に示した構成調査エージェントテーブル220から対応するCPU種類221とマシンタイプ222とを含むレコード中のエージェントプログラム223を抽出する。例えば、図6に示した「CpuType3」と「マシン3」とをキーとして図2に示した「Type3Check.exe」223a等のエージェントプログラム223を抽出する。
次に、図3〜7を参照して、OS作成部310が、クライアント30から送られてくる図6に示したブートリクエスト500および図7に示したハードウェア構成の調査結果600により、図3に示した共通モジュールテーブル330から共通モジュールを抽出し、ハードウェア依存モジュールテーブル340からモジュール(ドライバ)を抽出する処理を説明する。
OS作成部310は、クライアント連絡部100により抽出されるOS種類402をキーとして、図3に示した共通モジュールテーブル330を検索し、対応するOS種類331のモジュール名332とバージョン333と位置334とを抽出し、対応する位置334から共通モジュールとしてのOSバイナリ335を共通モジュールテーブル330から抽出する。例えば、図5に示した「OS2」402aをキーとして、対応する「OS2」のOS種類331を含むレコードを検索し、「OS2Kernel」のモジュール名332と「6.0.0.1025」のバージョン333と「\OS2System」の位置334とOSバイナリ335の「21gaff9a・・・・」335aを抽出する。同様に、「c97a6f29・・・・」335bも抽出する。
また、OS作成部310は、クライアント連絡部100により抽出されたOS種類402と、図6に示したCPU種類502と、図7に示したハードウェア構成の調査結果600のデバイスID601とをキーとして、図4に示したハードウェア依存モジュールテーブル340を検索する。そして、ハードウェア依存モジュールテーブル340のデバイスID341と、CPU種類342と、OS種類343とに対応するレコードのドライバ名344とバージョン345と位置346とドライババイナリ347とを抽出する。例えば、図5に示した「OS2」402aと、図6に示した「CpuType3」502aと、図7に示した「XP0001」601aおよび「XP0002」601bとをキーとして、図4に示したドライバ名344とバージョン345と位置346と「21gaff9a・・・・」347a,347b等のドライババイナリ347とが抽出される。
このように、前記した構成のネットワークブートシステム10は、構成調査エージェントテーブル220と、共通モジュールテーブル330と、ハードウェア依存モジュールテーブル340と、クライアントOSテーブル400とを集中管理するため、管理者がOSのモジュールのバージョンを効率良くかつ簡易に管理できるようになる。
最後に、図8に示すフローチャートに従って、前記したクライアント30がOSをブートするまでの処理の流れを図1〜7を参照しつつ説明する。なお、図8中、左側にはクライアント30の処理、右側にはネットワークブートシステム10の処理を表している。また、以下の説明でも、構成要素に対応する図番について特に断りがなければ図1を参照することとする。
まず、クライアント30では、電源がユーザにより投入されると、BIOSが起動する(Sa1)。この起動によりクライアント30は、ネットワーク20を経由してネットワークブートシステム10に図6に示したブートリクエスト500を送信する(Sa2)。
一方、ネットワークブートシステム10では、クライアント連絡部100がブートリクエスト500を受信すると(Sb1)、クライアント連絡部100は、図6に示したブートリクエスト500のクライアント識別ID501と一致するIDを、図5に示すクライアントOSテーブル400のクライアント識別ID401から検索する。そして、それに対応するOS種類402を抽出し、クライアント30にブートさせるOS種類を決定する(Sb2)。例えば、図6に示したクライアント識別ID501が「ID-XYZ」501aであるので、図5に示したクライアントOSテーブル400を参照すると、クライアント30にブートさせるOS種類は、「OS2」402aとなる。
次に、クライアント連絡部100は、OS種類を決定すると、図6に示したブートリクエスト500およびSb2で決定したOS種類を、OS構成情報作成手段200およびOS作成手段300に渡す。
そして、OS構成情報作成手段200では、クライアント連絡部100から図6に示したブートリクエスト500およびOS種類を受け取ると、OS構成情報作成部210が、ブートリクエスト500に含まれるCPU種類502とマシンタイプ503とを基に、図2に示す構成調査エージェントテーブル220からクライアント30のハードウェア構成を調査するためのエージェントプログラム223を抽出して、クライアント30のためのエージェントプログラムを決定する(Sb3)。
ここでは、図6に示したCPU種類502が「CpuType3」502aであり、図6に示したマシンタイプ503が「マシン3」503aなので、図2に示した対応するエージェントプログラム223の「Type3Check.exe」223aが抽出される。
その後、OS構成情報作成部210は、クライアント連絡部100およびネットワーク20を経由し、決定したエージェントプログラム223をクライアント30に送信する(Sb4)。ここでは、エージェントプログラム223として、図2に示した「Type3Check.exe」223aを送信する。
クライアント30は、エージェントプログラム223を受信すると(Sa3)、受信したエージェントプログラム223を実行し(Sa4)、図7に示したハードウェア構成の調査結果600をネットワークブートシステム10のクライアント連絡部100に送信する(Sa5)。ここでは、図7に示したとおり、クライアント30には、「XP0001」601aと、「XP0002」601bとのデバイスID601を持つデバイスが存在する調査結果となっている。
一方、ネットワークブートシステム10では、OS作成手段300が、クライアント連絡部100からブートリクエスト500とOS種類とを渡され、クライアント30から図7に示したハードウェア構成の調査結果600を受信すると(Sb5)、図3に示した共通モジュールテーブル330のOS種類331の中で、クライアント連絡部100から渡されたOS種類402と一致する全てのデータを抽出し、その中から図3に示したOSバイナリ335を抽出する(Sb6)。
ここでは、「OS2」402aをキーとして、対応する「OS2」のOS種類331を含むレコードを検索し、「OS2Kernel」のモジュール名332と「6.0.0.1025」のバージョン333と「\OS2System」の位置334を抽出し、その「\OS2System」からOSバイナリ335に対応するバイナリデータである「21gaff9a・・・・」335aを抽出する。同様に、「c97a6f29・・・・」335bも抽出する。
次に、OS作成手段300は、OSバイナリ335に対応するバイナリデータである「21gaff9a・・・・」335aをコンパイル部320に送る。そして、コンパイル部320は、図6に示したブートリクエスト500に含まれるCPU種類502に従い、受け取ったバイナリデータをそのCPU向けの実行ファイルにコンパイルする(Sb7)。ここでは、CPU種類が「CpuType3」502aであるので、コンパイル部320は、バイナリデータである「21gaff9a・・・・」335aおよび「c97a6f29・・・・」335bを、クライアント30の図示しないCPUの実行形式にコンパイルする。コンパイル部320は、コンパイルが全て終わったら、コンパイル済みのバイナリをOS作成部310に渡す。
次に、OS作成部310は、コンパイル部320から渡されたコンパイル済みバイナリを、共通モジュールテーブル330の図3に示したモジュール名332とバージョン333と位置334とに従い、ネットワーク20に接続されたOS格納ディスク40上に配置する(Sb8)。ここでは、「21gaff9a・・・・」335aがコンパイルされたバイナリは、OS格納ディスク40の位置「¥」ルートに、ファイル名「OS2System」、バージョン「6.0」として配置される。「c97a6f29・・・・」335bも同様にして配置される。
このようにして、OS作成部310は、Sb5で受信したハードウェア構成の調査結果600に含まれるデバイスID601全てについて、次の条件1〜3の全てを満たすモジュールをハードウェア依存モジュールテーブル340から抽出し、図3に示したドライバ名344とバージョン345と位置346との情報に従い、OS格納ディスク40上に配置する。
条件1は、図4に示すハードウェア依存モジュールテーブル340のデバイスID341が一致するという条件である。
条件2は、図6に示したブートリクエスト500のCPU種類502と図4に示したハードウェア依存モジュールテーブル340のCPU種類342とが一致するという条件である。
条件3は、クライアント30がブートする図5に示したOS種類402と図4に示したハードウェア依存モジュールテーブル340のOS種類343とが一致するという条件である。
ここでは、図6に示したCPU種類502が「CpuType3」502aであり、クライアント30がブートする図5に示したOS種類402が「OS2」402aであるので、図7に示したハードウェア構成の調査結果600に含まれるデバイスID601の「XP0001」601a用のドライバとして、ドライババイナリである図4に示した「21gaff9a・・・・」347aが、ドライバ名344を「OS2driver1.sys」、バージョン345を「2.1」として、OS格納ディスク40の位置「¥」ルートに配置される。
また、図7に示したデバイスID601の「XP0002」601b用のドライバとしては、ドライババイナリである図4に示した「21gaff9a・・・・」347bが、ドライバ名344を
「OS2driver2.sys」、バージョン345を「2.1」として、OS格納ディスク40の位置「¥」ルートに配置される。
そして、OS作成部310は、全てのOSのモジュールおよびドライバのモジュールをOS格納ディスク40上に配置した後、クライアント連絡部100にOSが完成した旨を通知する。クライアント連絡部100は、OSが完成した旨の通知を受けると、クライアント30に対し、OS格納ディスク40上に作成されたOSをブートする指令であるブート指示を送信する(Sb9)。なお、ブート指示には、OS格納ディスク40上に格納された各モジュールの格納先(アドレス)が含まれている。
その後、クライアント30は、ネットワークブートシステム10からのブート指示を受信し(Sa6)、OS格納ディスク40上に格納された各モジュールを用いてブートする(Sa7)。これにより、ネットワークブートシステム10は、クライアント30にOSをブートさせることができる。
また、OS格納ディスク40では、クライアント30によるブートが終了すると、そのモジュールが削除される。この削除は、クライアント30から電源をオフにする旨の通知を受けたとき、あるいは、OS格納ディスク40の記憶容量に余裕がないときに行えばよい。
以上のように、クライアント30のブートのたびに、クライアント30のハードウェア構成に従ったモジュールを抽出して構成することによって、OSを格納する記憶容量を少なくすることができる。
なお、前記実施形態の説明では、ネットワークブートシステム10からクライアント30にエージェントプログラム223を送って実行させるものとして説明したが、あらかじめクライアント30にBIOSに組み込むようにしてもよい。また、ネットワーク20を介さずに、CD−ROM(Compact Disk Read Only Memory)からブートのたびにエージェントプログラム223を読み出すようにしてもよい。さらに、ネットワークブートシステム10は、OS格納ディスク40を介さず、直接クライアント30に作成したモジュールを送信してもよい。
実施形態のネットワークブートシステムを含むクライアントサーバシステムの全体構成図である。 構成調査エージェントテーブルの構成例を示す図である。 共通モジュールテーブルの構成例を示す図である。 ハードウェア依存モジュールテーブルの構成例を示す図である。 クライアントOSテーブルの構成例を示す図である。 ブートリクエストの構成例を示す図である。 ハードウェア構成調査結果の構成例を示す図である。 実施形態のネットワークブート処理を示すフローチャートである。
符号の説明
10…ネットワークブートシステム、20…ネットワーク、30…クライアント、40…OS格納ディスク、100…クライアント連絡部(通信手段)、200…OS構成情報作成手段、210…OS構成情報作成部、220…構成調査エージェントテーブル、300…OS作成手段、310…OS作成部、320…コンパイル部、330…共通モジュールテーブル(モジュール記憶手段)、340…ハードウェア依存モジュールテーブル(モジュール記憶手段)

Claims (9)

  1. ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムのネットワークブート方法であって、
    複数のオペレーティングシステムをそれぞれ複数の単体のモジュールに分けて記憶するモジュール記憶手段からブート先の前記コンピュータのハードウェア構成に対応する前記各モジュールを読み出すステップと、
    読み出した前記各モジュールを組み合わせて前記コンピュータごとの前記オペレーティングシステムを作成するステップと、
    作成した前記オペレーティングシステムを前記コンピュータに前記ネットワークを経由して送ってブートさせるステップとを
    実行することを特徴とするネットワークブート方法。
  2. 請求項1に記載のネットワークブート方法において、
    前記単体のモジュールを、ハードウェアに依存する依存モジュールとハードウェアに依存しない共通モジュールとに分けて前記モジュール記憶手段に記憶しておき、
    前記読み出すステップでは、前記コンピュータのハードウェア構成に対応する前記依存モジュールを前記モジュール記憶手段から読み出すと共に前記共通モジュールを前記モジュール記憶手段から読み出し、
    前記作成するステップでは、読み出した前記共通モジュールと前記依存モジュールとを組み合わせて、前記コンピュータに応じた前記オペレーティングシステムを作成する
    ことを特徴とするネットワークブート方法。
  3. 請求項2に記載のネットワークブート方法において、
    前記モジュール記憶手段に記憶された依存モジュールをコンパイルしてブート先のコンピュータで実行可能な形式に変換するステップを
    さらに実行することを特徴とするネットワークブート方法。
  4. 請求項1から請求項3までのいずれか1項に記載のネットワークブート方法において、
    前記モジュール記憶手段から前記各モジュールを読み出してオペレーティングシステムを作成するためにキーとして用いるハードウェア構成情報を、ハードウェア構成を調査するためのエージェントプログラムを実行したブート先の前記コンピュータから取得するステップを
    さらに実行することを特徴とするネットワークブート方法。
  5. ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムであって、
    複数のオペレーティングシステムを複数の単体のモジュールに分けて記憶するモジュール記憶手段と、
    前記コンピュータとの間で前記ネットワークを経由して通信する通信手段と、
    この通信手段により前記コンピュータからのブートリクエストを受け取り、このブートリクエストに基づいて前記モジュール記憶手段からブート先の前記コンピュータのハードウェア構成に対応する前記各モジュールを読み出し、読み出した各モジュールを組み合わせて前記コンピュータごとの前記オペレーティングシステムを作成し、作成したオペレーティングシステムを前記コンピュータに送ってブートさせるOS作成手段とを
    備えたことを特徴とするネットワークブートシステム。
  6. 請求項5に記載のネットワークブートシステムにおいて、
    前記モジュール記憶手段は、前記単体のモジュールを、ハードウェアに依存する依存モジュールとハードウェアに依存しない共通モジュールとに分けて記憶し、
    前記OS作成手段は、前記コンピュータのハードウェア構成に対応する前記依存モジュールを前記モジュール記憶手段から読み出すと共に前記共通モジュールを前記モジュール記憶手段から読み出し、読み出した前記共通モジュールと前記依存モジュールとを組み合わせて、前記コンピュータに応じた前記オペレーティングシステムを作成すること
    を特徴とするネットワークブートシステム。
  7. 請求項6に記載のネットワークブートシステムにおいて、
    前記OS作成手段は、前記モジュール記憶手段に記憶された前記依存モジュールをコンパイルして前記コンピュータで実行可能な形式に変換すること
    を特徴とするネットワークブートシステム。
  8. 請求項5から請求項7までのいずれか1項に記載のネットワークブートシステムにおいて、
    前記OS作成手段は、
    前記モジュール記憶手段から前記各モジュールを読み出してオペレーティングシステムを作成するためにキーとして用いるハードウェア構成情報を、ハードウェア構成を調査するためのエージェントプログラムを実行したブート先の前記コンピュータから取得する
    ことを特徴とするネットワークブートシステム。
  9. 請求項1から請求項4のいずれか1項に記載のネットワークブート方法の前記各ステップをネットワークブートシステムに実行させることを特徴とするネットワークブートプログラム。
JP2004314981A 2004-10-29 2004-10-29 ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム Expired - Fee Related JP4950418B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004314981A JP4950418B2 (ja) 2004-10-29 2004-10-29 ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314981A JP4950418B2 (ja) 2004-10-29 2004-10-29 ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011037842A Division JP2011129152A (ja) 2011-02-24 2011-02-24 ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム

Publications (2)

Publication Number Publication Date
JP2006127169A true JP2006127169A (ja) 2006-05-18
JP4950418B2 JP4950418B2 (ja) 2012-06-13

Family

ID=36721871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314981A Expired - Fee Related JP4950418B2 (ja) 2004-10-29 2004-10-29 ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム

Country Status (1)

Country Link
JP (1) JP4950418B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266205A (ja) * 2008-02-22 2009-11-12 Huawei Technologies Co Ltd マルチ制御装置システムを修復する方法と装置
JP2016071512A (ja) * 2014-09-29 2016-05-09 三菱電機ビルテクノサービス株式会社 ソフトウェアインストールシステム、インストール装置、端末装置およびソフトウェアインストール方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341934A (ja) * 1986-08-08 1988-02-23 Hitachi Ltd 情報処理装置
JPH06332716A (ja) * 1993-05-26 1994-12-02 Hitachi Ltd リモートブートシステム
JP2003173261A (ja) * 2001-12-06 2003-06-20 Fuji Photo Film Co Ltd アプリケーション配信システム、アプリケーション配信方法およびアプリケーション配信プログラム
JP2004295270A (ja) * 2003-02-03 2004-10-21 Hitachi Ltd 共用記憶システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341934A (ja) * 1986-08-08 1988-02-23 Hitachi Ltd 情報処理装置
JPH06332716A (ja) * 1993-05-26 1994-12-02 Hitachi Ltd リモートブートシステム
JP2003173261A (ja) * 2001-12-06 2003-06-20 Fuji Photo Film Co Ltd アプリケーション配信システム、アプリケーション配信方法およびアプリケーション配信プログラム
JP2004295270A (ja) * 2003-02-03 2004-10-21 Hitachi Ltd 共用記憶システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266205A (ja) * 2008-02-22 2009-11-12 Huawei Technologies Co Ltd マルチ制御装置システムを修復する方法と装置
JP2016071512A (ja) * 2014-09-29 2016-05-09 三菱電機ビルテクノサービス株式会社 ソフトウェアインストールシステム、インストール装置、端末装置およびソフトウェアインストール方法

Also Published As

Publication number Publication date
JP4950418B2 (ja) 2012-06-13

Similar Documents

Publication Publication Date Title
JP4412674B2 (ja) モデル駆動型開発を支援する装置及び方法
CN1809813B (zh) 利用渴望压缩、故障保险提取和重新启动时压缩扫描来存储固件变量的方法
CN101650660B (zh) 从中央存储装置引导计算机系统
CN101151608A (zh) 开发人员容易地找出或扩展系统上周知位置的能力
KR20070049166A (ko) 목표 기기 상에서의 종속 소프트웨어 패키지의 검출 및이용을 자동화하기 위한 방법 및 소프트웨어 리포지터리를생성하기 위한 시스템
US8826307B2 (en) Extensible private driver interface
CN104160397A (zh) 位置独立文件
US8196093B2 (en) Apparatus and method for componentizing legacy system
JP4759941B2 (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
WO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
JP4950418B2 (ja) ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム
JP5010068B2 (ja) デバイス環境設定システム、デバイス環境設定処理方法及び情報記録媒体
JP2011129152A (ja) ネットワークブート方法、ネットワークブートシステムおよびネットワークブートプログラム
US20130097207A1 (en) Information processing device, information processing method and computer program
JP7381290B2 (ja) 計算機システム及びデータの管理方法
KR20080027293A (ko) 데이터 언어에서 다수 언어들의 관리
US9424054B2 (en) Driver file conversion system
JP2011090596A (ja) プログラムインストール方法並びにこの方法を実施するための可搬型記録媒体、情報処理装置、画像形成システム及びサーバ装置
JP5018123B2 (ja) ソフトウェア機能管理装置、複数ソフトウェアシステム、ソフトウェア機能管理方法及びプログラム
JP2003076621A (ja) 情報家電サーバ装置、情報家電端末環境情報管理方法及び情報家電端末環境情報管理プログラム
JP6546832B2 (ja) 動作環境再構築プログラム、動作環境再構築システム、動作環境再構築方法
EP4083807B1 (en) Information processing system, information processing methods, and information processing device
JP5450549B2 (ja) 情報処理システム、情報処理システムの制御方法、および、プログラム
KR100964969B1 (ko) 소프트웨어 및 파일 포맷의 관계 정보를 제공하는 소프트웨어 포탈 시스템 및 그의 동작 방법
JP6011075B2 (ja) インストール情報生成方法、インストール情報生成プログラム及びインストール情報生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101013

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110225

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110322

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110415

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

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees