JP2008059585A - 破壊的なファームウェア更新を非破壊で適用するための方法、システム、および媒体(破壊的なファームウェア更新を非破壊で適用するためのシステムおよび方法) - Google Patents

破壊的なファームウェア更新を非破壊で適用するための方法、システム、および媒体(破壊的なファームウェア更新を非破壊で適用するためのシステムおよび方法) Download PDF

Info

Publication number
JP2008059585A
JP2008059585A JP2007220481A JP2007220481A JP2008059585A JP 2008059585 A JP2008059585 A JP 2008059585A JP 2007220481 A JP2007220481 A JP 2007220481A JP 2007220481 A JP2007220481 A JP 2007220481A JP 2008059585 A JP2008059585 A JP 2008059585A
Authority
JP
Japan
Prior art keywords
hardware device
firmware
data processing
processing system
multiprocessor data
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
JP2007220481A
Other languages
English (en)
Other versions
JP5254582B2 (ja
Inventor
Wayne Bishop Bradley
ブラッドリー・ウェイン・ビショップ
Matthew Scott Spinler
マシュー・スコット・スピンラー
Wayne Allan Britson
ウェイン・アラン・ブリットソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008059585A publication Critical patent/JP2008059585A/ja
Application granted granted Critical
Publication of JP5254582B2 publication Critical patent/JP5254582B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を提供する。
【解決手段】本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第1のファームウェア設定から第2のファームウェア設定に更新する。サービス・プロセッサは、第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合に、第1のハードウェア装置を割り当て解除し、破壊動作を第1のハードウェア装置に対して実行し、破壊動作が完了すると、第1のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第2のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。
【選択図】図2

Description

本発明は、一般的には、データ処理システムの分野に関し、より特定的には、更新データ処理システムの分野に関する。さらにより特定的には、本発明は、破壊的なファームウェア更新を提供するためのシステムおよび方法に関する。
現在、ウェブ・サーバとして使用される数多くのデータ処理システムは、マルチプロセッサ・データ処理システム(MP)である。これらのMPには、例えば、適切なときに排気ファンをオンまたはオフできるようにMPの温度を監視するなどの、MPに対して全体として影響を与える数多くのタスクを行うために使用される「サービス・プロセッサ」が含まれる。また、サービス・プロセッサは、当該システム上で実行しているような数多くの互いに異なるホスト・オペレーティング・システムによって共用されるMP内の他のリソースを監視する場合もある。
システム・ブート処理中に、規則正しくソフトウェアによって制御された状態遷移がMPハードウェア内で生じる。各状態中に、MPハードウェアは、ブート処理の終了時に所望の構成に達するために、ファームウェア内で指示された初期設定手順を実行することがある。当該技術で周知なように、図1と共に以下で説明するように、新しいMP構成を得るために、場合によっては、サービス・プロセッサに対してファームウェア更新を行う必要がある。これらのファームウェア更新は、頻繁に生じることがあり、ファームウェア更新に「破壊動作」を含む場合には、MPの生産性に影響を及ぼすことがある。破壊動作とは、MPハードウェア上で実行されると当該ハードウェアをオフライン(リブート)にする動作のことである。更新が破壊動作を含まない場合には、当該更新は、実行中のシステムのハードウェアに対してただちに適用かつ作用できる。更新が破壊動作を含む場合には、MPはリブートされて、ファームウェア更新を実行しなければならない。
図1を参照すると、従来技術に係るMPに対するファームウェア更新を示す高レベルの論理フローチャートが示されている。処理はステップ100で開始し、続くステップ102において、MPはブート処理を開始する。処理はステップ104へ進み、MP内のサービス・プロセッサは第1のファームウェア設定を実行する。ファームウェア設定は、ステップ106に示すように、第1の手法でMP内のハードウェアに対して作用する。例えば、第1のファームウェア設定は、排気ファンの動作の開始および停止をいつ行うかを判断するための温度閾値の第1の組を設定する。処理はステップ108へ続き、MPはブート処理を完了する。ステップ109に示すように、MP内のサービス・プロセッサは、第2のファームウェア設定に更新され、第2の別の手法でMPハードウェアに対して作用する。処理はステップ110へ続き、MPはファームウェア更新後にリブートする。処理はステップ112へ進み、第2のファームウェア設定はリブートに続いて第2の手法でMPハードウェアに対して作用する。例えば、第2のファームウェア設定は、排気ファンの開始および停止をいつ行うかを判断するための温度閾値の第2の組を設定する。ステップ114に示すように、MPはリブートを完了し、ステップ116に示すように、MPは処理を終了する。
MP全体をリブートしてファームウェア更新を完了させることは、時間損失および生産性の低下という両方の点からコストのかかる作業である。したがって、従来技術の制約に対処するために、破壊的なファームウェア更新を非破壊で適用するためのシステムおよび手法が必要とされる。
本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を含む。本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第1のファームウェア設定から第2のファームウェア設定に更新する。サービス・プロセッサは、第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合に、第1のハードウェア装置を割り当て解除し、破壊動作を第1のハードウェア装置に対して実行し、破壊動作が完了すると、第1のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第2のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。
本発明の上記および他の目的、機能、および利点は、以下の詳細に記載された説明において明らかになるだろう。
本発明の特徴と考えられる新規の機能は、添付の請求項に記載されている。しかしながら、本発明自体ならびにその好ましい使用形態、さらなる目的、および利点は、添付の図面と共に以下の例示の一実施形態の詳細な説明を参照すれば最も理解されるだろう。
本明細書において詳細に説明するように、本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステムおよび方法を含む。マルチプロセッサ・データ処理システム(MP)は、第1の組のファームウェアを第2の組のファームウェアに更新し、サービス・プロセッサは、第2の組のファームウェアをMP内のハードウェアに対して繰り返し適用する。サービス・プロセッサは、第2の組のファームウェアが少なくとも1つの破壊動作を含むかどうかを判断する。第2の組のファームウェアが少なくとも1つの破壊動作を含む場合には、サービス・プロセッサは、第1のハードウェア装置をホット・リムーバル手順を介して割り当て解除する。サービス・プロセッサは、破壊動作を第1のハードウェア装置に対して実行し、破壊動作が完了すると、サービス・プロセッサは、第1のハードウェア装置をMPに対してホット・プラグ手順を介して再割り当てする。
今度は図面、特に図2を参照すると、本発明のホット・リムーバル機能を実施することができるファブリック208および他の構成要素と共に設計されたMPが示されている。MP200は、プロセッサ201と、プロセッサ202とを含む。また、MP200は、メモリ204と、入出力(I/O)コントローラ/装置206とを含む。様々な構成要素が、相互接続ファブリック208を介して相互接続されており、ホット・プラグ/ホット・リムーバル・コネクタ220を含む。新しいホット・プラグ/ホット・リムーバル・ハードウェア構成要素の追加は、さらに詳細に後述するように、相互接続ファブリック208のホット・プラグ/ホット・リムーバル・コネクタ220を介して(直接的または間接的に)完了する。
相互接続ファブリック208は、構成要素間の通信をルーティングすると共にハードウェア構成の変更に対するMP200の応答を制御するための配線および制御論理を含む。制御論理は、ルーティング論理207と、構成設定論理209とを含む。特定的には、MP200の左の挿入部に示すように、構成設定論理209は、第1および第2の構成設定であるCONFIG A214とCONFIG B216とを含む。CONFIG A214およびCONFIG B216は、モード設定レジスタ218に結合されており、モード設定レジスタ218は、ラッチ217によって制御される。構成設定論理209内の構成要素の実際の動作は、より詳細に後述する。
上記の構成要素に加えて、MP200は、サービス要素(SE)212も備える。SE212は、MPの構成要素を保守整備して大規模なシステム用のインターフェース動作を完了するための(オペレーティング・システム(OS)とは別の)ソフトウェア符号化された特殊な論理を備える小さなマイクロ・コントローラである。よって、SE212は、MP200を制御するために必要なコードを実行する。SE212は、MP内のプロセッサ・リソースの追加(すなわち、プロセッサ数の増加/減少)と共に、他のMPリソース(すなわち、メモリ、I/Oなど)の追加/除去をOSに通知する。
図3は、図2のMP200と同様の2つのMPがそれぞれホット・プラグ/ホット・リムーバル・コネクタ220を介して結合されてさらに大きな対称形のMP(SMP)システムを作成していることを示す。MP200は、説明のために要素1および要素0として示されている。要素1は、別々のMP200のホット・プラグ/ホット・リムーバル・コネクタ220を結合するために設計された配線、コネクタ・ピン、またはケーブル接続を介して要素0に結合されている。本発明の一実施形態において、各MPは、顧客のSMPを拡張して追加のMPを収容可能な背景プロセッサ拡張ラックに事実上プラグ接続されてもよい。
例として、要素0は、自身の1次MPの処理能力/リソースを増強したい顧客の1次MP(またはサーバ)である。要素1は、システム技術者によって1次MPに追加されている2次MPである。本発明の好ましい一実施形態によれば、要素1の追加は、本明細書に提供されているホット・プラグ動作を介して生じ、顧客は、要素1が接続中に要素0のダウンタイムを経験することはない。要素0および要素1が結合されてMPの処理能力/リソースを増強した後に、システム技術者は、保守整備または他の目的のために、要素0を要素1から分離したい場合がある。このような分離は、ホット・リムーバル手順を介して達成されてもよく、これも、顧客が分離中にダウンタイムにほとんどまたは全く遭遇しないことを保証するものである。
図3に示すように、SMP300は、要素0と要素1とを分離する、点線で示されている物理的なパーティション210を備える。物理的なパーティション210によって、各MP200は、互いにある程度独立して動作することが可能になり、実施の仕方によっては、物理的なパーティション210は、他のMP200の動作上の問題およびダウンタイムから実質的に各MP200を保護するものである。
ホット・プラグ/ホット・リムーバル機能をさらに拡張したものを図4に示す。特定的には、図4は、追加のメモリおよびI/Oチャンネルならびに異機種プロセッサのホット・プラグによる追加を扱うために、上述の非破壊のホット・プラグ/ホット・リムーバル機能を拡張しており、新しい構成要素を400番台の参照番号によって識別している。1次構成要素(すなわち、プロセッサ201およびプロセッサ202、メモリ404A、ならびにI/Oチャンネル406Aが、相互接続ファブリック208を介して結合されている)に加えて、MP400は、いくつかの追加のコネクタ・ポートをファブリック208上に含んでいる。これらのコネクタ・ポートは、ホット・プラグ/ホット・リムーバル・メモリ拡張ポート421と、ホット・プラグ/ホット・リムーバルI/O拡張ポート422と、ホット・プラグ/ホット・リムーバル・プロセッサ拡張ポート423とを含む。
各拡張ポートは、各構成要素についてのホット・プラグ動作を制御するために、対応する構成論理409A,409B,および409Cを有する。メモリ404Aに加えて、追加のメモリ404Bは、MP300ならびに要素0および要素1について説明した処理と同様に、ファブリック208のメモリ拡張ポート421に「プラグ接続」されてもよい。アドレス0からNの初期メモリ範囲は、いまやアドレスN+1からMを含むように拡大されている。いずれのサイズのメモリの構成モードも、ラッチ417Aを介して選択可能で、別のメモリ404Bが追加される場合にSE212によって設定される。また、別のI/Oチャンネルがホット・プラグ接続I/Oチャンネル406Bおよび406Cによってホット・プラグ/ホット・リムーバルI/O拡張ポート422に提供されてもよい。さらに、I/Oチャンネルのサイズについての構成モードも、ラッチ417Cを介して選択可能で、別のI/Oチャンネル406Bおよび406Cが追加または除去あるいはその両方が行われた場合にSE212によって設定される。また、MP400は、サービス・プロバイダのサーバ402に結合されており、より詳細は図7から図10と共に本明細書において説明する。
上記構成により、MPは、MP400上の最小の処理遅延に従って、プロセッサ、メモリ、またはI/Oチャンネルあるいはそのすべてを縮小/成長させることができる。特定的には、上記構成により、メモリおよびI/Oの両方について、利用可能なアドレス空間を成長(および縮小)させることができる。各アドオンまたは除去は、他と独立して、すなわち、プロセッサ対メモリまたはI/Oというように処理され、図示のように別個の論理によって制御される。したがって、本発明は、「ホット・プラグ/ホット・リムーバル」の概念を、従来の用語の意味ではホット・プラグ/ホット・リムーバルできない装置に拡張するものである。
MP200内のホット・プラグ接続された構成要素(例えば、要素1)を除去するには、技術者、ユーザ、または自動処理(例えば、SE212のファームウェア更新)が、MP上で実行中のソフトウェア構成ユーティリティ内の除去オプションを選択する。SE212は、オペレーティング・システムに対して要素1のリソースの処理損失を通知する。応答して、オペレーティング・システムは、タスク/作業負荷を要素1から要素0へ再割り当てして、要素1を空にする。SE212は、オペレーティング・システムが要素1から要素0へのすべての処理の再割り当て(およびデータの保存)を完了した旨を示すためにオペレーティング・システムを監視して、再割り当てが完了したかどうかを判断する。再割り当てが完了すると、オペレーティング・システムは、SE212に対してメッセージを送り、SE212は、代替構成設定を構成レジスタ218へロードする。代替構成設定のロードは、SE212が当該構成設定の選択のためにラッチ217内の値を設定することによって完了する。要素1は、MP200から論理的に割り当て解除(ホット・リムーバル)される。要素1をMP200に再割り当て(ホット・プラグ接続)するためには、SE212は、オペレーティング・システムに対して要素1の導入を通知し、オペレーティング・システムは、接続された要素すべてにおけるタスク/作業負荷の再割り当ておよび再均衡化を行う。SE212は、元の構成設定を構成レジスタ218へロードする。
上述したように、SE212内に記憶されたファームウェアは、MPのブートまたは起動時におけるMP400内の構成要素とのSE212の対話の仕方を変更するために、周期的に更新されてもよい。ファームウェア更新に「破壊動作(destructive operations)」が含まれる場合には、このようなファームウェア更新が頻繁に生じて、MPの生産性に影響を与える場合がある。破壊動作とは、データ処理システム・ハードウェア上で実行されると当該ハードウェアをオフラインにする動作のことである。更新が破壊動作を含まない場合には、当該更新は、実行中のMPのハードウェアに対してただちに適用かつ作用できる。図1と共に上述したように、従来技術では、更新が破壊動作を含む場合には、MP全体がリブートされる必要があった。
本発明の好ましい一実施形態によれば、ファームウェア更新が少なくとも1つの破壊動作を含む場合には、そのような動作はMP400内の構成要素に対して非破壊で適用されてもよい。図5は、本発明の好ましい一実施形態に係る、各MP400内のサービス要素とプロセッサとの間の関係を示すブロック図である。
一般的に、サービス要素(SE)212は、サービス要素制御プロトコル502を介してMP400内の各プロセッサ201および202と通信する。プロセッサ201および202は、プロセッサ相互接続バス・コントローラ504を使用して、相互接続ファブリック208を介して互いに通信する。また、プロセッサ201は、メモリ・バス506を介してメモリ404Aと通信する。
本発明によれば、サービス要素のオペレーティング・システムおよびSE212上で実行するアプリケーションは、第1および第2のファームウェア設定によって示すように、更新中のファームウェアである。本発明の好ましい一実施形態によれば、オペレーティング・システムがMP400上で実行している間に、SE212上に記憶されたファームウェアが更新されかつ新しいファームウェアが少なくとも1つの破壊動作を含む場合には、当該破壊動作は、MP400をリブートすることなく適用されてもよい。例えば、破壊動作がプロセッサ201を対象にしている場合には、サービス要素212は、作業負荷をプロセッサ202に対して再割り当てし、代替構成設定を構成レジスタ218などの構成レジスタへロードし、プロセッサ201を割り当て解除(例えば、ホット・リムーバル)することによって、プロセッサ201を前述のホット・リムーバル処理を介して割り当て解除することになる。サービス要素212は、再割り当てされた作業負荷を処理するためにプロセッサ202が実行中のままであることを保証することになる。破壊動作が完了すると、サービス要素212は、前述のホット・プラグ手順を介してプロセッサ201を再割り当てすることになる。サービス要素212は、MP400内の対象となるすべての装置/プロセッサに対して破壊動作を適用する。プロセッサ202を対象とする破壊動作がある場合には、サービス要素212は、作業負荷をプロセッサ201に対して再割り当てし、プロセッサ202をホット・リムーバルし、プロセッサ202を対象とする破壊動作を実行し、プロセッサ202をMP400に再割り当て(例えば、ホット・プラグ接続)することになる一方で、プロセッサ201は、破壊動作中に、再割り当てされたタスクを処理する。
図6は、本発明の好ましい一実施形態に係る、破壊的なファームウェア更新を非破壊で実施するための方法例を示す高レベルの論理フローチャートである。好ましくは、本方法は、少なくとも1つのプロセッサが常にアクティブのままであるように、MP全体(例えば、MP200またはMP400)に対して繰り返し適用される。処理はステップ600で開始し、ステップ602へ進み、MP400はMPブート処理を開始する。MP400内のSE212は、第1のファームウェア設定を含み、ステップ606に示すように、第1の手法でMP400内の装置/プロセッサに対して作用する。処理はステップ608へ続き、MP400はブート処理を完了する。処理はステップ610へ進み、MP400内のSE212は第1のファームウェア設定を第2のファームウェア設定に更新する。処理はステップ612へ続き、SE212は第2のファームウェア設定への更新が破壊動作を含むかどうかを判断する。前述のように、破壊動作がMP400内の装置/プロセッサに適用されると、それらの装置/プロセッサはオフラインにされなければならない。第2のファームウェア設定への更新に破壊動作がない場合には、処理はステップ622へ続き、SE212は、MP400内の影響を受ける装置/プロセッサに対して非破壊動作を実行する。その後、処理はステップ620へ進む。
しかしながら、第2のファームウェア設定への更新に破壊動作があるとSE212が判断する場合には、処理はステップ614へ続き、SE212は破壊動作によって影響を受ける装置/プロセッサを図2〜図4と共に説明した「ホット・リムーバル」手順を介して割り当て解除する。
影響を受ける装置/プロセッサがMP400から割り当て解除されると、SE212は、ステップ616に示すように、装置/プロセッサをリブートして、これら装置/プロセッサに対して破壊処理を実行することになる。処理はステップ618へ続き、SE212は影響を受ける装置/プロセッサを図2〜図4と共に説明した「ホット・プラグ」方法の詳細に従って再割り当てする。
処理はステップ620へ進み、SE212はファームウェアBへのファームウェア更新内にさらなる動作があるかどうかを判断する。実行すべき残りの動作がある場合には、処理はステップ612へ戻り、繰り返し継続する。実行すべき動作がこれ以上ない場合には、処理はステップ622へ進み、処理は終了する。本発明の好ましい一実施形態によれば、破壊動作の対象となる装置/プロセッサの割り当て解除が生じている間は、少なくとも1つのプロセッサがアクティブのままである。破壊動作の対象となる装置/プロセッサの先の割り当て解除中にアクティブのままのプロセッサは、ファームウェア更新を適用するために、後で割り当て解除されてもよい。
また、本発明の好ましい一実施形態は、破壊動作の適用中の割り当て解除の範囲を考慮する。例えば、破壊動作およびプラットフォーム構成の詳細は、1つ以上のプロセッサの割り当て解除を要求する場合がある。本発明の他の実施形態において、SE212は、できるだけ少ない数のプロセッサを割り当て解除する。これにより、破壊動作が割り当て解除されたプロセッサに対して実行される場合に、MPの残りのものに対する性能上の影響を最小限にする。上述のように、破壊動作の対象となる装置/プロセッサの先の割り当て解除中にアクティブのままのプロセッサは、ファームウェア更新を適用するために、後で割り当て解除されてもよい。破壊動作がプロセッサの代わりに特定用途向け集積回路(ASIC)(例えば、メモリ・コントローラ、L3チップ、ダイナミック・ランダム・アクセス・メモリ(DRAM)など)を対象としている場合には、SE212は、ASICに関連するプロセッサも割り当て解除することになる。前述のように、割り当て解除、動作、および再割り当ての手順は、ファームウェア更新が全MP内のすべての必要なハードウェアに対して適用されるまで繰り返される。
上述のように、本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を含む。本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第1のファームウェア設定から第2のファームウェア設定に更新する。サービス・プロセッサは、第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合に、第1のハードウェア装置を割り当て解除し、破壊動作を第1のハードウェア装置に対して実行し、破壊動作が完了すると、第1のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第2のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。
本発明の少なくともいくつかの局面は、代わりに、プログラム製品を含むコンピュータ使用可能な媒体において実施されてもよいことが理解されるべきである。本発明の機能を規定するプログラムは、様々な信号搬送媒体を介して、データ記憶システムまたはコンピュータ・システムへ配信可能である。様々な信号搬送媒体は、書き込み可能な記憶媒体(例えば、CD‐ROM)、書き込み可能な記憶媒体(例えば、ハード・ディスク・ドライブ、読み出し/書き込みCD‐ROM、光学媒体)、ランダム・アクセス・メモリ(RAM)だけではないがそのようなシステム・メモリ、ならびにイーサネット(登録商標)、インターネット、無線ネットワークおよび同様のネットワーク・システムを含むコンピュータおよび電話ネットワークなどの通信媒体を含むが、それらに限定されない。したがって、本発明の方法機能を導くコンピュータ読み出し可能な命令を搬送または符号化する場合に、そのような信号搬送媒体は本発明の代替実施形態を表すものであることが理解されるべきである。さらに、本発明は、ハードウェア、ソフトウェア、もしくは本明細書において説明するようなまたはその均等物としてのソフトウェアおよびハードウェアの組み合わせという形式の手段を有するシステムによって実施されてもよいことが理解される。
ソフトウェアの導入
上述のように、一実施形態において、本発明によって説明される処理は、サービス・プロバイダのサーバ402によって実行される。代わりに、本明細書において説明される方法、特に図6に図示および説明されている方法は、処理ソフトウェアとして、サービス・プロバイダのサーバ402からクライアントのコンピュータ(例えば、MP200または400)へ導入することができる。さらにより特定的には、説明する方法についての処理ソフトウェアは、他のサービス・プロバイダ・サーバ(図示せず)によってサービス・プロバイダのサーバ402へ導入されてもよい。
図7および図8を参照すると、ステップ700は処理ソフトウェアの導入を開始する。まず、処理ソフトウェアが実行される場合に、サーバまたは複数のサーバ上に常駐することになるプログラムがあるかどうかを判断する(クエリ・ブロック702)。そのようなプログラムがある場合には、実行可能なものを含むであろうサーバを識別する(ブロック704)。サーバまたは複数のサーバのための処理ソフトウェアは、ファイル転送プロトコル(FTP)または何らかの他のプロトコルを介してか、もしくは共用ファイル・システムの使用を通じてコピーすることによって、サーバの記憶装置へ直接転送される(ブロック706)。その後、処理ソフトウェアは、サーバ上にインストールされる(ブロック708)。
次に、処理ソフトウェアがサーバまたは複数のサーバ上のソフトウェアに対してユーザをアクセスさせることによって導入されるものかどうかについての判断が行われる(クエリ・ブロック710)。ユーザがサーバ上の処理ソフトウェアに対してアクセスすべきである場合には、処理ソフトウェアを記憶することになるサーバ・アドレスが識別される(ブロック712)。
処理ソフトウェアを記憶するために、プロキシ・サーバを構築すべきかどうかについての判断が行われる(クエリ・ブロック714)。プロキシ・サーバとは、ウェブ・ブラウザなどのクライアント・アプリケーションと実際のサーバとの間に位置するサーバである。プロキシ・サーバは、実際のサーバに対するすべての要求を傍受して、要求を自身で満たすことができるかどうかを確認する。満たすことができなければ、当該要求を実際のサーバへ送る。プロキシ・サーバの2つの主な利点は、性能を向上することと、要求をフィルタリングすることである。プロキシ・サーバが必要な場合には、当該プロキシ・サーバがインストールされる(ブロック716)。処理ソフトウェアは、FTPなどのプロトコルを介してか、またはソース・ファイルからサーバ・ファイルへファイル共用によって直接コピーされることによって、サーバへ送信される(ブロック718)。他の実施形態においては、処理ソフトウェアを含んだサーバへトランザクションを送信し、サーバに当該トランザクションを処理させてから、処理ソフトウェアをサーバのファイル・システムへコピーしてもよい。処理ソフトウェアがサーバに記憶されると、ユーザは、自身のクライアント・コンピュータを介して、サーバ上の処理ソフトウェアにアクセスして、自身のクライアント・コンピュータのファイル・システムにコピーする(ブロック720)。他の実施形態においては、サーバに処理ソフトウェアを各クライアントへ自動的にコピーさせてから、処理ソフトウェア用のインストール・プログラムを各クライアント・コンピュータにおいて実行する。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから(ブロック722)、処理を終了する(終止ブロック724)。
クエリ・ステップ726において、処理ソフトウェアは電子メールを介してユーザに対して処理ソフトウェアを送ることによって導入されるべきものであるかどうかについての判断がなされる。処理ソフトウェアが導入されることになるユーザの組は、ユーザのクライアント・コンピュータのアドレスと共に識別される(ブロック728)。処理ソフトウェアは、電子メールを介してユーザのクライアント・コンピュータへそれぞれ送信される(ブロック730)。その後、ユーザは電子メールを受信し(ブロック732)、電子メールから処理ソフトウェアを分離して、自身のクライアント・コンピュータ上のディレクトリへ送る(ブロック734)。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから(ブロック722)、処理を終了する(終止ブロック724)。
最後に、処理ソフトウェアが自身のクライアント・コンピュータ上のユーザ・ディレクトリへ直接送信されることになるかどうかについての判断がなされる(クエリ・ブロック736)。送信される場合には、ユーザ・ディレクトリが識別される(ブロック738)。処理ソフトウェアは、ユーザのクライアント・コンピュータ・ディレクトリへ直接転送される(ブロック740)。これは、ファイル・システム・ディレクトリを共用してから送信者のファイル・システムから受信ユーザのファイル・システムへコピーするか、またはファイル転送プロトコル(FTP)などの転送プロトコルを使用するなど、いくつかのやり方で行うことができるが、これらに限定されない。ユーザは、処理ソフトウェアのインストールに備えて、自身のクライアント・ファイル・システム上のディレクトリにアクセスする(ブロック742)。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから(ブロック722)、処理を終了する(終止ブロック724)。
VPNの導入
本ソフトウェアは、第三者VPNサービスが安全な導入手段として提供されるか、またはVPNが特定の導入について必要に応じてオンデマンドで構築されるといったサービスの一部として、第三者に対して導入することができる。
仮想私設ネットワーク(VPN)は、それを使用しなければ安全でないかまたは信頼性のないネットワークを介した接続を安全にするために使用可能な技術の組み合わせである。VPNは、安全性を向上し、動作コストを削減する。VPNは、通常、インターネットなどの公衆ネットワークを利用して、遠隔サイトまたはユーザ間を接続する。専用回線などの専用の現実世界の接続を使用する代わりに、VPNは、企業のプライベート・ネットワークから遠隔サイトまたは従業員へルーティングされた「仮想の」接続を使用する。処理ソフトウェアの配信または実行を特に目的としたVPNを構築することによって(すなわち、ソフトウェアはどこか別の場所に常駐している)、VPNを介したソフトウェアに対するアクセスがサービスとして提供可能である。なお、VPNの持続時間は、支払い金額に従って、所定の期間または所定の導入回数に限定されている。
処理ソフトウェアは、遠隔アクセスまたはサイト間VPNのいずれかによって導入、アクセス、および実行されてもよい。遠隔アクセスVPNを使用する場合には、処理ソフトウェアは、第3者サービス・プロバイダを通じて、企業のプライベート・ネットワークと遠隔ユーザとの間の安全な暗号化された接続を介して導入、アクセス、および実行される。企業サービス・プロバイダ(ESP)は、ネットワーク・アクセス・サーバ(NAS)を設定し、遠隔ユーザに対して、ユーザのコンピュータのためのデスクトップ・クライアント・ソフトウェアを提供する。そして、在宅勤務者は、無料電話番号をダイアルするか、あるいは、ケーブルまたはDSLモデムを介して直接NASにつながって、自身のVPNクライアント・ソフトウェアを使用して企業ネットワークにアクセスして、処理ソフトウェアをアクセス、ダウンロード、および実行する。
サイト間VPNを使用する場合には、処理ソフトウェアは、インターネットなどの公衆ネットワーク上で企業の複数の固定サイトを接続するために使用される専用設備および大規模な暗号化を使用することによって、導入、アクセス、および実行される。
処理ソフトウェアは、パケット全体を他のパケット内に配置してネットワーク上で送信する処理であるトンネリングを介して、VPN上を搬送される。外部のパケットのプロトコルは、ネットワークと、パケットがネットワークを出入りするトンネル・インターフェースと称される両地点とによって把握される。
ソフトウェアの統合化
本明細書において説明する処理を実施するためのコードからなる処理ソフトウェアは、共存すべき処理ソフトウェアに対してアプリケーション、オペレーティング・システム、およびネットワーク・オペレーティング・システム・ソフトウェアを提供して、当該処理ソフトウェアが機能することになる環境においてクライアントおよびサーバに対して当該処理ソフトウェアをインストールすることによって、クライアント、サーバ、およびネットワーク環境に統合化されてもよい。
最初のステップは、処理ソフトウェアによって要求されるか、または処理ソフトウェアと共に動作する処理ソフトウェアが導入されることになるネットワーク・オペレーティング・システムを含むクライアントおよびサーバ上の任意のソフトウェアを識別することである。これには、ネットワーキング機能を追加することによって基本のオペレーティング・システムを拡張するソフトウェアであるネットワーク・オペレーティング・システムが含まれる。
次に、ソフトウェア・アプリケーションおよびバージョン番号が識別されて、処理ソフトウェアと共に動作することをテストされたソフトウェア・アプリケーションおよびバージョン番号のリストと照合されることになる。存在しないか、または正しいバージョンと一致しないソフトウェア・アプリケーションは、正しいバージョン番号で更新されることになる。パラメータ・リストが処理ソフトウェアによって必要とされるパラメータ・リストと一致することを確実にするために、処理ソフトウェアからソフトウェア・アプリケーションへパラメータを渡すプログラム命令がチェックされることになる。逆に、パラメータが処理ソフトウェアによって必要とされるパラメータと一致することを確実にするために、ソフトウェア・アプリケーションによって処理ソフトウェアへ渡されたパラメータがチェックされることになる。ネットワーク・オペレーティング・システムを含むクライアントおよびサーバのオペレーティング・システムが識別されて、処理ソフトウェアと共に動作することをテストされたオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアのリストと照合されることになる。オペレーティング・システムおよびバージョン番号のリストと一致しないオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアは、クライアントおよびサーバ上で必要なレベルに更新されることになる。
処理ソフトウェアが導入されるべきソフトウェアが、処理ソフトウェアと共に動作することをテストされた正しいバージョン・レベルにあることを確認した後に、処理ソフトウェアをクライアントおよびサーバ上にインストールすることによって、統合化は完了する。
オンデマンド
処理ソフトウェアは共用されて、柔軟性のある自動的なやり方で複数の顧客に対して同時にサービスを提供する。処理ソフトウェアは、ほとんどカスタマイズを必要とせずに標準化され、拡張性があり(scalable)、現金払いモデルにおけるオンデマンド能力を提供する。
処理ソフトウェアは、1つ以上のサーバからアクセス可能な共用ファイル・システム上に記憶されてもよい。処理ソフトウェアは、アクセスされたサーバ上でCPU単位を使用するデータおよびサーバ処理要求を含むトランザクションを介して実行される。CPU単位とは、サーバの中央プロセッサにおける秒、分、および時などの時間単位である。加えて、アクセスされたサーバは、他のサーバに対してCPU単位を必要とする要求を出してもよい。CPU単位は、唯一の使用測定値を表す一例である。他の使用測定値には、ネットワーク帯域幅、メモリ使用率、記憶装置の使用率、パケット転送、完全トランザクションなどが含まれるが、これらに限定されない。
複数の顧客が同一の処理ソフトウェア・アプリケーションを使用する場合には、それらのトランザクションは、固有の顧客および当該顧客に対するサービスの種類を識別するトランザクションに含まれるパラメータによって区別される。CPU単位および各顧客に対するサービスのために使用される他の使用測定値のすべてが記録される。ある任意のサーバに対するトランザクションの数が当該サーバの性能に影響を及ぼし始める数に達した場合には、他のサーバがアクセスされて、容量を増加して作業負荷を分担する。同様に、ネットワーク帯域幅、メモリ使用率、記憶装置使用率などの他の使用測定値が性能に影響を与えるような限度に近づくと、さらなるネットワーク帯域幅、メモリ使用率、記憶装置などが追加されて、作業負荷を分担する。
各サービスおよび顧客について使用される使用測定値は、顧客毎かつ処理ソフトウェアの分担実行を提供するサーバのネットワーク内のどこかで処理されたサービス毎に、使用測定値を合計する収集サーバへ送信される。合計された使用測定値は、周期的に単位コストが乗算されて、その結果生じた総計処理ソフトウェア・アプリケーション・サービス・コストが、代わりに顧客に送信されるか、または顧客によってアクセスされたウェブ・サイト上に示されるか、あるいはその両方が行われ、その後、顧客は、サービス・プロバイダに対して支払いを送金する。
他の実施形態において、サービス・プロバイダは、銀行または金融機関における顧客の口座からの直接支払いを要求する。
他の実施形態において、サービス・プロバイダが処理ソフトウェア・アプリケーションを使用する顧客の顧客でもある場合には、サービス・プロバイダに対する返済されるべき支払いは、サービス・プロバイダが支払う義務のある支払いと調整されて、支払いの振込みが最小限となるようにする。
今度は図9および図10を参照すると、開始ブロック802がオンデマンド処理を開始する。固有の顧客識別、要求されたサービスの種類、およびサービスの種類をさらに特定する任意のサービス・パラメータを含むトランザクションが作成される(ブロック804)。その後、トランザクションは、メイン・サーバへ送信される(ブロック806)。オンデマンド環境において、最初はメイン・サーバが唯一のサーバである場合があり、容量が消費されるにつれて、他のサーバがオンデマンド環境に追加される。
オンデマンド環境におけるサーバの中央処理装置(CPU)の容量について問い合わせが行われる(ブロック808)。トランザクションのCPU要件が推定され、オンデマンド環境におけるサーバの利用可能なCPU容量がトランザクションのCPU要件と比較されて、トランザクションを処理するのに充分なCPU容量がサーバのうちのどれかで利用可能かどうかを確認する(クエリ・ブロック810)。利用可能なサーバのCPU容量が充分にない場合には、トランザクションを処理するために追加のサーバのCPU容量が割り当てられる(ブロック812)。利用可能なCPU容量が既に充分にあった場合には、トランザクションは選択されたサーバへ送信される(ブロック814)。
トランザクションを実行する前に、残りのオンデマンド環境について、トランザクションを処理するために利用可能な容量を当該環境が充分に有しているかどうかについて確認がなされる。この環境の容量は、ネットワーク帯域幅、プロセッサ・メモリ、記憶装置などのようなものからなるが、それに限定されない(ブロック816)。利用可能な容量が充分にない場合は、オンデマンド環境に容量が追加される(ブロック818)。次に、トランザクションを処理するのに必要なソフトウェアがアクセスされ、メモリにロードされ、その後、トランザクションが実行される(ブロック820)。
使用測定値が記録される(ブロック822)。使用測定値は、トランザクションを処理するために使用されるオンデマンド環境内の機能部分からなる。ネットワーク帯域幅、プロセッサ・メモリ、記憶装置、CPU周期のような機能の使用が記録されるが、それに限定されない。使用測定値は合計されて、単位コストが乗算されて、その後、要求元の顧客に対する請求として記録される(ブロック824)。オンデマンド・コストをウェブ・サイトに公開するように顧客が要求していた場合には(クエリ・ブロック826)、オンデマンド・コストを公開する(ブロック828)。オンデマンド・コストを電子メールで顧客のアドレスに送信するように顧客が要求していた場合には(クエリ・ブロック830)、このコストは顧客に送信される(ブロック832)。オンデマンド・コストを顧客の口座から直接支払うように顧客が要求していた場合には(クエリ・ブロック834)、支払いは顧客の口座から直接受領される(ブロック836)。その後、オンデマンド処理は終止ブロック838で終了する。
本発明を好ましい一実施形態を参照して特に図示および説明してきたが、形式および詳細に関する様々な変更を本発明の精神および範囲を逸脱することなく行ってもよいことを、当業者は理解するだろう。さらに、明細書および添付の請求項において使用されているように、「コンピュータ」または「システム」または「コンピュータ・システム」または「コンピュータ装置」は、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワークコンピュータ、メインフレーム・コンピュータ、ルータ、スイッチ、携帯情報端末(PDA)、電話、ならびにデータの処理、送信、受信、取り込みまたは記憶あるいはそのすべてを行うことが可能な任意の他のシステムを含む任意のデータ処理システムを含むが、それらに限定されない。
従来技術に係るマルチプロセッサ・データ処理システム(MP)におけるファームウェア更新の処理を示す高レベルの論理フローチャートである。 本発明の一実施形態に係る、様々なホット・プラグ機能を提供するために使用されるファブリック制御論理と共に設計されたMP(サーバ)のブロック図である。 本発明の一実施形態に係る、ホット・プラグ接続のために構成された図2の2つのサーバを含むMPのブロック図である。 本発明の好ましい一実施形態に係る、すべての主要構成要素のホット・プラグ拡張を可能にするMPのブロック図である。 本発明の好ましい一実施形態に係る、MPにおけるサービス要素とプロセッサの集合との間の関係を示すブロック図である。 本発明の好ましい一実施形態に係る、破壊的なファームウェア更新を非破壊で適用するための方法例を示す高レベルの論理フローチャートである。 図6に図示および説明されるステップを実行することが可能なソフトウェアを導入するのに取られるステップのフローチャートを示す。 図6に図示および説明されるステップを実行することが可能なソフトウェアを導入するのに行われるステップのフローチャートを示す。 オンデマンド・サービス・プロバイダを使用して図6に図示および説明されるステップを実行するために行われるステップのフローチャートを示す。 オンデマンド・サービス・プロバイダを使用して図6に図示および説明されるステップを実行するために取られるステップのフローチャートを示す。
符号の説明
200 MP
201,202 CPU
204 メモリ
206 I/Oコントローラ/装置
207 ルーティング論理
208 ファブリック
209 構成設定論理
212 サービス要素
214 CONFIG A
216 CONFIG B
217 ラッチ
218 モード設定レジスタ
210 パーティション
220 ホット・プラグ/ホット・リムーバル・コネクタ

Claims (20)

  1. マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法であって、前記方法は、
    前記マルチプロセッサ・データ処理システムにおけるファームウェアを、第1のファームウェア設定から第2のファームウェア設定に更新するステップと、
    前記第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合に、前記第1のハードウェア装置を割り当て解除し、
    前記破壊動作を前記第1のハードウェア装置に対して実行し、
    前記破壊動作が完了すると、前記第1のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
    前記第2のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するステップと
    を含む方法。
  2. 前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するステップをさらに含む、請求項1に記載の方法。
  3. 前記破壊動作は、前記第1のハードウェア装置上で実行されると前記第1のハードウェア装置をオフラインにする動作である、請求項1に記載の方法。
  4. 前記第2のファームウェア設定が少なくとも1つの破壊動作を含まない場合には、前記第1のハードウェア装置を割り当て解除する前記ステップおよび再割り当てする前記ステップを行うことなく、前記第2のファームウェア設定を前記第1のハードウェア装置に適用するステップをさらに含む、請求項1に記載の方法。
  5. 前記第1のハードウェア装置を割り当て解除する前記ステップは、
    前記第1のハードウェア装置をホット・リムーバル手順を介して割り当て解除するステップをさらに含む、請求項1に記載の方法。
  6. 前記第1のハードウェア装置を再割り当てする前記ステップは、
    前記第1のハードウェア装置をホット・プラグ手順を介して再割り当てするステップをさらに含む、請求項1に記載の方法。
  7. マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するためのシステムであって、
    複数のプロセッサと、
    前記複数のプロセッサに結合されたデータ・バスと、
    前記複数のプロセッサによって実行可能な命令を備えるコンピュータ・プログラム・コードとを備え、
    前記命令は、
    前記マルチプロセッサ・データ処理システムにおけるファームウェアを、第1のファームウェア設定から第2のファームウェア設定に更新するためと、
    前記第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合には、前記第1のハードウェア装置を割り当て解除し、
    前記破壊動作を前記第1のハードウェア装置に対して実行し、
    前記破壊動作が完了すると、前記第1のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
    前記第2のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するために構成される、システム。
  8. 前記命令は、
    前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するためにさらに構成される、請求項7に記載のシステム。
  9. 前記破壊動作は、前記第1のハードウェア装置上で実行されると前記第1のハードウェア装置をオフラインにする動作である、請求項7に記載のシステム。
  10. 前記命令は、
    前記第2のファームウェア設定が少なくとも1つの破壊動作を含まない場合には、前記第1のハードウェア装置を割り当て解除することおよび再割り当てすることを行うことなく、前記第2のファームウェア設定を前記第1のハードウェア装置に適用するためにさらに構成される、請求項7に記載のシステム。
  11. 前記第1のハードウェア装置の前記割り当て解除のための前記命令は、
    前記第1のハードウェア装置をホット・リムーバル手順を介して割り当て解除するためにさらに構成される、請求項7に記載のシステム。
  12. 前記第1のハードウェア装置の前記再割り当てのための前記命令は、
    前記第1のハードウェア装置をホット・プラグ手順を介して再割り当てするためにさらに構成される、請求項7に記載のシステム。
  13. コンピュータ実行可能な命令を備えるコンピュータ・プログラムであって、
    前記命令は、
    マルチプロセッサ・データ処理システムにおけるファームウェアを、第1のファームウェア設定から第2のファームウェア設定に更新するためと、
    前記第2のファームウェア設定が第1のハードウェア装置を対象とする少なくとも1つの破壊動作を含む場合には、前記第1のハードウェア装置を割り当て解除し、
    前記破壊動作を前記第1のハードウェア装置に対して実行し、
    前記破壊動作が完了すると、前記第1のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
    前記第2のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するために構成される、コンピュータ・プログラム。
  14. 前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するために構成されるコンピュータ実行可能な命令をさらに備える、請求項13に記載のコンピュータ・プログラム。
  15. 前記破壊動作は、前記第1のハードウェア装置上で実行されると前記第1のハードウェア装置をオフラインにする動作である、請求項13に記載のコンピュータ・プログラム。
  16. 前記第2のファームウェア設定が少なくとも1つの破壊動作を含まない場合には、前記第1のハードウェア装置を割り当て解除することおよび再割り当てすることを行うことなく、前記第2のファームウェア設定を前記第1のハードウェア装置に適用するために構成されるコンピュータ実行可能な命令をさらに備える、請求項13に記載のコンピュータ・プログラム。
  17. 前記第1のハードウェア装置の前記割り当て解除のために構成されたコンピュータ実行可能な命令を備えるコンピュータ・プログラム・コードは、
    前記第1のハードウェア装置をホット・リムーバル手順を介して割り当て解除するために構成されるコンピュータ実行可能な命令をさらに備える、請求項13に記載のコンピュータ・プログラム。
  18. 前記第1のハードウェア装置の前記再割り当てのために構成されたコンピュータ実行可能な命令を備えるコンピュータ・プログラム・コードは、
    前記第1のハードウェア装置をホット・プラグ手順を介して再割り当てするために構成されるコンピュータ実行可能な命令をさらに備える、請求項13に記載のコンピュータ・プログラム。
  19. 前記コンピュータ実行可能な命令は、遠隔地にあるサーバからクライアント・コンピュータへ導入可能である、請求項13に記載のコンピュータ・プログラム。
  20. 前記コンピュータ実行可能な命令は、サービス・プロバイダから顧客へオンデマンドで提供される、請求項13に記載のコンピュータ・プログラム。
JP2007220481A 2006-08-30 2007-08-28 マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法 Expired - Fee Related JP5254582B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/468,326 US7823020B2 (en) 2006-08-30 2006-08-30 System and method for applying a destructive firmware update in a non-destructive manner
US11/468326 2006-08-30

Publications (2)

Publication Number Publication Date
JP2008059585A true JP2008059585A (ja) 2008-03-13
JP5254582B2 JP5254582B2 (ja) 2013-08-07

Family

ID=39160088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007220481A Expired - Fee Related JP5254582B2 (ja) 2006-08-30 2007-08-28 マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法

Country Status (3)

Country Link
US (1) US7823020B2 (ja)
JP (1) JP5254582B2 (ja)
CN (1) CN101135979B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842037B2 (en) 2014-08-15 2017-12-12 Fujitsu Limited Method and apparatus for verifying configuration

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7860930B2 (en) * 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
US7984454B2 (en) * 2006-12-19 2011-07-19 International Business Machines Corporation Migration of single root stateless virtual functions
US7657663B2 (en) * 2006-12-19 2010-02-02 International Business Machines Corporation Migrating stateless virtual functions from one virtual plane to another
US8271604B2 (en) * 2006-12-19 2012-09-18 International Business Machines Corporation Initializing shared memories for sharing endpoints across a plurality of root complexes
US7836129B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Communication between host systems using a queuing system and shared memories
CN101610499A (zh) * 2009-07-13 2009-12-23 中兴通讯股份有限公司 无线数据卡的升级方法和系统
US9639347B2 (en) * 2009-12-21 2017-05-02 International Business Machines Corporation Updating a firmware package
TW201220031A (en) * 2010-11-15 2012-05-16 Hon Hai Prec Ind Co Ltd Gas recycle device
US8418166B2 (en) 2011-01-11 2013-04-09 International Business Machines Corporation Transparent update of adapter firmware for self-virtualizing input/output device
DE102011112174B4 (de) * 2011-09-01 2022-03-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Schutz und zur zerstörungsfreien Prüfung sicherheitsrelevanter Register
US9184991B2 (en) * 2012-01-13 2015-11-10 American Megatrends, Inc. Method and apparatus for developing service processor solutions
US8825817B1 (en) * 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
DE102012009482B4 (de) * 2012-05-12 2020-06-25 Volkswagen Aktiengesellschaft Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts
US9235404B2 (en) 2012-06-27 2016-01-12 Microsoft Technology Licensing, Llc Firmware update system
US9110761B2 (en) 2012-06-27 2015-08-18 Microsoft Technology Licensing, Llc Resource data structures for firmware updates
US8972973B2 (en) 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
US9858083B2 (en) * 2013-03-14 2018-01-02 Microchip Technology Incorporated Dual boot panel SWAP mechanism
US9032423B2 (en) 2013-06-21 2015-05-12 Microsoft Technology Licensing, Llc Dependency based configuration package activation
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US10719310B1 (en) * 2019-03-18 2020-07-21 Dell Products, L.P. Systems and methods for reducing keyboard, video, and mouse (KVM) downtime during firmware update or failover events in a chassis with redundant enclosure controllers (ECs)
CN111857882B (zh) * 2020-07-23 2024-04-02 深圳忆联信息系统有限公司 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200283A (ja) * 1993-12-29 1995-08-04 Toshiba Corp 常駐ロードモジュールの入れ換えシステム
JPH07210378A (ja) * 1994-01-26 1995-08-11 Hitachi Ltd マルチプロセッサシステムのソフトウェア交換方法
JPH10326202A (ja) * 1998-06-22 1998-12-08 Hitachi Ltd 高信頼化コンピュータシステム及び高信頼化コンピュータシステムの復旧方法
JP2001236319A (ja) * 1999-12-31 2001-08-31 Ge Medical Technology Services Inc 遠隔システム・サービスにおけるコミュニティ管理の方法及び装置
JP2004133697A (ja) * 2002-10-10 2004-04-30 Kansai Electric Power Co Inc:The 基本ソフトウェアの遠隔書換システム
JP2005011319A (ja) * 2003-04-28 2005-01-13 Internatl Business Mach Corp <Ibm> 非対称データ処理システムリソースの非介入動的ホット追加およびホット除去
JP2007536630A (ja) * 2004-05-07 2007-12-13 ワイズ テクノロジー インコーポレーテッド オペレーティングシステム及びアプリケーションの統合オンデマンド配信システム及び方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
JP3177117B2 (ja) * 1994-05-11 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 複数のノード内の制御コードを更新する方法および装置
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6189145B1 (en) * 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US6189050B1 (en) * 1998-05-08 2001-02-13 Compaq Computer Corporation Method and apparatus for adding or removing devices from a computer system without restarting
US6237091B1 (en) * 1998-10-29 2001-05-22 Hewlett-Packard Company Method of updating firmware without affecting initialization information
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US6629315B1 (en) * 2000-08-10 2003-09-30 International Business Machines Corporation Method, computer program product, and system for dynamically refreshing software modules within an actively running computer system
US7010584B1 (en) * 2000-11-09 2006-03-07 International Business Machines Corporation Changing the operating system in a computer operation without substantial interruption of operations through the use of a surrogate computer
US6944854B2 (en) * 2000-11-30 2005-09-13 International Business Machines Corporation Method and apparatus for updating new versions of firmware in the background
US6834384B2 (en) * 2001-03-14 2004-12-21 General Instrument Corporation Methods and apparatus for upgrading firmware in an embedded system
US6973587B1 (en) * 2002-05-03 2005-12-06 American Megatrends, Inc. Systems and methods for out-of-band booting of a computer
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
US7185331B2 (en) * 2002-08-27 2007-02-27 Inrange Technologies Corporation Method and apparatus for downloading executable code in a non-disruptive manner
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
US7219343B2 (en) * 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
US7089066B2 (en) * 2003-04-24 2006-08-08 Colorado Vnet, Llc Distributed control systems and methods
US7130997B2 (en) * 2003-05-29 2006-10-31 International Business Machines Corporation Method of registering a portion of RAM with firmware to preserve the portion during reboot
US7222339B2 (en) * 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure
US7376945B1 (en) * 2003-12-02 2008-05-20 Cisco Technology, Inc. Software change modeling for network devices
US7197634B2 (en) * 2004-01-16 2007-03-27 Dell Products L.P. System and method for updating device firmware
US20050216721A1 (en) * 2004-03-24 2005-09-29 Zimmer Vincent J Methods and apparatus for initializing a memory
US7546596B2 (en) * 2004-03-29 2009-06-09 International Business Machines Corporation Non-disruptive method, system and program product for overlaying a first software module with a second software module
US7730326B2 (en) * 2004-11-12 2010-06-01 Apple Inc. Method and system for updating firmware stored in non-volatile memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200283A (ja) * 1993-12-29 1995-08-04 Toshiba Corp 常駐ロードモジュールの入れ換えシステム
JPH07210378A (ja) * 1994-01-26 1995-08-11 Hitachi Ltd マルチプロセッサシステムのソフトウェア交換方法
JPH10326202A (ja) * 1998-06-22 1998-12-08 Hitachi Ltd 高信頼化コンピュータシステム及び高信頼化コンピュータシステムの復旧方法
JP2001236319A (ja) * 1999-12-31 2001-08-31 Ge Medical Technology Services Inc 遠隔システム・サービスにおけるコミュニティ管理の方法及び装置
JP2004133697A (ja) * 2002-10-10 2004-04-30 Kansai Electric Power Co Inc:The 基本ソフトウェアの遠隔書換システム
JP2005011319A (ja) * 2003-04-28 2005-01-13 Internatl Business Mach Corp <Ibm> 非対称データ処理システムリソースの非介入動的ホット追加およびホット除去
JP2007536630A (ja) * 2004-05-07 2007-12-13 ワイズ テクノロジー インコーポレーテッド オペレーティングシステム及びアプリケーションの統合オンデマンド配信システム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842037B2 (en) 2014-08-15 2017-12-12 Fujitsu Limited Method and apparatus for verifying configuration

Also Published As

Publication number Publication date
US7823020B2 (en) 2010-10-26
JP5254582B2 (ja) 2013-08-07
CN101135979B (zh) 2012-05-30
CN101135979A (zh) 2008-03-05
US20080126778A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
JP5254582B2 (ja) マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法
JP7391862B2 (ja) 自動的に配備される情報技術(it)システム及び方法
AU2019213422B2 (en) Pre-configure and pre-launch compute resources
JP4286798B2 (ja) ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体
US8424078B2 (en) Methodology for secure application partitioning enablement
US20180302335A1 (en) Orchestrating computing resources between different computing environments
US7953830B2 (en) Automatic network reconfiguration upon changes in DHCP IP addresses
EP2127325B1 (en) Operating system deployment in a peer-to-peer computing environment
CN110073355A (zh) 服务器上的安全执行环境
JP2019525306A (ja) 部分的にオフロードされた仮想化マネージャにおけるメモリ割当て技術
US20220174096A1 (en) Automatically Deployed Information Technology (IT) System and Method with Enhanced Security
US20120290455A1 (en) System and Method for Providing Computer Services
CN102567073A (zh) 在机器部署期间插入管理代理
JP2003114801A (ja) コンピュータサービスおよびプログラマブルデバイスの管理を自動化するシステムおよび方法
JP2007500387A (ja) インストール/実行/削除機構
JP2009259046A (ja) マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
TWI396092B (zh) 用於架構一遠端資料處理系統之電腦程式產品、資料處理系統、電腦實施方法及一種用於為一客戶架構一客戶端資料處理系統之服務處理方法
KR20040045481A (ko) 개인 컴퓨터 업그레이드
US20060116897A1 (en) Server borrowing apparatus allocating server to user group and computer product therefor
US20060080399A1 (en) Remote configuration management for data processing units
JP4982454B2 (ja) 情報処理方法および情報処理システム
CN107659621B (zh) 一种raid控制卡配置方法及装置
CN112270000A (zh) 密码服务提供方法、装置和计算机可读存储介质
KR20150120607A (ko) 클라우드 컴퓨팅 시스템
US9270530B1 (en) Managing imaging of multiple computing devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120926

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121003

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121025

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20121026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130418

R150 Certificate of patent or registration of utility model

Ref document number: 5254582

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees