JP2013143072A - 起動装置及びネットワークシステム - Google Patents

起動装置及びネットワークシステム Download PDF

Info

Publication number
JP2013143072A
JP2013143072A JP2012003799A JP2012003799A JP2013143072A JP 2013143072 A JP2013143072 A JP 2013143072A JP 2012003799 A JP2012003799 A JP 2012003799A JP 2012003799 A JP2012003799 A JP 2012003799A JP 2013143072 A JP2013143072 A JP 2013143072A
Authority
JP
Japan
Prior art keywords
activation
image
central management
boot
management device
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
JP2012003799A
Other languages
English (en)
Other versions
JP5762986B2 (ja
Inventor
Tatsuya Maruyama
龍也 丸山
Tsutomu Yamada
山田  勉
Hiromichi Endo
浩通 遠藤
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 JP2012003799A priority Critical patent/JP5762986B2/ja
Publication of JP2013143072A publication Critical patent/JP2013143072A/ja
Application granted granted Critical
Publication of JP5762986B2 publication Critical patent/JP5762986B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】定期的な保守を容易にし、かつ、開発を容易とするネットワークシステムを提供する。
【解決手段】第1の起動イメージを有する中央管理装置と接続され、停止状態からの立ち上げを行うための起動装置において、起動装置は第2の起動イメージを保有しており、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立しているときは中央管理装置が有する第1の起動イメージを入手して起動し、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立してないときは、自己が保有している第2の起動イメージで起動することを特徴とする。
【選択図】図3

Description

本発明は、複数の計算機が結合されて稼動するときに停止状態から立ち上げるための起動装置及びネットワークシステムに係り、特に計算機における各種の更新を簡便、正確、迅速に行なうことに関する。
近年では、多くの計算機がネットワークに結合されて稼動するネットワークシステムに組み込まれている。係る構成は、一般の家庭用、事務用計算機ばかりでなく、産業用などにも広く採用されている。これらの計算機の中には、稼働率確保のために停止することが許されず、停止したとしても極力短時間での復旧が望まれる場合がある。
例えば産業システムにおける製造装置に使用される計算機およびネットワークシステムでは、その付加価値を高めるために稼働率を向上させることが求められている。稼働率を低下させる原因はさまざまであるが、その一つとして、計算機などに対する定期保守によるシステムの停止が挙げられる。
例えば、新機能を搭載したアプリケーションへの交換、セキュリティパッチの適用、オペレーティングシステム(以下、OSとする)のバージョンアップ等の理由により、製造装置は定期的に停止され、ソフトウェアの更新処理がなされる。産業システムにおける製造装置に使用される計算機は、専用計算機により構成される場合もあるが、多くの場合には汎用計算機を使用することが多いので、上記のようなソフトウェアの更新処理が避けられない状態にある。
このことはシステム全体から見れば、製造装置を停止し、ソフトウェアの更新を実施し、システムを再起動する間、その製造装置は付加価値を生み出すことができず、デッドタイムとみなされる。特に、対象とする製造装置が複雑化、大規模化すれば、それだけ定期保守を実施する計算機台数が増加し、システムの稼働率は低下する。
これらの課題に関して特許文献1では、半導体製造装置を例に、サーバ上に予めバージョンアップ時の新規パラメータ等を登録しておき、バージョンアップ後にサーバから、対象の半導体製造装置(露光装置等)にパラメータを転送、設定することで、更新処理を容易にする発明が開示されている。
また、定期保守を容易にする対策方法としてネットワークブート方式が挙げられる。ネットワークブート方式では、計算機はネットワーク経由でOSやファイルシステム、アプリケーションといった起動時に必要なファイル(以下、起動イメージとする)を取得して起動する。
一般的に、ネットワークブート方式を実現するためにはPXE(プレブート実行環境:Preboot eXecution Environment)規格に準拠したサーバと、PXE規格に対応したNIC(ネットワークカード:Network Interface Card)の両方が必要である。
PXE規格対応サーバ(以下、ブートサーバとする)は、PXEクライアントにIPアドレスを割り当てるためのDHCP(動的ホスト構成プロトコル:Dynamic Host Configuration Protocol)サーバとPXEクライアントに起動イメージを転送するためのTFTP(Trivial File Transfer Protocol)サーバを稼働させる必要がある。
PXEクライアントは、はじめにブートサーバにアクセスし、DHCPによってIPアドレスを取得する。次に、PXEクライアントはブートサーバにアクセスし、TFTPによって起動イメージを取得する。起動イメージの取得後、制御を起動イメージに制御を移し、起動する。
ネットワークブートの利点は、特に、複数のクライアントを管理する場合に現れる。すなわち、起動イメージをPXEサーバ単体で管理できるため、クライアントごとにセキュリティパッチの適用、オペレーティングシステム(以下、OSとする)のバージョンアップ等をする必要がないことである。
この効果により、管理コストを大幅に低減することができる。
特開2000−188252号公報
しかしながら、ネットワークブート方式の導入は管理を集中して、定期保守を迅速に、かつ、容易にすることで稼働率を向上させる一方、開発時にかえって開発工数が増加するという課題がある。
特許文献1に示す方法は、開発完了時に、サブシステムのパラメータを中央管理装置に登録しなければならない。対象とする制御装置が大規模で、個別のサブシステムごとにパラメータが異なる場合は、サブシステムの数だけ中央管理装置にパラメータを登録しなければならない。これは例えば、サブシステム個々の開発物(アプリケーション、デバイスドライバ等)をサブシステムの数だけ、中央管理装置に登録しなければならないことを意味する。
また、ネットワークブート方式の課題は、サブシステムの開発時に中央管理装置(ブートサーバ)を必要とすることである。これにより、サブシステムの開発者、あるいは開発チームは中央管理装置の操作方法に精通していなければならず、要求する技術水準が高まる。場合によっては、中央管理装置の開発者を必要とする。
また、中央管理装置とは異なる別々の開発者、開発チームがサブシステムを開発する場合、個別に中央管理装置が必要となる。多数のサブシステムの開発が並行する場合は、中央管理装置をサブシステムの数だけ必要とする。中央管理装置の数が不足する場合は、複数のサブシステムを並行して開発することができず、開発工程が遅延する。
以上のことから本発明においては、定期的な保守を容易にし、かつ、開発を容易とする起動装置及びネットワークシステムを提供することを目的とする。
本発明は、上記課題を解決するために、第1の起動イメージを有する中央管理装置と接続され、停止状態からの立ち上げを行うための起動装置において、起動装置は第2の起動イメージを保有しており、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立しているときは中央管理装置が有する第1の起動イメージを入手して起動し、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立してないときは、自己が保有している第2の起動イメージで起動することを特徴とする。
また、起動装置と中央管理装置との間が、第1のネットワークで接続され、通信することを特徴とする。
また、起動装置は、第2のネットワークを介して制御対象に接続され通信することを特徴とする。
また、起動装置は、第2のネットワークを介して制御対象に接続され通信するとともに、中央管理装置内に仮想的に構成されていることを特徴とする。
本発明は、上記課題を解決するために、第1の起動イメージを有する中央管理装置と接続されて通信を行い、停止状態からの立ち上げを行うための起動装置において、起動装置は、第2の起動イメージと、中央管理装置から第1の起動イメージを取得して起動するブートプログラムと、中央管理装置との通信が確立しているかどうかを検出する上位接続検知部とを備え、停止状態からの立ち上げ時に上位接続検知部の検知結果をもとに、第2の起動イメージによる起動、またはブートプログラムにより入手した第1の起動イメージによる起動のうち、いずれかを実行することを特徴とする。
また起動装置は、中央管理装置へ第1の起動イメージを送信するアップロードプログラムを備え、停止状態からの立ち上げ時に上位接続検知部の検知結果をもとに、第2の起動イメージによる起動、ブートプログラムにより入手した第1の起動イメージによる起動、アップロードプログラムにより第2の起動イメージを中央管理装置へ送信する処理のうち、少なくとも一つを実行することを特徴とする。
また中央管理装置との通信が確立していない場合は、第2の起動イメージによって起動し、中央管理装置との通信が確立している場合は、中央管理装置の有する第1の起動イメージを取得して起動し、中央管理装置との通信が確立していない場合の起動動作時の次の起動時に、中央管理装置との通信が確立している場合は、第2の起動イメージを中央管理装置へ送信することを特徴とする。
また中央管理装置から中央管理装置の有する第1の起動イメージを取得して起動することに失敗した場合に、起動装置の第2の起動イメージを用いて起動することを特徴とする。
また起動装置は、第2の起動イメージが更新されたかどうかを判定する起動イメージ更新検知部を備え、起動イメージ更新検知部の検知結果をもとに、アップロードプログラムにより第2の起動イメージ中央管理装置へ送信する処理を実行することを特徴とする。
また起動イメージ更新検知部は、ファイルの属性に基づいて、第2の起動イメージが更新されたかを判定することを特徴とする。
また起動イメージ更新検知部は、所定命令が実行されたかどうかに基づいて、第2の起動イメージが更新されたかを判定することを特徴とする。
また起動装置は、第2の起動イメージのバージョンと、中央管理装置の第1の起動イメージのバージョンの新旧を比較する起動イメージバージョン比較部を備え、起動イメージバージョン比較部の検知結果をもとに、第2の起動イメージによる起動、ブートプログラムにより中央管理装置から入手した第1の起動イメージによる起動のうち、いずれかを実行することを特徴とする。
また起動装置は、起動イメージバージョン比較部の検知結果をもとに、第2の起動イメージによる起動、ブートプログラムにより中央管理装置から入手した第1の起動イメージによる起動、アップロードプログラムにより第2の起動イメージを中央管理装置へ送信する処理のうち、少なくとも一つを実行することを特徴とする。
また起動装置と中央管理装置との間が第1のネットワークで接続され、通信することを特徴とする。
また起動装置は、第2のネットワークを介して制御対象に接続され通信することを特徴とする。
また起動装置は、第2のネットワークを介して制御対象に接続され通信するとともに、中央管理装置内に仮想的に構成されていることを特徴とする。
本発明は、上記課題を解決するために、第1の起動イメージを有する中央管理装置と停止状態からの立ち上げを行うための起動装置が接続され、起動装置は第2のネットワークを介して制御対象に接続され通信するネットワークシステムにおいて、起動装置は第2の起動イメージを保有しており、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立しているときは中央管理装置が有する第1の起動イメージを入手して起動し、停止状態からの立ち上げを行う時に中央管理装置との間で通信が確立してないときは、自己が保有している第2の起動イメージで起動することを特徴とする。
また起動装置と中央管理装置との間が、第1のネットワークで接続され、通信することを特徴とする。
また起動装置は、中央管理装置内に仮想的に構成されていることを特徴とする。
定期的な保守を容易にし、かつ、開発を容易とする情報処理装置を提供することができる。
本発明を適用した起動装置を用いて構成するシステム例を示す図。 本発明を適用した起動装置のハードウェア構成の一実施形態を示す図。 本発明を適用した起動装置の起動処理プログラムの構成を示す図。 図3の起動プログラム130を示した図。 起動プログラムのうち、初期状態プログラムを示した図。 起動プログラムのうち、初期状態プログラムの代案例を示した図。 起動プログラムのうち、開発状態プログラムを示した図。 起動プログラムのうち、開発状態プログラムの代案例を示した図。 起動プログラムのうち、開発状態プログラムの他の代案例を示した図。 起動プログラムのうち、開発状態プログラムの他の代案例を示した図。 起動プログラムのうち、開発完了状態プログラムを示した図。 起動プログラムのうち、開発完了状態プログラムの代案例を示した図。 起動プログラムのうち、稼動状態プログラムを示した図。 起動プログラムのうち、稼動状態プログラムの代案例を示した図。 起動プログラムのうち、稼動状態プログラムの他の代案例を示した図。 起動プログラムのうち、稼動状態プログラムの他の代案例を示した図。 ネットワークブートプログラムを示した図。 ネットワークブートプログラムの代案例を示した図。 ネットワークアップロードプログラムを示す図。 状態記憶部の管理する状態遷移を示す図。 実施例2における起動装置の起動処理プログラム構成を示す図。 実施例2における起動プログラムを示した図。 実施例2における起動プログラムの代案例を示した図。 起動イメージ更新検知部の結果を、開発状態プログラムに反映させた図。 起動イメージ更新検知部における起動イメージ更新判定方法を示した図。 実施例3における起動装置の起動処理プログラム構成を示す図。 実施例3における起動プログラムを示した図。 バージョン番号を連番で設定する方法を示す図。 実施例3におけるシステム構成例を示す図。 実施例3のときの中央管理装置のハードウェア構成を示す図。 中央管理装置のCPU上で動作するソフトウェア構成を示す図。 中央管理装置のCPU上で動作する他のソフトウェア構成を示す図。 経路制御部を備えた起動装置のハードウェア構成を示す図。 上位、下位接続通信部を直接接続するカットスルーモードを示す図。 上位、下位接続通信部がバス接続する通常モードを示す図。 経路制御部を備えた起動装置で構成するシステム例を示す図。 複数の起動装置で構成するシステム例を示す図。
以下、本発明の実施形態にかかるネットワークシステムについて図面を用いて説明する。
図1は、本発明を適用した起動装置121を用いて構成するシステム例である。この図において、中央管理装置120は、ネットワーク122を介して起動装置121と接続し、通信する。中央管理装置120と起動装置121の通信内容としては、中央管理装置120から起動装置121に対する動作指示や各種の設定が例示され、また、起動装置121の動作結果や状態を中央管理装置120が取得することが例示される。
計算機で構成された起動装置121は、計算機で構成された中央管理装置120の動作指示をもとに、ネットワーク123を通じて制御対象124を制御する。制御対象124として、各種のセンサや、各種のアクチュエータが例示される。図1では、一つの中央管理装置120と複数の起動装置121が接続している。またネットワークは、上位ネットワーク122と下位ネットワーク123を有する例を示している。
上位のネットワーク122として、図1ではIEEE802.3を想定する。なお、図1中にはネットワークスイッチを図示しているが、ネットワーク122によってトポロジやネットワークの構成要素は異なる。
下位の制御用ネットワーク123として、図1ではIEEE802.3を想定する。制御対象124を制御することから、制御用ネットワーク123は、各種制御用通信、IEC61158で定義される産業用Ethernet(登録商標)の適用が望ましい。なお、複数の起動装置121に接続する制御用ネットワーク123は、同じ番号を割り当てているが、異なる通信規格であってもよい。
図2は、本発明を適用した起動装置121のハードウェア構成の一実施形態である。CPU101は、不揮発性記憶媒体109からプログラムをメモリ108に転送して実行する。実行処理プログラムとしては、オペレーティングシステム(以下、OSと称す)やOS上で動作するアプリケーションプログラムが例示される。
上位接続通信部102は、CPU101上で動作するプログラムから通信要求を受け取り、ネットワーク122と通信する。上位接続通信部102の実装例としては、FPGA(Field−Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、IEEE802.3のMAC(Media Access Control)層の処理IC、PHY(Physical)層の処理IC、MAC、PHYの一体型ICが例示される。なお、通信機能の一部がCPU101に含まれていてもよい。
下位接続通信部103は、制御用ネットワーク123との通信機能を実装した送受信機ICである。下位接続通信部103の実装例としては、FPGA、CPLD、ASIC、ゲートアレイ、IEEE802.3のMAC層の処理IC、PHY層の処理IC、MAC、PHYの一体型ICが例示される。なお、通信機能の一部がCPU101に含まれていてもよい。
なお、接続するネットワークが、ネットワーク122か制御用ネットワーク123かの違いによって、上位接続通信部102と下位接続通信部103を区別しているが、これは便宜上の呼称であって、同一の通信規格であってもよい。
メモリ108は、CPU101が動作するための一時的な記憶領域であり、不揮発性記憶媒体109から転送したOS、アプリケーションプログラム等が格納される。
不揮発性記憶媒体109は、情報の記憶媒体で、OS、アプリケーション、デバイスドライバ等の起動イメージや、CPU101を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。不揮発性記憶媒体109として、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、フラッシュメモリが例示される。また、取り外しが容易な外部記憶媒体として、フロッピーディスク(登録商標:FD)、CD、DVD、ブルーレイ(登録商標)、USBメモリ、コンパクトフラッシュ(登録商標)等の利用が例示される。
バス110は、CPU101、メモリ108、不揮発性記憶媒体109、上位接続通信部102、下位接続通信部103をそれぞれ接続する。バス110としては、PCIバス、ISAバス、PCI Expressバス、システムバス、メモリバス等が例示される。
本発明を適用した起動装置121の起動処理に関連するプログラムの構成を図3に示す。各プログラムの詳細な処理内容は後述する。ここでははじめに各処理の概要を示すに留める。
起動プログラム130は、起動装置121の起動時(電源オン時、あるいはCPU101のハードリセット時等)に、最初に起動するプログラムである。起動プログラム130の実体は、CPU101のハードウェアリセット時のアドレスに配置されるIPL(Initial Program Loader)や汎用PC(Personal Computer)のBIOS(Basic Input/Output System)等が例示される。
ネットワークブートプログラム131は、ネットワークブート処理を実行する。ネットワークブートプログラム131は、IPL、BIOS等に含まれる場合もあれば、上位接続通信部102をネットワークカードNICとする構成では、NIC上の不揮発性記憶媒体に含む場合もある。
ネットワークアップロードプログラム132は、起動イメージ134を所定のサーバにアップロードする。ネットワークアップロードプログラム132は、IPLやBIOSとして構成してもよいし、起動イメージ134に含まれるOSの起動処理として構成してもよい。例えば、Linux(登録商標)では、所定の起動処理を起動スクリプトとして設定、動作させることができる。
状態記憶部133は、起動プログラム130の状態遷移における現在の状態を記憶する。状態記憶部133は、電源を切った場合でも、記憶内容を保持しておく必要がある。そのため、他の起動処理に関連するプログラムと同様に不揮発性記憶媒体上に構成する必要がある。従って、図2の不揮発性記憶媒体109を用いてもよいし、EEPROM(Electrically Erasable Programmable Read−Only Memory)等のデバイスを用いてもよい。
起動イメージ134は、OSやアプリケーションプログラムなど、起動処理完了後に定常的に動作するソフトウェアプログラムである。
上位接続通信検知部135は、起動装置121が上位ネットワーク122と通信が確立しているかを検知する。検知方法は、IEEE802.3で規定されるMDI(Management Data Interface)におけるPHY ICの状態レジスタのリンクステータスを用いる方法や、PHY ICで一般的に用いられるLED点灯用の出力信号を用いる方法が例示される。
次に、起動処理に関する各プログラムの動作について説明する。起動プログラム130を図4に示す。
前述のとおり、起動プログラム130は、起動装置121の電源を入れた後、最初に起動するプログラムである。はじめに図3の状態記憶部133に保持している状態を取得する(処理ステップS001)。次に、取得した状態に応じて、動作を変える(処理ステップS002)。次に初期状態の動作(処理ステップS003)、開発状態の動作(処理ステップS004)、開発完了状態の動作(処理ステップS005)、稼働状態の動作(処理ステップS006)について実行する。これらの詳細は後述する。各動作を実行後、メモリ108に展開されたOS等の起動イメージの起動アドレスから動作を開始し、OS等のプログラムを起動する(処理ステップS007)。
これらの処理によれば、まず状態記憶部133に保持している状態として、初期状態、開発状態、開発完了状態、稼働状態に区分して記憶されている。現在の状態がこのどこに当るかによって、次に実行すべき処理(処理ステップS003乃至S006)を決定して逐次実行する。なお、これらの個々の処理完了後には、状態記憶部133に保持している状態を他の段階に変更しておくことで、これらの処理を遂行し、状態の遷移を行う。
まず、起動プログラム(図3の130)のうち、初期状態の動作(図4の処理ステップS003)について以下詳細に説明する。この場合には、図5と図6のいずれかの手法を採用できる。
はじめに図5の手法について説明する。ここではまず、図3の上位接続通信検知部135による検知結果を取得する。処理ステップS010では、この検知結果を基にして、上位接続通信が確立しているかを判断する。
上位通信が確立している場合、処理ステップS011において図3のネットワークブートプログラム131に制御を移して、処理ステップS012ではネットワークブートプログラム131の終了を待機する。ネットワークブート処理の終了時点では、中央管理装置120が有する起動イメージが起動装置121に取り込まれ、起動装置121は起動している。従って、ネットワークブート処理の終了を確認して処理ステップS013では図3の状態記憶部133の状態を稼働状態とする。
処理ステップS010にて、上位接続通信が確立していないとされた場合、処理ステップS014では図3の起動イメージ134を図2のメモリ108の所定領域に展開し、CPU101での演算に供する。この場合起動装置121は、予め自己内部に保有する起動イメージを使用して起動処理を実行することになる。次に処理ステップS015では、図3の状態記憶部133の状態を起動処理の次段階である開発状態とする。
初期状態の動作(図4の処理ステップS003)の詳細処理の代案例を図6に示す。図5との違いは、点線で囲んだ部分である。処理ステップS012の後に、ネットワークブートプログラム131によるネットワーク経由の起動イメージのダウンロードが成功したかどうかを処理ステップS016で判定する。これが失敗した場合、処理ステップS017において起動イメージ134をメモリ108の所定領域に展開する。これによりこの起動装置121は、予め自己内部に保有する起動イメージを使用して起動処理を実行する。なお、処理ステップS017の後に、状態を稼働状態としているが、状態を設定せずにそのまま終了してもよい。この場合、状態記憶部133の状態は初期状態のままである。
次に、起動プログラム(図3の130)のうち、開発状態の動作(図4の処理ステップS004)について以下詳細に説明する。この場合には、図7、図8、図9、図10のいずれかの手法を採用できる。
まず、図7での処理について説明する。ここでははじめに、図3の上位接続通信検知部135による上位接続通信が確立しているかの検知結果を処理ステップS020で取得し、この結果を判断する。
上位通信が確立している場合、処理ステップS021では図3のネットワークアップロードプログラム132に制御を移し、処理ステップS022においてネットワークアップロードプログラム132の終了を待機する。これらの処理によって、図3のネットワークアップロードプログラム132が作動して、開発物である起動イメージ134を自動で中央管理装置120に転送することができる。この起動イメージは、起動装置121内で作成され、ここに保有されていたものである。
その後、ネットワークブートプログラム131に制御を移し(処理ステップS023)、処理ステップS024でネットワークブートプログラム131の終了を待機する。これにより起動装置121は、中央管理装置120から起動イメージを得る。このときの起動イメージは、先に送付した開発物である起動イメージ134であり、これにより起動装置121と中央管理装置120に保有する起動イメージの同期が図られる。その終了後に、図3の状態記憶部133の状態を開発完了状態に設定する(処理ステップS025)。
処理ステップS020において上位接続通信が確立していなければ、処理ステップS026において図3の起動イメージ134を図2のメモリ108の所定領域に展開する。この起動イメージは起動装置121内に保有されていたものである。
開発状態の動作(処理ステップS004)の詳細の別の例を図8に示す。図8における図7との違いは、点線で囲んだ部分である。処理ステップS022の後にネットワークアップロードプログラム132による起動イメージのアップロードが成功したかどうかを判定し(処理ステップS027)、アップロードが失敗した場合は、起動イメージ134をメモリ108の所定領域に展開する(処理ステップS026)。この起動イメージは起動装置121内に保有されていたものである。
開発状態の動作(処理ステップS004)の詳細の別の例を図9に示す。図9における図7との違いは、点線で囲んだ部分である。処理ステップS025の後にネットワークブートプログラム131によるネットワーク経由の起動イメージの取得が成功したかどうかを判定(処理ステップS028)する。これが失敗した場合は、起動イメージ134をメモリ108の所定領域に展開する(処理ステップS026)。この起動イメージは起動装置121内に保有されていたものである。
開発状態の動作(処理ステップS004)の詳細の別の例を図10に示す。図10は、図8、図9を組み合わせた動作となる。
次に、起動プログラム(図3の130)のうち、開発完了状態の動作(図4の処理ステップS005)について以下詳細に説明する。この場合には、図11と図12のいずれかの手法を採用できる。
まず、図11での処理について説明する。ここでははじめに、図3の上位接続通信検知部135による上位接続通信が確立しているかの検知結果を取得し、これを確認する(処理ステップS030)。
上位接続通信が確立している場合、図3のネットワークブートプログラム131に制御を移し(処理ステップS031)、ネットワークブートプログラム131の終了を待機する(処理ステップS032)。ネットワークブート処理の終了により、図3の状態記憶部133の状態を稼働状態に設定する(処理ステップS033)。
処理ステップS030にて、上位接続通信が確立していなければ、図3の起動イメージ134を図2のメモリ108の所定領域に展開する(処理ステップS034)。そして、図3の状態記憶部133の状態を開発状態に設定する(処理ステップS035)。
開発完了状態の動作(処理ステップS005)の詳細の別の例を図12に示す。図12における図11との違いは、点線で囲んだ部分である。処理ステップS033の後にネットワークブートプログラム131によるネットワーク経由の起動イメージのダウンロードが成功したかどうかを判定し(処理ステップS036)、これが失敗した場合は起動イメージ134をメモリの所定領域に展開する(処理ステップS037)。
次に、起動プログラム(図3の130)のうち、稼動状態の動作(図4の処理ステップS006)について以下詳細に説明する。この場合には、図13から図16のいずれかの手法を採用できる。
まず、図13での処理について説明する。ここでははじめに、図3の上位接続通信検知部135による上位接続通信が確立しているかの検知結果を取得し確認する(処理ステップS040)。上位接続通信が確立している場合、図3のネットワークブートプログラム131に制御を移す(処理ステップS041)。そして、ネットワークブートプログラム131の終了を待機する(処理ステップS042)。
処理ステップS040にて、上位接続通信が確立していなければ、図3の起動イメージ134を図2のメモリ108の所定領域に展開する(処理ステップS043)。そして、状態記憶部133の状態を稼働状態に設定する(処理ステップS044)。
稼働状態の動作(処理ステップS005)の詳細の別の例を図14に示す。図14における図13との違いは、点線で囲んだ部分である。処理ステップS042の後にネットワークブートプログラム131によるネットワーク経由の起動イメージの取得が成功したかどうかを判定し(処理ステップS045)、これが失敗した場合は起動イメージ134をメモリの所定領域に展開する(処理ステップS046)。
稼働状態の動作(処理ステップS005)の詳細の別の例を図15に示す。図15における図13との違いは、点線で囲んだ部分である。処理ステップS042の後に、ネットワークブートプログラム131によるネットワーク経由で取得した起動イメージで、起動イメージ134を上書きする(処理ステップS047)。
稼働状態の動作(処理ステップS005)の詳細の別の例を図16に示す。図16は、図14、図15を組み合わせた動作を示す。
図3の起動プログラムに関連する処理には、ネットワークブートプログラム131、またはネットワークアップロードプログラム132の処理の成功、失敗の判定処理を行う部分がある。これらは例えば、図5、6、7、8、9、10、11、12、14、16の手順中において必要となる。
この判定処理の具体的な処理手法事例としては、TFTPに従い、エラーコードを示すパケットを受信した場合に失敗と判定する方法や、所定期間応答がない場合等の通信が成立しなかった場合に失敗と判定する方法が挙げられる。一方で、TFTPに従い、所定サイズのデータ転送が完了して確認応答(ACK)コードを示すパケットを受信した場合に成功と判定する方法が挙げられる。
また図3の起動プログラムに関連する処理には、ネットワークアップデート、ネットワークブートの成功、失敗という判定結果を外部に通知する部分がある。これらは例えば、図5、6、7、8、9、10、11、12、14、16の手順中において必要となる。
この具体的な実現手段としては、LED、LCD、ディスプレイ、アラーム音等の手段を用いて外部に通知する方法が例示される。あるいは、状態記憶部133に判定結果を記憶し、起動後のソフトウェア上から判定結果を取得できるようにする構成や、予め設定したメールアドレスに電子メールで通知してもよい。
また、図3の起動プログラムに関連する処理には、失敗に対するリトライ処理を行う部分がある。これらは例えば、図5、6、7、8、9、10、11、12、14、16の手順中において必要となる。
この処理に関し、ネットワークブートプログラム131、あるいはネットワークアップロードプログラム132の処理結果が失敗と判定した場合に、再度、ネットワークブートプログラム131、ネットワークアップロードプログラム132に制御を移し、再試行してもよい。このとき、所定回数、試行が失敗だった場合に、従来の失敗と判定した後の処理を実行することが例示される。
また、図3の起動プログラムに関連する処理には、失敗した場合のプロンプトに関する部分がある。これらは例えば、図5、6、7、8、9、10、11、12、14、16の手順中において必要となる。
この処理に関し、ネットワークブートプログラム131、あるいはネットワークアップロードプログラム132の処理結果が失敗と判定した場合に、所定のタイムアウト期間をもうけ、その所定期間内に入力装置による入力があれば、その後の処理を継続し、入力がなければ、起動せずに終了してもよい。タイムアウト期間は固定値でもよいし、ソフトウェア上から設定可能としてもよい。この場合、起動プログラムは、CPLD、FPGA等のユーザ論理IC上に実装し、入力装置の入力を取得できる構成が例示される。入力装置として、起動装置121上にプッシュスイッチ、トグルスイッチ、DIP(Dual In−line Package)スイッチ等の各種スイッチを設けることやキーボードが例示される。
また、起動プログラムから他のプログラムへの制御の移し方についても考慮すべきである。このための具体的手法として、一般的なCPUに定義されているジャンプ命令やコール命令、リターン命令を用いる方法が例示される。
ジャンプ命令は所定アドレスに制御を移す命令であり、引数に起動処理に関連するプログラムの先頭アドレスを指定すればよい。コール命令は、指定の関数へ制御を移す命令である。コール先の関数のアドレスは、コンパイラ等によって解釈される。起動処理に関連するプログラムが終了した場合は、ジャンプ命令やリターン命令を使用し、起動プログラム130に戻る方法を例示する。ジャンプ命令の場合は、戻り先のアドレスを指定する。リターン命令は、コール命令実行時にスタックに設定されたアドレスに制御を移す。
以上が、図3の起動プログラム130の説明である。ここまで多様なプログラム処理について説明をしてきたが、ここでは、起動装置121の電源投入後の状態が如何なるものであれ、同じ対応を実施している。
つまり中央管理装置120と起動装置121の関係において、起動装置121の電源投入後に中央管理装置120との通信が確立しているのであれば起動装置121は中央管理装置120から起動イメージを入手して起動する。通信が確立していないのであれば起動装置121は自己が保有する起動イメージで起動する。
続いて、図3のネットワークブートプログラム131の動作について具体的に説明する。ネットワークブートプログラム131を図17に示している。
ここで、ネットワークブートプログラム131は、プレブート実行環境規格PXEにしたがってネットワークブートすることが一般的である。この場合はじめに、図3のネットワークブートプログラム131は、処理ステップS050においてIPアドレスを所定のサーバから取得する。この時、IPアドレスを取得するために、動的ホスト構成プロトコルDHCPを用いるのが一般的である。
そして処理ステップS051で、起動イメージを提供するブートサーバの情報を取得する。ここで取得するブートサーバの情報としては、ブートサーバの接続情報、起動イメージのファイル名等である。
処理ステップS052では、これらの情報をもとにネットワークブートプログラム131は、ブートサーバから起動イメージを取得する。起動イメージを取得する通信プロトコルとしてTFTPが例示される。
処理ステップS053では、起動イメージを取得した後、図2のメモリ108に展開する。
なお、IPアドレスを割り当てるサーバとブートサーバを別として説明しているが、同じサーバとして構成してもよい。図1の構成では、中央管理装置120は、DHCPサーバ、ブートサーバとして構成している。
なお、図17の実施に当り、更に以下のような変更、改変、代案を採用可能である。処理ステップS050において、起動装置121のIPアドレスを静的に決定している場合は、処理ステップS050の手順を省略してもよい。
処理ステップS051において、中央管理装置120のIPアドレス、起動イメージのファイル名等を静的に決定し、ブートサーバの情報を取得する必要がない場合は、処理ステップS051の手順を省略してもよい。
起動イメージの取得をメモリ108への展開を処理ステップS052、処理ステップS053と段階を分けて説明したが、所定ブロックサイズにわけて処理ステップS052、処理ステップS053を繰り返し実行してもよい。つまり、所定ブロックサイズをネットワークで経由した後に、メモリ108へと展開し、再度、所定ブロックサイズをネットワークで取得する。起動イメージ全体を取得するまで、これらの処理を繰り返し実行する。
図15、16に示す手順の処理ステップS047において、起動イメージ134を上記処理ステップS052で取得した起動イメージで上書きしているが、この処理も同様に、ブロックサイズ毎に起動イメージ134を上書きしてもよい。
次に、ネットワークブートプログラム131を用いて中央管理装置120から取得した起動イメージにより、起動装置内OSを起動する処理を図18に示す。図18には、図17の処理ステップS053の後に、処理ステップS054が追加されている。処理ステップS054では、メモリ108に展開されたOS等の起動イメージの起動アドレスから動作を開始し、OS等のプログラムを起動する。
図17、図18の処理の具体的な実行に際して、さらに以下の点を考慮し、或いは工夫するのがよい。
図17、図18の処理では、以後起動プログラム130に動作が戻らない。このため、起動プログラム130の動作において、ネットワークブートプログラム131の動作前に状態記憶部133の状態を更新する方法が例示される。
また、図6、9、10、12、14、16の処理において、ネットワークブートプログラム131の成功、失敗を判定するため、ネットワークブートプログラム131の処理結果を所定の位置に記憶する。処理結果の記憶先として、状態記憶部133でもよい。
記憶する結果は、ネットワークブートプログラム131の処理が成功したか失敗したかを示す真理値の他に、失敗した処理とその失敗要因も含めて記憶するのがよい。
失敗した処理の例としては、IPアドレスの取得処理、起動イメージの取得処理、起動イメージの所定ブロック処理等が挙げられる。失敗要因としては、タイムアウトを含む通信の失敗、通信プロトコルに依存した失敗要因、起動イメージが存在しない、起動イメージの容量が不適切(過剰に大きい、過剰に小さい等)、不正な起動イメージファイル名であるといった起動イメージの取得に関する要因や、メモリ108の容量不足といった原因が例示される。
また、起動プログラム130が必要とする情報は、成功か失敗かのみであるが、他の情報をもとに対応処理を変更することができる。例えば、失敗した処理が起動イメージの取得である場合は、再度ネットワークブートプログラム131を実行して、IPアドレスの取得処理を省略してもよい。
さらに、起動イメージによるOSの起動後に失敗要因を取得して、対策を取ることができる。例えば、起動イメージの容量が大きい場合は、メモリ108の容量を大きくする対策や、中央管理装置120の起動イメージを縮小する対策が例示される。
なお、これらの処理結果は、ソフトウェアから消去できるように構成してもよいし、起動プログラム130の実行時の最初(図4の処理ステップS001の前)に消去してもよい。
次に、図3のネットワークアップロードプログラム132を図19に示す。ここでははじめに、ネットワークブートプログラム131と同様にIPアドレスを取得する(処理ステップS060)。
次にブートサーバ(中央管理装置120)の情報を取得する(処理ステップS061)。ここでは、図17の処理ステップS052と同様にPXE仕様の枠組みで取得する方法が例示される。これはシステムの運用方法として、ブートサーバと中央管理装置120を同じとし、図17の処理ステップS052と同様に、プレブート実行環境規格PXE仕様の枠組みで取得することを前提とする。あるいは、中央管理装置120のIPアドレスを静的に決定し、利用する方法が例示される。
最後に、起動装置121自身が保有する起動イメージ134を中央管理装置120に送信する(処理ステップS062)。
なお、図8、10において、ネットワークアップロードプログラム132の成功、失敗を判定するため、ネットワークアップロードプログラム132の処理結果を所定の位置に記憶する。処理結果の記憶先として、状態記憶部133でもよい。
記憶する結果は、ネットワークアップロードプログラム132の処理が成功したか失敗したかを示す真理値の他に、失敗した処理とその失敗要因が例示される。
失敗した処理の例としては、IPアドレスの取得処理、起動イメージの取得処理、起動イメージの所定ブロック処理等が挙げられる。失敗要因としては、タイムアウトを含む通信の失敗、通信プロトコルに依存した失敗要因、起動イメージが存在しない、起動イメージの容量が不適切(過剰に大きい、過剰に小さい等)、不正な起動イメージファイル名であるといった起動イメージの取得に関する要因や、メモリ108の容量不足といった原因が例示される。
また、起動プログラム130が必要とする情報は、成功か失敗かのみであるが、他の情報をもとに対応処理を変更することができる。例えば、失敗した処理が起動イメージの取得である場合は、再度ネットワークアップロードプログラム132を実行して、IPアドレスの取得処理を省略してもよい。
さらに、起動イメージによるOSの起動後に失敗要因を取得して、対策を取ることができる。例えば、起動イメージの容量が大きい場合は、メモリ108の容量を大きくする対策や、中央管理装置120の起動イメージを縮小する対策が例示される。なお、これらの処理結果は、ソフトウェアから消去できるように構成してもよいし、起動プログラム130の実行時の最初(図4の処理ステップS001の前)に消去してもよい。
なお、図19において、中央管理装置120が複数の起動装置121と接続し、かつ、起動装置121毎に起動イメージを区別して管理する場合は、起動イメージの更新場所を起動装置121毎に管理する必要がある。具体的には、起動装置121のIPアドレス毎に起動イメージの更新場所を区別する。処理ステップS061において、プレブート実行環境規格PXE仕様に基づいて、ブートサーバ(中央管理装置120)の情報を提供する場合は、ファイル名を起動装置121ごとに変更する方法が例示される。このとき、起動装置121は、中央管理装置120から提示されたファイル名で起動イメージを中央管理装置120に送信する。
次に図3の状態記憶部133について説明する。状態記憶部133は、起動プログラム130の動作を制御する状態を記憶する。状態には、初期状態、開発状態、開発完了状態、稼働状態がある。
またこれらの状態は、状態遷移する。状態記憶部133の管理する状態遷移を図20に示す。
図20に示す状態遷移の動作は、図5、6、7、8、9、10、11、12、13、14、15、16で説明したとおりである。このため、遷移についての詳細説明を割愛するが、参考までに遷移を決定している処理ステップを記述している。なお、開発状態から開発完了状態に遷移する条件(処理ステップS025)において、「起動イメージの更新が成功」は、図8、10で説明した動作の場合に有効である。
なお状態の表現方式は、4ビットで、各ビットを状態に割り当て、排他的に1にする方式が例示される。例えば、ビット0を初期状態、ビット1を開発状態、ビット2を開発完了状態、ビット3を稼働状態と定義する。一例として、0010(2進数)は開発状態を表す。あるいは、所定の値を各状態に割り当てる方式が例示される。例えば、0を初期状態、1を開発状態、2を開発完了状態、3を稼働状態と定義する。
また状態記憶部133を不揮発性記憶媒体、あるいは外部記憶媒体で構成する場合に、図20の状態遷移による設定ではなく、ソフトウェア等から、明示的に所定の値を設定できるように構成してもよい。
以上詳細に説明した本発明により、ネットワークで接続された製造装置の保守、開発、稼働における課題への効果を説明する。効果の説明に当り、本発明を適用した起動装置を利用して、通常の稼働時では、図1に示す構成で運用するという前提で述べる。
この場合、起動装置121はネットワークブートによる起動が可能となる。そこで、アプリケーションの交換、セキュリティパッチの適用、オペレーティングシステムのバージョンアップ等の定期保守は、中央管理装置120内の起動イメージを更新するだけでよい。そのため、個別の起動装置121内の起動イメージを更新する必要がない。したがって、定期保守が容易になる利点がある。
一方で、起動装置121側で個別にサブシステムを開発する場合は、上位接続通信を検知しないことで開発状態となり、起動装置121内の起動イメージを利用し、起動装置121単独で起動する。したがって、中央管理装置120を必要としない。
また、開発完了時には、図1の構成となるため、起動装置121と中央管理装置120間の通信接続の確立を確認し、開発成果物であるアプリケーションやデバイスドライバを含む起動イメージが自動的に起動装置121から中央管理装置120に送信される。したがって、開発時の工数を低減することができ、開発コストを削減することができる。
これらの起動時の動作の切り替えを上位通信の接続に基づいて、起動プログラム130が自動で切り替えるため、本発明を容易に適用することができる。
次に、所定アドレス、所定命令による開発完了の判定を行う第2の実施例について説明する。ここでは、実施例1と比較して、上位接続ではなく、起動装置121の動作に基づいて開発完了を判定する構成である。実施例に使用する符号は、特に断りのない限り、実施例1で説明した機能や要素等と同一であることを意味する。
本発明を適用した起動装置121を用いて構成するシステム例は図1と同様である。また、起動装置121のハードウェア構成は図2と同様である。
本発明を適用した起動装置121の起動処理に関連するプログラム構成を図21に示す。図3と比較した場合に、新たに追加された起動イメージ更新検知部150は、起動イメージが更新されたかどうかを検知する。検知方法は後述する。
最初に、起動プログラム130を図22に示し、ここでの動作について説明する。
ここでは、はじめに起動イメージ更新検知部150による検知結果を取得する(処理ステップS070)。そして、起動イメージ134が更新されたかどうかを判定する(処理ステップS071)。
起動イメージ134が更新されている場合、ネットワークアップロードプログラム132に制御を移す(処理ステップS072)。そして、ネットワークアップロードプログラム132の終了を待機する(処理ステップS073)。これにより、起動装置121自身が保有する、更新された起動イメージ134を中央管理装置120に送信する。
その後、更新された起動イメージ134をメモリ108の所定領域に展開し(処理ステップS074)、メモリ108に展開されたOS等の起動イメージの起動アドレスから動作を開始し、OS等のプログラムを起動する(処理ステップS075)。
処理ステップS071において、起動イメージ134が更新されていなければ、ネットワークブートプログラム131に制御を移す(処理ステップS076)。そして、ネットワークブートプログラム131の終了を待機する(処理ステップS077)。その後は、処理ステップS075の手順を取る。これにより中央管理装置120からの起動イメージにより起動する。
起動プログラム130の別の例を図23に示す。図22の場合には、更新された起動イメージを起動装置121から中央管理装置120に送り、起動装置121自身は保有する起動イメージで起動した。図23では、更新された起動イメージを起動装置121から中央管理装置120に送り(処理ステップS072,S073)、起動装置121自身は、その後に中央管理装置120から送られた(処理ステップS076,S077)起動イメージで起動することにしている。そのうえで、図23の場合には、処理ステップS071の更新がされていないという条件のときにネットワークブートプログラム131に制御を移し、実行するようにしている。
なお、図22、図23は、上位接続通信検知部135を利用しない場合の動作である。上位接続通信検知部135と組み合わせて利用する場合、図20に示す状態遷移に基づいて起動プログラム130は動作する。このとき、起動イメージ更新検知部150の検知結果を、開発状態における動作に反映させる。
この場合の処理の一例を図24に示す。図24は、開発状態におけるプログラムを示す図7の処理を一部改変している。図24において、点線で示す処理ステップS080,S081が追加部分であり、これにより図7の処理に起動イメージ更新検知部150の検知結果を反映している。
具体的には、処理ステップS020の後に、起動イメージ更新検知部150の検知結果を取得する(処理ステップS080)。そして、起動イメージ134が更新されたかを判定する(処理ステップS081)。起動イメージ134が更新されていない場合は、処理ステップS021、処理ステップS022の処理を省略する。
このようにして、ネットワークアップロードプログラム132に制御を移す前に起動イメージ更新検知部150の検知結果を取得して、起動イメージ134が更新された場合にネットワークアップロードプログラム132に制御を移す。起動イメージ134が更新されていない場合は、起動イメージ134をアップロードする必要がないため、ネットワークアップロードプログラム132の処理を省略する。
次に、起動イメージ更新検知部150の検知方法について説明する。検知方法は、複数考えられ、起動時に起動イメージ更新検知部150が能動的に検知する方法や、OS起動後の稼働時に検知する方法、所定命令の実行の有無によって判定する方法が例示される。以下、具体的に説明する。
例えば、起動イメージ更新検知部150が、ファイルシステムの所定のファイルの情報をもとに起動イメージが更新されたかどうかを判定する方法を図25に例示する。
ここでは予め、判定対象のファイルは設定済みであるとする。判定対象のファイルの設定方法は、起動イメージ更新検知部150がソフトウェアによって設定可能であり、判定対象のファイルパス、あるいはファイルシステムに依存する識別情報によって指定する方法が例示される。
図25は、起動プログラム130から検知結果の取得要求があった際に起動するものとする。はじめに、記憶している更新日時情報が存在するかを判定する(処理ステップS090)。
記憶している更新日時情報が存在すれば、判定対象のファイルの更新日時情報を取得する(処理ステップS091)。そして、取得した更新日時情報が、記憶している更新日時情報より新しいかを判定する(処理ステップS092)。
取得した更新日時情報が、記憶している更新日時情報より新しければ、起動イメージ134は更新されたと判定する(処理ステップS093)。続いて、記憶している更新日時情報を、取得した更新日時情報に更新する(処理ステップS094)。処理ステップS090で、更新日時情報を記憶していない場合も、処理ステップS093、処理ステップS094の手順をとる。
処理ステップS092で、取得した更新日時情報が、記憶している更新日時情報より新しくない場合は、起動イメージ134は更新されていないと判定する(処理ステップS095)。
ここで使用する更新日時情報は、ファイルシステムに依存し、起動イメージが更新されているかどうかを判定可能な分解能が必要である。更新日時情報として、西暦、月、日、時間、分、秒の組み合わせが例示される。
なお、図25は、ファイルの更新日時情報をもとに起動イメージ134が更新されたかを判定したが、更新日時ではなく、ファイルサイズやファイル名等のファイルに関する属性をもとに判定してもよい。例えば、起動イメージ更新検知部150はファイルサイズを記憶しておき、図25の処理ステップS092に相当する処理では、取得したファイルサイズが、記憶しているファイルサイズと異なる場合に起動イメージ134が更新されと判定する方法が例示される。
また、図25は起動時に実行する方法であるが、OS起動後の定期実行処理として構成してもよい。ただし、この場合、図25の処理ステップS094の記憶情報は、起動処理時に更新する必要がある。そうしなければ、起動イメージ134が更新されたと判定された次回の定期処理で起動イメージ134に変化がない場合、起動イメージ134が更新されていないと誤判定する可能性があるためである。
この他に、明示的に起動イメージ134が更新されたことを起動イメージ更新検知部150に設定する専用のプログラムを開発し、利用する方法が例示される。起動イメージ更新検知部150の記憶部分を不揮発性記憶媒体109上に構成し、OS起動後に、専用プログラムを用いて、起動イメージ更新検知部150に、起動イメージ134が更新されたことを示す所定値を設定する。設定された値を消去するタイミングは、起動時に起動プログラム130から取得要求があった際が考えられる。
なお、設定する方法は、専用プログラムの他に、プロセッサの専用命令で構成する方法や、FPGA、CPLDで制御レジスタを設け、ソフトウェアから所定値を書き込まれた場合に起動イメージ更新検知部150が起動イメージ134が更新されたと判定する方法が例示される。
また、起動イメージ134が更新されたことを検知する別の方法として、CPU101、あるいはCPU101上で動作するソフトウェアの動作を監視し、所定の条件に合致した場合に起動イメージ134が更新されたと判定する方法が挙げられる。CPU101の動作例としては、ストア命令やCPU101からみて、外部の記憶媒体(不揮発性記憶媒体109等)に対する書込み命令や、アクセス先のアドレスと組み合わせて条件とすることが例示される。
CPU101の動作を取得する方法としては、バウンダリスキャンテストやJTAG(Joint Test Action Group)を用いる方法が例示される。CPU101ではなく、FPGAやCPLD内部にプロセッサコアを実装し、特定条件の命令が実行されたかどうかを判定する論理を構成してもよい。
これらの条件の一致をもって、起動イメージ更新検知部150を構成する不揮発性記憶媒体109上に起動イメージ134が更新されたことを示す所定値を記憶する。あるいは、ファイルシステム、OSカーネル、デバッグツールで所定の動作(所定のファイル操作等)を実行した場合に起動イメージ134が更新されたと判定して、不揮発性記憶媒体109上に記憶する方法が例示される。
これは、OSカーネル、ファイルシステム等のソースコードを変更して実現してもよいし、OSカーネル、ファイルシステム、デバッグツール等のソフトウェアがフックを用意していれば、それを用いて構成してもよい。フックは、特定の動作時にユーザが所定の独自処理を追加できる仕組みである。
以上の実施例2により、実施例1と比較して、起動イメージ更新検知部150を有することにより、より適切に起動イメージが更新されたかを判定することができる。実施例1の効果に加え、開発完了時に単に上位接続の有無だけでなく、起動イメージ134が更新されたかどうかを判定することで、起動イメージ134が更新されていない場合はアップロードを実行しない。こうすることで無駄な通信を避けることができ、ネットワーク帯域を効率的に利用することができる。
次に、起動イメージのバージョン比較を行うことについて説明する。
第3の実施例は、実施例1、実施例2と比較して、起動装置121と中央管理装置120の起動イメージのバージョン番号を比較することで、ネットワークブート、ネットワークアップデートの実行を制御する構成である。実施例に使用する符号は、特に断りのない限り、実施例1、実施例2で説明した機能や要素等と同一であることを意味する。
本発明を適用した起動装置121を用いて構成するシステム例は図1と同様である。また、起動装置121のハードウェア構成は図2と同様である。
本発明を適用した起動装置121の起動処理に関連するプログラム構成を図26に示す。第1の実施例の起動処理に関連するプログラム構成を示す図3に起動イメージバージョン比較部160を追加した構成になっている。
起動イメージバージョン比較部160は、中央管理装置120と通信し、起動装置121が保有する起動イメージ134と、中央管理装置120の起動イメージのバージョンを比較する。
実施例3の場合の起動プログラム130を図27に示す。
はじめに、起動イメージバージョン比較部160による比較結果を取得する(処理ステップS100)。そして、中央管理装置120の起動イメージのバージョン番号(Aとする)と起動装置121自身が保有する起動イメージ134のバージョン番号(Bとする)の比較結果に応じて動作を変更する(処理ステップS101)。但し、ここでは、バージョン番号が大きな数字の方が、起動イメージも新しいものとする。
AがBより大きい場合は、中央管理装置120の起動イメージ134の方が新しいため、起動装置121の起動イメージ134を中央管理装置120にアップロードする必要はない。中央管理装置120の起動イメージ134で起動装置121が起動すればよい。つまりネットワークブート処理を行えばよい。このため、ネットワークブートプログラム131に制御を移す(処理ステップS102)。そして、ネットワークブートプログラム131の終了を待機する(処理ステップS103)。
なお、処理ステップS103の後に、ネットワークブートプログラム131によるネットワーク経由で取得した起動イメージで、起動イメージ134を上書きしてもよい。
処理ステップS101において、BがAより大きい場合は起動装置121の起動イメージ134の方が新しいため、中央管理装置120にアップロードする必要がある。したがって、ネットワークアップロードプログラム132に制御を移す(処理ステップS104)。そして、ネットワークアップロードプログラム132の終了を待機する(処理ステップS105)。
その後、起動イメージ134をメモリ108の所定領域に展開し(処理ステップS106)、メモリ108に展開されたOS等の起動イメージの起動アドレスから動作を開始し、OS等のプログラムを起動する(処理ステップS107)。
処理ステップS101において、AとBが等しい場合は、起動装置121の起動イメージ134で起動装置121が起動すればよい。具体的には、処理ステップS105、処理ステップS106の手順を取る。なお、AとBが等しい場合は、ネットワークブートプログラム131によって起動してもよい。その場合は、処理ステップS106ではなく、処理ステップS102に遷移する。
なお、起動イメージバージョン比較部160は、上位接続通信検知部135や図21の起動イメージ更新検知部150と組み合わせて用いてもよい。例えば、ネットワークアップロードプログラム132に制御を移す前に起動イメージバージョン比較部160の比較結果を取得する。
この結果、起動イメージ134のバージョンが中央管理装置120の起動イメージのバージョンよりも大きい場合に、ネットワークアップロードプログラム132に制御を移す。
起動イメージ134のバージョンが中央管理装置120の起動イメージのバージョンよりも大きくない場合は、起動イメージ134をアップロードする必要がないため、ネットワークアップロードプログラム132の処理を省略する。
加えて、ネットワークブートプログラム131に制御を移す前に、起動イメージバージョン比較部160の比較結果を取得して、中央管理装置120の起動イメージのバージョンが起動イメージ134のバージョンよりも大きい場合に、ネットワークブートプログラム131に制御を移す。
中央管理装置120の起動イメージのバージョンが起動イメージ134のバージョンよりも新しくない場合は、ネットワークブートプログラム131の処理を省略する。なお、中央管理装置120の起動イメージのバージョンと、起動イメージ134のバージョンが等しい場合は、起動イメージ134を用いて起動してもよい。
次に、バージョン番号の定義方法について説明する。
バージョン番号の定義方法の一つは、起動イメージの作成、更新日時の情報をバージョン番号とすることである。時間の分解能は、起動イメージの新旧を比較できる程度として、例えば、年、月、日、時、分、秒を用いるものとする。なお、中央管理装置120と起動装置121間でバージョン番号を比較可能とするために、中央管理装置120、起動装置121間で時刻を同期している必要がある。時刻同期の方法としては、NTP(Netwok Time Protocol)、全地球測位システムGPS、IEEE1588等の方法が例示される。
あるいは、起動イメージが作成、更新されるたびに、連番でバージョン番号を定義する方法が例示される。この場合、中央管理装置120と起動装置121間でバージョン番号が連番となるように、相互に通信する方法が挙げられる。
図28に、バージョン番号を連番で設定する方法を示す。図28は、中央管理装置120、起動装置121それぞれで実行する方法である。
はじめに、通信相手の起動イメージのバージョンを取得する(処理ステップS110)。次に、取得した通信相手の起動イメージのバージョンが、自身の有する起動イメージのバージョンより新しいかどうかを判定する(処理ステップS111)。
取得した通信相手のバージョンが、自身のバージョンより新しい場合は、新しく設定する起動イメージのバージョンを、取得したバージョンに1を加えた値とする(処理ステップS112)。なお、自身でバージョンを設定していない場合は、取得した通信相手のバージョンの方が新しいものとする。
処理ステップS111で、取得した通信相手のバージョンが、自身のバージョンより新しくない場合は、自身のバージョンが設定されているかを判定する(処理ステップS113)。自身のバージョンが設定されている場合は、新しく設定するバージョンを、自身のバージョンに1を加えた値とする(処理ステップS114)。
処理ステップS113で、自身のバージョンが設定されていない場合は、新しく設定するバージョンとして1を設定する(処理ステップS115)。
なお、図28で、バージョンを更新する場合は1を加えているが、所定値でもよい。また、図28の方法は、起動装置121と中央管理装置120間で排他的に実行しなければならない。これは、起動装置121と央管理装置120の起動イメージの更新を同時に実行しない運用としてもよいし、ネットワーク上で同期をとる仕組みを用いてもよい。
図28は、中央管理装置120と起動装置121各々でバージョンを決定しているが、中央管理装置120で統一的に決定してもよい。これは、起動装置121でバージョンが必要となった際に中央管理装置120に要求し、中央管理装置120が新しいバージョン番号を発行する方法である。この方法では、全起動装置121の要求を中央管理装置120で管理するため、中央管理装置120、起動装置121のバージョン番号が重複しないように割り当てることができる。
バージョン番号の所在について説明する。割り当てたバージョン番号は、起動イメージ中の所定位置に埋め込む方法や、所定ファイル中に記憶する方法が例示される。バージョン番号を有するファイル名は起動イメージと関連付けた名称にすることが例示される。一例としては、起動イメージのファイル名の拡張子を”.version”等にすることが例示される。あるいは、起動イメージの情報をキー、バージョン番号を値とするデータベースとして構成してもよい。
また、バージョン管理システムと連携して、バージョンの取得、大小を比較してもよい。起動イメージの作成、更新時にバージョン管理システムを登録することで、固有の識別子を起動イメージに割り当てることができる。識別子自体を用いて新旧を比較できる場合もあれば、識別子と日時情報を対応づけて比較してもよい。
この時に、起動イメージバージョン比較部160は、バージョン管理システム対応のソフトウェアの機能を有するものとする。なお、OS起動後の起動スクリプトとして、起動イメージバージョン比較部160を構成し、処理後にシステムを再起動してもよい。
また、バージョン管理システムにおけるタグやブランチと関連付けて、バージョンを比較してもよい。タグとは、バージョン管理における特定のバージョンに対する名称であり、ブランチとは、主流の開発履歴から分岐した開発の履歴である。例えば、タグのみをバージョン比較の対象とすることや、同じブランチ上でのみバージョンを比較する方法が例示される。
以上説明した実施例3により、実施例1、実施例2と比較して、起動イメージバージョン比較部160をそなえることにより、中央管理装置120と起動装置121間での起動イメージの新旧関係を、より適切に判定することができる。
実施例1、2の効果に加え、中央管理装置120の起動イメージが更新されたかどうかを判定することで、ネットワークブートが必要かどうかを判定することができる。
また、起動イメージ134が最新で、ネットワークブートが不要な場合は、実行しない。これにより、無駄な通信を避けることができ、また、中央管理装置120への通信の集中を防止することができ、システム全体で高速な起動が可能となる。
次に起動装置の仮想化を実現する実施例4について説明する。実施例4は、実施例1、実施例2、実施例3と比較して、複数の起動装置121を1つの中央管理装置120に仮想化して集約した構成である。実施例に使用する符号は、特に断りのない限り、実施例1、実施例2、実施例3で説明した機能や要素等と同一であることを意味する。
実施例4の発明を適用したシステム例を図29に示す。ここでは、中央管理装置170は、図1のシステム構成と比較して、ネットワーク122がなくなり、制御対象124で構成される制御用ネットワーク123を制御する起動装置の機能を複数仮想化して搭載する。
このときの中央管理装置170のハードウェア構成を図30に示す。
通信部180は、制御用ネットワーク123との通信機能を実装した送受信機ICである。通信部180の実装例としては、FPGA(Field−Programmable Gate Array)、CPLD(Complex Programmable LogicDevice)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、IEEE802.3のMAC(Media Access Control)層の処理IC、PHY(Physical)層の処理IC、MAC、PHYの一体型ICが例示される。なお、通信機能の一部がCPU101に含まれていてもよい。
また、制御用ネットワーク123ごとに通信部180を図示しているが、複数の制御用ネットワーク123と通信できるように通信部180を構成してもよい。
中央管理装置170は、複数の制御用ネットワーク123を制御するため、複数の通信部180を有する。通信部180の搭載数は、必要な制御用ネットワーク123の数である。
この場合に、中央管理装置170のCPU101上で動作するソフトウェア構成を図31、または図32に示す。これらの図において、193は仮想化された起動装置である。190は、仮想化起動装置193を管理する仮想化管理ソフトウェアである。さらに図32において200はホストOSであり、201はアプリケーションである。
このうち、仮想化起動装置193は、起動装置121における制御機能をソフトウェアで実現して中央管理装置170内に位置づけた仮想マシンである。仮想化起動装置193内では、例えば、ゲストOS191、アプリケーション192が動作している。また、仮想化通信部194は、仮想化起動装置193内における仮想的な通信部である。
なお、ゲストOS191は、仮想マシン上で動作するOSであり、通常のホストOSと同様の場合もあり、仮想マシン用に最適化されている場合もある。また、アプリケーション192は、制御用ネットワーク123の制御対象124を制御、管理するアプリケーションである。
これに対し、仮想化管理ソフトウェア190は、仮想マシンを動作、管理するためのソフトウェアである。生成する仮想化起動装置193の数は、集約する起動装置121の数である。
仮想化管理ソフトウェア190内の仮想ネットワーク管理部195は、仮想化起動装置193間の通信や、仮想マシンから仮想マシン以外との入出力を管理する。例えば、仮想化起動装置193から、中央管理装置170外部の制御対象124へパケットを送信する際に、仮想化通信部194から送信されたパケットを通信部180から送信する機能を担う。
また、仮想ネットワーク管理部195は、所定の仮想化起動装置193の仮想化通信部194と所定の通信部180を対応づける。これは、特定の制御用ネットワーク123を制御する仮想化起動装置193を特定するためである。
仮想化管理ソフトウェア190内のブートサーバ196は、動的ホスト構成プロトコルDHCP、TFTP(Trivial File Transfer Protocol)を含むブートサーバとしての機能、異なる起動装置毎の起動イメージの管理機能を有する。なお、この機能は仮想化管理ソフトウェア190内ではなく、図32のアプリケーション201で実現してもよいし、あるいは中央管理装置120を仮想マシン(仮想化中央管理装置)として構成して実現してもよい。
図32において、ホストOS200は、通常のOSである。また、アプリケーション201は、ホストOS200上で動作するアプリケーションであり、仮想化管理ソフトウェア190の設定、状態取得機能を含む。
なお、仮想化起動装置193内のソフトウェア構成はゲストOS191を含むが、起動装置121のソフトウェア構成を模擬するため、OSを含まない構成でもよい。
このように構成することで、制御用ネットワーク123と起動装置121を用いて、サブシステムを開発する。サブシステムの開発後は、起動装置121を中央管理装置170に接続することで、開発物となる起動イメージ134を中央管理装置170にアップロードする。通常稼働時は、起動装置121を取り外して、制御用ネットワーク123と接続してシステムを構成する。
次に経路制御部のある構成について説明する。起動装置121の別の構成として、図33に示すハードウェア構成が例示される。この構成を図30と比較すると、経路制御部210が設けられている点で相違する。
図33に示すハードウェア構成を有する起動装置121の場合は、後述するカットスルーモードにより、起動装置121を中央管理装置170に接続していてもよい。この場合のシステム構成を図36に示す。図36の構成では、図29の構成において、起動装置121を中央管理装置170に接続している点で相違する。
図33の経路制御部210は、上位接続通信部102、下位接続通信部103、バス110間の経路を制御する。経路制御部210の実装例としては、FPGA(Field−Programmable Gate Array)、CPLD(Complex Programmable LogicDevice)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ等が例示される。なお、CPU101に含まれていてもよい。
図33の経路制御部210の経路構成を図34、図35に示す。図34は、上位接続通信部102、下位接続通信部103を直接接続するカットスルーモードであり、図35は、上位接続通信部102、下位接続通信部103それぞれがバス110と接続する通常モードである。
図35のバスプロトコル変換部220は、上位接続通信部102、下位接続通信部103それぞれとのバスプロトコルと、バス110のバスプロトコルを変換し、相互に通信可能とする機能部である。
なお、図34のカットスルーモードでの通信遅延を最小化するために、上位接続通信部102、下位接続通信部103はそれぞれPHY ICとして構成することが望ましい。
図34のパケット解析部221は、パケットフォーマットが所定のフォーマット条件に一致するかを判定する。条件の一例としては、所定の位置に所定値のデータを含むこと等が例示される。
モードの切り替えは、バス110経由で設定してもよいし、通信経路上を流れるパケットの内容をパケット解析部が解析して、所定条件に一致した場合に設定してもよい。
図34のカットスルーモードは、単にパケットを通過させるための接続状態であり、通常稼働時に中央管理装置170の仮想化起動装置193によって制御用ネットワーク123を制御する場合を想定している。これは、起動装置121で単にパケットを転送する場合でも、パケット処理遅延がシステム性能に影響を与えることを防止するためである。
図35の通常モードは、起動装置121が制御用ネットワーク123を制御する場合や起動装置121上の起動イメージ134を中央管理装置170にアップロードする場面での利用を想定している。
なお、開発完了時の通常モードにおいて、アップロードが完了するまで、下位接続通信部103の通信機能を無効化してもよい。具体的には、図7の処理ステップS022の後、図8の処理ステップS023の前、図9の処理ステップS022の後、図10の処理ステップS023の前に、下位接続通信部103の通信機能を無効化する。
このようにすれば、アップロードが完了して、仮想化起動装置193が動作する前に、誤ったパケットが下位接続通信部103に接続する制御対象124へと通信されるのを防止することができる。
なお、下位接続通信部103の通信機能は、仮想化起動装置193が所定フォーマットのパケットを送信し、経路制御部210がこれを認識することで、再有効化することが例示される。
次に、モード切り替えのタイミングについて説明する。モード切り替えとして、図20の状態遷移に連動して切り替える方法が例示される。初期状態、開発状態では通常モードとし、開発完了状態、稼働状態でカットスルーモードとする。
あるいは、起動装置121が起動イメージ134をアップロード後、自動的にカットスルーモードに切り替わってもよい。
あるいは、仮想化起動装置193が起動後に起動装置121に対して、カットスルーモードに切り替わるように要求を送信してもよい。仮想化起動装置193の起動イメージ134の起動スクリプトに、経路制御部210のモードを切り替えるプログラムを含めて構成する方法が例示される。また、起動装置121は、そのような要求を受信する通信プログラムが必要である。
あるいは、起動装置121として、IEC61784のパート2で定義されるEtherCAT(登録商標)として、カットスルーモードを構成してもよい。EtherCATスレーブとして構成する場合は、所定のアドレス空間に起動イメージ、起動イメージに関する情報(サイズ等)を配置する。こうすることで、中央管理装置170から起動イメージを取得可能である。
あるいは、図37のように、複数の起動装置121を連結してもよい。システム構成時は、いずれの起動装置121においても通常モードで下位接続通信部103を無効化することにより、各起動装置121中央管理装置120の起動イメージ134を順番に取得することができる。
この順番を中央管理装置170の仮想化起動装置193の構成に利用してもよい。例えば、順番に対応する仮想化起動装置193の起動イメージとしてもよいし、一つの起動イメージ中のアプリケーションの識別子としてもよい。
以上説明した実施例により、他の実施例と比較し、仮想化管理ソフトウェア190を有する中央管理装置170と組み合わせることにより、制御用ネットワーク123を制御する複数の起動装置を一つの中央管理装置170に集約することができる。これにより、他の実施例の効果に加え、システム全体を構築するコストを低減することができる。
101:CPU
10:上位接続通信部
103:下位接続通信部
108:メモリ
109:不揮発性記憶媒体
110:バス
120、170:中央管理装置
121:起動装置
122:ネットワーク
123:制御用ネットワーク
124:制御対象
130:起動プログラム
131:ネットワークブートプログラム
132:ネットワークアップロードプログラム
133:状態記憶部
134:起動イメージ
135:上位接続通信検知部
150:起動イメージ更新検知部
160:起動イメージバージョン比較部
180:通信部
190:仮想化管理ソフトウェア
191:ゲストOS
192、201:アプリケーション
193:仮想化起動装置
194:仮想化通信部
195:仮想ネットワーク管理部
196:ブートサーバ
200:ホストOS
210:経路制御部
220:バスプロトコル変換部
221:パケット解析部

Claims (19)

  1. 第1の起動イメージを有する中央管理装置と接続され、停止状態からの立ち上げを行うための起動装置において、
    起動装置は第2の起動イメージを保有しており、停止状態からの立ち上げを行う時に前記中央管理装置との間で通信が確立しているときは前記中央管理装置が有する前記第1の起動イメージを入手して起動し、停止状態からの立ち上げを行う時に前記中央管理装置との間で通信が確立してないときは、自己が保有している前記第2の起動イメージで起動することを特徴とする起動装置。
  2. 請求項1に記載の起動装置において、
    起動装置と前記中央管理装置との間が、第1のネットワークで接続され、通信することを特徴とする起動装置。
  3. 請求項1または請求項2に記載の起動装置において、
    起動装置は、第2のネットワークを介して制御対象に接続され通信することを特徴とする起動装置。
  4. 請求項1に記載の起動装置において、
    起動装置は、第2のネットワークを介して制御対象に接続され通信するとともに、前記中央管理装置内に仮想的に構成されていることを特徴とする起動装置。
  5. 第1の起動イメージを有する中央管理装置と接続されて通信を行い、停止状態からの立ち上げを行うための起動装置において、
    起動装置は、第2の起動イメージと、前記中央管理装置から前記第1の起動イメージを取得して起動するブートプログラムと、前記中央管理装置との前記通信が確立しているかどうかを検出する上位接続検知部とを備え、停止状態からの立ち上げ時に前記上位接続検知部の検知結果をもとに、前記第2の起動イメージによる起動、または前記ブートプログラムにより入手した第1の起動イメージによる起動のうち、いずれかを実行することを特徴とする起動装置。
  6. 請求項5記載の起動装置において、
    起動装置は、前記中央管理装置へ前記第1の起動イメージを送信するアップロードプログラムを備え、停止状態からの立ち上げ時に前記上位接続検知部の検知結果をもとに、前記第2の起動イメージによる起動、前記ブートプログラムにより入手した第1の起動イメージによる起動、前記アップロードプログラムにより前記第2の起動イメージを前記中央管理装置へ送信する処理のうち、少なくとも一つを実行することを特徴とする起動装置。
  7. 請求項6記載の起動装置において、
    前記中央管理装置との通信が確立していない場合は、前記第2の起動イメージによって起動し、前記中央管理装置との通信が確立している場合は、前記中央管理装置の有する前記第1の起動イメージを取得して起動し、前記中央管理装置との通信が確立していない場合の起動動作時の次の起動時に、前記中央管理装置との通信が確立している場合は、前記第2の起動イメージを前記中央管理装置へ送信することを特徴とする起動装置。
  8. 請求項7に記載の起動装置において、
    前記中央管理装置から前記中央管理装置の有する前記第1の起動イメージを取得して起動することに失敗した場合に、前記起動装置の前記第2の起動イメージを用いて起動することを特徴とする起動装置。
  9. 請求項5乃至請求項8のいずれかに記載の起動装置において、
    起動装置は、前記第2の起動イメージが更新されたかどうかを判定する起動イメージ更新検知部を備え、前記起動イメージ更新検知部の検知結果をもとに、前記アップロードプログラムにより前記第2の起動イメージを前記中央管理装置へ送信する処理を実行することを特徴とする起動装置。
  10. 請求項9に記載の起動装置において、
    前記起動イメージ更新検知部は、ファイルの属性に基づいて、前記第2の起動イメージが更新されたかを判定することを特徴とする起動装置。
  11. 請求項9または請求項10に記載の起動装置において、
    前記起動イメージ更新検知部は、所定命令が実行されたかどうかに基づいて、前記第2の起動イメージが更新されたかを判定することを特徴とする起動装置。
  12. 請求項5から請求項11のいずれかに記載の起動装置において、
    起動装置は、前記第2の起動イメージのバージョンと、前記中央管理装置の前記第1の起動イメージのバージョンの新旧を比較する起動イメージバージョン比較部を備え、前記起動イメージバージョン比較部の検知結果をもとに、前記第2の起動イメージによる起動、前記ブートプログラムにより前記中央管理装置から入手した前記第1の起動イメージによる起動のうち、いずれかを実行することを特徴とする起動装置。
  13. 請求項12に記載の起動装置において、
    起動装置は、前記起動イメージバージョン比較部の検知結果をもとに、前記第2の起動イメージによる起動、前記ブートプログラムにより前記中央管理装置から入手した前記第1の起動イメージによる起動、前記アップロードプログラムにより前記第2の起動イメージを前記中央管理装置へ送信する処理のうち、少なくとも一つを実行することを特徴とする起動装置。
  14. 請求項5から請求項13のいずれかに記載の起動装置において、
    起動装置と前記中央管理装置との間が第1のネットワークで接続され、通信することを特徴とする起動装置。
  15. 請求項5から請求項14のいずれかに記載の起動装置において、
    起動装置は、第2のネットワークを介して制御対象に接続され通信することを特徴とする起動装置。
  16. 請求項5から請求項13のいずれかに記載の起動装置において、
    起動装置は、第2のネットワークを介して制御対象に接続され通信するとともに、前記中央管理装置内に仮想的に構成されていることを特徴とする起動装置。
  17. 第1の起動イメージを有する中央管理装置と停止状態からの立ち上げを行うための起動装置が接続され、起動装置は第2のネットワークを介して制御対象に接続され通信するネットワークシステムにおいて、
    前記起動装置は第2の起動イメージを保有しており、停止状態からの立ち上げを行う時に前記中央管理装置との間で通信が確立しているときは前記中央管理装置が有する前記第1の起動イメージを入手して起動し、停止状態からの立ち上げを行う時に前記中央管理装置との間で通信が確立してないときは、自己が保有している前記第2の起動イメージで起動することを特徴とするネットワークシステム。
  18. 請求項17に記載のネットワークシステムにおいて、
    前記起動装置と前記中央管理装置との間が、第1のネットワークで接続され、通信することを特徴とするネットワークシステム。
  19. 請求項17または請求項18に記載のネットワークシステムにおいて、
    前記起動装置は、前記中央管理装置内に仮想的に構成されていることを特徴とするネットワークシステム。
JP2012003799A 2012-01-12 2012-01-12 起動装置及びネットワークシステム Active JP5762986B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012003799A JP5762986B2 (ja) 2012-01-12 2012-01-12 起動装置及びネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012003799A JP5762986B2 (ja) 2012-01-12 2012-01-12 起動装置及びネットワークシステム

Publications (2)

Publication Number Publication Date
JP2013143072A true JP2013143072A (ja) 2013-07-22
JP5762986B2 JP5762986B2 (ja) 2015-08-12

Family

ID=49039596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012003799A Active JP5762986B2 (ja) 2012-01-12 2012-01-12 起動装置及びネットワークシステム

Country Status (1)

Country Link
JP (1) JP5762986B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242931A (ja) * 1993-02-19 1994-09-02 Nec Software Ltd ワークステーション立上げ方式
JPH07191855A (ja) * 1993-12-27 1995-07-28 Nissan Motor Co Ltd 情報処理装置
WO2008114375A1 (ja) * 2007-03-19 2008-09-25 Fujitsu Limited シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
WO2009122526A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 シンクライアントの実現方法、そのためのクライアント端末およびサーバ
JP2009237815A (ja) * 2008-03-26 2009-10-15 Kyocera Mita Corp ファームウェア管理システム、電子機器、及びファームウェア管理サーバ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242931A (ja) * 1993-02-19 1994-09-02 Nec Software Ltd ワークステーション立上げ方式
JPH07191855A (ja) * 1993-12-27 1995-07-28 Nissan Motor Co Ltd 情報処理装置
WO2008114375A1 (ja) * 2007-03-19 2008-09-25 Fujitsu Limited シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
JP2009237815A (ja) * 2008-03-26 2009-10-15 Kyocera Mita Corp ファームウェア管理システム、電子機器、及びファームウェア管理サーバ
WO2009122526A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 シンクライアントの実現方法、そのためのクライアント端末およびサーバ

Also Published As

Publication number Publication date
JP5762986B2 (ja) 2015-08-12

Similar Documents

Publication Publication Date Title
US11474829B2 (en) Customizing program logic for booting a system
US9529602B1 (en) Systems and methods for internet recovery and service
JP5128708B2 (ja) 持続型ポートコンフィギュレーションを備えたsasコントローラ
JP5319685B2 (ja) 大規模なネットワーク化されたシステムにおけるソフトウェアの展開
US11914987B2 (en) Master update agent and distributed update agent architecture for vehicles
US8001221B2 (en) Method of building system and management server
KR20170022028A (ko) 컨테이너 이미지 보안 검사 방법 및 그 장치
US20090144720A1 (en) Cluster software upgrades
US11132187B2 (en) Bare metal provisioning of software defined infrastructure
US20110296404A1 (en) Systems and methods for host-level distributed scheduling in a distributed environment
TWI533216B (zh) 作業系統更新方法
US10802916B2 (en) System and method to enable rapid recovery of an operating system image of an information handling system after a malicious attack
US10983877B1 (en) Backup monitoring with automatic verification
US8893114B1 (en) Systems and methods for executing a software package from within random access memory
US10353729B1 (en) Managing service dependencies across virtual machines in a development environment
US20230025529A1 (en) Apparatus and method for managing a distributed system with container image manifest content
US9928082B1 (en) Methods and systems for remote device configuration
US11860776B2 (en) Concurrent memory recycling for collection of servers
US20230229481A1 (en) Provisioning dpu management operating systems
US20230229423A1 (en) Pushing a firmware update patch to a computing device via an out-of-band path
US9959127B2 (en) Systems and methods for exporting diagnostic data and securing privileges in a service operating system
US11295018B1 (en) File system modification
JP5762986B2 (ja) 起動装置及びネットワークシステム
WO2018037292A1 (en) Non-process identifier based service manager
WO2023196074A2 (en) Hosting dpu management operating system using dpu software stack

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150610

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5762986

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150