JPWO2014147817A1 - 情報処理装置、プログラム更新方法、及びプログラム - Google Patents

情報処理装置、プログラム更新方法、及びプログラム Download PDF

Info

Publication number
JPWO2014147817A1
JPWO2014147817A1 JP2015506509A JP2015506509A JPWO2014147817A1 JP WO2014147817 A1 JPWO2014147817 A1 JP WO2014147817A1 JP 2015506509 A JP2015506509 A JP 2015506509A JP 2015506509 A JP2015506509 A JP 2015506509A JP WO2014147817 A1 JPWO2014147817 A1 JP WO2014147817A1
Authority
JP
Japan
Prior art keywords
program
update
information processing
firmware
processing apparatus
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
JP2015506509A
Other languages
English (en)
Other versions
JP6028851B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP6028851B2 publication Critical patent/JP6028851B2/ja
Publication of JPWO2014147817A1 publication Critical patent/JPWO2014147817A1/ja
Active 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

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

Abstract

本発明を適用した1システムは、更新対象となるプログラムを記憶した第1の記憶部と、プログラムの更新が有効か否かを表す設定情報を記憶した第2の記憶部と、ネットワークを介した通信を行うための通信部と、ネットワークと接続された第1の情報処理装置から、プログラムの第1の版を表す更新管理情報を通信部が受信した場合に、受信した更新管理情報が表す第1の版に基づいて、第1の記憶部に記憶されたプログラムを更新すべきか否か判定する第1の判定部と、プログラムの更新が有効と設定情報が表しているか否か判定する第2の判定部と、プログラムを更新すべきと第1の判定部が判定し、且つプログラムの更新が有効と設定情報が表していると第2の判定部が判定した場合に、通信部を用いて、第1の情報処理装置にプログラムの更新用データを要求して取得し、取得した更新用データを用いて、第1の記憶部に記憶されているプログラムを更新する更新部と、更新部がプログラムを更新した場合に、通信部を用いて更新管理情報を送信させ、送信させた更新管理情報を受信した第2の情報処理装置からの要求により、通信部を用いて更新用データを送信させる更新管理部と、を有する。

Description

本実施形態は、情報処理装置間の通信により、各情報処理装置にプログラムの更新を行わせるための技術に関する。
情報処理装置(コンピュータ)に実行させるプログラムの大部分は、機能の追加、不具合の修正、等のために随時、更新される。更新が行われるプログラムは、版(バージョン)で管理され、更新されたプログラムには、識別情報として版番(バージョン番号)が割り当てられる。それにより、プログラムは、版番により、更新内容、及び版間の新旧、等を特定できるようになっている。以降、版番は「版数」と表記する。
プログラムの更新により、情報処理装置が実行する同じプログラムが更新の対象となる。情報処理装置が実行するプログラムの更新には、最近ではネットワークを用いることが増えている。プログラムの更新は、それまでのプログラム全体を更新後のプログラム全体と置き換えるか、或いはそれまでのプログラムのなかで置き換えるべき一部分(差分)を置き換えることで行われる。
更新するプログラムによっては、多くの情報処理装置でプログラムを迅速に更新させなければならない場合がある。そのプログラムとは、例えばサーバとして用いられる情報処理装置に実行させるプログラムである。
プログラムを更新すべき情報処理装置が多い場合、管理者が個別に情報処理装置のプログラムを更新することは、負担が大きく、且つ時間がかかる。このことから、従来の情報処理装置のなかには、ネットワークを介した通信により、プログラムの更新を自律的に行えるものがある。
この従来の情報処理装置は、自身がプログラムを更新した場合、ネットワークを介して、更新後のプログラムの版数を不特定の情報処理装置を対象に通知する。この通知を受信した他の従来の情報処理装置は、通知された版数が、現在、使用しているプログラムの版数より新しい場合、版数を通知した従来の情報処理装置に対し、更新後のプログラムのダウンロードを要求して、プログラムを更新する。そのようにしてプログラムを更新した他の従来の情報処理装置は、プログラムをダウンロードした従来の情報処理装置と同様に、更新後のプログラムの版数を不特定の情報処理装置を対象に通知する。この結果、従来の情報処理装置を複数台ネットワークに接続したシステムでは、1台の従来の情報処理装置でプログラムを更新すると、他の全ての従来の情報処理装置がプログラムを更新する。
サーバに実行させるアプリケーション・プログラム(以降「アプリケーション」と略記)は、そのサーバを利用するユーザによって異なる。また、プログラムの更新に対する考え方もユーザによって異なるのが普通である。例えばファームウェアに存在する不具合が判明し、その不具合を修正した版のファームウェアを新たに配布されたとしても、その不具合を問題としないユーザはファームウェアの更新を望むとは限らない。新しい版のファームウェアに何らかの影響を及ぼす不具合の存在を恐れるユーザは、そのファームウェアの更新を望まない可能性が高い。このようなユーザの存在を考慮する場合、プログラムを更新すべきでない情報処理装置のプログラムの更新は行わないようにすることも重要と思われる。
情報処理装置の多くは、ファームウェア、及びOS(Operating System)が実行される。文書の作成、或いは数値計算、等の或る特定の目的のために設計されたアプリケーション・ソフトウェアは、ファームウェア上、或いはOS上で動作する。このことから、プログラムの更新は、情報処理装置で実行されている他のプログラムを考慮して、各プログラムが動作保証される組み合わせとなるように行う必要がある。このことから、従来の情報処理装置のなかには、ネットワークを介して接続された他の情報処理装置における何れかのプログラムの更新により、各プログラムが動作保証されない組み合わせとなるように支援するものがある。
そのような支援が可能な従来の情報処理装置は、サーバとして設置され、各プログラムの動作保証される組み合わせを表すテーブルを格納している。それにより、接続されたパーソナルコンピュータ(PC)で何れかのプログラムが更新される場合、そのテーブルが表す組み合わせとなるように、必要に応じて他のプログラムも更新させるようになっている。
この従来の情報処理装置に制御されるプログラムの更新を行わせる場合、PCのユーザは、更新のための専用のソフトウェアをダウンロードし、そのソフトウェアによる問い合わせに回答しなければならない。そのため、プログラムを更新すべきPCの台数が多い場合、ユーザが行う操作は非常に面倒なものとなる。
特開2011−95950号公報 特開2009−230398号公報 特開平8−249163号公報 特開平8−83229号公報 特開2001−109619号公報
1側面では、本発明は、プログラムを更新すべき情報処理装置のみに、そのプログラムの更新を自律的に行わせるための技術を提供することを目的とする。
本発明を適用した1システムは、更新対象となるプログラムを記憶した第1の記憶部と、プログラムの更新が有効か否かを表す設定情報を記憶した第2の記憶部と、ネットワークを介した通信を行うための通信部と、ネットワークと接続された第1の情報処理装置から、プログラムの第1の版を表す更新管理情報を通信部が受信した場合に、受信した更新管理情報が表す第1の版に基づいて、第1の記憶部に記憶されたプログラムを更新すべきか否か判定する第1の判定部と、プログラムの更新が有効と設定情報が表しているか否か判定する第2の判定部と、プログラムを更新すべきと第1の判定部が判定し、且つプログラムの更新が有効と設定情報が表していると第2の判定部が判定した場合に、通信部を用いて、第1の情報処理装置にプログラムの更新用データを要求して取得し、取得した更新用データを用いて、第1の記憶部に記憶されているプログラムを更新する更新部と、更新部がプログラムを更新した場合に、通信部を用いて更新管理情報を送信させ、送信させた更新管理情報を受信した第2の情報処理装置からの要求により、通信部を用いて更新用データを送信させる更新管理部と、を有する。
本発明を適用した1システムでは、CPUパッケージ(演算処理装置)に障害が発生したとしても、その障害に伴う運用状態の低下をより抑えることができる。
本実施形態による情報処理装置の構成例、及びその情報処理装置を採用したネットワークシステムの構成例を説明する図である。 システム管理ボードの構成例を説明する図である。 システムボードの構成例を説明する図である。 保証ファーム版数互換性テーブルの構成例を説明する図である。 本実施形態による情報処理装置を用いた場合に、各情報処理装置によって行われるプログラムの更新例を説明する図である。 プログラムを更新したサーバ、及びプログラムを更新するサーバ別に、システム管理ボード、及びシステムボードが実行する処理を表す図である。 更新管理処理のフローチャートである。 更新管理処理のフローチャートである(続き)。 MMB更新処理のフローチャートである。 MMB更新処理のフローチャートである(続き)。 SB更新処理のフローチャートである。 SB更新処理のフローチャートである(続き)。 プログラムを更新したサーバ、及びプログラムを更新するサーバの間で行われるデータの送受信例を表すシーケンス図である。 本実施形態による情報処理装置を用いた場合に、各情報処理装置によって行われるプログラムの他の更新例を説明する図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による情報処理装置の構成例、及びその情報処理装置を採用したネットワークシステムの構成例を説明する図である。
本実施形態による情報処理装置は、サーバ1(1−0〜1−3)として実現されている。ネットワークシステムは、図1に表すように、各サーバ1を2つのネットワーク3、4にそれぞれ接続させた構成となっている。ネットワーク3には、各サーバ1の他に、管理者が使用する管理端末装置2が接続されている。ネットワーク3は、主に管理用に使用され、ネットワーク4は、サーバ1が本来の処理を実行するために使用される。
各サーバ1は、2つのシステム管理ボード(MMB:ManageMent Board)11と、複数のシステムボード(SB)12と、各システム管理ボード11と各システムボード12間を接続するネットワーク13とを備えている。
システム管理ボード11は、サーバ1全体を管理するための処理モジュールであり、各システムボード12を制御する。障害への高い耐性を実現するために、システム管理ボード11は2重化されている。
システム管理ボード11は、図1に表すように、外部通信部111、制御部112、内部通信部113、及び記憶部114を備えている。
外部通信部111は、ネットワーク3を介した通信を可能にする。内部通信部113は、ネットワーク13を介した通信を可能にする。制御部112は、記憶部114に記憶されたファームウェアを実行することにより、外部通信部111、或いは内部通信部113を介したデータの送受信を必要に応じて行い、状況に応じた制御を行う。
記憶部114には、制御部112が実行するファームウェアを格納する領域であるMMB保存領域115が2つ確保されている。制御部112は、2つのMMB保存領域115(115−1、115−2)のうちの何れかに格納されているファームウェアを実行する。また、記憶部114には、ファームウェア版数互換テーブル116を最大2つ記憶されると共に、更新フラグ117が記憶されている。更新フラグ117、及びファームウェア版数互換テーブル116についての詳細は後述する。
図2は、システム管理ボードの構成例を説明する図である。図2に表すように、システム管理ボード11は、CPU(Central Processing Unit)201、複数のメインメモリ202、2つのLAN(Local Area Network)インタフェース210、220、2つのスイッチングハブ211、221、及び2つの不揮発性のメモリ231(231−1、231−2)を備えている。
2つのメモリ231は、図1に表す記憶部114の構成要素である。各メモリ231には、ファームウェア240が格納されるMMB保存領域115が確保され、保証ファーム互換性テーブル116が格納される。更新フラグ117は、2つのメモリ231のうちの一方にのみ、格納されるか、或いは2つのメモリ231に格納される。
図1に表す制御部112は、CPU201、及び複数のメインメモリ202が構成要素となっている。CPU201は、2つのメモリ231のうちの一方に格納されたファームウェア240をメインメモリ202に読み出して実行することにより、サーバ1全体の管理を行う。
LANインタフェース210、及びスイッチングハブ211は、外部通信部111の構成要素である。LANインタフェース220、及びスイッチングハブ221は、内部通信部113の構成要素である。CPU201は、スイッチングハブ211、及び221を介してLANインタフェース211、及び221を制御し、ネットワーク3、及び13を介した通信を行う。
各メモリ231に格納されたファームウェア240は、更新対象となるプログラムである。本実施形態では、ファームウェア240の実行中もファームウェア240の更新が行えるように、ファームウェア240を格納するMMB保存領域115を2つ確保している。それにより、例えばCPU201がメモリ231−1に格納されたファームウェア240を実行している場合、新しいファームウェア240はメモリ231−2に格納させる。逆にCPU201がメモリ231−2に格納されたファームウェア240を実行している場合、新しいファームウェア240はメモリ231−1に格納させる。起動の際にCPU201が読み出すのは、最新のファームウェア240である。
一方、システムボード12は、サーバ1によるサービスを提供するための処理モジュールである。システムボード12は、図1に表すように、制御部122、内部通信部123、及び記憶部124を備えている。
内部通信部123は、ネットワーク13を介した通信を可能にする。制御部122は、記憶部124に確保された2つのBIOS(Basic Input/Output System)保存領域125(125−1、125−2)のうちの一方に格納されているBIOS、及びファームウェアを実行する。
図3は、システムボードの構成例を説明する図である。図3に表すように、システムボード12は、CPU301、複数のメインメモリ302、ノースブリッジチップ303、サウスブリッジチップ304、MPU(Micro-Processing Unit)305、メインメモリ306、LANインタフェース310、及び2つの不揮発性のメモリ321(321−1、321−2)を備えている。
このLANインタフェース310は、図1に表す内部通信部123の構成要素である。
2つのメモリ321は、図1に表す記憶部124の構成要素である。各メモリ321には、BIOS331、及びファームウェア332が格納される。それにより、各メモリ321は、それぞれBIOS保存領域125となっている。
図1に表す制御部122は、CPU301、複数のメインメモリ302、ノースブリッジチップ303、サウスブリッジチップ304、MPU305、及びメインメモリ306が構成要素となっている。CPU301は、2つのメモリ321のうちの何れかに格納されているBIOS331を実行し、MPU305は、CPU301が実行するBIOS331が格納されているメモリ321からファームウェア332を読み出して実行する。このことから、制御部122は、BIOS331、及びファームウェア332を実行するようになっている。
CPU301は、BIOS331を起動した後、更にOS(Operating System)、及びアプリケーションを起動させる。OS、及びアプリケーションを格納したストレージは、システムボード12に搭載されていても良いが、別の処理モジュールに搭載されていても良い。そのようにストレージの搭載場所は特に限定されるものではないことから、ここでは図示していない。OS、アプリケーションも共に、本実施形態を説明するうえで重要ではない。
CPU301は、アプリケーションを実行することにより、サーバ1によるサービスの提供を実現させる。一方、MPU305は、ファームウェア332の実行により、システムボード12の管理に係わる処理を実行する。このことから、MPU305は、例えばBMC(Baseboard Management Controller)の構成要素である。
本実施形態では、システムボード12で実行されるBIOS331、及びファームウェア332も共に更新対象となっている。そのため、上記システム管理ボード11と同様に、各BIOS保存領域125として各メモリ321を設け、各メモリ321にBIOS331、及びファームウェア332を格納している。
システム管理ボード11は、通信を行い、各システムボード12を制御する。そのため、システム管理ボード11で実行されるファームウェア240と、システムボード12で実行されるBIOS331,及びファームウェア332とは、動作保証された組み合わせとする必要がある。上記保証ファーム版数互換性テーブル116は、ファームウェア240、BIOS331,及びファームウェア332が動作保証の組み合わせか否か否かを確認するための情報である。
図4は、保証ファーム版数互換テーブルの構成例を説明する図である。図4に表すように、保証ファーム版数互換テーブル116には、エントリ毎に、保証組合せ番号、システム管理ボード11のファームウェア240の版数、システムボード12のBIOS331、及びファームウェア332の各版数が格納される。
本実施形態では、プログラムの更新は、システム管理ボード11のファームウェア240→システムボード12のBIOS331、及びファームウェア332、の順序で行うようにしている。更新フラグ117は、プログラムの更新が有効か否かを表す設定情報である。本実施形態では、プログラムの更新の有効を更新フラグ117が表している場合に、ファームウェア240の更新を必要に応じて行うようにしている。それにより、本実施形態では、サーバ1のなかでプログラムの更新の対象としないサーバ1を個別に指定できるようにしている。
図1に表すサーバ1がそれぞれ異なるユーザ(クライアント)が利用するような場合、各サーバ1にはそれぞれ異なるアプリケーションが実行されるのが普通である。例え同じアプリケーションが複数台のサーバ1で実行されるとしても、版数、或いは仕様が異なることも多い。版数、或いは仕様が異なることによって、例え不具合が存在している同じBIOS331を実行していたとしても、その不具合が表面化しない可能性がある。不具合が表面化していないユーザは、不具合を修正した版のBIOS331への更新により、別の不具合が表面化する危険性を重視する場合がある。このようなことから、判明した不具合を修正した版のBIOS331が配布されたとしても、全てのユーザがBIOS331の更新を望むとは限らない。それにより、本実施形態では、プログラムの更新対象とするサーバ1を更新フラグ117により予め設定するようにして、望まれない更新を行わないようにしている。
プログラムの更新が望まれない理由は、上記のようなものに限定されない。主な理由としては、他に、新たに配布された版のプログラムの信頼性が確認されるまで、そのプログラムの更新を行わないというものがある。
上記更新フラグ117の各サーバ1への格納(更新を含む)は、管理端末装置2を用いて行うようにしても良い。或いはサーバ1毎に、更新フラグ117の内容を切り換え可能なスイッチ等を設け、そのスイッチへの操作により、所望の内容の更新フラグ117を格納させるようにしても良い。
管理端末装置2を操作する管理者は、各サーバ1に設定すべき更新フラグ117を設定した後、システム管理ボード11のファームウェア240、必要に応じて更にシステムボード12のBIOS331,及びファームウェア332のうちの少なくとも一方を更新する。この更新を行う方法は、特に限定されない。ここでは説明上、便宜的に、システムボード12のBIOS331、及びファームウェア332も共に更新されたと想定する。
ファームウェア240の更新により、サーバ1はシステム管理ボード11を含め再起動される。再起動したシステム管理ボード11は、更新されたファームウェア240の版数を表すMMBファーム情報を格納したメッセージをブロードキャストすることにより、他のサーバ1に対し、MMBファーム情報を通知する。
メッセージを受信したサーバ1のシステム管理ボード11は、そのメッセージ中のMMBファーム情報が表す版数が現在、実行中のファームウェア240の版数より新しく、且つ更新フラグ117が更新の有効を表していた場合、応答としてファームウェア240の更新用データを要求する。それにより、メッセージを受信したサーバ1のシステム管理ボード11は、ファームウェア240を更新する。
ファームウェア240の更新は、上記のように、現在、実行中のファームウェア240が格納されていないメモリ231に、更新用データから得られるファームウェア240を格納することで行われる。ここでは、更新用データは、ファームウェア240全体の圧縮データと想定する。その圧縮データは以降「ファームウェアデータ」或いは単に「データ」と表記する。これは、BIOS331、及びファームウェア332でも同様とする。
メッセージ中のMMBファーム情報が表す版数が現在、実行中のファームウェア240の版数より新しくない、或いは更新フラグ117が更新の有効を表していない場合、サーバ1のシステム管理ボード11は応答を送信しない。それにより、ファームウェア240を更新する必要がないか、或いはファームウェア240を更新すべきでないサーバ1では、ファームウェア240は更新されない。
ファームウェア240を更新したシステム管理ボード11は、配下の何れかのシステムボード12に対し、BIOS331、及びファームウェア332の各版数を確認し、保証ファーム版数互換性テーブル116を参照する。それにより、更新後のファームウェア240、BIOS331、及びファームウェア332が動作保証されている組合せか否か確認する。その結果、動作保証されていない組合せであることが判明した場合、システム管理ボード11は、ファームウェアデータを要求したサーバ1に対し、BIOS331、及びファームウェア332の各データを要求する。システム管理ボード11は、その要求により受信したBIOS331、及びファームウェア332の各データを、各システムボード12に送信することで、各システムボード12にBIOS331、及びファームウェア332を更新させる。
そのようにしてファームウェア240、BIOS331、及びファームウェア332を更新したサーバ1のシステム管理ボード11は、再起動の後、更新されたファームウェア240の版数を表すMMBファーム情報を格納したメッセージをブロードキャストする。それにより、1台のサーバ1でプログラムを更新すると、その更新は直接的、或いは間接的に、他のサーバ1に反映される。この結果、プログラムを更新すべき全てのサーバ1に必要なプログラムの更新を行わせることができる。管理者は、各サーバ1に対する更新フラグ117の設定、及び1台のサーバ1に対するプログラムの更新を行えば良いことから、各サーバ1に対する必要なプログラムの更新を容易に行わせることができる。
本実施形態では、ファームウェア240のデータの送信時に、最新の保証ファーム版数互換性テーブル116を共に送信するようにしている。それにより、ファームウェア240のデータを受信したサーバ1のシステム管理ボード11は、そのデータと共に送信された保証ファーム版数互換性テーブル116を参照する。
最新の版数のプログラムと動作保証される他のプログラムの版数を予め予想するのは困難であることから、保証ファーム版数互換性テーブル116は、何れかの1つのプログラムの更新により、更新対象とするサーバ1に格納させる必要がある。しかし、保証ファーム版数互換性テーブル116をファームウェアデータと共にサーバ1に送信させることで、管理者が各サーバ1に保証ファーム版数互換性テーブル116を予め格納させる必要性が回避される。保証ファーム版数互換性テーブル116は、直接、プログラムを更新する1台のサーバ1に格納させれば良い。そのため、保証ファーム版数互換性テーブル116をファームウェアデータと共にサーバ1に送信させることで、管理者の負担をより軽減させることができる。
図5は、本実施形態による情報処理装置を用いた場合に、各情報処理装置によって行われるプログラムの更新例を説明する図である。
図5に表す2つのクローズドネット50(50−1、50−2)は、例えばデータセンターであり、多くのサーバ1が設置されている。この2つのクローズドネット50は、例えば不図示のWAN(Wide Area Network)によって接続される。図5に表す例は、管理者によってサーバ1−11のプログラムが更新され、その更新によって、クローズドネット50−1では2台のサーバ1−12及び1−13のプログラムが更新され、クローズドネット50−2では、1台のサーバ1−21のプログラムが更新された状態を表している。
クローズドネット50−1のサーバ1−14〜1−17の更新フラグ117が更新の有効を表していた場合、これらサーバ1−14〜1−17のプログラムも随時、更新されることとなる。同様に、クローズドネット50−2のサーバ1−22〜1−27の更新フラグ117が更新の有効を表していた場合、これらサーバ1−22〜1−27のプログラムも随時、更新されることとなる。
図6は、プログラムを更新したサーバ、及びプログラムを更新するサーバ別に、システム管理ボード、及びシステムボードが実行する処理を表す図である。次に図6、更には図7〜図13を参照し、プログラムを更新したサーバ1−1、及びそのサーバ1−1によってプログラムを更新するサーバ1−2の動作について詳細に説明する。図6では、システム管理ボード11は「MMB」、システムボード12は「SB」と表記している。
サーバ1−1のシステム管理ボード11は、起動、或いは再起動により、他のサーバ1にプログラムを更新させるための更新管理処理を実行する(SM1)。この更新管理処理の実行時、サーバ1−1の一つのシステムボード12は、システム管理ボード11からの要求に対応するための処理を行う(SS1)。
一方、サーバ1−2のシステム管理ボード11は、サーバ1−1のシステム管理ボード11による更新管理処理の実行に対応して、プログラムの更新を必要に応じて行うためのMMB更新処理を実行する(SM2)。このMMB更新処理の実行時、サーバ1−2の1つのシステムボード12は、BIOS331、及びファームウェア332を必要に応じて更新するためのSB更新処理を実行する(SS2)。
サーバ1間のデータの送受信は、システム管理ボード11間で行われる。システムボード12から他のサーバ1に送信すべきデータは、システム管理ボード11、及びネットワーク3を介して行われる。SM1の更新管理処理、及びSM2のMMB更新処理は、共に、システム管理ボード11のCPU201が、ファームウェア240を実行することで実現される。SS1の対応する処理、及びSS2のSB更新処理は、共に、例えばMPU305がファームウェア332を実行することで実現される。
以降は、図7〜図13を参照して、プログラムを更新したサーバ、及びプログラムを更新するサーバの動作について詳細に説明する。
図13は、プログラムを更新したサーバ、及びプログラムを更新するサーバの間で行われるデータの送受信例を表すシーケンス図である。図13は、図7〜図12の説明と併せて説明する。
図7及び図8は、SM1として実行される更新管理処理のフローチャートである。
次に図7及び図8を参照し、この更新管理処理について詳細に説明する。
この更新管理処理は、上記のように、他のサーバ1にプログラムを更新させるために実行される処理である。プログラムを更新する対象となるサーバ1の台数は、0〜メッセージを受信可能なサーバ1の台数の間である。図7及び図8では、理解を容易とするために、1台のサーバ1のプログラムを更新する場合を想定し、実行する処理の流れを表している。
先ず、CPU201は、更新したファームウェア240の版数等を表すMMBファーム情報を格納したメッセージを作成し、作成したメッセージをLANインタフェース210によりブロードキャストさせる(SM11、図13のシーケンスS1)。その後、CPU201は、LANインタフェース210による応答の受信を監視し、何れかのサーバ1から応答を受信したか否か判定する(SM12)。何れかのサーバ1が応答を送信した場合、SM12の判定はYesとなってSM13に移行する。何れのサーバ1も応答を送信していない場合、SM12の判定はNoとなってSM19に移行する。
SM19では、CPU201は、規定時間を超えたか否か判定する。この規定時間は、他のサーバ1のプログラムの更新に限られた期間、対応するために設定された時間である。最初にMMBファーム情報を格納したメッセージを送信してから経過した時間がこの規定時間を超えていない場合、SM19の判定はNoとなり、上記SM11に戻る。それにより、CPU201は、再度メッセージの送信を行う。一方、最初にMMBファーム情報を格納したメッセージを送信してから経過した時間がこの規定時間を超えている場合、SM19の判定はYesとなり、ここで更新管理処理が終了する。
上記のように、応答を受信したサーバ1に対し、ファームウェア240のデータを送信する。SM13では、CPU201は、応答を受信したサーバ1にファームウェア240のデータを送信した実行回数が規定回数以下か否か判定する。その実行回数が規定回数以下であった場合、SM13の判定はyesとなってSM14に移行する。その実行回数が規定回数を超えていた場合、SM13の判定はNoとなり、ここで更新管理処理が終了する。その規定回数は、ファームウェア240の送信を無制限に行わないために設定された閾値である。
SM14では、CPU201は、応答を受信したサーバ1にファームウェア240のデータを送信させる(図13のシーケンスS3)。次にCPU201は、ファームウェア240のデータの送信先のサーバ1から受信が正常終了した旨のメッセージを受信したか否か判定する(SM15)。正常終了した旨のメッセージを受信した場合、SM15の判定はYesとなって図8のSM21に移行する。正常終了した旨のメッセージを受信しなかった場合、SM15の判定はNoとなってSM16に移行する。
SM16では、CPU201は、再送信を要求するメッセージを受信したか否か判定する。再送信を要求するメッセージを受信した場合、SM16の判定はYesとなってSM17に移行する。再送信を要求するメッセージを受信しなかった場合、SM16の判定はNoとなって上記SM14に戻る。それにより、CPU201は、ファームウェア240のデータを再度、送信させる。
SM17では、CPU201は、再送信を要求する旨のメッセージを同一のサーバ1(図7中「同一IP」と表記。IPは、Internet Protocolの略記である)から規定回数以上、受信したか否か判定する。再送信を要求する旨のメッセージを同一のサーバ1から規定回数以上、受信した場合、SM17の判定はYesとなり、次にCPU201は、再送信を要求する旨のメッセージを送信したサーバ1へのファームウェア240のデータの送信を停止させる(SM18)。その後、上記SM11に戻る。再送信を要求する旨のメッセージを同一のサーバ1から規定回数以上、受信していない場合、SM17の判定はNoとなり、上記SM14に戻る。
図8のSM21では、CPU201は、サーバ1からBIOS331、ファームウェア332の各データを要求するメッセージを受信したか否か判定する。そのメッセージを受信した場合、SM21の判定はYesとなってSM22に移行する。そのメッセージを受信しなかった場合、SM21の判定はNoとなって、図7のSM11に戻る。
SM22では、CPU201は、LANインタフェース220を介して、1つのシステムボード12にBIOS331、及びファームウェア332の各データを要求して取得し、取得した各データをLANインタフェース210から送信する(図13のシーケンスS6)。次にCPU201は、サーバ1から正常終了を表すメッセージを受信したか否か判定する(SM23)。正常終了を表すメッセージを受信した場合、SM23の判定はYesとなってSM24に移行する。正常終了を表すメッセージを受信しなかった場合、SM23の判定はNoとなってSM25に移行する。
SM24では、CPU201は、規定時間に到達したか否か判定する。最初にMMBファーム情報を格納したメッセージを送信してから経過した時間がこの規定時間に到達していた場合、SM24の判定はYesとなり、ここで更新管理処理が終了する。最初にMMBファーム情報を格納したメッセージを送信してから経過した時間がこの規定時間に到達していない場合、SM24の判定はNoとなって図7のSM11に戻る。
SM25では、CPU201は、再送信を要求するメッセージを受信したか否か判定する。再送信を要求するメッセージを受信した場合、SM25の判定はYesとなってSM26に移行する。再送信を要求するメッセージを受信しなかった場合、SM25の判定はNoとなって上記SM22に戻る。それにより、CPU201は、BIOS331、及びファームウェア332の各データを再度、送信させる。
SM26では、CPU201は、再送信を要求する旨のメッセージを同一のサーバ1から規定回数以上、受信したか否か判定する。再送信を要求する旨のメッセージを同一のサーバ1から規定回数以上、受信した場合、SM26の判定はYesとなり、次にCPU201は、再送信を要求する旨のメッセージを送信したサーバ1へのBIOS331、及びファームウェア332の各データの送信を停止させる(SM27)。その後、図7のSM11に戻る。再送信を要求する旨のメッセージを同一のサーバ1から規定回数以上、受信していない場合、SM26の判定はNoとなり、上記SM22に戻る。
上記SM22では、CPU201は、1つのシステムボード12に対し、BIOS331、及びファームウェア332の各データを要求する。その要求を受信したシステムボード12のMPU305は、実行中のファームウェア332を格納したメモリ321から、ファームウェア332、及びBIOS331の各データを読み出し、読み出した各データをLANインタフェース310に送信させる。図6に表すSS1の対応する処理では、システム管理ボード11からの要求に従い、BIOS331、及びファームウェア332の各データをシステム管理ボード11に送信する処理が行われる。
図9及び図10は、SM2として実行されるMMB更新処理のフローチャートである。次に図9及び図10を参照し、このMMB更新処理について詳細に説明する。
上記更新管理処理を実行するシステム管理ボード11上のCPU201は、SM1でMMBファーム情報を格納したメッセージをブロードキャストする。MMB更新処理は、そのメッセージの受信を契機に実行される。
先ず、CPU201は、受信したメッセージ中のMMBファーム情報が表すサーバ1のモデルが同じ種類のプログラムを実行するモデルか否か判定する(SM51)。メッセージを送信したサーバ1と更新対象とするプログラムの種類が一致する場合、SM51の判定はYesとなってSM52に移行する。メッセージを送信したサーバ1と更新対象とするプログラムの種類が一致しない場合、SM51の判定はNoとなり、ここでMMB更新処理が終了する。
SM52では、CPU201は、受信したメッセージ中のMMBファーム情報が表すファームウェア240の版数が現在、実行中のファームウェア240の版数より新しいか否か判定する。メッセージを送信したサーバ1がより新しい版数のファームウェア240に更新していた場合、SM52の判定はYesとなってSM53に移行する。メッセージを送信したサーバ1がより新しい版数のファームウェア240に更新していない場合、SM52の判定はNoとなり、ここでMMB更新処理が終了する。
SM53では、CPU201は、更新設定は有効か否か判定する。更新フラグ117が更新の有効を表していた場合、SM53の判定はYesとなってSM54に移行する。更新フラグ117が更新の有効を表していない場合、SM53の判定はNoとなり、ここでMMB更新処理が終了する。
SM54では、CPU201は、メッセージを受信したサーバ1に対し、LANインタフェース210を介して、ファームウェア240のデータを要求するメッセージを送信することで(図13のシーケンスS2)、要求したデータを取得する。次にCPU201は、取得したデータから計算したチェックサムが、取得したデータ中のチェックサムと一致するか否か判定する(SM55)。データを取得するまでの間にエラーが発生した場合、それらのチェックサムは不一致となることから、SM55の判定はNoとなってSM56に移行する。データを取得するまでの間にエラーが発生していなかった場合、SM55の判定はYesとなってSM57に移行する。
SM56では、CPU201は、チェックサムの不一致は規定回数以下か否か判定する。規定回数、ファームウェア240のデータを受信してもチェックサムが一致しなかった場合、SM56の判定はNoとなり、ここでMMB更新処理が終了する。規定回数、ファームウェア240のデータを受信していない場合、SM56の判定はYesとなって上記SM54に戻る。それにより、CPU201は、再度、ファームウェア240のデータの送信を要求する。
SM57では、CPU201は、受信したデータの展開を行い、ファームウェア240を復元し、復元したファームウェア240を、実行していないファームウェア240が格納されているメモリ231に書き込み、保証ファーム版数互換性テーブル116も同じメモリ231に書き込む。次にCPU201は、データの展開が正常に終了したか否か判定する(SM58)。ファームウェア240を正常にメモリ231に書き込めた場合、SM58の判定はYesとなって図10のSM59に移行する。ファームウェア240を正常にメモリ231に書き込めなかった場合、SM58の判定はNoとなって図10のSM65に移行する。
SM59では、CPU201は、LANインタフェース210に指示して、ファームウェア240のデータを送信したサーバ1に対し、更新成功を表すメッセージを送信させる(図13のシーケンスS4)。次にCPU201は、LANインタフェース210に指示して、管理端末装置2宛に、ファームウェア240の更新が成功した旨を通知させる(SM60)。更新が成功した旨の通知は、例えばメールにより行うことができる。
次にCPU201は、1つのシステムボード12に対し、LANインタフェース220を用いて、BIOS331、及びファームウェア332の各版数の通知を要求し、その要求により通知される各版数を確認する(SM61)。その確認後、CPU201は、メモリ231に格納した保証ファーム版数互換性テーブル116を参照し、更新したファームウェア240、並びにシステムボード12が実行するBIOS331、及びファームウェア332の組合せが動作保証されているか否か判定する(SM62)。ファームウェア240、BIOS331、及びファームウェア332が動作保証されていない組合せであった場合、SM62の判定はNoとなってSM63に移行する。それらが動作保証されている組合せであった場合、SM62の判定はYesとなり、ここでMMB更新処理が終了する。
SM63では、CPU201は、LANインタフェース210を用いて、ファームウェア240のデータを受信したサーバ1に対し、BIOS331,及びファームウェア332の各データを要求するメッセージを送信させる(図13のシーケンスS5)。そのメッセージを受信したサーバ1からBIOS331、ファームウェア332の各データを受信すると、CPU201は、LANインタフェース220を用いて、受信した各データを各システムボード12に送信させ、更新を指示する。更新を指示した後、CPU201は、何れかのシステムボード12からBIOS331、及びファームウェア332の各データの送信が要求されたか否か判定する(SM64)。
各システムボード12のMPU305は、送信されたBIOS331,及びファームウェア332の各データから復元したBIOS331、及びファームウェア332を、実行していないファームウェア332が格納されているメモリ321に書き込む。MPU305は、LANインタフェース310を用いて、そのようにして行ったBIOS331,及びファームウェア332の更新結果をシステム管理ボード11に通知する。BIOS331、及びファームウェア332のうちの少なくとも一方を正常にメモリ321に格納できなかったMPU305は、BIOS331、及びファームウェア332の各データの送信をシステム管理ボード11に要求する。BIOS331、及びファームウェア332を正常にメモリ321に格納できたMPU305は、更新成功をシステム管理ボード11に通知する。
このようなことから、何れかのシステムボード12がBIOS331、或いはファームウェア332を適切に更新できなかった場合、SM64の判定はYesとなって上記SM63に戻る。その場合、CPU201は、BIOS331、或いはファームウェア332を適切に更新できなかったシステムボード12にのみ、BIOS331、及びファームウェア332の各データを送信する。BIOS331、及びファームウェア332を適切に更新できなかったシステムボード12が存在しない場合、SM64の判定はNoとなり、BIOS331、及びファームウェア332の更新成功を表すメッセージをサーバ1に送信した(図13のシーケンスS7)後、MMB更新処理が終了する。
図9のSM58の判定がNoとなって移行する図10のSM65では、CPU201は、展開異常が規定回数以上となったか否か判定する。規定回数以上、展開異常が継続して発生した場合、SM65の判定はYesとなってSM66に移行する。規定回数以上、展開異常が継続して発生していない場合、SM65の判定はNoとなって図9のSM57に戻る。
SM66では、CPU201は、LANインタフェース210を用いて、管理端末装置2宛に、ファームウェア240の更新が成功しない異常が発生している旨を通知させる。更新が成功しない異常が発生している旨の通知は、例えばメールにより行うことができる。そのような通知を行った後、MMB更新処理が終了する。
上記SM62の判定がYesとなった場合、BIOS331、及びファームウェア332の各版数の通知を要求したシステムボード12に対し、BIOS331、及びファームウェア332の更新が必要でない旨が通知される。SM62の判定がNoとなった場合、各システムボード12に対し、BIOS331、及びファームウェア332の更新が必要な旨が通知される。それにより、 SM63でのBIOS331,及びファームウェア332の各データの要求は、何れかのシステムボード12からの要求によって行われる。
図11及び図12は、SS2として実行されるSB更新処理のフローチャートである。最後に図11及び図12を参照し、このSB更新処理について詳細に説明する。
図10のSM61では、BIOS331、及びファームウェア332の各版数の通知の要求が1つのシステムボード12に対して行われる。図11及び図12に表すSB更新処理は、その通知の要求を契機に、MPU305が実行する処理である。
先ず、MPU305は、システム管理ボード11から、BIOS331、及びファームウェア332の各版数の通知が要求されたか否か判定する(SS11)。各版数の通知がシステム管理ボード11から要求された場合、SS11の判定はYesとなってSS12に移行する。各版数の通知がシステム管理ボード11から要求されていない場合、SS11の判定はNoとなり、ここでSB更新処理が終了する。
SS12では、MPU305は、LANインタフェース310を用いて、要求された各版数を表す情報をシステム管理ボード11に送信する。次にMPU305は、その後にシステム管理ボード11から、BIOS331、及びファームウェア332の更新が必要な旨を表すメッセージを受信したか否か判定する(SS13)。図10のSM62の判定がNoとなった場合、更新が必要な旨を表すメッセージをシステム管理ボード11は各システムボード12に送信することから、SS13の判定はYesとなってSS14に移行する。図10のSM62の判定がYesとなった場合、更新が必要でない旨を表すメッセージをシステムボード12は自システム管理ボード11宛に送信することから、SS13の判定はNoとなり、ここでSB更新処理が終了する。
SS14では、MPU305は、LANインタフェース310を用いて、システム管理ボード11にBIOS331、及びファームウェア332の各データの送信を要求する。次のSS15では、MPU305は、システム管理ボード11からBIOS331、及びファームウェア332の各データを受信するのを待って、受信した各データから計算したチェックサムが、取得したデータ中のチェックサムと一致するか否か判定する。データを取得するまでの間にエラーが発生した場合、それらのチェックサムは不一致となることから、SS15の判定はNoとなってSS16に移行する。データを取得するまでの間にエラーが発生していなかった場合、SS15の判定はYesとなってSS17に移行する。
SS16では、MPU305は、チェックサムの不一致は規定回数以下か否か判定する。規定回数、BIOS331、及びファームウェア332の各データを受信してもチェックサムが一致しなかった場合、SS16の判定はNoとなり、ここでSB更新処理が終了する。規定回数、BIOS331、及びファームウェア332の各データを受信していない場合、SS16の判定はYesとなって上記SS14に戻る。それにより、MPU305は、再度、BIOS331、及びファームウェア332の各データの送信を要求する。
SS17では、MPU305は、受信した各データの展開を行い、復元したBIOS331、及びファームウェア332ファームウェア240を、実行していないファームウェア332が格納されているメモリ321に書き込む。次にMPU305は、データの展開が正常に終了したか否か判定する(SS18)。BIOS331、及びファームウェア332を正常にメモリ231に書き込めた場合、SS18の判定はYesとなって図12のSS19に移行する。BIOS331,或いはファームウェア332を正常にメモリ321に書き込めなかった場合、SS18の判定はNoとなって図12のSS21に移行する。
SS19では、MPU306は、LANインタフェース310を用いて、システム管理ボード11に対し、BIOS331、及びファームウェア332の更新成功を表すメッセージを送信する。次にMPU305は、LANインタフェース310を用いて、システム管理ボード11に対し、管理端末装置2宛の更新成功の通知を依頼する(SS20)。その後、SB更新処理が終了する。
図11のSS18の判定がNoとなって移行する図12のSS21では、MPU305は、展開異常が規定回数以上となったか否か判定する。規定回数以上、展開異常が継続して発生した場合、SS21の判定はYesとなってSS22に移行する。規定回数以上、展開異常が継続して発生していない場合、SS21の判定はNoとなって図11のSS17に戻る。
SS22では、MPU305は、LANインタフェース310を用いて、BIOS331、及びファームウェア332の更新が成功しない異常が発生している旨の管理端末装置2宛への通知をシステム管理ボード11に依頼する。その後、SB更新処理が終了する。
なお、本実施形態では、各サーバ1に予め格納させる更新フラグ117により、プログラムの更新を行うか否かを制御するようにしているが、更新フラグ117のような制御情報は、MMBファーム情報、或いはファームウェア240のデータと共に送信させるようにしても良い。また、本実施形態では、プログラムの更新は、ファームウェア240→BIOS331及びファームウェア332、の順序で行うようになっているが、その順序で行わなくとも良い。ファームウェア240、BIOS331及びファームウェア332のなかで更新対象とすべきプログラムを任意に選択できるようにしても良い。動作保証させるプログラムの組合せは、ファームウェア240、BIOS331及びファームウェア332の組合せに限定されない。動作保証させるプログラムの組合せは、管理者が必要に応じて設定すれば良い。
また、本実施形態では、プログラムはより新しい版に更新(アップデート)することを想定としているが、より新しい版への更新を前提としなくとも良い。つまり、プログラムをより古い版に戻す更新を想定しても良い。図14に表すように、プログラムをより古い版に戻す更新でも、プログラムをより新しい版に更新する場合と同様に、各サーバ1にプログラムの更新を行わせることができる。プログラムのより新しい版への更新を有効とするか否か、及びプログラムのより古い版への更新を有効とするか否かは、例えば、それぞれ専用の更新フラグ117を用意することで制御することができる。
本発明を適用した1システムは、更新対象となるプログラムを記憶した第1の記憶部と、前記第1の記憶部に記憶されている前記プログラムとの組み合わせで実行される他のプログラムを記憶した第2の記憶部と、前記第1の記憶部に記憶されている前記プログラムの版別に、前記版のプログラムと動作保証されている前記他のプログラムの版を表す動作保証情報を記憶した第3の記憶部と、前記第1の記憶部に記憶されている前記プログラムの更新用データを保持している情報処理装置から該更新用データを取得して前記第1の記憶部に記憶されている前記プログラムを更新する更新部と、前記更新部が前記第1の記憶部に記憶されている前記プログラムを更新した場合に、前記動作保証情報を参照して、前記更新部による更新後のプログラムの版が前記第2の記憶部に記憶されている前記他のプログラムと動作保証されているか否か判定する判定部と、前記更新部による更新後のプログラムの版が前記第2の記憶部に記憶されている前記他のプログラムと動作保証されていないと前記判定部が判定した場合に、該他のプログラムの更新用データを保持している情報処理装置から該他のプログラムの更新用データを取得して該他のプログラムを更新する他の更新部と、を有する。

Claims (8)

  1. 更新対象となるプログラムを記憶した第1の記憶部と、
    前記プログラムの更新が有効か否かを表す設定情報を記憶した第2の記憶部と、
    ネットワークを介した通信を行うための通信部と、
    前記ネットワークと接続された第1の情報処理装置から、前記プログラムの第1の版を表す更新管理情報を前記通信部が受信した場合に、受信した前記更新管理情報が表す第1の版に基づいて、前記第1の記憶部に記憶された前記プログラムを更新すべきか否か判定する第1の判定部と、
    前記プログラムの更新が有効と前記設定情報が表しているか否か判定する第2の判定部と、
    前記プログラムを更新すべきと前記第1の判定部が判定し、且つ前記プログラムの更新が有効と前記設定情報が表していると前記第2の判定部が判定した場合に、前記通信部を用いて、前記第1の情報処理装置に前記プログラムの更新用データを要求して取得し、取得した前記更新用データを用いて、前記第1の記憶部に記憶されているプログラムを更新する更新部と、
    前記更新部が前記プログラムを更新した場合に、前記通信部を用いて前記更新管理情報を送信させ、送信させた前記更新管理情報を受信した第2の情報処理装置からの要求により、前記通信部を用いて前記更新用データを送信させる更新管理部と、
    を有することを特徴とする情報処理装置。
  2. 前記第1の記憶部には、前記プログラムを格納するための領域が複数、確保され、
    前記更新部は、現在、前記プログラムが記憶されている領域とは異なる領域に前記第1の版のプログラムを格納することにより、前記第1の記憶部に記憶されているプログラムを更新する、
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記プログラムとの組み合わせを考慮すべき他のプログラムを記憶した第3の記憶部と、
    前記プログラムの版別に、前記版のプログラムと動作保証されている前記他のプログラムの版を表す動作保証情報を記憶した第4の記憶部と、
    前記更新部が前記プログラムを更新した場合に、前記動作保証情報を参照し、前記第1の版のプログラムが前記他のプログラムと動作保証されているか否か判定する第3の判定部と、
    前記第1の版のプログラムが前記他のプログラムと動作保証されていないと前記第3の判定部が判定した場合に、前記通信部を用いて、前記第1の情報処理装置に前記他のプログラムの他の更新用データを要求して取得し、取得した前記他の更新用データを用いて、前記第3の記憶部に記憶されている前記他のプログラムを更新する他の更新部と、
    を更に有することを特徴とする請求項1、または2記載の情報処理装置。
  4. 前記第3の記憶部には、前記他のプログラムを格納するための領域が複数、確保され、
    前記他の更新部は、現在、前記他のプログラムが記憶されている領域とは異なる領域に前記他の更新用データによる他のプログラムを格納することにより、前記第3の記憶部に記憶されている前記他のプログラムを更新する、
    ことを特徴とする請求項3記載の情報処理装置。
  5. 前記動作保証情報は、前記他の更新用データと共に送信され、前記第4の記憶部に記憶される、
    ことを特徴とする請求項3、または4記載の情報処理装置。
  6. 前記プログラム、及び前記他のプログラムは、前記情報処理装置に搭載されている異なる種類の処理モジュールに実行される、
    ことを特徴とする請求項3、4、または5記載の情報処理装置。
  7. ネットワークと接続された複数台の情報処理装置にプログラムを更新させる場合に、
    前記複数台の情報処理装置を個別に、前記プログラムの更新が有効か否か設定し、
    前記複数台の情報処理装置のうちの第1の情報処理装置に対して前記プログラムの更新を行い、
    前記複数台の情報処理装置のなかで前記プログラムの更新が有効と設定された各情報処理装置に、前記第1の情報処理装置、或いは前記第1の情報処理装置からの通知、及び前記プログラムの更新用データの送信により、前記プログラムを更新させる、
    ことを特徴とするプログラム更新方法。
  8. ネットワークを介した通信が可能な情報処理装置に、
    前記ネットワークと接続された第1の情報処理装置から、更新視対象となるプログラムの第1の版を表す更新管理情報を受信した場合に、受信した前記更新管理情報が表す第1の版に基づいて、第1の記憶部に記憶されたプログラムを更新すべきか否か判定する第1の判定を行い、
    第2の記憶部に記憶されている設定情報が前記プログラムの更新の有効を表しているか否か判定する第2の判定を行い、
    前記プログラムを更新すべきと前記第1の判定で判定し、且つ前記プログラムの更新が有効と前記設定情報が表していると前記第2の判定で判定した場合に、前記第1の情報処理装置に前記プログラムの更新用データを要求して取得し、取得した前記更新用データを用いて、前記第1の記憶部に記憶されているプログラムを更新し、
    前記プログラムを更新した場合に、前記更新管理情報を送信させ、送信させた前記更新管理情報を受信した第2の情報処理装置からの要求により、前記更新用データを送信させる、
    処理を実行させるプログラム。
JP2015506509A 2013-03-22 2013-03-22 情報処理装置、プログラム更新方法、及びプログラム Active JP6028851B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/058293 WO2014147817A1 (ja) 2013-03-22 2013-03-22 情報処理装置、プログラム更新方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6028851B2 JP6028851B2 (ja) 2016-11-24
JPWO2014147817A1 true JPWO2014147817A1 (ja) 2017-02-16

Family

ID=51579546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015506509A Active JP6028851B2 (ja) 2013-03-22 2013-03-22 情報処理装置、プログラム更新方法、及びプログラム

Country Status (3)

Country Link
US (1) US10083023B2 (ja)
JP (1) JP6028851B2 (ja)
WO (1) WO2014147817A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5741722B1 (ja) * 2014-01-28 2015-07-01 日本電気株式会社 情報処理装置、及び、情報処理方法
JP7081223B2 (ja) * 2018-03-07 2022-06-07 トヨタ自動車株式会社 マスタ装置、マスタ、ソフトウェアの整合性を確認するための方法及びプログラム、車両
CN108595195B (zh) * 2018-04-09 2022-01-21 国泰新点软件股份有限公司 一种应用程序更新方法、装置、终端和储存介质
JP2020017059A (ja) * 2018-07-25 2020-01-30 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US11397815B2 (en) * 2018-09-21 2022-07-26 Hewlett Packard Enterprise Development Lp Secure data protection
US11100230B1 (en) 2019-12-31 2021-08-24 Management Services Group, Inc. Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883229A (ja) 1994-09-13 1996-03-26 Matsushita Electric Ind Co Ltd ネットワーク管理システム
JPH08249163A (ja) 1995-03-13 1996-09-27 Toshiba Corp ネットワークシステムのソフトウェアバージョン管理装置
JP2001109619A (ja) 1999-10-12 2001-04-20 Fujitsu Ltd 複数計算機システムのマイクロプログラム版数自動一致方式
JP2004102379A (ja) * 2002-09-05 2004-04-02 Hitachi Ltd パッチ適用管理プログラム、方法、およびシステム
US7844721B2 (en) * 2005-11-23 2010-11-30 Qualcomm Incorporated Method for delivery of software upgrade notification to devices in communication systems
JP2008225933A (ja) * 2007-03-14 2008-09-25 Nec Corp パッチ同期化システム及びその方法並びにそれに用いる端末
US20090133014A1 (en) * 2007-11-16 2009-05-21 Nokia Corporation Methods, apparatuses and computer program product for automatic download of software dependencies on installation
JP2009230398A (ja) 2008-03-21 2009-10-08 Fuji Xerox Co Ltd ソフトウェア更新支援装置およびソフトウェア更新支援プログラム
JP2011095950A (ja) 2009-10-29 2011-05-12 Seiko Epson Corp ネットワークデバイス、ネットワークデバイスシステムおよびネットワークデバイスのソフトウェア更新方法
JP5564956B2 (ja) * 2010-01-15 2014-08-06 富士通株式会社 情報処理装置及び情報処理装置のファームウェア更新方法
WO2014070188A2 (en) * 2012-11-01 2014-05-08 Cooper Technologies Company Distribution of software updates in wireless multihop networks

Also Published As

Publication number Publication date
US20150378719A1 (en) 2015-12-31
JP6028851B2 (ja) 2016-11-24
WO2014147817A1 (ja) 2014-09-25
US10083023B2 (en) 2018-09-25

Similar Documents

Publication Publication Date Title
JP6028851B2 (ja) 情報処理装置、プログラム更新方法、及びプログラム
JP5564956B2 (ja) 情報処理装置及び情報処理装置のファームウェア更新方法
JP6556851B2 (ja) データベースシステム、サーバ装置、プログラムおよび情報処理方法
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
US11748163B2 (en) Control token and hierarchical dynamic control
JP2006268172A (ja) サーバシステムおよびオンラインソフトウェア更新方法
CN106657167B (zh) 管理服务器、服务器集群、以及管理方法
US20220237295A1 (en) Remote Attestation Method and Device for Composite Device
JP2005242691A (ja) プログラムダウンロード及び切替え方法及びその装置
US20200192767A1 (en) Methods, apparatuses and systems for cloud-based disaster recovery
JP2015158773A (ja) 仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム
JP2009176232A (ja) 起動装置、起動方法、及び、起動プログラム
CN106301877A (zh) 一种虚拟网元的升级方法和装置
US9880855B2 (en) Start-up control program, device, and method
KR102033489B1 (ko) 서버 클러스터 관리 방법 및 서버
US9853774B2 (en) System and method for restoring a status of an apparatus controlled by multiple commands
JP5670935B2 (ja) 分散データ管理システムおよびその動作方法
WO2012177597A1 (en) Networking elements as a patch distribution platform for distributed automation and control domains
CN114930313A (zh) 用于管理区块链节点的系统和方法
JP2020119325A (ja) ストレージシステム、及びストレージ制御装置
WO2024093328A1 (zh) 一种虚拟桌面连接方法及装置
JP2015106377A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5895043B1 (ja) クラスタシステム、クラスタ管理サーバおよびクラスタ管理用プログラム
JP7454919B2 (ja) 情報記憶装置、ソフトウェア更新方法、および、冗長化システム
CN111630500B (zh) 信息分布式存储系统、方法及程序

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161003

R150 Certificate of patent or registration of utility model

Ref document number: 6028851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150