(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】機器、データ生成プログラム、およびデータ生成方法
(51)【国際特許分類】
G06F 16/182 20190101AFI20231017BHJP
【FI】
G06F16/182 100
(21)【出願番号】P 2019105043
(22)【出願日】2019-06-05
【審査請求日】2022-05-16
(73)【特許権者】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100132067
【氏名又は名称】岡田 喜雅
(74)【代理人】
【識別番号】100196656
【氏名又は名称】佐藤 康平
(72)【発明者】
【氏名】坂上 浩一
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2018-160207(JP,A)
【文献】特開2017-146873(JP,A)
【文献】特開2006-011781(JP,A)
【文献】特開2018-018273(JP,A)
【文献】特開2002-132523(JP,A)
【文献】特開2006-221274(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 8/00- 9/451
G06F 12/00-12/06
G06F 13/16-13/18
(57)【特許請求の範囲】
【請求項1】
特定の機器に使用される旧第1データ
と前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信する受信部と、
前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記
特定の機器に使用されるデータと自機に使用され
るデータとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記
自機に使用される旧第2データの更新後のデータである新第2データを生成する生成部と、
を備え
、
前記第2差分情報は、前記記憶部に記憶されており、前記新第2データは、前記旧第2データと置き換えて前記自機に使用されることを特徴とする機器。
【請求項2】
前記生成部は、前記記憶部に記憶された前記旧第2データと前記第2差分情報とに基づいて前記旧第1データを生成して、生成した前記旧第1データを前記記憶部に記憶させ、前記第1差分情報と前記旧第1データとに基づいて、前記新第1データを生成する
ことを特徴とする請求項1記載の機器。
【請求項3】
前記第2差分情報は、前記特定の機器の型式と、
前記自機の型式とを含む
ことを特徴とする請求項1または2に記載の機器。
【請求項4】
コンピュータに、
特定の機器に使用される旧第1データ
と前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信し、
前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記
特定の機器に使用されるデータと自機に使用され
るデータとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記
自機に使用される旧第2データの更新後のデータである新第2データを生成する、
処理を実行させ
、
前記第2差分情報は、前記記憶部に記憶されており、前記新第2データは、前記旧第2データと置き換えて前記自機に使用されることを特徴とするデータ生成プログラム。
【請求項5】
コンピュータが、
特定の機器に使用される旧第1データ
と前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信し、
前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記
特定の機器に使用されるデータと自機に使用され
るデータとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記
自機に使用される旧第2データの更新後のデータである新第2データを生成する、
処理を実行
し、
前記第2差分情報は、前記記憶部に記憶されており、前記新第2データは、前記旧第2データと置き換えて前記自機に使用されることを特徴とするデータ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器、データ生成プログラム、およびデータ生成方法に関する。
【背景技術】
【0002】
複数の機器に使用されたデータ(例えば、ファームウェア)を更新する際に、例えば、情報処理装置が、更新に用いるパッチファイルを全ての機器に送信し、各機器が、送信されたパッチファイルを用いて自機のデータを更新する方法が用いられる。
【0003】
関連する技術として、新プログラムと旧プロブラムとを記憶し、旧プログラムを新プログラムに書き換えるための所定の情報を生成する技術が提案されている(例えば、特許文献1参照)。
【0004】
また、関連する技術として、差分データを圧縮した差分圧縮データを分割してなる複数の分割データ、および旧プログラムに基づいて新プログラムを復元する技術が提案されている(例えば、特許文献2参照)。
【0005】
また、関連する技術として、配信データから更新データを解凍し、解凍された更新データを用いて、指定された更新方式に従って更新後の新プログラムデータを復元する技術が提案されている(例えば、特許文献3参照)。
【0006】
また、関連する技術として、差分データを旧版データに適用することにより、旧版データを書き換えて新版データを作成する技術が提案されている(例えば、特許文献4参照)。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2004-227520号公報
【文献】特開2017-199183号公報
【文献】特開2018-180948号公報
【文献】特開2009-277062号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
管理対象の複数の機器に使用されるデータがそれぞれ異なる場合に、機器毎にデータを管理すると管理が煩雑となる。例えば、機器毎にデータを管理する場合、データの更新が発生した際に、機器が使用するデータを機器毎に送信する必要がある。
【0009】
本発明は、複数の機器が使用するデータの管理を簡略化することを目的の1つとする。
【課題を解決するための手段】
【0010】
本実施の形態の機器は、その一態様では、特定の機器に使用される旧第1データと、前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信する受信部と、前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記旧第1データと自機に使用される旧第2データとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記旧第2データの更新後のデータである新第2データを生成する生成部と、を備える。
【0011】
本実施の形態のデータ生成プログラムは、その一態様では、コンピュータに、特定の機器に使用される旧第1データと、前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信し、前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記旧第1データと自機に使用される旧第2データとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記旧第2データの更新後のデータである新第2データを生成する、処理を実行させる。
【0012】
本実施の形態のデータ生成方法は、その一態様では、コンピュータが、特定の機器に使用される旧第1データと、前記旧第1データの更新後のデータである新第1データとの差分を示す第1差分情報を受信し、前記第1差分情報と記憶部に記憶された前記旧第1データとに基づいて、前記新第1データを生成し、前記旧第1データと自機に使用される旧第2データとの差分を示す第2差分情報と、生成した前記新第1データとに基づいて、前記旧第2データの更新後のデータである新第2データを生成する、処理を実行する。
【発明の効果】
【0013】
本発明によれば、複数の機器が使用するデータの管理を簡略化することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態のシステム構成の一例を示す図である。
【
図2】各機器に対応するパッチファイルを個別に生成して送信する例を示す図である。
【
図3】情報処理装置の機能構成の一例を示す図である。
【
図5】機器情報変換テーブルの一例を示す図である。
【
図7】情報処理装置の処理の一例を示すフローチャートである。
【
図8】機器の処理の一例を示すフローチャートである。
【
図9】情報処理装置のハードウェア構成の一例を示す図である。
【
図10】機器のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0015】
図1は、実施形態のシステム構成の一例を示す図である。実施形態のシステムは、情報処理装置1と機器2-1~機器2-nとを含む。なお、機器2-1~2-nを区別しない場合、機器2と記載する。
【0016】
情報処理装置1は、例えば、パーソナルコンピュータ、またはサーバであり、機器2の管理に用いられる。情報処理装置1は、機器2のデータ更新に用いるパッチファイルを機器2に送信する。本実施形態における各データは、例えば、機器2のハードウェアを制御するファームウェアである。
【0017】
機器2は、情報処理装置1から受信したパッチファイルを用いて、自機に搭載されたデータを更新する。機器2は、例えば、スマートメータ、センサ等である。機器2は、コンピュータの一例である。各機器2に使用されるデータは機器2毎に異なっているとする。
【0018】
本実施形態において、情報処理装置1と機器2との間の通信には、無線通信を適用するが、有線通信を適用してもよい。情報処理装置1と機器2との間の通信は、例えば、LAN(Local Area Network)等のネットワークを介して行われる。
【0019】
図2は、各機器に対応するパッチファイルを個別に生成して送信する例を示す図である。
図2に示す例では、情報処理装置1は、2台の機器2(機器2-1、機器2-2)に対応するデータを更新するためのパッチファイルをそれぞれ生成し、送信する。
【0020】
情報処理装置1は、機器2-1に使用されている旧第1データと、旧第1データの更新後のデータである新第1データとに基づいて、旧第1データから新第1データへの更新に用いる第1パッチファイルを生成する。同様に、情報処理装置1は、機器2-2に使用されている旧第2データと、旧第2データの更新後のデータである新第2データとに基づいて、旧第2データから新第2データへの更新に用いる第2パッチファイルを生成する。
【0021】
情報処理装置1は、第1パッチファイルを機器2-1に送信し、第2パッチファイルを機器2-2に送信する。
【0022】
機器2-1は、第1パッチファイルを受信し、旧第1データに第1パッチファイルを適用して、新第1データを生成する。同様に、機器2-2は、第2パッチファイルを受信し、旧第2データに第2パッチファイルを適用して、新第2データを生成する。
【0023】
以上の処理により、各機器2のデータ更新が行われる。しかし、
図2に示す例では、情報処理装置1は、各機器2に対応するパッチファイルを生成し、管理する必要がある。すなわち、機器2の数が多いほど、機器2が使用するデータの管理が煩雑となり、パッチファイルの生成処理量も増加する。
【0024】
図3は、情報処理装置1の機能構成の一例を示す図である。情報処理装置1は、第1生成部11と送信部12と第1記憶部13とを含む。情報処理装置1は、複数の機器2の管理に用いられる。なお、複数の機器2は、特定の機器2を含み、特定の機器2に使用されるデータは、他の機器2に使用されるデータを更新する際の基礎データとして用いられる。
【0025】
第1生成部11は、特定の機器2に使用されるデータである旧第1データと、この旧第1データの更新後のデータである新第1データとに基づいて、旧第1データと新第1データとの差分を示す第1差分情報を生成する。旧第1データおよび新第1データは、例えば、特定の機器2のハードウェアを制御するファームウェアである。第1生成部11は、例えば、旧第1データと新第1データと比較して、旧第1データと新第1データとの差分を示す第1差分情報を生成する。第1差分情報は、例えば、旧第1データから新第1データへの更新に用いるパッチファイルである。第1生成部11は、第1差分情報を圧縮してもよい。
【0026】
送信部12は、第1生成部11が生成した第1差分情報を、各機器2に送信する。第1差分情報が圧縮されている場合、送信部12は、圧縮された第1差分情報を各機器2に送信する。第1記憶部13は、特定の機器2に使用される旧第1データと新第1データとを予め記憶している。
【0027】
なお、本実施形態の各処理は、旧第1データと新第1データとの差分が、各機器2に共通する内容である場合に実施される。例えば、旧第1データと新第1データとの差分が、各機器2に共通する内容ではなく、機器2毎に異なる内容(例えば、型式)である場合、情報処理装置1は、第1差分情報の生成および送信を行わず、表示装置にエラーを示すメッセージを送信する。
【0028】
図4は、機器2の機能構成の一例を示す図である。機器2は、受信部21と第2生成部22と第2記憶部23とを含む。受信部21は、情報処理装置1から、第1差分情報を受信する。以下、機器2の第2生成部22および第2記憶部23の機能を、機器2が特定の機器2に該当しない場合と該当する場合のそれぞれについて説明する。
【0029】
<特定の機器2に該当しない場合>
第2生成部22は、旧第1データと自機に使用されるデータである旧第2データとの差分を示す第2差分情報と、旧第2データとを第2記憶部23から取得する。第2生成部22は、第2差分情報と旧第2データとに基づいて、旧第1データを生成し、生成した旧第1データを第2記憶部23に記憶させる。第2差分情報は、例えば、特定の機器2の型式と自機の型式とを含む機器情報変換テーブルである。第2差分情報は、例えば、特定の機器2の設定情報と自機の設定情報とを含んでいてもよい。
【0030】
第2生成部22は、受信部21が受信した第1差分情報と第2記憶部23に記憶された旧第1データとに基づいて、新第1データを生成する。第2生成部22は、受信部21が受信した第1差分情報が圧縮されている場合、解凍後の第1差分情報と旧第1データとに基づいて、新第1データを生成する。そして、第2生成部22は、第2記憶部23から取得した第2差分情報と、生成した新第1データとに基づいて、旧第2データの更新後のデータである新第2データを生成する。旧第2データおよび新第2データは、例えば、機器2のハードウェアを制御するファームウェアである。機器2は、生成した新第2データを、旧第2データと置き換えて、使用する。
【0031】
第2記憶部23は、旧第2データと第2差分情報とを予め記憶している。また、第2記憶部23は、第2生成部22が生成した旧第1データと新第1データとを記憶する。
【0032】
生成された新第1データは、次回のデータ更新の際に、旧第1データとして扱われる。よって、次回のデータ更新の際には、旧第1データを生成せず、第2記憶部23に記憶された旧第1データ(前回のデータ更新時に生成された新第1データ)を用いてもよい。
【0033】
<特定の機器2に該当する場合>
機器2が、上記特定の機器2に該当する場合、旧第1データを生成する処理、新第2データを生成する処理を行わない。すなわち、第2生成部22は、受信した第1差分情報と第2記憶部23に記憶されている旧第1データとに基づいて、新第1データを生成する処理のみ実行する。機器2は、生成した新第1データを、旧第1データと置き換えて、使用する。
【0034】
図5は、機器情報変換テーブルの一例を示す図である。上述のように機器情報変換テーブルは、第2差分情報の一例である。
図5に示すように、機器情報変換テーブルは、機器型式、先頭アドレス、データ量(Byte)を含む。なお、先頭アドレスは、データ内において、機器型式が記録されている先頭位置を示す。データ量は、機器型式のデータ量を示す。機器情報変換テーブルに含まれる型式は、特定の機器2および自機の型式であるとする。
【0035】
本実施形態では、機器2に使用されるデータのうち、機器2毎に異なる部分は、機器型式のみであるとする。その場合、機器2は、
図5の例に示す機器情報変換テーブルを参照して、データ内の型式を変更することにより、特定の機器2に使用されるデータを自機に使用されるデータに変換したり、自機に使用されるデータを特定の機器2に使用されるデータに変換することが可能となる。機器2毎に設定情報が異なる場合、機器情報変換テーブルが、特定の機器2の設定情報と自機の設定情報とを含んでいてもよい。
【0036】
図6は、データ生成処理の一例を示す図である。情報処理装置1の第1生成部11は、機器2-1に使用されるデータである旧第1データと、この旧第1データの更新後のデータである新第1データとを比較して、旧第1データから新第1データへの更新に用いる第1パッチファイルを生成する。そして、情報処理装置1の送信部12は、第1パッチファイルを機器2-1および機器2-2に送信する。
【0037】
機器2-1の第2生成部22は、受信した第1パッチファイルと第2記憶部23に記憶されている旧第1データとに基づいて、新第1データを生成する。
【0038】
機器2-2の第2生成部22は、第2記憶部23に記憶された機器情報変換テーブルと、旧第2データとに基づいて、旧第1データを生成する。そして、第2生成部22は、受信した第1パッチファイルと生成した旧第1データとに基づいて、新第1データを生成する。そして、第2生成部22は、第2記憶部23に記憶された機器情報変換テーブルと、生成した新第1データとに基づいて、新第2データを生成する。
【0039】
以上の処理により、各機器2のデータが更新される。なお、機器2が3台以上存在する場合、機器2-1以外の各機器2の処理は、機器2-2と同様であるとする。
図6に示す例では、機器2-1が特定の機器2に該当する。
【0040】
図7は、情報処理装置1の処理の一例を示すフローチャートである。情報処理装置1は、ユーザから差分情報の生成指示を受け付けているか判定する(ステップS101)。ステップS101でNOの場合、情報処理装置1は、ステップS102の処理に進まず、待機する。
【0041】
ステップS101でYESの場合、第1生成部11は、特定の機器2に使用されるデータである旧第1データと、この旧第1データの更新後のデータである新第1データとに基づいて、旧第1データと新第1データとの差分を示す第1差分情報を生成する(ステップS101)。送信部12は、第1生成部11が生成した第1差分情報を、各機器2に送信する(ステップS103)。
【0042】
図8は、機器2の処理の一例を示すフローチャートである。なお、
図8に示すフローチャートは、特定の機器2に該当しない機器2(例えば、
図6に示す機器2-2)の処理を示す。
【0043】
機器2は、受信部21が情報処理装置1から第1差分情報を受信したか判定する(ステップS201)。第1差分情報は、特定の機器2に使用される旧第1データと、旧第1データの更新後のデータである新第1データとの差分を示す情報であり、例えば、パッチファイルである。受信部21が第1差分情報を受信しない場合(ステップS201でNO)、機器2は、第1差分情報を受信するまでステップS202に進まず、待機する。
【0044】
受信部21が第1差分情報を受信した場合(ステップS201でYES)、第2生成部22は、旧第1データと自機に使用される旧第2データとの差分を示す第2差分情報と、旧第2データとを第2記憶部23から取得し、取得した第2差分情報と旧第2データとに基づいて、旧第1データを生成し、第2記憶部23に記憶させる(ステップS202)。
【0045】
第2生成部22は、受信部21が受信した第1差分情報と第2記憶部23に記憶された旧第1データとに基づいて、新第1データを生成する(ステップS203)。そして、第2生成部22は、第2記憶部23に記憶された第2差分情報と、生成した新第1データとに基づいて、新第2データを生成する(ステップS204)。
【0046】
以上のように、機器2は、特定の機器2に使用される旧第1データと新第1データとの差分である第1差分情報を用いて、自機に使用するデータを生成する。これにより、情報処理装置1は機器2毎の差分情報を生成せず、共通の情報(第1差分情報)を全機器2に送信して、全機器2のデータを更新することが可能になる。これにより、複数の機器が使用するデータの管理を簡略化することができる。
【0047】
図9は、情報処理装置1のハードウェア構成の一例を示す図である。
図9の例に示すように、情報処理装置1において、バス100に、プロセッサ111とメモリ112と補助記憶装置113と通信インタフェース114と媒体接続部115と入力装置116と出力装置117とが接続される。
【0048】
プロセッサ111は、メモリ112に展開されたプログラムを実行する。実行されるプログラムは、例えば、実施形態における処理を行うプログラムである。
【0049】
メモリ112は、例えば、RAM(Random Access Memory)である。補助記憶装置113は、例えばハードディスクドライブや半導体メモリ等が適用される。補助記憶装置113が、実施形態の処理を行うプログラムを記憶していてもよい。
【0050】
通信インタフェース114は、LAN、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。媒体接続部115は、可搬型記録媒体118が接続可能なインタフェースである。可搬型記録媒体118は、例えば、光学式ディスク、または半導体メモリである。可搬型記録媒体118に実施形態の処理を行うプログラムが記録されていてもよい。
【0051】
メモリ112、補助記憶装置113および可搬型記録媒体118は、コンピュータが読み取り可能であって有形の記憶媒体であり、信号搬送波のような一時的な媒体ではなく、非一時的な媒体である。
【0052】
入力装置116は、例えば、キーボード、ポインティングデバイスであり、ユーザからの指示及び情報等の入力を受け付ける。出力装置117は、例えば、表示装置、プリンタ、スピーカであり、ユーザへの問い合わせ又は指示、及び処理結果等を出力する。
【0053】
図3に示す第1記憶部13は、例えば、メモリ112、補助記憶装置113または可搬型記録媒体118等により実現される。
図3に示す第1生成部11、および送信部12は、例えば、メモリ112に展開されたプログラムをプロセッサ111が実行することにより実現される。
【0054】
なお、情報処理装置1が
図9に示す全ての構成要素を含んでいなくてもよく、一部の構成要素が省略されていてもよい。また、一部の構成要素が情報処理装置1の外部の装置に存在し、情報処理装置1がその装置に接続して、その装置内の構成要素を利用してもよい。
【0055】
図10は、機器2のハードウェア構成の一例を示す図である。
図10の例に示すように、機器2において、バス200、プロセッサ211とメモリ212と補助記憶装置213と通信インタフェース214と入力装置215と出力装置216とが接続される。
【0056】
プロセッサ211は、メモリ212に展開されたプログラムを実行する。実行されるプログラムは、例えば、実施形態における処理を行うデータ生成プログラムである。
【0057】
メモリ212は、例えば、RAMである。補助記憶装置213は、例えば、ROM(Read Only Memory)である。補助記憶装置213が、実施形態の処理を行うデータ生成プログラムを記憶していてもよい。メモリ212および補助記憶装置213は、コンピュータが読み取り可能であって有形の記憶媒体であり、信号搬送波のような一時的な媒体ではなく、非一時的な媒体である。
【0058】
通信インタフェース214は、LAN、WAN等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。入力装置215は、例えば、押しボタン、タッチパネル等であり、ユーザからの指示及び情報等の入力を受け付ける。出力装置216は、例えば、表示装置等であり、ユーザへの問い合わせ又は指示、及び処理結果等を出力する。
【0059】
図4に示す第2記憶部23は、例えば、メモリ212、または補助記憶装置213により実現される。
図4に示す受信部21、および第2生成部22は、例えば、メモリ212に展開されたプログラムをプロセッサ211が実行することにより実現される。
【0060】
なお、機器2が
図10に示す全ての構成要素を含んでいなくてもよく、一部の構成要素が省略されていてもよい。また、一部の構成要素が機器2の外部の装置に存在し、機器2がその装置に接続して、その装置内の構成要素を利用してもよい。
【0061】
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で様々な変更、追加、省略が適用可能である。
【符号の説明】
【0062】
1 情報処理装置
2 機器
11 第1生成部
12 送信部
13 第1記憶部
21 受信部
22 第2生成部
23 第2記憶部
100,200 バス
111,211 プロセッサ
112,212 メモリ
113,213 補助記憶装置
114,214 通信インタフェース
115 媒体接続部
116,215 入力装置
117,216 出力装置
118 可搬型記録媒体