特許第6669958号(P6669958)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通クライアントコンピューティング株式会社の特許一覧

<>
  • 特許6669958-情報処理装置 図000002
  • 特許6669958-情報処理装置 図000003
  • 特許6669958-情報処理装置 図000004
  • 特許6669958-情報処理装置 図000005
  • 特許6669958-情報処理装置 図000006
  • 特許6669958-情報処理装置 図000007
  • 特許6669958-情報処理装置 図000008
  • 特許6669958-情報処理装置 図000009
  • 特許6669958-情報処理装置 図000010
  • 特許6669958-情報処理装置 図000011
  • 特許6669958-情報処理装置 図000012
  • 特許6669958-情報処理装置 図000013
  • 特許6669958-情報処理装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6669958
(24)【登録日】2020年3月3日
(45)【発行日】2020年3月18日
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 21/50 20130101AFI20200309BHJP
【FI】
   G06F21/50
【請求項の数】4
【全頁数】16
(21)【出願番号】特願2015-210193(P2015-210193)
(22)【出願日】2015年10月26日
(65)【公開番号】特開2017-84014(P2017-84014A)
(43)【公開日】2017年5月18日
【審査請求日】2018年10月5日
(73)【特許権者】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】特許業務法人扶桑国際特許事務所
(72)【発明者】
【氏名】廣吉 慶
【審査官】 平井 誠
(56)【参考文献】
【文献】 特開2006−260290(JP,A)
【文献】 国際公開第2012/147170(WO,A1)
【文献】 国際公開第2014/147710(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/50
(57)【特許請求の範囲】
【請求項1】
パーティションGUIDを記録する第1の不揮発性記録装置と、
ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するCPUと、を有し、
前記CPUが実行する許可プログラムは、前記第1の不揮発性記録装置に記録されたパーティションGUIDと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションGUIDの起動情報を消去させる、
情報処理装置。
【請求項2】
サーバが管理する前記許可リストをGUIDリストに記録する第2の不揮発性記録装置を有し、
前記CPUが実行する許可プログラムは、前記許可リストと前記GUIDリストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていないパーティションGUIDの起動を許可しないように前記GUIDリストの設定を変更させる、
請求項1に記載の情報処理装置。
【請求項3】
サーバが管理するインストール情報リストを記録する第2の不揮発性記録装置を有し、
前記CPUが実行する許可プログラムは、前記インストール情報リストとOSのインストール情報とを比較した結果に応じて、サーバの指示に従い前記OSのインストール情報に含まれるアプリケーションのうち、前記インストール情報リストにおいて許可されていないアプリケーションの起動を禁止させる、
請求項1に記載の情報処理装置。
【請求項4】
シャットダウン又は再起動の要求に応じて、前記第2の不揮発性記録装置が前記インストール情報リストを記録し、
前記CPUは、前記インストール情報リストが前記第2の不揮発性記録装置に記録された後、前記シャットダウン又は再起動を実行する、
請求項3に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
パーソナルコンピュータを管理するシステム管理者は、ユーザに勝手にOSを変更させず、システム管理者が許可する環境下にパーソナルコンピュータを置きたいという要望がある。そこで、端末のユーザ作業においてOSの入出力情報を管理する管理OSを設け、管理OSが管理サーバにより設定された制御条件の判定及びユーザ作業においてOS情報の格納された記憶装置情報の制御を行う技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−305287号公報
【特許文献2】特開2008−250478号公報
【特許文献3】特開2013−178697号公報
【特許文献4】特開2008−146360号公報
【特許文献5】特開2011−113294号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
システム管理者が許可していないOSがパーソナルコンピュータにインストールされている場合、システム管理者が使用するサーバからユーザにOSの削除が要求される。しかしながら、ユーザがシステム管理者の要求に応じない場合、許可していないOSがパーソナルコンピュータから削除されないまま使用されてしまうという課題がある。また、特許文献1では、OSと管理OSとの二つのOSが必要になりシステムの構築や実際の制御が複雑になる。
【0005】
そこで、一側面では、本発明は、システム管理者が許可する環境下にパーソナルコンピュータを置くことを目的とする。
【課題を解決するための手段】
【0006】
一つの案では、パーティションGUIDを記録する揮発性記録装置と、ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するCPUと、を有し、前記CPUが実行する許可プログラムは、前記揮発性記録装置に記録されたパーティションGUIDと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションGUIDの起動情報を消去させる、情報処理装置が提供される。
【発明の効果】
【0007】
一側面によれば、システム管理者が許可する環境下にパーソナルコンピュータを置くことができる。
【図面の簡単な説明】
【0008】
図1】一実施形態にかかるシステム構成の一例を示す図。
図2】一実施形態にかかるPCの構成の一例を示す図。
図3】一実施形態にかかるフラッシュROMの構成の一例を示す図。
図4】一実施形態にかかるUEFIのファームウェアの起動シーケンスの一例を示す図。
図5】一実施形態にかかる起動設定変更処理フローの一例を示す図。
図6】一実施形態にかかる起動許可リストの一例を示す図。
図7】一実施形態にかかるGUIDリストの一例を示す図。
図8】一実施形態にかかる使用許可判定処理フローの一例を示す図。
図9】一実施形態にかかる使用許可リストの一例を示す図。
図10】一実施形態にかかるインストール情報保存処理フローの一例を示す図。
図11】一実施形態にかかるインストール情報リストの一例を示す図。
図12】一実施形態にかかるアプリケーション起動許可処理フローの一例を示す図。
図13】一実施形態にかかるインストール情報更新処理フローの一例を示す図。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【0010】
[システムの全体構成]
まず、本発明の一実施形態に係るシステムの構成について、図1を参照しながら説明する。本システムでは、複数台のパーソナルコンピュータ10(以下、「PC10」ともいう。)が、ネットワーク30を介して管理サーバ20に接続されている。
【0011】
PC10は、ネットワーク30に接続されており、管理サーバ20からネットワーク30を通じてPC10に対して通信ができる。管理サーバ20は、ネットワーク起動用サーバにもなっており、PC10は、管理サーバ20からネットワーク起動(いわゆるPXE起動)を行うことができるようになっている。PC10は、情報処理装置の一例である。ただし、情報処理装置は、PC10に限られず、例えば、タブレット型のコンピュータ、携帯情報端末等であってもよい。
【0012】
[PCの構成]
次に、PC10のハードウェア構成について図2を参照しながら説明する。PC10は、CPU(Central Processing Unit)1と、システムコントローラ2と、システムメモリ3と、フラッシュROM(Read Only Memory)4と、ネットワークコントローラ5と、ディスクコントローラ6と、表示コントローラ7と、入出力コントローラ8と、USB(Universal Serial Bus)ホストコントローラ9と、Video/Text RAM(Random Access Memory)11とを含む。
【0013】
システムコントローラ2は、CPU1及びシステムメモリ3に接続される。システムコントローラ2は、バスBを介して、フラッシュROM4、ネットワークコントローラ5、ディスクコントローラ6、表示コントローラ7、入出力コントローラ8、USBホストコントローラ9及びVideo/Text RAM11と接続される。バスBには、例えばPCI Express又はPCIのような拡張用バス12が接続される。
【0014】
図3に示すように、フラッシュROM4は、UEFI(Unified Extensible Firmware Interface)が実装されたシステムファームウェア40を有する。システムファームウェア40は、自己診断等の機能を有する。UEFIに対応したOSを起動させるため、ハードディスクドライブ(Hard Disk Drive:HDD61)のパーティションが、GPT(GUID Partition Table)に設定されている。GPTは、HDD61のパーティションテーブルの配置に関する規格であり、HDD61には、使用するOSに応じて一意に定められたGUID(Globally-Unique Identifier:図1参照)(以下、「パーティションGUID63」ともいう。)が設定されている。
【0015】
図3のシステムファームウェア40が格納されたフラッシュメモリにはNVRAM Variableと呼ばれる不揮発性記録領域が確保されている。NVRAM Variable43には外部からアクセスすることはできない。NVRAM Variable43にOS及びそのOSが使用するパーティション形式によって一意に決まるGUIDリスト41が保存されている。また、NVRAM Variable43には、管理サーバ20からOSのアプリケーションインストール情報(以下、「インストール情報」ともいう。)が記録されたインストール情報リスト42が格納されている。
【0016】
フラッシュROM4は、起動許可プログラム50、使用許可プログラム51及びインストール許可プログラム52を記録する。起動許可プログラム50は、OSの起動設定変更処理を行うための許可プログラムの一例である。使用許可プログラム51は、OSの使用許可判定処理を行うための許可プログラムの一例である。起動許可プログラム50及び使用許可プログラム51は一つに統一したプログラムにしてもよい。インストール許可プログラム52は、アプリケーションの起動許可処理を行うための許可プログラムの一例である。フラッシュROM4は、管理サーバ20から起動許可リスト21及び使用許可リスト22を取得してNVRAM Variable43に記録してもよい。
【0017】
図2に戻り、ネットワークコントローラ5は、ネットワーク30を介して管理サーバ20に接続されている。ディスクコントローラ6は、システムコントローラ2を介してCPU1からの指示に従ってHDD61を制御し、種々のプログラムや種々のデータの入出力を実行する。表示コントローラ7は、システムコントローラ2を介してCPU1からの指示に従ってディスプレイ71を制御し、種々の画面表示を実行する。入出力コントローラ8は、システムコントローラ2を介してCPU1からの指示に従ってキーボード81を制御し、キーボード81からの入力を実行する。
【0018】
USBホストコントローラ9は、システムコントローラ2を介してCPU1からの指示に従ってUSBポート91、92を制御し、USBポート91、92に接続された種々のデバイスについての入出力を実行する。USBポート91、92には、例えばマウス、プリンタ、送受信装置等が接続される。Video/Text RAM11は、画像情報やテキスト情報を記録する。
【0019】
システムコントローラ2は、PC10の全体を制御する。ユーザによりPC10の電源が投入されると、フラッシュROM4に格納されたUEFIを先頭から順に読み出してCPU1にロードする。CPU1は、UEFIを実行することにより、HDD61からオペレーティングシステム(OS)を読み出して、システムメモリ3上に常駐させ、OSを起動する。
【0020】
CPU1は、UEFIのシステムファームウェア40により自己診断を実行する。CPU1は、起動許可プログラム50、使用許可プログラム51及びインストール許可プログラム52を実行することで、OS及びアプリケーションの使用許可の判定処理やGUIDリスト41の起動設定変更処理を行う。
【0021】
CPU1は、システムメモリ3上のアプリケーションプログラムを実行する。アプリケーションプログラムは、例えば、CD−ROMやDVD等の記録媒体に格納され、記録媒体からCD−ROMドライブやDVDドライブ等を介してHDD61に入力され、HDD61からシステムメモリ3にロードされる。
【0022】
[起動シーケンス]
次に、図4に示すUEFIが実装されたシステムファームウェア40の起動シーケンスについて説明する。ユーザによりPC10の電源が投入されると(ステップS11)、フラッシュROM4のシステムファームウェア40が、先頭から順に、システムコントローラ2を介して、CPU1にロードされ、CPU1により各種処理が実行される。具体的には、最初に、CPU1は、システムファームウェア40に従いSEC処理を実行し(ステップS12)、次に、PEI処理を実行する(ステップS13)。これにより、システムメモリ3等の初期化処理が完了する。
【0023】
次に、CPU1は、DXE処理を実行する(ステップS14)。これにより、USBポート91、92、拡張用バス12に接続されたSerial ATAを含む各種のバスやオンボードデバイスの初期化が実行される。
【0024】
次に、CPU1は、OSの起動準備を含むブートマネージャ処理を実行する(ステップS15)。この後、OSブートローダの処理が実行され(ステップS16)、OSブートローダがOSを起動する(ステップS17)。
【0025】
[起動設定変更処理]
次に、本実施形態にかかる起動設定変更処理について、図5に示す起動設定変更処理フローを参照して説明する。PC10は、起動シーケンスにおいて実行される起動優先順位テーブルを、起動デバイスの優先順序の設定の最上位がネットワークとなるように事前に設定しておく。PC10の電源投入後(ステップS21)、CPU1にロードされたシステムファームウェア40により、図4のステップS12〜S14と同一のSEC/PEI/DXEの処理(ステップS22)が実行される。そして、図4のステップS15と同一のブートマネージャの処理(ステップS23)が実行される。次に、ネットワーク30を介して管理サーバ20からPC10が起動される(ステップS24)。
【0026】
管理サーバ20(図1参照)は、図6に一例を示す起動許可リスト21を管理する。管理サーバ20は、複数のPC10のそれぞれに対応した起動許可リスト21を有する。起動許可リスト21は、パーティションGUID21a及び許可フラグ21bを記録する。例えば、管理サーバ20は、パーティションGUID21aのOS_Aの起動のみをPC10に許可する場合、OS_Aに対応する許可フラグ21bに「可」を設定し、それ以外のOS(OS_B〜OS_F)に対応する許可フラグ21bに「不可」を設定する。設定後はネットワーク起動したOSから再起動が行われ、起動許可リスト21に応じたGUIDリスト41の設定が行われる。
【0027】
図3に示すように、NVRAM Variable43には、GUIDリスト41が格納されている。図7に示すGUIDリスト41の許可フラグ41bが「不可」となっているパーティションGUID41aに設定されたOSは起動できないようになっている。パーティションGUID41aは、OSのリストを記録し、許可フラグ41bは、各OSに対する起動(使用)の許可又は不許可を記録する。
【0028】
なお、図6の起動許可リスト21のパーティションGUID21a及び図7のGUIDリスト41のパーティションGUID41aには簡略化のためOS名のみが図示されている。実際には、パーティションGUID21a及びパーティションGUID41aには、OSに対応するパーティションGUIDが記録されている。
【0029】
図5に戻り、管理サーバ20からのアクセスに応答して、CPU1は、システムファームウェア40のランタイムで動作するNVRAM Variable43にアクセスするファンクション(ランタイムファンクション)を実行し、サーバの起動許可リスト21にアクセスする(ステップS25)。
【0030】
CPU1は、以下の処理においてNVRAM Variable43に存在するGUIDリスト41のパーティションGUID41aのうち、管理サーバ20から許可されないOSに対する許可フラグ41bを「不可」に設定する。これらのUEFIにおけるランタイムファンクションはシステムファームウェア40に実装され、UEFIの仕様ではProtocolと呼ばれるC言語によるソフトウェアインタフェース群が定義されている。NVRAM Variable43にアクセスするファンクションについてもProtocolによって定義される。例えば、実際の呼び出し例としてNVRAM Variable43の呼び出しにRunTime→GetVariable()、NVRAM Variable43の書き込みにRunTime→SetVariable()というようにProtocolによって定義され得る。このProtocolは、システムファームウェア40の設計者によってシステム独自のProtocolを追加することも可能である。
【0031】
CPU1は、ランタイムファンクションを実行し、管理サーバ20の起動許可リスト21へのアクセスに成功したかを判定する(ステップS26)。成功しなかった場合、本処理を終了する。成功した場合、CPU1は、NVRAM Variable43に記録されたGUIDリスト41をロードする(ステップS27)。
【0032】
次に、CPU1は、GUIDリスト41のロードに成功したかを判定する(ステップS28)。成功しなかった場合、本処理を終了する。成功した場合、CPU1は、GUIDリスト41に記録されたパーティションGUID41aと管理サーバ20の起動許可リスト21に記録されたパーティションGUID21aとを比較する(ステップS29)。
【0033】
CPU1は、パーティションGUID41a及びパーティションGUID21aが一致しているかを判定し(ステップS30)、パーティションGUID41a及びパーティションGUID21aが一致していないと判定した場合、ステップS32に進む。一方、CPU1は、パーティションGUID41a及びパーティションGUID21aが一致していると判定した場合、一致したパーティションGUID41aに対応する許可フラグ41bに、該当起動許可リスト21の許可フラグ21bの値に設定し、ステップS32に進む。
【0034】
CPU1は、ステップS32において、GUIDリスト41又は起動許可リスト21のが終了したかを判定する(ステップS32)。GUIDリスト41又は起動許可リスト21が終了していない場合、ステップS29に戻り、CPU1は、次のパーティションGUID21b、41bを比較し(ステップS29)、ステップS32においてGUIDリスト41又は起動許可リスト21のが終了するまで、ステップS29〜S32を繰り返す。
【0035】
以上によれば、図1に示すように、PC10はネットワーク30に接続され、このネットワーク30を通じてフラッシュROM4の一部領域に設定されたNVRAM Variable43にGUIDリスト41を記録する。そして、起動許可リスト21のパーティションGUID21aに一致するパーティションGUID41aに対応する許可フラグ41bに、パーティションGUID21aに対応する許可フラグ21bに設定された許可又は不許可を示す値を設定する。
【0036】
このようにしてGUIDリスト41の許可フラグ41bをUEFIのランタイムファンクションで操作できるようにする。これにより、ネットワーク30に接続された管理サーバ20からの指示に従い、起動許可リスト21にて使用が許可されているか否かを示す許可フラグ21bと同じ値にGUIDリスト41の許可フラグ41bの値を書き替えることができる。これにより、システムファームウェア40に対してGUIDリスト41の許可フラグ41bにおいて許可されているパーティションGUID41aに設定されたOSのみ起動させることができる。つまり、管理サーバ20により管理される起動許可リスト21に基づき、システム管理者が許可していないPC10上のOSの起動を許可しないようにすることができる。これにより、システム管理者が許可する環境下にPC10を置くことができる。
【0037】
[使用許可判定処理]
次に、本実施形態にかかる使用許可判定処理について、図8に示す使用許可判定処理フローを参照して説明する。図5の起動設定変更処理の場合と同様に、PC10はネットワーク30に接続されている。また、管理サーバ20は、使用許可リスト(図1参照)を管理する。図9に使用許可リスト22の一例を示す。使用許可リスト22には、パーティションGUID22aとこれに対応する許可フラグ22bが記録されている。
【0038】
また、図9の使用許可リスト22のパーティションGUID22aには起動許可リスト21と同様に簡略化のためOS名のみが図示されているが、実際にはOSに対応するパーティションGUIDが記録されている。
【0039】
本実施形態では、起動許可リスト21と使用許可リスト22とは別々に管理されているが、起動許可リスト21と使用許可リスト22とは同じであってもよい。つまり、起動許可リスト21と使用許可リスト22とはOSの起動(使用)の許可又は不許可を管理する許可リストの一例である。
【0040】
使用許可判定処理では、PC10の電源投入後(ステップS21)、CPU1により実行されるシステムファームウェア40が、SEC/PEI/DXEの処理(ステップS22)及びブートマネージャの処理(ステップS23)を実行し、ネットワーク30を介して管理サーバ20からPC10を起動する(ステップS24)。
【0041】
ネットワーク30から起動されたPC10のCPU1は、例えばHDD61のパーティションGUID63を検索する(ステップS31)。HDD61のパーティションGUID63が検出されなかった場合、ステップS39に進む。
【0042】
HDD61のパーティションGUID63が検出された場合、CPU1は、読み取ったパーティションGUID63と管理サーバ20側にある使用許可リスト22とを比較し(ステップS32)、パーティションGUID63と使用許可リスト22のパーティションGUID22aとが一致するかを判定する(ステップS34)。一致しない場合、ステップS31に戻り、次のHDD61のパーティションGUID63についての検索が実行される。
【0043】
一方、上記パーティションGUIDが一致する場合、CPU1は、使用許可リスト22の該当パーティションGUID22aに対応する許可フラグ22bが該当OSの使用を許可するかを判定する(ステップS35)。許可フラグ22bが使用を許可する場合、ステップS31に戻り、OSは、次のHDD61のパーティションGUID63についての検索が実行される。
【0044】
一方、許可フラグ22bが使用を許可しない場合、CPU1は、管理サーバ20の指示に従いHDD61の該当パーティションGUIDを消去するランタイムファンクションを発行する(ステップS36)。OSは、このHDD消去用のランタイムファンクションによって該当パーティションGUIDの起動情報を消去する(ステップS37)。
【0045】
このHDD消去用のランタイムファンクションは、システムファームウェア40に実装され、前述のProtocolによって定義される。本実施形態では、パーティション消去用のランタイムで動作するProtocolを新たにシステムファームウェアに定義する。例えばRunTime−>ErasePartitionInfo()と定義し、この関数では例えば簡易にはGUIDパーティションテーブルヘッダを消去することで起動不可としてもよいし、パーティション区画をゼロクリアするようにしてもよい。パーソナルコンピュータに搭載されているストレージがSSD(Solid State Drive)であれば全体を消去するコマンドを発行してもよい。管理サーバ20側は、このProtocolを呼び出してパーティションGUIDを消去する。本実施形態では、HDD61のパーティションGUID63にWindows(登録商標)以外のUEFI対応OSのパーティションが存在していた場合、該当パーティションGUIDの削除が行われる。
【0046】
次に、OSが使用許可リスト22を終了したかを判定する(ステップS38)。使用許可リスト22が終了していない場合、ステップS31に戻り、OSは、次のHDD61のパーティションGUID63の検索が実行される。使用許可リスト22が終了している場合、HDD61のパーティションGUID63の全パーティションの検索が終了したかを判定する(ステップS39)。全パーティションの検索が終了していなければ、ステップS31に戻り、全パーティションの検索が終了していれば、本処理を終了する。
【0047】
以上によれば、管理サーバ20により管理される使用許可リスト22に基づき、システム管理者が許可していないOSの使用を、管理サーバ20から許可しないようにすることができる。これにより、システム管理者が許可する環境下にPC10を置くことができる。
【0048】
ただし、CPU1は、読み取ったパーティションGUID63と管理サーバ20側にある使用許可リスト22とを比較する替わりに、パーティションGUID63とNVRAMに保存されたGUIDリスト41とを比較してもよい。
【0049】
なお、図5の起動設定変更処理及び図8の使用許可判定処理のフローチャートにある動作において、PC10はActive Management Technologyのようなシャットダウン中でもネットワーク30を介して操作できるような構成を持つハードウェアでもよい。この場合、管理サーバ20側からPC10の電源を投入し、ネットワーク30を起動するような操作が行われる。
【0050】
[アプリケーション起動許可処理]
次に、本実施形態に係るアプリケーション起動許可処理の一例について説明する。本実施形態に係るアプリケーション起動許可処理は、図10のインストール情報保存処理を実行した後に行われる。よって、図10のインストール情報保存処理について説明した後、図12を参照してアプリケーション起動許可処理について説明する。
(インストール情報保存処理)
図10のインストール情報保存処理では、管理サーバ20からPC10の電源投入が指示されると(ステップS41)、PC10が起動する(ステップS42)。次に、管理サーバからインストール情報リストをNVRAM Variable43で渡す(ステップS43)。次に、PC10は、NVRAM Variable43にインストール情報リスト42を保存し(ステップS44)、本処理を終了する。
【0051】
このインストール情報リスト42は、OSにおけるアプリケーションのインストール及び設定に関する情報が入っており、例えばWindows(登録商標)に組み込まれているレジストリ情報等が該当する。管理サーバ20は、予めOSとアプリケーションがインストールされているPC10からネットワーク30経由でアプリケーションに関する情報を取得し、インストール情報リスト42を作成しておく。
【0052】
図11に示すように、インストール情報リスト42には、インストール情報42a及びインストールされたアプリケーションの起動可又は不可のフラグ(アプリ起動許可フラグ42b)が設けられており、この部分については後述の通り別に管理を行う。以後の説明はインストール情報リスト42にインストール情報42a及びアプリ起動許可フラグ42bが対応付けて記録されている。
(アプリケーション起動許可処理)
次に、本実施形態にかかるアプリケーション起動許可処理について、図12を参照して説明する。図12は、OS起動からアプリケーションの起動、アプリケーションの起動の禁止までの処理の流れを示す。前提として、PC10は、ネットワーク30から電源を投入できる状態に設定されているものとする。
【0053】
管理サーバ20からネットワーク30を経由してPC10の電源が投入されると、Boot ManagerからACPI OSが起動し、OS起動中にOSのインストール情報の取得処理が行われる(ステップS51)。これは、例えばACPI OSの制御用の言語であるACPI Source Language(ASL)で記述され、ACPI OS起動時に最初に実行されるINI()という処理(ASLではMethodと呼ぶ)の中で取得処理を実行することで実現される。
【0054】
次に、PC10は、管理サーバ20にあるネットワーク起動を行い、システムファームウェア40は、管理サーバ20からNVRAMにインストール情報リスト42を取得する(ステップS52)。具体的には、管理サーバ20からNVRAM Variable43の書き込み処理を受けて、PC10のNVRAM Variable43にインストール情報リスト42が保存される。本実施形態にかかるアプリケーション起動許可処理では、管理サーバ20から書き込まれたNVRAMにあるインストール情報が使用される。
【0055】
CPU1は、システムファームウェア40によりNVRAMに記録されたインストール情報リスト42内のインストール情報42aと、OSのインストール情報とを比較し、インストール情報が一致するかを判定する(ステップS53)。インストール情報が一致した場合、ステップS56に進む。
【0056】
インストール情報が一致しない場合、システムファームウェア40は、OSのインストール情報から、追加してインストールされたアプリケーションを検索する(ステップ54)。次に、システムファームウェア40は、インストール情報リスト42の追加アプリケーションのインストール情報42aに対応するアプリ起動許可フラグ42bを「起動不可」に設定する。これにより、以下のツールによって、検索された追加アプリケーションについては、システム管理者に無断でインストールしたアプリケーションとみなし、当該追加アプリケーションの起動ができないようにする。
【0057】
OS起動中、例えば、アプリケーション起動抑止ツールがシステムファームウェア40からロードされる(ステップS56)。ロードの方法の一例としては、例えばOS起動時にアプリケーション起動抑止ツールをシステムメモリ3に展開する。OSは、アプリケーション起動抑止ツールを、OSのサービスとして動作が可能な状態にする(ステップS57)。
【0058】
このアプリケーション起動抑止ツールは、起動されるアプリケーションを監視しており、ユーザがアプリケーションを起動すると(ステップS58)、ユーザが起動したアプリケーションとインストール情報リスト42とを比較する(ステップS59)。次に、アプリケーション起動抑止ツールは、起動しようとしたアプリケーションが起動可能かを判定する(ステップ60)。インストール情報42aの該当アプリケーションのアプリ起動許可フラグ42bが、起動可能を示す場合、該当アプリケーションを起動し(ステップS61)、本処理を終了する。
【0059】
インストール情報42aの該当アプリケーションのアプリ起動許可フラグ42bが、起動不可を示す場合、表示コントローラ7は、ディスプレイ71に「そのアプリケーションは起動できません」とメッセージを表示し(ステップS62)、起動しようとしたアプリケーションを終了し、本処理を終了する。ただし、エラーメッセージは、これに限られず、アプリケーションの起動を禁止する表示であればよい。
(シャットダウン及び再起動時の動作)
最後に、シャットダウン及び再起動時の動作について、図13を参照して説明する。ユーザの操作に応じて、シャットダウン又は再起動が選択されると(ステップS71)、CPU1は、OSによりシャットダウン又は再起動に遷移を開始する(ステップS72)。そして、シャットダウン又は再起動処理中に実行されるシステムファームウェア40のハンドラにて、OSのインストール情報が取得される(ステップS73)。これは、次回のPC10起動時に参照するために取得され、取得されたOSのインストール情報は、NVRAM Variable43に保存される(ステップS74)。OSのインストール情報がNVRAM Variable43に保存された後、CPU1がシャットダウン又は再起動を実行する(ステップS75)。
【0060】
以上によれば、管理サーバ20から渡されるインストール情報リスト42に基づき、システム管理者が許可していないアプリケーションの使用を許可しないようにすることができる。これにより、システム管理者が許可する環境下にPC10を置くことができる。
【0061】
以上に説明したように、本実施形態に係るシステムによれば、管理サーバ20からネットワーク30に接続されたPC10のOSやアプリケーションの起動設定変更や使用許可判定を一斉に行うことができる。これにより、複数のPC10のOSやアプリケーションの使用の許可についても一斉に行うことができる。また、システム管理者が許可しないOSのパーティションGUIDを一括して削除できる。これにより、システム管理者のPC10の管理の効率化やユーザによる勝手なOSやアプリケーションの使用を防止することができる。
【0062】
なお、本実施形態において使用した図6の起動許可リスト21、図9の使用許可リスト22及び図11のインストール情報リスト42は、システム管理者が使用する管理サーバ20において、例えば事務所に配備されたパーソナルコンピュータ群のアプリケーションの一斉の管理に使うことができる。
【0063】
例えば、管理サーバ20は、起動許可リスト21等をPC10群に一斉に配信することで、システム管理者は多数のユーザに対して許可されていないアプリケーションの起動の禁止や許可を行うことができる。また、起動許可リスト21等は管理サーバ20から配信されるため、既存のシステムポリシー設定アプリケーションのようなローカル端末側で設定するものとは違い、ユーザがOS等を変更することはできず、管理サーバ20から一斉に設定することができる。
【0064】
さらに、例えばNVRAM Variable43に保存されたGUIDリスト41を管理サーバ20側からダイナミックに変更することで、ユーザが行う所定の使用許可アプリケーションを使った不正行為に対して起動を禁止することができる。また、上記実施形態を用いて、逆に使用不許可アプリケーションを一時的に使用可能にしたりすることができる。
【0065】
以上、情報処理装置を上記実施形態により説明したが、本発明にかかる情報処理装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【0066】
例えば、上記実施形態に係るシステムの構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば、情報処理装置がネットワークを介して互いに接続されているシステム形態は、本実施形態に係るシステムの一態様であり、これに限定されない。例えば、本実施形態に係るシステムに含まれる情報処理装置の台数は、1台又は2台以上であり得る。複数台の情報処理装置が設置される場合、管理サーバは、情報処理装置毎に起動許可リスト等を保存し、管理する。
【0067】
以上の説明に関し、更に以下の項を開示する。
(付記1)
パーティションGUIDを記録する揮発性記録装置と、
ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するCPUと、を有し、
前記CPUが実行する許可プログラムは、前記揮発性記録装置に記録されたパーティションGUIDと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションGUIDの起動情報を消去させる、
情報処理装置。
(付記2)
サーバが管理する前記許可リストをGUIDリストに記録する不揮発性記録装置を有し、
前記CPUが実行する許可プログラムは、前記許可リストと前記GUIDリストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていないパーティションGUIDの起動を許可しないように前記GUIDリストの設定を変更させる、
付記1に記載の情報処理装置。
(付記3)
前記不揮発性記録装置は、サーバが管理するインストール情報リストを記録し、
前記CPUが実行する許可プログラムは、前記インストール情報リストとOSのインストール情報とを比較した結果に応じて、サーバの指示に従い前記OSのインストール情報に含まれるアプリケーションのうち、前記インストール情報リストにおいて許可されていないアプリケーションの起動を禁止させる、
付記1又は2に記載の情報処理装置。
(付記4)
シャットダウン又は再起動の要求に応じて、前記不揮発性記録装置が前記インストール情報リストを記録し、
前記CPUは、前記インストール情報リストが前記不揮発性記録装置に記録された後、前記シャットダウン又は再起動を実行する、
付記3に記載の情報処理装置。
【符号の説明】
【0068】
1:CPU
3:システムメモリ
4:フラッシュROM
10:PC
20:管理サーバ
21:起動許可リスト
22:使用許可リスト
30:ネットワーク
40:システムファームウェア
41:GUIDリスト
42:インストール情報リスト
61:HDD
63:パーティションGUID
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13