説明

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

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

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

【特許請求の範囲】
【請求項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項に記載のネットワークブート方法の前記各ステップをネットワークブートシステムに実行させることを特徴とするネットワークブートプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−127169(P2006−127169A)
【公開日】平成18年5月18日(2006.5.18)
【国際特許分類】
【出願番号】特願2004−314981(P2004−314981)
【出願日】平成16年10月29日(2004.10.29)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】