CN106484494A - 更新在超级管理程序下运行的虚拟机的方法和设备 - Google Patents

更新在超级管理程序下运行的虚拟机的方法和设备 Download PDF

Info

Publication number
CN106484494A
CN106484494A CN201610832650.1A CN201610832650A CN106484494A CN 106484494 A CN106484494 A CN 106484494A CN 201610832650 A CN201610832650 A CN 201610832650A CN 106484494 A CN106484494 A CN 106484494A
Authority
CN
China
Prior art keywords
virtual machine
hypervisor
machine
storage
read
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
CN201610832650.1A
Other languages
English (en)
Other versions
CN106484494B (zh
Inventor
G·皮尔
G·摩根
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN106484494A publication Critical patent/CN106484494A/zh
Application granted granted Critical
Publication of CN106484494B publication Critical patent/CN106484494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及更新在超级管理程序下运行的虚拟机的方法和设备。用于更新在带有随机存取存储器和只读存储器的物理机器上在超级管理程序下运行的虚拟机的方法的特征在于下列特征:‑超级管理程序在单独的诊断地址下运行虚拟机,其中只读存储器存储超级管理程序和虚拟机的机器代码,‑虚拟机在该诊断地址下借助通信基础架构从外部设备接收到更新要求,并将更新要求通知给超级管理程序,‑超级管理程序把机器代码从只读存储器迁移到随机存取存储器中,‑超级管理程序起动虚拟机,并实施虚拟机的引导管理器,‑引导管理器在虚拟机的诊断地址下接收到当前机器代码,并至少部分地用当前机器代码代替只读存储器中的机器代码,和‑引导管理器重新起动虚拟机。

Description

更新在超级管理程序下运行的虚拟机的方法和设备
技术领域
本发明涉及一种用于更新在带有随机存取存储器和只读存储器的物理机器上在超级管理程序(Hypervisor)下运行的虚拟机的方法。此外,本发明还涉及一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。
背景技术
公知的汽车控制设备通常具有用于进行车载诊断(On-Board-Diagnose)的能力。典型地,所提供的诊断在此涉及控制设备本身、其功能性和软件更新。例如可以借助极其不同的车辆通信网络、如CAN、Flexray或者以太网以及相应的诊断协议、如OBD来访问通用的(gattungsmaessig)控制设备的这些能力。为了在控制设备与外部诊断工具之间建立诊断通信连接,这样的控制设备具有诊断地址。在控制设备之内的唯一的软件系统的情况下,所描述的能力被认为是现有技术。
但是,在虚拟化的控制设备中存在多个软件系统(所谓的客户系统(Gastsysteme))和超级管理程序的附加的软件组件。作为其结果,对于每个客户系统、硬件和超级管理程序需要关于状态信息的诊断能力。客户系统和超级管理程序最后必须被更新。
DE 19921845 A1描述了一种用于汽车的诊断测试设备,其中在汽车中设置可编程的、具有自诊断装置的控制设备,所述控制设备以程序控制的方式控制、监控汽车的发动机控制装置和其他系统、生成错误代码以及存储所述错误代码,并且所述控制设备可以经由汽车侧的诊断/检验插头与外部诊断测试仪连接。外部诊断测试仪被配备有程序识别设备和程序加载设备。借助程序识别设备询问并识别在所连接的控制设备中包含的程序版本。接着,当在汽车侧现存的并且通过诊断/检验插头识别的、在汽车的所连接的控制设备中存在的程序没有被存储在最新的且最近的版本中时,由诊断测试仪的程序加载设备将分别最近的版本加载到相对应的控制设备的程序存储器中。
发明内容
本发明提供了按照独立权利要求所述的一种用于更新在带有随机存取存储器和只读存储器的物理机器上在超级管理程序下运行的虚拟机的方法、一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。
所建议的解决方案以如下认知为基础:虚拟化的系统具有比单个软件系统更多的可更新的组件。在这里是需要彼此独立的更新的多个客户系统和超级管理程序本身。
这种解决方案的优点在于,保持现有的基于诊断通信和诊断地址以及引导管理器(Bootmanager)的流程。这样,每个客户系统都记住它自己的诊断地址,并能够处理诊断通信。通信基础架构可以或者在多个客户系统之间被分享,或者只被保留给一个客户系统。
在此,特别有利的是本发明的确定的实施形式的更新处于运行中的生产环境(Produktivumgebung)的能力。这意味着,超级管理程序和虚拟机连同由其实施的应用程序在虚拟机或者超级管理程序就在那儿被更新期间可以正常地继续运转。
在此,所介绍的方案考虑到如下情况:大部分控制设备(在汽车技术中比方说要考虑到发动机和车身控制或者行驶动态调节)实施其直接来自内部闪存的机器代码。在这样的设备处在更新的范围内执行的快闪重新编程期间,通过应用在这里讨论的方法使得在重新编程期间可以实施应用程序代码成为可能。就此而言,这被证实为合乎目的的,因为同时的代码实施在传统做法的情况下几乎是不可能的。
通过在从属权利要求中举出的措施能够实现在独立权利要求中说明的基本思想的有利的扩展方案和改进方案。这样可以设置,客户系统在被提高的授权级别(Berechtigungsstufe)上运行,并代表如下超级管理程序接收到更新要求:该超级管理程序最后通过引导管理器或者通过该引导管理器起动的引导加载程序进行更新。因此,为了更新的目的,该超级管理程序仿佛被分配给一个客户系统。该超级管理程序以这种方式可以与这个确定的客户系统共同被更新。
按照变型方案可以设置,该客户系统自己确定可能的更新(Update)并且触发该可能的更新。相对应的实施形式被证实为尽可能地与每个诊断工具无关。
附图说明
本发明的实施例在附图中示出,并在以下描述中作更详细地被阐述。附图中:
图1示出了按照实施形式的方法的数据流图。
图2示意性地示出了按照第二实施形式的控制设备连同可能的通信伙伴和基础架构的方框图。
具体实施方式
图1将所建议的用于更新在带有随机存取存储器12和只读存储器14的物理机器38上在超级管理程序16下运行的虚拟机18的方法10的基本流程概括成根据尤顿/迪马克符号(Yourdon/DeMarco-Notation)的数据流图。超级管理程序16在单独的诊断地址下运行虚拟机18,其中只读存储器14存储超级管理程序16和虚拟机18的机器代码20。虚拟机18在该诊断地址下借助于通信基础架构48从外部设备50接收到更新要求24,并将该更新要求24通知给超级管理程序16。超级管理程序16把机器代码20从只读存储器14迁移到随机存取存储器12,起动该虚拟机,并实施(26)虚拟机18的引导管理器28。引导管理器28在该虚拟机18的诊断地址下接收到当前的机器代码22,并至少部分地用当前的机器代码22代替只读存储器14中的机器代码20。引导管理器28最后重新起动(30)虚拟机18。
图2在更新控制设备(电子控制单元,ECU(electronic control unit))的范围内用图说明更详细的情景,而不必使其客户系统停止使用。
在常规的控制设备52在其硬件平台42上只实施具有唯一的诊断地址A的软件44期间,在虚拟化的控制设备40的情况下,在共同的物理机器38上在诊断地址B下,超级管理程序16(虚拟机监控器,VMM(virtual machine monitor))在诊断地址B下运行第一虚拟机18,并且在诊断地址C下运行第二虚拟机32。因此,不仅该第一虚拟机18而且该第二虚拟机32都能够运行诊断通信。诊断地址B或者诊断地址C不仅体现在其下运行的虚拟机18、32,而且体现超级管理程序16本身。
从外部设备50(例如诊断测试仪),诊断的更新要求24在诊断地址B下到达。该相关的第一虚拟机18将这通知给超级管理程序16。
被寻址的第一虚拟机18在超级管理程序16处要求传输和实施超级管理程序16和第一虚拟机18的来自随机存取存储器12(RAM(random-access memory))的机器代码20。当超级管理程序16的配置允许这一点时,该超级管理程序16把有关的机器代码20传输到随机存取存储器12中,并从那出发继续进行26该实施。在此,第一虚拟机18和第二虚拟机32在一般情况下可以只在其所分配的资源、如存储位置、设备和处理器内核的数目的范围界限(Bereichsgrenze)36之内被更新。因而,当应该适配该范围界限36时,首先要更新该超级管理程序16。
第一虚拟机18现在重新起动,并实施来自随机存取存储器12的引导管理器28(引导装入程序(bootstrap loader),bootloader)。引导管理器28在第一虚拟机18的诊断地址B下是可达到的。
此后,引导管理器28接收到其他指令和当前的机器代码22,以便在向相关的第一虚拟机18的诊断地址B的诊断通信的过程中执行更新。根据该更新要求24,引导管理器28选择性地更新第一虚拟机18或者超级管理程序16。
最后,引导管理器28重新起动第一虚拟机18(26)。现在,平常的引导顺序继续,并重新起动(30)第一虚拟机18。如果超级管理程序16曾被更新,则第一虚拟机18在超级管理程序16处要求完整的系统重新起动。不管怎么样,新的功能性只有在或者重新起动超级管理程序16或者重新起动系统之后才成为在起作用的。

Claims (10)

1.用于更新在带有随机存取存储器(12)和只读存储器(14)的物理机器(38)上在超级管理程序(16)下运行的虚拟机(18)的方法(10),
其特征在于下列特征:
-超级管理程序(16)在单独的诊断地址下运行虚拟机(18),其中只读存储器(14)存储超级管理程序(16)和虚拟机(18)的机器代码(20),
-虚拟机(18)在该诊断地址下借助于通信基础架构(48)从外部设备(50)接收到更新要求(24),并将该更新要求(24)通知给超级管理程序(16),
-超级管理程序(16)把机器代码(20)从只读存储器(14)迁移到随机存取存储器(12)中,
-超级管理程序(16)起动虚拟机(18),并实施(26)虚拟机(18)的引导管理器(28),
-引导管理器(28)在虚拟机(18)的诊断地址下接收到当前的机器代码(22),并至少部分地用当前的机器代码(22)代替只读存储器(14)中的机器代码(20),和
-引导管理器(28)重新起动(30)虚拟机。
2.按照权利要求1所述的方法(10),
其特征在于下列特征:
-虚拟机(18)代表超级管理程序(16)接收到更新要求(24),
-虚拟机(18)在提高的授权级别上运行,和
-机器代码(20)被代替来使得选择性地更新该虚拟机(18)或者该超级管理程序(16)。
3.按照权利要求2所述的方法(10),
其特征在于下列特征:
-在更新之前,引导管理器(28)在虚拟机(18)的诊断地址下借助于通信基础架构(48)接收到其他指令,和
-根据其他指令来代替机器代码(20),使得或者更新虚拟机(18)、超级管理程序(16),或者更新该虚拟机和超级管理程序(16)。
4.按照权利要求3所述的方法(10),
其特征在于,
首先更新超级管理程序(16),并且紧接着更新虚拟机(18),使得虚拟机(18)的通过超级管理程序(16)监控的范围界限(36)被迁移。
5.按照权利要求4所述的方法,
其特征在于,
范围界限(36)界定物理机器(38)的下列运行装置中的至少一个:
-随机存取存储器(12),
-外围设备,或者
-处理器内核。
6.根据权利要求2至5之一所述的方法(10),
其特征在于,
如果超级管理程序(16)被更新,则引导管理器(28)在重新起动虚拟机(18)之前重新起动(26)超级管理程序(16)。
7.根据权利要求1至6之一所述的方法(10),
其特征在于,
只读存储器(14)是电可擦除可编程只读存储器(14)、尤其是闪存。
8.计算机程序,其被设立来实施根据权利要求1至7之一所述的方法(10)。
9.机器可读的存储介质,其上存储有按照权利要求8所述的计算机程序。
10.设备(40),其被设立来实施根据权利要求1至7之一所述的方法(10)。
CN201610832650.1A 2015-07-29 2016-07-28 更新在超级管理程序下运行的虚拟机的方法和设备 Active CN106484494B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015214389.9A DE102015214389A1 (de) 2015-07-29 2015-07-29 Verfahren und Vorrichtung zum Aktualisieren einer auf einer physischen Maschine unter einem Hypervisor betriebenen virtuellen Maschine
DE102015214389.9 2015-07-29

Publications (2)

Publication Number Publication Date
CN106484494A true CN106484494A (zh) 2017-03-08
CN106484494B CN106484494B (zh) 2023-04-18

Family

ID=57795492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610832650.1A Active CN106484494B (zh) 2015-07-29 2016-07-28 更新在超级管理程序下运行的虚拟机的方法和设备

Country Status (3)

Country Link
US (1) US20170031703A1 (zh)
CN (1) CN106484494B (zh)
DE (1) DE102015214389A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836476B2 (en) * 2020-11-27 2023-12-05 Denso Corporation Electronic control unit, software update method, software update program product and electronic control system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076781A (zh) * 2004-12-10 2007-11-21 英特尔公司 对虚拟机监控程序的组件解除特权的系统和方法
US20090205044A1 (en) * 2008-02-07 2009-08-13 David Carroll Challener Apparatus, system, and method for secure hard drive signed audit
CN102073529A (zh) * 2011-01-30 2011-05-25 华为技术有限公司 超级内核组件的升级方法和计算机系统
US20110202917A1 (en) * 2010-02-18 2011-08-18 Dor Laor Mechanism for Downloading Hypervisor Updates Using Existing Virtual Machine-to-Host Channels
CN103513960A (zh) * 2012-06-15 2014-01-15 国际商业机器公司 促进事务重复中止之后的事务完成的方法和计算机系统
US20140059677A1 (en) * 2012-08-24 2014-02-27 General Electric Company Medical device customization system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19921845A1 (de) 1999-05-11 2000-11-23 Bosch Gmbh Robert Diagnosetestvorrichtung für Kraftfahrzeuge mit programmierbaren Steuergeräten
FR2948789B1 (fr) * 2009-07-28 2016-12-09 Airbus Composant logiciel et dispositif pour le traitement automatise de donnees multi-usages, mettant en oeuvre des fonctions ayant besoin de differents niveaux de surete ou limites de responsabilite
US9176752B1 (en) * 2012-12-04 2015-11-03 Amazon Technologies, Inc. Hardware-based mechanisms for updating computer systems
US9864609B1 (en) * 2013-06-13 2018-01-09 EMC IP Holding Company LLC Rebooting a hypervisor without disrupting or moving an associated guest operating system
JP6507169B2 (ja) * 2014-01-06 2019-04-24 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 複数のユーザインターフェース動作ドメインを有する車両
US9841965B2 (en) * 2015-06-15 2017-12-12 Lear Corporation Centralized system for software updating vehicle components

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076781A (zh) * 2004-12-10 2007-11-21 英特尔公司 对虚拟机监控程序的组件解除特权的系统和方法
US20090205044A1 (en) * 2008-02-07 2009-08-13 David Carroll Challener Apparatus, system, and method for secure hard drive signed audit
US20110202917A1 (en) * 2010-02-18 2011-08-18 Dor Laor Mechanism for Downloading Hypervisor Updates Using Existing Virtual Machine-to-Host Channels
CN102073529A (zh) * 2011-01-30 2011-05-25 华为技术有限公司 超级内核组件的升级方法和计算机系统
CN103513960A (zh) * 2012-06-15 2014-01-15 国际商业机器公司 促进事务重复中止之后的事务完成的方法和计算机系统
US20140059677A1 (en) * 2012-08-24 2014-02-27 General Electric Company Medical device customization system
CN103631637A (zh) * 2012-08-24 2014-03-12 通用电气公司 医疗装置定制系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘蕾: "汽车维修技术信息", 《汽车维护与修理》, no. 07, pages 59 - 61 *
刘钊远: "基于虚拟化技术的进程级监控", 《微电子学与计算机》, no. 12, pages 155 - 158 *
王陆悠悠: "基于硬件虚拟化技术的进程保护和监控", 《电子技术》, no. 04, pages 19 - 22 *

Also Published As

Publication number Publication date
DE102015214389A1 (de) 2017-02-02
CN106484494B (zh) 2023-04-18
US20170031703A1 (en) 2017-02-02

Similar Documents

Publication Publication Date Title
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
CN102043680B (zh) 一种ecu嵌入式软件刷新和下载编程的方法及系统
CN106874026A (zh) 用于经由空中接口稳健地更新车辆的固件的方法和设备
US20180081671A1 (en) Program rewriting device and program rewriting method
KR102639949B1 (ko) 차량에 소프트웨어 업데이트를 설치하기 위한 방법 및 서브 시스템
US11455393B2 (en) Device for securing diagnostic commands to a control unit, and corresponding motor vehicle
US10394675B2 (en) Vehicle control device
EP3572939A1 (en) Method, device and real-time network for highly-integrated automotive systems
US20170039057A1 (en) Field device
US9104522B2 (en) Data rewrite system for vehicle, in-vehicle apparatus and rewrite apparatus
DE102017208532A1 (de) Elektronische Fahrzeugsteuereinheit und Fahrzeugdienstverwaltungssystem
JPWO2012049750A1 (ja) 車両データ取得システム及び車両データ取得方法
JP2014204315A (ja) 中継装置
CN106484494A (zh) 更新在超级管理程序下运行的虚拟机的方法和设备
CN103026339B (zh) 对微控制器中的软件参数重新配置的方法以及微控制器和控制设备
CN108885570A (zh) 车辆控制装置
US10445155B2 (en) Method for the communication between software components in a motor vehicle
CN202110528U (zh) 一种ecu嵌入式软件刷新和下载编程的系统
JP5365584B2 (ja) 制御装置
CN107391215A (zh) 一种ecu嵌入式软件刷新和下载编程的系统
CN109983442B (zh) 用于紧急维护车辆计算机的系统及方法
US20230153097A1 (en) Devices and method for managing electronic control units of a motor vehicle
CN108292210A (zh) 用于在机动车与车辆外部的装置之间传输功能指令的方法以及接口设备和系统
CN113672258A (zh) 车辆的系统升级方法、装置、计算机设备和存储介质
CN107957878B (zh) 一种基于存储资源再分配的嵌入式设备软件在线升级方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant