JP2008243183A - ファームウェア装置更新システムおよびその方法 - Google Patents

ファームウェア装置更新システムおよびその方法 Download PDF

Info

Publication number
JP2008243183A
JP2008243183A JP2007330901A JP2007330901A JP2008243183A JP 2008243183 A JP2008243183 A JP 2008243183A JP 2007330901 A JP2007330901 A JP 2007330901A JP 2007330901 A JP2007330901 A JP 2007330901A JP 2008243183 A JP2008243183 A JP 2008243183A
Authority
JP
Japan
Prior art keywords
firmware
firmware update
guest operating
operating systems
hash value
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.)
Granted
Application number
JP2007330901A
Other languages
English (en)
Other versions
JP5001818B2 (ja
Inventor
Daryl Cromer
クローマー ダリル
Howard Locker
ロッカー ハワード
Randall S Springfield
エス.スプリングフィールド ランドール
Rod D Waltermann
ディー.ウォルターマン ロッド
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of JP2008243183A publication Critical patent/JP2008243183A/ja
Application granted granted Critical
Publication of JP5001818B2 publication Critical patent/JP5001818B2/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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/445Program loading or initiating
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

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

Abstract

【課題】コンピュータシステムにおいてファームウェア更新を受信して処理するシステム、方法およびプログラム製品を提供すること。
【解決手段】本コンピュータシステムはハイパーバイザと一つ以上のゲストオペレーティングシステムとを実行しており、ファームウェア更新はこのコンピュータシステムによってアクセス可能なハードウェア装置に対応している。このハードウェア装置は、更新可能なファームウェアを使用してプログラムされるタイプである。このコンピュータシステム内で動作するハイパーバイザは、受信されたファームウェア更新を、先ずゲストオペレーティングシステムの各々による装置の使用を禁止することによって処理する。ゲストオペレーティングシステムが装置の使用を禁止された後に装置内のファームウェアは、受信されたファームウェア更新を使用してハイパーバイザによってアップグレードされる。ファームウェアがアップグレードされた後に、ゲストオペレーティングシステムの各々は装置の使用を許可される。
【選択図】 図1

Description

本発明は、ファームウェア装置を確実に更新するシステムとその方法とに関する。特に本発明は、ファームウェア装置を更新するための安定な環境を与えるためにハイパーバイザを使用するシステムと方法とに関する。
ファームウェアは、ハードウェア装置上にプログラムされたソフトウェアプログラムまたは1セットの命令である。ファームウェアは、装置が主要なシステムを含む他のコンピュータハードウェアとどのように通信するかを制御する命令を与える。また、ファームウェアは、典型的にはハードウェア装置のフラッシュROM(読取専用メモリ)に記憶される。ROMは一般に「読取専用メモリ」を意味するが、フラッシュROMは消去および書換えが可能であるタイプのフラッシュメモリである。
ファームウェアは、ファームウェアアップデーター(firmware updater)によって更新されない限り同じ状態を維持するので、「半永久的」と考えることができる。ハードドライブおよびビデオカードといったある幾つかの装置のファームウェアは、これらが正しく働くために(例えばコンピュータシステムにインストールされる新しいオペレーティングシステムのために)、時々更新する必要がある。ファームウェアはまた、装置の機能と効率とを改善するためにも更新される。例えばCDおよびDVDドライブの製造業者はしばしば、これらのドライブがより高速の媒体を読み取ることを可能にするファームウェア更新を利用可能にする。
製造業者は、ホストコンピュータシステムからファームウェアをロードすることがより安価で、より柔軟であることを見出している。その結果、現在の多くのハードウェアは、ホストコンピュータからの必要なファームウェアの供給が完了するまでは、如何なる有用な仕方においても機能できない。このファームウェアのロードは、装置ドライバによって処理される。
ファームウェアは、ある幾つかの点でオペレーティングシステムと同程度の動作システムのソフトウェアコンポーネントである。しかしながら従来のコンピュータシステムは、大抵の最新のオペレーティングシステムとは異なり、バグを取り除くための且つ装置が出荷された後に検出された機能的な問題に取り組むための洗練されたファームウェア更新機構が欠如しているという難題を突きつけられている。
従来のファームウェア更新の直面するもう一つの難題は、ファームウェアのバージョンを検出してこれらを更新するための機構が標準化されていないことである。その結果、これらの装置は、最新のコンピュータシステムの他の部分と比較して、遥かに高いパーセンテージでファームウェア駆動の機能的な問題を持つ傾向がある。
ファームウェア更新に関する難題は、最新のコンピュータシステムがますます複雑になっているという事実により悪化している。最新のコンピュータシステムは、所定の時間にシステム上で動作する二つ以上のオペレーティングシステムを有し得る。更に、ソフトウェアウィルスのような増加傾向にある多くのプログラムは悪質である。これらの悪質なアプリケーションは、大抵の従来システムにおいて装置のファームウェアを更新する、または削除さえする可能性を有している。これらの難題は、組織内のヘルプデスクによって追跡され、管理され得る装置ドライバを含む標準ソフトウェアを有する安定なシステムを望む大きな組織においてますます明らかになっている。
上記の難題は、コンピュータシステムにおいてファームウェア更新を受信して処理するシステム、方法およびコンピュータプログラム製品を使用して解決されることが発見されている。このコンピュータシステムは、ハイパーバイザと一つ以上のゲストオペレーティングシステムとを実行しており、ファームウェア更新はこのコンピュータシステムによってアクセス可能なハーウェア装置に対応する。このハードウェア装置は更新可能なファームウェアを使用してプログラムされるタイプである。このコンピュータシステム内で動作するハイパーバイザは、ゲストオペレーティングシステムの各々による装置の使用を先ず禁止することによって受信されたファームウェア更新を処理する。ゲストオペレーティングシステムが装置の使用を禁止された後に、装置内のファームウェアは受信されたファームウェア更新を使用してハイパーバイザによってアップグレードされる。ファームウェアがアップグレードされた後に、ゲストオペレーティングシステムの各々は、装置の使用を許可される。
一実施形態ではファームウェアをアップグレードするに先立って、ファームウェア更新が妥当性検証される。この実施形態ではアップグレードは、ファームウェア更新の成功した妥当性検証に応じてだけ実行される。
更なる妥当性検証実施形態では妥当性検証は、コンピュータシステムのユーザからのファームウェア更新を制御するために使用されるパスワードを受信することを含む。ユーザによって供給されたパスワードは、予期されるパスワードと比較される。この実施形態ではアップグレードは、受信されたパスワードが期待されるパスワードと一致したときにだけ実行される。
別の妥当性検証実施形態では、受信されたファームウェア更新に含まれるディジタル署名が分析される。この実施形態ではアップグレードは、受信されたファームウェア更新が認可されたユーザによってディジタルに署名されていることを検証した後にだけ、実行される。例えば非対称キーを使用して認可されたユーザは、認可されたユーザの秘密キーを使用してファームウェア更新にディジタルに署名(暗号化)する。ハイパーバイザは、認可されたユーザのパブリックキーを使用して、署名されたファームウェア更新を解読することによってディジタル署名を検証する。
更に別の妥当性検証実施形態ではハイパーバイザは、受信されたファームウェア更新に対してハッシュアルゴリズムを実行し、ハッシュ値という結果をもたらす。このハッシュ値は、予期されるハッシュ値と比較される。この実施形態ではファームウェア更新は、予期されたハッシュ値と一致しないハッシュ値に応じて拒否され、またこのファームウェア更新は、予期されたハッシュ値と一致するハッシュ値に応じて受け入れられる。例えばシステム管理者は、ファームウェア更新に関して予期されるハッシュ値を供給できる。それからコンピュータシステムは、インターネットからアクセス可能なウェブサイトといった公のソースからファームウェア更新をダウンロードできる。ハイパーバイザは、ダウンロードされたファームウェア更新に対してハッシュアルゴリズムを実行することによってこのファームウェア更新が有効であることを検証する。もしハッシュ値が、おそらく悪意のコードを含んだ偽のファームウェア更新を示して、予期されるハッシュ値と一致しなければ、ハイパーバイザはこのファームウェア更新を拒否する。
一実施形態では更新されつつある装置の使用を禁止するために、ハイパーバイザはゲストオペレーティングシステムの各々から装置を取り外す。それからハイパーバイザはゲストオペレーティングシステムの各々を中断する。装置のファームウェアがアップグレードされた後にハイパーバイザは、ゲストオペレーティングシステムの各々を再開し、ゲストオペレーティングシステムが再開された後にゲストオペレーティングシステムの各々に装置を取り付けることによって装置の使用を許可する。
一実施形態では更新されつつある装置の使用を禁止するために、ハイパーバイザはゲストオペレーティングシステムから受信された要求をバッファ内にバッファ記憶する。装置のファームウェアがアップグレードされた後に、ハイパーバイザはバッファ記憶された要求を装置に送ることによって装置の使用を許可する。
上述した内容は概要であるので、必然的に、単純化、一般化、詳細の省略を含んでいる。よって、当業者であれば、その概要が一例に過ぎず、いかなる意味でも限定を意図するものではないことが理解できよう。請求項によってのみ定義される、本発明の他の態様、発明的特徴、利点は、以下に説明される非限定的な詳細な説明において明らかになる。
添付の図面を参照することにより、本発明はより理解され、その数多くの目的、特徴、利点は当業者にとって明白になろう。
以下の説明は、本発明の例の詳細の提示を目的としており、本発明そのものを限定するものではない。むしろ、あらゆる変形を、本説明に続く請求項において定義される本発明の範囲に含まることができる。
図1は、ハイパーバイザを使用して装置ファームウェアを更新する際に使用される選択されたコンピュータコンポーネントを示すハイレベルの図である。選択されたコンピュータシステムコンポーネント100は、一つ以上のゲストオペレーティングシステムが動作するハイパーバイザ110を含む。図示の実施形態では二つのゲストオペレーティングシステムがハイパーバイザ110の制御下で動作している。ゲストオペレーティングシステムの例は、リナックス(Linux(登録商標))オペレーティングシステム120とマイクロソフトウィンドウズ(Microsoft Windows(登録商標))オペレーティングシステム130(Windows XP(登録商標)、Windows Vista(登録商標)などといった)とを含む。
ファームウェア更新ソース140は、コンピュータシステムにアクセス可能な装置のファームウェアをアップグレードするために使用されているファームウェア更新の任意の利用可能なソースを含む。ファームウェア更新ソースの例は、ディスケット、CD−ROM、およびインターネットまたはローカルエリアネットワーク(LAN)といったコンピュータネットワーク150からアクセス可能なファイルを含む。ネットワークアクセス可能なファイルは、インターネット上のウェブサイトからアクセス可能なファームウェア更新または従業員のために組織によって与えられたLANといったLANからアクセス可能な共有ネットワークドライブからアクセス可能なファイルを含む。ファームウェア更新はしばしば、製造業者の装置の機能を改善または提供するために製造業者のウェブサイトから利用可能である。ここに示された処理は、コンピュータネットワーク150上で見出されるファームウェア更新が合法的(すなわち承認された)更新であることを検証するために使用され、またコンピュータシステムの動作を損傷または混乱させるように設計された悪意のコードを含む可能性のある偽のファームウェア更新のインストールを防止するために使用され得る。
図示の例では選択されたコンピュータシステム100は、各々が装置の動作を制御するアップグレード可能なファームウェアを有するコンピュータシステムからアクセス可能である二つの装置(180および190)を含む。このような装置の例は、ドライブコントローラとビデオアダプタとを含む。これらの装置の製造業者はしばしば、装置のファームウェアにインストールされるファームウェア更新を供給する。ファームウェア更新は、装置の動作を制御するために使用されるソフトウェアを含む。ある幾つかの場合に装置は、装置のファームウェアにインストールされるソフトウェアなしで出荷される。これらの場合には、ファームウェア更新は、装置の機能を与えるために装置のファームウェアにロードされる初期ファームウェア(ソフトウェア)を含む。ある幾つかのファームウェア更新は特定の装置に固有のものであるが、他のファームウェア更新は「一般的」であって幅広い種々の装置に適用可能である。例えば一般的なビデオアダプタファームウェアは、ビデオアダプタの基本的機能を与えるために幅広い種々のビデオアダプタに適用可能である。一般的または基本的なファームウェア更新はしばしば、オペレーティングシステムに含まれており、オペレーティングシステムを最初に構成するときに装置を初期化するために使用される。
図2は、ハイパーバイザを使用して装置ファームウェアを更新するために取られるステップを示すハイレベルの流れ図である。処理は200で始まり、ステップ210でコンピュータシステムのユーザは、ユーザのコンピュータシステムにアクセス可能である装置内にインストールするファームウェア更新を選択する。コンピュータシステム上のファームウェアが保護されているかどうかに関する決定が行われる(決定220)。もしコンピュータシステム上のファームウェアが保護されていれば、決定220は「はい」の分岐225に分岐し、予め定義されたプロセス230でファームウェア更新の完全性が種々の異なる妥当性検証技法の一つ以上を使用して検証される(処理の詳細については図3と対応するテキストとを参照すること)。妥当性検証が実行された後に、このファームウェア更新が有効であるかどうかに関する決定が行われる(決定240)。もしこのファームウェア更新が有効でなければ、決定240は「いいえ」の分岐248に分岐して、処理は装置のファームウェアを更新せずに295で終了する。他方、もし更新が有効であれば、決定240は「はい」の分岐244に分岐して、ファームウェア更新処理を続行する。決定220に戻って、もしファームウェアが保護されていなければ、決定220は「いいえ」の分岐246に分岐して、妥当性検証ステップ230および240をバイパスする。
ファームウェア更新処理は、ファームウェア更新のためにコンピュータシステムに準備させることによって続行する(予め定義された処理250、処理の詳細については図4と対応するテキストとを参照すること)。ファームウェア更新のためにコンピュータシステムに準備させることは、更新が完了するまで更新されている装置の使用をゲストオペレーティングシステムに禁止することを含む。コンピュータシステムがファームウェア更新を受け入れる準備を完了した後に、ステップ260で装置のファームウェアはファームウェア更新コードを使用してアップグレードされる。装置のファームウェアがアップグレードされた後に、予め定義された処理270で更新は、コンピュータシステム上で初期化される(処理の詳細については図5と対応するテキストとを参照すること)。更新の初期化は、ゲストオペレーティングシステムに装置の使用を許可することを含む。それから装置のファームウェアのハイパーバイザ更新は295で終了する。
図3は、ファームウェア更新ソフトウェアの完全性を検証するために取られるステップを示す流れ図である。このルーチンは、図2に示す予め定義された処理230から呼び出される。図3でファームウェア更新の妥当性検証は、300で始まり、そこでコンピュータシステムからアクセス可能な装置のファームウェアの更新を制御するためにパスワードが使用されるかどうかに関する決定が行われる(決定305)。例えば、ある組織においてシステム管理者は、装置ファームウェアを更新する責任を持ち得る。このような組織ではユーザは、装置のファームウェアを更新するためにパスワードを供給する必要があるであろう。もし装置のファームウェアを更新するために必要とされるパスワードが供給されなければ、ハイパーバイザはユーザがファームウェアを更新することを許可しない。もし装置ファームウェアの更新を制御するためにパスワードが使用されていれば、決定305は「はい」の分岐308に分岐して、ステップ310でユーザは装置ファームウェアを更新するために使用される(認可された)パスワードを催促される。ステップ315でハイパーバイザは、ユーザによって供給されたパスワードを、記憶されている認可されたパスワードと比較する。ユーザによって供給されたパスワードがファームウェアの更新を制御するために使用されるパスワードと一致するかどうかに関する決定が行われる(決定320)。もしユーザによって供給されたパスワードがファームウェアの更新を制御するために使用される認可されたパスワードと一致しなければ、決定320は「いいえ」の分岐322に分岐して、処理は更新が無効であることを示すリターンコードをもって325で呼び出しルーチンに戻る(リターンコードの受信時に呼び出しルーチンによって実行される処理については図2の決定240を参照すること)。他方、もしユーザによって供給されたパスワードが装置ファームウェアの更新を制御するために使用されるパスワードと一致すれば、決定320は「はい」の分岐326に分岐して、ファームウェア更新の完全性の検証を続行する。決定305に戻って、もしパスワードが装置ファームウェアを更新するために必要とされなければ、決定305は「いいえ」の分岐328に分岐して、ステップ310〜325をバイパスする。
ファームウェア更新を検証するためにディジタル署名が使用されるかどうかに関する決定が行われる(決定330)。もしディジタル署名が使用されていれば、承認されたファームウェア更新は管理者といった認可されたユーザによってディジタルに署名される。ファームウェア更新にディジタルに署名する一つの方法は、認可されたユーザがファームウェア更新を暗号化するための秘密キーを使用してファームウェア更新にディジタルに署名する場合に非対称キーを使用することによることである。ディジタルに署名された(暗号化された)ファームウェア更新は、認可されたユーザのパブリックキーを使用して解読され得る。もしディジタル署名が使用されていれば、決定330は「はい」の分岐332に分岐して、ステップ335でハイパーバイザは、認可されたユーザ(例えばシステム管理者)に対応するパブリックキーを使用してファームウェア更新を解読しようと試みる。認可されたユーザの秘密キーを使用して暗号化されたファームウェア更新をパブリックキーが解読できたかどうかに基づいて、ディジタル署名が有効であるかどうかに関する決定が行われる(決定340)。もしディジタル署名が検証されなければ、決定340は「いいえ」の分岐342に分岐して、処理は更新が無効であることを示すリターンコードをもって345で呼び出しルーチンに戻る(リターンコードの受信時に呼び出しルーチンによって実行される処理については図2の決定240を参照すること)。他方、もしディジタル署名が検証されれば、決定340は「はい」の分岐346に分岐して、ファームウェア更新の完全性の検証を続行する。決定330に戻って、もしディジタル署名がファームウェア更新を検証するために使用されていなければ、決定330は「いいえ」の分岐348に分岐して、ステップ335〜345をバイパスする。
ファームウェア更新がハッシュテーブルを使用して制御されるかどうかに関する決定が行われる(決定350)。ハッシュテーブルを使用することは、システム管理者が種々のファームウェア更新に対応する予期されるハッシュ値のリストを与えることを可能にする。このように実際のファームウェア更新は、ウェブサイトのセキュリティが未知であるインターネットからアクセス可能な公のウェブサイトから検索可能である。もしファームウェア更新がハッシュテーブルを使用して制御されていれば、決定350は「はい」の分岐355に分岐して、ステップ360でハイパーバイザは、ユーザによってダウンロードされたファームウェア更新に対してハッシュアルゴリズムを実行する。ハッシュアルゴリズムの実行は、ハッシュ値という結果をもたらす。ステップ365でハイパーバイザは、種々の承認されたファームウェア更新に対応する予期されるハッシュ値のリストを含む比較テーブル370から予期されるハッシュ値を検索することによって、ハッシュアルゴリズムの結果から得られたハッシュ値と予期されるハッシュ値とを比較する。比較テーブル370は、ハッシュアルゴリズムが所定のファームウェア更新ファイルに対して実行されるときに予期されるハッシュ値と共にファームウェア更新のファイル名といったファームウェア更新に関する情報を識別することを含む。もしファームウェア更新ファイルが偽造されたり、変更されたり、さもなければ損傷されたりしたならば、ハッシュ値は予期されるハッシュ値と一致しないであろう。ハッシュアルゴリズムの結果から得られたハッシュ値が予期されるハッシュ値と一致するかどうかに関する決定が行われる(決定375)。もしハッシュアルゴリズムの結果から得られたハッシュ値が予期されるハッシュ値と一致しなければ、決定375は「いいえ」の分岐378に分岐して、処理は更新が無効であることを示すリターンコードをもって380で呼び出しルーチンに戻る。他方、もしハッシュアルゴリズムの結果から得られたハッシュ値が予期されるハッシュ値と一致すれば、決定375は「はい」の分岐385に分岐して、リターンコードはファームウェア更新が検証されたことを示す呼び出しルーチンに戻される。決定350に戻って、もしファームウェア更新がハッシュテーブルを使用して制御されなければ、決定350は「いいえ」の分岐390に分岐して、リターンコードはファームウェア更新が検証されたことを示す呼び出しルーチンに戻される。リターンコードの受信時に呼び出しルーチンによって実行される処理については図2の決定240を参照すること。
図4は、コンピュータシステムにファームウェア更新の準備させるためにハイパーバイザによって取られるステップを示す流れ図である。処理は、400で始まり、ステップ410でハイパーバイザの下で動作している第1のゲストオペレーティングシステムは、ハイパーバイザの下で動作しているゲストオペレーティングシステムのハイパーバイザのリスト420から検索される。ステップ425でハイパーバイザは、選択されたオペレーティングシステムから装置を取り外す。ゲストオペレーティングシステムが中断されているかどうか、あるいはゲストオペレーティングシステムによって装置に向けられた要求がハイパーバイザによってバッファ記憶されているかどうかに関する決定が行われる(決定430)。一実施形態では、ゲストオペレーティングシステムの各々は同じように取り扱われる(いずれも中断されるか、要求がバッファ記憶される)が、別の実施形態では各オペレーティングシステムは特定のゲストオペレーティングシステムと更新されつつある装置との特性に基づいて異なるように取り扱われる可能性がある(すなわち、ある幾つかのゲストオペレーティングシステムは他のものよりよく中断されるように扱われるが、ある幾つかの装置は装置への種々の要求のバッファ記憶をより困難にするように極めて頻繁に使用される)。ハイパーバイザは、ゲストオペレーティングシステムを中断すべきか、装置に対するゲストオペレーティングシステムの要求をバッファ記憶すべきかどうかを決定する。もしゲストオペレーティングシステムが中断されていれば、決定430は「はい」の分岐445に分岐して、ステップ450で選択されたゲストオペレーティングシステムは中断される。他方、もし選択されたゲストオペレーティングシステムから装置への要求がバッファ記憶されていれば、決定430は「いいえ」の分岐455に分岐して、ステップ460で選択されたゲストオペレーティングシステムから更新されつつある装置への要求はハイパーバイザによってバッファ記憶される。
ハイパーバイザの下で動作している、より多くのゲストオペレーティングシステムが存在するかどうかに関する決定が行われる(決定470)。もしハイパーバイザの下で動作している、より多くのゲストオペレーティングシステムが存在すれば、決定470は「はい」の分岐475に分岐して、ステップ480で次のゲストオペレーティングシステムがリスト420から選択され、処理は新しく選択されたゲストオペレーティングシステムが装置を使用するのを禁止するためにループバックする(ゲストオペレーティングシステムを中断するか、ゲストオペレーティングシステムによる装置への要求をバッファ記憶するか、いずれかによって)。このルーピングは、ハイパーバイザの下で動作しているすべてのゲストオペレーティングシステムが処理されるまで続き、この時点で決定470は「いいえ」の分岐485に分岐する。
ステップ490でハイパーバイザは、このハイパーバイザがファームウェア更新を受信しようとしている装置を使用していないことを保証する。495で処理は適用されているファームウェア更新を使用して装置のファームウェアをアップグレードするために呼び出しルーチン(図2を参照のこと)に戻る。
図5は、ファームウェア更新を初期化してそれをゲストオペレーティングシステムに利用可能にするためにハイパーバイザによって取られる更なるステップを示す流れ図である。処理は500で始まり、ステップ510で、新しいファームウェアコードで更新された装置はリセットされる。ステップ520でハイパーバイザは、ハイパーバイザの下で動作しているゲストオペレーティングシステムのハイパーバイザのリスト420から第1のゲストオペレーティングシステムを選択する。
選択されたゲストオペレーティングシステムが中断されたかどうかに関する決定が行われる(決定530)。もし選択されたゲストオペレーティングシステムが中断されたのであれば、決定530は「はい」の分岐535に分岐して、ステップ540で、選択されたゲストオペレーティングシステムは再開され、ステップ545で装置は選択されたゲストオペレーティングシステムに再接続される(例えば「搭載される」)。他方、もし選択されたゲストオペレーティングシステムが中断されなかったとすれば、決定530は「いいえ」の分岐550に分岐して、ステップ555で装置は選択されたゲストオペレーティングシステムに再接続され、ステップ560で、選択されたゲストオペレーティングシステムによって装置に送られてハイパーバイザによってバッファ記憶された要求は処理される(すなわちバッファ記憶された要求は装置がリセットされた後に装置に送られる)。
ハイパーバイザの下で動作している、より多くのゲストオペレーティングシステムが存在するかどうかに関する決定が行われる(決定570)。もしハイパーバイザの下で動作している、より多くのゲストオペレーティングシステムが存在すれば、決定570は「はい」の分岐575に分岐して、ステップ580で次のゲストオペレーティングシステムがリスト420から選択され、処理は新しく選択されたゲストオペレーティングシステムによる装置の使用を許可するようにループバックする(ゲストオペレーティングシステムを再開するか、バッファ記憶された要求を処理するか、いずれかによって)。このルーピングは、ハイパーバイザの下で動作しているすべてのゲストオペレーティングシステムが処理されるまで続き、この時点で決定570は「いいえ」の分岐485に分岐して、処理は495で呼び出しルーチンに戻る(図2を参照すること)。
図6は、本明細書に記載の計算動作を実行できるコンピュータシステムの単純化された例である情報処理システム600を示す。情報処理システム600は、プロセッサインタフェースバス612に接続された一つ以上のプロセッサ610を含む。プロセッサインタフェースバス612は、メモリコントローラバス(MCB)としても知られるノースブリッジ615にプロセッサ610を接続する。ノースブリッジ615は、システムメモリ620に接続され、プロセッサ610がシステムメモリにアクセスするための手段を備える。グラフィックスコントローラ625もまたノースブリッジ615に接続される。一実施形態では、ノースブリッジ615をグラフィックスコントローラ625に接続するためにPCIエクスプレスバス618が使用される。グラフィックスコントローラ625は、コンピュータモニターといった表示装置630に接続される。
ノースブリッジ615とサウスブリッジ635は、バス619を使用して互いに接続される。一実施形態ではこのバスは、ノースブリッジ615とサウスブリッジ635との間で各方向に高速度でデータを転送するダイレクトメディアインタフェース(DMI)バスである。別の実施形態では、ノースブリッジとサウスブリッジとを接続するために周辺コンポーネント相互接続(PCI)バスが使用される。I/Oコントローラハブ(ICH)としても知られるサウスブリッジ635は、一般にノースブリッジによって与えられる能力より低速度で動作する能力を実現するチップである。サウスブリッジ635は典型的には、種々のコンポーネントを接続するために使用される種々のバスを備える。これらのバスは、PCIおよびPCIエクスプレスバスと、ISAバスと、システム管理バス(SMBusまたはSMB)とローピンカウント(Low Pin Count:LPC)バスと、を含み得る。LPCバスはしばしば、ブートROMおよび「レガシー」I/O装置(「スーパーI/O」チップを使用する)といった低帯域幅装置を接続するために使用される。この「レガシー」I/O装置(698)は、シリアルポートおよびパラレルポートと、キーボードと、マウスと、フロッピーディスクコントローラと、を含み得る。LPCバスはまた、サウスブリッジ635を信頼されたプラットフォームモジュール(TPC)695に接続するためにも使用される。サウスブリッジ635にしばしば含まれる他のコンポーネントは、ダイレクトメモリアクセス(DMA)コントローラと、プログラマブルインタラプトコントローラ(Programmable Interrupt Controller:PIC)と、バス684を使用してハードディスクドライブといった不揮発性記憶装置685にサウスブリッジ635を接続する記憶装置コントローラと、を含み得る。
エクスプレスカード655は、ホットプラグ可能な装置を情報処理システムにするために使用されるスロットである。エクスプレスカード655は、ユニバーサルシリアルバス(USB)とPCIエクスプレスバスの両者を使用してサウスブリッジ635に接続されるので、PCIエクスプレスとUSB両者の接続性をサポートする。サウスブリッジ635は、USBに接続する装置にUSB接続性を与えるUSBコントローラ640を含む。これらの装置は、ウェブカム(カメラ)650と、赤外線(IR)受信機648と、無線パーソナルエリアネットワーク(PAN)に備えるブルートゥース(Bluetooth)装置646と、キーボードおよびトラックパッド644と、マウス、携帯型記憶装置、モデム、ネットワークカード、ISDNコネクタ、ファックス、プリンタ、USBハブ、および多数の他のタイプのUSB接続装置といったその他種々雑多のUSB接続装置642と、を含む。
無線ローカルエリアネットワーク(LAN)装置675は、PCIまたはPCIエクスプレスバス672を介してサウスブリッジ635に接続される。LAN装置675は典型的には、情報処理システム600と他のコンピュータシステムまたは装置との間で無線通信するためにすべてが同じプロトコルを使用する無線変調技法のIEEE802.11規格の一つを実現する。
光記憶装置690は、シリアルATA(SATA)バス688を使用してサウスブリッジ635に接続される。シリアルATAアダプタと装置は、高速度シリアルリンク658上で通信する。シリアルATAバスはまた、ハードディスクドライブといった他の形式の記憶装置にサウスブリッジ635を接続するためにも使用される。
サウンドカードといったオーディオ回路660は、バス658を介してサウスブリッジ635に接続される。オーディオ回路660は、オーディオラインインおよびポート内の光ディジタルオーディオ662、光ディジタル出力およびヘッドフォンジャック664、内蔵スピーカ666、および内蔵マイクロフォン668といった機能を与えるために使用される。
イーサーネットコントローラ670は、PCIまたはPCIエクスプレスバス672といったバスを使用してサウスブリッジ635に接続される。イーサーネットコントローラ670は、ローカルエリアネットワーク(LAN)、インターネット、および他の公衆および私設コンピュータネットワークといったコンピュータネットワークに情報処理システム600を接続するために使用される。
図6は、一つの情報処理システムを示しているが、情報処理システムは多くの形式を取り得る。例えば情報処理システムは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、または他の形式ファクタのコンピュータまたはデータ処理システムの形を取り得る。更に情報処理システムは、パーソナルディジタルアシスタント(PDA)、ゲーム機、ATM装置、携帯電話、通信装置、またはプロセッサとメモリとを含む他の装置といった他の形式ファクタを取り得る。
本発明の好適な実現形態の一つは、クライアントアプリケーション、すなわち、例えばコンピュータのランダムアクセスメモリ内に常駐し得るコードモジュール内の1セットの命令(プログラムコード)または他の機能記述資料である。コンピュータによって必要とされるまで、この1セットの命令は、他のコンピュータメモリ内に、例えばハードディスクドライブ内に、または光ディスク(CD−ROMでの最終的使用のための)またはフロッピー(登録商標)ディスク(フロッピーディスクドライブでの最終的使用のための)といった交換可能メモリ内に記憶され得るか、あるいはインターネットまたはその他のコンピュータネットワークを介してダウンロードされ得る。したがって本発明は、コンピュータに使用されるコンピュータプログラム製品として実現され得る。更に、説明された種々の方法は好都合にもソフトウェアによって選択的に活性化または再構成される汎用コンピュータに実現されるが、当業者は、このような方法がハードウェアに、またはファームウェアに、または必要な方法ステップを実行するように構成された、より特殊な装置において実施され得ることも認めるであろう。機能記述資料は、マシンに機能を与える情報である。機能記述資料は、コンピュータプログラム、命令、ルール、事実、計算可能な関数の定義、オブジェクト、およびデータ構造を含むが、これらに限定されない。
本発明の特定の実施形態が示され、説明されたが、当業者であれば、この教示に基づいて、変更および改良が本発明およびその広い態様から逸脱することなくなされるであろうことは明白であろう。したがって、添付の請求項は、本発明の真の精神および範囲内にあると同じく、その範囲内に、これらの変更および改良の全てを包含するものである。
ハイパーバイザを使用して装置ファームウェアを更新する際に使用される選択されたコンピュータコンポーネントを示すハイレベルの図である。 ハイパーバイザを使用して装置ファームウェアを更新するために取られるステップを示すハイレベルの流れ図である。 ファームウェア更新ソフトウェアを検証するために取られるステップを示す流れ図である。 コンピュータシステムにファームウェア更新の準備をさせるためにハイパーバイザによって取られるステップを示す流れ図である。 ファームウェア更新を初期化してそれをゲストオペレーティングシステムに利用可能にするためにハイパーバイザによって取られる更なるステップを示す流れ図である。 本明細書に記載の方法が実現され得るデータ処理システムのブロック図である。
符号の説明
100 選択されたコンピュータシステムコンポーネント
110 ハイパーバイザ
120 ゲストオペレーティングシステム(例えばリナックス)
130 ゲストオペレーティングシステム(例えばウィンドウズ)
140 ファームウェア更新ソース
150 コンピュータネットワーク(例えばLAN、インターネットなど)
180 装置ファームウェア(例えばドライブコントローラ)
190 装置ファームウェア(例えばビデオアダプタ)
600 情報処理システム
610 プロセッサ
612 プロセッサインタフェースバス
615 ノースブリッジメモリコントローラ
618 PCIエクスプレス
619 DMIバス
620 システムメモリ
625 グラフィックスコントローラ
630 表示装置
635 サウスブリッジI/O装置・ディスクコントローラ
640 USBコントローラ
642 種々雑多なUSB装置
644 キーボードとトラックパッド
646 ブルートゥース
648 IR受信機
650 カメラ
655 エクスプレスカード
658 HDインタフェース
660 オーディオ回路
662 オーディオラインインとポート内の光ディジタルオーディオ
664 光ディジタル出力とヘッドフォンジャック
666 内蔵スピーカ
668 内蔵マイクロフォン
670 イーサーネットコントローラ
672 PCIエクスプレス1レーン
675 802.11無線
678 SPIバス
680 EFIブートマネージャ
684 ATAまたはUATAバス
685 内蔵ハードドライブ
688 シリアルATAバス
690 光ドライブ
695 TPM
696 ブートROM
698 「レガシー」I/O装置

Claims (20)

  1. コンピュータシステムにおいてファームウェア更新を受付けるステップを含むことを特徴とする、コンピュータによって実施される方法であって、
    前記コンピュータシステムは、ハイパーバイザと一つ以上のゲストオペレーティングシステムとを実行しており、
    前記ファームウェア更新は、前記コンピュータシステムによってアクセス可能なハードウェア装置に対応しており、
    前記ハードウェア装置は、更新可能なファームウェアを含み、
    前記ハイパーバイザは、前記ファームウェア更新の受信に応答して、
    前記ゲストオペレーティングシステムの各々による前記装置の使用を禁止するステップと、
    前記禁止するステップの後に、受信された前記ファームウェア更新を使用して前記ファームウェアをアップグレードするステップと、
    前記アップグレードするステップの後に、前記ゲストオペレーティングシステムの各々に前記装置の使用を許可するステップと、によって動作することを特徴とする方法。
  2. 前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証するステップを更に含み、
    前記アップグレードは、前記ファームウェア更新の成功した検証に応じて実行されることを特徴とする請求項1に記載の方法。
  3. 前記検証は更に、
    ユーザから、前記コンピュータシステムへのファームウェア更新を制御するために使用されるパスワードを受信するステップと、
    受信された前記パスワードを予期されるパスワードと比較するステップと、を含み、
    前記アップグレードは、予期される前記パスワードと一致する、受信された前記パスワードに応じて実行されることを特徴とする請求項2に記載の方法。
  4. 前記検証は更に、
    受信された前記ファームウェア更新が、認可されたユーザによってディジタルに署名されていることを検証するステップを含むことを特徴とする請求項2に記載の方法。
  5. 前記検証は更に、
    受信された前記ファームウェア更新に対してハッシュアルゴリズムを実行することにより、ハッシュ値を得るステップと、
    前記ハッシュ値を予期されるハッシュ値と比較するステップと、
    予期される前記ハッシュ値と一致しない前記ハッシュ値に応じて前記ファームウェア更新を拒否するステップと、
    予期される前記ハッシュ値と一致する前記ハッシュ値に応じて前記ファームウェア更新を受け入れるステップと、を含むことを特徴とする請求項2に記載の方法。
  6. 前記禁止するステップは更に、
    前記ゲストオペレーティングシステムの各々から前記装置を取り外すステップと、
    前記ゲストオペレーティングシステムの各々を中断するステップと、を含み、
    前記許可するステップは更に、
    前記ゲストオペレーティングシステムの各々を再開するステップと、
    前記ゲストオペレーティングシステムの各々に前記装置を取り付けるステップと、を含むことを特徴とする請求項1に記載の方法。
  7. 前記禁止するステップは更に、
    前記ゲストオペレーティングシステムの一つ以上から受信された前記装置に関する一つ以上の要求をバッファ内にバッファ記憶するステップを含み、
    前記許可するステップは更に、
    前記バッファ記憶された要求の各々を前記装置に送るステップを含むことを特徴とする請求項1に記載の方法。
  8. 一つ以上のプロセッサと、
    前記プロセッサの少なくとも一つによってアクセス可能なメモリと、
    前記プロセッサの少なくとも一つによってアクセス可能な不揮発性記憶領域と、
    前記装置の動作を制御する更新可能なファームウェアを含み且つ前記プロセッサの少なくとも一つによってアクセス可能なハードウェア装置と、
    前記メモリと前記不揮発性記憶領域とに記憶されていて前記プロセッサによって実行されるハイパーバイザおよび一つ以上のゲストオペレーティングシステムと、
    前記ハイパーバイザによって実行される1セットの命令と、を備え、
    前記プロセッサの一つ以上は、
    前記ハードウェアに対応するファームウェア更新を受信する処理と、
    前記ファームウェア更新の受信に応じて前記ゲストオペレーティングシステムの各々による前記装置の使用を禁止する処理と、
    前記禁止の後に前記受信されたファームウェア更新を使用して前記ファームウェアをアップグレードする処理と、
    前記アップグレードの後に、前記ゲストオペレーティングシステムの各々に前記装置の使用を許可する処理と、を実行するための1セットの命令を実行することを特徴とする情報処理システム。
  9. 前記1セットの命令は更に、
    前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証する処理を含み、
    前記アップグレードは前記ファームウェア更新の成功した妥当性検証に応じて実行され、
    前記検証は、
    ユーザから、前記コンピュータシステムへのファームウェア更新を制御するために使用されるパスワードを受信するステップと、
    受信された前記パスワードを予期されるパスワードと比較するステップと、を含み、
    前記アップグレードは、予期される前記パスワードと一致する、受信された前記パスワードに応じて実行されるもことを特徴とする請求項8に記載の情報処理システム。
  10. 前記1セットの命令は更に、
    前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証する処理を含み、
    前記アップグレードは前記ファームウェア更新の成功した妥当性検証に応じて実行され、
    前記検証は、
    前記受信されたファームウェア更新が認可されたユーザによってディジタルに署名されていることを検証するステップを含むことを特徴とする請求項8に記載の情報処理システム。
  11. 前記1セットの命令は更に、
    前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証する処理を含み、
    前記アップグレードは前記ファームウェア更新の成功した妥当性検証に応じて実行され、
    前記検証は、
    受信された前記ファームウェア更新に対してハッシュアルゴリズムを実行することにより、ハッシュ値を得るステップと、
    前記ハッシュ値を、予期されるハッシュ値と比較するステップと、
    予期される前記ハッシュ値と一致しない前記ハッシュ値に応じて前記ファームウェア更新を拒否するステップと、
    予期される前記ハッシュ値と一致する前記ハッシュ値に応じて前記ファームウェア更新を受け入れるステップと、を含むことを特徴とする請求項8に記載の情報処理システム。
  12. 前記禁止する処理を実行する命令は、
    前記ゲストオペレーティングシステムの各々から前記装置を取り外すステップと、
    前記ゲストオペレーティングシステムの各々を中断するステップと、を含む第1のセットの処理を実行するための命令を含み、
    前記許可する処理を実行する命令は更に、
    前記ゲストオペレーティングシステムの各々を再開するステップと、
    前記ゲストオペレーティングシステムの各々に前記装置を取り付けるステップと、を含む第2のセットの行動を実行するための命令を含む、ことを特徴とする請求項8に記載の情報処理システム。
  13. 前記禁止する処理を実行する命令は、
    前記ゲストオペレーティングシステムの一つ以上から受信された前記装置に関する一つ以上の要求を前記メモリ内に記憶されたバッファ内にバッファ記憶するステップを含む第1のセットの処理を実行するための命令を含み、
    前記許可する処理を実行する命令は、
    前記バッファ記憶された要求の各々を前記装置に送るステップを含む第2の処理を実行するための命令を含む、ことを特徴とする請求項8に記載の情報処理システム。
  14. コンピュータシステムにおいてファームウェア更新を受信するための機能的で記述的な要素を含むコンピュータ読み取り可能媒体に記憶されるコンピュータプログラムプロダクトにおいて、
    前記要素は、
    前記コンピュータシステムはハイパーバイザと一つ以上のゲストオペレーティングシステムとを実行しており、
    前記ファームウェア更新は前記コンピュータシステムによってアクセス可能なハードウェア装置に対応しており、
    前記ハードウェア装置は更新可能なファームウェアを含んでおり、
    前記ハイパーバイザは、前記ファームウェア更新の受信に応答して
    前記ゲストオペレーティングシステムの各々による前記装置の使用を禁止する処理と、
    前記禁止する処理の後に、受信された前記ファームウェア更新を使用して前記ファームウェアをアップグレードする処理と、
    前記アップグレードする処理の後に、前記ゲストオペレーティングシステムの各々に前記装置の使用を許可する処理と、
    をデータ処理システムに実行させることを特徴とするコンピュータプログラムプロダクト。
  15. 前記要素は、
    前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証する処理をさらに前記データ処理システムに実行させ、
    前記アップグレードは前記ファームウェア更新の成功した妥当性検証に応じて実行されることを特徴とする請求項14に記載のコンピュータプログラムプロダクト。
  16. 前記検証を実行する前記要素は、前記ファームウェアのアップグレードに先立って前記ファームウェア更新を検証する処理を含み、
    前記アップグレードは前記ファームウェア更新の成功した妥当性検証に応じて実行され、
    前記検証は、
    ユーザから、前記コンピュータシステムへのファームウェア更新を制御するために使用されるパスワードを受信するステップと、
    受信された前記パスワードを予期されるパスワードと比較するステップと、を含み、
    前記アップグレードは、予期される前記パスワードと一致する、受信された前記パスワードに応じて実行される、ことを特徴とする請求項15に記載のコンピュータプログラムプロダクト。
  17. 前記検証を実行する前記要素は、
    受信された前記ファームウェア更新が、認可されたユーザによってディジタルに署名されていることを検証するステップを含むことを特徴とする請求項15に記載のコンピュータプログラムプロダクト。
  18. 前記検証を実行する前記要素は、
    受信された前記ファームウェア更新に対してハッシュアルゴリズムを実行することにより、ハッシュ値を得るステップと、
    前記ハッシュ値を、予期されるハッシュ値と比較するステップと、
    予期される前記ハッシュ値と一致しない前記ハッシュ値に応じて前記ファームウェア更新を拒否するステップと、
    予期される前記ハッシュ値と一致する前記ハッシュ値に応じて前記ファームウェア更新を受け入れるステップと、
    を含むことを特徴とする請求項15に記載のコンピュータプログラムプロダクト。
  19. 前記要素は、
    前記ゲストオペレーティングシステムの各々から前記装置を取り外すステップと、前記ゲストオペレーティングシステムの各々を中断するステップと、を更に含む前記禁止する処理と、
    前記ゲストオペレーティングシステムの各々を再開するステップと、前記ゲストオペレーティングシステムの各々に前記装置を取り付けるステップと、を更に含む前記許可する処理と、をさらに前記データ処理システムに実行させることを特徴とする請求項15に記載のコンピュータプログラムプロダクト。
  20. 前記要素は、
    前記ゲストオペレーティングシステムの一つ以上から受信された前記装置に関する一つ以上の要求をバッファ内にバッファ記憶するステップを更に含む前記禁止する処理と、
    前記バッファ記憶された要求の各々を前記装置に送るステップを更に含む前記許可する処理と、をさらに前記データ処理システムに実行させることを特徴とする請求項15に記載のコンピュータプログラムプロダクト。
JP2007330901A 2007-03-28 2007-12-21 ファームウェア装置更新システムおよびその方法 Active JP5001818B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/692,283 2007-03-28
US11/692,283 US20080244553A1 (en) 2007-03-28 2007-03-28 System and Method for Securely Updating Firmware Devices by Using a Hypervisor

Publications (2)

Publication Number Publication Date
JP2008243183A true JP2008243183A (ja) 2008-10-09
JP5001818B2 JP5001818B2 (ja) 2012-08-15

Family

ID=38983096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007330901A Active JP5001818B2 (ja) 2007-03-28 2007-12-21 ファームウェア装置更新システムおよびその方法

Country Status (5)

Country Link
US (1) US20080244553A1 (ja)
JP (1) JP5001818B2 (ja)
CN (1) CN101295262B (ja)
DE (1) DE102007057901B4 (ja)
GB (1) GB2448010B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108260A (ja) * 2008-10-30 2010-05-13 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2013537343A (ja) * 2010-09-22 2013-09-30 インテル・コーポレーション プラットフォーム・ファームウェア・アーマリング技術
KR20170107384A (ko) * 2016-03-15 2017-09-25 엑시스 에이비 펌웨어 업그레이드동안 동작가능한 디바이스
JP2019033549A (ja) * 2018-12-03 2019-02-28 Kddi株式会社 通信装置、通信方法、およびコンピュータプログラム
US20220129558A1 (en) * 2019-06-27 2022-04-28 Kyocera Document Solutions Inc. Image forming apparatus, firmware manipulation prevention method, and computer-readable non-transitory recording medium containing manipulation prevention program
US11995189B2 (en) * 2019-06-27 2024-05-28 Kyocera Document Solutions Inc. Image forming apparatus, firmware manipulation prevention method, and computer-readable non-transitory recording medium containing manipulation prevention program

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384159B2 (en) * 2007-05-24 2016-07-05 International Business Machines Corporation Creating a checkpoint for a software partition in an asynchronous input/output environment
JP4980809B2 (ja) * 2007-07-10 2012-07-18 株式会社リコー 画像形成装置、画像形成装置の起動方法、およびプログラム
US8281298B2 (en) * 2007-08-27 2012-10-02 International Business Machines Corporation Evaluating computer driver update compliance
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
US8413130B2 (en) * 2007-10-03 2013-04-02 International Business Machines Corporation System and method for self policing of authorized configuration by end points
US7962738B2 (en) * 2007-12-20 2011-06-14 Intel Corporation Hypervisor runtime integrity support
US8201161B2 (en) * 2008-01-07 2012-06-12 Lenovo (Singapore) Pte. Ltd. System and method to update device driver or firmware using a hypervisor environment without system shutdown
US8712082B2 (en) * 2008-09-26 2014-04-29 Phonak Ag Wireless updating of hearing devices
TW201108735A (en) * 2009-08-18 2011-03-01 Wistron Corp Method and apparatus and digital TV capable of preventing erroneous start of firmware update
US9565207B1 (en) * 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8887144B1 (en) 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US8601170B1 (en) 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US9639347B2 (en) * 2009-12-21 2017-05-02 International Business Machines Corporation Updating a firmware package
US8631404B2 (en) * 2010-02-18 2014-01-14 Red Hat Israel, Ltd. Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels
CN102455950A (zh) * 2010-10-28 2012-05-16 鸿富锦精密工业(深圳)有限公司 基板管理控制器的韧体恢复系统及方法
US9021465B2 (en) 2010-12-15 2015-04-28 Red Hat Israel, Ltd. Downloading guest software updates by a hypervisor
US8578376B2 (en) 2011-01-04 2013-11-05 International Business Machines Corporation Automatically and securely configuring and updating virtual machines
JP5932837B2 (ja) * 2011-01-19 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム
US8745614B2 (en) * 2011-05-13 2014-06-03 Lsi Corporation Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment
US8856771B2 (en) * 2011-08-19 2014-10-07 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
US8776040B2 (en) 2011-08-19 2014-07-08 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
US8972966B2 (en) * 2012-01-05 2015-03-03 Lenovo (Singapore) Pte. Ltd. Updating firmware in a hybrid computing environment
US8875124B2 (en) * 2012-01-11 2014-10-28 Dell Products L.P. In-band hypervisor-managed firmware updates
US9369867B2 (en) * 2012-06-29 2016-06-14 Intel Corporation Mobile platform software update with secure authentication
US11080035B2 (en) * 2013-02-13 2021-08-03 Vmware, Inc. Accessing a patch file in a system center configuration manager (SCCM) environment
US9223982B2 (en) * 2013-03-01 2015-12-29 Intel Corporation Continuation of trust for platform boot firmware
JP5713056B2 (ja) * 2013-06-24 2015-05-07 横河電機株式会社 プロセス制御装置及びシステム並びにその更新方法
JP6244759B2 (ja) * 2013-09-10 2017-12-13 株式会社ソシオネクスト セキュアブート方法、半導体装置、及び、セキュアブートプログラム
CN104007995B (zh) * 2014-06-13 2018-02-23 浪潮电子信息产业股份有限公司 一种刷写网络芯片未验证fw的方法
US10387652B2 (en) 2015-04-17 2019-08-20 Hewlett Packard Enterprise Development Lp Firmware map data
US9930051B1 (en) * 2015-11-06 2018-03-27 Amazon Technologies, Inc. Remote management of hardware hosts in cloud infrastructure
US10042720B2 (en) 2016-02-22 2018-08-07 International Business Machines Corporation Live partition mobility with I/O migration
US10042723B2 (en) 2016-02-23 2018-08-07 International Business Machines Corporation Failover of a virtual function exposed by an SR-IOV adapter
US10002018B2 (en) 2016-02-23 2018-06-19 International Business Machines Corporation Migrating single root I/O virtualization adapter configurations in a computing system
JP6520759B2 (ja) * 2016-02-26 2019-05-29 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御プログラム
US10025584B2 (en) 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters
US10318737B2 (en) 2016-06-30 2019-06-11 Amazon Technologies, Inc. Secure booting of virtualization managers
US10127068B2 (en) 2016-06-30 2018-11-13 Amazon Technologies, Inc. Performance variability reduction using an opportunistic hypervisor
US10318311B2 (en) 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US9785451B1 (en) 2016-10-21 2017-10-10 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9760512B1 (en) 2016-10-21 2017-09-12 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9720862B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9720863B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9740647B1 (en) 2016-10-21 2017-08-22 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9715469B1 (en) 2016-10-21 2017-07-25 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
DE102016221108A1 (de) * 2016-10-26 2018-04-26 Volkswagen Aktiengesellschaft Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
CN108170368B (zh) * 2016-12-07 2024-01-23 北京忆恒创源科技股份有限公司 在线升级固件的方法及系统
US9983823B1 (en) 2016-12-09 2018-05-29 Amazon Technologies, Inc. Pre-forking replicas for efficient scaling of a distribued data storage system
US10229404B1 (en) * 2016-12-16 2019-03-12 Worldpay, Llc Systems and methods for network configurations of pin pads
JP7027809B2 (ja) * 2017-10-31 2022-03-02 京セラドキュメントソリューションズ株式会社 アップデートシステム
EP3729760A1 (en) 2017-12-22 2020-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Method for restricting memory write access in iot devices
US10642603B2 (en) 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US10838754B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Virtualized systems having hardware interface services for controlling hardware
US20210103439A1 (en) * 2018-06-14 2021-04-08 Sony Corporation Methods, wireless modules, electronic devices and server devices
US11218364B2 (en) 2018-06-25 2022-01-04 Amazon Technologies, Inc. Network-accessible computing service for micro virtual machines
US10776488B2 (en) * 2018-09-24 2020-09-15 Dell Products L.P. Extend root of trust to include firmware of individual components of a device
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
US10848418B1 (en) 2019-06-24 2020-11-24 Amazon Technologies, Inc. Packet processing service extensions at remote premises
US11550917B2 (en) * 2019-06-28 2023-01-10 Intel Corporation Standardized interface for intellectual property blocks
US11520530B2 (en) 2019-09-24 2022-12-06 Amazon Technologies, Inc. Peripheral device for configuring compute instances at client-selected servers
US11243589B1 (en) 2019-09-24 2022-02-08 Amazon Technologies, Inc. Remote power button actuation device for a pre-assembled computer system integrated into a server for a virtualization service
US11064017B2 (en) 2019-09-24 2021-07-13 Amazon Technologies, Inc. Peripheral device enabling virtualized computing service extensions
US11853771B1 (en) 2019-09-24 2023-12-26 Amazon Technologies, Inc. Offload card based virtualization of a pre-assembled computer system integrated into a server for a virtualization service
US11113046B1 (en) 2019-09-24 2021-09-07 Amazon Technologies, Inc. Integration and remote control of a pre-assembled computer system into a server for a virtualization service
WO2021061715A1 (en) * 2019-09-25 2021-04-01 Shift5, Inc. Passive monitoring and prevention of unauthorized firmware or software upgrades between computing devices
CN110990037A (zh) * 2019-11-26 2020-04-10 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 板卡软件升级方法及装置
US11605016B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing service supporting local execution of hybrid algorithms
US11650869B2 (en) 2019-11-27 2023-05-16 Amazon Technologies, Inc. Quantum computing service with local edge devices supporting multiple quantum computing technologies
US11605033B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing task translation supporting multiple quantum computing technologies
US11704715B2 (en) 2019-11-27 2023-07-18 Amazon Technologies, Inc. Quantum computing service supporting multiple quantum computing technologies
US11569997B1 (en) 2020-03-09 2023-01-31 Amazon Technologies, Inc. Security mechanisms for data plane extensions of provider network services
CN112559419A (zh) * 2020-12-21 2021-03-26 厦门市美亚柏科信息股份有限公司 一种pcie存储模块的固件升级保护方法、装置
US11977957B2 (en) 2021-08-03 2024-05-07 Amazon Technologies, Inc. Quantum computing program compilation using cached compiled quantum circuit files
US11797276B1 (en) 2021-09-30 2023-10-24 Amazon Technologies, Inc. Assisted composition of quantum algorithms
US11907092B2 (en) 2021-11-12 2024-02-20 Amazon Technologies, Inc. Quantum computing monitoring system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103384A (ja) * 1996-06-18 1998-01-06 Nec Eng Ltd 情報処理システム
JP2001092668A (ja) * 1999-09-20 2001-04-06 Sony Corp 電子機器、電子機器の内部プログラム書き換え方法及び電子機器の内部プログラム書き換え機能を有するプログラムを記録したコンピュータ読み取り可能な情報記録媒体
JP2001290637A (ja) * 2000-04-05 2001-10-19 Nec Corp コンポーネントの動的置換装置及びコンピュータ読み取り可能な記憶媒体
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
JP2002268900A (ja) * 2001-03-01 2002-09-20 Internatl Business Mach Corp <Ibm> 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
JP2006185063A (ja) * 2004-12-27 2006-07-13 Kyocera Mita Corp プログラム書込装置及びプログラム書込プログラム
JP2006518504A (ja) * 2003-01-09 2006-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置
JP2006216047A (ja) * 2005-02-01 2006-08-17 Microsoft Corp ファームウェアコンポーネントのステータスの発行およびファームウェアコンポーネントのアップデート
JP2006277216A (ja) * 2005-03-29 2006-10-12 Nec Corp マルチos搭載可能なプラットホームにおける自動fwアップデート方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US7082598B1 (en) * 2002-07-17 2006-07-25 Vmware, Inc. Dynamic driver substitution
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US7555657B2 (en) * 2003-03-28 2009-06-30 Ricoh Company, Ltd. Communication device, software update device, software update system, software update method, and program
US20040205776A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Method and apparatus for concurrent update and activation of partition firmware on a logical partitioned data processing system
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US7805723B2 (en) * 2003-10-01 2010-09-28 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of memory by a virtual machine monitor
TWI229818B (en) * 2003-12-15 2005-03-21 Wistron Corp Method and device for updating firmware
US7353428B2 (en) * 2004-05-19 2008-04-01 Lenovo Singapore Pte. Ltd Polled automatic virus fix
JP2006260058A (ja) * 2005-03-16 2006-09-28 Fujitsu Ltd 計算機サーバ・システムにおけるファームウェアアップデート方法
US20070011444A1 (en) * 2005-06-09 2007-01-11 Grobman Steven L Method, apparatus and system for bundling virtualized and non-virtualized components in a single binary
GB0516426D0 (en) 2005-08-10 2005-09-14 Symbian Software Ltd A method of operating a computing device through the use of extensible thread states
US20070074199A1 (en) * 2005-09-27 2007-03-29 Sebastian Schoenberg Method and apparatus for delivering microcode updates through virtual machine operations
US20070245334A1 (en) * 2005-10-20 2007-10-18 The Trustees Of Columbia University In The City Of New York Methods, media and systems for maintaining execution of a software process
US8776041B2 (en) * 2007-02-05 2014-07-08 Microsoft Corporation Updating a virtual machine monitor from a guest partition

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103384A (ja) * 1996-06-18 1998-01-06 Nec Eng Ltd 情報処理システム
JP2001092668A (ja) * 1999-09-20 2001-04-06 Sony Corp 電子機器、電子機器の内部プログラム書き換え方法及び電子機器の内部プログラム書き換え機能を有するプログラムを記録したコンピュータ読み取り可能な情報記録媒体
JP2001290637A (ja) * 2000-04-05 2001-10-19 Nec Corp コンポーネントの動的置換装置及びコンピュータ読み取り可能な記憶媒体
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
JP2002268900A (ja) * 2001-03-01 2002-09-20 Internatl Business Mach Corp <Ibm> 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
JP2006518504A (ja) * 2003-01-09 2006-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置
JP2006185063A (ja) * 2004-12-27 2006-07-13 Kyocera Mita Corp プログラム書込装置及びプログラム書込プログラム
JP2006216047A (ja) * 2005-02-01 2006-08-17 Microsoft Corp ファームウェアコンポーネントのステータスの発行およびファームウェアコンポーネントのアップデート
JP2006277216A (ja) * 2005-03-29 2006-10-12 Nec Corp マルチos搭載可能なプラットホームにおける自動fwアップデート方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108260A (ja) * 2008-10-30 2010-05-13 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2013537343A (ja) * 2010-09-22 2013-09-30 インテル・コーポレーション プラットフォーム・ファームウェア・アーマリング技術
JP2015057722A (ja) * 2010-09-22 2015-03-26 インテル・コーポレーション プラットフォーム・ファームウェア・アーマリング技術
KR20170107384A (ko) * 2016-03-15 2017-09-25 엑시스 에이비 펌웨어 업그레이드동안 동작가능한 디바이스
KR101903060B1 (ko) 2016-03-15 2018-11-22 엑시스 에이비 펌웨어 업그레이드동안 동작가능한 디바이스
US10261779B2 (en) 2016-03-15 2019-04-16 Axis Ab Device which is operable during firmware upgrade
JP2019033549A (ja) * 2018-12-03 2019-02-28 Kddi株式会社 通信装置、通信方法、およびコンピュータプログラム
JP7036705B2 (ja) 2018-12-03 2022-03-15 Kddi株式会社 通信装置、通信方法、およびコンピュータプログラム
US20220129558A1 (en) * 2019-06-27 2022-04-28 Kyocera Document Solutions Inc. Image forming apparatus, firmware manipulation prevention method, and computer-readable non-transitory recording medium containing manipulation prevention program
US11995189B2 (en) * 2019-06-27 2024-05-28 Kyocera Document Solutions Inc. Image forming apparatus, firmware manipulation prevention method, and computer-readable non-transitory recording medium containing manipulation prevention program

Also Published As

Publication number Publication date
US20080244553A1 (en) 2008-10-02
CN101295262A (zh) 2008-10-29
GB2448010A (en) 2008-10-01
GB2448010B (en) 2009-11-11
DE102007057901B4 (de) 2023-03-16
DE102007057901A1 (de) 2008-10-02
GB0723884D0 (en) 2008-01-16
JP5001818B2 (ja) 2012-08-15
CN101295262B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
JP5001818B2 (ja) ファームウェア装置更新システムおよびその方法
US10931451B2 (en) Securely recovering a computing device
US8201161B2 (en) System and method to update device driver or firmware using a hypervisor environment without system shutdown
US7853804B2 (en) System and method for secure data disposal
US8688967B2 (en) Secure booting a computing device
US8291480B2 (en) Trusting an unverified code image in a computing device
US8789037B2 (en) Compatible trust in a computing device
US10169589B2 (en) Securely booting a computer from a user trusted device
US20110296488A1 (en) System and Method for I/O Port Assignment and Security Policy Application in a Client Hosted Virtualization System
JP2010527075A (ja) マルウェア検出のための信頼できる動作環境
JP2010527074A (ja) マルウェア検出のための信頼できる動作環境
US9448785B1 (en) System and method updating full disk encryption software
US8719557B2 (en) System and method for secure client hosted virtualization in an information handling system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120417

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120518

R150 Certificate of patent or registration of utility model

Ref document number: 5001818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250