JPWO2017179537A1 - ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体 - Google Patents

ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体 Download PDF

Info

Publication number
JPWO2017179537A1
JPWO2017179537A1 JP2018512005A JP2018512005A JPWO2017179537A1 JP WO2017179537 A1 JPWO2017179537 A1 JP WO2017179537A1 JP 2018512005 A JP2018512005 A JP 2018512005A JP 2018512005 A JP2018512005 A JP 2018512005A JP WO2017179537 A1 JPWO2017179537 A1 JP WO2017179537A1
Authority
JP
Japan
Prior art keywords
information processing
information
output
software
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018512005A
Other languages
English (en)
Other versions
JP6784291B2 (ja
Inventor
文雄 町田
文雄 町田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2017179537A1 publication Critical patent/JPWO2017179537A1/ja
Application granted granted Critical
Publication of JP6784291B2 publication Critical patent/JP6784291B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行う。ソフトウェア更新制御装置60は、ソフトウェア更新後の動作環境を第2の情報処理システム80の中に構築する第1の実行制御部61と、更新後の動作を検証する検証部62と、第1の情報処理システム70におけるソフトウェア更新前の動作環境を第2の情報処理システム80に移動させる引継ぎ制御部63と、第2の情報処理システム80に更新後のソフトウェアを実行させる第2の実行制御部64と、第2の情報処理システム80の処理対象情報を、更新前のソフトウェアを実行して得られた情報から更新後のソフトウェアを実行して得られた情報に切り替える切り替え部65と、を備える。

Description

本願発明は、情報処理装置がソフトウェアを実行する動作を停止することなく、当該ソフトウェアを更新する技術に関する。
高度情報化社会である現代社会においては、社会インフラの基盤として、様々なコンピュータシステムが稼動している。このようなコンピュータシステムでは、機能の向上、あるいは、セキュリティ対策等を目的としたソフトウェアの更新が行われる。高いレベルの可用性が求められるコンピュータシステムは、ソフトウェアの更新に伴い動作を一時停止した場合、社会に大きな影響を与える虞がある。したがって、コンピュータシステムの動作を停止させずに、ソフトウェアを更新する技術が期待されている。
このような技術に関連する技術として、特許文献1には、ソフトウェアを動作させる仮想ハードウェアを冗長化構成した仮想計算機システムが開示されている。このシステムは、冗長化構成において動作するソフトウェアを更新する場合、待機系仮想ハードウェアにおいて動作するソフトウェアを更新した後、稼動系による処理を待機系が引継ぐように制御する。
また、特許文献2には、ロードバランサにより負荷分散されるサーバのクラスタを多段、多階層有する複数の系統からなる情報処理システムにおいて、無停止でソフトウェアのバージョンアップ等のメンテナンスを行うソフトウェア更新方法が開示されている。
また、特許文献3には、ハイパーバイザ型の仮想マシンモニターと、その仮想マシンモニターの上で業務を行う第1仮想マシンと、ソフトウェアのインストールまたはアップグレードを行う第2仮想マシンと、を備えた分散型情報処理システムが開示されている。このシステムでは、第2仮想マシンは、自己に対して更新後のソフトウェアをインストールした後、第1仮想マシンにおいて動的に更新されるデータ格納場所の情報が保存されているインデックステーブルを段階的に自己に移行する。そして、このシステムは、その移行が完了したときに、第1仮想マシンから第2仮想マシンへ処理を切り替える。
また、特許文献4には、マルチコアシステムにおいて、運用中のファームウェアが稼働しているコアとは別のコアを利用することによって、別のコアの占有メモリ領域に更新ファームウェアをロードする制御装置が開示されている。この装置は、更新ファームウェアが正常に動作するか否かを検査したのちに、ファームウェアに対する処理を運用中のコアから当該別のコアに切り替える。
また、特許文献5には、ロードバランサによって、ソフトウェアが更新される前の旧クラスタと、ソフトウェアが更新された後の新クラスタとを管理するクラスタシステムが開示されている。このシステムは、既に受付済みの処理を旧クラスタへ、新たな処理要求を新クラスタへ振り分ける制御を行う。
特開2007-304845号公報 特開2015-197838号公報 特開2011-170528号公報 特許第5293752号公報 特許第5667506号公報
センサーやカメラなどのデバイスから生成されるデジタルデータを、ネットワークを介して集約し、集約したデータに対して、分析あるいは状況の可視化を行うことによって、予測や制御等を行うIoT(Internet of Things)システムの活用が広まってきている。このようなIoTシステムは、多数のデバイスを統合管理するので、データセンター等のクラウドシステム側にデータを集めることによって、集中的に計算処理を行う形態が一般的である。しかしながら、ネットワークに接続されるデバイスの数が増えることにより、扱うデータ量が膨大になるにつれて、クラウドシステム側が全ての処理を行うことは非効率となる。
このような問題に対して、データの生成源であるデバイスに近い場所にエッジサーバ(以降、「エッジ」と称する)と呼ばれる計算機サーバが設置され、そのエッジがデータ処理の一部を実行するエッジ型システムが利用されるようになってきている。例えば、エッジが多数のデバイスから集めたデータを集計し、その集計結果のみをクラウドシステムに転送することによって、クラウドシステムへのデータ転送量を削減することができる。また、収集したデータに基づいてリアルタイムな制御を行う必要があるシステム等では、エッジによる制御判断を実施した方が、制御における遅延を抑えることができるので、精度が高い制御を実現することができる。
このようなエッジ型IoTシステムでは、エッジによって実行されるソフトウェアを更新する場合がある。可用性に対する要件が厳しいIoTシステムでは、このような場合、エッジによって実行される更新後のソフトウェアがクラウドシステムと連携して正常に動作することを確認したのち、IoTシステムの動作を停止させることなく、ソフトウェアの更新処理を行うことが課題である。上述した特許文献には、例えば、二重化等の多重化したシステムを利用することによってソフトウェア更新時の無停止性を実現した技術が示されている。しかしながら、エッジ型IoTシステムでは、通常、エッジが備える計算機資源(情報処理資源)が限られているので、エッジによって実行されるソフトウェアの更新に対して、多重化に基づく無停止更新技術を適用することが困難であるという問題がある。特許文献1乃至5は、この問題について言及していない。本願発明の主たる目的は、この問題を解決するソフトウェア更新制御装置等を提供することである。
本願発明の一態様に係るソフトウェア更新制御装置は、第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御する第一の実行制御手段と、前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証する検証手段と、前記検証手段による前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御する引継ぎ制御手段と、前記引継ぎ制御手段による処理が行われたのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御する第二の実行制御手段と、前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える切り替え手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るソフトウェア更新制御方法は、情報処理装置によって、第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御し、前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証し、前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御し、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できる状態になったのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御し、前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るソフトウェア更新制御プログラムは、第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御する第一の実行制御処理と、前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証する検証処理と、前記検証処理による前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御する引継ぎ制御処理と、前記引継ぎ制御処理による処理が行われたのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御する第二の実行制御処理と、前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える切り替え処理と、をコンピュータに実行させるためのプログラムである。
更に、本願発明は、係るソフトウェア更新制御プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことを可能とする。
本願発明の第1の実施形態に係るソフトウェア更新制御システム1の構成を示すブロック図である。 本願発明の第1の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される前の、各システムの状態を例示する図である。 本願発明の第1の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。 本願発明の第1の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新された後の、各システムの状態を例示する図である。 本願発明の第1の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(2/2)である。 本願発明の第2の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(1/2)である。 本願発明の第2の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(2/2)である。 本願発明の第3の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される前の、各システムの状態を例示する図である。 本願発明の第3の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。 本願発明の第3の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新された後の、各システムの状態を例示する図である。 本願発明の第3の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(1/2)である。 本願発明の第3の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(2/2)である。 本願発明の第4の実施形態に係るソフトウェア更新制御システム2の構成を示すブロック図である。 本願発明の第4の実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。 本願発明の第4の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(1/2)である。 本願発明の第4の実施形態に係るソフトウェア更新制御装置10の動作を示すフローチャート(2/2)である。 本願発明の第5の実施形態に係るソフトウェア更新制御システム3の構成を示すブロック図である。 本願発明の第5の実施形態に係るエッジ側システム20−1乃至20−n及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。 本願発明の第6の実施形態に係るソフトウェア更新制御装置60の構成を示すブロック図である。 本願発明の各実施形態に係るソフトウェア更新制御装置を実行可能な情報処理装置の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るソフトウェア更新制御システム1の構成を概念的に示すブロック図である。ソフトウェア更新制御システム1は、例えば、IoTシステムにおけるエッジによって実行されるソフトウェアを更新するシステムである。ソフトウェア更新制御システム1は、大別して、ソフトウェア更新制御装置10、エッジ側システム20、クラウド側システム30、及び、デバイス群40を有する。
デバイス群40は、例えばセンサーやカメラなどを含むデバイス群であり、観測対象を観測した結果を表す観測データを生成して出力する。
エッジ側システム20(第1の情報処理システム)は、エッジサーバ等の情報処理装置であり、エッジ側仮想サーバ基盤21と、エッジハブ22とを備えている。エッジハブ22は、デバイス群40と通信可能に接続されており、デバイス群40から出力された観測データを受信する。エッジ側仮想サーバ基盤21は、仮想サーバ210を実行可能な基盤であり、プロセッサやメモリ等のハードウェア(例えば図17を参照して後述するような構成)と、ハイパーバイザ(仮想サーバの実行を制御するソフトウェア)等のソフトウェア(不図示)とを含んでいる。仮想サーバ210は、エッジハブ22が受信した観測データを、処理対象データとして処理したのち、当該処理対象データを、通信可能に接続されているクラウド側システム30に送信する。尚、エッジ側システム20が備えるプロセッサやメモリ等のハードウェアの量は少ないので、エッジ側仮想サーバ基盤21が実行可能な仮想サーバの数は、限定的であることとする。
クラウド側システム30(第2の情報処理システム)は、例えばデータセンターとして設置された、多数の情報処理装置を含むシステムであり、クラウド側仮想サーバ基盤31と、アプリケーションハブ32と、メッセージバッファ33とを備えている。クラウド側仮想サーバ基盤31は、仮想サーバ310−1乃至310−m(mは任意の自然数)を実行可能な基盤であり、プロセッサやメモリ等のハードウェア(例えば図17を参照して後述するような構成)と、ハイパーバイザ等のソフトウェア(不図示)とを含んでいる。仮想サーバ310−1乃至310−mは、エッジ側システム20から送信された処理対象データに対して所定の処理を行う。
クラウド側システム30は、アプリケーション34を実行する。アプリケーション34は、仮想サーバ310−1乃至310−mによって処理された処理対象データを使用したサービスを提供する。アプリケーション34は、例えば、当該処理対象データに基づく情報分析あるいはシステム制御等を行う。当該処理対象データは、アプリケーションハブ32を介して、アプリケーション34に入力される。アプリケーションハブ32は、メッセージバッファ33とも接続されている。メッセージバッファ33は、仮想サーバ310−1乃至310−mから出力されたデータを一時的に記憶可能な電子メモリ等のデバイスである。アプリケーションハブ32は、外部からの制御に従って、仮想サーバ310−1乃至310−mから出力されたデータ、あるいは、メッセージバッファ33に記憶されたデータのいずれかを選択して、アプリケーション34に入力する。
ソフトウェア更新制御装置10は、仮想サーバ210によって実行されるソフトウェアと、仮想サーバ310−1乃至310−mによって実行されるソフトウェアとに対する更新処理を制御する装置である。ソフトウェア更新制御装置10は、エッジ側システム20及びクラウド側システム30と、通信可能に接続されている。
ソフトウェア更新制御装置10は、第1仮想サーバ制御部11、検証部12、引継ぎ制御部13、第2仮想サーバ制御部14、切り替え部15、エッジハブ制御部16、及び、ソフトウェア記憶部17を備えている。
ソフトウェア記憶部17は、クラウド側更新前ソフトウェア170、クラウド側更新後ソフトウェア171、エッジ側更新前ソフトウェア172、及び、エッジ側更新後ソフトウェア173を記憶している。クラウド側更新前ソフトウェア170は、仮想サーバ310−1乃至310−mによって実行される更新前のソフトウェアである。クラウド側更新後ソフトウェア171は、仮想サーバ310−1乃至310−mによって実行される更新後のソフトウェアである。エッジ側更新前ソフトウェア172は、仮想サーバ210によって実行される更新前のソフトウェアである。エッジ側更新後ソフトウェア173は、仮想サーバ210によって実行される更新後のソフトウェアである。
図2は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される前の、各システムの状態を例示する図である。図2に例示する通り、仮想サーバ210(第1の情報処理資源)は、エッジ側更新前ソフトウェア172を実行することによって、エッジハブ22(データ受信部)から入力された観測データを処理し、処理結果である処理対象データを仮想サーバ310−1に入力する。仮想サーバ310−1は、クラウド側更新前ソフトウェア170を実行することによって、仮想サーバ210から入力された処理対象データを処理し、処理結果である処理対象データをアプリケーションハブ32に入力する。
図1に示すソフトウェア更新制御装置10は、図2に示す状態において、エッジ側システム20及びクラウド側システム30によって実行されるソフトウェアを、エッジ側更新後ソフトウェア173及びクラウド側更新後ソフトウェア171に更新する処理を開始する。
図3は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。図1に示す第1仮想サーバ制御部11(第1の実行制御部)は、図3に示す通り、クラウド側仮想サーバ基盤31を制御することによって、仮想サーバ310−2、及び、仮想サーバ310−3(第2の情報処理資源)を新たに立ち上げる。第1仮想サーバ制御部11は、ソフトウェア記憶部17からクラウド側更新後ソフトウェア171及びエッジ側更新後ソフトウェア173を読み出して、読み出したこれらのソフトウェアを、順に、仮想サーバ310−2及び310−3が実行するように制御する。
図1に示すエッジハブ制御部16(データ受信部制御部)は、第1仮想サーバ制御部11が上述した処理を行う際に、エッジハブ22が、デバイス群40から受信した観測データを複製し、複製した観測データを仮想サーバ310−3に入力するように制御する。これにより、図3に示す通り、更新後のソフトウェアによって観測データを処理する(試行動作を行う)環境が、クラウド側仮想サーバ基盤31の中に構築される。
図1に示す検証部12は、仮想サーバ310−3が観測データを処理することによって出力した処理対象データを仮想サーバ310−2が処理する試行動作が正常であるか否かを検証する。検証部12には、例えば、この検証に必要な判定基準がシステム管理者等によって事前に与えられており、検証部12は、当該判定基準に基づいて上述した検証を行うこととする。検証部12は、ソフトウェアの更新処理が完了し、エッジ側システム20及びクラウド側システム30が、更新後のソフトウェアを実行することによって観測データを処理することを開始したのちも、エッジ側システム20及びクラウド側システム30による処理を検証することを継続する。検証部12は、検証結果が異常であることを示す場合、ソフトウェア更新制御システム1における障害発生状況等を管理するシステム管理部(不図示)に、異常が発生したことを通知する。
図4は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新された後の、各システムの状態を例示する図である。図1に示す引継ぎ制御部13は、検証部12による検証結果が正常であることを示す場合、図3及び図4に示す通り、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31を制御することによって、仮想サーバ210を、クラウド側仮想サーバ基盤31に、仮想サーバ310−4(第3の情報処理資源)としてライブマイグレーションを行う。ライブマイグレーションは、仮想サーバの動作を停止させずに、当該仮想サーバの動作環境を異なる物理システムに移動させる既存の技術であり、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31は、このライブマイグレーションの機能を実装していることとする。このライブマイグレーションによって、仮想サーバ310−4から出力された処理対象データは、仮想サーバ310−1に入力されるので、ライブマイグレーションが行われた後も、更新前のソフトウェアによって観測データを処理する環境は、クラウド側仮想サーバ基盤31の中に維持される。
図1に示す第2仮想サーバ制御部14は、引継ぎ制御部13による処理が行われたのち、図3及び図4に示す通り、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31を制御することによって、仮想サーバ310−3を、エッジ側仮想サーバ基盤21に、新たな仮想サーバ210としてライブマイグレーションを行う。このライブマイグレーションによって、仮想サーバ210から出力された処理対象データは、仮想サーバ310−2に入力される。したがって、ライブマイグレーションが行われた後も、更新後のソフトウェアによって観測データを処理する環境は、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31の中に維持される。
図1に示す切り替え部15は、クラウド側仮想サーバ基盤31を制御することによって、図3及び図4に例示する通り、アプリケーションハブ32へ入力される情報を、仮想サーバ310−1から出力された情報から、仮想サーバ310−2から出力された情報に切り替える。これによって、アプリケーションハブ32に入力される情報は、更新前のソフトウェアによって観測データが処理された情報(更新前出力情報)から、更新後のソフトウェアによって観測データが処理された情報(更新後出力情報)に切り替わる。
切り替え部15は、図3及び図4に例示する通り、上述したアプリケーションハブ32への入力の切り替えに伴い、メッセージバッファ33に、仮想サーバ310−1から出力された情報(更新前出力情報)を入力する。すなわち、メッセージバッファ33は、ソフトウェアの更新処理が完了し、エッジ側システム20及びクラウド側システム30が、更新後のソフトウェアを実行することによって観測データを処理することを開始したのち、仮想サーバ310−1及び310−4によって生成される更新前出力情報を記憶する。
切り替え部15は、ソフトウェアの更新処理が完了したのち、検証部12による検証結果が異常であることを示す場合、アプリケーションハブ32を制御することによって、アプリケーション34へ入力される情報を、仮想サーバ310−2から出力された更新後出力情報から、メッセージバッファ33に記憶されている更新前出力情報に切り替える。これにより、エッジ側システム20及びクラウド側システム30による、観測データを処理する環境は、ソフトウェアの更新が行われる前の環境に戻る。
図4に示す仮想サーバ310−1及び310−4(すなわち、更新前のソフトウェアを実行する環境)は、ソフトウェアの更新処理が完了したのち、例えば検証部12による検証結果が所定の時間に亘って正常であることをもって、第1仮想サーバ制御部11によって動作を停止する。
次に図5A及び5Bのフローチャートを参照して、本実施形態に係るソフトウェア更新制御装置10の動作(処理)について詳細に説明する。
第1仮想サーバ制御部11は、仮想サーバ310−2及び310−3を起動し、順に、クラウド側更新後ソフトウェア171及びエッジ側更新後ソフトウェア173を実行させる(ステップS101)。エッジハブ制御部16は、エッジハブ22が、デバイス群40から受信した観測データを複製し、複製した観測データを仮想サーバ310−3に入力するように制御する(ステップS102)。検証部12は、仮想サーバ310−2及び310−3が行う試行動作を検証する(ステップS103)。
検証部12による検証結果が異常である場合(ステップS104でNo)、ソフトウェア更新制御装置10は、エッジ側システム20及びクラウド側システム30を、ソフトウェア更新処理を開始する前の状態に戻す(ステップS114)。検証部12は、異常が発生したことをシステム管理部に通知して、全体の処理は終了する。
検証部12による検証結果が正常である場合(ステップS104でYes)、切り替え部15は、仮想サーバ310−1からの出力をメッセージバッファ33に切り替え、仮想サーバ310−2からの出力をアプリケーションハブ32に接続する(ステップS105)。検証部12は、仮想サーバ310−2及び310−3が行う動作を検証する(ステップS106)。
検証部12による検証結果が異常である場合(ステップS107でNo)、処理は、ステップS114へ進む。検証部12による検証結果が正常である場合(ステップS107でYes)、引継ぎ制御部13は、仮想サーバ210を、仮想サーバ310−4としてライブマイグレーションする(ステップS108)。第2仮想サーバ制御部14は、仮想サーバ310−3を、新たな仮想サーバ210としてライブマイグレーションする(ステップS109)。検証部12は、仮想サーバ210及び310−2が行う動作を検証する(ステップS110)。
検証部12による検証結果が異常である場合(ステップS111でNo)、処理は、ステップS114へ進む。検証部12による検証結果が正常である場合(ステップS111でYes)、エッジハブ制御部16は、エッジハブ22から仮想サーバ310−4に対する観測データの入力を停止する(ステップS112)。第1仮想サーバ制御部11は、仮想サーバ310−1及び310−4の動作を停止して(ステップS113)、全体の処理は終了する。
本実施形態に係るソフトウェア更新制御装置10は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、ソフトウェア更新制御装置10が、ソフトウェア更新後の全体の動作環境をクラウド側システム30の中に構築してその動作を検証したのち、エッジ側システム20におけるソフトウェア更新前の動作環境をクラウド側システム30に移動させるとともに、エッジ側システム20が更新後のソフトウェアを実行するように制御するからである。
以下に、本実施形態に係るソフトウェア更新制御装置10によって実現される効果について、詳細に説明する。
可用性に対する要件が厳しいIoTシステム等において、エッジによって実行されるソフトウェアを更新する場合、IoTシステムの動作を停止させることなく、ソフトウェアの更新処理を行うことが課題である。そして、その際、エッジによって実行される更新後のソフトウェアがクラウドシステムと連携して正常に動作することが確認できていることが望ましい。既存の技術として、例えば、二重化等の多重化したシステムを利用することによってソフトウェア更新時の無停止性を実現した技術が存在する。しかしながら、エッジ型IoTシステム等では、通常、エッジが備える計算機資源が限られているので、エッジによって実行されるソフトウェアの更新に対して、多重化に基づく無停止更新技術を適用することが困難であるという問題がある。
このような問題に対して、本実施形態に係るソフトウェア更新制御装置10では、第1仮想サーバ制御部11は、仮想サーバ210がエッジ側更新前ソフトウェア172を実行することによって出力した更新前出力情報を、クラウド側システム30が処理する場合において、エッジ側更新後ソフトウェア173を、仮想サーバ310−3が実行するように制御する。検証部12は、仮想サーバ310−3がエッジ側更新後ソフトウェア173を実行することによって出力した更新後出力情報を、クラウド側システム30が処理する試行動作を検証する。引継ぎ制御部13は、検証部12による検証結果が正常であることを示す場合に、エッジ側更新前ソフトウェア172を実行する仮想サーバ210の状態を仮想サーバ310−4が引き継ぎ、仮想サーバ310−4から出力された更新前出力情報をクラウド側システム30が処理できるように制御する。第2仮想サーバ制御部14は、引継ぎ制御部13による処理が行われたのち、仮想サーバ210がエッジ側更新後ソフトウェア173を実行することによって更新後出力情報を出力するように制御する。切り替え部15は、クラウド側システム30が処理対象とする処理対象情報を、仮想サーバ210から出力された更新前出力情報から、仮想サーバ310−3から出力された更新後出力情報に切り替える。
すなわち、本実施形態に係るソフトウェア更新制御装置10は、大量の情報処理資源を備えるクラウド側システム30を利用して、更新後のソフトウェアを検証する。そして、ソフトウェア更新制御装置10は、更新前のソフトウェアの実行環境をクラウド側システム30に移動することと、エッジ側システム20が更新後のソフトウェアの実行を開始することとを、各システムが動作を停止することなく行うように制御する。これにより、本実施形態に係るソフトウェア更新制御装置10は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。
また、本実施形態に係るソフトウェア更新制御装置10は、ソフトウェアの更新が行われた後も、少なくとも所定の期間は、更新前のソフトウェアの実行環境をクラウド側システム30に残し、更新前のソフトウェアの実行環境によって得られた結果がメッセージバッファ33に記憶されるように制御する。ソフトウェア更新制御装置10は、更新後のソフトウェアによる処理において異常が発生した場合、クラウド側システム30が、処理対象情報として、メッセージバッファ33に記憶された情報を使用するように制御することによって、システムをソフトウェアが更新される前の状態に戻すことができる。したがって、本実施形態に係るソフトウェア更新制御装置10は、システムの可用性を向上することができる。
尚、本実施形態に係るソフトウェア更新制御装置10が制御を行う対象は、仮想サーバに限定されない。ソフトウェア更新制御装置10は、例えば、物理サーバ同士でマイグレーションを行う技術を利用することによって、エッジ側システム20及びクラウド側システム30に含まれる物理サーバに対して、上述した処理を行ってもよい。
また、本実施形態に係るソフトウェア更新制御装置10が制御を行う対象は、デバイス群によって生成された観測データを処理するエッジ側システムとクラウド側システムとから構成されるIoTシステムに限定されない。ソフトウェア更新制御装置10は、例えば、特定のアプリケーションを分散処理する複数の小規模サーバと、それらの小規模サーバを制御する大規模サーバを含むシステムにおけるソフトウェアを更新する際に、上述した処理を行ってもよい。
<第2の実施形態>
次に、本願発明の第2の実施形態に係るソフトウェア更新制御システム1について説明する。本実施形態に係るソフトウェア更新制御システム1の構成は、図1に示す第1の実施形態に係るソフトウェア更新制御システム1と同様である。本実施形態に係るソフトウェア更新制御装置10は、その動作フローが第1の実施形態とは異なる構成を有する。本実施形態に係るソフトウェア更新制御装置10の動作(処理)について、図6A及び6Bのフローチャートを参照して詳細に説明する。
ソフトウェア更新制御装置10は、図5Aに示すステップS101乃至S103の処理を実行する(ステップS201)。検証部12による検証結果が異常である場合(ステップS202でNo)、ソフトウェア更新制御装置10は、図5Aに示すステップS114及びS115の処理を実行し(ステップS211)、全体の処理は終了する。
検証部12による検証結果が正常である場合(ステップS202でYes)、引継ぎ制御部13は、仮想サーバ210を、仮想サーバ310−4としてライブマイグレーションする(ステップS203)。第2仮想サーバ制御部14は、仮想サーバ310−3を、新たな仮想サーバ210としてライブマイグレーションする(ステップS204)。検証部12は、仮想サーバ210及び310−2が行う動作を検証する(ステップS205)。
検証部12による検証結果が異常である場合(ステップS206でNo)、処理はステップS211へ進む。検証部12による検証結果が正常である場合(ステップS206でYes)、切り替え部15は、仮想サーバ310−1からの出力をメッセージバッファ33に切り替え、仮想サーバ310−2からの出力をアプリケーションハブ32に接続する(ステップS207)。検証部12は、仮想サーバ210及び310−2が行う動作を検証する(ステップS208)。
検証部12による検証結果が異常である場合(ステップS209でNo)、処理はステップS211へ進む。検証部12による検証結果が正常である場合(ステップS209でYes)、ソフトウェア更新制御装置10は、図5Bに示すステップS112及びS113の処理を実行し(ステップS210)、全体の処理は終了する。
本実施形態に係るソフトウェア更新制御装置10は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、第1の実施形態について説明した通りである。
また、本実施形態に係るソフトウェア更新制御装置10は、第1の実施形態とは異なり、仮想サーバ210から仮想サーバ310−4へのマイグレーション、及び、仮想サーバ310−3から仮想サーバ210へのマイグレーションを行ったのちに、クラウド側システム30の処理対象情報を、更新前出力情報から更新後出力情報に切り替える。したがって、本実施形態に係るソフトウェア更新制御装置10は、更新後のソフトウェアを実際の動作環境により近い状態において検証したのちに、更新後のソフトウェアに切り替えるので、システムの可用性をさらに向上することができる。
<第3の実施形態>
次に、本願発明の第3の実施形態に係るソフトウェア更新制御システム1について説明する。本実施形態に係るソフトウェア更新制御システム1の構成は、図1に示す第1の実施形態に係るソフトウェア更新制御システム1と同様である。本実施形態に係るソフトウェア更新制御装置10は、エッジ側システム20及びクラウド側システム30に対して、第1及び第2の実施形態とは異なる制御を行う。
図7は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される前の、各システムの状態を例示する図である。図7に例示する通り、本実施形態に係るエッジ側仮想サーバ基盤21には、図2に示す第1の実施形態のときとは異なり、仮想サーバ210に加えて仮想サーバ211(第4の情報処理資源)が存在する。仮想サーバ211は、基準よりも優先度が低い低優先度処理212を行っている。
本実施形態に係るソフトウェア更新制御装置10は、図7に示す状態において、エッジ側システム20及びクラウド側システム30によって実行されるソフトウェアを、エッジ側更新後ソフトウェア173及びクラウド側更新後ソフトウェア171に更新する処理を開始する。
図8は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。引継ぎ制御部13は、図7及び図8に示す通り、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31を制御することによって、仮想サーバ211を、クラウド側仮想サーバ基盤31に、仮想サーバ310−4としてライブマイグレーションを行う。
図9は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新された後の、各システムの状態を例示する図である。第2仮想サーバ制御部14は、引継ぎ制御部13による処理が行われたのち、図8及び図9に示す通り、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31を制御することによって、仮想サーバ310−3を、エッジ側仮想サーバ基盤21に、新たな仮想サーバ211としてライブマイグレーションを行う。このライブマイグレーションによって、仮想サーバ211から出力された処理対象データは、仮想サーバ310−2に入力されるので、ライブマイグレーションが行われた後も、更新後のソフトウェアによって観測データを処理する環境は、エッジ側仮想サーバ基盤21及びクラウド側仮想サーバ基盤31の中に維持される。
図9に示す仮想サーバ210及び310−1(すなわち、更新前のソフトウェアを実行する環境)は、ソフトウェアの更新処理が完了したのち、例えば検証部12による検証結果が所定の時間に亘って正常であることをもって、第1仮想サーバ制御部11及び第2仮想サーバ制御部14によって動作を停止する。引継ぎ制御部13は、仮想サーバ210によるエッジ側更新前ソフトウェア172を実行する動作が停止したのち、低優先度処理212を実行する仮想サーバ310−4を、エッジ側仮想サーバ基盤21に、新たな仮想サーバ210としてライブマイグレーションを行う。これにより、低優先度処理212は、ソフトウェアの更新処理が行われる前と同様に、エッジ側システム20により実行される状態に戻る。
次に図10A及び10Bのフローチャートを参照して、本実施形態に係るソフトウェア更新制御装置10の動作(処理)について詳細に説明する。
ソフトウェア更新制御装置10は、図5Aに示すS101乃至S103の処理を実行する(ステップS301)。検証部12による検証結果が異常である場合(ステップS302でNo)、ソフトウェア更新制御装置10は、図5Aに示すステップS114及びS115の処理を実行し(ステップS313)、全体の処理は終了する。
検証部12による検証結果が正常である場合(ステップS302でYes)、引継ぎ制御部13は、仮想サーバ211を、仮想サーバ310−4としてライブマイグレーションする(ステップS303)。第2仮想サーバ制御部14は、仮想サーバ310−3を、仮想サーバ211としてライブマイグレーションする(ステップS304)。検証部12は、仮想サーバ211及び310−2が行う動作を検証する(ステップS305)。
検証部12による検証結果が異常である場合(ステップS306でNo)、処理はステップS313へ進む。検証部12による検証結果が正常である場合(ステップS306でYes)、切り替え部15は、仮想サーバ310−1からの出力をメッセージバッファ33に切り替え、仮想サーバ310−2からの出力をアプリケーションハブ32に接続する(ステップS307)。検証部12は、仮想サーバ211及び310−2が行う動作を検証する(ステップS307)。
検証部12による検証結果が異常である場合(ステップS309でNo)、処理はステップS313へ進む。検証部12による検証結果が正常である場合(ステップS309でYes)、エッジハブ制御部16は、エッジハブ22から仮想サーバ210に対する観測データの入力を停止する(ステップS311)。引継ぎ制御部13は、仮想サーバ310−4を、仮想サーバ210としてライブマイグレーションし(ステップS312)、全体の処理は終了する。
本実施形態に係るソフトウェア更新制御装置10は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、第1の実施形態について説明した通りである。
また、本実施形態に係るソフトウェア更新制御装置10は、エッジ側更新前ソフトウェア172を実行する仮想サーバ210を、クラウド側システム30にマイグレーションしないで、ソフトウェアの更新処理を行うように制御する。この処理は、エッジ側システム20において優先度が低い処理を行う仮想サーバ211を、一時的にクラウド側システム30にマイグレーションした結果として、エッジ側システム20の負荷が低減することにより実現できる。仮想サーバ211は優先度が低い処理を行っているので、仮想サーバ211をクラウド側システム30にマイグレーションすることによる影響は小さい。ソフトウェア更新制御装置10は、上述した制御を行うことによって、ソフトウェアの更新処理にともなう、更新前のソフトウェアを実行する環境への影響を小さくすることができる。
また、本実施形態に係るソフトウェア更新制御装置10は、ソフトウェアの更新処理を行った後も、クラウド側システム30ではなくエッジ側システム20において、仮想サーバ210がエッジ側更新前ソフトウェア172を実行するように制御する。したがって、ソフトウェア更新制御装置10は、更新後ソフトウェアによる処理において異常が発生した場合に、より安全かつ迅速に、システムをソフトウェアが更新される前の状態に戻すことができる。
<第4の実施形態>
図11は、本願発明の第4の実施形態に係るソフトウェア更新制御システム2の構成を概念的に示すブロック図である。ソフトウェア更新制御システム2は、エッジ側システム20に加えてエッジ側システム20A(第3の情報処理システム)を有することを除いては、図1に示す第1の実施形態に係るソフトウェア更新制御システム1と同様の構成を有する。本実施形態に係るエッジ側システム20Aは、エッジ側システム20と同様に、エッジ側仮想サーバ基盤21A、及び、エッジハブ22Aを備える。エッジ側システム20Aの機能は、エッジ側システム20と同様である。
本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される前の、これらシステムの状態は、第1の実施形態と同様に図2に示す通りである。
本実施形態に係るソフトウェア更新制御装置10は、図2に示す状態において、エッジ側システム20及びクラウド側システム30によって実行されるソフトウェアを、エッジ側更新後ソフトウェア173及びクラウド側更新後ソフトウェア171に更新する処理を開始する。
図12は、本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。
図11に示す第1仮想サーバ制御部11は、図12に示す通り、エッジ側仮想サーバ基盤21Aを制御することによって、仮想サーバ210A(第5の情報処理資源)を新たに立ち上げる。第1仮想サーバ制御部11は、ソフトウェア記憶部17からエッジ側更新後ソフトウェア173を読み出して、読み出したエッジ側更新後ソフトウェア173を仮想サーバ210Aが実行するように制御する。第1仮想サーバ制御部11がクラウド側仮想サーバ基盤31を制御することによって仮想サーバ310−2を立ち上げ、仮想サーバ310−2がクラウド側更新後ソフトウェア171を実行するように制御することは、第1の実施形態と同様である。
すなわち、本実施形態に係る第1仮想サーバ制御部11は、第1の実施形態において行った、クラウド側システム30に仮想サーバ310−3を立ち上げる代わりに、エッジ側システム20Aに仮想サーバ210Aを立ち上げる。本実施形態に係るソフトウェア更新制御装置10は、第1の実施形態において仮想サーバ310−3に対して行った処理と同様の処理を、仮想サーバ210Aに対して行う。本実施形態に係るエッジ側システム20及びクラウド側システム30によって実行されるソフトウェアが、ソフトウェア更新制御装置10による制御によって更新された後のこれらシステムの状態は、第1の実施形態と同様に、図4に示す通りである。
次に図13A及び13Bのフローチャートを参照して、本実施形態に係るソフトウェア更新制御装置10の動作(処理)について詳細に説明する。
第1仮想サーバ制御部11は、仮想サーバ310−2及び210Aを起動し、順に、クラウド側更新後ソフトウェア171及びエッジ側更新後ソフトウェア173を実行させる(ステップS401)。エッジハブ制御部16は、エッジハブ22に、デバイス群40から受信した観測データを、仮想サーバ210Aに入力させる(ステップS402)。検証部12は、仮想サーバ210A及び310−2が行う試行動作を検証する(ステップS403)。
検証部12による検証結果が異常である場合(ステップS404でNo)、ソフトウェア更新制御装置10は、図5Aに示すステップS114及びS115の処理を実行し(ステップS413)、全体の処理は終了する。
検証部12による検証結果が正常である場合(ステップS404でYes)、切り替え部15は、仮想サーバ310−1からの出力をメッセージバッファ33に切り替え、仮想サーバ310−2からの出力をアプリケーションハブ32に接続する(ステップS405)。検証部12は、仮想サーバ210A及び310−2が行う動作を検証する(ステップS406)。
検証部12による検証結果が異常である場合(ステップS407でNo)、処理はステップS413へ進む。検証部12による検証結果が正常である場合(ステップS407でYes)、引継ぎ制御部13は、仮想サーバ210を、仮想サーバ310−4としてライブマイグレーションする(ステップS408)。第2仮想サーバ制御部14は、仮想サーバ210Aを、仮想サーバ210としてライブマイグレーションする(ステップS409)。検証部12は、仮想サーバ210及び310−2が行う動作を検証する(ステップS410)。
検証部12による検証結果が異常である場合(ステップS411でNo)、処理はステップS413へ進む。検証部12による検証結果が正常である場合(ステップS411でYes)、ソフトウェア更新制御装置10は、図5Bに示すステップS112及びS113の処理を実行し(ステップS412)、全体の処理は終了する。
本実施形態に係るソフトウェア更新制御装置10は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、第1の実施形態について説明した通りである。
また、本実施形態に係るソフトウェア更新制御装置10は、エッジ側更新後ソフトウェア173を使用して試行動作を行う仮想サーバを、クラウド側システム30ではなく、別のエッジ側システム20Aに構築する。これにより、ソフトウェア更新制御装置10は、当該試行動作を行う仮想サーバをクラウド側システム30に構築することに伴う、コストの増加あるいは性能問題等を回避して、ソフトウェアの更新処理を行うことができる。
<第5の実施形態>
図14は、本願発明の第5の実施形態に係るソフトウェア更新制御システム3の構成を概念的に示すブロック図である。ソフトウェア更新制御システム3は、大別して、ソフトウェア更新制御装置50、n個(nは2以上の任意の自然数)のエッジ側システム20−1乃至20−n、クラウド側システム30、及び、デバイス群40−1乃至40−nを有する。
エッジ側システム20−1乃至20−nの個々の構成は、図1に示す第1の実施形態に係るエッジ側システム20と同様である。すなわち、エッジ側システム20−1乃至20−nは、エッジ側仮想サーバ基盤21−1乃至21−n、及び、エッジハブ22−1乃至22−nを備える。エッジ側システム20−1乃至20−nは、デバイス群40−1乃至40−nと通信可能に接続されており、デバイス群40−1乃至40−nから出力された観測データを受信する。エッジ側システム20−1乃至20−nは、受信した観測データに対して、第1の実施形態に係るエッジ側システム20と同様な処理を行う。
本実施形態に係るクラウド側システム30は、エッジ側システム20−1乃至20−nと通信可能に接続され、エッジ側システム20−1乃至20−nから出力された処置対象データに対して、第1の実施形態と同様な処理を行う。
ソフトウェア更新制御装置50は、エッジ側システム20−1乃至20−n、及び、クラウド側システム30における仮想サーバが実行するソフトウェアに対する更新処理を、第1の実施形態に係るソフトウェア更新制御装置10と同様に制御する装置である。
ソフトウェア更新制御装置50は、図14に示す通り、第1の実施形態に係るソフトウェア更新制御装置10の構成に追加して、更新指示部58を備える。更新指示部58は、更新スケジュール情報580を、内部の電子メモリ等に記憶している。更新スケジュール情報580は、エッジ側システム20−1乃至20−nの個々について、ソフトウェアを更新するスケジュール(実施日時等)を示す情報である。
更新指示部58は、更新スケジュール情報580に基づいて、エッジ側システム20−1乃至20−nのうちの特定のエッジ側システムについて、ソフトウェアを更新する日時になったことを検知する。更新指示部58は、あるいは、特定のエッジシステムについてソフトウェアの更新を行うことを指示する、システム管理者等によって入力された情報を受け付ける。
更新指示部58は、このとき、その特定のエッジ側システムについて、ソフトウェアの更新処理を行うことを指示する指示情報を出力する。ソフトウェア更新制御装置50は、当該指示情報が出力されたことを契機として、ソフトウェアの更新処理を開始する。更新指示部58は、複数のエッジ側システムについてソフトウェアの更新処理を行う場合、同じタイミングに複数の更新処理を開始するように指示してもよい。更新指示部58は、あるいは、クラウド側システム30に関するメモリの空き領域の状態、あるいは、通信ネットワークの帯域等を示す情報に基づいて、順次、更新処理を開始するように指示してもよい。
本実施形態に係るソフトウェア記憶部17は、図14に示す通り、エッジ側システム20−1乃至20−nについて、エッジ側更新前ソフトウェア172−1乃至172−n、及び、エッジ側更新後ソフトウェア173−1乃至173−nを記憶している。
図15は、本実施形態に係るエッジ側システム20−1乃至20−n及びクラウド側システム30によって実行されるソフトウェアが更新される途中の、各システムの状態を例示する図である。図15に示す通り、ソフトウェア更新制御装置50は、ソフトウェアを更新する過程において、エッジ側更新後ソフトウェアを使用して試行動作を行う複数の仮想サーバ310−3乃至310−m(mは3以上の任意の整数)を、クラウド側システム30が実行するように制御する。ソフトウェア更新制御装置50は、第1の実施形態に係るソフトウェア更新制御装置10と同様の手順によって、複数のエッジ側システム20−1乃至20−nによって実行されるソフトウェアの更新処理を制御する。
本実施形態に係るソフトウェア更新制御装置50は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、第1の実施形態について説明した通りである。
また、本実施形態に係るソフトウェア更新制御装置50は、複数のエッジ側システムについて、ソフトウェアを更新する場合であっても、上述した処理を行うことができる。
<第6の実施形態>
図16は、本願発明の第6の実施形態に係るソフトウェア更新制御装置60の構成を概念的に示すブロック図である。
本実施形態に係るソフトウェア更新制御装置60は、第1の実行制御部61、検証部62、引継ぎ制御部63、第2の実行制御部64、及び、切り替え部65を備えている。
図16に示す第2の情報処理システム80は、第1の情報処理システム70に含まれる第1の情報処理資源71が更新前ソフトウェア710を実行することによって出力した更新前出力情報を処理する。第1の実行制御部61は、この場合において、更新後ソフトウェア711を、第2の情報処理システム80に含まれる第2の情報処理資源81が実行するように制御する。
検証部62は、第2の情報処理資源81が更新後ソフトウェア711を実行することによって出力した情報を、第2の情報処理システム80が処理する試行動作を検証する。
引継ぎ制御部63は、検証部62による当該試行動作に対する検証結果が正常であることを示す場合に、更新前出力情報を出力する状態を、第2の情報処理システム80に含まれる第3の情報処理資源82が第1の情報処理資源71から引き継ぐように制御する。そして、引継ぎ制御部63は、第3の情報処理資源82から出力された更新前出力情報を、第2の情報処理システム80が処理できるように制御する。
第2の実行制御部64は、引継ぎ制御部63による処理が行われたのち、第1の情報処理資源71が、更新後ソフトウェア711を実行することによって更新後出力情報を出力するように制御する。
切り替え部65は、第2の情報処理システム80が処理対象とする処理対象情報を、第1の情報処理資源71あるいは第3の情報処理資源82から出力された更新前出力情報から、第1の情報処理資源71あるいは第2の情報処理資源81から出力された更新後出力情報に切り替える。
本実施形態に係るソフトウェア更新制御装置60は、IoTシステムにおけるエッジサーバなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、当該情報処理装置を停止させることなく、確実に行うことができる。その理由は、ソフトウェア更新制御装置60が、ソフトウェア更新後の全体の動作環境を第2の情報処理システム80の中に構築してその動作を検証したのち、第1の情報処理システム70におけるソフトウェア更新前の動作環境を、第2の情報処理システム80に移動させるとともに、第1の情報処理システム70が更新後のソフトウェアを実行するように制御するからである。
<ハードウェア構成例>
上述した各実施形態において図1、図11、図14、及び、図16に示したソフトウェア更新制御装置における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、図11、図14、及び、図16において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・第1仮想サーバ制御部11、
・検証部12及び62、
・引継ぎ制御部13及び63、
・第2仮想サーバ制御部14、
・切り替え部15及び65、
・エッジハブ制御部16、
・ソフトウェア記憶部17における記憶制御機能
・更新指示部58、
・第1の実行制御部61、
・第2の実行制御部64。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図17を参照して説明する。
図17は、本願発明の各実施形態に係るソフトウェア更新制御装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図17は、図1、図11、図14、及び、図16に示したソフトウェア更新制御装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図17に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・外部装置との通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・入出力インタフェース909。
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
そして、上述した実施形態を例に説明した本願発明は、図17に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、図11、図14、及び、図16)における上述した構成、或いはフローチャート(図5A及び5B、図6A及び6B、図10A及び10B、及び、図13A及び13B)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2016年4月15日に出願された日本出願特願2016−081773を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 ソフトウェア更新制御システム
2 ソフトウェア更新制御システム
3 ソフトウェア更新制御システム
10 ソフトウェア更新制御装置
11 第1仮想サーバ制御部
12 検証部
13 引継ぎ制御部
14 第2仮想サーバ制御部
15 切り替え部
16 エッジハブ制御部
17 ソフトウェア記憶部
170 クラウド側更新前ソフトウェア
171 クラウド側更新後ソフトウェア
172 エッジ側更新前ソフトウェア
172−1乃至172−n エッジ側更新前ソフトウェア
173 エッジ側更新後ソフトウェア
173−1乃至173−n エッジ側更新後ソフトウェア
20 エッジ側システム
20A エッジ側システム
20−1乃至20−n エッジ側システム
21 エッジ側仮想サーバ基盤
21A エッジ側仮想サーバ基盤
21−1乃至21−n エッジ側仮想サーバ基盤
210 仮想サーバ
211 仮想サーバ
212 低優先度処理
22 エッジハブ
22A エッジハブ
22−1乃至22−n エッジハブ
30 クラウド側システム
31 クラウド側仮想サーバ基盤
310−1乃至310−m 仮想サーバ
32 アプリケーションハブ
33 メッセージバッファ
34 アプリケーション
40 デバイス群
40−1乃至40−n デバイス群
50 ソフトウェア更新制御装置
58 更新指示部
580 更新スケジュール情報
60 ソフトウェア更新制御装置
61 第1の実行制御部
62 検証部
63 引継ぎ制御部
64 第2の実行制御部
65 切り替え部
70 第1の情報処理システム
71 第1の情報処理資源
710 更新前ソフトウェア
711 更新後ソフトウェア
80 第2の情報処理システム
81 第2の情報処理資源
82 第3の情報処理資源
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース

Claims (10)

  1. 第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御する第一の実行制御手段と、
    前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証する検証手段と、
    前記検証手段による前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御する引継ぎ制御手段と、
    前記引継ぎ制御手段による処理が行われたのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御する第二の実行制御手段と、
    前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える切り替え手段と、
    を備えるソフトウェア更新制御装置。
  2. 前記第一の情報処理資源が、前記第一の情報処理システムに含まれるデータ受信部が外部から受信した処理対象データを処理する場合において、前記第一の実行制御手段によって、前記第二の情報処理資源が前記更新後のソフトウェアを実行するときに、前記データ受信部が、前記処理対象データを複製し、複製した前記処理対象データを前記第二の情報処理資源に入力するように制御するデータ受信部制御手段
    をさらに備える請求項1に記載のソフトウェア更新制御装置。
  3. 前記切り替え手段は、前記処理対象情報を切り替えたのち、前記第二の情報処理システムが、前記第三の情報処理資源から出力された前記更新前出力情報を処理するとともに、その処理結果を前記第二の情報処理システムに含まれる記憶部に格納するように制御する、
    請求項1または2に記載のソフトウェア更新制御装置。
  4. 前記検証手段は、前記第一の情報処理資源から出力された前記更新後出力情報を、前記第二の情報処理システムが処理する更新後動作を検証しており、
    前記切り替え手段は、前記検証手段による前記更新後動作に対する検証結果が異常であることを示す場合に、前記処理対象情報を、前記更新後動作により得られた情報から、前記記憶部に格納された情報に切り替えるように制御する、
    請求項3に記載のソフトウェア更新制御装置。
  5. 前記引継ぎ制御手段は、前記第一の情報処理システムに含まれる第四の情報処理資源が、基準より優先度が低い処理を行う場合に、前記第三の情報処理資源が、前記第四の情報処理資源が行う処理を引き継ぐように制御し、
    前記第二の実行制御手段は、前記引継ぎ制御手段による処理が行われたのち、前記第四の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御し
    前記切り替え手段は、前記処理対象情報を、前記第一の情報処理資源から出力された前記更新前出力情報から、前記第四の情報処理資源から出力された前記更新後出力情報に切り替える、
    請求項1乃至4のいずれか一項に記載のソフトウェア更新制御装置。
  6. 前記第一の実行制御手段は、前記更新後のソフトウェアを、第三の情報処理システムに含まれる第五の情報処理資源が実行するように制御し、
    前記検証手段は、前記第五の情報処理資源から出力された前記更新後出力情報を、前記第二の情報処理システムが処理する前記試行動作を検証し、
    前記切り替え手段は、前記処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第五の情報処理資源から出力された前記更新後出力情報に切り替える、
    請求項1乃至5のいずれか一項に記載のソフトウェア更新制御装置。
  7. 複数の前記第一の情報処理システムの個々に対して、前記ソフトウェアを更新する処理が行われるスケジュールを示す情報、あるいは外部から入力された情報に基づいて、特定の前記第一の情報処理システムにおける前記ソフトウェアの更新を指示する指示情報を出力する更新指示手段をさらに備え、
    前記第一の実行制御手段、前記検証手段、前記引継ぎ制御手段、前記第二の実行制御手段、及び、前記切り替え手段は、前記指示情報に基づいて、前記特定の第一の情報処理システムに関する処理を実行する、
    請求項1乃至6のいずれか一項に記載のソフトウェア更新制御装置。
  8. 請求項1乃至7のいずれか一項に記載のソフトウェア更新制御装置と、
    前記第一及び第二の情報処理システムと、
    を有するソフトウェア更新制御システム。
  9. 情報処理装置によって、
    第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御し、
    前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証し、
    前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御し、
    前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できる状態になったのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御し、
    前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える、
    ソフトウェア更新制御方法。
  10. 第一の情報処理システムに含まれる第一の情報処理資源が更新前のソフトウェアを実行することによって出力した更新前出力情報を、第二の情報処理システムが処理する場合において、更新後の前記ソフトウェアを、前記第二の情報処理システムに含まれる第二の情報処理資源が実行するように制御する第一の実行制御処理と、
    前記第二の情報処理資源が前記更新後のソフトウェアを実行することによって出力した情報を、前記第二の情報処理システムが処理する試行動作を検証する検証処理と、
    前記検証処理による前記試行動作に対する検証結果が正常であることを示す場合に、前記更新前出力情報を出力する状態を、前記第二の情報処理システムに含まれる第三の情報処理資源が前記第一の情報処理資源から引き継ぎ、前記第三の情報処理資源から出力された前記更新前出力情報を、前記第二の情報処理システムが処理できるように制御する引継ぎ制御処理と、
    前記引継ぎ制御処理による処理が行われたのち、前記第一の情報処理資源が、前記更新後のソフトウェアを実行することによって更新後出力情報を出力するように制御する第二の実行制御処理と、
    前記第二の情報処理システムが処理対象とする処理対象情報を、前記第一あるいは第三の情報処理資源から出力された前記更新前出力情報から、前記第一あるいは第二の情報処理資源から出力された前記更新後出力情報に切り替える切り替え処理と、
    をコンピュータに実行させるためのソフトウェア更新制御プログラムが格納された記録媒体。
JP2018512005A 2016-04-15 2017-04-10 ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラム Active JP6784291B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016081773 2016-04-15
JP2016081773 2016-04-15
PCT/JP2017/014685 WO2017179537A1 (ja) 2016-04-15 2017-04-10 ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体

Publications (2)

Publication Number Publication Date
JPWO2017179537A1 true JPWO2017179537A1 (ja) 2019-02-21
JP6784291B2 JP6784291B2 (ja) 2020-11-11

Family

ID=60041525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018512005A Active JP6784291B2 (ja) 2016-04-15 2017-04-10 ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラム

Country Status (3)

Country Link
US (1) US11106454B2 (ja)
JP (1) JP6784291B2 (ja)
WO (1) WO2017179537A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019058684A1 (ja) * 2017-09-25 2020-10-22 ソニー株式会社 検証装置、情報処理方法、およびプログラム
US10817275B2 (en) * 2018-06-28 2020-10-27 EMC IP Holding Company LLC Automated internet of things based software patching
CN108880898B (zh) * 2018-06-29 2020-09-08 新华三技术有限公司 主备容器系统切换方法及装置
CN110896404B (zh) * 2018-09-12 2021-09-14 华为技术有限公司 数据处理的方法、装置和计算节点
US10990372B2 (en) 2018-09-20 2021-04-27 Microsoft Technology Licensing, Llc Updating an edge computing device
JP7378980B2 (ja) * 2019-06-27 2023-11-14 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN112583898B (zh) * 2020-11-30 2023-08-15 北京百度网讯科技有限公司 业务流程编排方法、装置、以及可读介质
US11870646B2 (en) * 2021-01-12 2024-01-09 Oracle International Corporation Fabric availability and synchronization
JP2022156799A (ja) * 2021-03-31 2022-10-14 ソフトマックス株式会社 情報処理装置、情報処理方法及びそのプログラム
CN114745267A (zh) * 2022-03-28 2022-07-12 杭州涂鸦信息技术有限公司 一种功能更新方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106885A1 (en) * 2008-10-24 2010-04-29 International Business Machines Corporation Method and Device for Upgrading a Guest Operating System of an Active Virtual Machine
JP2010108260A (ja) * 2008-10-30 2010-05-13 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2011170528A (ja) * 2010-02-17 2011-09-01 Nec Corp 分散型情報処理システム及び分散ストレージシステム
WO2013140524A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0407150D0 (en) * 2004-03-30 2004-05-05 British Telecomm Distributed computer
JP4465598B2 (ja) * 2004-07-05 2010-05-19 ソニー株式会社 集積回路およびその処理制御方法、並びに、プログラム
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
JP2007304845A (ja) 2006-05-11 2007-11-22 Nec Corp 仮想計算機システムおよびソフトウェア更新方法
US8392902B2 (en) * 2007-10-24 2013-03-05 Siemens Aktiengesellschaft Upgrading software applications offline using a virtual machine
JP5293752B2 (ja) 2011-01-14 2013-09-18 日本電気株式会社 制御装置、及びファームウェア更新方法とそのプログラム
JP5667506B2 (ja) 2011-04-27 2015-02-12 日本電信電話株式会社 クラスタシステムおよびソフトウェアアップデート方法
US9152410B2 (en) * 2012-06-21 2015-10-06 Vaibhav KHANDELWAL Auto-update while running client interface with handshake
US20150381756A1 (en) * 2013-02-25 2015-12-31 Interdigital Patent Holdings, Inc. Centralized Content Enablement Service for Managed Caching in wireless network
WO2014139598A1 (en) * 2013-03-14 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Method for authenticating a client program by a remote data processing system
US9261932B2 (en) * 2013-03-15 2016-02-16 Microchip Technology Incorporated Minimizing switchover time in a hot swappable program memory
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
JP2015095784A (ja) * 2013-11-12 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
JP6226709B2 (ja) * 2013-11-15 2017-11-08 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
US9335986B1 (en) * 2013-12-11 2016-05-10 Amazon Technologies, Inc. Hot patching to update program code and/or variables using a separate processor
JP5758022B1 (ja) 2014-04-02 2015-08-05 株式会社野村総合研究所 ソフトウェア更新方法
JP2016001391A (ja) * 2014-06-11 2016-01-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
US10318271B2 (en) * 2015-01-05 2019-06-11 Irdeto Canada Corporation Updating software components in a program
US9946532B2 (en) * 2016-06-15 2018-04-17 Canon Information And Imaging Solutions, Inc. Apparatus, system and method for updating a peripheral connected to image processing device
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106885A1 (en) * 2008-10-24 2010-04-29 International Business Machines Corporation Method and Device for Upgrading a Guest Operating System of an Active Virtual Machine
JP2010108260A (ja) * 2008-10-30 2010-05-13 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2011170528A (ja) * 2010-02-17 2011-09-01 Nec Corp 分散型情報処理システム及び分散ストレージシステム
WO2013140524A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田中 裕之: "エッジコンピューティングが拓くIoT時代のアプリケーション", 電子情報通信学会2016年総合大会講演論文集 通信1, vol. ISSN 1349-1369, JPN6017022377, 1 March 2016 (2016-03-01), pages 18 - 19, ISSN: 0004349503 *

Also Published As

Publication number Publication date
WO2017179537A1 (ja) 2017-10-19
US20190171442A1 (en) 2019-06-06
JP6784291B2 (ja) 2020-11-11
US11106454B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
WO2017179537A1 (ja) ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体
JP7138126B2 (ja) リソース配置を最適化するための適時性リソース移行
US10628273B2 (en) Node system, server apparatus, scaling control method, and program
US7987467B2 (en) Scale across in a grid computing environment
JP6190969B2 (ja) マルチテナントリソース調停方法
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
CN111399970B (zh) 一种预留资源管理方法、装置和存储介质
CN102035662A (zh) 一种虚拟服务器管理系统、方法及装置
CN103414712A (zh) 一种分布式虚拟桌面管理系统和方法
US11520673B2 (en) Maintenance operations based on analysis of collected data
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US10540202B1 (en) Transient sharing of available SAN compute capability
JP2007304845A (ja) 仮想計算機システムおよびソフトウェア更新方法
CN107528871B (zh) 存储系统中的数据分析
CN112631994A (zh) 数据迁移方法及系统
JP2011209811A (ja) 仮想マシンシステムおよび仮想マシン配置方法
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
US11086615B2 (en) Virtual appliance upgrades in high-availability (HA) computing clusters
EP3389222B1 (en) A method and a host for managing events in a network that adapts event-driven programming framework
CN115827148A (zh) 一种资源管理方法、装置、电子设备及存储介质
CN103617077A (zh) 智能型云端化移转的方法与系统
JPWO2017188036A1 (ja) アクセス制御装置、アクセス制御システム、アクセス制御方法、及び、アクセス制御プログラム
WO2013114829A1 (ja) 情報処理システム、データセンタ、システム移行方法、及び、プログラム
KR101615577B1 (ko) 클러스터 시스템에서 클러스터를 처리하기 위한 방법과 장치 및 시스템
CN111221529A (zh) 应用开发方法、装置及电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200923

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201006

R150 Certificate of patent or registration of utility model

Ref document number: 6784291

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150