(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023154993
(43)【公開日】2023-10-20
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06F 8/65 20180101AFI20231013BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022064682
(22)【出願日】2022-04-08
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】皆川 祐人
(72)【発明者】
【氏名】天木 智
(72)【発明者】
【氏名】中谷 博司
(72)【発明者】
【氏名】和田 紘帆
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA39
5B376CA55
(57)【要約】
【課題】テストを漏れなく実施可能な情報処理装置を低コストで提供すること。
【解決手段】実施形態によれば、情報処理装置は、互いに冗長化されソフトウェアにより機能する第1の主動作部および第2の主動作部と、切替部、ソフトウェア更新部、および、比較部を具備する。切替部は、第1の主動作部および第2の主動作部のいずれか一方を現行系に指定し他方を待機系に指定する。ソフトウェア更新部は、待機系に指定された主動作部のソフトウェアを更新ソフトウェアに更新する。比較部は、ソフトウェアを更新された待機系の主動作部の出力データと、現行系の主動作部の出力データとを比較し、その結果に基づいて更新ソフトウェアをテストする。
【選択図】
図2
【特許請求の範囲】
【請求項1】
互いに冗長化されソフトウェアにより機能する第1の主動作部および第2の主動作部と、
前記第1の主動作部および前記第2の主動作部のいずれか一方を現行系に指定し他方を待機系に指定する切替部と、
前記待機系に指定された主動作部のソフトウェアを更新ソフトウェアに更新するソフトウェア更新部と、
前記ソフトウェアを更新された待機系の主動作部の出力データと、前記現行系の主動作部の出力データとを比較し、その結果に基づいて前記更新ソフトウェアをテストする比較部とを具備する、情報処理装置。
【請求項2】
前記比較部は、前記現行系に指定された主動作部のソフトウェアの前記更新ソフトウェアへの更新の可否を、前記比較の結果に基づいて決定する、請求項1に記載の情報処理装置。
【請求項3】
前記比較部は、前記更新ソフトウェアに付随する出力変化情報を参照して、変化すべき出力データと変化すべきでない出力データを判断する、請求項1に記載の情報処理装置。
【請求項4】
前記比較部は、前記ソフトウェアを更新された待機系の主動作部の出力データの時系列データが、前記現行系の主動作部の出力データの時系列データに、時間軸上において既定の閾値以下の誤差で追従する場合に、前記更新ソフトウェアが適切に動作することを判断する、請求項1に記載の情報処理装置。
【請求項5】
前記比較部は、前記ソフトウェアを更新された待機系の主動作部の出力データの時系列データと、前記現行系の主動作部の出力データの時系列データとの時間平均の誤差が既定の閾値以下である場合に、前記更新ソフトウェアが適切に動作することを判断する、請求項1に記載の情報処理装置。
【請求項6】
ユーザによる前記閾値の設定を受け付ける入力部をさらに具備する、請求項4または5のいずれか1項に記載の情報処理装置。
【請求項7】
ユーザによる、前記ソフトウェアを更新された待機系の主動作部の出力データの収集期間の設定と、前記現行系の主動作部の出力データの収集期間の設定とを受け付ける入力部をさらに具備する、請求項1に記載の情報処理装置。
【請求項8】
前記比較部による比較の結果をユーザに提示する出力部をさらに具備する、請求項1に記載の情報処理装置。
【請求項9】
前記出力部は、前記比較の結果に基づく前記更新ソフトウェアの動作の適切さをユーザに提示し、
前記現行系に指定された主動作部のソフトウェアの前記更新ソフトウェアへの更新の指示を前記ユーザに指示させるための入力部をさらに具備する、請求項8に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置に関する。
【背景技術】
【0002】
社会のあらゆるインフラが情報処理装置により支えられている。情報処理装置にインストールされたソフトウェアは、機能の拡張や脆弱性への対策などのために継続的にバージョンアップされる。近年では、情報処理装置にインストールされた後も、自動でソフトウェアを更新できるようにすることも求められている。
【0003】
例えば、現行系と待機系とに冗長化されたサーバシステムにおいて、最初に待機系サーバのソフトウェアを更新し、冗長切り替えを行い、次に、待機系となった現行系サーバのソフトウェアを更新する。このようにすることで、更新処理に伴うサーバの停止・再起動によるサービス提供の停止を避けることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】WO2015/001798
【特許文献2】特開2021-12406号公報
【特許文献3】特開2007-172079号公報
【特許文献4】特開2008-234014号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ソフトウェアの更新による影響は、理想的には変更した部分だけに限られ、それ以外の部分には及ばないことが求められる。そこで、更新対象の装置と同じ構成のテスト用装置を用意し、更新の影響する範囲を確認することが行われる。しかし、システムの構築コストが倍以上になることからコスト面でのインパクトが大きい。特に、少量の受注生産システムでは影響が大きい。
一方、エミュレータ上に構築した仮想装置を用いて事前検証テストを行う場合もある。これは、コストを削減できるが、実機との差異により取りこぼしが出てしまう可能性がある。いずれも一長一短であり、技術革新が要望されている。
【0006】
そこで、目的は、テストを漏れなく実施可能な情報処理装置を低コストで提供することにある。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理装置は、互いに冗長化されソフトウェアにより機能する第1の主動作部および第2の主動作部と、切替部、ソフトウェア更新部、および、比較部を具備する。切替部は、第1の主動作部および第2の主動作部のいずれか一方を現行系に指定し他方を待機系に指定する。ソフトウェア更新部は、待機系に指定された主動作部のソフトウェアを更新ソフトウェアに更新する。比較部は、ソフトウェアを更新された待機系の主動作部の出力データと、現行系の主動作部の出力データとを比較し、その結果に基づいて更新ソフトウェアをテストする。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1の実施形態に係わる情報処理装置の一例を示す機能ブロック図である。
【
図2】
図2は、第1の実施形態におけるデータフローの一例を示す図である。
【
図3】
図3は、第2の実施形態におけるデータフローの一例を示す図である。
【発明を実施するための形態】
【0009】
[第1の実施形態]
<構成>
図1は、第1の実施形態に係わる情報処理装置の一例を示す機能ブロック図である。
図1において、更新対象装置10は、情報処理装置の一例であり、更新ソフトウェア管理サーバ20と通信可能に接続されるとともに、入力装置30と出力装置31とを備える。更新対象装置10は、通常動作時は入力装置30から入力されたデータを処理し、生成された処理データを出力装置31に出力する。更新ソフトウェア管理サーバ20は、更新対象装置10の更新ソフトウェアを保存・管理する。
【0010】
更新対象装置10は、主動作を行う主動作部(1系)110と、主動作部(1系)の冗長系として設けられる主動作部(2系)111とを備える。つまり主動作部(1系)110と主動作部(2系)111は、互いに冗長化され、いずれもソフトウェアにより機能する。主動作部(1系)110及び主動作部(2系)111は、別のハードウェアとして分かれていても良いし、一つのハードウェアで動作する同一のアプリケーションであっても良い。
【0011】
さらに、更新対象装置10は、ソフトウェア更新部12、比較部13、および、切替部14を具備する。ソフトウェア更新部12は、主動作部(1系)110のソフトウェアと、主動作部(2系)111のソフトウェアを個別に更新する。比較部13は、主動作部(1系)の出力データと主動作部(2系)の出力データとを収集して、比較する。切替部14は、主動作部(1系)110および主動作部(2系)111のいずれか一方を現行系に指定し、他方を待機系に指定する。なおこの指定は、固定的である必要はない。
【0012】
入力装置30から入力された入力データは、切替部14によって、現行系の主動作部だけに送られる。また、切替部14により、現行系の主動作部の出力データだけが出力装置31に出力される。
【0013】
更新ソフトウェア管理サーバ20は、更新ソフトウェアファイル21と、出力変化情報22とを互いに関連付けて記憶する。すなわち更新ソフトウェアファイル21と出力変化情報22とは、ペアで記憶される。出力変化情報22は、対応する更新ソフトウェアファイル21を用いてソフトウェア更新を行った主動作部(1系)110の出力データと、主動作部(2系)111の出力データとが、が更新前と比較してどのように変化するかを記録した情報である。第1の実施形態において、出力変化情報22は「どの項目の出力データが変化するか/変化しないか」という情報を含む。
【0014】
<作用>
図2は、第1の実施形態におけるデータフローの一例を示す図である。
図2において、主動作部(1系)110が現行系、主動作部(2系)111が待機系とする。
【0015】
ソフトウェア更新部12は、更新ソフトウェア管理サーバ20に保存される更新ソフトウェア21と、出力変化情報22とを取得する。更新ソフトウェア21と出力変化情報22とを取得する手段としては、例えばネットワーク通信によってソフトウェア更新部12が管理サーバ20からダウンロードする手法がある。あるいは、ユーザが外部メディア等を使って更新対象装置10にファイルを移動させても良い。
【0016】
更新ソフトウェア21、および出力変化情報22を取得したソフトウェア更新部12は、出力変化情報22を比較部13に送信するとともに、更新ソフトウェア21を待機系の主動作部(2系)111に適用し、更新する。更新が完了すると、ソフトウェア更新部12は、ソフトウェア更新が完了したことを主動作部(1系)110、主動作部(2系)111、比較部13、切替部14に通知する。
【0017】
主動作部(2系)111のソフトウェア更新完了の通知を受けた切替部14は、入力装置30から入力された入力データ32を、待機系の主動作部(2系)111にも送信する。入力データ32を処理した主動作部(1系)110および主動作部(2系)111は、データ処理により、出力データ(1)330および出力データ(2)331をそれぞれ作成し、各データを比較部13に送信する。現行系の主動作部(1系)110の出力データ(1)330は、通常通り出力装置31へも送信される。あるいは、主動作部が比較部へ出力データを送信するのではなく、ソフトウェア更新完了の通知を受けた比較部13が主動作部から出力データを取得する方法でも良い。
【0018】
比較部13は、取得した出力データ(1)330と出力データ(2)331を比較し、その結果に基づいて、更新ソフトウェア21をテストする。すなわち比較部13は、出力データ(1)330と出力データ(2)331との比較の結果を出力変化情報22と照合し、ソフトウェア更新をした主動作部(2系)111が適切に動作しているか否かを確認する。つまり比較部13は、変化すべきでない出力データの項目が変化していないか否かを確認する。
【0019】
出力変化情報22は、例えば、更新内容が装置の脆弱性対策のみであった場合、「すべての項目で出力データの変化なし」となる。出力データ(2)331が変化していないことを確認する方法として、例えば、出力データ(1)330に対する出力データ(2)331の追従度が時間軸、出力値に対してある一定の誤差以下に収まっているか否かを確認する方法がある。
あるいは、別の比較方法として、確認期間中の出力データ(1)330、出力データ(2)331の時間平均の値がある一定の誤差以下に収まっているか否かを確認する方法もある。出力データ(2)331の変化する項目に関しては、前記の出力データ(2)331が変化していない確認の対象から除外しても良いし、前記の「出力データが変化していないと判断する条件」に当てはまらないことを確認しても良い。
【0020】
どのような方法で出力データの比較をするかは、予めデフォルトで決められていても良いし、ユーザが複数の比較方法の中から選択するようにしても良い。また、比較部13が出力データ(1)330を収集する期間、および、出力データ(2)331を収集する期間も、予めデフォルトで決められていても良い。あるいは入力装置30が、ユーザによる出力データ(1)330を収集する期間の設定と、出力データ(2)331を収集する期間の設定とを受け付けるようにしても良い。また、出力データが適切であるかを確認するための閾値も、あらかじめ装置によって決められていても良いし、入力装置30を用いてユーザが設定できるようにしても良い。
【0021】
なお、出力データ(2)331を収集する期間に関しては、その期間、装置の冗長系の動作を一時的に停止することになる。このため、主動作部(1系)110に障害が発生してサービス提供が停止してしまうリスクを考慮して決定するのが好ましい。
【0022】
比較部13は、更新ソフトウェア21が適切に動作していると判断した場合、そのことをソフトウェア更新部12へ通知する。通知を受けたソフトウェア更新部12は、切替部14に現行系/待機系の切り替えをリクエストした後、主動作部(1系)110の方にも更新ソフトウェア21を適用して更新する。
【0023】
比較部13が、更新ソフトウェア21の動作に問題があると判断した場合、主動作部(1系)110の更新を中止し、主動作部(2系)111のソフトウェアを更新前のものに戻す。また、この時に比較部が収集した出力データや、出力データが適切に動作していると判断した根拠となるデータを、出力装置31を介してユーザに提示しても良い。
【0024】
<効果>
以上のように第1の実施形態によれば、更新前のソフトウェアで動作する主動作部(1系)110の出力データ(1)330と、更新後のソフトウェアで動作する主動作部(2系)111の出力データ(2)331とを比較することで、更新ソフトウェア21の動作に問題がないかを確認することができる。特に、確認テスト用の環境を構築するのに多大なコストがかかるような、大型かつ量産されない装置について、確認用のコストを抑えた上で、エミュレータ上でのテストより精度よくソフトウェアの不具合を見つけ出すことができる。
【0025】
このように、更新対象装置10の冗長系を一時的にテスト環境として利用することで、テスト用環境を新たに構築することなく、実動作環境と完全に同じ環境で更新ソフトウェアの動作確認ができる。実機を利用することから、エミュレータ上に構築した仮想テスト環境でテストする場合と比べて不具合の取りこぼしが少ない。しかも、テスト中に不具合が発生したとしても装置の主動作に影響はない。これらのことから、第1の実施形態によれば、テストを漏れなく実施可能な情報処理装置を低コストで提供することが可能となる。
【0026】
[第2の実施形態]
<構成および作用>
図3は、第2の実施形態におけるデータフローの一例を示す図である。なお第2の実施形態では、更新ソフトウェア管理サーバ20が出力変化情報22を有していないことを想定する。
【0027】
図3において、ソフトウェア更新部12は、更新ソフトウェア管理サーバ20から更新ソフトウェア21を取得し、更新ソフトウェア21を待機系の主動作部(2系)111に適用してソフトウェアを更新する。更新が完了すると、ソフトウェア更新部12は、ソフトウェア更新が完了したことを主動作部(1系)110、主動作部(2系)111、比較部13、切替部14に通知する。そうすると第1の実施形態と同様に、出力データ(1)330および出力データ(2)331が比較部13に送信される。
【0028】
比較部13は、一定期間の出力データを収集した後、当該収集した出力データや、出力データが適切に動作していると判断した根拠となるデータを、出力装置31を介してユーザに提示する。ユーザは、提示されたデータを参照し、主動作部(1系)110の更新を継続するか、または更新を中断して主動作部(2系)111のソフトウェアを更新前のものに戻すかを判断する。その判断は、入力装置30介してソフトウェア更新部12に指示される。例えば、更新を継続して実施する判断がなされた場合には、ユーザは、現行系に指定された主動作部(1系)110のソフトウェアを更新ソフトウェア21に更新することを、入力装置30介してソフトウェア更新部12に指示する。
【0029】
<効果>
第2の実施形態では、ソフトウェアの更新の継続/中断をユーザの判断にゆだねることが可能になる。これにより、例えば、より複雑な条件でソフトウェア更新を継続するかどうかを決定できるという効果がある。特に、出力データが変化するようなソフトウェア更新をする際は、更新後の出力データが適切に変化しているかどうかを確認して更新継続を判断できる。従って、第2の実施形態によっても、テストを漏れなく実施可能な情報処理装置を低コストで提供することが可能となる。
【0030】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0031】
10…更新対象装置、12…ソフトウェア更新部、13…比較部、14…切替部、20…更新ソフトウェア管理サーバ、21…更新ソフトウェア、22…出力変化情報、30…入力装置、31…出力装置、32…入力データ、110…主動作部(1系)、111…主動作部(2系)、330…出力データ(1)、331…出力データ(2)。