JP6873811B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6873811B2
JP6873811B2 JP2017091308A JP2017091308A JP6873811B2 JP 6873811 B2 JP6873811 B2 JP 6873811B2 JP 2017091308 A JP2017091308 A JP 2017091308A JP 2017091308 A JP2017091308 A JP 2017091308A JP 6873811 B2 JP6873811 B2 JP 6873811B2
Authority
JP
Japan
Prior art keywords
operating system
module
volatile memory
server
stored
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.)
Active
Application number
JP2017091308A
Other languages
English (en)
Other versions
JP2018190143A (ja
Inventor
宰 沼波
宰 沼波
和田 光悦
光悦 和田
桃崎 浩平
浩平 桃崎
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.)
Dynabook Inc
Original Assignee
Dynabook Inc
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 Dynabook Inc filed Critical Dynabook Inc
Priority to JP2017091308A priority Critical patent/JP6873811B2/ja
Priority to EP17210788.0A priority patent/EP3399408B1/en
Priority to US15/885,579 priority patent/US10628588B2/en
Publication of JP2018190143A publication Critical patent/JP2018190143A/ja
Application granted granted Critical
Publication of JP6873811B2 publication Critical patent/JP6873811B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Description

本発明の実施形態は、デスクトップ仮想化のための技術に関する。
近年、パーソナルコンピュータ(クライアント端末)の紛失や盗難による情報漏洩が頻発している。
このため、インフラ事業や医療事業のような厳重な情報管理が要求される事業を行う企業では、仮想デスクトップ環境を提供するサーバと通信するクライアント端末の導入が進められている。
特開2016−9370号公報
クライアント端末には、例えば、基本入出力プログラム(BIOS)および必要最小限のオペレーティングシステム(OS)等が保持され、これらが起動されることによって、ネットワークを介したサーバとの通信が行われる。そして、仮想デスクトップ環境を実現するためのクライアントソフトウェアが、サーバからクライアント端末にダウンロードされる。
このように、クライアントソフトウェアはクライアント端末の起動後にサーバからダウンロードされるので、クライアント端末では、ユーザが仮想デスクトップ環境を利用できるようになるまでの起動時間が長くなる可能性がある。
本発明は、起動時間を短縮できる情報処理装置およびプログラムを提供することを目的とする。
実施形態によれば、情報処理装置は、プロセッサと、揮発性メモリと、BIOS−ROMと、インターフェースとを具備する。BIOS−ROMは、基本入出力プログラム(BIOS)と組み込みオペレーティングシステムとを格納する。インターフェースは、不揮発性メモリを取り外し自在に接続可能である。前記組み込みオペレーティングシステムは、情報処理装置をネットワークを介してサーバに接続し、前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって第1オペレーティングシステムに設定され、且つ前記インターフェースを介して接続された不揮発性メモリに、前記第1オペレーティングシステムが格納されておらず、前記情報処理装置の前回の起動で使用された第2オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第2オペレーティングシステムを前記揮発性メモリにロードし、前記第2オペレーティングシステムを起動する機能を実行するように前記プロセッサを制御する。前記第2オペレーティングシステムは、前記第1オペレーティングシステムを前記サーバからダウンロードし、前記ダウンロードされた前記第1オペレーティングシステムを前記不揮発性メモリに格納する機能を実行するように前記プロセッサを制御する。
実施形態に係る情報処理装置(クライアント端末)を含むシステムを説明するための図。 図1のシステムに含まれる管理者コンソールによって表示されるポリシー設定画面の例を示す図。 同実施形態の情報処理装置の機構構成を示すブロック図。 情報処理装置によって実行される起動制御処理の手順の例を示すフローチャート。 同実施形態の情報処理装置によって実行される起動制御処理の手順の例を示すフローチャート。 同実施形態の情報処理装置によって実行されるダウンロード更新処理の手順の例を示すフローチャート。 同実施形態の情報処理装置のシステム構成を示すブロック図。
以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、一実施形態に係る情報処理装置を含むシステムを説明する。この情報処理装置は、仮想デスクトップ環境を提供するように構成されたサーバと通信するためのクライアント端末として機能する。この情報処理装置は、ノートブック型パーソナルコンピュータと同様のクラムシェル型の装置であってもよいし、タブレットコンピュータと同様のスレート型の端末であってもよい。以下では、この情報処理装置が、ノートブック型のクライアント端末1として実現される場合を例示する。
クライアント端末1は、無線LANや有線LANのようなネットワークを介して管理サーバ2と通信することができる。また、クライアント端末1は、クライアント端末1を含む複数のクライアント端末に仮想デスクトップ環境を提供するように構成されたVDIサーバ4とネットワーク経由で通信することもできる。
管理サーバ2は、クライアント端末が正当なクライアント端末であるかどうかを認証し、正当なクライアント端末であることが認証された各クライアント端末1に、VDIサーバ4との通信に必要なプログラムおよび情報を提供する機能を有する。つまり、管理サーバ2は、クライアント認証サイトとダウンロードサイトとして機能する。
VDIサーバ4において、仮想デスクトップ環境を提供するためにデスクトップ仮想化を実現するための技術には、複数の種類の技術がある。これらの技術の一つとしては、仮想デスクトップ基盤(VDI)が知られている。
本実施形態では、デスクトップ仮想化を実現するための技術としてVDIを用いてもよい。この場合、VDIサーバ4は、VDIを使用して仮想デスクトップ環境を提供するように構成されたサーバとして機能する。また、クライアント端末1は、VDIクライアント端末として機能する。VDIサーバ4は、仮想デスクトップ環境を提供するために、クライアント端末1に画面の画像データ(VDI画面データ)や、画面の更新部分に対応する画像データを送信する。クライアント端末1では、この画像データに基づく画面が表示されることにより、VDIサーバ4上で実行される仮想マシンによるデスクトップ環境を、あたかもクライアント端末1の動作によるデスクトップ環境であるかのように利用することができる。
管理者コンソール3は、管理サーバ2によって用いられるクライアントポリシーと、VDIサーバ4によって用いられるVDIポリシーとを設定するための管理者用端末である。管理サーバ2は、例えば、クライアントポリシーの設定を変更および適用するためのウェブベースのグラフィカルユーザーインターフェース(GUI)を管理者コンソール3に提供する機能を有する。クライアントポリシーには、あるクライアント端末1に適用されるべきOSモジュール(以下、適用OSモジュールとも称する)を示す情報、適用OSモジュールのクライアント端末1によるストレージキャッシュの可否を示す情報等が含まれる。OSモジュールは、OS自体であってもよいし、OSが圧縮されたファイルであってもよい。OSは、例えば、Linux(登録商標)ベースのOSである。
また、VDIサーバ4は、例えば、VDIポリシーの設定を変更および適用するためのウェブベースのGUIを管理者コンソール3に提供する機能を有する。VDIポリシーには、接続先の仮想マシン(VM)の設定に関する情報、接続品質の設定に関する情報等が含まれる。
図2は、管理者コンソール3によって表示されるポリシー設定画面8の例を示す。このポリシー設定画面8は、あるクライアント端末1に適用されるポリシーを設定するための画面である。ポリシー設定画面8は、例えば、ウェブベースのユーザインターフェースとして実現される。管理サーバ2の管理者は、このポリシー設定画面8上での操作によって、そのクライアント端末1に適用されるポリシーを決定できる。決定されたポリシーを示すポリシー情報21は管理サーバ2に保存され、このポリシー情報21を用いてクライアント端末1が制御される。
あるクライアント端末1に適用されるポリシーを設定するためのポリシー設定画面8には、ポリシー名81、認証サーバ82、OSモジュール83、VDIサーバ84、通信設定85、ダウンロードサーバ86等の項目が含まれる。各項目には、例えば、設定中の内容が示され、管理者はその内容を任意に変更することができる。
ポリシー名81は、そのポリシーに付与された名称を示す。認証サーバ82は、クライアント端末1の認証に用いられる認証サーバのアドレス(URL)を示す。この認証サーバのアドレスは、例えば、管理サーバ2が有する認証機能を利用するための接続先を示す。
OSモジュール83には、使用されるOSモジュールの名称(ファイル名)830と、チェックボックス831,832とが含まれている。例えば、新たな機能の追加やセキュリティアップデート等がある場合に、新たなOSモジュールのファイルがリリースされ、管理者が、そのOSモジュールを、使用されるOSモジュールの名称830として設定(選択)できるようになる。
チェックボックス831は、そのOSモジュールをクライアント端末1に保持することを許可するか否かを示す。チェックボックス831がチェック状態に設定された場合、クライアント端末1に接続された、例えば、メモリカードのような不揮発性メモリ(外部ストレージ)にOSモジュールを保持することができる。例えば、OSモジュールが、クライアント端末1の起動時にネットワークを介してダウンロードされる場合、劣悪な通信状況では、ダウンロードに要する時間が長くなり、したがって起動完了までの時間が長くなる。そのため、このチェックボックス831がチェック状態に設定されることにより、OSモジュールがクライアント端末1に接続された外部ストレージにキャッシュされる。これにより、次回の起動時には、OSモジュールがその外部ストレージからロードされるので、OSモジュールのダウンロードのための時間が省略され、起動を高速化することができる。
また、チェックボックス832は、OSモジュールをクライアント端末1に保持することが許可されている場合に、そのOSモジュールをバックグラウンドでダウンロードすることを許可するか否かを示す。そのため、チェックボックス832は、図2に示すように、チェックボックス831がチェックされている場合に、すなわち、OSモジュールをクライアント端末1に保持することが許可される場合に、管理者が操作可能な状態で表示されるようにしてもよい。また、チェックボックス831がチェックされていない場合には、すなわち、OSモジュールをクライアント端末1に保持することが禁止される場合には、管理者が操作できない状態で表示されるようにしてもよい。
VDIサーバ84は、VDIサーバ4のアドレスを示す。通信設定85は、クライアント端末1の動作設定を示す。通信設定85には、例えば、通信のリトライ回数と間隔、起動認証のポーリング間隔、通信切断時のアクション等が含まれている。また、ダウンロードサーバ86は、ダウンロードサーバのアドレスを示す。なお、このダウンロードサーバのアドレスは、例えば、管理サーバ2が有するダウンロード機能を利用するための接続先を示す。管理サーバ2は、認証サーバ82に示されるアドレスへのアクセスに対して認証サーバとして機能し、ダウンロードサーバ86に示されるアドレスへのアクセスに対してダウンロードサーバとして機能する。
また、クライアント端末1は、内蔵ストレージ(例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD))を持たず、例えば、起動時に、VDIサーバ4との通信に必要なプログラムを含むオペレーティングシステムのOSモジュール(ファイル)を、ネットワークを介して管理サーバ2からダウンロードする。ダウンロードされたOSモジュールが、クライアント端末1の揮発性メモリ上に展開され、実行されることにより、クライアント端末1はVDIサーバ4との通信が可能になる。
このようなOSモジュールは、クライアント端末1に接続されたSDカードやUSBフラッシュメモリのような外部ストレージに保存(キャッシュ)され得る。クライアント端末1は、起動時に、保存されたOSモジュールを外部ストレージから揮発性メモリに展開し、実行することにより、起動が完了するまでの時間(例えば、VDIサーバ4と通信可能になるまでの時間)を短縮することができる。
ところで、各クライアント端末1で使用されるべきOSモジュールは、管理サーバ2上で設定され、新しい機能の追加やセキュリティアップデート等に応じて変更される。例えば、管理サーバ2において、クライアント端末1で使用されるべきOSモジュールが変更された場合には、クライアント端末1の起動時に、管理サーバ2から新たなモジュールがダウンロードされ、そのOSモジュールが外部ストレージに保存される。そして、ダウンロードされたOSモジュールが揮発性メモリ上に展開されて実行されるので、単に、新たなOSモジュールを管理サーバ2からダウンロードする場合よりも、外部ストレージへの保存の分だけ余計にクライアント端末1の起動時間が長くなる可能性がある。
そのため、本実施形態のクライアント端末1は、起動時に、管理サーバ2において、当該クライアント端末1で使用されるべきOSモジュールが変更されていた場合、外部ストレージに既に保存されているOSモジュールを用いて起動し、その起動後に、変更されたOSモジュールを管理サーバ2からバックグラウンドでダウンロードし、外部ストレージに新たに保存する。これにより、管理サーバ2において、クライアント端末1で使用されるべきOSモジュールが変更されていた場合にも、外部ストレージに既に保存されているOSモジュールを用いることにより、起動時間を短縮することができる。さらに、クライアント端末1は、次回以降の起動時には、外部ストレージに新たに保存された、変更後のOSモジュールを用いることができるので、変更後のOSモジュールを起動時に管理サーバ2からダウンロードする必要がなく、起動時間を短縮することができる。
図3を参照して、本実施形態のクライアント端末1の機能構成について説明する。ここでは、メモリカード19Aのような取り外し自在に接続可能な不揮発性メモリが、クライアント端末1に接続されている場合を例示する。
なお、管理サーバ2は、ポリシー情報21、OSモジュール22等が格納されたストレージを備えている。OSモジュール22には、VDI接続用ソフトウェアが含まれている。VDI接続用ソフトウェアは、仮想デスクトップ環境を提供するVDIサーバ4と通信してこのサーバから仮想デスクトップイメージを受信するためのクライアントプログラム(VDIクライアントプログラム)である。
また、VDIサーバ4が仮想マシン型によって実現されている場合には、VDIサーバ4では、複数の仮想マシン41が実行される。これら複数の仮想マシン41の一つがクライアント端末1に割り当てられる。仮想マシン41の各々は、仮想OS(クライアントデスクトップOS)42と、この仮想OS42上で実行されるアプリケーションプログラム43とを含む。なお、VDIサーバ4は、仮想マシン型に限らず、ブレードPC型、ターミナル型等で実現されてもよい。
クライアント端末1は、電源ボタンが押されたことに応じて、BIOS−ROM14に格納された基本入出力プログラム(BIOS)141を実行することによって、組み込みOS142をブートする。組み込みOS142は、例えば、Small Linuxであり、ネットワーク接続等、管理サーバ2から適用OSモジュールをダウンロードするための命令群のような必要最低限の命令群を含む。適用OSモジュールは、管理サーバ2により設定された、クライアント端末1で使用されるべきOSモジュールである。クライアント端末1は、組み込みOS142を実行することによって、有線または無線のネットワークに接続する。BIOSは、UEFI BIOSであってもよい。BIOS−ROM14は、アップデートを可能にするためにフラッシュEEPROMによって構成されていてもよい。
組み込みOS142は、クライアント端末1をネットワークを介して管理サーバ2に接続し、組み込みOS142から切り替えてクライアント端末1で使用されるべきOSが、管理サーバ2によって第1OSに設定され、且つカードスロットのようなインターフェースを介して接続されたメモリカード19Aに、この第1OSが格納されておらず、クライアント端末1の前回の起動で使用された第2OSが格納されている場合、メモリカード19Aに格納された第2OSをRAM(主メモリ)13にロードし、第2OSを起動する機能を実行するように、クライアント端末1に設けられるプロセッサ(CPU)等の各種コンポーネントを制御する。より具体的には、組み込みOS142に含まれる命令群は、クライアント端末1に設けられるプロセッサ(CPU)等の各種コンポーネントを、接続制御部51、モジュール判定部52、第1ダウンロード制御部53、および起動制御部54として機能(動作)するように制御する。
接続制御部51は、有線または無線のネットワーク介して管理サーバ2に接続する。接続制御部51は、管理サーバ2との間で、クライアント端末1の認証のための処理を行う。
モジュール判定部52は、クライアント端末1の起動時に、管理サーバ2によってクライアント端末1が認証された場合、管理サーバ2から、このクライアント端末1で使用されるべき適用OSモジュールを特定可能な第1情報(例えば、ファイル名)と、当該適用OSモジュールをクライアント端末1に保持することが許可されているか否かを示す第2情報とを受信する。これら情報は、管理サーバ2内のポリシー情報21に含まれている。第2情報は、適用OSモジュールをクライアント端末1に保持することが許可されている場合に、その適用OSモジュールをバックグラウンドでダウンロードすることを許可するか否かを示す情報をさらに含んでいてもよい。
モジュール判定部52は、第1情報と、BIOS−ROM14に格納された、前回使用されたモジュール情報143とを用いて、管理サーバ2によって設定されている、クライアント端末1で使用されるべき適用OSモジュールが、メモリカード19Aに格納(キャッシュ)されているOSモジュールから変更されているかどうかを判定する。前回使用されたモジュール情報143は、前回使用されたOSモジュールを特定可能な情報(例えば、ファイル名)を示す。
モジュール判定部52は、管理サーバ2から受信された、クライアント端末1で使用されるべき適用OSモジュールを特定可能な第1情報と、前回使用されたモジュール情報143とが、同一のOSモジュールを示しているならば、クライアント端末1で使用されるべき適用OSモジュールが、前回使用されたOSモジュールから変更されていないと判断する。また、管理サーバ2から受信された、クライアント端末1で使用されるべき適用OSモジュールを特定可能な第1情報と、前回使用されたモジュール情報143とが、異なるOSモジュールを示しているならば、モジュール判定部52は、クライアント端末1で使用されるべき適用OSモジュールが、前回使用されたOSモジュールから変更されたと判断する。適用OSモジュールが、前回使用されたOSモジュールから変更された場合、モジュール判定部52は、前回使用されたモジュール情報143を、適用OSモジュールを特定可能な第1情報で更新(上書き)する。
次いで、モジュール判定部52は、第2情報を用いて、クライアント端末1で使用されるべき適用OSモジュールをクライアント端末1に保持することが許可されているか否か、すなわち、当該適用OSモジュールを外部ストレージ(例えば、メモリカード19A)に格納することが許可されているか否かを判定する。
適用OSモジュールをクライアント端末1に保持することが許可されていない場合、適用OSモジュールは管理サーバ2からダウンロードすることでのみ取得されるので、第1ダウンロード制御部53は、その適用OSモジュールを管理サーバ2からダウンロードし、RAM13上に非組み込みOS131として展開する。起動制御部54は、RAM13上に展開された非組み込みOS131を起動する。起動制御部54は、組み込みOS142の設定を引き継ぎながら、非組み込みOS131に含まれるドライバやライブラリが実行されるように制御を切り替える。
一方、適用OSモジュールをクライアント端末1に保持することが許可されている場合には、モジュール判定部52、第1ダウンロード制御部53、および起動制御部54によって以下の動作が行われる。
適用OSモジュールがメモリカード19Aに格納されている場合、モジュール判定部52は、OSモジュール191を、メモリカード19AからRAM13上に、非組み込みOS131として展開する。
適用OSモジュールがメモリカード19Aに格納されていない場合、モジュール判定部52は、第2情報を用いて、適用OSモジュールをバックグラウンドでダウンロードすることが許可されているか否かに基づいて動作する。
すなわち、適用OSモジュールがメモリカード19Aに格納されておらず、適用OSモジュールをクライアント端末1に保持することが許可されているが、バックグラウンドでダウンロードすることが許可されていない場合、第1ダウンロード制御部53は、その適用OSモジュールを管理サーバ2からダウンロードし、RAM13上に非組み込みOS131として展開する。そして、第1ダウンロード制御部53は、ダウンロードされた適用OSモジュールをメモリカード19Aに格納する。このように、バックグラウンドでダウンロードすることが許可されていない適用OSモジュールは、必ず起動時にダウンロードされ、メモリカード19Aに格納される。これにより、管理者がセキュリティや機能の更新等を考慮して、クライアント端末1の前回の起動で使用されたOSモジュールを使わせたくない場合に、それを防ぐことが可能となる。
また、適用OSモジュールがメモリカード19Aに格納されておらず、適用OSモジュールをクライアント端末1に保持することが許可され、バックグラウンドでダウンロードすることが許可されている場合、クライアント端末1の前回の起動で使用されたOSモジュール191がメモリカード19Aに格納されているならば、モジュール判定部52は、メモリカード19Aに格納されたOSモジュール191を、メモリカード19AからRAM13上に、非組み込みOS131として展開する。
適用OSモジュールがメモリカード19Aに格納されておらず、適用OSモジュールをクライアント端末1に保持することが許可され、バックグラウンドでダウンロードすることが許可されている場合に、クライアント端末1の前回の起動で使用されたOSモジュールがメモリカード19Aに格納されていないならば、第1ダウンロード制御部53は、管理サーバ2から適用OSモジュールをダウンロードし、RAM13上に非組み込みOS131として展開する。そして、第1ダウンロード制御部53は、ダウンロードされた適用OSモジュールをメモリカード19Aに格納する。
したがって、図2のポリシー設定画面8において、管理者が、適用OSモジュールをクライアント端末1に保持することを禁止した場合、あるいは適用OSモジュールをクライアント端末1に保持することを許可し、且つ適用OSモジュールをバックグラウンドでダウンロードすることを禁止した場合には、クライアント端末1の前回の起動で使用されたOSモジュールを使用して非組み込みOS131を起動することを禁止することができる。また、図2のポリシー設定画面8において、管理者が、適用OSモジュールをクライアント端末1に保持することを許可し、且つ適用OSモジュールをバックグラウンドでダウンロードすることを許可した場合、クライアント端末1の前回の起動で使用されたOSモジュールを使用して非組み込みOS131を起動することを許可することができる。
以上のようにRAM13上に展開された非組み込みOS131は、起動制御部54によって起動される。起動制御部54は、組み込みOS142の設定を引き継ぎながら、非組み込みOS131に含まれるドライバやライブラリが実行されるように制御を切り替える。
非組み込みOS131に含まれる命令群は、クライアント端末1に設けられるプロセッサ(CPU)等の各種コンポーネントを、VDIクライアント処理部61、第2ダウンロード制御部62、および通知処理部63として機能(動作)するように制御する。
VDIクライアント処理部61は、ネットワークを介してVDIサーバ4上の一つの仮想マシン41に接続する。VDIクライアント処理部61は、VDIサーバ4から、仮想デスクトップ環境のための画面の画像データ(VDI画面データ)や、画面の更新部分に対応する画像データを受信する。そして、VDIクライアント処理部61は、この画像データに基づく画面を表示する。また、VDIクライアント処理部61は、ユーザによる入力デバイスの操作情報を、ネットワークを介してVDIサーバ4に送信することができる。入力デバイスの操作情報は、キーボード(ソフトウェアキーボード)の操作情報、マウスの操作情報、タッチパッド、タッチスクリーンディスプレイ等に対するタッチ操作情報等を含む。
第2ダウンロード制御部62は、クライアント端末1の前回の起動で使用されたOSモジュール(例えば、メモリカード19Aに格納されたOSモジュール)191を用いて、非組み込みOS131が起動された場合、管理サーバ2から適用OSモジュールをダウンロードし、ダウンロードされた適用OSモジュールをメモリカード19Aに格納(キャッシュ)する。クライアント端末1の前回の起動で使用されたOSモジュール191を用いて、非組み込みOS131が起動された場合には、適用OSモジュールをクライアント端末1(ここでは、メモリカード19A)に保持することが許可されている。したがって、第2ダウンロード制御部62は、管理サーバ2によって、適用OSモジュールをメモリカード19Aに格納することが許可されている場合、適用OSモジュールを管理サーバ2からダウンロードし、ダウンロードされた適用OSモジュールをメモリカード19Aに格納する。一方、第2ダウンロード制御部62は、管理サーバ2によって、適用OSモジュールをメモリカード19Aに格納することが禁止されている場合、適用OSモジュールを管理サーバ2からダウンロードしない。第2ダウンロード制御部62は、VDIクライアント処理部61による仮想デスクトップ環境を提供する動作と並行して動作し、適用OSモジュールをバックグラウンドでダウンロードすることができる。
通知処理部63は、適用OSモジュールのダウンロードとメモリカード19Aへの格納とが完了した場合、新しい適用OSモジュールがキャッシュされた旨をユーザに通知し、クライアント端末1の再起動を促すようにしてもよい。通知処理部63は、例えば、新しい適用OSモジュールがキャッシュされたことを示すメッセージを画面に表示する。
また、通知処理部63は、適用OSモジュールのダウンロードおよび格納(キャッシュ)の途中に、ユーザがクライアント端末1をシャットダウンするための操作を行った場合、適用OSモジュールのダウンロードおよび格納が途中であることをユーザに通知し、すぐにシャットダウンするか、それともダウンロードおよび格納が完了してからシャットダウンするかを選択させるようにしてもよい。通知処理部63は、例えば、適用OSモジュールのダウンロードおよび格納が途中であることを示すメッセージと、すぐにシャットダウンすることを選択するためのボタンと、ダウンロードおよび格納が完了してからシャットダウンすることを選択するためのボタンとを含むダイアログを画面に表示する。なお、ユーザがすぐにシャットダウンすることを選択した場合には、第2ダウンロード制御部62は、次に起動されたときに、この適用OSモジュールのバックグラウンドでのダウンロードおよび格納を再開するようにしてもよい。
なお、非組み込みOS131に含まれる命令群は、クライアント端末1に設けられるプロセッサ(CPU)等の各種コンポーネントを、モジュール判定部64としてさらに機能(動作)するように制御してもよい。
上述した組み込みOS142のモジュール判定部52は、管理サーバ2によって、クライアント端末1が組み込みOS142から切り替えて使用すべきOSが前回使用されたOSモジュールから別のOSモジュールに変更されたか否かを、起動時に判定している。したがって、モジュール判定部52は、クライアント端末1の起動時以外のタイミングでは、適用OSモジュールの変更を検出することができない。
そのため、非組み込みOS131のモジュール判定部64は、非組み込みOS131の起動後に、管理サーバ2による適用OSモジュールの変更を定期的に確認する。したがって、例えば、VDIクライアント処理部61によるVDIサーバ4との通信によって、クライアント端末1に仮想デスクトップ環境が提供されている間に、モジュール判定部64は、管理サーバ2による適用OSモジュールの変更を検出することができる。
適用OSモジュールの変更が検出され、且つその適用OSモジュールがメモリカード19Aに格納(キャッシュ)済みでない場合、第2ダウンロード制御部62は、新たな適用OSモジュールを管理サーバ2からバックグラウンドでダウンロードし、ダウンロードされた適用OSモジュールをメモリカード19Aに格納する。これにより、クライアント端末1が次に起動される際には、最新の適用OSモジュールがメモリカード19Aに既に格納できている可能性が高まるので、クライアント端末1で、管理者の意図されたOSモジュールを使用できる確率を高めることができる。
さらに、モジュール判定部64は、適用OSモジュールが管理サーバ2からダウンロードされている間に、管理サーバ2によって、適用OSモジュールがさらに変更されたことを検出するようにしてもよい。その場合、第2ダウンロード制御部62は、進行中の適用OSモジュールのダウンロードを中止し、管理サーバ2によって設定された新たな適用OSモジュールのダウンロードとメモリカード19Aへの格納とを開始する。これにより、不用なOSモジュールのような無駄なデータがメモリカード19Aにキャッシュされることによる記憶容量の圧迫を防止することができる。
次いで、図4のフローチャートを参照して、クライアント端末1によって実行される起動制御処理の手順の例を説明する。ここでは、クライアント端末1に、OSモジュール22をバックグラウンドでダウンロードするための構成である第2ダウンロード制御部62が設けられていない場合を例示する。
まず、クライアント端末1が起動されたことに応じて、組み込みOS142が起動される(ステップS101)。そして、管理サーバ2との通信によって、管理サーバ2上で設定されている、このクライアント端末1に適用すべきOSモジュール(適用OSモジュール)が確認される(ステップS102)。
次いで、適用OSモジュールを外部ストレージ(ここでは、メモリカード19A)にキャッシュすることが許可されているか否かが判定される(ステップS103)。外部ストレージへのキャッシュが許可されていない場合(ステップS103のNO)、適用OSモジュールが管理サーバ2からクライアント端末1にダウンロードされる(ステップS104)。
外部ストレージへのキャッシュが許可されている場合(ステップS103のYES)、適用OSモジュールが外部ストレージにキャッシュ済みであるか否かが判定される(ステップS105)。適用OSモジュールが外部ストレージにキャッシュ済みである場合(ステップS105のYES)、キャッシュ済みの適用OSモジュールが外部ストレージからロードされる(ステップS106)。
一方、適用OSモジュールがキャッシュされていない場合(ステップS105のNO)、適用OSモジュールが管理サーバ2からダウンロードされ(ステップS107)、外部ストレージにキャッシュされる(ステップS108)。
次いで、ステップS106において、外部ストレージからロードされた適用OSモジュールが、あるいはステップS104またはステップS107において、管理サーバ2からダウンロードされた適用OSモジュールが、復号され、非組み込みOS131として主メモリ13上に展開される(ステップS109)。そして、OSをダイナミックに切り替えることによって、組み込みOS142から非組み込みOS131へ制御が切り替えられ(ステップS110)、起動が完了する。
以上の起動制御処理により、メモリカード19Aにキャッシュされた適用OSモジュール、または管理サーバ2からダウンロードされた適用OSモジュールを用いて、組み込みOS142から非組み込みOS131に制御を切り替えることができる。この起動制御処理では、管理サーバ2から適用OSモジュールがダウンロードされる場合に、ダウンロードに加えて、メモリカード19Aへのキャッシュのための処理も行われるので、起動時間が、メモリカード19A(外部ストレージ)を用いない通常の起動時と同等かそれ以上になる。
そのため、本実施形態のクライアント端末1は、前回の起動時に使用したOSモジュールを用いて非組み込みOS131を暫定的に起動し、適用OSモジュールをバックグラウンドでダウンロードするための構成を有している。図5のフローチャートは、クライアント端末1によって実行される起動制御処理の手順の例を示す。この起動制御処理は、例えば、クライアント端末1のCPU11が、組み込みOS142に含まれる命令群と、非組み込みOS131に含まれる命令群とを実行することによって実現される。
まず、クライアント端末1が起動されたことに応じて、組み込みOS142が起動される(ステップS201)。そして、管理サーバ2との通信によって、管理サーバ2上で設定されている、このクライアント端末1に適用すべきOSモジュール(適用OSモジュール)が確認される(ステップS202)。この確認により、例えば、適用OSモジュールを特定可能な情報(例えば、ファイル名、ID等)が得られる。
次に、確認された適用OSモジュールが、前回使用されたOSモジュールとは異なるかどうかが判定される(ステップS203)。前回使用されたOSモジュールに関する情報(例えば、ファイル名、ID等)143は、例えば、BIOS−ROM14に保存されている。この情報143を用いることによって、確認された適用OSモジュールが、前回使用されたOSモジュールと異なるかどうかを判定することができる。
確認された適用OSモジュールが、前回使用されたOSモジュールとは異なる場合(ステップS203のYES)、適用OSモジュールを特定可能な情報(例えば、ファイル名、ID等)が、前回使用されたOSモジュールに関する情報143として、例えば、BIOS−ROM14に記憶される(ステップS204)。確認された適用OSモジュールが、前回使用されたOSモジュールと同じである場合(ステップS203のNO)、ステップS204の手順はスキップされる。
次いで、適用OSモジュールを外部ストレージ(ここでは、メモリカード19A)にキャッシュすることが許可されているか否かが判定される(ステップS205)。外部ストレージへのキャッシュが許可されていない場合(ステップS205のNO)、適用OSモジュールが管理サーバ2からクライアント端末1にダウンロードされる(ステップS206)。
外部ストレージへのキャッシュが許可されている場合(ステップS205のYES)、適用OSモジュールが外部ストレージにキャッシュ済みであるか否かが判定される(ステップS207)。適用OSモジュールが外部ストレージにキャッシュ済みである場合(ステップS207のYES)、キャッシュ済みの適用OSモジュールが外部ストレージからロードされる(ステップS208)。
一方、適用OSモジュールがキャッシュされていない場合(ステップS207のNO)、前回使用されたOSモジュールが外部ストレージにキャッシュ済みであるか否かが判定される(ステップS209)。前回使用されたOSモジュールが外部ストレージにキャッシュ済みである場合(ステップS209のYES)、そのキャッシュ済みの前回使用されたOSモジュールが外部ストレージからロードされる(ステップS210)。
前回使用されたOSモジュールが外部ストレージにキャッシュされていない場合(ステップS209のNO)、適用OSモジュールが管理サーバ2からダウンロードされ(ステップS211)、外部ストレージにキャッシュされる(ステップS212)。この適用OSモジュールは、例えば、機器固有の鍵で暗号化して外部ストレージに保存される。
次いで、ステップS206、ステップS208、またはステップS211の手順で取得された適用OSモジュールが、あるいはステップS210の手順で取得された前回使用されたOSモジュールが、復号され、非組み込みOS131として主メモリ13上に展開される(ステップS213)。そして、OSをダイナミックに切り替えることによって、組み込みOS142から非組み込みOS131へ制御が切り替えられる(ステップS214)。クライアント端末1上では、例えば、組み込みOS142の設定を引き継ぎながら、非組み込みOS131に含まれるドライバやライブラリを実行して制御が切り替えられる。
そして、切り替えられた非組み込みOS131が、前回使用されたOSモジュールを用いて起動されたものであるかどうかが判定される(ステップS215)。非組み込みOS131が、前回使用されたOSモジュールを用いて起動された場合(ステップS215のYES)、ステップS202の手順で確認された適用OSモジュールのバックグラウンドでのダウンロードが開始される(ステップS216)。非組み込みOS131が、前回使用されたOSモジュールを用いて起動されていない場合(ステップS215のNO)、すなわち、ステップS202の手順で確認された適用OSモジュールを用いて起動された場合、ステップS216の手順はスキップされる。
以上により、前回使用されたOSモジュールを用いて非組み込みOS131が起動された場合には、適用OSモジュールのバックグラウンドでのダウンロードが開始される。これにより、適用OSモジュールのダウンロードのために、クライアント端末1の起動完了までの時間が長くなることを回避し、クライアント端末1を高速に起動することができる。
また、図6のフローチャートを参照して、クライアント端末1によって実行されるダウンロード制御処理の手順の例を示す。このダウンロード制御処理は、例えば、図5に示した起動制御処理によってクライアント端末1の起動が完了した後に実行される。
まず、管理サーバ2との通信によって、管理サーバ2上で設定されている、クライアント端末1に適用すべき適用OSモジュールが確認される(ステップS31)。この確認に基づいて、前回の確認時から適用OSモジュールが変更されたか否かが判定される(ステップS32)。適用OSモジュールが変更されていない場合(ステップS32のNO)、ステップS31に戻る。
一方、適用OSモジュールが変更された場合(ステップS32のYES)、その適用OSモジュールが外部ストレージ(ここでは、メモリカード19A)にキャッシュ済みであるか否かが判定される(ステップS33)。外部ストレージにキャッシュ済みである場合(ステップS33のYES)、ステップS31に戻る。
外部ストレージにキャッシュ済みでない場合(ステップS33のNO)、その適用OSモジュールとは異なるOSモジュールが、バックグラウンドでダウンロード中であるか否かが判定される(ステップS34)。適用OSモジュールとは異なるOSモジュールがバックグラウンドでダウンロード中である場合(ステップS34のYES)、そのOSモジュールのダウンロードが停止される(ステップS35)。適用OSモジュールとは異なるOSモジュールがバックグラウンドでダウンロード中でない場合(ステップS34のNO)、ステップS35の手順はスキップされる。そして、新たな適用OSモジュール、すなわち、現在、管理サーバ2上でクライアント端末1に対して設定されている適用OSモジュールのバックグラウンドでのダウンロードが開始され(ステップS36)、ステップS31に戻る。
以上により、クライアント端末1の起動後に、このクライアント端末1に適用すべきOSモジュールの設定が管理サーバ2上で変更された場合に、変更前のOSモジュールではなく、変更後のOSモジュールをクライアント端末1にバックグラウンドでダウンロードし、外部ストレージ(メモリカード19A)にキャッシュすることができる。
次いで、図7は、クライアント端末1のシステム構成の一例を示す。
クライアント端末1は、上述のRAM(主メモリ)13およびBIOS−ROM14に加え、CPU11、システムコントローラ12、LCD15、スピーカ16、通信デバイス17、エンベデッドコントローラ(EC)18、カードスロット19等を備える。カードスロット19は、上述のメモリカード19Aを取り外し自在に接続可能なインターフェースである。
CPU11は、BIOS−ROM14に格納された上述のBIOS141および組み込みOS142、RAM(主メモリ)13にダウンロードされる各種プログラム(例えば、非組み込みOS131)、およびカードスロット19を介して接続されたメモリカード19AからRAM(主メモリ)13にロードされる各種プログラムを実行するように構成されたプロセッサである。
システムコントローラ12は、CPU11と各コンポーネントとの間を接続するブリッジデバイスである。システムコントローラ12は、カードスロット19に挿入される、SDカードのようなメモリカード19Aに対するデータの書き込み及び読み出しを実行する。
また、システムコントローラ12は、本クライアント端末1のディスプレイモニタとして使用されるLCD15を制御する表示コントローラを内蔵する。この表示コントローラによって生成される表示信号はLCD15に送られる。LCD15は、表示信号に基づいて画面イメージを表示する。システムコントローラ12は、スピーカ16を制御するオーディオコントローラも内蔵する。このオーディオコントローラによって生成される音声信号はスピーカ16に送られる。スピーカ16は、音声信号に基づいて音声を出力する。
通信デバイス17は、有線通信または無線通信を実行するように構成されたデバイスである。通信デバイス17は、信号を送信する送信部と、信号を受信する受信部とを含む。EC18は、クライアント端末1をパワーオンまたはパワーオフするための電力管理を実行する電源コントローラとして機能する。
なお、クライアント端末1には、カードスロット19に加えて、あるいはその代わりに、USBコネクタが設けられてもよい。その場合、CPU11は、カードスロット19を介して接続されたメモリカード19Aではなく、USBコネクタを介して接続されたフラッシュメモリのような各種の不揮発性メモリからRAM(主メモリ)13にロードされるプログラムを実行してもよい。
以上説明したように、本実施形態によれば、起動時間を短縮することができる。BIOS−ROM14は、BIOS141と組み込みOS142とを格納する。カードスロット19は、メモリカード19Aを取り外し自在に接続可能である。組み込みOS142は、クライアント端末1をネットワークを介して管理サーバ2に接続し、組み込みOS142から切り替えてクライアント端末1で使用されるべきOS(非組み込みOS)が、管理サーバ2によって第1OSに設定され、且つカードスロット19を介して接続されたメモリカード19Aに、この第1OS(OSモジュール)が格納されておらず、クライアント端末1の前回の起動で使用された第2OS(OSモジュール)が格納されている場合、メモリカード19Aに格納された第2OSをRAM13にロードし、第2OSを起動する機能を実行するようにCPU11を制御する。第2OSは、第1OS(OSモジュール)を管理サーバ2からダウンロードし、そのダウンロードされた第1OSをメモリカード19Aに格納する機能を実行するようにCPU11を制御する。
したがって、組み込みOSから切り替えてクライアント端末1で使用されるべき第1OSが、メモリカード19Aに格納されていない場合には、メモリカード19Aに格納済みである第2OSが起動され、その起動中に第1OSがダウンロードされるので、クライアント端末1の今回の起動時間が第2OSを起動することによって短縮されると共に、クライアント端末1の次回の起動時間を、ダウンロードされた第1OSを起動することによってた短縮することができる。
また、本実施形態に記載された様々な機能の各々は、回路(処理回路)によって実現されてもよい。処理回路の例には、中央処理装置(CPU)のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム(命令群)を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。本実施形態に記載されたCPU以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
また、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…クライアント端末、2…管理サーバ、3…管理者コンソール、4…VDIサーバ、13…RAM(主メモリ)、131…非組み込みOS、14…BIOS−ROM、141…BIOS、142…組み込みOS、143…前回使用モジュール情報、19A…メモリカード、191…OSモジュール、21…ポリシー情報、22…OSモジュール、41…仮想マシン、42…アプリケーションプログラム、43…仮想OS、51…接続制御部、52…モジュール判定部、53…第1ダウンロード制御部、54…起動制御部、61…VDIクライアント処理部、62…第2ダウンロード制御部、63…通知処理部、64…モジュール判定部。

Claims (10)

  1. プロセッサと、
    揮発性メモリと、
    基本入出力プログラム(BIOS)と組み込みオペレーティングシステムとを格納するBIOS−ROMと、
    不揮発性メモリを取り外し自在に接続可能なインターフェースとを具備し、
    前記組み込みオペレーティングシステムは、
    情報処理装置をネットワークを介してサーバに接続し、
    前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって第1オペレーティングシステムに設定され、且つ前記インターフェースを介して接続された不揮発性メモリに、前記第1オペレーティングシステムが格納されておらず、前記情報処理装置の前回の起動で使用された第2オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第2オペレーティングシステムを前記揮発性メモリにロードし、
    前記第2オペレーティングシステムを起動する
    機能を実行するように前記プロセッサを制御し、
    前記第2オペレーティングシステムは、
    前記第1オペレーティングシステムを前記サーバからダウンロードし、
    前記ダウンロードされた前記第1オペレーティングシステムを前記不揮発性メモリに格納する
    機能を実行するように前記プロセッサを制御する、情報処理装置。
  2. 前記組み込みオペレーティングシステムは、さらに、
    前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって前記第1オペレーティングシステムに設定され、且つ前記不揮発性メモリに前記第1オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第1オペレーティングシステムを前記揮発性メモリにロードし、
    前記第1オペレーティングシステムを起動する
    機能を実行するように前記プロセッサを制御する請求項1記載の情報処理装置。
  3. 前記組み込みオペレーティングシステムは、さらに、
    前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって前記第1オペレーティングシステムに設定され、且つ前記不揮発性メモリに前記第1オペレーティングシステムと前記第2オペレーティングシステムとが格納されていない場合、前記第1オペレーティングシステムを前記サーバから前記揮発性メモリにダウンロードし、
    前記第1オペレーティングシステムを起動する
    機能を実行するように前記プロセッサを制御する請求項1記載の情報処理装置。
  4. 前記組み込みオペレーティングシステムは、さらに、
    前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって前記第2オペレーティングシステムに設定され、且つ前記不揮発性メモリに前記第2オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第2オペレーティングシステムを前記揮発性メモリにロードし、
    前記第2オペレーティングシステムを起動する
    機能を実行するように前記プロセッサを制御し、
    前記第2オペレーティングシステムは、
    前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記サーバによって、前記第2オペレーティングシステムから前記第1オペレーティングシステムに変更された場合、前記第1オペレーティングシステムを前記サーバからダウンロードし、
    前記ダウンロードされた第1オペレーティングシステムを前記不揮発性メモリに格納する
    機能を実行するように前記プロセッサを制御する、請求項1記載の情報処理装置。
  5. 前記第2オペレーティングシステムは、さらに、
    前記第1オペレーティングシステムを前記サーバからダウンロードしている間に、前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記第1オペレーティングシステムから第3オペレーティングシステムに変更された場合、前記第1オペレーティングシステムのダウンロードを中止し、前記第3オペレーティングシステムを前記サーバからダウンロードし、
    前記ダウンロードされた前記第3オペレーティングシステムを前記不揮発性メモリに格納する
    機能を実行するように前記プロセッサを制御する請求項1記載の情報処理装置。
  6. 前記第2オペレーティングシステムは、さらに、
    前記サーバによって、前記第1オペレーティングシステムを前記不揮発性メモリに格納することが許可されている場合、前記第1オペレーティングシステムを前記サーバからダウンロードし、前記ダウンロードされた前記第1オペレーティングシステムを前記不揮発性メモリに格納し、
    前記サーバによって、前記第1オペレーティングシステムを前記不揮発性メモリに格納することが禁止されている場合、前記第1オペレーティングシステムを前記サーバからダウンロードしない
    機能を実行するように前記プロセッサを制御する請求項1記載の情報処理装置。
  7. 前記組み込みオペレーティングシステムは、さらに、
    前記サーバによって、前記組み込みオペレーティングシステムから切り替えて前記情報処理装置で使用されるべきオペレーティングシステムが、前記第1オペレーティングシステムに設定され、前記第1オペレーティングシステムを前記不揮発性メモリに格納することが禁止されている場合、前記第1オペレーティングシステムを前記サーバから前記揮発性メモリにダウンロードし、
    前記第1オペレーティングシステムを起動する
    機能を実行するように前記プロセッサを制御する請求項1記載の情報処理装置。
  8. コンピュータにより実行されるプログラムであって、前記プログラムは、
    前記コンピュータをネットワークを介してサーバに接続する手順と、
    BIOS−ROMに格納された組み込みオペレーティングシステムから切り替えて前記コンピュータで使用されるべきオペレーティングシステムが、前記サーバによって第1オペレーティングシステムに設定され、且つインターフェースを介して接続された不揮発性メモリに、前記第1オペレーティングシステムが格納されておらず、前記コンピュータの前回の起動で使用された第2オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第2オペレーティングシステムを揮発性メモリにロードする手順と、
    前記第1オペレーティングシステムを前記サーバからダウンロードし、前記ダウンロードされた前記第1オペレーティングシステムを前記不揮発性メモリに格納するための命令群を含む前記第2オペレーティングシステムを起動する手順とを前記コンピュータに実行させるプログラム。
  9. 前記プログラムは、さらに、
    前記組み込みオペレーティングシステムから切り替えて前記コンピュータで使用されるべきオペレーティングシステムが、前記サーバによって前記第1オペレーティングシステムに設定され、且つ前記不揮発性メモリに前記第1オペレーティングシステムが格納されている場合、前記不揮発性メモリに格納された前記第1オペレーティングシステムを前記揮発性メモリにロードする手順と、
    前記第1オペレーティングシステムを起動する手順とを前記コンピュータに実行させる請求項8記載のプログラム。
  10. 前記プログラムは、さらに、
    前記組み込みオペレーティングシステムから切り替えて前記コンピュータで使用されるべきオペレーティングシステムが、前記サーバによって前記第1オペレーティングシステムに設定され、且つ前記不揮発性メモリに前記第1オペレーティングシステムと前記第2オペレーティングシステムとが格納されていない場合、前記第1オペレーティングシステムを前記サーバから前記揮発性メモリにダウンロードする手順と、
    前記第1オペレーティングシステムを起動する手順とを前記コンピュータに実行させる請求項8記載のプログラム。
JP2017091308A 2017-05-01 2017-05-01 情報処理装置 Active JP6873811B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017091308A JP6873811B2 (ja) 2017-05-01 2017-05-01 情報処理装置
EP17210788.0A EP3399408B1 (en) 2017-05-01 2017-12-28 Information processing apparatus and computer readable storage medium
US15/885,579 US10628588B2 (en) 2017-05-01 2018-01-31 Information processing apparatus and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017091308A JP6873811B2 (ja) 2017-05-01 2017-05-01 情報処理装置

Publications (2)

Publication Number Publication Date
JP2018190143A JP2018190143A (ja) 2018-11-29
JP6873811B2 true JP6873811B2 (ja) 2021-05-19

Family

ID=60813703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017091308A Active JP6873811B2 (ja) 2017-05-01 2017-05-01 情報処理装置

Country Status (3)

Country Link
US (1) US10628588B2 (ja)
EP (1) EP3399408B1 (ja)
JP (1) JP6873811B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747548B2 (en) * 2018-02-06 2020-08-18 Dell Products, L.P. Manufacturing information handling systems with operating system-specific hardware and/or firmware components
CN110365842B (zh) * 2019-07-12 2021-04-02 维沃移动通信有限公司 一种终端控制方法及终端设备
US20230111120A1 (en) * 2020-03-27 2023-04-13 Hewlett-Packard Development Company, L.P. Alternate operating systems
US12073225B2 (en) 2020-09-23 2024-08-27 Intel Corporation Technology to measure boot activity before a processor enters a working state
CN113238804B (zh) * 2021-05-17 2022-06-28 深圳掌酷软件有限公司 一种基于智能终端息屏状态下指定应用唤醒系统及方法
CN115686644B (zh) * 2021-07-30 2023-09-01 荣耀终端有限公司 配置操作系统制式的方法、设备及存储介质
US11809875B2 (en) * 2021-10-07 2023-11-07 Dell Products L.P. Low-power pre-boot operations using a multiple cores for an information handling system
JP7524255B2 (ja) 2022-06-30 2024-07-29 デジタルアーツ株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN116668285B (zh) * 2022-12-05 2024-05-03 荣耀终端有限公司 配置制式的方法、设备和存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249900A (ja) 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムのブート方法および記録媒体
US6715067B1 (en) * 1999-09-21 2004-03-30 Intel Corporation Initializing a processor-based system from a non-volatile re-programmable semiconductor memory
US20020004849A1 (en) * 2000-06-22 2002-01-10 Elink Business Fault tolerant internet communications system
US20030014476A1 (en) * 2001-01-03 2003-01-16 Peterson David Allen Thin client computer operating system
US7072950B2 (en) * 2001-01-23 2006-07-04 Sony Corporation Method and apparatus for operating system and application selection
US7137026B2 (en) * 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
TW541452B (en) * 2002-02-26 2003-07-11 Via Tech Inc Remote boot-up system and method for multiple terminal equipments
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
TWI258671B (en) * 2004-04-16 2006-07-21 Intervideo Digital Technology System for automatic downloading for data update in computer system with two operation systems and method thereof
JP4604543B2 (ja) 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US20060242395A1 (en) * 2005-03-09 2006-10-26 Wyse Technology Inc. Operating system boot from network location
US20080168310A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
JP5201366B2 (ja) * 2007-03-09 2013-06-05 日本電気株式会社 サーバ機能切替え装置、方法及びプログラム、並びにシンクライアントシステム及びサーバ装置
JP2009026031A (ja) * 2007-07-19 2009-02-05 Hitachi Ltd シンクライアントシステム、情報処理方法、及び、情報処理プログラム
US20090228884A1 (en) * 2008-03-05 2009-09-10 Chong Benedict T Network interface engine
JP2009258922A (ja) 2008-04-15 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 多地点のコンピュータ管理システム及び方法
KR20120134148A (ko) * 2008-08-14 2012-12-11 준코 스기나카 듀얼 부트 제어 방법 및 듀얼 부팅 컴퓨터
JP2011150499A (ja) * 2010-01-21 2011-08-04 Dainippon Printing Co Ltd シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
JP5465099B2 (ja) 2010-06-14 2014-04-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8621496B2 (en) * 2011-04-05 2013-12-31 Netapp, Inc. Decoupled application program-operating system computing architecture
US9032214B2 (en) * 2011-06-30 2015-05-12 Dell Products L.P. System and method for providing an image to an information handling system
EP2745203B1 (en) * 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus
JP6258135B2 (ja) 2014-06-25 2018-01-10 株式会社東芝 情報処理装置および動作制御方法
US10037201B2 (en) * 2016-02-26 2018-07-31 Dell Products L.P. Secure live media boot system

Also Published As

Publication number Publication date
JP2018190143A (ja) 2018-11-29
US10628588B2 (en) 2020-04-21
EP3399408B1 (en) 2024-02-07
US20180314832A1 (en) 2018-11-01
EP3399408A1 (en) 2018-11-07

Similar Documents

Publication Publication Date Title
JP6873811B2 (ja) 情報処理装置
TWI363298B (en) Communication device and firmware update method thereof
US8688967B2 (en) Secure booting a computing device
TWI576764B (zh) 電腦系統
KR102692889B1 (ko) 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체
US10162645B2 (en) Selecting a virtual basic input output system based on information about a software stack
US20080165971A1 (en) Trusting an Unverified Code Image in a Computing Device
KR20150048136A (ko) 보안 펌웨어 업데이트 기법
TW200813837A (en) A chipset-independent method for locally and remotely updating and configuring system BIOS
JP2013149135A (ja) コンピュータをブートする方法およびコンピュータ
US11671379B1 (en) System and method for subscription management using dynamically composed management entities
US20230221784A1 (en) System and method for power state enforced subscription management
US12069184B2 (en) Embedded MMC device with secure boot updates by loading golden boot image from write-protected partition and validating self-recovery using public key
JP2013025426A (ja) 画像出力装置及びそのプログラム
KR20190109979A (ko) 전자 장치 및 전자 장치의 업데이트 제어 방법
CN111381892B (zh) 一种数据处理方法、装置、设备和机器可读介质
JP2015197916A (ja) 複数のオペレーティングシステムを動作させる方法および電子装置
JP2009211640A (ja) 無線lanを使用したネットワークブート方法およびネットワークブート用端末
CN107615293B (zh) 包括期满检测的平台管理方法和装备
JP4982454B2 (ja) 情報処理方法および情報処理システム
JP2020113127A (ja) 情報処理装置、及びセットアップ方法
JP2014099082A (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
JP2019175000A (ja) 情報処理装置、及び情報処理方法
CN113094108B (zh) 一种启动方法和电子设备
CN110007973B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20181207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210311

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: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210421

R150 Certificate of patent or registration of utility model

Ref document number: 6873811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150