(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154440
(43)【公開日】2024-10-31
(54)【発明の名称】管理システム、サーバ装置、および管理方法
(51)【国際特許分類】
G06F 8/65 20180101AFI20241024BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023068173
(22)【出願日】2023-04-19
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100132067
【弁理士】
【氏名又は名称】岡田 喜雅
(74)【代理人】
【識別番号】100141232
【弁理士】
【氏名又は名称】飯塚 達
(72)【発明者】
【氏名】飯島 淳一
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA07
5B376CA18
(57)【要約】
【課題】複数回分の更新ソフトウェアの適用を効率的に行う。
【解決手段】電子機器20で実行されるソフトウェアについての更新版である更新ソフトウェアが複数回リリースされている。このとき、サーバ装置10は、電子機器20でのソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数を決定し、決定された適用数に相当する回数分の更新ソフトウェアを含む累積更新ソフトウェアモジュールを作成して送信する。電子機器20は、サーバ装置10から送信された累積更新ソフトウェアモジュールを受信し、当該累積更新ソフトウェアモジュールに含まれている、上述した回数分の更新ソフトウェアをまとめて適用してソフトウェアを更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
電子機器と前記電子機器を管理するサーバ装置とを備える管理システムであって、
前記サーバ装置は、
前記電子機器で実行されるソフトウェアについての更新版である更新ソフトウェアが複数回リリースされている場合に、前記電子機器での前記ソフトウェアの更新においてまとめて適用可能な前記更新ソフトウェアの適用数を決定する決定部と、
前記決定部により決定された前記適用数に相当する回数分の前記更新ソフトウェアを含む累積更新ソフトウェアモジュールを作成する作成部と、
前記累積更新ソフトウェアモジュールを送信する送信部と
を備え、
前記電子機器は、
前記送信部により送信された前記累積更新ソフトウェアモジュールを受信する受信部と、
前記累積更新ソフトウェアモジュールに含まれている前記回数分の前記更新ソフトウェアをまとめて適用して前記ソフトウェアを更新する更新部と
を備える
ことを特徴とする管理システム。
【請求項2】
前記決定部は、前記電子機器が備える記憶部において前記ソフトウェアの更新に使用可能な記憶容量と、前記適用数に相当する回数分の前記更新ソフトウェアのデータサイズとの大小関係に基づいて、前記適用数を決定することを特徴とする請求項1に記載の管理システム。
【請求項3】
前記決定部は、前記電子機器から通知される前記記憶容量を用いて、前記適用数を決定することを特徴とする請求項2に記載の管理システム。
【請求項4】
前記サーバ装置は、前記電子機器において保持されている前記ソフトウェアのバージョンを管理する管理テーブルを更に備え、
前記決定部は、前記電子機器において保持されていることが前記管理テーブルに示されている前記バージョンの前記ソフトウェアの更新においてまとめて適用可能な前記更新ソフトウェアの適用数を決定する
ことを特徴とする請求項2または3に記載の管理システム。
【請求項5】
前記管理テーブルは、前記更新ソフトウェアのそれぞれのデータサイズの情報が含まれており、
前記決定部は、前記適用数に相当する回数分の前記更新ソフトウェアのそれぞれについての前記データサイズを前記管理テーブルから取得して前記データサイズの合計値を算出し、前記記憶容量と前記合計値との大小関係に基づいて、前記適用数を決定する
ことを特徴とする請求項4に記載の管理システム。
【請求項6】
電子機器と前記電子機器を管理するサーバ装置とを備える管理システムにおける前記サーバ装置であって、
前記電子機器で実行されるソフトウェアについての更新版である更新ソフトウェアが複数回リリースされている場合に、前記電子機器での前記ソフトウェアの更新においてまとめて適用可能な前記更新ソフトウェアの適用数を決定する決定部と、
前記決定部により決定された前記適用数に相当する回数分の前記更新ソフトウェアを含む累積更新ソフトウェアモジュールを作成する作成部と、
前記累積更新ソフトウェアモジュールを送信する送信部と
を備えることを特徴とするサーバ装置。
【請求項7】
電子機器で実行されるソフトウェアについての更新版である更新ソフトウェアが複数回リリースされている場合に、前記電子機器を管理するサーバ装置が、
前記電子機器での前記ソフトウェアの更新においてまとめて適用可能な前記更新ソフトウェアの適用数を決定し、
決定された前記適用数に相当する回数分の前記更新ソフトウェアを含む累積更新ソフトウェアモジュールを作成して送信し、
前記電子機器が、
前記サーバ装置から送信された前記累積更新ソフトウェアモジュールを受信し、
前記累積更新ソフトウェアモジュールに含まれている前記回数分の前記更新ソフトウェアをまとめて適用して前記ソフトウェアを更新する
ことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理技術に関する。
【背景技術】
【0002】
機器に組み込まれているソフトウェアの更新に関する技術が幾つか知られている。例えば、機器の稼働状況に応じて更新のスケジューリングを行う技術や、機器の記憶部の空き容量に応じて各モジュールの更新順序を変更する技術が知られている(例えば特許文献1~特許文献2参照)。また、例えば、機器が備える記憶装置の空き容量に収まるように更新データを分割してダウンロードする技術が知られている(例えば特許文献3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-184242号公報
【特許文献2】特開2007-213189号公報
【特許文献3】特開2018-18307号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
機器に組み込まれているソフトウェアについての更新ソフトウェアが立て続けにリリースされることがある。このようなときに、先にリリースされた更新ソフトウェアの適用が完了するまで、後にリリースされた更新ソフトウェアを適用するための作業を進めることができず、更新ソフトウェアの適用が非効率となる場合がある。
【課題を解決するための手段】
【0005】
実施形態のひとつでは、管理システムが電子機器と当該電子機器を管理するサーバ装置とを備える。このサーバ装置は、決定部と作成部と送信部とを備える。決定部は、電子機器で実行されるソフトウェアについての更新版である更新ソフトウェアが複数回リリースされている場合に、当該電子機器での当該ソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数を決定する。作成部は、決定部により決定された適用数に相当する回数分の更新ソフトウェアを含む累積更新ソフトウェアモジュールを作成する。送信部は、この累積更新ソフトウェアモジュールを送信する。一方、電子機器は受信部と更新部とを備える。受信部は、送信部により送信された累積更新ソフトウェアモジュールを受信する。更新部は、この累積更新ソフトウェアモジュールに含まれている、上述した回数分の更新ソフトウェアをまとめて適用して、当該ソフトウェアを更新する。
【発明の効果】
【0006】
上記の態様によれば、複数回分の更新ソフトウェアの適用を効率的に行うことができる。
【図面の簡単な説明】
【0007】
【
図1】実施形態の一例としての管理システムの構成を示す図である。
【
図5】情報処理装置のハードウェア構成例を示す図である。
【
図6】ソフトウェア更新の処理手順の一例を示すシーケンス図である。
【
図7】ソフトウェア更新管理処理の処理内容の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0009】
初めに
図1について説明する。
図1は、実施形態の一例としての管理システムの構成を示している。
【0010】
管理システム1は、例えば、工場等の施設の構内に設置される。
【0011】
管理システム1は、サーバ装置10と、n台(但し、nは正の整数)の電子機器A20a、…、電子機器N20nとを構成要素として備えている。これらの構成要素は、例えばLANである通信ネットワーク30にいずれも接続されており、通信ネットワーク30を介してサーバ装置10と電子機器A20a、…、電子機器N20nとの間で各種のデータが授受可能に構成されている。なお、「LAN」とはLocal Area Networkの略語である。
【0012】
電子機器A20a、…、電子機器N20nは、例えば、PLCやデータ収集機器などといったIoT機器である。なお、「PLC」とはProgrammable Logic Controllerの略語であり、「IoT」とはInternet of Thingsの略語である。
【0013】
本実施形態では、電子機器A20a、…、電子機器N20nは同一の構成を備えているものとし、特に区別する必要がない場合には、電子機器A20a、…、電子機器N20nのそれぞれを、いずれも「電子機器20」と称することとする。
【0014】
サーバ装置10は電子機器20の管理を行う。例えば、サーバ装置10は、電子機器20で保持されており、当該電子機器20で実行されるソフトウェアの版(バージョン)を管理する。また、例えば、サーバ装置10は、当該ソフトウェアについての更新版である更新ソフトウェアを電子機器20に配布する。
【0015】
なお、サーバ装置10は、例えばインターネット(Internet)である通信ネットワーク40にも接続されている。通信ネットワーク40には更新ソフトウェア登録端末50が接続されている。更新ソフトウェア登録端末50は、例えば電子機器20の製造者が使用する端末であって、更新ソフトウェアをサーバ装置10に登録するために利用される。
【0016】
次に、サーバ装置10と電子機器20とのそれぞれの機能構成について説明する。
【0017】
図2はサーバ装置10の機能構成例を示している。このサーバ装置10は、決定部11と、作成部12と、送信部13と、更新ソフトウェア記憶部14と、管理テーブル15とを備えている。
【0018】
決定部11は、更新ソフトウェアが複数回リリースされている場合に、電子機器20での当該ソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数を決定する。
【0019】
作成部12は累積更新ソフトウェアモジュールを作成する。累積更新ソフトウェアモジュールとは、決定部11により決定された適用数に相当する回数分の更新ソフトウェアを含むソフトウェアモジュールである。
【0020】
送信部13は、作成部12により作成された累積更新ソフトウェアモジュールを電子機器20に宛てて送信する。
【0021】
更新ソフトウェア記憶部14は、更新ソフトウェア登録端末50から送られてくる更新ソフトウェアを記憶して保持する。
【0022】
管理テーブル15は、前述した更新ソフトウェアの各バージョンのデータサイズと、電子機器20で保持されているソフトウェアのバージョンとの管理に用いられるテーブルである。
【0023】
図3は管理テーブル15の一例を示している。この例について説明する。
【0024】
「対象」の欄には電子機器20についての識別情報が格納される。例えば、「電子機器A」とは、電子機器A20aについての識別情報である。
【0025】
「バージョン」の欄には、「対象」の欄で識別される電子機器20で実行されるソフトウェアについてリリースされた更新ソフトウェアのバージョンを表す情報が格納される。
図3の例では、電子機器A20aで実行されるソフトウェアについて、V1.0、V1.1、V1.2、及びV1.3の合計4つのバージョンの更新ソフトウェアがリリースされたことが表されている。
【0026】
「サイズ」の欄には、各バージョンの更新ソフトウェアのそれぞれのデータサイズの情報が格納される。
図3の例では、例えば、電子機器A20aで実行されるソフトウェアについての更新ソフトウェアのデータサイズは、V1.3のバージョンでは1.6MB(メガバイト)であることが表されている。
【0027】
「現在の状態」の欄には、「対象」の欄で識別される電子機器20で保持されているソフトウェアに対して直近に適用された更新ソフトウェアのバージョンを表す情報が格納される。
図3の例では、例えば、電子機器A20aで保持されているソフトウェアには、V1.1までのバージョンの更新ソフトウェアが適用済みであることが、「現在の状態」の欄における「現在」の表示が格納されている行の情報により表されている。
【0028】
管理テーブル15には以上の情報が含まれている。従って、管理テーブル15を参照することによって、電子機器20のそれぞれにおいて保持されているソフトウェアに対して直近に適用された更新ソフトウェアのバージョンや、未適用である更新ソフトウェアのバージョンを特定することが可能である。
【0029】
図4は電子機器20の機能構成例を示している。この電子機器20は、受信部21と、更新部22と、記憶部23とを備えている。
【0030】
受信部21は、サーバ装置10の送信部13により送信された累積更新ソフトウェアモジュールを受信する。
【0031】
更新部22は、累積更新ソフトウェアモジュールに含まれている、サーバ装置10の決定部11により決定された前述の適用数に相当する回数分の更新ソフトウェアを、電子機器20で実行されるソフトウェアにまとめて適用して当該ソフトウェアを更新する。
【0032】
記憶部23は、電子機器20が各種の情報処理を実行する際に使用される記憶領域を提供する。
【0033】
サーバ装置10の決定部11による前述の適用数の決定は、電子機器20で実行されるソフトウェアの更新に使用可能な記憶部23の記憶容量(空き容量)と、当該適用数に相当する回数分の更新ソフトウェアのデータサイズの大小関係に基づいて行われる。この空き容量は、電子機器20がサーバ装置10へ通知するようにしてもよい。
【0034】
次に、サーバ装置10及び電子機器20のハードウェア構成例について説明する。
【0035】
図5は情報処理装置60のハードウェア構成例を示している。この情報処理装置60を用いてサーバ装置10を構成することが可能であり、また、この情報処理装置60を用いて電子機器20を構成することも可能である。
【0036】
情報処理装置60は、CPU61、メモリ62、入力装置63、表示装置64、補助記憶装置65、第1通信I/F66、及び第2通信I/F67の各構成要素を備えている。これらの構成要素はいずれも内部バス68に接続されており、各構成要素間でデータの授受が可能であるように構成されている。なお、「CPU」とはCentral Processing Unitの略語である。また、「I/F」とはInterfaceの略称である。
【0037】
CPU61は、例えば、メモリ62を利用して所定のプログラムを実行することによって情報処理装置60の各構成要素を制御して、サーバ装置10及び電子機器20の各構成要素の機能の提供を可能にする。
【0038】
入力装置63は、例えば、指示の入力用のキーボード・ポインティングデバイスや、各データ測定用の各種のセンサ等である。
【0039】
表示装置64は、例えば、各種の情報の表示出力に用いられる。
【0040】
補助記憶装置65は、例えばフラッシュメモリやハードディスクドライブである。情報処理装置60は、補助記憶装置65にプログラム及びデータを格納しておき、それらをメモリ62にロードして使用することができる。
【0041】
第1通信I/F66は通信ネットワーク30に接続されており、通信ネットワーク30を介して行われる各種のデータの授受を管理する。
【0042】
第2通信I/F67は通信ネットワーク40に接続されており、通信ネットワーク40を介して行われる各種のデータの授受を管理する。
【0043】
情報処理装置60を用いてサーバ装置10を構成する場合には、CPU61が決定部11及び作成部12としての機能を提供し、第1通信I/F66が送信部13としての機能を提供し、補助記憶装置65が更新ソフトウェア記憶部14としての機能を提供する。なお、管理テーブル15は補助記憶装置65で保持される。
【0044】
また、情報処理装置60を用いて電子機器20を構成する場合には、第1通信I/F66が受信部21としての機能を提供し、CPU61が更新部22としての機能を提供し、補助記憶装置65が記憶部23としての機能を提供する。
【0045】
なお、情報処理装置60を用いてサーバ装置10や電子機器20を構成する場合、情報処理装置60が
図5に示されている全ての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略してもよい。例えば、電子機器20は通信ネットワーク40と直接には接続しないので、情報処理装置60を用いて電子機器20を構成する場合に第2通信I/F67を省略するようにしてもよい。
【0046】
次に、
図1の管理システム1において行われる、電子機器20で保持されているソフトウェアの更新の処理手順の一例について、
図6のシーケンス図を参照しながら説明する。
【0047】
まず、電子機器20で保持されているソフトウェアについての新たな更新ソフトウェアがリリースされると、当該更新ソフトウェアのサーバ装置10への登録が更新ソフトウェア登録端末50により行われる(S100の矢印)。このとき、サーバ装置10では、登録された更新ソフトウェアを更新ソフトウェア記憶部14に記憶する処理が行われる。また、このとき、サーバ装置10では、新たに登録された更新ソフトウェアについて、更新対象となるソフトウェアを保持している電子機器20の識別情報、バージョンの情報、及びデータサイズの情報を管理テーブル15に登録する処理が行われる。
【0048】
更新ソフトウェアの登録の後、電子機器20に対して、ソフトウェアの更新処理の実行可否の確認の要求がサーバ装置10により行われる(S101の矢印)。電子機器20は、この要求に対し、ソフトウェアの更新処理の実行が可能な状態であれば、実行可能状態であることを表している実行可能応答をサーバ装置10に返信する(S102の矢印)。
【0049】
サーバ装置10は、更新処理の実行可能応答を受け取ると、累積更新ソフトウェアモジュールの作成を行い(S103の矢印)、作成した累積更新ソフトウェアモジュールを電子機器20へ送付する(S104の矢印)。
【0050】
電子機器20は、受け取った累積更新ソフトウェアモジュールを用いてソフトウェアの更新処理を実行する(S105の矢印)。ソフトウェアの更新処理が完了すると、電子機器20は、更新処理の結果の通知をサーバ装置10に送付する(S106の矢印)。
【0051】
管理システム1が備えている電子機器20のそれぞれについて、電子機器20で保持されているソフトウェアの更新が、以上の手順で行われる。
【0052】
次に、サーバ装置10で行われるソフトウェア更新管理処理について説明する。
図7は、ソフトウェア更新管理処理の処理内容の一例を示すフローチャートである。このソフトウェア更新管理処理は、
図6のシーケンス図に示されている処理手順のうちのサーバ装置10により行われる処理手順を実現するための処理であり、電子機器20のそれぞれついて個別に行われる。
【0053】
図7に示されている処理を、
図5に例示したハードウェア構成を有する情報処理装置60を用いて構成したサーバ装置10に行わせる場合には、例えば、当該処理を記述したソフトウェア更新管理プログラムをCPU61に実行させるようにすればよい。
【0054】
図7の処理が開始されると、まず、S201では、電子機器20で保持されているソフトウェアに対して既に適用されたものよりも後のバージョンである、未適用の更新ソフトウェアが更新ソフトウェア記憶部14に登録されているかを判定する処理が行われる。
【0055】
S201の判定処理では、更新ソフトウェア記憶部14に登録されている更新ソフトウェアのバージョンと、直近に適用された更新ソフトウェアのバージョンとの前後関係に基づいて判定が行われる。なお、直近に適用された更新ソフトウェアのバージョンは、管理テーブル15を参照することによって取得される。
【0056】
このS201の判定処理において、未適用の更新ソフトウェアが登録されていると判定されたとき(判定結果がYESのとき)にはS203に処理を進める。一方、S201の判定処理において、未適用の更新ソフトウェアは登録されていないと判定されたとき(判定結果がNOのとき)にはS202に処理を進める。
【0057】
S202では、新たな更新ソフトウェアの登録を待つために、予め定めておいた所定時間だけ処理の実行を待機し、その後はS201へ処理を戻して、新たな更新ソフトウェアの登録の有無を確認する処理が再度行われる。
【0058】
S203では、管理テーブル15を参照して、未適用である更新ソフトウェアの個数を計数し、この個数を変数kに代入する処理が行われる。未適用である更新ソフトウェアの個数が変数kに代入されるので、変数kの値は正の整数である。
【0059】
S204では、ソフトウェアの更新処理の実行可否の確認の要求を電子機器20に宛てて送信する処理が行われる。このS204の処理は、
図6のシーケンス図におけるS101の手順に対応する処理である。
【0060】
このとき、電子機器20は、この要求を受信する処理を行い、この要求が受信されると、ソフトウェアの更新処理を実行する余裕があるか否かを、この時点での他の処理の実行状況に基づいて判定する処理を行う。その後、電子機器20は、この判定結果を示す情報を、当該要求に対する応答として、サーバ装置10へ宛てて送信する処理を行う。
【0061】
なお、ソフトウェアの更新処理を実行する余裕があることを示す応答を送信する場合、電子機器20は、記憶部23における、ソフトウェアの更新処理の実行に利用可能な記憶領域の容量(空き容量)を示す情報を、当該応答に含めて送信する。
【0062】
電子機器20において行われる上述した応答の処理は、
図6のシーケンス図におけるS102の手順に対応する処理である。
【0063】
S204の処理に続き、S205では、電子機器20でソフトウェアの更新処理の実行が可能か否かを、電子機器20から受け取る上述の応答に基づいて判定する処理が行われる。この判定処理において、更新処理の実行が可能と判定されたとき(判定結果がYESのとき)にはS207に処理を進める。一方、この判定処理において、更新処理の実行が不能と判定されたとき(判定結果がNOのとき)にはS206に処理を進める。
【0064】
S206では、電子機器20でソフトウェアの更新処理を実行する余裕の発生を待つために、予め定めておいた所定時間だけ処理の実行を待機し、その後はS201へ処理を戻して、未適用の更新ソフトウェアの登録の有無を確認する処理が改めて行われる。
【0065】
S207では、電子機器20から受け取った前述の応答から、電子機器20でソフトウェアの更新処理の実行に利用可能な記憶部23の記憶容量(空き容量)を取得する処理が行われる。
【0066】
S208では、未適用であるk回分の更新ソフトウェアを電子機器20で保持されているソフトウェアへ適用する更新処理を、S207の処理で取得した記憶部23の空き容量で実行可能か否かを判定する処理が行われる。
【0067】
このS208の判定処理では、まず、電子機器20で保持されているソフトウェアに対して未適用であるk回分の更新ソフトウェアのそれぞれのデータサイズを管理テーブル15から取得し、取得したデータサイズの合計値が算出される。そして、算出した合計データサイズと、S207の処理で取得した空き容量との大小判定が行われる。ここで、合計データサイズが空き容量以下である場合には更新処理の実行が可能との判定が下される。一方、合計データサイズが空き容量よりも大きい場合には更新処理の実行は不能との判定が下される。
【0068】
S208の判定処理において、未適用であるk回分の更新ソフトウェアを適用する更新処理の実行が可能と判定されたとき(判定結果がYESのとき)には、S209に処理を進める。一方、S208の判定処理において、未適用であるk回分の更新ソフトウェアを適用する更新処理の実行は不能と判定されたとき(判定結果がNOのとき)には、S210に処理を進める。
【0069】
S208の判定結果がYESとなったときの変数kの値が、電子機器20でのソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数となる。そこで、S209では、未適用であるk回分の更新ソフトウェアを1つのモジュールにまとめた累積更新ソフトウェアモジュールを作成する処理が行われ、その後はS213に処理を進める。
【0070】
一方、S210では、この処理時点での変数kの値が1であるか否かを判定する処理が行われる。
【0071】
このS210の処理の判定結果がYESのとき、すなわち、変数kの値が1であって、直近に実行されたS208の判定処理において未適用である1回分の更新ソフトウェアを適用する更新処理の実行が不能と判定されていたときには、S211に処理を進める。そして、S211において、電子機器20でソフトウェアの更新処理の実行に利用可能な記憶部23の空き容量の増加を待つために、予め定めておいた所定時間だけ処理の実行を待機する。その後はS201へ処理を戻して、未適用の更新ソフトウェアの登録の有無の確認以降の処理が改めて行われる。
【0072】
一方、S210の処理の判定結果がNOのとき、すなわち、変数kの値が1よりも大きいと判定されたときには、S212に処理を進め、このときの変数kの値から1を減算して得られる値を、変数kに改めて代入する処理が行われる。その後は、S208へ処理を戻して、未適用であるk回分の更新ソフトウェアを適用する更新処理の実行が電子機器20で実行可能か否かを判定する処理が改めて行われる。
【0073】
例えば、S208の判定処理の実行時点での変数kの値が「3」であるときには、このS208の処理では、未適用である3回分の更新ソフトウェアを適用する更新処理の実行が可能か否かの判定が行われる。この判定において更新処理の実行が不能と判定された場合には、S210の判定処理に続いて実行されるS212の処理により変数kの値は「2」に変更される。従って、このS212の処理の直後に改めて実行されるS208の処理では、未適用である2回分の更新ソフトウェアを適用する更新処理の実行が可能か否かの判定が行われる。
【0074】
以上のように、S208、S210、及びS212の各処理の実行によって、電子機器20でのソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数の決定が行われる。
【0075】
以上までのS205からS212にかけて行われる処理は、
図6のシーケンス図におけるS103の手順に対応する処理である。
【0076】
S209の処理に続き、S213では、S209の処理によって作成された累積更新ソフトウェアモジュールを電子機器20に宛てて送信する処理が行われる。このS213の処理は、
図6のシーケンス図におけるS104の手順に対応する処理である。
【0077】
このとき、電子機器20は、この累積更新ソフトウェアモジュールを受信する処理を行う。この処理は、電子機器20が備えている受信部21が行う処理である。次に、電子機器20は、この処理時点の変数kの値で示される適用数に相当する回数分の更新ソフトウェアを、受信した累積更新ソフトウェアモジュールから取り出して、更新対象のソフトウェアにまとめて適用して当該ソフトウェアを更新する処理を行う。この処理は、電子機器20が備えている更新部22が行う処理である。
【0078】
電子機器20において行われる上述した更新の処理は、
図6のシーケンス図におけるS105の手順に対応する処理である。
【0079】
その後、電子機器20は、上述した更新の処理が終了してソフトウェアの更新が適切に行われた場合に、所定の更新処理結果通知をサーバ装置10に宛てて送信する処理を行う。この通知の送信の処理は、
図6のシーケンス図におけるS106の手順に対応する処理である。
【0080】
一方、サーバ装置10では、S213の処理に続き、S214において、電子機器20でソフトウェアの更新処理が適切に行われて更新処理結果通知の送信が行われるまでに要する処理時間を待つために、予め定めておいた所定時間だけ処理の実行を待機する。そして、続くS215において、電子機器20から送信される更新処理結果通知を受信したか否かを判定する処理が行われる。
【0081】
このS215の判定処理において、更新処理結果通知を受信したと判定されたとき(判定結果がYESのとき)にはS216に処理を進める。一方、更新処理結果通知を受信していないと判定されたとき(判定結果がNOのとき)は、電子機器20でのソフトウェアの更新処理が適切に行われていないと判断してS213へ処理を戻して、累積更新ソフトウェアモジュールの送信以降の処理が再度行われる。
【0082】
S215の判定処理の結果がYESとなって、電子機器20でのソフトウェアの更新が適切に行われたことが確認されると、S216では、管理テーブル15における「現在の状況」の欄の情報を更新する処理が行われる。この処理により、「現在の状況」の欄における「現在」の表示の格納位置が、累積更新ソフトウェアモジュールに含まれている更新ソフトウェアのうちk進めたものに対応する位置に変更される。
【0083】
上述したS216の処理が完了すると、その後はS201へと処理を戻して、未適用の更新ソフトウェアの登録の有無の確認以降の処理が改めて行われる。
【0084】
以上までの処理がソフトウェア更新管理処理である。なお、この
図7の処理において、S207、S208、S210、S211、及びS212の各処理は、サーバ装置10が備えている決定部11が行う処理である。また、S209の処理はサーバ装置10が備えている作成部12が行う処理であり、S213の処理はサーバ装置10が備えている送信部13が行う処理である。
【0085】
以上のように、管理システム1では、更新ソフトウェアが複数回リリースされている場合には、ソフトウェアの更新においてまとめて適用可能な回数分の更新ソフトウェアを含む累積更新ソフトウェアモジュールがサーバ装置10から電子機器20に転送される。従って、複数回分の更新ソフトウェアを1回分ずつ転送する場合と比べて転送回数が削減されるので、更新データの転送処理に要する時間が少なくなり、複数回分の更新ソフトウェアの適用を効率的に行うことが可能になる。
【0086】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0087】
例えば、
図1に例示した構成では通信ネットワーク40に接続されている更新ソフトウェア登録端末50が、通信ネットワーク40の代わりに通信ネットワーク30に接続されている構成でもよい。
【0088】
また、例えば、
図3に例示した管理テーブル15で管理されている、電子機器20のそれぞれにおいて保持されているソフトウェアに対して直近に適用された更新ソフトウェアのバージョンの情報を、電子機器20自身で管理するようにしてもよい。また、このようにする場合には、サーバ装置10が
図7に例示したソフトウェア更新管理処理を実行するときに、電子機器20で直近に適用された更新ソフトウェアのバージョンの情報を、サーバ装置10から電子機器20に問い合わせるようにしてもよい。更には、電子機器20でのソフトウェアの更新においてまとめて適用可能な更新ソフトウェアの適用数の決定のための処理を、電子機器20自身で行うようにして、決定した適用数をサーバ装置10に通知するようにしてもよい。
【0089】
また、例えば、
図7に例示したソフトウェア更新管理処理におけるS207の処理では、電子機器20でソフトウェアの更新処理の実行に利用可能な記憶部23の空き容量を電子機器20から取得するようにしている。この代わりに、電子機器20の仕様や電子機器20で実行されている処理内容から推定される当該空き容量を用いて、電子機器20での更新処理の実行可否を判定するS208の処理をサーバ装置10が行うようにしてもよい。
【0090】
また、例えば、
図7に例示したソフトウェア更新管理処理では、電子機器20での更新処理においてまとめて適用可能な更新ソフトウェアの適用数を示す変数kの値を、未適用の更新ソフトウェア数から1ずつ減らしながら当該適用数の決定を行うようにしている。この代わりに、変数kのとり得る値の範囲である、1から未適用の更新ソフトウェア数までの範囲を探索範囲とする二分探索を行うようにして、当該適用数を見つけ出すようにしてもよい。
【0091】
また、例えば、更新対象のソフトウェアとの差分を更新ソフトウェアとする代わりに、更新対象のソフトウェアと置き換えられる全体のソフトウェアを更新ソフトウェアとするようにしてもよい。
【0092】
また、例えば、累積更新ソフトウェアモジュールとして更新ソフトウェアをまとめる方法は、複数回分の更新ソフトウェアを展開・統合し、一度の適用で複数回分がまとめて適用できるようにしてもよい。
【符号の説明】
【0093】
1 管理システム
10 サーバ装置
11 決定部
12 作成部
13 送信部
14 更新ソフトウェア記憶部
15 管理テーブル
20 電子機器
21 受信部
22 更新部
23 記憶部
20a 電子機器A
20n 電子機器N
30、40 通信ネットワーク
50 更新ソフトウェア登録端末
60 情報処理装置
61 CPU
62 メモリ
63 入力装置
64 表示装置
65 補助記憶装置
66 第1通信I/F
67 第2通信I/F
68 内部バス