(57)【要約】【課題】起動時間を短縮することができるコンピュータシステムおよびアプリケーション起動方法を提供すること。【解決手段】実施形態のコンピュータシステムは、ホストＣＰＵと、一以上のＣＰＵカードとを持つ。ホストＣＰＵは、前記ＣＰＵカード上にてアプリケーションを起動させる場合、前記起動させるＣＰＵカードの記憶装置における転送先アドレスを前記ＣＰＵカードに通知すると共に、前記転送先アドレスにアプリケーションプログラムを転送する。ＣＰＵカードのそれぞれは、ブート用ＳＳＤと、アプリケーションプログラムを記憶する記憶装置とを備え、前記ＣＰＵカードは、前記ブートメモリに格納されたＯＳ（Operating System）を起動した状態で前記転送先アドレスが通知されると、前記記憶装置の転送先アドレスから前記アプリケーションプログラムを読み出して実行する。【選択図】図１
2019164442.tif 000002
【特許請求の範囲】
【請求項１】
ホストＣＰＵと、
一以上のＣＰＵカードと、を備えるコンピュータシステムであって、
前記一以上のＣＰＵカードのそれぞれは、ブート用ＳＳＤと、アプリケーションプログラムを記憶する記憶装置とを備え、
前記ホストＣＰＵは、前記ＣＰＵカード上にてアプリケーションを起動させる場合、前記起動させるＣＰＵカードの記憶装置における転送先アドレスを前記ＣＰＵカードに通知すると共に、前記転送先アドレスにアプリケーションプログラムを転送し、
前記ＣＰＵカードは、前記ブート用ＳＳＤに格納されたＯＳ（Operating System）を起動した状態で前記転送先アドレスが通知されると、前記記憶装置の転送先アドレスから前記アプリケーションプログラムを読み出して実行する、
コンピュータシステム。
【請求項２】
ホストＣＰＵと、一以上のＣＰＵカードと、を備え、前記一以上のＣＰＵカードのそれぞれは、ブート用ＳＳＤと、アプリケーションプログラムを記憶する記憶装置とを備えるコンピュータシステムにおいて実行されるアプリケーション起動方法であって、
前記ホストＣＰＵが、前記ＣＰＵカード上にてアプリケーションを起動させる場合、前記起動させるＣＰＵカードの記憶装置における転送先アドレスを前記ＣＰＵカードに通知すると共に、前記転送先アドレスにアプリケーションプログラムを転送し、
前記ＣＰＵカードが、前記ブート用ＳＳＤに格納されたＯＳ（Operating System）を起動した状態で前記転送先アドレスが通知されると、前記記憶装置の転送先アドレスから前記アプリケーションプログラムを読み出して実行する、
アプリケーション起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータシステムおよびアプリケーション起動方法に関する。
【背景技術】
【０００２】
従来、組み込みシステムに対し、コンピュータの電源を切る直前の状態を保存して、次に電源を入れたときに電源を切る直前の状態から作業を再開することができる、サスペンドレジューム機能を確実に行う装置の技術が開示されている。また、Ｉ／Ｏ基板制御用のベースアドレス・レジスタのアドレス設定が容易な装置の技術が開示されている。
【０００３】
また、半導体技術の進歩等により、ピーシーアイエクスプレス（PCI Express）等に代表されるインターフェースの回線容量は徐々に増加しており、単位時間あたりのデータ転送量は、より大きくすることができるようになっている。
【０００４】
しかしながら、例えば、高い描画性能が要求される産業用の地図画像生成装置においてはサスペンドレジューム機能等の技術は転用されていない。このため、起動時には、実行ファイルおよび、実行ファイルで用いる地図データを、地図画像生成装置の備えるＣＰＵ（Central Processing Unit）等のハードウェアプロセッサへ転送する必要がある。しかしながら、地図データを構成するファイルサイズが約数〜数十［ＧＢ］と大きく、この地図データを構成するファイルの転送時間のために、一定の起動時間を要することから、起動時間を短縮することが望まれていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−８６８８号公報
【特許文献２】特開平８−２４１２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、起動時間を短縮することができるコンピュータシステムおよびアプリケーション起動方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態のコンピュータシステムは、ホストＣＰＵと、一以上のＣＰＵカードとを持つ。ホストＣＰＵは、前記ＣＰＵカード上にてアプリケーションを起動させる場合、前記起動させるＣＰＵカードの記憶装置における転送先アドレスを前記ＣＰＵカードに通知すると共に、前記転送先アドレスにアプリケーションプログラムを転送する。ＣＰＵカードのそれぞれは、ブート用ＳＳＤと、アプリケーションプログラムを記憶する記憶装置とを備え、前記ＣＰＵカードは、前記ブート用ＳＳＤに格納されたＯＳ（Operating System）を起動した状態で前記転送先アドレスが通知されると、前記記憶装置の転送先アドレスから前記アプリケーションプログラムを読み出して実行する。
【図面の簡単な説明】
【０００８】
【図１】実施形態のコンピュータシステム１を示す構成図。
【図２】ＶＰＸシャーシにＣＰＵカード２００が格納される様子を示す図である。
【図３】ＣＰＵカード２００のカードアドレス設定の一例を示す表。
【図４】ＣＰＵカード２００のカードアドレス設定の他の一例を示す表。
【図５】ＣＰＵカード２００が起動される処理の流れの一例を示すフローチャート。
【図６】ホストＣＰＵ１００が各ＣＰＵカード２００のアドレスを設定する処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施形態のコンピュータシステムおよびアプリケーション起動方法を、図面を参照して説明する。
【００１０】
図１は、本実施形態のコンピュータシステム１の機能を示す図である。図１のコンピュータシステム１は、例えば、ホストＣＰＵ１００と、ＣＰＵカード２００−１およびＣＰＵカード２００−２と、データバス３００とを備える。なお、図１ではＣＰＵカードを二つ備える構成を例示したが、コンピュータシステム１は、一以上の如何なる数のＣＰＵカードを備えてもよい。以下の説明において、いずれのＣＰＵカード２００であるか区別しないときは、単にＣＰＵカード２００と表記して説明する。
【００１１】
ホストＣＰＵ１００は、コンピュータシステム１の処理を制御する。ホストＣＰＵ１００は、例えば、ＳＳＤ１３０を備える。ホストＣＰＵ１００は、コンピュータシステム１の全てのＣＰＵカード２００、または一部のＣＰＵカード２００を起動すべきか否かを判定する。また、ホストＣＰＵ１００は、データバス３００を介して、各ＣＰＵカード２００と接続する。データバス３００は、例えば、ＶＰＸバスである。ＳＳＤ１３０は、コンピュータシステム１内で使用するアプリケーションプログラムやデータを一元管理する。ＳＳＤ１３０は、例えば、フラッシュメモリや、ＲＡＭ（Random Access Memory）ディスクなどのＳＳＤ（Solid State Drive）である。
【００１２】
ＣＰＵカード２００−１は、例えば、ＣＰＵ２１０−１−１、およびＣＰＵ２１０−１−２と、転送部２２０−１と、ＳＳＤ２３０−１と、データバス２４０−１と、外部記憶装置２５０−１とを備える。なお、図１ではＣＰＵを二つ備える構成を例示したが、ＣＰＵカード２００−１は、一以上の如何なる数のＣＰＵを備えてもよい。以下の説明において、いずれのＣＰＵであるか区別しないときは、単にＣＰＵ２１０と表記して説明することがある。同様に、ハイフン以下の符号は、いずれのＣＰＵカード２００に対応したものであるかを示している。以下の説明において、いずれのＣＰＵカード２００に対応したものであるか区別しないときは、ハイフンおよび続く符号を省略して説明することがある。
【００１３】
ＣＰＵカード２００は、電源投入後、ＳＳＤ２３０に格納されたＯＳ（Operating System）を起動する。ＳＳＤ２３０は、ＳＳＤ１３０と同様に、例えば、フラッシュメモリや、ＲＡＭディスクなどのＳＳＤである。外部記憶装置２５０は、ＳＳＤ２３０の記憶するブートプログラムとは異なる、本体装置で実行するプログラムを記憶する。外部記憶装置２５０の記憶するプログラムとは、例えば、本体装置が地図画像生成装置である場合、地図画像生成プログラムである。外部記憶装置は、例えば、ページング方式に対応する大容量メモリを備える。ＳＳＤ２３０は、「ブート用ＳＳＤ」の一例である。
【００１４】
ＣＰＵ２１０は、ホストＣＰＵ１００から起動信号を受信すると、外部記憶装置２５０からプログラムデータを読み出して、実行ファイルに変更する。実行ファイルは、例えば、本体装置が地図画像生成装置である場合、地図画像生成プログラムや地図データを備える。ＣＰＵ２１０は、転送部２２０より自カード番号を読み出した後、実行ファイルにより、アプリケーションプログラムを起動する。
【００１５】
ホストＣＰＵ１００は、各ＣＰＵカード２００のそれぞれを認識し、各ＣＰＵカード２００の外部記憶装置２５０のプログラムデータを転送する。ホストＣＰＵ１００は、ＣＰＵカード２００の転送部２００へカード番号を設定する。これによって、ホストＣＰＵ１００は、起動時に大容量データの読み込みを要する場合に、各ＣＰＵカード２００にデータバス３００を用いて高速で転送することで、プログラムの起動時間を短縮することができる。
【００１６】
実施形態のコンピュータシステム１は、例えばＶＰＸシャーシを基本として構成される。図２は、ＶＰＸシャーシにホストＣＰＵ１００およびＣＰＵカード２００が格納される様子を示す図である。図２に示すように、ＣＰＵカード２００は、ＶＰＸシャーシにおけるスロットに収容される。また、図２に示すように、ＣＰＵカード２００は、同一のＶＰＸバックプレーンに属しており、ANSI/VITA 46.0-2007  ＶＰＸで定義されたGeo Graphical Addressによるスロット位置情報を取得し、自身の設定情報として使用する。なお、以下ではホストＣＰＵ１００が認識するＣＰＵカード２００のスロット位置情報を元に仮想的に割り当てた番号を「カード番号」と称する。
【００１７】
以下、図３および図４を用いて、カード番号をＣＰＵカード２００の設定情報として定める規則を説明する。図３は、ＣＰＵカード２００の探索結果の一例を示す図である。図３は、同一のＶＰＸバックプレーンに３つのＣＰＵカードが割り当てられていることを示す。カード番号は、例えば、１から３１までの数字を昇順で割り当てるものとし、図３のカード番号「０」は、カードが無い状態、またはカードが認識されていない状態を示す。ホストＣＰＵ１００は、ＣＰＵカード２００を探索して、探索結果が得られたＣＰＵカード２００から、スロット番号を読み出す。
【００１８】
図４は、ＣＰＵカード２００のカード番号割り当て結果を示す図である。図４は、例えばスロット番号１のホストＣＰＵ１００に、カード番号「１」が割り当てられ、スロット番号３のＣＰＵカード２００−１に、カード番号「２」が割り当てられ、スロット番号７のＣＰＵカード２００−２に、カード番号「３」が割り当てられたことを示す。ホストＣＰＵ１００は、例えば、カード番号に基づいて、ＣＰＵカード２００の動作ステータスを読み込むことでアプリケーション起動機能を制御する。
【００１９】
ホストＣＰＵ１００は、例えば、全てのＣＰＵカード２００に対して、ＶＰＸバス経由で動作ステータスを取得する。ホストＣＰＵ１００は、ＣＰＵカード２００が外部記憶装置２５０にアクセスしていない事を確認した場合、ＳＳＤ１３０の記憶するプログラムデータファイルを、該当するＣＰＵカード２００の外部記憶装置２５０へ転送させる。なお、ホストＣＰＵ１００は、ＣＰＵカード２００の転送部２２０に、専用のアドレスである、ＶＰＸアドレスを付与する。
【００２０】
ホストＣＰＵ１００は、ＶＰＸアドレスを用いることで、ＣＰＵカード２００内のデータバス２４０を意識することなく、ＣＰＵカード２００の外部記憶装置２５０へのデータ転送を行う。ホストＣＰＵ１００は、ＣＰＵカード２００にカード番号を設定した後、起動指令を送信する。これによって、ホストＣＰＵ１００は、ＣＰＵカード２００のスロット位置に変更があっても、カード番号に基づいてデータファイルを読み込むことができ、アプリケーション起動機能を実現することができる。
【００２１】
図５は、ＣＰＵカード２００が起動される処理の流れの一例を示すフローチャートである。本フローチャートの処理は、例えば、コンピュータシステム１に電源オンされたときに開始される。
【００２２】
まず、ＣＰＵカード２００は、ＳＳＤ２３０から、ＢＩＯＳおよびＯＳをロードする（ステップＳ１００）。次に、ＣＰＵカード２００は、ホストＣＰＵ１００から起動指令を受けたか否かを判定する（ステップＳ１０２）。起動指令を受けたと判定されなかった場合、一定時間経過後に再度ステップＳ１０２を行う。起動指令を受けたと判定された場合、ＣＰＵカード２００は、転送先のＶＰＸアドレスを取得する（ステップＳ１０４）。次に、ＣＰＵカード２００は、転送されたプログラムデータファイルを実行ファイル化する（ステップＳ１０６）。次に、ＣＰＵカード２００は、転送部２２０より自らのカード番号を取得する（ステップＳ１０８）。次に、ＣＰＵカード２００は転送された実行ファイルにより処理を開始する（ステップＳ１１０）。以上、本フローチャートの処理を終了する。
【００２３】
図６は、ホストＣＰＵ１００が各ＣＰＵカード２００のアドレスを設定する処理の流れの一例を示すフローチャートである。
【００２４】
まず、ホストＣＰＵ１００は、ホストＣＰＵ１００と同一バックプレーン内のすべてのＣＰＵカード２００の転送部２００に設定されたカード種別を収集する（ステップＳ２００）。次に、ホストＣＰＵ１００は、各ＣＰＵカード２００にカード番号を割り当て、カード番号とスロット番号とを関連付ける（ステップＳ２０２）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００の動作ステータスを取得する（ステップＳ２０４）。次に、ホストＣＰＵ１００は、アプリケーション起動してもよい状態か否かを判定する（ステップＳ２０６）。ホストＣＰＵ１００は、アプリケーション起動してもよい状態であると判定されなかった場合、再度ステップＳ２０４の処理を行う。ホストＣＰＵ１００は、アプリケーション起動してもよい状態であると判定された場合、プログラムデータファイルを読み込む（ステップＳ２０８）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００の転送部２２０にＶＰＸアドレスを割り当てる（ステップＳ２１０）。
【００２５】
次に、ホストＣＰＵ１００は、ＣＰＵカード２００の外部記憶装置２５０をデータバス３００へ開放する（ステップＳ２１２）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００へ、ＳＳＤ１３０から取得したプログラムデータファイルを転送する（ステップＳ２１４）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００に、カード番号を転送する（ステップＳ２１６）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００の外部記憶装置２５０のＶＰＸアドレスの割り当てを解除し、データバス３００への開放を解除する（ステップＳ２１８）。次に、ホストＣＰＵ１００は、ＣＰＵカード２００へ起動開始指令を出力する（ステップＳ２２０）。次に、ホストＣＰＵ１００は、全てのＣＰＵカード２００の処理が終了したか否かを判定する（ステップＳ２２２）。ホストＣＰＵ１００は、全てのＣＰＵカード２００の処理が終了したと判定されなかった場合、再度ステップＳ２０４の処理を行う。ホストＣＰＵ１００は、全てのＣＰＵカード２００の処理が終了したと判定された場合、本フローチャートの処理を終了する。
【００２６】
以上説明した少なくともひとつの実施形態によれば、ＣＰＵカードのそれぞれは、ブート用ＳＳＤと、アプリケーションプログラムを記憶する記憶装置とを備え、ホストＣＰＵにおいて、ＣＰＵカードを起動させる場合、起動させるＣＰＵカードの記憶装置における転送先アドレスを前記ＣＰＵカードに通知すると共に、転送先アドレスにアプリケーションプログラムを転送することで、ＣＰＵカードは、ブートメモリに格納されたブートプログラムを起動した状態で転送先アドレスが通知されると、記憶装置の転送先アドレスからアプリケーションプログラムを読み出して実行することにより、起動時に読み込む必要のある大容量のデータの読み込み時間を短縮することができる。
【００２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００２８】
１…コンピュータシステム、１００…ホストＣＰＵ、１３０…ＳＳＤ、２００…ＣＰＵカード、２１０…ＣＰＵ、２２０…転送部、２３０…ＳＳＤ、２５０…外部記憶装置
【図１】
2019164442.tif 000003
【図２】
2019164442.tif 000004
【図３】
2019164442.tif 000005
【図４】
2019164442.tif 000006
【図５】
2019164442.tif 000007
【図６】
2019164442.tif 000008