IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2024-124604ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム
<>
  • 特開-ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム 図1
  • 特開-ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム 図2
  • 特開-ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム 図3
  • 特開-ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム 図4
  • 特開-ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124604
(43)【公開日】2024-09-13
(54)【発明の名称】ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240906BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023032388
(22)【出願日】2023-03-03
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】加賀 洋渡
(72)【発明者】
【氏名】川上 真澄
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA25
5B376CA32
5B376CA36
5B376CA43
(57)【要約】
【課題】分散ネットワーキングミドルウェアを用いて接続される装置のソフトウェアを更新する際に、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システムを提供することができる。
【解決手段】分散ネットワーキングミドルウェアを用いて自装置と接続する装置20のソフトウェアを更新するソフトウェア更新装置10であり、装置20で行われるデータの送受信の形態に基づき、分散ネットワーキングミドルウェアを動作させた状態でそれぞれの装置20のソフトウェアを更新できるか否かを判断する更新対象判断部12と、装置20のソフトウェアの更新を実行するソフトウェア更新部13と、を有するソフトウェア更新装置10。
【選択図】図1
【特許請求の範囲】
【請求項1】
分散ネットワーキングミドルウェアを用いて自装置と接続する装置のソフトウェアを更新するソフトウェア更新装置であり、
前記装置で行われるデータの送受信の形態に基づき、前記分散ネットワーキングミドルウェアを動作させた状態でそれぞれの前記装置のソフトウェアを更新できるか否かを判断する更新対象判断部と、
前記装置のソフトウェアの更新を実行するソフトウェア更新部と、
を有するソフトウェア更新装置。
【請求項2】
前記データの送受信の形態は、前記装置のデータ転送の向きを含む請求項1に記載のソフトウェア更新装置。
【請求項3】
前記更新対象判断部は、前記データ転送の向きとして、前記装置がデータを送信する場合は、前記分散ネットワーキングミドルウェアを動作させた状態で前記装置のソフトウェアを更新できないと判断する請求項2に記載のソフトウェア更新装置。
【請求項4】
前記データの送受信の形態は、前記装置への入力データの増減を含む請求項1に記載のソフトウェア更新装置。
【請求項5】
前記更新対象判断部は、入力データの増減として、入力データが減少する場合は、前記分散ネットワーキングミドルウェアを動作させた状態で前記装置のソフトウェアを更新できないと判断する請求項4に記載のソフトウェア更新装置。
【請求項6】
前記更新対象判断部は、前記データの送受信の形態をデータスキーマの仕様により決める請求項2乃至5のいずれか1項に記載のソフトウェア更新装置。
【請求項7】
前記データの送受信の形態は、前記装置へのデータ再送の可否を含む請求項1に記載のソフトウェア更新装置。
【請求項8】
前記更新対象判断部は、前記データ再送の可否として、前記装置へデータを再送できない場合は、前記分散ネットワーキングミドルウェアを動作させた状態で前記装置のソフトウェアを更新できないと判断する請求項7に記載のソフトウェア更新装置。
【請求項9】
前記更新対象判断部は、前記データ再送の可否を前記分散ネットワーキングミドルウェアの仕様により決める請求項7または8に記載のソフトウェア更新装置。
【請求項10】
前記更新対象判断部は、前記データの送受信の形態が、前記装置へのデータ転送の向きとして、前記装置がデータを受信するが送信はしない場合、前記装置への入力データの増減として、入力データが増加する場合、および前記装置へのデータ再送の可否として、前記装置へデータを再送可能である場合を満たす場合に、前記分散ネットワーキングミドルウェアを動作させた状態で前記装置のソフトウェアを更新できると判断する請求項1に記載のソフトウェア更新装置。
【請求項11】
分散ネットワーキングミドルウェアを用いて自装置と接続する装置のソフトウェアを更新するソフトウェア更新方法であり、
プロセッサがメモリに記録されたプログラムを実行することにより、
前記装置で行われるデータの送受信の形態に基づき、前記分散ネットワーキングミドルウェアを動作させた状態でそれぞれの前記装置のソフトウェアを更新できるか否かを判断し、
前記装置のソフトウェアの更新を実行する、
ソフトウェア更新方法。
【請求項12】
分散ネットワーキングミドルウェアを介して接続する装置と、
前記装置のソフトウェアを更新するソフトウェア更新装置と、
を備え、
前記ソフトウェア更新装置は、
前記装置で行われるデータの送受信の形態に基づき、前記分散ネットワーキングミドルウェアを動作させた状態でそれぞれの前記装置のソフトウェアを更新できるか否かを判断する更新対象判断部と、
前記装置のソフトウェアの更新を実行するソフトウェア更新部と、
を有するソフトウェア更新システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システムに関する。本発明は、特に、分散ネットワーキングミドルウェアを用いて接続される装置のソフトウェアを更新する際に有用であるソフトウェア更新装置等に関する。
【背景技術】
【0002】
分散ネットワーキングミドルウェアを用いて接続する装置に対し、ソフトウェア更新を実施することがある。
【0003】
特許文献1には、列車運行管理システムにおける制御装置と通信路経由で接続され、制御装置のソフトウェアを遠隔から改修するリモート保守装置が開示されている。このリモート保守装置は、列車運行に関連する運行関連情報を受信する情報受信部と、運行関連情報に基づき、制御装置にかかる負荷状態を判定し、負荷状態に応じて、制御装置へ改修ソフトウェアを送信する伝送速度を決定する伝送速度判断部と、改修ソフトウェアを伝送速度で制御装置に送信する改修ソフトウェア送信部と、を有している。
特許文献2には、電子計算機の保守をネットワーク経由で保守装置を接続して行なう保守システムが開示されている。この保守システムは、電子計算機は自システムが提供中のサービスを実行するに必要なプログラムを保守装置に複写する複写手段と、自ハードウェア構成情報を保守装置に伝達する伝達手段と、を備え、保守装置は計算機と同一の命令セットを実行するCPUと、ハードウェア構成情報に基づいて計算機のハードウェア構成を自システム上にエミュレートする手段と、を備える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016-68878号公報
【特許文献2】特開平9-293001号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
装置のソフトウェアの更新は、サービス時間外や保守時間内にシステム全体を停止して実施することができる。また、サービスを継続した状態で更新を実施するには、システムを構成する要素(装置)をそれぞれ冗長化することで可能となる。
しかしながら、システム全体を停止する際には、システム全体を停止できる保守期間を設定する必要がある。また、一部分の装置を対象とする更新であっても、更新の対象でない装置まで停止させる必要がある。
一方、要素(装置)を冗長化するには更新する要素(装置)をそれぞれに同一の装置(ハードウェア、ソフトウェア)を用意する必要がありコストが大きい。特にDDS(Data Distribution Service)のような分散ネットワーキングミドルウェアでは、データの流れを中央集中的に制御できない環境であるため、冗長化に必須のロードバランサーの設置が難しく、冗長化が困難である。
本発明は、分散ネットワーキングミドルウェアを用いて接続される装置のソフトウェアを更新する際に、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するため本発明は、分散ネットワーキングミドルウェアを用いて自装置と接続する装置のソフトウェアを更新するソフトウェア更新装置であり、装置で行われるデータの送受信の形態に基づき、分散ネットワーキングミドルウェアを動作させた状態でそれぞれの装置のソフトウェアを更新できるか否かを判断する更新対象判断部と、装置のソフトウェアの更新を実行するソフトウェア更新部と、を有するソフトウェア更新装置である。この場合、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新装置を提供することができる。
【0007】
ここで、データの送受信の形態は、装置のデータ転送の向きを含むようにできる。この場合、ソフトウェア更新システムへ影響を与える形態として適したものを含ませることができる。
また、更新対象判断部は、データ転送の向きとして、装置がデータを送信する場合は、分散ネットワーキングミドルウェアを動作させた状態で装置のソフトウェアを更新できないと判断することができる。この場合、装置から送られるデータの欠落が生じ得る装置に対しソフトウェアを更新できないと判断することができる。
さらに、データの送受信の形態は、装置への入力データの増減を含むようにできる。この場合、ソフトウェア更新システムへ影響を与える形態として適したものを含ませることができる。
またさらに、更新対象判断部は、入力データの増減として、入力データが減少する場合は、分散ネットワーキングミドルウェアを動作させた状態で装置のソフトウェアを更新できないと判断することができる。この場合、挙動確認が必要な装置に対しソフトウェアを更新できないと判断することができる。
また、更新対象判断部は、データの送受信の形態をデータスキーマの仕様により決めることができる。この場合、装置のデータ転送の向きや装置への入力データの増減についての情報を、より簡単に得ることができる。
さらに、データの送受信の形態は、装置へのデータ再送の可否を含むようにできる。この場合、ソフトウェア更新システムへ影響を与える形態として適したものを含ませることができる。
またさらに、更新対象判断部は、データ再送の可否として、装置へデータを再送できない場合は、分散ネットワーキングミドルウェアを動作させた状態で装置のソフトウェアを更新できないと判断することができる。この場合、装置へ送るデータの欠落が生じ得る装置に対しソフトウェアを更新できないと判断することができる。
そして、更新対象判断部は、データ再送の可否を分散ネットワーキングミドルウェアの仕様により決めることができる。この場合、データ再送の可否の情報を、より簡単に得ることができる。
また、更新対象判断部は、データの送受信の形態が、装置へのデータ転送の向きとして、装置がデータを受信するが送信はしない場合、装置への入力データの増減として、入力データが増加する場合、および装置へのデータ再送の可否として、装置へデータを再送可能である場合を満たす場合に、分散ネットワーキングミドルウェアを動作させた状態で装置のソフトウェアを更新できると判断することができる。この場合、分散ネットワーキングミドルウェアを動作させつつ装置のソフトウェアの更新を行うときに、ソフトウェア更新システムに影響を与えない装置を抽出することができる。
【0008】
また、本発明は、分散ネットワーキングミドルウェアを用いて自装置と接続する装置のソフトウェアを更新するソフトウェア更新方法であり、プロセッサがメモリに記録されたプログラムを実行することにより、装置で行われるデータの送受信の形態に基づき、分散ネットワーキングミドルウェアを動作させた状態でそれぞれの装置のソフトウェアを更新できるか否かを判断し、装置のソフトウェアの更新を実行する、ソフトウェア更新方法である。この場合、この場合、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新方法を提供することができる。
【0009】
さらに、本発明は、分散ネットワーキングミドルウェアを介して接続する装置と、装置のソフトウェアを更新するソフトウェア更新装置と、を備え、ソフトウェア更新装置は、装置で行われるデータの送受信の形態に基づき、分散ネットワーキングミドルウェアを動作させた状態でそれぞれの装置のソフトウェアを更新できるか否かを判断する更新対象判断部と、装置のソフトウェアの更新を実行するソフトウェア更新部と、を有するソフトウェア更新システムである。この場合、装置のソフトウェア更新を行う場合でも、システム側に影響を与えないソフトウェア更新システムを提供することができる。
【発明の効果】
【0010】
本発明によれば、分散ネットワーキングミドルウェアを用いて接続される装置のソフトウェアを更新する際に、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システムを提供することができる。
【図面の簡単な説明】
【0011】
図1】本実施の形態のソフトウェア更新装置が適用されるソフトウェア更新システムの全体構成を示した図である。
図2】DDSについて示した概念図である。
図3】ソフトウェア更新装置の動作について示した図である。
図4】(a)~(b)は、データスキーマについて説明した図である。
図5】ソフトウェア更新装置の動作について示したフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照し、本発明の実施の形態について、詳細に説明する。
【0013】
<ソフトウェア更新システム1の全体説明>
図1は、本実施の形態のソフトウェア更新装置10が適用されるソフトウェア更新システム1の全体構成を示した図である。
図1に示すように、ソフトウェア更新システム1は、ソフトウェア更新装置10と、装置20とを備える。
ソフトウェア更新装置10は、装置20のソフトウェアを更新する装置である。
装置20は、分散ネットワーキングミドルウェアを用いて相互に接続する装置である。
。また、装置20は、分散ネットワーキングミドルウェアを用いてソフトウェア更新装置10と接続する。なおここでは、装置20は、1つしか図示していないが、複数にすることもできる。なお、「分散ネットワーキングミドルウェア」は、分散ネットワーク内の2つ以上のアプリケーションやアプリケーション・コンポーネント間で、1つ以上の種類の通信や接続を可能にするソフトウェアである。また、装置20のソフトウェアは、装置20を動作させるために何らかの処理を行うコンピュータプログラムであれば、特に限られるものではない。ソフトウェアの更新は、例えば、ソフトウェアのバグや問題点を修正したり、装置20の機能向上を目的としてなされる。
【0014】
ソフトウェア更新装置10、装置20は、PC(Personal Computer)、スマートフォン、タブレットなどのコンピュータ装置である。ソフトウェア更新装置10、装置20は、演算手段であるCPU(Central Processing Unit)等のプロセッサと、記憶手段であるメインメモリ及びHDD(Hard Disk Drive)等のストレージとを備える。ここで、プロセッサは、OS(基本ソフトウェア)やアプリケーションプログラム(応用ソフトウェア)等の各種ソフトウェアを実行する。また、メインメモリは、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域である、さらに、ストレージは、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
ソフトウェア更新装置10、装置20は、外部との通信を行うための通信インタフェースを備える。さらに、ビデオメモリやディスプレイ等からなる表示機構や、キーボート、マウス、タッチパネル等の入力機構を備えていてもよい。
【0015】
分散ネットワーキングミドルウェアは、例えば、DDS(Data Distribution Service)である。以下、分散ネットワーキングミドルウェアは、DDSであるとして説明を行う。
【0016】
図2は、DDSについて示した概念図である。
図示するように、DDSでは、「Topic」を、「DATA WRITER」からパブリッシュ(出版)し、これを「DATA READER」がサブスクライブ(購読)することで通信する。即ち、データを送る向きがある。また、「Topic」には、事前にどのようなデータを送るか(データの型(データスキーマ))を宣言している。そして、同じ「Topic」を有する「DATA WRITER」および「DATA READER」同士で通信を行う。「DATA WRITER」と「DATA READER」との対応は、1対1、1対多、多対1、多対多など自由に設定できる。DDSでは、装置20間でやりとりするデータの型(データスキーマ)を定義するとともに、データの向き(Publisher/Subscriber)を定義して通信を行う。
DDSでは、リアルタイム応答性能が高く、装置20が変更になってもネットワークシステムの再構成を柔軟に行うことが可能である。それぞれのDDSドメインは互いに完全に独立しており、異なるDDSドメインを跨いでデータの通信はできない。
本実施の形態のソフトウェア更新装置10、装置20は、DDSでは、「DATA WRITER」、「DATA READER」に対応する。
【0017】
DDSは、水力発電で使用するダムの発電制御、風力発電におけるブレードの回転制御、自動車の自律走行、航空交通管制、鉄道などの運行管理、製鉄における各機器の制御などの分野で使用することができる。ここでは、以下、DDSを鉄道運行管理に使用する場合を例にとり説明を行う。この場合、装置20は、踏切装置や転轍機(ポイント)を制御する駅制御装置、運行管理操作卓、運行表示盤などが該当する。
【0018】
<ソフトウェア更新装置10の機能構成の説明>
図1に戻り、ソフトウェア更新装置10の機能構成について説明する。
ソフトウェア更新装置10は、情報受信部11と、更新対象判断部12と、ソフトウェア更新部13と、ソフトウェアリポジトリ14と、ソフトウェア転送部15とを備える。
情報受信部11は、DDSを動作させた状態で装置20のソフトウェアを更新できるか否かを判断するための情報として、装置20のリストである装置リスト、DDS仕様およびデータスキーマ仕様を取得する。DDS仕様およびデータスキーマ仕様について、詳しくは後述する。
【0019】
更新対象判断部12は、装置20で行われるデータの送受信の形態に基づき、DDSを動作させた状態でそれぞれの装置20のソフトウェアを更新できるか否かを判断する。そして、解析結果表示として、ソフトウェア更新システム1の管理者に提示する。管理者は、解析結果表示を参照し、装置20のソフトウェアの更新の計画を立案して、ソフトウェア更新装置10に対し、更新を実行する指令を行う。
【0020】
ソフトウェア更新部13は、装置20のソフトウェアの更新を実行する。このとき、ソフトウェア更新部13は、更新対象判断部12が、DDSを動作させた状態でソフトウェアを更新できると判断した装置20については、DDSを動作させた状態でソフトウェアの更新を行う。一方、ソフトウェア更新部13は、更新対象判断部12が、DDSを動作させた状態でソフトウェアを更新できないと判断した装置20については、DDSを停止させたときにソフトウェアの更新を行う。
情報受信部11、更新対象判断部12、ソフトウェア更新部13は、プロセッサやメインメモリによりその機能を実現することができる。
【0021】
ソフトウェアリポジトリ14は、更新するソフトウェアを格納する記憶部である。ソフトウェアリポジトリ14は、HDD(Hard Disk Drive)等のストレージによりその機能を実現することができる。
ソフトウェア転送部15は、更新するソフトウェアを装置20に向け送信する出力部である。ソフトウェア転送部15は、通信インタフェースによりその機能を実現することができる。
【0022】
<ソフトウェア更新装置10の動作の説明>
次に、ソフトウェア更新装置10の動作について説明する。
図3は、ソフトウェア更新装置10の動作について示した図である。
図3では、装置20が踏切装置、データ送信装置、統計情報モニタ装置である場合を示している。そして、データが、踏切装置→データ送信装置→統計情報モニタ装置の順で送受信されることを示している。この場合、踏切装置は、例えば、踏切の開閉の回数をデータとして送信する。データ送信装置は、例えば、このデータを中継する。また、統計情報モニタ装置は、例えば、複数の踏切装置の踏切の開閉の回数をモニタリングする。
また図3では、ソフトウェア更新装置10が、DDSを動作させた状態でそれぞれの装置20のソフトウェアを更新できるか否かを判断する方法を示している。本実施の形態では、ソフトウェア更新装置10更新対象判断部12が、装置20で行われるデータの送受信の形態に基づき、ソフトウェアを更新できるか否かを判断する。装置20で行われるデータの送受信の形態は、具体的には、装置20のデータ転送の向き、装置20への入力データの増減および装置20へのデータ再送の可否である。
【0023】
装置20のデータ転送の向きは、装置20に対し、受信/送信を行うか否かにより決めることができる。そして、更新対象判断部12は、データ転送の向きとして、装置20がデータを受信するが送信はしないことが必要であるとする。つまり、装置20が、データを受ける(受信)側であり、送る(送信)側でなければ、ソフトウェアを更新することによる装置20の影響はない。即ち、データを受信する場合は、ソフトウェアを更新した後で行えばよい。そのため、ソフトウェア更新システム1への影響はない。対して、データを送信する場合は、ソフトウェアを更新しているときは、データの送信は行えないので、ソフトウェア更新システム1へ影響を与えてしまう。この場合、更新対象判断部12は、データ転送の向きとして、装置20がデータを送信する場合は、DDSを動作させた状態で装置20のソフトウェアを更新できないと判断する、と言うこともできる。
【0024】
装置20への入力データの増減は、入力データが増加しているか、減少しているかにより決めることができる。そして、更新対象判断部12は、入力データの増減として、入力データが増加または同じであることが必要であるとする。つまり、入力データが増加する場合は、この増加分は、受信側には無関係なデータであるので、ソフトウェアの更新後の挙動に影響がない。そのため、ソフトウェア更新システム1への影響はない。対して、減少の場合は、受信側に関係のあるデータの可能性がある。即ち、受信側の装置20が使用するデータの可能性がある。そのため、挙動確認のテストが必要である。この場合、更新対象判断部12は、入力データの増減として、入力データが減少する場合は、DDSを動作させた状態で装置20のソフトウェアを更新できないと判断する、と言うこともできる。
【0025】
装置20へのデータ再送の可否は、装置20へのデータ再送が行えるか否かにより決めることができる。そして、更新対象判断部12は、データ再送の可否として、装置20へデータを再送可能であることが必要とする。つまり、装置20へデータを再送可能であれば、装置20のソフトウェアの更新の際に受け取れなかったデータを、ソフトウェアの更新後に受け取ればよい。そのためソフトウェア更新システム1への影響はない。対して、装置20へデータを再送できない場合、装置20は、このデータを受け取ることができない。よって、ソフトウェア更新システム1へ影響を与えてしまう。この場合、更新対象判断部12は、データ再送の可否として、装置20へデータを再送できない場合は、DDSを動作させた状態で装置20のソフトウェアを更新できないと判断する、と言うこともできる。
【0026】
図3で、装置20が踏切装置の場合、データ転送の向きは、送信のみであり受信はしないため、更新対象判断部12が、DDSを動作させた状態でソフトウェアを更新できないと判断する。また、装置20への入力データの増減は、変化がなく、これについては問題がない。しかし、装置20へのデータ再送はできないので、この点においても、更新対象判断部12は、DDSを動作させた状態でソフトウェアを更新できないと判断する。
【0027】
図3で、装置20がデータ送信装置の場合、データ転送の向きは、受信と送信の双方があるため、更新対象判断部12が、DDSを動作させた状態でソフトウェアを更新できないと判断する。また、装置20への入力データの増減は、減少であり、この点においても、更新対象判断部12は、DDSを動作させた状態でソフトウェアを更新できないと判断する。なお、装置20へのデータ再送はできるため、この点では問題はない。
【0028】
図3で、装置20が統計情報モニタ装置の場合、データ転送の向きは、受信のみであり送信はしない。また、装置20への入力データの増減は、送られたデータを蓄積するため増加である。さらに、装置20へのデータ再送は可能である。よって、更新対象判断部12は、DDSを動作させた状態でソフトウェアを更新できると判断する。
【0029】
よって、更新対象判断部12は、データの送受信の形態が、データ転送の向きとして、装置20がデータを受信するが送信はしない場合、装置20への入力データの増減として、入力データが増加する場合、およびデータ再送の可否として、装置20へデータを再送可能である場合を満たす場合に、DDSを動作させた状態で装置20のソフトウェアを更新できると判断する。即ち、更新対象判断部12は、これらの3つの条件を全て満たす場合、DDSを動作させた状態で装置20のソフトウェアを更新できると判断する。
【0030】
更新対象判断部12は、データ再送の可否をDDSの仕様により決める。即ち、装置20の間のデータ転送の際に、データ再送をするか否かについて、DDSの仕様として予め定められているため、これにより更新対象判断部12は、データ再送の可否を決めることができる。より具体的には、データの再送可否は各装置20にインストールされたDDSフレームワークの仕様に準ずる。ここには、通信の切断から、何秒以内、データの履歴の何送信分、などの再送できる許容範囲が設定されている。これを用いてソフトウェアの更新対象となる装置20が再起動した後に、再送されたデータを受信できるかを判断する。
一方、更新対象判断部12は、装置20のデータ転送の向き、装置20への入力データの増減を、データスキーマの仕様により決める。
【0031】
図4(a)~(b)は、データスキーマについて説明した図である。
データ転送の向きは、各装置20にインストールされ、図4(a)に示すDDSフレームワーク上に保持する情報から判断することができる。この場合、PublisherがSubscriberの一覧を保持しており、これにより更新対象判断部12は、データ転送の向きを判断する。DDSフレームワーク上に送信先の一覧を保持しない場合、更新対象判断部12は、Publisherのデータを送信するTopicと同一のTopicにより受信するSubscriberを対応づける。そして、更新対象判断部12は、それぞれの装置20のTopicと、PublisherかSubscriberかの属性によってデータ転送の向きを判断する。
【0032】
装置20への入力データの増減は、各装置20のDDSフレームワークが読込むデータスキーマの仕様から判断することができる。更新対象判断部12は、データスキーマの履歴から、該当期間におけるデータスキーマの項目の差分を抽出し、抽出結果から増加、減少を判定する。
【0033】
ここで、図4(b)左図に示す受信されたデータスキーマV1と、図4(b)右図に示す送信するデータスキーマV2とを比較した場合、4(b)右図に示す送信するデータスキーマV2は、「int data3」の一行が増加している。よって、この場合、更新対象判断部12は、入力データスキーマの変更を基に、入力データが増加していると判断する。
【0034】
図5は、ソフトウェア更新装置10の動作について示したフローチャートである。
まず、ソフトウェア更新装置10の情報受信部11が、更新対象の装置20の装置リストを取得する(S101)。
次に、情報受信部11が、更新対象の装置仕様を取得する(S102)。
さらに、情報受信部11は、更新対象の装置20のDDS仕様、データスキーマ仕様を取得する(S103)。
そして、更新対象判断部12は、DDS仕様とデータスキーマ仕様とから、更新対象の装置20へのデータ再送の可否、更新対象の装置20のデータ転送の向き、および入力データスキーマ変更を取得する(S104)。
次に、更新対象判断部12は、更新対象の装置20ごとに、以下の条件を確認する(S105)。
つまり、更新対象判断部12は、装置20へデータ再送が可能であるか否かを判断する(S106)。
また、更新対象判断部12は、装置20のデータの向きが受信(入力)のみであるか否かを判断する(S107)。
さらに、更新対象判断部12は、入力データスキーマの変更を基に、入力データが増加しているか否かを判断する(S108)。
そして、更新対象判断部12は、S106~S108ですべてYesの場合に、更新対象の装置20が、DDSを動作させた状態でソフトウェアを更新できると判断し、更新対象の装置20の候補として表示する(S109)。
なお、更新対象判断部12は、S106~S108で何れか1つがNoの場合は、一連の処理を終了する。
【0035】
以上説明した形態によれば、DDS等の分散ネットワーキングミドルウェアを用いて接続される装置20のソフトウェアを更新する際に、冗長化をせずに、またシステム全体を停止させることなく、ソフトウェア更新を行うことができるソフトウェア更新装置、ソフトウェア更新方法およびソフトウェア更新システムを提供する。
【0036】
<ソフトウェア更新方法の説明>
以上説明を行ったソフトウェア更新装置10が行う処理は、ソフトウェアとハードウェア資源とが協働することにより実現される。即ち、ソフトウェア更新装置10に設けられたコンピュータ内部のプロセッサが、上述した各機能を実現するソフトウェアをメインメモリにロードして実行し、これらの各機能を実現させる。
よって、ソフトウェア更新装置10が行う処理は、分散ネットワーキングミドルウェアを用いて自装置であるソフトウェア更新装置10と接続する装置20のソフトウェアを更新するソフトウェア更新方法であり、プロセッサがメモリに記録されたプログラムを実行することにより、装置20で行われるデータの送受信の形態に基づき、DDS等の分散ネットワーキングミドルウェアを動作させた状態でそれぞれの装置20のソフトウェアを更新できるか否かを判断し、装置20のソフトウェアの更新を実行する、ソフトウェア更新方法、と捉えることができる。
【0037】
以上、本実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【符号の説明】
【0038】
1…ソフトウェア更新システム、10…ソフトウェア更新装置、11…情報受信部、12…更新対象判断部、13…ソフトウェア更新部、14…ソフトウェアリポジトリ、15…ソフトウェア転送部、20…装置

図1
図2
図3
図4
図5