(57)【特許請求の範囲】
【請求項１】
パーティションＧＵＩＤを記録する第１の不揮発性記録装置と、
ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するＣＰＵと、を有し、
前記ＣＰＵが実行する許可プログラムは、前記第１の不揮発性記録装置に記録されたパーティションＧＵＩＤと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションＧＵＩＤの起動情報を消去させる、
情報処理装置。
【請求項２】
サーバが管理する前記許可リストをＧＵＩＤリストに記録する第２の不揮発性記録装置を有し、
前記ＣＰＵが実行する許可プログラムは、前記許可リストと前記ＧＵＩＤリストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていないパーティションＧＵＩＤの起動を許可しないように前記ＧＵＩＤリストの設定を変更させる、
請求項１に記載の情報処理装置。
【請求項３】
サーバが管理するインストール情報リストを記録する第２の不揮発性記録装置を有し、
前記ＣＰＵが実行する許可プログラムは、前記インストール情報リストとＯＳのインストール情報とを比較した結果に応じて、サーバの指示に従い前記ＯＳのインストール情報に含まれるアプリケーションのうち、前記インストール情報リストにおいて許可されていないアプリケーションの起動を禁止させる、
請求項１に記載の情報処理装置。
【請求項４】
シャットダウン又は再起動の要求に応じて、前記第２の不揮発性記録装置が前記インストール情報リストを記録し、
前記ＣＰＵは、前記インストール情報リストが前記第２の不揮発性記録装置に記録された後、前記シャットダウン又は再起動を実行する、
請求項３に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータを管理するシステム管理者は、ユーザに勝手にＯＳを変更させず、システム管理者が許可する環境下にパーソナルコンピュータを置きたいという要望がある。そこで、端末のユーザ作業においてＯＳの入出力情報を管理する管理ＯＳを設け、管理ＯＳが管理サーバにより設定された制御条件の判定及びユーザ作業においてＯＳ情報の格納された記憶装置情報の制御を行う技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３０５２８７号公報
【特許文献２】特開２００８−２５０４７８号公報
【特許文献３】特開２０１３−１７８６９７号公報
【特許文献４】特開２００８−１４６３６０号公報
【特許文献５】特開２０１１−１１３２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
システム管理者が許可していないＯＳがパーソナルコンピュータにインストールされている場合、システム管理者が使用するサーバからユーザにＯＳの削除が要求される。しかしながら、ユーザがシステム管理者の要求に応じない場合、許可していないＯＳがパーソナルコンピュータから削除されないまま使用されてしまうという課題がある。また、特許文献１では、ＯＳと管理ＯＳとの二つのＯＳが必要になりシステムの構築や実際の制御が複雑になる。
【０００５】
そこで、一側面では、本発明は、システム管理者が許可する環境下にパーソナルコンピュータを置くことを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、パーティションＧＵＩＤを記録する揮発性記録装置と、ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するＣＰＵと、を有し、前記ＣＰＵが実行する許可プログラムは、前記揮発性記録装置に記録されたパーティションＧＵＩＤと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションＧＵＩＤの起動情報を消去させる、情報処理装置が提供される。
【発明の効果】
【０００７】
一側面によれば、システム管理者が許可する環境下にパーソナルコンピュータを置くことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態にかかるシステム構成の一例を示す図。
【図２】一実施形態にかかるＰＣの構成の一例を示す図。
【図３】一実施形態にかかるフラッシュＲＯＭの構成の一例を示す図。
【図４】一実施形態にかかるＵＥＦＩのファームウェアの起動シーケンスの一例を示す図。
【図５】一実施形態にかかる起動設定変更処理フローの一例を示す図。
【図６】一実施形態にかかる起動許可リストの一例を示す図。
【図７】一実施形態にかかるＧＵＩＤリストの一例を示す図。
【図８】一実施形態にかかる使用許可判定処理フローの一例を示す図。
【図９】一実施形態にかかる使用許可リストの一例を示す図。
【図１０】一実施形態にかかるインストール情報保存処理フローの一例を示す図。
【図１１】一実施形態にかかるインストール情報リストの一例を示す図。
【図１２】一実施形態にかかるアプリケーション起動許可処理フローの一例を示す図。
【図１３】一実施形態にかかるインストール情報更新処理フローの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１０】
［システムの全体構成］
まず、本発明の一実施形態に係るシステムの構成について、図１を参照しながら説明する。本システムでは、複数台のパーソナルコンピュータ１０（以下、「ＰＣ１０」ともいう。）が、ネットワーク３０を介して管理サーバ２０に接続されている。
【００１１】
ＰＣ１０は、ネットワーク３０に接続されており、管理サーバ２０からネットワーク３０を通じてＰＣ１０に対して通信ができる。管理サーバ２０は、ネットワーク起動用サーバにもなっており、ＰＣ１０は、管理サーバ２０からネットワーク起動（いわゆるＰＸＥ起動）を行うことができるようになっている。ＰＣ１０は、情報処理装置の一例である。ただし、情報処理装置は、ＰＣ１０に限られず、例えば、タブレット型のコンピュータ、携帯情報端末等であってもよい。
【００１２】
［ＰＣの構成］
次に、ＰＣ１０のハードウェア構成について図２を参照しながら説明する。ＰＣ１０は、ＣＰＵ（Central Processing Unit）１と、システムコントローラ２と、システムメモリ３と、フラッシュＲＯＭ（Read Only Memory）４と、ネットワークコントローラ５と、ディスクコントローラ６と、表示コントローラ７と、入出力コントローラ８と、ＵＳＢ（Universal Serial Bus）ホストコントローラ９と、Ｖｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ（Random Access Memory）１１とを含む。
【００１３】
システムコントローラ２は、ＣＰＵ１及びシステムメモリ３に接続される。システムコントローラ２は、バスＢを介して、フラッシュＲＯＭ４、ネットワークコントローラ５、ディスクコントローラ６、表示コントローラ７、入出力コントローラ８、ＵＳＢホストコントローラ９及びＶｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ１１と接続される。バスＢには、例えばＰＣＩ  Ｅｘｐｒｅｓｓ又はＰＣＩのような拡張用バス１２が接続される。
【００１４】
図３に示すように、フラッシュＲＯＭ４は、ＵＥＦＩ（Unified Extensible Firmware Interface）が実装されたシステムファームウェア４０を有する。システムファームウェア４０は、自己診断等の機能を有する。ＵＥＦＩに対応したＯＳを起動させるため、ハードディスクドライブ（Hard Disk Drive：ＨＤＤ６１）のパーティションが、ＧＰＴ（GUID Partition Table）に設定されている。ＧＰＴは、ＨＤＤ６１のパーティションテーブルの配置に関する規格であり、ＨＤＤ６１には、使用するＯＳに応じて一意に定められたＧＵＩＤ（Globally-Unique Identifier：図１参照）（以下、「パーティションＧＵＩＤ６３」ともいう。）が設定されている。
【００１５】
図３のシステムファームウェア４０が格納されたフラッシュメモリにはＮＶＲＡＭ  Ｖａｒｉａｂｌｅと呼ばれる不揮発性記録領域が確保されている。ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３には外部からアクセスすることはできない。ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にＯＳ及びそのＯＳが使用するパーティション形式によって一意に決まるＧＵＩＤリスト４１が保存されている。また、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３には、管理サーバ２０からＯＳのアプリケーションインストール情報（以下、「インストール情報」ともいう。）が記録されたインストール情報リスト４２が格納されている。
【００１６】
フラッシュＲＯＭ４は、起動許可プログラム５０、使用許可プログラム５１及びインストール許可プログラム５２を記録する。起動許可プログラム５０は、ＯＳの起動設定変更処理を行うための許可プログラムの一例である。使用許可プログラム５１は、ＯＳの使用許可判定処理を行うための許可プログラムの一例である。起動許可プログラム５０及び使用許可プログラム５１は一つに統一したプログラムにしてもよい。インストール許可プログラム５２は、アプリケーションの起動許可処理を行うための許可プログラムの一例である。フラッシュＲＯＭ４は、管理サーバ２０から起動許可リスト２１及び使用許可リスト２２を取得してＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に記録してもよい。
【００１７】
図２に戻り、ネットワークコントローラ５は、ネットワーク３０を介して管理サーバ２０に接続されている。ディスクコントローラ６は、システムコントローラ２を介してＣＰＵ１からの指示に従ってＨＤＤ６１を制御し、種々のプログラムや種々のデータの入出力を実行する。表示コントローラ７は、システムコントローラ２を介してＣＰＵ１からの指示に従ってディスプレイ７１を制御し、種々の画面表示を実行する。入出力コントローラ８は、システムコントローラ２を介してＣＰＵ１からの指示に従ってキーボード８１を制御し、キーボード８１からの入力を実行する。
【００１８】
ＵＳＢホストコントローラ９は、システムコントローラ２を介してＣＰＵ１からの指示に従ってＵＳＢポート９１、９２を制御し、ＵＳＢポート９１、９２に接続された種々のデバイスについての入出力を実行する。ＵＳＢポート９１、９２には、例えばマウス、プリンタ、送受信装置等が接続される。Ｖｉｄｅｏ／Ｔｅｘｔ  ＲＡＭ１１は、画像情報やテキスト情報を記録する。
【００１９】
システムコントローラ２は、ＰＣ１０の全体を制御する。ユーザによりＰＣ１０の電源が投入されると、フラッシュＲＯＭ４に格納されたＵＥＦＩを先頭から順に読み出してＣＰＵ１にロードする。ＣＰＵ１は、ＵＥＦＩを実行することにより、ＨＤＤ６１からオペレーティングシステム（ＯＳ）を読み出して、システムメモリ３上に常駐させ、ＯＳを起動する。
【００２０】
ＣＰＵ１は、ＵＥＦＩのシステムファームウェア４０により自己診断を実行する。ＣＰＵ１は、起動許可プログラム５０、使用許可プログラム５１及びインストール許可プログラム５２を実行することで、ＯＳ及びアプリケーションの使用許可の判定処理やＧＵＩＤリスト４１の起動設定変更処理を行う。
【００２１】
ＣＰＵ１は、システムメモリ３上のアプリケーションプログラムを実行する。アプリケーションプログラムは、例えば、ＣＤ−ＲＯＭやＤＶＤ等の記録媒体に格納され、記録媒体からＣＤ−ＲＯＭドライブやＤＶＤドライブ等を介してＨＤＤ６１に入力され、ＨＤＤ６１からシステムメモリ３にロードされる。
【００２２】
［起動シーケンス］
次に、図４に示すＵＥＦＩが実装されたシステムファームウェア４０の起動シーケンスについて説明する。ユーザによりＰＣ１０の電源が投入されると（ステップＳ１１）、フラッシュＲＯＭ４のシステムファームウェア４０が、先頭から順に、システムコントローラ２を介して、ＣＰＵ１にロードされ、ＣＰＵ１により各種処理が実行される。具体的には、最初に、ＣＰＵ１は、システムファームウェア４０に従いＳＥＣ処理を実行し（ステップＳ１２）、次に、ＰＥＩ処理を実行する（ステップＳ１３）。これにより、システムメモリ３等の初期化処理が完了する。
【００２３】
次に、ＣＰＵ１は、ＤＸＥ処理を実行する（ステップＳ１４）。これにより、ＵＳＢポート９１、９２、拡張用バス１２に接続されたＳｅｒｉａｌ ＡＴＡを含む各種のバスやオンボードデバイスの初期化が実行される。
【００２４】
次に、ＣＰＵ１は、ＯＳの起動準備を含むブートマネージャ処理を実行する（ステップＳ１５）。この後、ＯＳブートローダの処理が実行され（ステップＳ１６）、ＯＳブートローダがＯＳを起動する（ステップＳ１７）。
【００２５】
［起動設定変更処理］
次に、本実施形態にかかる起動設定変更処理について、図５に示す起動設定変更処理フローを参照して説明する。ＰＣ１０は、起動シーケンスにおいて実行される起動優先順位テーブルを、起動デバイスの優先順序の設定の最上位がネットワークとなるように事前に設定しておく。ＰＣ１０の電源投入後（ステップＳ２１）、ＣＰＵ１にロードされたシステムファームウェア４０により、図４のステップＳ１２〜Ｓ１４と同一のＳＥＣ／ＰＥＩ／ＤＸＥの処理（ステップＳ２２）が実行される。そして、図４のステップＳ１５と同一のブートマネージャの処理（ステップＳ２３）が実行される。次に、ネットワーク３０を介して管理サーバ２０からＰＣ１０が起動される（ステップＳ２４）。
【００２６】
管理サーバ２０（図１参照）は、図６に一例を示す起動許可リスト２１を管理する。管理サーバ２０は、複数のＰＣ１０のそれぞれに対応した起動許可リスト２１を有する。起動許可リスト２１は、パーティションＧＵＩＤ２１ａ及び許可フラグ２１ｂを記録する。例えば、管理サーバ２０は、パーティションＧＵＩＤ２１ａのＯＳ＿Ａの起動のみをＰＣ１０に許可する場合、ＯＳ＿Ａに対応する許可フラグ２１ｂに「可」を設定し、それ以外のＯＳ（ＯＳ＿Ｂ〜ＯＳ＿Ｆ）に対応する許可フラグ２１ｂに「不可」を設定する。設定後はネットワーク起動したＯＳから再起動が行われ、起動許可リスト２１に応じたＧＵＩＤリスト４１の設定が行われる。
【００２７】
図３に示すように、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３には、ＧＵＩＤリスト４１が格納されている。図７に示すＧＵＩＤリスト４１の許可フラグ４１ｂが「不可」となっているパーティションＧＵＩＤ４１ａに設定されたＯＳは起動できないようになっている。パーティションＧＵＩＤ４１ａは、ＯＳのリストを記録し、許可フラグ４１ｂは、各ＯＳに対する起動（使用）の許可又は不許可を記録する。
【００２８】
なお、図６の起動許可リスト２１のパーティションＧＵＩＤ２１ａ及び図７のＧＵＩＤリスト４１のパーティションＧＵＩＤ４１ａには簡略化のためＯＳ名のみが図示されている。実際には、パーティションＧＵＩＤ２１ａ及びパーティションＧＵＩＤ４１ａには、ＯＳに対応するパーティションＧＵＩＤが記録されている。
【００２９】
図５に戻り、管理サーバ２０からのアクセスに応答して、ＣＰＵ１は、システムファームウェア４０のランタイムで動作するＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にアクセスするファンクション（ランタイムファンクション）を実行し、サーバの起動許可リスト２１にアクセスする（ステップＳ２５）。
【００３０】
ＣＰＵ１は、以下の処理においてＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に存在するＧＵＩＤリスト４１のパーティションＧＵＩＤ４１ａのうち、管理サーバ２０から許可されないＯＳに対する許可フラグ４１ｂを「不可」に設定する。これらのＵＥＦＩにおけるランタイムファンクションはシステムファームウェア４０に実装され、ＵＥＦＩの仕様ではＰｒｏｔｏｃｏｌと呼ばれるＣ言語によるソフトウェアインタフェース群が定義されている。ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にアクセスするファンクションについてもＰｒｏｔｏｃｏｌによって定義される。例えば、実際の呼び出し例としてＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３の呼び出しにＲｕｎＴｉｍｅ→ＧｅｔＶａｒｉａｂｌｅ（）、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３の書き込みにＲｕｎＴｉｍｅ→ＳｅｔＶａｒｉａｂｌｅ（）というようにＰｒｏｔｏｃｏｌによって定義され得る。このＰｒｏｔｏｃｏｌは、システムファームウェア４０の設計者によってシステム独自のＰｒｏｔｏｃｏｌを追加することも可能である。
【００３１】
ＣＰＵ１は、ランタイムファンクションを実行し、管理サーバ２０の起動許可リスト２１へのアクセスに成功したかを判定する（ステップＳ２６）。成功しなかった場合、本処理を終了する。成功した場合、ＣＰＵ１は、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に記録されたＧＵＩＤリスト４１をロードする（ステップＳ２７）。
【００３２】
次に、ＣＰＵ１は、ＧＵＩＤリスト４１のロードに成功したかを判定する（ステップＳ２８）。成功しなかった場合、本処理を終了する。成功した場合、ＣＰＵ１は、ＧＵＩＤリスト４１に記録されたパーティションＧＵＩＤ４１ａと管理サーバ２０の起動許可リスト２１に記録されたパーティションＧＵＩＤ２１ａとを比較する（ステップＳ２９）。
【００３３】
ＣＰＵ１は、パーティションＧＵＩＤ４１ａ及びパーティションＧＵＩＤ２１ａが一致しているかを判定し（ステップＳ３０）、パーティションＧＵＩＤ４１ａ及びパーティションＧＵＩＤ２１ａが一致していないと判定した場合、ステップＳ３２に進む。一方、ＣＰＵ１は、パーティションＧＵＩＤ４１ａ及びパーティションＧＵＩＤ２１ａが一致していると判定した場合、一致したパーティションＧＵＩＤ４１ａに対応する許可フラグ４１ｂに、該当起動許可リスト２１の許可フラグ２１ｂの値に設定し、ステップＳ３２に進む。
【００３４】
ＣＰＵ１は、ステップＳ３２において、ＧＵＩＤリスト４１又は起動許可リスト２１のが終了したかを判定する（ステップＳ３２）。ＧＵＩＤリスト４１又は起動許可リスト２１が終了していない場合、ステップＳ２９に戻り、ＣＰＵ１は、次のパーティションＧＵＩＤ２１ｂ、４１ｂを比較し（ステップＳ２９）、ステップＳ３２においてＧＵＩＤリスト４１又は起動許可リスト２１のが終了するまで、ステップＳ２９〜Ｓ３２を繰り返す。
【００３５】
以上によれば、図１に示すように、ＰＣ１０はネットワーク３０に接続され、このネットワーク３０を通じてフラッシュＲＯＭ４の一部領域に設定されたＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にＧＵＩＤリスト４１を記録する。そして、起動許可リスト２１のパーティションＧＵＩＤ２１ａに一致するパーティションＧＵＩＤ４１ａに対応する許可フラグ４１ｂに、パーティションＧＵＩＤ２１ａに対応する許可フラグ２１ｂに設定された許可又は不許可を示す値を設定する。
【００３６】
このようにしてＧＵＩＤリスト４１の許可フラグ４１ｂをＵＥＦＩのランタイムファンクションで操作できるようにする。これにより、ネットワーク３０に接続された管理サーバ２０からの指示に従い、起動許可リスト２１にて使用が許可されているか否かを示す許可フラグ２１ｂと同じ値にＧＵＩＤリスト４１の許可フラグ４１ｂの値を書き替えることができる。これにより、システムファームウェア４０に対してＧＵＩＤリスト４１の許可フラグ４１ｂにおいて許可されているパーティションＧＵＩＤ４１ａに設定されたＯＳのみ起動させることができる。つまり、管理サーバ２０により管理される起動許可リスト２１に基づき、システム管理者が許可していないＰＣ１０上のＯＳの起動を許可しないようにすることができる。これにより、システム管理者が許可する環境下にＰＣ１０を置くことができる。
【００３７】
［使用許可判定処理］
次に、本実施形態にかかる使用許可判定処理について、図８に示す使用許可判定処理フローを参照して説明する。図５の起動設定変更処理の場合と同様に、ＰＣ１０はネットワーク３０に接続されている。また、管理サーバ２０は、使用許可リスト（図１参照）を管理する。図９に使用許可リスト２２の一例を示す。使用許可リスト２２には、パーティションＧＵＩＤ２２ａとこれに対応する許可フラグ２２ｂが記録されている。
【００３８】
また、図９の使用許可リスト２２のパーティションＧＵＩＤ２２ａには起動許可リスト２１と同様に簡略化のためＯＳ名のみが図示されているが、実際にはＯＳに対応するパーティションＧＵＩＤが記録されている。
【００３９】
本実施形態では、起動許可リスト２１と使用許可リスト２２とは別々に管理されているが、起動許可リスト２１と使用許可リスト２２とは同じであってもよい。つまり、起動許可リスト２１と使用許可リスト２２とはＯＳの起動（使用）の許可又は不許可を管理する許可リストの一例である。
【００４０】
使用許可判定処理では、ＰＣ１０の電源投入後（ステップＳ２１）、ＣＰＵ１により実行されるシステムファームウェア４０が、ＳＥＣ／ＰＥＩ／ＤＸＥの処理（ステップＳ２２）及びブートマネージャの処理（ステップＳ２３）を実行し、ネットワーク３０を介して管理サーバ２０からＰＣ１０を起動する（ステップＳ２４）。
【００４１】
ネットワーク３０から起動されたＰＣ１０のＣＰＵ１は、例えばＨＤＤ６１のパーティションＧＵＩＤ６３を検索する（ステップＳ３１）。ＨＤＤ６１のパーティションＧＵＩＤ６３が検出されなかった場合、ステップＳ３９に進む。
【００４２】
ＨＤＤ６１のパーティションＧＵＩＤ６３が検出された場合、ＣＰＵ１は、読み取ったパーティションＧＵＩＤ６３と管理サーバ２０側にある使用許可リスト２２とを比較し（ステップＳ３２）、パーティションＧＵＩＤ６３と使用許可リスト２２のパーティションＧＵＩＤ２２ａとが一致するかを判定する（ステップＳ３４）。一致しない場合、ステップＳ３１に戻り、次のＨＤＤ６１のパーティションＧＵＩＤ６３についての検索が実行される。
【００４３】
一方、上記パーティションＧＵＩＤが一致する場合、ＣＰＵ１は、使用許可リスト２２の該当パーティションＧＵＩＤ２２ａに対応する許可フラグ２２ｂが該当ＯＳの使用を許可するかを判定する（ステップＳ３５）。許可フラグ２２ｂが使用を許可する場合、ステップＳ３１に戻り、ＯＳは、次のＨＤＤ６１のパーティションＧＵＩＤ６３についての検索が実行される。
【００４４】
一方、許可フラグ２２ｂが使用を許可しない場合、ＣＰＵ１は、管理サーバ２０の指示に従いＨＤＤ６１の該当パーティションＧＵＩＤを消去するランタイムファンクションを発行する（ステップＳ３６）。ＯＳは、このＨＤＤ消去用のランタイムファンクションによって該当パーティションＧＵＩＤの起動情報を消去する（ステップＳ３７）。
【００４５】
このＨＤＤ消去用のランタイムファンクションは、システムファームウェア４０に実装され、前述のＰｒｏｔｏｃｏｌによって定義される。本実施形態では、パーティション消去用のランタイムで動作するＰｒｏｔｏｃｏｌを新たにシステムファームウェアに定義する。例えばＲｕｎＴｉｍｅ−＞ＥｒａｓｅＰａｒｔｉｔｉｏｎＩｎｆｏ（）と定義し、この関数では例えば簡易にはＧＵＩＤパーティションテーブルヘッダを消去することで起動不可としてもよいし、パーティション区画をゼロクリアするようにしてもよい。パーソナルコンピュータに搭載されているストレージがＳＳＤ（Solid State Drive）であれば全体を消去するコマンドを発行してもよい。管理サーバ２０側は、このＰｒｏｔｏｃｏｌを呼び出してパーティションＧＵＩＤを消去する。本実施形態では、ＨＤＤ６１のパーティションＧＵＩＤ６３にＷｉｎｄｏｗｓ（登録商標）以外のＵＥＦＩ対応ＯＳのパーティションが存在していた場合、該当パーティションＧＵＩＤの削除が行われる。
【００４６】
次に、ＯＳが使用許可リスト２２を終了したかを判定する（ステップＳ３８）。使用許可リスト２２が終了していない場合、ステップＳ３１に戻り、ＯＳは、次のＨＤＤ６１のパーティションＧＵＩＤ６３の検索が実行される。使用許可リスト２２が終了している場合、ＨＤＤ６１のパーティションＧＵＩＤ６３の全パーティションの検索が終了したかを判定する（ステップＳ３９）。全パーティションの検索が終了していなければ、ステップＳ３１に戻り、全パーティションの検索が終了していれば、本処理を終了する。
【００４７】
以上によれば、管理サーバ２０により管理される使用許可リスト２２に基づき、システム管理者が許可していないＯＳの使用を、管理サーバ２０から許可しないようにすることができる。これにより、システム管理者が許可する環境下にＰＣ１０を置くことができる。
【００４８】
ただし、ＣＰＵ１は、読み取ったパーティションＧＵＩＤ６３と管理サーバ２０側にある使用許可リスト２２とを比較する替わりに、パーティションＧＵＩＤ６３とＮＶＲＡＭに保存されたＧＵＩＤリスト４１とを比較してもよい。
【００４９】
なお、図５の起動設定変更処理及び図８の使用許可判定処理のフローチャートにある動作において、ＰＣ１０はActive Management Technologyのようなシャットダウン中でもネットワーク３０を介して操作できるような構成を持つハードウェアでもよい。この場合、管理サーバ２０側からＰＣ１０の電源を投入し、ネットワーク３０を起動するような操作が行われる。
【００５０】
［アプリケーション起動許可処理］
次に、本実施形態に係るアプリケーション起動許可処理の一例について説明する。本実施形態に係るアプリケーション起動許可処理は、図１０のインストール情報保存処理を実行した後に行われる。よって、図１０のインストール情報保存処理について説明した後、図１２を参照してアプリケーション起動許可処理について説明する。
（インストール情報保存処理）
図１０のインストール情報保存処理では、管理サーバ２０からＰＣ１０の電源投入が指示されると（ステップＳ４１）、ＰＣ１０が起動する（ステップＳ４２）。次に、管理サーバからインストール情報リストをＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３で渡す（ステップＳ４３）。次に、ＰＣ１０は、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にインストール情報リスト４２を保存し（ステップＳ４４）、本処理を終了する。
【００５１】
このインストール情報リスト４２は、ＯＳにおけるアプリケーションのインストール及び設定に関する情報が入っており、例えばＷｉｎｄｏｗｓ（登録商標）に組み込まれているレジストリ情報等が該当する。管理サーバ２０は、予めＯＳとアプリケーションがインストールされているＰＣ１０からネットワーク３０経由でアプリケーションに関する情報を取得し、インストール情報リスト４２を作成しておく。
【００５２】
図１１に示すように、インストール情報リスト４２には、インストール情報４２ａ及びインストールされたアプリケーションの起動可又は不可のフラグ（アプリ起動許可フラグ４２ｂ）が設けられており、この部分については後述の通り別に管理を行う。以後の説明はインストール情報リスト４２にインストール情報４２ａ及びアプリ起動許可フラグ４２ｂが対応付けて記録されている。
（アプリケーション起動許可処理）
次に、本実施形態にかかるアプリケーション起動許可処理について、図１２を参照して説明する。図１２は、ＯＳ起動からアプリケーションの起動、アプリケーションの起動の禁止までの処理の流れを示す。前提として、ＰＣ１０は、ネットワーク３０から電源を投入できる状態に設定されているものとする。
【００５３】
管理サーバ２０からネットワーク３０を経由してＰＣ１０の電源が投入されると、Ｂｏｏｔ  ＭａｎａｇｅｒからＡＣＰＩ  ＯＳが起動し、ＯＳ起動中にＯＳのインストール情報の取得処理が行われる（ステップＳ５１）。これは、例えばＡＣＰＩ  ＯＳの制御用の言語であるＡＣＰＩ  Ｓｏｕｒｃｅ  Ｌａｎｇｕａｇｅ（ＡＳＬ）で記述され、ＡＣＰＩ  ＯＳ起動時に最初に実行されるＩＮＩ（）という処理（ＡＳＬではＭｅｔｈｏｄと呼ぶ）の中で取得処理を実行することで実現される。
【００５４】
次に、ＰＣ１０は、管理サーバ２０にあるネットワーク起動を行い、システムファームウェア４０は、管理サーバ２０からＮＶＲＡＭにインストール情報リスト４２を取得する(ステップＳ５２)。具体的には、管理サーバ２０からＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３の書き込み処理を受けて、ＰＣ１０のＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３にインストール情報リスト４２が保存される。本実施形態にかかるアプリケーション起動許可処理では、管理サーバ２０から書き込まれたＮＶＲＡＭにあるインストール情報が使用される。
【００５５】
ＣＰＵ１は、システムファームウェア４０によりＮＶＲＡＭに記録されたインストール情報リスト４２内のインストール情報４２ａと、ＯＳのインストール情報とを比較し、インストール情報が一致するかを判定する（ステップＳ５３）。インストール情報が一致した場合、ステップＳ５６に進む。
【００５６】
インストール情報が一致しない場合、システムファームウェア４０は、ＯＳのインストール情報から、追加してインストールされたアプリケーションを検索する(ステップ５４)。次に、システムファームウェア４０は、インストール情報リスト４２の追加アプリケーションのインストール情報４２ａに対応するアプリ起動許可フラグ４２ｂを「起動不可」に設定する。これにより、以下のツールによって、検索された追加アプリケーションについては、システム管理者に無断でインストールしたアプリケーションとみなし、当該追加アプリケーションの起動ができないようにする。
【００５７】
ＯＳ起動中、例えば、アプリケーション起動抑止ツールがシステムファームウェア４０からロードされる(ステップＳ５６)。ロードの方法の一例としては、例えばＯＳ起動時にアプリケーション起動抑止ツールをシステムメモリ３に展開する。ＯＳは、アプリケーション起動抑止ツールを、ＯＳのサービスとして動作が可能な状態にする（ステップＳ５７）。
【００５８】
このアプリケーション起動抑止ツールは、起動されるアプリケーションを監視しており、ユーザがアプリケーションを起動すると（ステップＳ５８）、ユーザが起動したアプリケーションとインストール情報リスト４２とを比較する（ステップＳ５９）。次に、アプリケーション起動抑止ツールは、起動しようとしたアプリケーションが起動可能かを判定する（ステップ６０）。インストール情報４２ａの該当アプリケーションのアプリ起動許可フラグ４２ｂが、起動可能を示す場合、該当アプリケーションを起動し（ステップＳ６１）、本処理を終了する。
【００５９】
インストール情報４２ａの該当アプリケーションのアプリ起動許可フラグ４２ｂが、起動不可を示す場合、表示コントローラ７は、ディスプレイ７１に「そのアプリケーションは起動できません」とメッセージを表示し（ステップＳ６２）、起動しようとしたアプリケーションを終了し、本処理を終了する。ただし、エラーメッセージは、これに限られず、アプリケーションの起動を禁止する表示であればよい。
（シャットダウン及び再起動時の動作）
最後に、シャットダウン及び再起動時の動作について、図１３を参照して説明する。ユーザの操作に応じて、シャットダウン又は再起動が選択されると（ステップＳ７１）、ＣＰＵ１は、ＯＳによりシャットダウン又は再起動に遷移を開始する（ステップＳ７２）。そして、シャットダウン又は再起動処理中に実行されるシステムファームウェア４０のハンドラにて、ＯＳのインストール情報が取得される（ステップＳ７３）。これは、次回のＰＣ１０起動時に参照するために取得され、取得されたＯＳのインストール情報は、ＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に保存される（ステップＳ７４）。ＯＳのインストール情報がＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に保存された後、ＣＰＵ１がシャットダウン又は再起動を実行する（ステップＳ７５）。
【００６０】
以上によれば、管理サーバ２０から渡されるインストール情報リスト４２に基づき、システム管理者が許可していないアプリケーションの使用を許可しないようにすることができる。これにより、システム管理者が許可する環境下にＰＣ１０を置くことができる。
【００６１】
以上に説明したように、本実施形態に係るシステムによれば、管理サーバ２０からネットワーク３０に接続されたＰＣ１０のＯＳやアプリケーションの起動設定変更や使用許可判定を一斉に行うことができる。これにより、複数のＰＣ１０のＯＳやアプリケーションの使用の許可についても一斉に行うことができる。また、システム管理者が許可しないＯＳのパーティションＧＵＩＤを一括して削除できる。これにより、システム管理者のＰＣ１０の管理の効率化やユーザによる勝手なＯＳやアプリケーションの使用を防止することができる。
【００６２】
なお、本実施形態において使用した図６の起動許可リスト２１、図９の使用許可リスト２２及び図１１のインストール情報リスト４２は、システム管理者が使用する管理サーバ２０において、例えば事務所に配備されたパーソナルコンピュータ群のアプリケーションの一斉の管理に使うことができる。
【００６３】
例えば、管理サーバ２０は、起動許可リスト２１等をＰＣ１０群に一斉に配信することで、システム管理者は多数のユーザに対して許可されていないアプリケーションの起動の禁止や許可を行うことができる。また、起動許可リスト２１等は管理サーバ２０から配信されるため、既存のシステムポリシー設定アプリケーションのようなローカル端末側で設定するものとは違い、ユーザがＯＳ等を変更することはできず、管理サーバ２０から一斉に設定することができる。
【００６４】
さらに、例えばＮＶＲＡＭ  Ｖａｒｉａｂｌｅ４３に保存されたＧＵＩＤリスト４１を管理サーバ２０側からダイナミックに変更することで、ユーザが行う所定の使用許可アプリケーションを使った不正行為に対して起動を禁止することができる。また、上記実施形態を用いて、逆に使用不許可アプリケーションを一時的に使用可能にしたりすることができる。
【００６５】
以上、情報処理装置を上記実施形態により説明したが、本発明にかかる情報処理装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【００６６】
例えば、上記実施形態に係るシステムの構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば、情報処理装置がネットワークを介して互いに接続されているシステム形態は、本実施形態に係るシステムの一態様であり、これに限定されない。例えば、本実施形態に係るシステムに含まれる情報処理装置の台数は、１台又は２台以上であり得る。複数台の情報処理装置が設置される場合、管理サーバは、情報処理装置毎に起動許可リスト等を保存し、管理する。
【００６７】
以上の説明に関し、更に以下の項を開示する。
（付記１）
パーティションＧＵＩＤを記録する揮発性記録装置と、
ネットワーク起動時にサーバからのアクセスに応じて許可プログラムを実行するＣＰＵと、を有し、
前記ＣＰＵが実行する許可プログラムは、前記揮発性記録装置に記録されたパーティションＧＵＩＤと、サーバが管理する許可リストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていない前記パーティションＧＵＩＤの起動情報を消去させる、
情報処理装置。
（付記２）
サーバが管理する前記許可リストをＧＵＩＤリストに記録する不揮発性記録装置を有し、
前記ＣＰＵが実行する許可プログラムは、前記許可リストと前記ＧＵＩＤリストとを比較した結果に応じて、サーバの指示に従い前記許可リストにおいて許可されていないパーティションＧＵＩＤの起動を許可しないように前記ＧＵＩＤリストの設定を変更させる、
付記１に記載の情報処理装置。
（付記３）
前記不揮発性記録装置は、サーバが管理するインストール情報リストを記録し、
前記ＣＰＵが実行する許可プログラムは、前記インストール情報リストとＯＳのインストール情報とを比較した結果に応じて、サーバの指示に従い前記ＯＳのインストール情報に含まれるアプリケーションのうち、前記インストール情報リストにおいて許可されていないアプリケーションの起動を禁止させる、
付記１又は２に記載の情報処理装置。
（付記４）
シャットダウン又は再起動の要求に応じて、前記不揮発性記録装置が前記インストール情報リストを記録し、
前記ＣＰＵは、前記インストール情報リストが前記不揮発性記録装置に記録された後、前記シャットダウン又は再起動を実行する、
付記３に記載の情報処理装置。
【符号の説明】
【００６８】
１：ＣＰＵ
３：システムメモリ
４：フラッシュＲＯＭ
１０：ＰＣ
２０：管理サーバ
２１：起動許可リスト
２２：使用許可リスト
３０：ネットワーク
４０：システムファームウェア
４１：ＧＵＩＤリスト
４２：インストール情報リスト
６１：ＨＤＤ
６３：パーティションＧＵＩＤ
【図１】
0006669958.tif 000002
【図２】
0006669958.tif 000003
【図３】
0006669958.tif 000004
【図４】
0006669958.tif 000005
【図５】
0006669958.tif 000006
【図６】
0006669958.tif 000007
【図７】
0006669958.tif 000008
【図８】
0006669958.tif 000009
【図９】
0006669958.tif 000010
【図１０】
0006669958.tif 000011
【図１１】
0006669958.tif 000012
【図１２】
0006669958.tif 000013
【図１３】
0006669958.tif 000014