(57)【特許請求の範囲】
【請求項１】
複数のＣＰＵを含んで構成され、外部システムに接続可能なマルチＣＰＵシステムにおいて、
ファームウェアと当該ファームウェアを識別する識別情報を含む識別ファイルとを結合した結合ファイルを前記外部システムから取得する取得部と、
前記取得部が取得した結合ファイルに含まれる識別情報を取得する識別情報取得部と、
識別情報と、動作対象のＣＰＵの指定、及び、そのＣＰＵに対して動作させる内容を表す動作情報とを記憶する記憶部と、
前記外部システムから送信される前記複数のＣＰＵのうち少なくともいずれか１つに対するアップグレードの指示に基づいて、前記識別情報取得部が取得した識別情報に対応する動作情報を前記記憶部から読み出して実行する更新制御部と、
を有することを特徴とするマルチＣＰＵシステム。
【請求項２】
前記記憶部は、前記記憶部から前記動作情報を読み出したＣＰＵに対して動作させる内容を表す前記動作情報を記憶する
ことを特徴とする請求項１に記載のマルチＣＰＵシステム。
【請求項３】
前記更新制御部は前記複数のＣＰＵのうち第１のＣＰＵが実行することによって行われるものであり、
前記識別情報が第1のＣＰＵで動作するファームウェアの識別情報である場合は、前記更新制御部は、第１のＣＰＵに接続される不揮発メモリに記憶されたファームウェアを前記結合ファイルに含まれる対応するファームウェアで更新し、
前記識別情報が前記複数のＣＰＵのうち第２のＣＰＵで動作するファームウェアの識別情報である場合は、前記更新制御部は、前記第１のＣＰＵに接続される不揮発メモリとは異なる不揮発メモリであり第２のＣＰＵに接続される不揮発メモリに記憶されたファームウェアを前記結合ファイルに含まれる対応するファームウェアで更新するよう前記第２のＣＰＵに命令を与えて実行させる、
ことを特徴とする請求項２に記載のマルチＣＰＵシステム。
【請求項４】
前記識別情報取得部が取得した識別情報が前記記憶部に記憶された識別情報にいずれも対応しない場合、前記更新制御部は、前記外部システムからの指示に基づいた前記マルチＣＰＵシステムに含まれるＣＰＵのアップグレードを実行せず、実行できない旨を前記外部システムに通知する
ことを特徴とする請求項１から３の何れか一項に記載のマルチＣＰＵシステム。
【請求項５】
外部システムから送信される、マルチＣＰＵシステムに含まれる複数のＣＰＵのうち少なくともいずれか１つに対応するアップグレードの指示に基づいて、
取得部は、前記外部システムから送信されるファームウェアと当該ファームウェアを識別する識別情報を含む識別ファイルとを結合した結合ファイルを取得し、
識別情報取得部は、前記取得部が取得した結合ファイルに含まれる識別情報を取得し、
更新制御部は、識別情報と、動作対象のＣＰＵの指定、及び、そのＣＰＵに対して動作させる内容を表す動作情報とを記憶する記憶部から前記識別情報取得部が取得した識別情報に対応する動作情報読み出して実行する
ことを特徴とするＣＰＵのアップグレード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を複数具備するマルチＣＰＵシステム及びＣＰＵのアップグレード方法に関する。
【背景技術】
【０００２】
４０Ｇｂｐｓ、１００Ｇｂｐｓのアプリケーションを実現するホットプラガブル光トランシーバの形状を規定する目的で策定されたＣＦＰ（Ｃ  Ｆｏｒｍ−ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）の業界合意ＭＳＡ（Ｍｕｌｔｉ  Ｓｏｕｒｃｅ  Ａｇｒｅｅｍｅｎｔ）において、オンライン・アップグレードの方法はオプション機能として規定されている。すなわち、１つのＣＰＵに対して、このＣＰＵで動作するファームウェア（ＣＰＵのファームウェア）を、１つの不揮発メモリ内に２面管理しながらオンライン・アップグレードする方法は、当業者によって広く知られるところである。
【０００３】
上述の方法において、図５に、２つのＣＰＵを含む、関連するマルチＣＰＵシステムの構成を示す。また、図６に、各ＣＰＵのファームウェアのオンライン・アップグレード（ＣＰＵオンライン・アップグレード）の動作を示す。図５において、ＣＰＵオンライン・アップグレードが必要な場合、外部システム１００は、ＣＰＵ４０１の新規のファームウェア８００又はＣＰＵ４１１の新規のファームウェア９００のいずれか一方若しくは両方を、バス切り替えスイッチ２００を介して、アップグレードの必要なＣＰＵに送信する。各ＣＰＵのファームウェアは、図６におけるステップＳ１０〜Ｓ８０の処理により、対応する新規のファームウェアでアップグレードされる。
【０００４】
上述の例は、ＣＰＵ数が２の場合である。アップグレードの必要なＣＰＵ数が３以上存在する場合、容易に理解されるように、ＣＰＵオンライン・アップグレードはアップグレードが必要なＣＰＵの数だけ、３以上繰り返される。すなわち、外部システムは、システム内のＣＰＵの数だけ、ＣＰＵとこのＣＰＵのファームウェアとの版数の組み合わせを管理しなければならない。
【０００５】
上述のファームウェアの版数管理を簡素化する方法として、例えば、特許文献１には、各ユニットの複数のファームウェアを１つの統合ファームウェアとし、全ユニットのバージョンアップを可能に、またバージョン管理を容易にし、バージョンアップ処理の効率化を図るシステムについて記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０１５３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した技術において、アップグレードされるべきＣＰＵを含んで構成されるマルチＣＰＵシステムの各ＣＰＵは、それに対応するファームウェアの版数等を管理しなければならず、ＣＰＵとそれに対応するファームウェアの版数との組み合わせを管理する負担は、ＣＰＵ数に応じて増大する。つまり、マルチＣＰＵシステムにおいては、ＣＰＵ数の増大に応じて、ＣＰＵとそれに対応するファームウェアの版数との組み合わせを管理する負担が増大するという問題がある。また、マルチＣＰＵシステムの管理の人為的過誤により、ＣＰＵが、誤ったファームウェアでアップグレードされることが想定される。その場合、誤ってアップグレードされたＣＰＵは、正常に起動できないという問題がある。
【０００８】
本発明は、このような事情に鑑みてなされたもので、その目的は、マルチＣＰＵシステムにおいて、ＣＰＵとそれに対応するファームウェアの版数との組み合わせの管理の煩雑さを解消し、ＣＰＵが、誤ったファームウェアでアップグレードされることを回避することができる、マルチＣＰＵシステム及びＣＰＵのアップグレード方法を提供することにある。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明の一態様は、複数のＣＰＵを含んで構成され、外部システムに接続可能なマルチＣＰＵシステムにおいて、ファームウェアと当該ファームウェアを識別する識別情報を含む識別ファイルとを結合した結合ファイルを取得する取得部と、前記取得部が取得した結合ファイルに含まれる識別情報を取得する識別情報取得部と、識別情報と、動作対象のＣＰＵの指定、及び、そのＣＰＵに対して動作させる内容を表す動作情報とを記憶する記憶部と、前記外部システムから送信される前記複数のＣＰＵのうち少なくともいずれか１つに対するアップグレードの指示に基づいて、前記識別情報取得部が取得した識別情報に対応する動作情報を前記記憶部から読み出して実行する更新制御部と、を有することを特徴とする。
【００１０】
また、本発明の一態様は、外部システムから送信されるマルチＣＰＵシステムに含まれるＣＰＵのアップグレードの指示に基づいて、取得部は、前記外部システムから送信されるファームウェアと当該ファームウェアを識別する識別情報を含む識別ファイルとを結合した結合ファイルを取得し、識別情報取得部は、前記取得部が取得した結合ファイルに結合された識別ファイルが含む識別情報を取得し、更新制御部は、識別情報と、動作対象のＣＰＵの指定、及び、そのＣＰＵに対して動作させる内容を表す動作情報とを記憶する記憶部から前記識別情報取得部が取得した識別情報に対応する動作情報読み出して実行することを特徴とする。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、マルチＣＰＵシステムにおいて、ＣＰＵとそれに対応するファームウェアの版数との組み合わせの管理の煩雑さを解消し、ＣＰＵが、誤ったファームウェアでアップグレードされることを回避することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態におけるマルチＣＰＵシステムの構成を示す概略ブロック図である。
【図２】アップグレードＩＤ判定テーブル１００の一例を示す図である。
【図３】本発明の一実施形態におけるマルチＣＰＵシステムのオンライン・アップグレードの動作を示すフローチャートである。
【図４】第２実施形態におけるマルチＣＰＵシステムの構成を示す概略ブロック図である。
【図５】関連するマルチＣＰＵシステムの構成を示す概略ブロック図である。
【図６】関連するマルチＣＰＵシステムのオンライン・アップグレードの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態による、マルチＣＰＵシステム及びＣＰＵオンライン・アップグレード方法について図面を参照して説明する。
【００１４】
図１は、本実施形態によるマルチＣＰＵシステムの構成を示す概略ブロック図である。図１を参照して本実施形態の構成を説明する。
外部システム１は、通信回線２により、マルチＣＰＵシステム３と接続する。マルチＣＰＵシステム３のＣＰＵオンライン・アップグレードを行う場合には、外部システム１は、ＣＰＵアップグレード命令とオンライン・アップグレード用ファイル７とを、通信回線２を介してマルチＣＰＵシステム３に送信する。
【００１５】
オンライン・アップグレード用ファイル７は、オンライン・アップグレード用の結合ファイルである。オンライン・アップグレード用ファイル７は、ファームウェア５と、アップグレードＩＤファイル５０１と、ファームウェア６と、アップグレードＩＤファイル６０１とを含んで構成される。ファームウェア５は、ＣＰＵ３０１をアップグレードするためのファームウェアである。アップグレードＩＤファイル５０１は、ファームウェア５の種類を表すファームウェア種別と、ファームウェア５のファイルのサイズを表すファームウェアサイズ情報とを含むファイルである。ファームウェア６は、ＣＰＵ３１１をアップグレードするためのファームウェアである。アップグレードＩＤファイル６０１は、ファームウェア６の種類を表すファームウェア種別と、ファームウェア６のファイルのサイズを表すファームウェアサイズ情報とを含むファイルである。
【００１６】
マルチＣＰＵシステム３は、ＣＰＵ３０１と、ＣＰＵ３０１のファームウェア３０４と、ファームウェア３０４を格納する不揮発メモリ３０２と、ＣＰＵ３０１で動作するファームウェア３０５と、ファームウェア３０５を格納する揮発メモリ３０３とを含んで構成される。ここで、ファームウェア３０５は、例えば、マルチＣＰＵシステム３を起動したときにＣＰＵ３０１が不揮発メモリ３０２からファームウェア３０４を読み出して揮発メモリ３０３に格納したものであり、実際にＣＰＵ３０１で動作するものである。
ＣＰＵ３０１は不揮発メモリ３０２及び揮発メモリ３０３と接続する。
【００１７】
また、マルチＣＰＵシステム３は、ＣＰＵ３１１と、ＣＰＵ３１１のファームウェア３１４と、ファームウェア３１４を格納する不揮発メモリ３１２と、ＣＰＵ３１１のファームウェア３１５と、ファームウェア３１５を格納する揮発メモリ３１３とを含んで構成される。ここで、ファームウェア３１５は、例えば、マルチＣＰＵシステム３を起動したときにＣＰＵ３１１が不揮発メモリ３１２からファームウェア３１４を読み出して揮発メモリ３１３に格納したものであり、実際にＣＰＵ３１１で動作するものである。
ＣＰＵ３１１は不揮発メモリ３１２及び揮発メモリ３１３と接続する。
さらに、ＣＰＵ３０１は通信回線４を介してＣＰＵ３１１と接続する。ＣＰＵ３０１は通信回線２を介して外部システム１と接続する。
【００１８】
揮発メモリ３０３はアップグレードＩＤ判定テーブル１０を有する。アップグレードＩＤ判定テーブル１０については、図２で説明する。
【００１９】
ＣＰＵ３０１は、外部システム１からＣＰＵアップグレード命令とオンライン・アップグレード用ファイル７とを受信して、アップグレードＩＤ判定テーブル１０の予め定めるところに従い処理を行う。オンライン・アップグレードを行う場合にＣＰＵ３０１が実行する処理については、後述する。
【００２０】
図２は、本実施形態における、アップグレードＩＤ判定テーブル１０の一例を示す図である。
アップグレードＩＤ判定テーブル１０は、ファームウェア種別とファームウェア種別判定後の処理の内容とを含んで構成される。ファームウェア種別とは、ファームウェアの種類を表す情報であり、ファームウェアの種類毎に異なる種類のファームウェア種別が与えられる。ファームウェア種別のうち、ＦＷａは、ＣＰＵ３０１のファームウェアのファームウェア種別を表す。ＣＰＵ３０１のファームウェア３０４とファームウェア５には、ファームウェア種別として、ＦＷａが割り当てられている。ＦＷｂは、ＣＰＵ３１１のファームウェアのファームウェア種別を表す。ＣＰＵ３１１のファームウェア３１４とファームウェア６には、ファームウェア種別として、ＦＷｂが割り当てられている。ファームウェア種別判定後の処理は、ファームウェア種別に対応付けられた処理である。ファームウェア種別判定後の処理は、ＣＰＵ３０１によって実行される。ＣＰＵ３０１は、ファームウェア種別を取得した後に、ファームウェア種別判定後の処理を実行する。
【００２１】
図３は、本実施形態における、マルチＣＰＵシステムのオンライン・アップグレードの動作を示すフローチャートである。図３を参照して本実施形態の動作を説明する。
本実施形態におけるマルチＣＰＵシステムのオンライン・アップグレードが開始されると、ステップＳ１において、外部システム１はＣＰＵ３０１に対してＣＰＵアップグレード命令を送る。
ステップＳ２において、外部システム１は、このＣＰＵアップグレード命令に対応するオンライン・アップグレード用ファイル７をＣＰＵ３０１へ送信する。
【００２２】
ステップＳ３において、ＣＰＵアップグレード命令を受けたＣＰＵ３０１は、揮発メモリ３０３に格納されたファームウェア３０５を実行することにより、オンライン・アップグレード用ファイル７に含まれるアップグレードＩＤファイル５０１を検出する。
さらに、ＣＰＵ３０１は、ファームウェア３０５を実行することにより、アップグレードＩＤファイル５０１が有するファームウェア種別を判定する。ここでは、ＣＰＵ３０１は、ファームウェア種別をＦＷａと判定する。
【００２３】
ステップＳ４において、ＣＰＵ３０１は、アップグレードＩＤ判定テーブル１０を参照し、ＦＷａで示されるファームウェア種別に対応付けられた、ファームウェア種別判定後の処理として定められている処理を実行する。具体的には、ＣＰＵ３０１は、ファームウェア３０５を実行することにより、不揮発メモリ３０２に格納されているファームウェア３０４をオンライン・アップグレード用ファイル７に含まれるファームウェア５でアップグレードする処理を行う。
【００２４】
ステップＳ５において、ＣＰＵ３０１は、揮発メモリ３０３に格納されたファームウェア３０５を実行することにより、オンライン・アップグレード用ファイル７に含まれるアップグレードＩＤファイル６０１を検出する。
さらに、ＣＰＵ３０１は、ファームウェア３０５を実行することにより、アップグレードＩＤファイル６０１が有するファームウェア種別を判定する。ここでは、ＣＰＵ３０１は、ファームウェア種別をＦＷｂと判定する。
【００２５】
ステップＳ６において、ＣＰＵ３０１は、アップグレードＩＤ判定テーブル１０を参照し、ＦＷｂで示されるファームウェア種別に対応付けられた、ファームウェア種別判定後の処理として定められている処理を実行する。具体的には、ＣＰＵ３０１は、通信回線４を介して接続するＣＰＵ３１１に対して、ＣＰＵ３１１のファームウェア３１５を実行して、不揮発メモリ３１２に格納されているファームウェア３１４をオンライン・アップグレード用ファイル７に含まれるファームウェア６でアップグレードするようにＣＰＵアップグレード命令を送る処理を行う。
ＣＰＵ３０１は、ＣＰＵ３１１にＣＰＵアップグレード命令を送信する際に、ＣＰＵアップグレード命令とともに、オンライン・アップグレード用ファイル７をＣＰＵ３１１に送信してもよい。
ＣＰＵ３０１は、ＣＰＵ３１１にＣＰＵアップグレード命令を送信する際に、ＣＰＵアップグレード命令とともにオンライン・アップグレード用ファイル７に含まれるファームウェア６をＣＰＵ３１１に送信してもよい。
ＣＰＵ３０１は、ＣＰＵ３１１にＣＰＵアップグレード命令を送信した後、ステップＳ７の処理を実行するまでの間に、オンライン・アップグレード用ファイル７あるいはオンライン・アップグレード用ファイル７に含まれるファームウェア６をＣＰＵ３１１に送ってもよい。
【００２６】
ステップＳ７において、ステップＳ６におけるＣＰＵアップグレード命令を受けたＣＰＵ３１１は、ＣＰＵアップグレード命令に基づき処理を実行する。具体的には、ＣＰＵ３１１は、ファームウェア３１５を実行することにより、不揮発メモリ３１２に格納されているファームウェア３１４をオンライン・アップグレード用ファイル７に結合されているファームウェア６でアップグレードする処理を行う。
このようにして、マルチＣＰＵシステム３の有するＣＰＵ３０１及びＣＰＵ３１１のオンライン・アップグレード処理が完了する。
【００２７】
図３のステップＳ３又はステップＳ５において、オンライン・アップグレード用ファイル７に含まれるアップグレードＩＤファイル５０１又はアップグレードＩＤファイル６０１が、ファームウェア種別としてＦＷａとＦＷｂのいずれも含まず、ファームウェア６又はファームウェア７のファームウェア種別が、ＦＷａとＦＷｂのいずれも該当しない場合は、ＣＰＵ３０１は、オンライン・アップグレード処理を実行せず、実行できない旨を外部システム１に通知するようにしてもよい。
【００２８】
なお、上述した実施形態では、説明が理解しやすいように、アップグレードされるＣＰＵ数を２としたが、ＣＰＵ数は２に限られるものではなく３以上であってもよい。その場合、外部システムと通信可能なＣＰＵ数も、１に限定されるものではなく、複数としてもよい。同様に、アップグレードされるファームウェアの種別数も、２に限られるものでないことは明白である。
【００２９】
次に、第２の実施形態について説明する。図４は、第２実施形態におけるマルチＣＰＵシステム３Ａの構成を示す概略ブロック図である。この図において、マルチＣＰＵシステム３Ａの外部には、外部システム１Ａが接続される。このマルチＣＰＵシステム３Ａは、複数のＣＰＵを含んで構成され、また、マルチＣＰＵシステム３Ａは、取得部１１と、識別情報取得部１２と、記憶部１３と、更新制御部１４とを含んで構成される。
【００３０】
取得部１１は、ファームウェアと当該ファームウェアを識別する識別情報を含む識別ファイルとを結合した結合ファイルを外部システムから取得する。識別情報取得部１２は、取得部１１が取得した結合ファイルに含まれる識別情報を取得する。記憶部１３は、識別情報と動作対象のＣＰＵに対して動作させる内容を表す動作情報とを記憶する。更新制御部１４は、外部システム１Ａから送信される複数のＣＰＵのうち少なくともいずれか１つに対するアップグレードの指示に基づいて、識別情報取得部１２が取得した識別情報に対応する動作情報を記憶部１３から読み出して実行する。
【００３１】
以上説明した各実施形態における構成は、通信事業者の商用の光ネットワーク網にて、ＣＦＰ ＭＳＡ １００Ｇ／４００Ｇ ＴＲＡＮＳＰＯＮＤＥＲデジタルコヒーレントモジュールの光ケーブルを終端するネットワーク機器の保守運用分野にも適用することができる。
【００３２】
上述した実施形態におけるマルチＣＰＵシステムの機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００３３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００３４】
１、１Ａ  外部システム
２、４  通信回線
３、３Ａ  マルチＣＰＵシステム
５、６  ファームウェアのアップグレードファイル
７  オンライン・アップグレード用ファイル
１０  アップグレードＩＤ判定テーブル
１１  取得部
１２  識別情報取得部
１３  記憶部
１４  更新制御部
３０１、３１１  ＣＰＵ
３０２、３１２  不揮発メモリ
３０３、３１３  揮発メモリ
３０４、３０５、３１４、３０５  ファームウェア
５０１、５０２  アップグレードファイルのアップグレードＩＤファイル
【図１】
0006485152.tif 000002
【図２】
0006485152.tif 000003
【図３】
0006485152.tif 000004
【図４】
0006485152.tif 000005
【図５】
0006485152.tif 000006
【図６】
0006485152.tif 000007