(57)【要約】【課題】保守における作業者の処理を軽減させることを目的とする。【解決手段】デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、第２の優先順位テーブルを記録する揮発性記録装置と、電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するＣＰＵと、を有し、前記ＣＰＵが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第１の優先順位テーブルから前記揮発性記録装置に格納された第２の優先順位テーブルに切り替え、前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、デバイス起動の優先順位制御装置が提供される。【選択図】図４
2017134692.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、
第２の優先順位テーブルを記録する揮発性記録装置と、
電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するＣＰＵと、を有し、
前記ＣＰＵが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第１の優先順位テーブルから前記揮発性記録装置に格納された第２の優先順位テーブルに切り替え、前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、
デバイス起動の優先順位制御装置。
【請求項２】
前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証が行われ、
前記複数のデバイス認証データのそれぞれに対して起動させるパーティションのエントリ番号を設定する、
請求項１に記載の優先順位制御装置。
【請求項３】
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、第２の優先順位テーブルを記録する揮発性記録装置とを有する優先順位制御装置において実行されるデバイス起動の優先順位制御方法であって、
電源投入時に接続されたデバイスに対応する認証が正常である場合、前記第１の優先順位テーブルから前記第２の優先順位テーブルに切り替え、
前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、
処理をＣＰＵが実行する優先順位制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス起動の優先順位制御装置及び優先順位制御方法に関する。
【背景技術】
【０００２】
情報処理装置に電源が投入されると、ＢＩＯＳ（Basic Input/Output System）と呼ばれるファームウェアが、ＰＯＳＴ（Power On Self Test：自己診断）時に起動可能なデバイス（以下、「起動デバイス」ともいう。）が接続されているかを確認する。例えば、ＵＳＢ（Universal Serial Bus）メモリやＨＤＤ（Hard Disk Drive）等の起動デバイスが接続されている場合、ＢＩＯＳはその起動デバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。
【０００３】
起動エントリデータの作成が完了した後、ＢＩＯＳは優先順位テーブルを作成する。この優先順位テーブルには、ＢＩＯＳが起動デバイスを読み込む順番（起動の優先順位）が書き込まれている。ＢＩＯＳは、その起動の優先順位に従い起動デバイスの起動を試行する。起動の優先順位は、ＢＩＯＳの設定や、情報処理装置の仕様によって異なり、作業者（フィールドエンジニア）によって変更することができる。
【０００４】
優先順位テーブルには、例えばＯＳ（Operating System）がインストールされているＨＤＤが起動の優先順位の先頭に設定されており、電源が投入されるとＨＤＤにインストールしたＯＳが起動する。よって、一時的にＨＤＤ以外の起動デバイスから起動させたい場合であっても、外部に起動デバイスを接続しただけでは、接続したデバイスの優先順位が先頭でないため、そのデバイスを起動することができない。
【０００５】
外部に接続された起動デバイスを最初に起動させるためには、作業者はＢＩＯＳの設定画面に表示された優先順位テーブルの順序を手動で変更したり、ＰＯＳＴ時に起動メニューを表示させ、目的のデバイスを選択する等の手動の操作を行う必要がある。
【０００６】
そこで、ＢＩＯＳが特定のデバイスを検出した場合、自動的に起動の優先順位を変更し、起動時に作業者が操作することなく特定のデバイスを起動させるための方法が知られている（例えば、特許文献１及び特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−３７４６７号公報
【特許文献２】特開２０１０−４９４１２号公報
【特許文献３】特開２０１２−２２１０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、作業者の操作により特定のデバイスを起動させた場合、終了後、作業者はその設定を元に戻す作業を要する場合があり、作業者の手間となる。
【０００９】
そこで、一側面では、本発明は、保守における作業者の処理を軽減させることを目的とする。
【課題を解決するための手段】
【００１０】
一つの案では、デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、第２の優先順位テーブルを記録する揮発性記録装置と、電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するＣＰＵと、を有し、前記ＣＰＵが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第１の優先順位テーブルから前記揮発性記録装置に格納された第２の優先順位テーブルに切り替え、前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、デバイス起動の優先順位制御装置が提供される。
【発明の効果】
【００１１】
一側面によれば、保守における作業者の処理を軽減させることができる。
【図面の簡単な説明】
【００１２】
【図１】ＢＩＯＳ処理フローの一例を示す図。
【図２】一実施形態にかかるデバイス起動の優先順位制御装置の構成の一例を示す図。
【図３】一実施形態にかかるＢＩＯＳ処理フローの一例を示す図。
【図４】一実施形態にかかる起動の優先順位制御にかかる動作の一例を示す図。
【図５】一実施形態にかかる起動の優先順位制御にかかる動作の一例を示す図。
【図６】一実施形態にかかる起動デバイスのパーティション構成の一例を示す図。
【図７】一実施形態にかかるデバイス認証データ構成の一例を示す図。
【図８】一実施形態にかかる特定パーティションのデバイス認証データの一例を示す図。
【図９】一実施形態にかかる優先順位制御プログラムによる動作フローの一例を示す図。
【図１０】一実施形態にかかる優先順位制御プログラムによる動作フロー（続）の一例を示す図。
【図１１】一実施形態にかかるプログラム優先順位テーブルの一例を示す図。
【図１２】一実施形態にかかる起動の優先順位制御による結果の一例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１４】
図１は、メンテナンス作業におけるＢＩＯＳ処理フローの一例を示す。ＵＳＢメモリが挿入され（ステップＳ１）、情報処理装置の電源がオンされると（ステップＳ２）、ＢＩＯＳと呼ばれるファームウェアが、ＰＯＳＴ時に、例えばＵＳＢメモリやＨＤＤ等の起動可能なデバイス（起動デバイス）が接続されているかを確認する。起動デバイスが接続されている場合、ＢＩＯＳはそのデバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。もし接続されていない場合、起動エントリデータは作成されない。
【００１５】
この起動エントリデータには、ＢＩＯＳセットアップの表示名やデバイスの位置情報やパーティション番号などが記録されている。起動エントリデータの作成が完了した後、ＢＩＯＳは優先順位テーブル（以下、「ＢＩＯＳ優先順位テーブル」ともいう。）を作成する。ＢＩＯＳ優先順位テーブルは、ＳＰＩ  ＲＯＭ（Serial Peripheral Interface Read Only Memory）に保存される。
【００１６】
この優先順位テーブルにはＢＩＯＳが起動デバイスを読み込む順番（起動の優先順位）が書き込まれ、その起動の優先順位に沿ってＢＩＯＳは起動デバイスの起動を試行する。起動デバイスの起動の優先順位はＢＩＯＳの設定や、装置の仕様によって異なり、作業者によって変更することができる。その際、ＢＩＯＳセットアップが表示され（ステップＳ３）、作業者は、ＳＰＩ  ＲＯＭに保存されたＢＩＯＳ優先順位テーブルを変更する。これにより電源投入時に情報処理装置に接続された起動デバイスの起動順序が変更される（ステップＳ４）。
【００１７】
次に、ＢＩＯＳ優先順位テーブルに従った起動順序で起動デバイスが起動される（ステップＳ５）。次に、ＢＩＯＳセットアップが表示され（ステップＳ６）、ＢＩＯＳ優先順位テーブルが復元される（ステップＳ７）。例えば、ＢＩＯＳ優先順位テーブルのエントリ番号が「＃１」のデバイスがＨＤＤからＵＳＢメモリに変更された場合、エントリ番号が「＃１」のデバイスがＵＳＢメモリからＨＤＤに復元される。
【００１８】
次に、情報処理装置の電源がオフされ（ステップＳ８）、システムメモリ（ＲＡＭ：Random Access Memory）がクリアされる（ステップＳ９）。次に、ＵＳＢメモリの抜去が行われ（ステップＳ１０）、本処理を終了する。
【００１９】
本処理フローのうちステップＳ９以外のステップは、作業者の操作が必要な処理であり、ステップＳ９は情報処理装置が自動で行う処理である。作業者が保守作業をする場合、セキュリティやプライバシー、データ流出の観点からお客様のＨＤＤにインストールされたＯＳを使用することは好ましくない。そのため保守作業をする場合、ＵＳＢメモリなど可搬媒体を用いて外部から起動デバイスを用いて保守作業を行うことが一般的である。しかし、このような場合、以下の課題がある。
【００２０】
まず、外部に接続された起動デバイスを最初に起動させるためには、作業者はＢＩＯＳの設定画面に表示された優先順位テーブルの順序を手動で変更したり、ＰＯＳＴ時に起動メニューを表示させ、目的のデバイスを選択する等の手動の操作を行う必要がある。
【００２１】
また、優先順位テーブルを変更した場合、終了後、作業者はその設定を元に戻す作業を要する場合がある。また、設定変更は手動による操作の為、作業ミスが発生する場合がある。
【００２２】
これに対して、本実施形態にかかるデバイス起動の優先順位制御装置によれば、保守における作業者の処理を軽減させることができる。
【００２３】
以下では、デバイス起動の優先順位制御装置の機能構成について、図１を参照しながら説明する。本実施形態では、デバイス起動の優先順位制御装置の一例にＰＣ１０を例に挙げて説明する。ただし、デバイス起動の優先順位制御装置は、ＰＣ１０に限られず、例えば、タブレット型のコンピュータ、携帯情報端末等であってもよい。
【００２４】
［ＰＣの構成］
ＰＣ１０のハードウェア構成について図２を参照しながら説明する。ＰＣ１０は、ＣＰＵ（Central Processing Unit）１と、システムコントローラ２と、システムメモリ３と、ＳＰＩ  ＲＯＭ４と、ネットワークコントローラ５と、ＳＡＴＡコントローラ６と、表示コントローラ７と、入出力コントローラ８と、ＵＳＢホストコントローラ９と、Ｖｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ１１とを含む。
【００２５】
システムコントローラ２は、ＣＰＵ１及びシステムメモリ３に接続される。システムコントローラ２は、バスＢを介して、ＳＰＩ  ＲＯＭ４、ネットワークコントローラ５、ＳＡＴＡコントローラ６、表示コントローラ７、入出力コントローラ８、ＵＳＢホストコントローラ９及びＶｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ１１と接続される。バスＢには、例えばＰＣＩ  Ｅｘｐｒｅｓｓ又はＰＣＩのような拡張用バス１２が接続される。
【００２６】
ＳＰＩ  ＲＯＭ４は、ＢＩＯＳ４０が実装されたシステムファームウェアを有する。ＢＩＯＳ４０は、ＰＯＳＴ（自己診断）等の機能を有する。ＢＩＯＳ４０は、ＰＣ１０の電源投入時に行われる起動処理中にＢＩＯＳ優先順位テーブル４１を作成する。ＢＩＯＳ優先順位テーブル４１には、ＰＣ１０に接続された起動デバイスの起動の優先順位が設定される。
【００２７】
優先順位制御プログラム４４は、ＢＩＯＳ４０が設定及び保存するＢＩＯＳ優先順位テーブル４１とは異なるプログラム優先順位テーブル３１を作成し、プログラム優先順位テーブル３１をＢＩＯＳ優先順位テーブル４１と入れ替える。優先順位制御プログラム４４は、プログラム優先順位テーブル３１に基づき起動デバイスを起動させる。優先順位制御プログラム４４は、ＳＰＩ  ＲＯＭ４の中にＢＩＯＳ４０のデータとともに保存され、ＢＩＯＳの処理の一部としてＰＯＳＴ中に実行される。つまり、ＣＰＵ１の制御により、ＢＩＯＳ４０が作成する優先順位テーブルを「ＢＩＯＳ優先順位テーブル４１」、優先順位制御プログラム４４が作成する優先順位テーブルを「プログラム優先順位テーブル３１」とする。ＢＩＯＳ優先順位テーブル４１は不揮発性記録装置であるＳＰＩ  ＲＯＭ４に保存されているため、ＰＣ１０の電源供給が断たれたり、システムメモリ３のリセットが行われてもＢＩＯＳ優先順位テーブル４１の内容は保持される。作業者が、ＢＩＯＳセットアップから優先順位を変更した時は、このＢＩＯＳ優先順位テーブル４１が変更される。ＢＩＯＳ優先順位テーブル４１に設定された起動デバイスの起動の優先順位は作業者、またはＯＳによる変更操作が行われるまで自動的に変わることはない。
【００２８】
一方、プログラム優先順位テーブル３１は、ＳＰＩ  ＲＯＭ４には保存されず、揮発性記録装置であるシステムメモリ３に保存される。そのためＰＣ１０の電源供給が断たれるか、システムメモリ３のリセットが行われると、プログラム優先順位テーブル３１は失われる。よって、ＰＣ１０がシャットダウンする際、プログラム優先順位テーブル３１は自動的に削除される。
【００２９】
優先順位制御プログラム４４は、ＰＣ１０に接続されたＧＰＴパーティションを持つ全ての起動デバイスを対象に動作する。言い換えれば、ＰＣ１０に接続された起動デバイスであっても、ＧＰＴパーティションを有さないデバイスは本実施形態にかかるデバイス起動の優先順位制御方法にて制御対象とならないデバイスである。具体的には、制御対象となる起動デバイスは、ＧＰＴ（ＧＵＩＤ  Ｐａｒｔｉｔｉｏｎ  Ｔａｂｌｅ）形式でフォーマットされ、二つ以上のパーティションを持つ起動デバイスである。二つ以上あるパーティションのうちの一つには、優先順位制御プログラム４４へ対応するための特殊なデータ構造体を持つ。ＵＳＢやＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）などの接続方法には限定されず、ＢＩＯＳが読み込み処理を実施できればどのような接続方法であってもよい。
【００３０】
図２の例では、ＵＳＢホストコントローラ９にて制御されるＵＳＢメモリ９１についてＧＰＴ９０のデータパーティション１９０及び特定パーティション１９１が設定される。しかしながら、ＨＤＤ６１、ＯＤＤ（Optical Disk Drive）６２、ＵＳＢ  ＨＤＤ９２において、ＧＰＴのデータパティション及び特定パーティションを設定することができる。
【００３１】
ＳＰＩ  ＲＯＭ４は、プログラム用照合キー４２を記録する。プログラム用照合キー４２は、ＢＩＯＳ４０が検出した起動デバイスが、本実施形態に対応したデバイスかどうかを判断するために使用される。プログラム用照合キー４２は、ＳＰＩ  ＲＯＭ４のデータ領域に複数個記録することができ、そのデータ領域の大きさはＢＩＯＳ４０の構成やＳＰＩ  ＲＯＭ４の容量により異なる。また、プログラム用照合キー４２を書きこむ際、ＢＩＯＳ４０が復号できる形式、例えばハッシュ関数などでは暗号化して書きこんでもよい。なお、プログラム用照合キー４２が書き込まれていない場合でも優先順位制御プログラム４４は動作することができる。
【００３２】
ネットワークコントローラ５は、ネットワーク３０を介して外部機器との接続を制御する。ＳＡＴＡコントローラ６は、システムコントローラ２を介してＣＰＵ１からの指示に従ってＨＤＤ６１及びＯＤＤ６２を制御し、種々のプログラムや種々のデータの入出力を実行する。表示コントローラ７は、システムコントローラ２を介してＣＰＵ１からの指示に従ってディスプレイ７１を制御し、種々の画面表示を実行する。入出力コントローラ８は、システムコントローラ２を介してＣＰＵ１からの指示に従ってキーボード８１を制御し、キーボード８１からの入力を実行する。
【００３３】
ＵＳＢホストコントローラ９は、システムコントローラ２を介してＣＰＵ１からの指示に従ってＵＳＢメモリ９１及びＵＳＢ  ＨＤＤ９２を制御する。ＵＳＢホストコントローラ９には、ＵＳＢメモリ９１の他、例えばマウス、プリンタ、送受信装置等が接続されてもよい。Ｖｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ１１は、画像情報やテキスト情報を記録する。
【００３４】
システムコントローラ２は、ＰＣ１０の全体を制御する。ユーザによりＰＣ１０の電源が投入されると、ＳＰＩ  ＲＯＭ４に格納されたＢＩＯＳ４０を先頭から順に読み出してＣＰＵ１にロードする。ＣＰＵ１は、ＢＩＯＳによる起動処理後にＨＤＤ６１からオペレーティングシステム（ＯＳ）を読み出して、システムメモリ３上に常駐させ、ＯＳを起動する。
【００３５】
ＣＰＵ１は、ＢＩＯＳ４０のシステムファームウェアにより自己診断を実行する。ＣＰＵ１は、優先順位制御プログラム４４を実行する。優先順位制御プログラム４４には、ＳＰＩ  ＲＯＭ４に格納されたＢＩＯＳ優先順位テーブル４１からシステムメモリ３に格納されたプログラム優先順位テーブル３１に先順位テーブルを切り替える優先順位制御処理の手順が設定されている。また、優先順位制御プログラム４４には、プログラム優先順位テーブル３１に基づき特定されるデバイスを起動させる起動の優先順位制御処理の手順が設定されている。なお、ＳＰＩ  ＲＯＭ４は、不揮発性記録装置の一例である。ＢＩＯＳ優先順位テーブル４１は、不揮発性記録装置に記録された第１の優先順位テーブルの一例である。システムメモリ３は、揮発性記録装置の一例である。プログラム優先順位テーブル３１は、揮発性記録装置に記録された第２の優先順位テーブルの一例である。
【００３６】
［ＢＩＯＳ処理］
図３は、本実施形態にかかるＢＩＯＳ処理フローの一例を示す。ＵＳＢメモリ９１が挿入され（ステップＳ１１）、ＰＣ１０の電源がオンされると（ステップＳ１２）、ＢＩＯＳ４０が、ＰＯＳＴ時に起動可能な起動デバイス、例えばＵＳＢメモリ９１やＨＤＤ６１が接続されているかを確認する。起動デバイスが接続されている場合、ＢＩＯＳ４０はそのデバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。もし接続されていない場合、起動エントリデータは作成されない。
【００３７】
次に、ＣＰＵ１は、後述される図９の優先順位制御プログラムを実行する（ステップＳ１３）。これにより、プログラム優先順位テーブル３１が作成され、システムメモリ３に保存される。
【００３８】
プログラム優先順位テーブル３１には、ＢＩＯＳ４０が起動デバイスを起動させる優先順位が書き込まれ、その起動の優先順位に従いＢＩＯＳは起動デバイスの起動を試行する。プログラム優先順位テーブル３１に設定された起動デバイスの優先順位は、ＢＩＯＳ優先順位テーブル４１に設定された起動デバイスの優先順位から変更されている。これにより電源投入時にＰＣ１０に接続された起動デバイスの起動順序が変更される。
【００３９】
次に、プログラム優先順位テーブル３１に従って起動デバイスが起動される（ステップＳ１４）。次に、ＰＣ１０の電源がオフされ（ステップＳ１５）、システムメモリ３がクリアされる（ステップＳ１６）。次に、ＵＳＢメモリの抜去を行い（ステップＳ１７）、本処理を終了する。
【００４０】
本実施形態では、ステップＳ１４において起動デバイスを起動した後、優先順位テーブルの復元処理を行う必要がない。本実施形態では、ＢＩＯＳ優先順位テーブル４１は変更されていないため、ＢＩＯＳ優先順位テーブル４１の設定を元に戻す必要がないためである。
【００４１】
図３に示す処理フローのうちステップＳ１１、Ｓ１２、Ｓ１４、Ｓ１５及びステップＳ１７は、作業者の操作が必要な処理であり、ステップＳ１３、Ｓ１６はＰＣ１０が自動で行う処理である。つまり、本実施形態にかかるデバイス起動の優先順位制御処理では、ステップＳ１３にてプログラム優先順位テーブル３１が自動生成され、ステップＳ１６にてプログラム優先順位テーブル３１が自動削除される。
【００４２】
これにより、デバイスを接続するだけで当該デバイスを起動できるので、作業者の作業時間と手順を減らすことができる。また、作業者がＢＩＯＳ優先順位テーブル４１の設定を変更する必要がないため、作業ミスや優先順位テーブルの復元を減らすことができる。また、作業者の工数を減らすことで、さらに作業ミスを無くすことができる。
【００４３】
［起動の優先順位制御処理］
次に、本実施形態にかかる起動の優先順位制御処理の一例について図４を参照して説明する。ここでは、作業者の操作に応じてＰＣ１０のＢＩＯＳ４０と本実施形態にかかる起動の優先順位制御に対応可能な起動デバイスとの間で実行される処理、及び優先順位制御プログラムにより実行される処理を説明する。
【００４４】
まず、作業者が、起動デバイスをＰＣ１０に接続し、ＰＣ１０の電源をオンする。これに応じて、ＢＩＯＳ４０は、起動デバイスに対して（１）デバイスの接続確認を行う。これに対して、起動デバイスは、（２）デバイスが接続されていることをＢＩＯＳ４０に通知する。
【００４５】
通知を受けたＢＩＯＳ４０は、（３）通知元のデバイスが本実施形態にかかる起動の優先順位制御に対応可能な起動デバイスであるかを確認する。これに対して、起動デバイスは、（４）優先順位制御に対応可能な起動デバイスであることを通知する。
【００４６】
通知を受けたＢＩＯＳ４０は、優先順位制御プログラム４４を実行するＣＰＵ１に（５）デバイスリストを提供する。これに応じて、優先順位制御プログラム４４を実行するＣＰＵ１は、（６）デバイスリストに対応する（デバイスリストに存在する）デバイスであるかを確認する。起動デバイスは、（７）自デバイスが対応デバイスであることを通知する。
【００４７】
これに対して、優先順位制御プログラム４４を実行するＣＰＵ１は、（８）照合データの一例である、ＳＰＩ  ＲＯＭ４に格納されたプログラム用照合キー４２の検証を行う。起動デバイスは、（９）プログラム用照合キー４２と特定パーティション１９１のデバイス用照合キー（図７参照）とが一致したか否かの結果を通知する。
【００４８】
（９）において照合キーが一致する場合、優先順位制御プログラム４４を実行するＣＰＵ１は、（１０）システムメモリ３に格納されたプログラム優先順位テーブル３１をＢＩＯＳ４０に提供する。ＢＩＯＳ４０は、（１１）プログラム優先順位テーブル３１に基づき特定される、本実施形態にかかる起動順位制御に対応可能な起動デバイスの起動を試行する。起動デバイスは、（１２）自デバイスの起動を通知する。通知を受けたＢＩＯＳ４０は、起動デバイスの起動を作業者に通知する。
【００４９】
［起動の優先順位制御処理］
次に、本実施形態にかかる起動の優先順位制御処理の他の例について図５を参照して説明する。まず、作業者が、デバイスをＰＣ１０に接続し、ＰＣ１０の電源をオンする。これに応じて、上述した（１）デバイスの接続確認から（５）デバイスリストの提供までが実行される。次に、優先順位制御プログラム４４を実行するＣＰＵ１は、（６）デバイスリストに対応する（デバイスリストに存在する）デバイスであるかを確認する。起動デバイスは、（７）自デバイスが対応デバイスであること及び、対応デバイスのパスワードフラグ（図７参照）があることを通知する。
【００５０】
これに対して、優先順位制御プログラム４４を実行するＣＰＵ１は、（８）ＢＩＯＳ４０にパスワードの要求を指示する。これに対して、（９）ＢＩＯＳ４０が作業者にパスワードを要求する。作業者から（１０）パスワードの入力があると、ＢＩＯＳ４０はこれに応じて（１１）入力パスワードを提供する。
【００５１】
優先順位制御プログラム４４を実行するＣＰＵ１は、（１２）提供されたパスワードが、起動デバイスの特定パーティション１９１に保持されたパスワード（デバイス用照合キー１９４）と一致するか否かを検証する。特定パーティション１９１に保持されたパスワードは、図７に示すデバイス用照合キーの替わりに記録されていてもよい。
【００５２】
（１３）においてパスワードが一致する場合、優先順位制御プログラム４４を実行するＣＰＵ１は、（１４）システムメモリ３に格納されたプログラム優先順位テーブル３１をＢＩＯＳ４０に提供する。ＢＩＯＳ４０は、（１５）プログラム優先順位テーブル３１に基づき特定される、本実施形態にかかる起動順位制御に対応可能な起動デバイスの起動を試行する。起動デバイスは、（１６）デバイスの起動を通知する。通知を受けたＢＩＯＳ４０は、デバイス起動を作業者に通知する。
【００５３】
［起動デバイスのパーティション構成］
起動デバイスは、ＵＳＢメモリ９１やＨＤＤ６１などの可搬媒体がＧＰＴでフォーマットされたデバイスが対象となる。二つ以上のパーティションを持ち、そのうちの一つは本実施形態に対応していることを示すＧＵＩＤ（Globally-Unique Identifier）を持つ特定パーティション１９１である。この特定パーティション１９１は、一つの起動デバイスにつき一つのＰＣ１０に対して一つ以上存在してはいけない。また、ＯＳなどの起動ファイルが保存されるデータパーティション１９０の数は問わない。特定パーティション１９１のパーティション番号はいずれでもよい。
【００５４】
特定パーティションの構成について、図６の一実施形態にかかる起動デバイスのパーティション構成を参照して説明する。ＵＳＢメモリ９１やＨＤＤ６１などの可搬媒体はＬＢＡ（Logical Block Addressing）という方法でデータアドレスを決めることでアクセスできる。ＬＢＡ０からＬＢＡ３３などのデータアドレスは既に予約されており、ＬＢＡ３４から実データ領域が始まる。図６は、ＬＢＡ形式のデータ構造に本実施形態にかかる特定パーティション１９１を割り当てた一例を示す。
【００５５】
ＬＢＡ  Ｘのデータアドレスは、特定パーティション１９１の開始位置を示す。ＬＢＡ  Ｘが示すパーティション２には、本実施形態に対応していることを示すＧＵＩＤが記録されている。
【００５６】
ＬＢＡ  Ｘ＋１のデータアドレスには、デバイス認証データ１９４が記録されている。図７に、一実施形態にかかるデバイス認証データ１９４の構成の一例を示す。デバイス認証データ１９４は、起動させたいパーティションの起動エントリ番号１９４ａ、パスワードフラグ１９４ｂ、デバイス用照合キー１９４ｃの３つデータを有する。
【００５７】
図８に、一実施形態にかかる特定パーティション１９１のデバイス認証データ１９４の一例を示す。デバイス認証データ１９４は、特定パーティション１９１にて予め定められた領域内で複数個書き込むことができる。図８には、第１デバイス認証データ１９４Ａ、第２デバイス認証データ１９４Ｂの二つが記録されている。
【００５８】
デバイス認証データ１９４は、セキュリティの為、起動デバイスから得られるデバイス名などの情報を元にハッシュ関数などで暗号化後、特定パーティション１９１に書きこんでもよい。デバイス認証データ１９４がもつデバイス用照合キーは作業者に入力させるためのパスワードでもよい。その場合、デバイス内のパスワードフラグを設定し、デバイス用照合キーが書き込まれている領域のデータがパスワードとして機能する。
【００５９】
［優先順位制御プログラムによる動作フロー（起動の優先順位制御処理）］
次に、本実施形態にかかる優先順位制御プログラムによりＣＰＵ１が実行する動作、すなわち、起動の優先順位制御処理の一例について、図９を参照しながら説明する。まず作業者は予め、対応する起動デバイスに必要な情報を設定しておく。
【００６０】
例えば、図２では、ＧＰＴ９０の二つのパーティション１９１，１９２に所定の情報が設定されたＵＳＢメモリ９１が作成されている。二つのパーティション１９１，１９２のうち、一つはＷｉｎｄｏｗｓ（登録商標）などの起動アプリケーション（ＯＳ等）が保存されたデータパーティション１９０である。もう一つはデバイス認証データ１９４が保存された特定パーティション１９１である。特定パーティション１９１に設定されたデバイス認証データ１９４は暗号化されていて、ＯＳから判読が困難なようになっている。
【００６１】
優先順位制御プログラムは、ＢＩＯＳの処理の一部において実行されるプログラムである。また、優先順位制御プログラムは、起動時に実行される。
【００６２】
ＣＰＵ１は、優先順位制御プログラム４４の実行を開始すると（ステップＳ２０）、ＢＩＯＳ４０からＰＣ１０に接続された起動デバイスの情報を取得し、起動デバイスの確認を行う（ステップＳ２１）。ＰＣ１０は電源が投入され起動すると、自身に接続されているデバイスを確認し、デバイスリストを作成する。ＣＰＵ１は、デバイスリストから対応したデバイス（起動デバイス）が接続されているかを確認する。次に、優先順位制御プログラム４４を実行するＣＰＵ１は、起動デバイスの情報の基づき起動デバイスに対応するパーティションＧＵＩＤが設定された特定パーティションが存在するかを判定する（ステップＳ２２）。
【００６３】
起動デバイスに対応するパーティションＧＵＩＤが設定された特定パーティションが存在しない場合、優先順位制御プログラム４４を実行するＣＰＵ１は、他に起動デバイスがあるかを判定する（ステップＳ２３）。ＧＰＴパーティションを持つ全てのデバイスを確認するまでステップＳ２１以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき（ステップＳ２３）、本処理を終了する。
【００６４】
起動デバイスに対応するパーティションＧＵＩＤが設定された特定パーティションが存在する場合、ＣＰＵ１は、プログラム用照合キー４２がＳＰＩ  ＲＯＭ４に存在するかを判定する（ステップＳ２４）。プログラム用照合キー４２がＳＰＩ  ＲＯＭ４に存在しない場合、本処理を終了する。
【００６５】
プログラム用照合キー４２がＳＰＩ  ＲＯＭ４に存在する場合、ＣＰＵ１は、特定パーティションのデバイス認証データ１９４にパスワードフラグ１９４ｂが設定されているかを判定する（ステップＳ２５）。パスワードフラグ１９４ｂが設定されていない場合、ＣＰＵ１は、ＳＰＩ  ＲＯＭ４に格納されたプログラム用照合キー４２とデバイス認証データ１９４に格納されたデバイス用照合キー１９４ｃとが一致するかを判定する（ステップＳ２６）。
【００６６】
プログラム用照合キー４２とデバイス用照合キー１９４ｃとが一致しない場合、ＣＰＵ１は、他に起動デバイスがあるかを判定し（ステップＳ２３）、ＧＰＴパーティションを持つ全てのデバイスがある間、ステップＳ２１以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき（ステップＳ２３）、本処理を終了する。
【００６７】
プログラム用照合キー４２とデバイス用照合キー１９４ｃとが一致する場合、優先順位制御プログラム４４を実行するＣＰＵ１は、一致したデバイス認証データ１９４が示すパーティションのエントリ番号１９４ａをプログラム優先順位テーブル３１に記録する。複数のデバイス認証データ１９４が存在する場合、ＣＰＵ１は、デバイス認証データ１９４が記載されている順番でデバイス用照合キー１９４ｃとプログラム用照合キー４２とを照合していく。デバイス用照合キー１９４ｃが複数のプログラム用照合キー４２と一致した場合、ＣＰＵ１は、最初に一致したデバイス認証データ１９４が示すパーティションのエントリ番号１９４ａのみをプログラム優先順位テーブル３１に記録する。また対応する起動デバイスが複数接続されている場合、もっとも早く検出された起動デバイスのデバイス認証データ１９４が示すエントリ番号１９４ａのみをプログラム優先順位テーブル３１に記録する。
【００６８】
ステップＳ２５において、パスワードフラグが設定されていると判定された場合、ＣＰＵ１は、パスワード入力画面を表示し（ステップＳ２７）、作業者にパスワードを入力させる。パスワードフラグが設定されたデバイス認証データ１９４が複数存在している場合、ＣＰＵ１は、検出された順番にパスワード入力画面を表示させ、パスワードの入力を求める。
【００６９】
ＣＰＵ１は、入力されたパスワードとデバイス用照合キー１９４ｃとが一致するかを判定する（ステップＳ２８）。パスワードとはデバイス認証データの一例であり、ＢＩＯＳに設定された管理者用パスワードとは異なる。
【００７０】
入力されたパスワードとデバイス用照合キー１９４ｃとが一致しない場合、ＣＰＵ１は、他に起動デバイスがあるかを判定し（ステップＳ２３）、ＧＰＴパーティションを持つ全てのデバイスを確認するまでステップＳ２１以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき（ステップＳ２３）、本処理を終了する。
【００７１】
入力されたパスワードとデバイス用照合キー１９４ｃとが一致する場合、ＣＰＵ１は、一致したデバイス認証データ１９４が示す起動させたいパーティションのエントリ番号１９４ａをプログラム優先順位テーブル３１に記録し（ステップＳ２９）、本処理を終了する。入力されたパスワードとデバイス用照合キーと一致した場合、ＣＰＵ１は、それ以降のパスワードの要求は行わず、最初に一致した起動エントリ番号１９４ａをプログラム優先順位テーブル３１に記録する。
【００７２】
なお、ＣＰＵ１は、デバイス認証データ１９４が複数あった場合、最初のデバイス認証データ１９４が示す特定パーティションのエントリ番号１９４ａのみをプログラム優先順位テーブル３１に記録する。また対応する起動デバイスが複数接続されている場合、もっとも早く検出された起動デバイスに関するエントリ番号１９４ａのみをプログラム優先順位テーブル３１に記録する。
（動作例）
次に、ＢＩＯＳの起動処理時の動作の一例について、図１０を参照しながら説明する。前提として、ＰＣ１０は、ＳＰＩ  ＲＯＭ４へ予めプログラム用照合キー４２を書きこんでおく。また、作業者はＰＣ１０を起動する前にＵＳＢメモリ９１を接続する。ＵＳＢメモリ９１は、起動デバイスの一例である。
【００７３】
ＰＣ１０は電源が投入され起動すると、ＰＣ１０に接続されている起動デバイスを確認し、起動デバイスのエントリを作成する。すべての起動デバイスのエントリの作成完了後、ＣＰＵ１は、優先順位制御プログラム４４の手順により優先順位テーブル３１から対応したデバイスが接続されているかを確認する。対応したデバイスが接続されている場合、ＣＰＵ１は、プログラム優先順位テーブル３１が存在するか判定する（ステップＳ３０）。
【００７４】
プログラム優先順位テーブル３１が存在する場合、ＣＰＵ１は、ＢＩＯＳ優先順位テーブル４１ではなく、プログラム優先順位テーブル３１をＢＩＯＳに提供し、ＢＩＯＳは、プログラム優先順位テーブル３１に基づき起動デバイスを起動する（ステップＳ３１）。
【００７５】
ＢＩＯＳは、起動処理が正常に完了したかを判定し（ステップＳ３２）、起動処理が正常に完了した場合、本処理を終了する。起動処理が正常に完了しなかった場合、ＣＰＵ１は、ＳＰＩ  ＲＯＭ４に記録されているＢＩＯＳ優先順位テーブル４１をＢＩＯＳに提供し、ＢＩＯＳは、ＢＩＯＳ優先順位テーブル４１に基づき起動デバイスを起動し（ステップＳ３３）、本処理を終了する。
【００７６】
また、ステップＳ３０において、プログラム優先順位テーブル３１が存在しない場合においても、ＢＩＯＳは、ＢＩＯＳ優先順位テーブル４１に基づき起動デバイスを起動し（ステップＳ３３）、本処理を終了する。
【００７７】
これによれば、ＳＰＩ  ＲＯＭ４に格納されたＢＩＯＳ優先順位テーブル４１からシステムメモリ３に格納されたプログラム優先順位テーブル３１に切り替え、プログラム優先順位テーブル３１に基づき特定されるデバイスが起動される。
【００７８】
例えば、図１１に示すように、プログラム優先順位テーブル３１に、エントリ番号１３１、デバイス１３２及びパーティション番号１３３が記録されている場合、エントリ番号１３１が最初の「＃１」のデバイスが起動される。
【００７９】
以上に説明したように、本実施形態にかかる起動デバイスの優先順位制御方法によれば、ＰＣ１０に起動デバイスを接続するだけで当該起動デバイスの起動が可能なため、作業者の作業時間と手順を減らすことができる。また、作業者の工数が減るため、作業ミスを無くすことができる。また、ＢＩＯＳ優先順位テーブル４１は書き替えない、つまり、ＢＩＯＳの設定を変更する必要がなくなるので、作業ミスや設定の戻し忘れを減らすことができる。また、保守作業だけではなく、工場の製造現場でもこの機能を用いることで工数や製造時間を削減することができる。例えば、製造にはＯＳ＿Ａを使用しているが、ＯＳ＿Ｂをシステムメモリ３から自動的に起動することができる。
（変形例）
図１２は、特定パーティションを用いて、一つのデバイスにおいて起動させるパーティションをＰＣ１０ごとに変えるときの動作例である。例えば、同一の起動デバイスでもデバイス認証データ１９４の中で指定するパーティション番号を変更できるようにする。例えば、図７のデバイス認証データ１９４において、第１デバイス認証データの起動させたいパーティションのエントリ番号を「０２」に設定し、第２デバイス認証データの起動させたいパーティションのエントリ番号を「０３」に設定した場合について説明する。
【００８０】
この場合、ＰＣ１０Ａにおいて、ＳＰＩ  ＲＯＭ４に格納されたプログラム用照合キー４２と、特定パーティション１９１の第１デバイス認証データのデバイス用照合キー１９４ｃとを照合する。これにより、照合の結果に基づき一致するパーティションのエントリ番号「０２」に設定されたＯＳ１が起動される。
【００８１】
他方、ＰＣ１０Ｂにおいて、ＳＰＩ  ＲＯＭ４に格納されたプログラム用照合キー４２と、特定パーティション１９１の第２デバイス認証データのデバイス用照合キー１９４ｃとを照合する。これにより、照合の結果に基づき一致するパーティションのエントリ番号「０３」に設定されたＯＳ２が起動される。これにより、一つのデバイスにおいて、異なるＰＣ（ＰＣ１０Ａ及びＰＣ１０Ｂ）に対して、プログラム用照合キー４２とデバイス用照合キー１９４ｃとが一致するそれぞれのパーティション番号を指定できる。
【００８２】
以上の変形例によれば、同一デバイスでもデバイス認証データ１９４の中で指定するパーティション番号を変更することにより、デバイス認証データ１９４ごとに指定させるパーティションを特定できる。
【００８３】
以上に説明したように、本実施形態及びその変形例にかかるデバイス起動の優先順位制御方法によれば、作業者は起動デバイスを接続しただけで、目的の起動デバイスから自動的に起動させることができる。これにより、作業者の作業時間と手順を減らすことができる。また、作業者の工数が減り、作業ミスを無くすことができる。また、ＢＩＯＳ優先順位テーブル４１は書き替えない、つまり、ＢＩＯＳの設定を変更する必要がなくなるので、作業ミスや設定の戻し忘れを減らすことができる。
【００８４】
また、プログラム用照合キー４２とデバイス認証データ１９４とを設定することで、機能に対応した異なるＰＣ間で起動デバイスを共有することができる。また、デバイス認証データ１９４を暗号化することで、デバイス認証データ１９４はＯＳから認識されないため、データの流出や改変、誤って削除するなどのリスクを減らすことができる。また、起動デバイスは、ＵＳＢメモリ９１やＨＤＤ６１で対応可能であるため特別なデバイスを不要とすることができる。加えて、本実施形態にかかる優先順位制御方法によれば、キーボードやマウスなどＢＩＯＳの設定を変更するための入力装置を不要にすることができる。
【００８５】
以上、デバイス起動の優先順位制御装置及び優先順位制御方法を上記実施形態により説明したが、本発明にかかる優先順位制御装置及び優先順位制御方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【００８６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、
第２の優先順位テーブルを記録する揮発性記録装置と、
電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するＣＰＵと、を有し、
前記ＣＰＵが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第１の優先順位テーブルから前記揮発性記録装置に格納された第２の優先順位テーブルに切り替え、前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、
デバイス起動の優先順位制御装置。
（付記２）
前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証が行われ、
前記複数のデバイス認証データのそれぞれに起動させるパーティションのエントリ番号を設定する、
付記１に記載の優先順位制御装置。
（付記３）
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第１の優先順位テーブルとを記録する不揮発性記録装置と、第２の優先順位テーブルを記録する揮発性記録装置とを有する優先順位制御装置において実行されるデバイス起動の優先順位制御方法であって、
電源投入時に接続されたデバイスに対応する認証が正常である場合、前記第１の優先順位テーブルから前記第２の優先順位テーブルに切り替え、
前記第２の優先順位テーブルに基づき特定されるデバイスを起動させる、
処理をＣＰＵが実行する優先順位制御方法。
（付記４）
前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証を行い、
前記複数のデバイス認証データのそれぞれに起動させるパーティションのエントリ番号を設定する、
付記３に記載の優先順位制御方法。
【符号の説明】
【００８７】
１：ＣＰＵ
３：システムメモリ
４：ＳＰＩ  ＲＯＭ
１０：ＰＣ
２０：管理サーバ
３０：ネットワーク
３１：プログラム優先順位テーブル
４０：ＢＩＯＳ
４１：ＢＩＯＳ優先順位テーブル
４２：プログラム照合用キー
４４：優先順位制御プログラム
６１：ＨＤＤ
９０：ＧＰＴ
９１：ＵＳＢメモリ
１９０：データパティション
１９１：特定パーティション
１９４：デバイス認証データ
１９４ａ：起動させたいパーティションのエントリ番号
１９４ｂ：パスワードフラグ
１９４ｃ：デバイス用照合キー
【図１】
2017134692.tif 000003
【図２】
2017134692.tif 000004
【図３】
2017134692.tif 000005
【図４】
2017134692.tif 000006
【図５】
2017134692.tif 000007
【図６】
2017134692.tif 000008
【図７】
2017134692.tif 000009
【図８】
2017134692.tif 000010
【図９】
2017134692.tif 000011
【図１０】
2017134692.tif 000012
【図１１】
2017134692.tif 000013
【図１２】
2017134692.tif 000014