(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179204
(43)【公開日】2024-12-26
(54)【発明の名称】ファームウェア更新システムおよびファームウェア更新方法
(51)【国際特許分類】
G06F 8/65 20180101AFI20241219BHJP
【FI】
G06F8/65
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023097864
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】荒井 将史
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA37
(57)【要約】
【課題】P2Pネットワークを構成する複数の制御装置のうちのいずれかが複数の制御装置における各ファームウェアをそれぞれ更新できるファームウェア更新システムを提供する。
【解決手段】ファームウェア更新システム30は、第1ファームウェアがそれぞれ設定されている複数の制御装置と、複数の制御装置との間にP2Pネットワークを構成しているリーダ制御装置50とを含むファームウェア更新システムであって、リーダ制御装置50は、複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、複数の制御装置による第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶する記憶部51を備え、制御装置40
1は、所定の時間ごとにファイルが記憶されているか否かを確認する確認部41と、ファイルが記憶されていることが確認された場合、記憶部51からピア情報を取得する取得部42とを備える。
【選択図】
図10
【特許請求の範囲】
【請求項1】
第1ファームウェアがそれぞれ設定されている複数の制御装置と、前記複数の制御装置との間にPeer to Peerネットワークを構成しているリーダ制御装置とを含むファームウェア更新システムであって、
前記リーダ制御装置は、
前記複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、前記複数の制御装置による前記第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶する記憶部を備え、
前記制御装置は、
所定の時間ごとに前記ファイルが記憶されているか否かを確認する確認部と、
前記ファイルが記憶されていることが確認された場合、前記記憶部から前記ピア情報を取得する取得部とを備える
ことを特徴とするファームウェア更新システム。
【請求項2】
記憶部は、第2ファームウェアを記憶し、
取得部は、複数の制御装置がいずれもまだ前記第2ファームウェアを取得していないことをピア情報が示す場合、前記記憶部から前記第2ファームウェアを取得する
請求項1記載のファームウェア更新システム。
【請求項3】
取得部は、複数の制御装置のうち任意の数の制御装置が第2ファームウェアを取得したことをピア情報が示す場合、前記任意の数の制御装置のうちのいずれかから前記第2ファームウェアを取得する
請求項1記載のファームウェア更新システム。
【請求項4】
制御装置は、第1ファームウェアを第2ファームウェアに更新する更新部と、更新が完了した後に完了メッセージをリーダ制御装置に送信する送信部とを備える
請求項2または請求項3記載のファームウェア更新システム。
【請求項5】
リーダ制御装置は、送信された完了メッセージを基に複数の制御装置による第2ファームウェアへの各更新状況をそれぞれ表示する表示部を備える
請求項4記載のファームウェア更新システム。
【請求項6】
第1ファームウェアがそれぞれ設定されている複数の制御装置と、前記複数の制御装置との間にPeer to Peerネットワークを構成し記憶部を備えるリーダ制御装置とを含むファームウェア更新システムにおいて実行されるファームウェア更新方法であって、
前記リーダ制御装置が、
前記複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、前記複数の制御装置による前記第2ファームウェアの各取得状況をそれぞれ示すピア情報とを前記記憶部に格納し、
前記制御装置が、
所定の時間ごとに前記ファイルが記憶されているか否かを確認し、
前記ファイルが記憶されていることが確認された場合、前記記憶部から前記ピア情報を取得する
ことを特徴とするファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ファームウェア更新システムおよびファームウェア更新方法に関し、特に多数の制御装置におけるファームウェアを更新するファームウェア更新システムおよびファームウェア更新方法に関する。
【背景技術】
【0002】
水道や工場等の様々な設備に対して、監視端末等の制御装置が備え付けられている。インフラストラクチャ(以下、インフラと呼ぶ。)施設やインフラ設備が複雑になるにつれて、備え付けられている制御装置は多くなる。
【0003】
運用する制御装置が増えると、運用担当者の負担は増加する。負担が増加すると、例えば、全ての制御装置におけるファームウェアを更新する作業において、運用担当者が一部の制御装置におけるファームウェアの更新を忘れる可能性がある。
【0004】
上記の問題を解決するために、Peer to Peer(以下、P2Pとも呼ぶ。)ネットワークを利用することによって制御装置におけるファームウェアを自動で更新する方法が考えられる。例えば、特許文献1には、環境ファームウェアまたはパッチデプロイシステムを動的に変更するためにスケーラブルで適応可能な方法および装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されている装置を使用すれば、運用担当者は、P2Pネットワークを構成する複数の制御装置における各ファームウェアをそれぞれ漏れなく更新できる。
【0007】
しかし、特許文献1では、P2Pネットワークを管理するサーバは、P2Pネットワークを構成していない。すなわち、特許文献1には、P2Pネットワークを構成する複数の制御装置のうちのいずれかがP2Pネットワークを管理し、制御装置におけるファームウェアを更新するサーバであるシステムが記載されていない。
【0008】
そこで、本開示は、P2Pネットワークを構成する複数の制御装置のうちのいずれかが複数の制御装置における各ファームウェアをそれぞれ更新できるファームウェア更新システムおよびファームウェア更新方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示によるファームウェア更新システムは、第1ファームウェアがそれぞれ設定されている複数の制御装置と、複数の制御装置との間にPeer to Peerネットワークを構成しているリーダ制御装置とを含むファームウェア更新システムであって、リーダ制御装置は、複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、複数の制御装置による第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶する記憶部を備え、制御装置は、所定の時間ごとにファイルが記憶されているか否かを確認する確認部と、ファイルが記憶されていることが確認された場合、記憶部からピア情報を取得する取得部とを備えることを特徴とする。
【0010】
本開示によるファームウェア更新方法は、第1ファームウェアがそれぞれ設定されている複数の制御装置と、複数の制御装置との間にPeer to Peerネットワークを構成し記憶部を備えるリーダ制御装置とを含むファームウェア更新システムにおいて実行されるファームウェア更新方法であって、リーダ制御装置が、複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、複数の制御装置による第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶部に格納し、制御装置が、所定の時間ごとにファイルが記憶されているか否かを確認し、ファイルが記憶されていることが確認された場合、記憶部からピア情報を取得することを特徴とする。
【発明の効果】
【0011】
本開示によれば、P2Pネットワークを構成する複数の制御装置のうちのいずれかが複数の制御装置における各ファームウェアをそれぞれ更新できる。
【図面の簡単な説明】
【0012】
【
図1】本開示に係るファームウェア更新システム1000の構成例を示すブロック図である。
【
図2】本開示に係る制御装置100の構成例を示すブロック図である。
【
図3】本開示に係るリーダ制御装置200の構成例を示すブロック図である。
【
図6】本開示に係るファームウェア更新システム1000によるファームウェア更新処理の動作を示すシーケンス図である。
【
図7】本開示に係るファームウェア更新システム1000によるファームウェア更新処理の動作を示すシーケンス図である。
【
図8】本開示による制御装置100のハードウェア構成例を示す説明図である。
【
図9】本開示によるリーダ制御装置200のハードウェア構成例を示す説明図である。
【
図10】本開示によるファームウェア更新システムの概要を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態を図面を参照して説明する。なお、本開示において図面は、1以上の実施形態に関連付けられる。
【0014】
[構成の説明]
図1は、本開示に係るファームウェア更新システム1000の構成例を示すブロック図である。
【0015】
ファームウェアを更新する一般的な方法は、例えば、新規ファームウェアを提供するサーバから多数の装置が新規ファームウェアをダウンロードする方法や、個々の装置に対して手動で新規ファームウェアに更新する方法である。
【0016】
本実施形態のファームウェア更新システム1000は、ファームウェアを更新する一般的な方法と比べて、ファームウェアを集中管理しているサーバや、制御装置の運用担当者の負担を減らすことができる。
【0017】
具体的には、本実施形態のファームウェア更新システム1000は、設備を制御する多数の制御装置における各ファームウェアの更新をP2P方式で行うことによって、サーバや制御装置の運用担当者の負担を減らすことができる。
【0018】
本実施形態のファームウェア更新システム1000は、特にP2P方式のうち、ビットトレントのプロトコル等で利用されているハイブリッドP2P方式を用いて、ファームウェアを更新する。なお、本実施形態における「多数」は、運用担当者の負担が大きい程度の数を意味する。
【0019】
図1に示すファームウェア更新システム1000は、複数の制御装置100
1~100
Nと、リーダ制御装置200とを含む(Nは2以上の自然数)。以下、複数の制御装置100
1~100
Nをまとめて制御装置100とも記載する。
【0020】
制御装置100は、ネットワーク接続が可能であって、十分な記憶容量を有する装置である。制御装置100は、例えば、IoT(Internet of Things)装置である。
【0021】
また、
図1に示すように、複数の制御装置100
1~100
Nとリーダ制御装置200とは、通信可能に接続されている。また、ファームウェアの更新時に、複数の制御装置100
1~100
Nおよびリーダ制御装置200は、
図1に示すP2Pネットワークを構成する。P2Pネットワークが構成される際、
図1に示すファームウェア更新システム1000は、リーダ制御装置200をサーバとするハイブリッドP2P方式を採用する。
【0022】
特に、P2Pネットワークを構成している制御装置をピアと呼ぶ。
図1に示す複数の制御装置100
1~100
Nおよびリーダ制御装置200は、全てピアに該当する。
【0023】
なお、以下の記載では、複数の制御装置1001~100Nおよびリーダ制御装置200がP2Pネットワークを構成していない場合も想定されている。本実施形態のファームウェア更新システム1000は、ハイブリッドP2P方式を用いて、ファームウェアの更新を複数の制御装置100に渡って行う。
【0024】
また、
図1に示すように、ファームウェア更新システム1000の運用担当者は、リーダ制御装置200を直接操作する。
【0025】
図2は、本開示に係る制御装置100の構成例を示すブロック図である。
図2に示す制御装置100は、通信部110と、制御部120と、記憶部130とを備える。
【0026】
通信部110は、他の制御装置およびコンピュータと通信する機能を有する。また、制御部120は、制御装置100を制御する機能を有する。
【0027】
記憶部130は、P2P接続部131と、監視部132と、記憶領域133とを有する。
P2P接続部131は、制御装置100がまだP2Pネットワークを構成していない場合にP2P方式でリーダ制御装置200に接続する機能を有する。
【0028】
また、監視部132は、リーダ制御装置200を所定時間ごとに監視し、後述する共有情報ファイルをダウンロードする機能を有する。
【0029】
また、記憶領域133には、制御装置100に設定されているファームウェア、および制御情報やログ等が格納されている。
【0030】
図3は、本開示に係るリーダ制御装置200の構成例を示すブロック図である。リーダ制御装置200は、新規ファームウェア、P2Pネットワークを構成している端末のIPアドレスやダウンロード状況等の情報、および共有するファイルに関する情報を示すファイルとファイルを提供するためのフォルダを保持する1つの制御装置である。
【0031】
図3に示すリーダ制御装置200は、リーダ通信部210と、リーダ制御部220と、リーダ記憶部230と、表示部240とを備える。
【0032】
リーダ通信部210は、他の制御装置およびコンピュータと通信する機能を有する。また、リーダ制御部220は、リーダ制御装置200を制御する機能を有する。
【0033】
リーダ記憶部230は、リーダP2P接続部231と、リーダ記憶領域232と、監視先フォルダ233とを有する。リーダP2P接続部231は、リーダ制御装置200がまだP2Pネットワークを構成していない場合にP2P方式で制御装置100に接続する機能を有する。
【0034】
また、リーダ記憶領域232には、リーダ制御装置200に設定されているファームウェア、後述するピア情報、および制御情報やログ等が格納されている。運用担当者が現在使用中のファームウェア(後述する第1ファームウェア)を新規ファームウェア(後述する第2ファームウェア)に更新した場合、新規ファームウェアは、リーダ記憶領域232に格納される。
【0035】
また、監視先フォルダ233には、運用担当者から共有情報ファイルがアップロードされる。なお、リーダ制御部220が、新規ファームウェア、ピア情報、および共有情報ファイルをリーダ記憶部230に格納する。
【0036】
本実施形態のファームウェア更新システム1000において、監視先フォルダ233を有する制御装置が、リーダ制御装置200に該当する。
【0037】
具体的には、ファームウェアの更新の前に、運用担当者は、複数の制御装置のうちいずれか1つの制御装置がピア情報と監視先フォルダ233を保持するように予め設定する。ピア情報と監視先フォルダ233を保持する制御装置がリーダ制御装置200になる。また、運用担当者は、リーダ制御装置200以外の制御装置100を、監視先フォルダ233を監視対象とするように設定する。
【0038】
また、一般的なP2P方式では、監視先フォルダにファイルがアップロードされたら、即時にダウンロード処理が開始される。しかし、制御装置100におけるファームウェアの更新頻度は一般的なソフトウェアの更新頻度より低いので、運用担当者は、数時間ごとに監視先フォルダ233を監視するように制御装置100を設定する。
【0039】
なお、本実施形態において共有情報ファイルを配布する役割は、リーダ制御装置200のみが有する代わりに、複数の制御装置100が有していてもよい。
【0040】
図4は、ピア情報の例を示す説明図である。
図4に示すように、ピア情報には、P2Pネットワークを構成する全てのピアのIP(Internet Protocol)アドレスおよびポート番号が含まれている。
【0041】
また、ピア情報には、全てのピアのダウンロード進行状況が含まれている。ダウンロード進行状況は、各ピアに関して「新規ファームウェアのダウンロードが完了」、「新規ファームウェアのダウンロードを実行中」、または「新規ファームウェアのアップロードを実行中」のいずれかを示す。
【0042】
なお、「新規ファームウェアのアップロードを実行中」は、新規ファームウェアを既にダウンロードした制御装置100が、新規ファームウェアをまだダウンロードしていない制御装置100に対して、P2P方式で新規ファームウェアをアップロードしている状態を表す。
【0043】
すなわち、ピア情報は、複数の制御装置1001~100Nによる新規ファームウェアの各取得状況をそれぞれ示している。
【0044】
図5は、共有情報ファイルの例を示す説明図である。
図5に示すように、共有情報ファイルには、ファイル名と、ファイルサイズと、ファイルのハッシュ値とが含まれている。
【0045】
共有情報ファイルには、新規ファームウェアに関する情報が含まれている。すなわち、共有情報ファイルは、複数の制御装置1001~100N用に新規ファームウェアが用意されていることを示している。
【0046】
ファイル名は、共有するファイル(新規ファームウェア)の名前である。また、ファイルサイズは、共有するファイルのサイズである。また、ファイルのハッシュ値は、共有するファイルの一意の識別子として使用される値である。
【0047】
共有情報ファイルを監視先フォルダ233から取得した制御装置100の制御部120は、共有情報ファイルを解析する。次いで、制御装置100の通信部110は、リーダ制御装置200との間でP2Pネットワークを構成していない場合、共有情報ファイルが示す新規ファームウェアのみに対してP2Pクライアント(ピア)の役割をするためのメッセージをリーダ制御装置200に送信する。
【0048】
送信されたメッセージがリーダ制御装置200に許可されたら、制御装置100は、共有情報ファイルの内容通りの新規ファームウェアのみに対してP2Pクライアントの役割を行う。次いで、制御装置100の通信部110は、リーダ制御装置200からピア情報を受け取る。
【0049】
P2Pクライアントとなった制御装置100同士で、
図1に示すP2Pネットワークが構成される。P2Pネットワーク上の制御装置100がリーダ制御装置200と通信する際、制御装置100の通信部110は、データのやり取りを行うことができるピアを示す情報(ピア情報)を取得する。次いで、通信部110は、データのやり取りを行うことができるピアからデータをダウンロードする。
【0050】
リーダ制御装置200のリーダ通信部210は、制御装置100から新規ファームウェアのダウンロード完了、または更新完了のメッセージを受信する。リーダ制御装置200の表示部240は、受信されたメッセージを基に制御装置100のファームウェアの更新状況をブラウザや専用アプリケーションで可視化する機能を有する。更新状況が可視化されると、運用担当者は、多数の制御装置100の各ファームウェアの更新状況を容易に確認できる。
【0051】
上述したように、本実施形態の制御装置100は、監視先に共有情報ファイルがアップロードされると、ハイブリッドP2P方式を利用してファームウェアを更新する機能を有する。
【0052】
また、本実施形態のリーダ制御装置200は、新規ファームウェアと、制御装置100のIPアドレス等や状態と、制御装置100の監視先になるフォルダとを保持する機能を有する。また、リーダ制御装置200は、適切なピアを生成することによってP2Pネットワークを管理する機能を有する。
【0053】
リーダ制御装置200以外のP2Pネットワークを構成する制御装置100は、監視先フォルダ233を監視し、共有情報ファイルがアップロードされた時に共有情報ファイルのダウンロードを開始する。
【0054】
次いで、制御装置100は、ダウンロードされた共有情報ファイルを解析する。解析の結果、新規ファームウェアを取得していないことが判定されたら、制御装置100は、リーダ制御装置200からピア情報を取得する。制御装置100は、取得されたピア情報を基にリーダ制御装置200、または新規ファームウェアを取得した別の制御装置100から更新対象の新規ファームウェアを取得できる。
【0055】
[動作の説明]
以下、本実施形態のファームウェア更新システム1000のファームウェアを更新する動作を
図6~7を参照して説明する。
図6~7は、本開示に係るファームウェア更新システム1000によるファームウェア更新処理の動作を示すシーケンス図である。
【0056】
なお、
図7に示す処理は、
図6に示す処理の後続の処理である。また、
図6~7に示す処理が開始される前に、制御装置100
1~100
2は、リーダ制御装置200との間でP2Pネットワークを構成していないものとする。
【0057】
最初に、運用担当者は、リーダ制御装置200におけるファームウェアのみを新規ファームウェアに更新する(ステップS101)。
【0058】
次いで、運用担当者は、新規ファームウェアに対応する共有情報ファイルを生成する。運用担当者は、生成された共有情報ファイルを、リーダ制御装置200のリーダ記憶部230に格納されている監視先フォルダ233にアップロードする(ステップS102)。
【0059】
次いで、制御装置1001の通信部110は、監視部132の指示により、所定の時間ごとにリーダ制御装置200の監視先フォルダ233に共有情報ファイルがアップロードされているか否かを監視する(ステップS103)。
【0060】
監視先フォルダ233に共有情報ファイルがアップロードされている場合、通信部110は、監視部132の指示により、リーダ制御装置200から共有情報ファイルをダウンロードする(ステップS104)。
【0061】
次いで、制御装置1001の制御部120は、ダウンロードされた共有情報ファイルを解析する。解析の結果が示す新規ファームウェアを制御装置1001自身が取得していないことを確認したら、P2P接続部131は、P2Pクライアントになるためのメッセージを生成する。次いで、通信部110は、P2P接続部131の指示により、P2Pクライアントになるためのメッセージをリーダ制御装置200に送信する(ステップS105)。
【0062】
次いで、リーダ制御装置200のリーダP2P接続部231は、送信されたメッセージを許可する。メッセージが許可されたら、通信部110は、リーダ制御装置200からピア情報をダウンロードする(ステップS106)。
【0063】
なお、最初から制御装置1001がリーダ制御装置200との間でP2Pネットワークを構成している場合、メッセージをリーダ制御装置200に送信する処理、および送信されたメッセージを許可する処理は省略される。
【0064】
次いで、制御装置1001のP2P接続部131は、ダウンロードされたピア情報を解析する。解析の結果、複数の制御装置1001~100Nがいずれもまだ新規ファームウェアをダウンロードしてないことをピア情報が示す場合、通信部110は、P2P接続部131の指示により、最初に新規ファームウェアを保持したリーダ制御装置200から新規ファームウェアをダウンロードする(ステップS107)。すなわち、P2P接続部131が、リーダP2P接続部231と新規ファームウェアを共有する。
【0065】
新規ファームウェアのダウンロードが完了した後、通信部110は、完了メッセージをリーダ制御装置200に送信する(ステップS108)。次いで、リーダ制御装置200のリーダP2P接続部231は、ピア情報に含まれている、完了メッセージを送信した制御装置1001に関するダウンロード進行状況の情報を更新する。
【0066】
次いで、制御装置1002の通信部110も、監視部132の指示により、所定の時間ごとにリーダ制御装置200の監視先フォルダ233に共有情報ファイルがアップロードされているか否かを監視する(ステップS109)。
【0067】
監視先フォルダ233に共有情報ファイルがアップロードされている場合、通信部110は、監視部132の指示により、リーダ制御装置200から共有情報ファイルをダウンロードする(ステップS110)。
【0068】
次いで、制御装置1002の制御部120は、ダウンロードされた共有情報ファイルを解析する。解析の結果が示す新規ファームウェアを制御装置1002自身が取得していないことを確認したら、P2P接続部131は、P2Pクライアントになるためのメッセージを生成する。次いで、通信部110は、P2P接続部131の指示により、P2Pクライアントになるためのメッセージをリーダ制御装置200に送信する(ステップS111)。
【0069】
次いで、リーダ制御装置200のリーダP2P接続部231は、送信されたメッセージを許可する。メッセージが許可されたら、通信部110は、リーダ制御装置200からピア情報をダウンロードする(ステップS112)。
【0070】
なお、最初から制御装置1002がリーダ制御装置200との間でP2Pネットワークを構成している場合、メッセージをリーダ制御装置200に送信する処理、および送信されたメッセージを許可する処理は省略される。
【0071】
次いで、制御装置1002のP2P接続部131は、ダウンロードされたピア情報を解析する。解析の結果、複数の制御装置1001~100Nのうち任意の数のピアが新規ファームウェアをダウンロードしたことをピア情報が示す場合、通信部110は、P2P接続部131の指示により、ダウンロードが完了した任意の数のピアから新規ファームウェアをダウンロードする。
【0072】
特に、通信部110は、ダウンロードが完了した任意の数のピアのうち、「新規ファームウェアのアップロードを実行中」ではないピアである制御装置1001から新規ファームウェアをダウンロードする(ステップS113)。すなわち、制御装置1002のP2P接続部131が、制御装置1001のP2P接続部131と新規ファームウェアを共有する。
【0073】
新規ファームウェアのダウンロードが完了した後、通信部110は、完了メッセージをリーダ制御装置200に送信する(ステップS114)。次いで、リーダ制御装置200のリーダP2P接続部231は、ピア情報に含まれている、完了メッセージを送信した制御装置1002に関するダウンロード進行状況の情報を更新する。
【0074】
図6~7に示す処理が繰り返し実行されることによって、多数の制御装置100における各ファームウェアが漏れなく更新される。
【0075】
なお、ステップS108やステップS114において、通信部110は、新規ファームウェアのダウンロードの完了メッセージだけでなく、更新完了メッセージも送信できる。すなわち、制御部120が新規ファームウェアへの更新を完了したら、通信部110は、更新完了メッセージを送信できる。
【0076】
リーダ制御装置200の表示部240は、受信した更新完了メッセージをブラウザや専用アプリケーションで可視化できる。表示部240が更新完了メッセージを可視化すると、運用担当者は、多数の制御装置100が新規ファームウェアへの更新を完了したことを確認できる。
【0077】
以上のように、本実施形態のファームウェア更新システム1000は、第1ファームウェアがそれぞれ設定されている複数の制御装置1001~100Nと、複数の制御装置1001~100Nとの間にPeer to Peerネットワークを構成しているリーダ制御装置200とを含む。
【0078】
リーダ制御装置200は、複数の制御装置1001~100N用に第2ファームウェアが用意されていることを示す共有情報ファイルと、複数の制御装置1001~100Nによる第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶するリーダ記憶部230を備える。
【0079】
制御装置100の通信部110は、所定の時間ごとに共有情報ファイルが記憶されているか否かを確認し、共有情報ファイルが記憶されていることが確認された場合、リーダ記憶部230からピア情報を取得する。
【0080】
また、リーダ記憶部230は、第2ファームウェアを記憶する。通信部110は、複数の制御装置1001~100Nがいずれもまだ第2ファームウェアを取得していないことをピア情報が示す場合、リーダ記憶部230から第2ファームウェアを取得する。
【0081】
また、通信部110は、複数の制御装置1001~100Nのうち任意の数の制御装置100が第2ファームウェアを取得したことをピア情報が示す場合、任意の数の制御装置100のうちのいずれかから第2ファームウェアを取得する。
【0082】
また、制御装置100は、第1ファームウェアを第2ファームウェアに更新する制御部120を備える。また、通信部110は、更新が完了した後に完了メッセージをリーダ制御装置200に送信する。
【0083】
また、リーダ制御装置200は、送信された完了メッセージを基に複数の制御装置1001~100Nによる第2ファームウェアへの各更新状況をそれぞれ表示する表示部240を備える。
【0084】
[効果の説明]
運用担当者が多数の制御装置における各ファームウェアを更新する場合、全ての制御装置に対してファームウェアを個別に更新することが求められるため、運用担当者の負担が大きくなる。また、ファームウェアの更新漏れが発生する可能性がある。
【0085】
また、新規ファームウェアを保有しているサーバに対して多数の制御装置が通信を行う場合、制御装置の数が多くなるほどサーバの負荷が増えるという問題もある。
【0086】
本実施形態のファームウェア更新システム1000は、複数の制御装置における各ファームウェアの更新をP2P方式で行うことによって運用担当者の負担を減らし、更新の漏れを無くすことを目的とする。
【0087】
複数の制御装置1001~100Nおよびリーダ制御装置200が構成するP2Pネットワークを利用することによって、ファームウェア更新システム1000は、多数の制御装置における各ファームウェアを自動的に更新できる。ファームウェア更新システム1000を利用すると、運用担当者は、運用対象の制御装置全てに対して個別にファームウェアを更新する手間を省くことができる。
【0088】
また、1つのサーバに対して多数の制御装置が集中的に通信を行う方式に比べて負荷が分散されるため、サーバ(リーダ制御装置200)の負荷が小さくなる。運用担当者は、1つの制御装置(リーダ制御装置200)におけるファームウェアを更新し、共有情報ファイルをアップロードするだけで、運用対象の全ての制御装置における各ファームウェアをそれぞれ更新できる。
【0089】
なお、本実施形態のファームウェア更新システム1000が使用される場合、ファームウェアがリーダ制御装置200の永続的な記憶領域に格納されるだけで、制御装置100の利用者は、ファームウェアを更新するか否かを自由に決めることもできる。
【0090】
例えば、ファームウェア更新システム1000全体に対して運用担当者は、「新規ファームウェアがダウンロードされたら確認無しに新規ファームウェアを適用させる設定」、または「新規ファームウェアがダウンロードされたら確認画面を表示する設定」を選択できる。後者の設定が選択され確認画面が表示されたとき、制御装置100の利用者は、ファームウェアを更新するかしないかのいずれかに決定できる。
【0091】
本実施形態のファームウェア更新システム1000は、インターネット接続が可能な複数の制御装置、特に装置間で通信を行う機能を有する複数の制御装置に対して利用されることが考えられる。
【0092】
以下、制御装置100のハードウェア構成の具体例を説明する。
図8は、本開示による制御装置100のハードウェア構成例を示す説明図である。
【0093】
図8に示す制御装置100は、CPU(Central Processing Unit )11と、主記憶部12と、通信部13と、補助記憶部14とを備える。また、ユーザが操作するための入力部15や、ユーザに処理結果または処理内容の経過を提示するための出力部16を備える。
【0094】
制御装置100は、
図8に示すCPU11が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現される。
【0095】
すなわち、CPU11が補助記憶部14に格納されているプログラムを、主記憶部12にロードして実行し、制御装置100の動作を制御することによって、各機能がソフトウェアにより実現される。
【0096】
なお、
図8に示す制御装置100は、CPU11の代わりにDSP(Digital Signal Processor)を備えてもよい。または、
図8に示す制御装置100は、CPU11とDSPとを併せて備えてもよい。
【0097】
主記憶部12は、データの作業領域やデータの一時退避領域として用いられる。主記憶部12は、例えばRAM(Random Access Memory)である。記憶部130は、主記憶部12により実現される。
【0098】
通信部13は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。通信部110は、通信部13により実現される。
【0099】
補助記憶部14は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
【0100】
入力部15は、データや処理命令を入力する機能を有する。入力部15は、例えばキーボードやマウス等の入力デバイスである。
【0101】
出力部16は、データを出力する機能を有する。出力部16は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【0102】
また、
図8に示すように、制御装置100において、各構成要素は、システムバス17に接続されている。
【0103】
補助記憶部14は、制御装置100において、制御部120を実現するためのプログラムを記憶している。
【0104】
なお、制御装置100は、例えば内部に
図2に示すような機能を実現するLSI(Large Scale Integration)等のハードウェア部品が含まれる回路が実装されてもよい。
【0105】
また、リーダ制御装置200のハードウェア構成の具体例を説明する。
図9は、本開示によるリーダ制御装置200のハードウェア構成例を示す説明図である。
【0106】
図9に示すリーダ制御装置200は、CPU21と、主記憶部22と、通信部23と、補助記憶部24とを備える。また、ユーザが操作するための入力部25や、ユーザに処理結果または処理内容の経過を提示するための出力部26を備える。
【0107】
リーダ制御装置200は、
図9に示すCPU21が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現される。
【0108】
すなわち、CPU21が補助記憶部24に格納されているプログラムを、主記憶部22にロードして実行し、リーダ制御装置200の動作を制御することによって、各機能がソフトウェアにより実現される。
【0109】
なお、
図9に示すリーダ制御装置200は、CPU21の代わりにDSPを備えてもよい。または、
図9に示すリーダ制御装置200は、CPU21とDSPとを併せて備えてもよい。
【0110】
主記憶部22は、データの作業領域やデータの一時退避領域として用いられる。主記憶部22は、例えばRAMである。リーダ記憶部230は、主記憶部22により実現される。
【0111】
通信部23は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。リーダ通信部210は、通信部23により実現される。
【0112】
補助記憶部24は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリが挙げられる。
【0113】
入力部25は、データや処理命令を入力する機能を有する。入力部25は、例えばキーボードやマウス等の入力デバイスである。
【0114】
出力部26は、データを出力する機能を有する。出力部26は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【0115】
また、
図9に示すように、リーダ制御装置200において、各構成要素は、システムバス27に接続されている。
【0116】
リーダ制御装置200において、補助記憶部24は、リーダ制御部220、および表示部240を実現するためのプログラムを記憶している。
【0117】
なお、リーダ制御装置200は、例えば内部に
図3に示すような機能を実現するLSI等のハードウェア部品が含まれる回路が実装されてもよい。
【0118】
また、制御装置100およびリーダ制御装置200は、CPU等の素子を用いるコンピュータ機能を含まないハードウェアにより実現されてもよい。例えば、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップ(例えば、上記のLSI)によって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0119】
また、制御装置100およびリーダ制御装置200の各構成要素の一部または全部は、演算部と記憶部とを備えた1つまたは複数の情報処理装置で構成されていてもよい。
【0120】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0121】
次に、本開示の概要を説明する。
図10は、本開示によるファームウェア更新システムの概要を示すブロック図である。本開示によるファームウェア更新システム30は、第1ファームウェアがそれぞれ設定されている複数の制御装置40
1~40
N(例えば、複数の制御装置100
1~100
N)と、複数の制御装置40
1~40
Nとの間にPeer to Peerネットワークを構成しているリーダ制御装置50とを含むファームウェア更新システムであって、リーダ制御装置50は、複数の制御装置40
1~40
N用に第2ファームウェアが用意されていることを示すファイルと、複数の制御装置40
1~40
Nによる第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶する記憶部51(例えば、リーダ記憶部230)を備え、制御装置40
1は、所定の時間ごとにファイルが記憶されているか否かを確認する確認部41(例えば、通信部110)と、ファイルが記憶されていることが確認された場合、記憶部51からピア情報を取得する取得部42(例えば、通信部110)とを備える。
【0122】
そのような構成のファームウェア更新システムが使用されると、P2Pネットワークを構成する複数の制御装置のうちのいずれかが複数の制御装置における各ファームウェアをそれぞれ更新できる。
【0123】
また、記憶部51は、第2ファームウェアを記憶し、取得部42は、複数の制御装置401~40Nがいずれもまだ第2ファームウェアを取得していないことをピア情報が示す場合、記憶部51から第2ファームウェアを取得してもよい。
【0124】
また、取得部42は、複数の制御装置401~40Nのうち任意の数の制御装置が第2ファームウェアを取得したことをピア情報が示す場合、任意の数の制御装置のうちのいずれかから第2ファームウェアを取得してもよい。
【0125】
そのような構成のファームウェア更新システムが使用されると、P2Pネットワークにおいてサーバの役割を有する制御装置の負荷が軽減される。
【0126】
また、制御装置401は、第1ファームウェアを第2ファームウェアに更新する更新部(例えば、制御部120)と、更新が完了した後に完了メッセージをリーダ制御装置50に送信する送信部(例えば、通信部110)とを備えてもよい。
【0127】
また、リーダ制御装置50は、送信された完了メッセージを基に複数の制御装置401~40Nによる第2ファームウェアへの各更新状況をそれぞれ表示する表示部(例えば、表示部240)を備えてもよい。
【0128】
そのような構成のファームウェア更新システムが使用されると、運用担当者が各制御装置のファームウェアの更新状況を容易に把握できる。
【0129】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【0130】
(付記1)
第1ファームウェアがそれぞれ設定されている複数の制御装置と、前記複数の制御装置との間にPeer to Peerネットワークを構成しているリーダ制御装置とを含むファームウェア更新システムであって、
前記リーダ制御装置は、
前記複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、前記複数の制御装置による前記第2ファームウェアの各取得状況をそれぞれ示すピア情報とを記憶する記憶部を備え、
前記制御装置は、
所定の時間ごとに前記ファイルが記憶されているか否かを確認する確認部と、
前記ファイルが記憶されていることが確認された場合、前記記憶部から前記ピア情報を取得する取得部とを備える
ことを特徴とするファームウェア更新システム。
【0131】
(付記2)
記憶部は、第2ファームウェアを記憶し、
取得部は、複数の制御装置がいずれもまだ前記第2ファームウェアを取得していないことをピア情報が示す場合、前記記憶部から前記第2ファームウェアを取得する
付記1記載のファームウェア更新システム。
【0132】
(付記3)
取得部は、複数の制御装置のうち任意の数の制御装置が第2ファームウェアを取得したことをピア情報が示す場合、前記任意の数の制御装置のうちのいずれかから前記第2ファームウェアを取得する
付記1記載のファームウェア更新システム。
【0133】
(付記4)
制御装置は、第1ファームウェアを第2ファームウェアに更新する更新部と、更新が完了した後に完了メッセージをリーダ制御装置に送信する送信部とを備える
付記2または付記3記載のファームウェア更新システム。
【0134】
(付記5)
リーダ制御装置は、送信された完了メッセージを基に複数の制御装置による第2ファームウェアへの各更新状況をそれぞれ表示する表示部を備える
付記4記載のファームウェア更新システム。
【0135】
(付記6)
第1ファームウェアがそれぞれ設定されている複数の制御装置と、前記複数の制御装置との間にPeer to Peerネットワークを構成し記憶部を備えるリーダ制御装置とを含むファームウェア更新システムにおいて実行されるファームウェア更新方法であって、
前記リーダ制御装置が、
前記複数の制御装置用に第2ファームウェアが用意されていることを示すファイルと、前記複数の制御装置による前記第2ファームウェアの各取得状況をそれぞれ示すピア情報とを前記記憶部に格納し、
前記制御装置が、
所定の時間ごとに前記ファイルが記憶されているか否かを確認し、
前記ファイルが記憶されていることが確認された場合、前記記憶部から前記ピア情報を取得する
ことを特徴とするファームウェア更新方法。
【0136】
(付記7)
リーダ制御装置が、
第2ファームウェアを記憶部に格納し、
制御装置が、
複数の制御装置がいずれもまだ前記第2ファームウェアを取得していないことをピア情報が示す場合、前記記憶部から前記第2ファームウェアを取得する
付記6記載のファームウェア更新方法。
【0137】
(付記8)
制御装置が、
複数の制御装置のうち任意の数の制御装置が第2ファームウェアを取得したことをピア情報が示す場合、前記任意の数の制御装置のうちのいずれかから前記第2ファームウェアを取得する
付記6記載のファームウェア更新方法。
【0138】
(付記9)
制御装置が、
第1ファームウェアを第2ファームウェアに更新し、
更新が完了した後に完了メッセージをリーダ制御装置に送信する
付記7または付記8記載のファームウェア更新方法。
【0139】
(付記10)
リーダ制御装置が、
送信された完了メッセージを基に複数の制御装置による第2ファームウェアへの各更新状況をそれぞれ表示する
付記9記載のファームウェア更新方法。
【0140】
以上、実施形態を参照して本開示を説明したが、本開示は上記の実施形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。そして、各実施形態は、適宜他の実施形態と組み合わせることができる。
【符号の説明】
【0141】
11、21 CPU
12、22 主記憶部
13、23、110 通信部
14、24 補助記憶部
15、25 入力部
16、26 出力部
17、27 システムバス
30、1000 ファームウェア更新システム
401~40N、100、1001~100N 制御装置
41 確認部
42 取得部
50、200 リーダ制御装置
51、130 記憶部
120 制御部
131 P2P接続部
132 監視部
133 記憶領域
210 リーダ通信部
220 リーダ制御部
230 リーダ記憶部
231 リーダP2P接続部
232 リーダ記憶領域
233 監視先フォルダ
240 表示部